{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/adapters/signalr-group-adapter.ts","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.settings.ts","./src/app/application/aboutsales-xcrm/aboutsales-xcrm.component.html","./src/app/application/aboutsales-xcrm/aboutsales-xcrm.component.ts","./src/app/application/account-contact-info/account-contact-info.component.html","./src/app/application/account-contact-info/account-contact-info.component.ts","./src/app/application/account-contact/account-configuration/account-configuration.component.html","./src/app/application/account-contact/account-configuration/account-configuration.component.ts","./src/app/application/account-contact/account-contact.component.html","./src/app/application/account-contact/account-contact.component.ts","./src/app/application/account-contact/account/account.component.html","./src/app/application/account-contact/account/account.component.ts","./src/app/application/account-details/account-details.component.html","./src/app/application/account-details/account-details.component.ts","./src/app/application/account-transfer-ownership/account-transfer-ownership.component.html","./src/app/application/account-transfer-ownership/account-transfer-ownership.component.ts","./src/app/application/accountorcontactview/accountorcontactview.component.html","./src/app/application/accountorcontactview/accountorcontactview.component.ts","./src/app/application/add-edit-account/add-edit-account.component.html","./src/app/application/add-edit-account/add-edit-account.component.ts","./src/app/application/add-new-account/add-new-account.component.html","./src/app/application/add-new-account/add-new-account.component.ts","./src/app/application/address/address.component.html","./src/app/application/address/address.component.ts","./src/app/application/addressmap/addressmap.component.html","./src/app/application/addressmap/addressmap.component.ts","./src/app/application/advanced-table/advanced-table.component.html","./src/app/application/advanced-table/advanced-table.component.ts","./src/app/application/advancedsearch/advancedsearch.component.html","./src/app/application/advancedsearch/advancedsearch.component.ts","./src/app/application/application.component.html","./src/app/application/application.component.ts","./src/app/application/audit-log/audit-log.component.html","./src/app/application/audit-log/audit-log.component.ts","./src/app/application/automated-emails/automated-emails.component.html","./src/app/application/automated-emails/automated-emails.component.ts","./src/app/application/calllist/calllist.component.html","./src/app/application/calllist/calllist.component.ts","./src/app/application/calllisthistory/calllisthistory.component.html","./src/app/application/calllisthistory/calllisthistory.component.ts","./src/app/application/campaign-configuration/campaign-configuration.component.html","./src/app/application/campaign-configuration/campaign-configuration.component.ts","./src/app/application/campaigns/campaigns.component.html","./src/app/application/campaigns/campaigns.component.ts","./src/app/application/chat/chat.component.html","./src/app/application/chat/chat.component.ts","./src/app/application/configurationdashboard/configurationdashboard.component.html","./src/app/application/configurationdashboard/configurationdashboard.component.ts","./src/app/application/contact-us/contact-us.component.html","./src/app/application/contact-us/contact-us.component.ts","./src/app/application/contacts/contact-photo/contact-photo.component.html","./src/app/application/contacts/contact-photo/contact-photo.component.ts","./src/app/application/contacts/contacts.component.html","./src/app/application/contacts/contacts.component.ts","./src/app/application/contacts/contactsdashboard/contactsdashboard.component.html","./src/app/application/contacts/contactsdashboard/contactsdashboard.component.ts","./src/app/application/contactsof-customer/contactsof-customer.component.html","./src/app/application/contactsof-customer/contactsof-customer.component.ts","./src/app/application/convertcontactto-lead/convertcontactto-lead.component.html","./src/app/application/convertcontactto-lead/convertcontactto-lead.component.ts","./src/app/application/customer/customer.component.html","./src/app/application/customer/customer.component.ts","./src/app/application/customercontacts/customercontacts.component.html","./src/app/application/customercontacts/customercontacts.component.ts","./src/app/application/dashboard/campaign-dashboard/campaign-dashboard.component.html","./src/app/application/dashboard/campaign-dashboard/campaign-dashboard.component.ts","./src/app/application/dashboard/dashboard.component.html","./src/app/application/dashboard/dashboard.component.ts","./src/app/application/dashboard/projects-dashboard/projects-dashboard.component.html","./src/app/application/dashboard/projects-dashboard/projects-dashboard.component.ts","./src/app/application/dashboard/revenue-dashboard/revenue-dashboard.component.html","./src/app/application/dashboard/revenue-dashboard/revenue-dashboard.component.ts","./src/app/application/dashboard/tickets-dashboard/tickets-dashboard.component.html","./src/app/application/dashboard/tickets-dashboard/tickets-dashboard.component.ts","./src/app/application/delete-popup/delete-popup.component.html","./src/app/application/delete-popup/delete-popup.component.ts","./src/app/application/dialog/dialog.component.html","./src/app/application/dialog/dialog.component.ts","./src/app/application/document-management-configuration/document-management-configuration.component.html","./src/app/application/document-management-configuration/document-management-configuration.component.ts","./src/app/application/documentmanagement/documentmanagement.component.html","./src/app/application/documentmanagement/documentmanagement.component.ts","./src/app/application/dropdown-configuration/dropdown-configuration.component.html","./src/app/application/dropdown-configuration/dropdown-configuration.component.ts","./src/app/application/editactivatecv/editactivatecv.component.html","./src/app/application/editactivatecv/editactivatecv.component.ts","./src/app/application/editcontact/editcontact.component.html","./src/app/application/editcontact/editcontact.component.ts","./src/app/application/editdelete/editdelete.component.html","./src/app/application/editdelete/editdelete.component.ts","./src/app/application/editdeletecv/editdeletecv.component.html","./src/app/application/editdeletecv/editdeletecv.component.ts","./src/app/application/editdeletecvcheck/editdeletecvcheck.component.html","./src/app/application/editdeletecvcheck/editdeletecvcheck.component.ts","./src/app/application/emails/emails.component.html","./src/app/application/emails/emails.component.ts","./src/app/application/emailsdiv/emailsdiv.component.html","./src/app/application/emailsdiv/emailsdiv.component.ts","./src/app/application/forecasting/forecasting.component.html","./src/app/application/forecasting/forecasting.component.ts","./src/app/application/history/history.component.html","./src/app/application/history/history.component.ts","./src/app/application/home/home.component.html","./src/app/application/home/home.component.ts","./src/app/application/imported/imported.component.ts","./src/app/application/leads-configuration/leads-configuration.component.html","./src/app/application/leads-configuration/leads-configuration.component.ts","./src/app/application/leads/leads.component.html","./src/app/application/leads/leads.component.ts","./src/app/application/leads/leadsdashboard/leadsdashboard.component.html","./src/app/application/leads/leadsdashboard/leadsdashboard.component.ts","./src/app/application/link-delete/link-delete.component.html","./src/app/application/link-delete/link-delete.component.ts","./src/app/application/marketing/marketing.component.html","./src/app/application/marketing/marketing.component.ts","./src/app/application/messaging/messaging.component.html","./src/app/application/messaging/messaging.component.ts","./src/app/application/month-calender/month-calender.component.html","./src/app/application/month-calender/month-calender.component.ts","./src/app/application/new-notes/new-notes.component.html","./src/app/application/new-notes/new-notes.component.ts","./src/app/application/notes/notes.component.html","./src/app/application/notes/notes.component.ts","./src/app/application/notesrenderer/notesrenderer.component.html","./src/app/application/notesrenderer/notesrenderer.component.ts","./src/app/application/notification/notification.component.html","./src/app/application/notification/notification.component.ts","./src/app/application/notification/notification.service.ts","./src/app/application/notification/notification.ts","./src/app/application/opportunities-configuration/opportunities-configuration.component.html","./src/app/application/opportunities-configuration/opportunities-configuration.component.ts","./src/app/application/opportunities/add-opportunity/add-opportunity.component.html","./src/app/application/opportunities/add-opportunity/add-opportunity.component.ts","./src/app/application/opportunities/opportunities.component.html","./src/app/application/opportunities/opportunities.component.ts","./src/app/application/opportunities/opportunitiesdashboard/opportunitiesdashboard.component.html","./src/app/application/opportunities/opportunitiesdashboard/opportunitiesdashboard.component.ts","./src/app/application/opportunityhistory/opportunityhistory.component.html","./src/app/application/opportunityhistory/opportunityhistory.component.ts","./src/app/application/ownershipsharing/ownershipsharing.component.html","./src/app/application/ownershipsharing/ownershipsharing.component.ts","./src/app/application/page/page.component.html","./src/app/application/page/page.component.ts","./src/app/application/pendedproposals/pendedproposals.component.html","./src/app/application/pendedproposals/pendedproposals.component.ts","./src/app/application/practice/practice.component.html","./src/app/application/practice/practice.component.ts","./src/app/application/profile/profile.component.html","./src/app/application/profile/profile.component.ts","./src/app/application/projects/create-projects/create-projects.component.html","./src/app/application/projects/create-projects/create-projects.component.ts","./src/app/application/projects/project-configuration/project-configuration.component.html","./src/app/application/projects/project-configuration/project-configuration.component.ts","./src/app/application/projects/projects.component.html","./src/app/application/projects/projects.component.ts","./src/app/application/proposal-configuration/proposal-configuration.component.html","./src/app/application/proposal-configuration/proposal-configuration.component.ts","./src/app/application/proposals/proposals.component.html","./src/app/application/proposals/proposals.component.ts","./src/app/application/quick-search/quick-search.component.html","./src/app/application/quick-search/quick-search.component.ts","./src/app/application/quick-view/quick-view.component.html","./src/app/application/quick-view/quick-view.component.ts","./src/app/application/release-notes/release-notes.component.html","./src/app/application/release-notes/release-notes.component.ts","./src/app/application/reports/admin-reports/admin-reports.component.html","./src/app/application/reports/admin-reports/admin-reports.component.ts","./src/app/application/reports/other-standard-reports/other-standard-reports.component.html","./src/app/application/reports/other-standard-reports/other-standard-reports.component.ts","./src/app/application/reports/proposal-items/proposal-items.component.html","./src/app/application/reports/proposal-items/proposal-items.component.ts","./src/app/application/reports/reports.component.html","./src/app/application/reports/reports.component.ts","./src/app/application/responsewizard/responsewizard.component.html","./src/app/application/responsewizard/responsewizard.component.ts","./src/app/application/rhx/rhx.component.html","./src/app/application/rhx/rhx.component.ts","./src/app/application/role/role.component.html","./src/app/application/role/role.component.ts","./src/app/application/sales-xcrm/my-salesxcrm-configuration/my-salesxcrm-configuration.component.html","./src/app/application/sales-xcrm/my-salesxcrm-configuration/my-salesxcrm-configuration.component.ts","./src/app/application/sales-xcrm/sales-xcrm.component.html","./src/app/application/sales-xcrm/sales-xcrm.component.ts","./src/app/application/salestool/salestool.component.html","./src/app/application/salestool/salestool.component.ts","./src/app/application/sassdate-contacts/sassdate-contacts.component.html","./src/app/application/sassdate-contacts/sassdate-contacts.component.ts","./src/app/application/scheduletask/scheduletask.component.html","./src/app/application/scheduletask/scheduletask.component.ts","./src/app/application/search-result/search-result.component.html","./src/app/application/search-result/search-result.component.ts","./src/app/application/searchdata/searchdata.component.html","./src/app/application/searchdata/searchdata.component.ts","./src/app/application/shared/forbidden-validator-directive.directive.ts","./src/app/application/software-license-configuration/software-license-configuration.component.html","./src/app/application/software-license-configuration/software-license-configuration.component.ts","./src/app/application/software-license-configuration/software-licensing/software-licensing.component.html","./src/app/application/software-license-configuration/software-licensing/software-licensing.component.ts","./src/app/application/status-idconfiguration/status-idconfiguration.component.html","./src/app/application/status-idconfiguration/status-idconfiguration.component.ts","./src/app/application/status-ids/status-ids.component.html","./src/app/application/status-ids/status-ids.component.ts","./src/app/application/subscription/subscription.component.html","./src/app/application/subscription/subscription.component.ts","./src/app/application/system-registration/system-registration.component.html","./src/app/application/system-registration/system-registration.component.ts","./src/app/application/task-list-configuration/task-list-configuration.component.html","./src/app/application/task-list-configuration/task-list-configuration.component.ts","./src/app/application/task/task.component.html","./src/app/application/task/task.component.ts","./src/app/application/tasklist/tasklist.component.html","./src/app/application/tasklist/tasklist.component.ts","./src/app/application/tasklist/tasklistdashboard/tasklistdashboard.component.html","./src/app/application/tasklist/tasklistdashboard/tasklistdashboard.component.ts","./src/app/application/ticket-configuration/ticket-configuration.component.html","./src/app/application/ticket-configuration/ticket-configuration.component.ts","./src/app/application/tickets/create-ticket/create-ticket.component.html","./src/app/application/tickets/create-ticket/create-ticket.component.ts","./src/app/application/tickets/tickets.component.html","./src/app/application/tickets/tickets.component.ts","./src/app/application/unread-messages/unread-messages.component.ts","./src/app/application/upload-document/upload-document.component.html","./src/app/application/upload-document/upload-document.component.ts","./src/app/application/user-messaging/user-messaging.component.html","./src/app/application/user-messaging/user-messaging.component.ts","./src/app/application/user-quota/user-quota.component.html","./src/app/application/user-quota/user-quota.component.ts","./src/app/application/user-role-configuration/user-role-configuration.component.html","./src/app/application/user-role-configuration/user-role-configuration.component.ts","./src/app/application/userdataheader/userdataheader.component.html","./src/app/application/userdataheader/userdataheader.component.ts","./src/app/application/userlist/userlist.component.ts","./src/app/application/viewcalllist/viewcalllist.component.html","./src/app/application/viewcalllist/viewcalllist.component.ts","./src/app/application/zendeskhome/zendeskhome.component.html","./src/app/application/zendeskhome/zendeskhome.component.ts","./src/app/caps-lock.directive.ts","./src/app/forgotpassword/forgotpassword.component.html","./src/app/forgotpassword/forgotpassword.component.ts","./src/app/login/login.component.html","./src/app/login/login.component.ts","./src/app/models/AccountFields.ts","./src/app/models/AccountHistory.ts","./src/app/models/AccountSpecialNotes.ts","./src/app/models/AccountTransferModel.ts","./src/app/models/Accountsharing.ts","./src/app/models/ActivitySummaryCheckbox.ts","./src/app/models/AddressUpdate.ts","./src/app/models/Campaign.ts","./src/app/models/CampaignConfiguration.ts","./src/app/models/Campaigninfo.ts","./src/app/models/ContactsSortOrder.ts","./src/app/models/CrmModel.ts","./src/app/models/Dashboardconfig.ts","./src/app/models/DocumentHistory.ts","./src/app/models/FormConfiguration.ts","./src/app/models/GroupChat.ts","./src/app/models/MyDashDefGridConfig.ts","./src/app/models/OpportunityLeadTypes.ts","./src/app/models/PickListModel.ts","./src/app/models/Praposals.ts","./src/app/models/ProjectConfiguration.ts","./src/app/models/ProjectsInfo.ts","./src/app/models/ProposalCategory.ts","./src/app/models/ProposalItems.ts","./src/app/models/QuickSearchmodel.ts","./src/app/models/Role.ts","./src/app/models/SalesStages.ts","./src/app/models/SalesXCRMChartTabs.ts","./src/app/models/SoftwareLicenseConfiguration.ts","./src/app/models/StatusIds.ts","./src/app/models/Subscriptionmodel.ts","./src/app/models/TaskType.ts","./src/app/models/TicketNotes.ts","./src/app/models/UserMessageTypes.ts","./src/app/models/UserMessages.ts","./src/app/models/WizardSubGroup2.ts","./src/app/models/accounts.ts","./src/app/models/advancedsearch.ts","./src/app/models/automated-emails.ts","./src/app/models/calanderEvent.ts","./src/app/models/calllist.ts","./src/app/models/chatMessage.ts","./src/app/models/contact-us.ts","./src/app/models/contacts.ts","./src/app/models/customers.ts","./src/app/models/dashboardconfiguration.ts","./src/app/models/data-model.ts","./src/app/models/document.ts","./src/app/models/dropdowntype.ts","./src/app/models/emails.ts","./src/app/models/google-map-adress.ts","./src/app/models/googlelocations.ts","./src/app/models/lastresponseview.ts","./src/app/models/message.ts","./src/app/models/messaging.ts","./src/app/models/mynotes.ts","./src/app/models/notes.ts","./src/app/models/openitems.ts","./src/app/models/opportunities.ts","./src/app/models/output-props-user-list.ts","./src/app/models/practice.ts","./src/app/models/privilages.ts","./src/app/models/project.ts","./src/app/models/question-responses.ts","./src/app/models/releaseNotes.ts","./src/app/models/replymessages.ts","./src/app/models/run-query.ts","./src/app/models/sales-process-history.ts","./src/app/models/searchvalues.ts","./src/app/models/statistics.ts","./src/app/models/status-idcategory.ts","./src/app/models/status-types.ts","./src/app/models/system-row-configuration.ts","./src/app/models/systemconfiguration.ts","./src/app/models/task-history.ts","./src/app/models/taskgroup.ts","./src/app/models/tasklistconfiguration.ts","./src/app/models/temp-data.ts","./src/app/models/ticketConfiguration.ts","./src/app/models/tickets.ts","./src/app/models/trigger-types.ts","./src/app/models/userModel.ts","./src/app/models/users.ts","./src/app/models/view-salesinfo.ts","./src/app/models/viewaccount.ts","./src/app/models/viewcalllist.ts","./src/app/models/wizard-questions.ts","./src/app/models/wizard-sub-group.ts","./src/app/models/zendeskuser.ts","./src/app/pipes/searchboxfilter.pipe.ts","./src/app/resetpassword/resetpassword.component.html","./src/app/resetpassword/resetpassword.component.ts","./src/app/services/accounts.service.ts","./src/app/services/advancedsearch.service.ts","./src/app/services/chat.service.ts","./src/app/services/customer.service.ts","./src/app/services/hero.service.ts","./src/app/services/leads.service.ts","./src/app/services/mailservice.service.ts","./src/app/services/messaging.service.ts","./src/app/services/opprtunities.service.ts","./src/app/services/signalr-client.service.ts","./src/app/services/user.service.ts","./src/environments/environment.ts","./src/main.ts","fs (ignored)","crypto (ignored)","stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnSuL;AACjJ;AACW;AAGN;AAE3C;IAAyC,qFAAW;IAMlD,6BAAoB,QAAgB,EAAU,IAAgB;QAA9D,YACE,iBAAO,SAGR;QAJmB,cAAQ,GAAR,QAAQ,CAAQ;QAAU,UAAI,GAAJ,IAAI,CAAY;QAG5D,KAAI,CAAC,oBAAoB,EAAE,CAAC;;IAC9B,CAAC;IAEO,kDAAoB,GAA5B;QAAA,iBAgBC;QAfC,IAAI,CAAC,aAAa,GAAG,IAAI,oEAA4B,EAAE;aACpD,OAAO,CAAI,mBAAmB,CAAC,aAAa,cAAW,EAAE;YACxD,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,iEAAyB,CAAC,UAAU;SAChD,CAAC;aACD,KAAK,EAAE,CAAC;QAEX,IAAI,CAAC,aAAa;aACf,KAAK,EAAE;aACP,IAAI,CAAC;YACJ,KAAI,CAAC,QAAQ,EAAE,CAAC;YAEhB,KAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,CAAC;aACD,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,GAAG,CAAC,8CAA4C,GAAK,CAAC,EAA9D,CAA8D,CAAC,CAAC;IAClF,CAAC;IAEO,iDAAmB,GAA3B;QAAA,iBAgBC;QAfC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAC,MAAM;YAC9C,gDAAgD;YAChD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAC,WAAW,EAAE,OAAO;YAC5D,yCAAyC;YACzC,KAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,oBAAoB,EAAE,UAAC,oBAAgD;YAC3F,iEAAiE;YACjE,8IAA8I;YAC9I,+FAA+F;QACjG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,kEAA0B,CAAC,SAAS,EAAE;YAC1F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChD;IACH,CAAC;IAED,yCAAW,GAAX;QACE,mDAAmD;QACnD,mEAAmE;QACnE,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAI,mBAAmB,CAAC,aAAa,gBAAa,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aACvF,IAAI,CACH,0DAAG,CAAC,UAAC,GAAQ,IAAK,UAAG,EAAH,CAAG,CAAC,EACtB,iEAAU,CAAC,UAAC,KAAU,IAAK,sDAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC,EAA/C,CAA+C,CAAC,CAC5E,CAAC;IACN,CAAC;IAED,+CAAiB,GAAjB,UAAkB,aAAkB;QAClC,kFAAkF;QAClF,iEAAiE;QACjE,OAAO,+CAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,yCAAW,GAAX,UAAY,OAAgB;QAC1B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,kEAA0B,CAAC,SAAS;YACxF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,0CAAY,GAAZ,UAAa,KAAY;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IA1Ea,iCAAa,GAAW,gCAAgC,CAAC,CAAC,2DAA2D;IA2ErI,0BAAC;CAAA,CA/EwC,mDAAW,GA+EnD;AA/E+B;;;;;;;;;;;;;ACNhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuD;AACE;AACkB;AACT;AACY;AACA;AACT;AAC6B;AACL;AACG;AACsC;AACxD;AACT;AACiC;AACY;AACxB;AAClB;AACM;AACoC;AACM;AACpC;AACT;AACgB;AACV;AACA;AACA;AACH;AACY;AACxB;AACqB;AACJ;AACY;AACd;AACN;AACT;AACc;AACO;AACe;AACxB;AACf;AACoC;AAChB;AACe;AACH;AACM;AACpB;AACH;AACgC;AAC7B;AACc;AACe;AACV;AACR;AACjB;AACc;AAC8B;AACrB;AACjB;AACgB;AAGjG,IAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE;IACrD,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,qEAAc,EAAE;IAC5C,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,8FAAsB,EAAE;IACpE,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,iGAAuB,EAAE;IAC9D;QACE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,uFAAoB;QACpD,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,uFAAoB,EAAE;YACxD,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,8EAAa,EAAE;YAChD,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,0FAAiB,EAAE;YACtD,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,0FAAiB,EAAE;YAC5D,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,0FAAiB,EAAE;YAClD,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,iFAAc,EAAE;YACtD,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,8GAAuB,EAAE;YACtF,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,yGAAsB,EAAE;YACvE,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,4GAAuB,EAAE;YACjF,EAAE,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAE,yGAAsB,EAAE;YAC7E,EAAE,IAAI,EAAE,mDAAmD,EAAE,SAAS,EAAE,mJAA+B,EAAE;YACzG,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,2FAAiB,EAAE;YACjE,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,kFAAc,EAAE;YACvD,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,kFAAc,EAAE;YAC3D,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,mHAAuB,EAAE;YACrF,EAAE,IAAI,EAAE,0CAA0C,EAAE,SAAS,EAAE,+HAA0B,EAAE;YAC3F,EAAE,IAAI,EAAE,oCAAoC,EAAE,SAAS,EAAE,+HAA0B,EAAE;YACrF,EAAE,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,+HAA0B,EAAE;YACjG,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,8FAAkB,EAAE;YAChE,EAAE,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAE,uGAAqB,EAAE;YAC5E,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,qFAAe,EAAE;YACzD,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,2FAAiB,EAAE;YAClD,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,+HAA0B,EAAE;YAC5F,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,qIAA+B,EAAE;YACzF,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wFAAgB,EAAE;YACtD,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wGAAgB,EAAE;YACtD,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,wGAAgB,EAAE;YACjE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,8FAAkB,EAAE;YACpD,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,8FAAkB,EAAE;YAC1D,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,8GAAuB,EAAE;YACjF,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,2FAAiB,EAAE;YAC1E,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,uGAAqB,EAAE;YAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,+EAAa,EAAE;YAC1C,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,oGAAoB,EAAE;YACxD,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,oGAAoB,EAAE;YACnE,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,gGAAkB,EAAE;YAChE,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,4GAAsB,EAAE;YACxE,EAAE,IAAI,EAAE,qCAAqC,EAAE,SAAS,EAAE,4GAAsB,EAAE;YAClF,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,8FAAkB,EAAE;YAC/D,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,8FAAkB,EAAE;YAC/D,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,2HAA2B,EAAE;YACvE,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,wFAAgB,EAAE;YAC3D,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,wFAAgB,EAAE;YAC1E,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,+EAAa,EAAE;YAC1C,EAAE,IAAI,EAAE,4CAA4C,EAAE,SAAS,EAAE,qIAA+B,EAAE;YAClG,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,6FAAiB,EAAE;YACnD,EAAE,IAAI,EAAE,iCAAiC,EAAE,SAAS,EAAE,oGAAoB,EAAE;YAC5E,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,oGAAoB,EAAE;YAClF,EAAE,IAAI,EAAE,iDAAiD,EAAE,SAAS,EAAE,oGAAoB,EAAE;YAC5F,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,mHAAyB,EAAE;YAClE,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,mHAAyB,EAAE;YACnF,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,2FAAiB,EAAE;YAC9D,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,4EAAY,EAAE;YACnD,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,gHAAwB,EAAE;YAChE,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,gGAAkB,EAAE;YAC/D,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,+GAAuB,EAAE;YAC/D,EAAE,IAAI,EAAE,qCAAqC,EAAE,SAAS,EAAE,4GAAsB,EAAE;YAClF,EAAE,IAAI,EAAE,oCAAoC,EAAE,SAAS,EAAE,yGAAqB,EAAC;YAC/E,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,kHAAwB,EAAE;YACjE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,8FAAkB,EAAE;YACrD,mEAAmE;YAClE,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,2FAAiB,EAAE;YAC1E,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,2FAAiB,EAAE;YAClD,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,8FAAkB,EAAE;YAC1D,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,8FAAkB,EAAE;YAC9D,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,8FAAkB,EAAE;YAC5E,EAAE,IAAI,EAAE,+CAA+C,EAAE,SAAS,EAAE,8FAAkB,EAAE;YACxF,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,4GAAsB,EAAE;YAC7D,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,2HAA2B,EAAE;YACvE,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,iHAAqB,EAAE;YACjE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,wFAAgB,EAAE;YAChD,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,sGAAoB,EAAE;YACxD,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,oIAA8B,EAAE;YAC5E,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,+GAAuB,EAAE;YACrE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,8GAAsB,EAAE;SAC7D;KACF;CACF,CAAC;AAEF;IAAA;IAIgC,CAAC;IAAD,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kGCtJ7B,qLAA8E,KAC5E,yLAA4D,KAC1D,sMAA0E,KACxE,4IAAsB,KACpB,qKAA+C,uGAA0B,MAE3E,mNAA6F,gFAAS,MACtG,6NAA4E,YAAzB;;wBAAwB;MAA3E,wBAA4E,KAC1E,yHAAO,4KAA0C,KAIrD,wNAA2F,KACzF,kJAA2B,+HAAO,mIAAsD,MACxF,gKAAyC,+HAAO,8HAAiD,MAEjG,gKAAyC,+HAAO,8HAAiD,MAEnG,uHAAM,4HAAM,4HAAM,KAElB,uMAA0E,KACxE,qXAA6N,YAAzB;;wBAAwB;MAA5N,wBAA6N,sFAAU,MACvO,kXAA0N,YAAzB;;wBAAwB;MAAzN,wBAA0N,2FAAc,yDAhB3I,kDAAS;kGAP9G,iNAAoG,YAAxF;;wBAA2B;MAAvC,2dAAoG,MAClG,kYAA8E,iDADC,qBAAkB,EAAvF,mBAA2B,gBAAvC,YAAoG,EAAnB,SAAkB,EAAvF,SAA2B,GACd,mBAAqB,gBAA5C,YAA8E,EAAvD,SAAqB;kGAHhD,yjBAAe,IAEb,qYAAoG,iDAFtG,YAAe,GAE8C,mBAAqB,gBAAhF,YAAoG,EAAzC,SAAqB;;;;;;;;;;;;;;;;ACFlF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsD;AACJ;AACM;AACX;AACa;AACK;AAChB;AACN;AACA;AACkB;AACG;AAE9D;IAeE,sBAAoB,OAAmB,EAAU,QAAkB,EAAU,IAAgB,EAAU,QAAqB,EAClH,IAAU,EAAU,MAAc,EAAU,eAAgC,EAAU,SAAoB;QADpH,iBA2EC;QA3EmB,YAAO,GAAP,OAAO,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAClH,SAAI,GAAJ,IAAI,CAAM;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,cAAS,GAAT,SAAS,CAAW;QAVpH,cAAS,GAAG,cAAc,CAAC;QAC3B,aAAQ,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAU,IAAI,CAAC;QAGvB,kBAAa,GAAY,KAAK,CAAC;QAC/B,UAAK,GAAW,MAAM,CAAC;QAMrB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3B,QAAQ,CAAC,OAAO,GAAG,qEAAW,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrB,oBAAoB;QACpB,uBAAuB;QACvB,IAAI,CAAC,aAAa,CAAC,sEAAwB,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC;YACjB,IAAI,wEAA0B,CAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,mFAAmF,CAAC;SAAC,CACpH,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,SAAS,GAAG,iBAAiB,EAAlC,CAAkC,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YACvB,KAAI,CAAC,SAAS,GAAG,YAAY,CAAC;YAC9B,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAC,SAAiB;YAEhD,IAAI,OAAO,GAAG,SAAS,CAAC;YACxB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;YACvC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAExD,KAAI,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;YAE/D,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YACnE,IAAI,KAAI,CAAC,WAAW,IAAI,IAAI,EAAE;gBAE5B,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC1B,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;QAEH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YACzB,KAAI,CAAC,SAAS,GAAG,YAAY,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAEvB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YACnE,IAAI,KAAI,CAAC,WAAW,IAAI,IAAI,EAAE;gBAC5B,IAAI,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5D,KAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAO,CAAC,CAAC,CAAC;aAC9G;YACD,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACvC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACrC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YAC7C,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACrC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACxC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAC9C,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC5C,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC5C,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC3C,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC3C,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YAC7C,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACzC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACzC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACvC,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC1C,KAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACpC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IACD,mCAAY,GAAZ;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAE7B,CAAC;IAED,uCAAgB,GAAhB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yGAAyG,CAAC,CAAC;QACvJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,mCAAY,GAAZ;QAGE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAE5B,IAAI,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAO,CAAC,CAAC,CAAC;SAC7G;QAED,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC7C,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC9C,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5C,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5C,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC3C,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC3C,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC7C,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvC,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,4BAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,+BAAQ,GAAR;IAEA,CAAC;IAIH,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9JD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoD;AAiIO;AACT;AACQ;AACd;AAmD5C,wEAAkB,CAAC,eAAe,CAAC;IACjC,6DAAa;IACb,iEAAiB;IACjB,0DAAU;CACX,CAAC,CAAC;SA8BqC,EAAE;AA5B1C;IAAA;IAiCyB,CAAC;IAAD,gBAAC;AAAD,CAAC;;;;;;;;;;;;;;;AC5N1B;AAAA;AAAA;IAMI;IAEA,CAAC;IAND,sBAAI,gCAAO;aAAX,cAAwB,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACjE,UAAY,GAAW,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;;;OADD;IAOrE,kBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GCRW,mLAAsE,KACpE,2MAA+E,KAG/E,uLAA2D,KACzD,uLAAiE,qFAAQ,MAE3E,2OAA8E,YAAxD;;wBAAkB;MAAxC,wBAA8E,KAC5E,sLAAgE,KAChE,6MAAmF,KAIrF,gLAAoD,KAClD,+NAAqG,KAGvG,kLAAoD,KAClD,0KAA4C,KAC1C,gNAAyF,yKAEzF,MACA,uHAAM,KACN,gNAAyF,qNAEzF,MACA,uHAAM,KACN,gNAAyF,wSAEzF,MACA,uHAAM,KACN,gNAAyF,8RAEzF,MAAQ,uHAAM,KACd,gNAAyF,mHAEzF,MAAQ,uHAAM,KACd,0MAAmF,iGAEnF;6GAWJ,iLAA6E,KAE3E,gMAAiE,YAA9C;;wBAA6C;MAAhE,+qBAAiE;6GAGnE,iLAA6E,KAE3E,+LAAgE,YAA9C;;wBAA6C;MAA/D,+mBAAgE;6GAGlE,iLAAuE,KACrE,6LAAyD,YAAzC;;wBAAwC;MAAxD,qpBAAyD;6GAMvD,8MAAsE,YAAlC;;wBAAiB;MAArD,wBAAsE,KAAC,2LAAiE;6GAF5I,sOAA4H,KAC1H,gLAAoD,KAClD,iZAAsE,IACtE,kMAAsE,KACpE,iMAA2E,KACzE,uHAAK,iGAAqC,MAAQ,uHAAK,8FAAuB,MAKpF,mLAAqD,KAEnD,uNAAyF,KACvF,0KAA6C,mQAA4G,YAA9D;;wBAA4B;MAA1E,wBAA4G,KACzJ,2KAA8C,qQAA4G,YAA5D;;wBAA0B;MAA1E,wBAA4G,KAC1J,2KAA8C,gQAAsG,YAA3D;;wBAAyB;MAApE,wBAAsG,KAEpJ,iNAAoF,KAClF,sMAAyE,qHAEhC,6HAAM,iHACV,6HAAM,kDAnBO,mBAAe,UAArE,YAAsE,EAAhB,SAAe,mDAG5D,+DAAqC,GAAa,kDAAuB;6GAxE5F,mNAAsF,KACpF,mLAAsD,KACpD,iZAAsE,IAkDpE,iZAA6E,IAK7E,iZAA6E,IAK7E,iZAAuE,IAKvE,kZAA4H,IAgClI,wNAAwF,YAA5E;;wBAAgC;MAA5C,2bAAwF,MACtF,4IAAuB,KACrB,qKAA8C,8FAAiB,MAAS,uHAAM,KAC9E,qJAA8B,oFAAO,MAAO,uHAAM,KAClD,4JAAqC,KACnC,qJAA8B,uGAA0B,MAAO,uHAAM,KAEvE,0RAA+H,YAA3G;;wBAAqB;MAAzC,wBAA+H,+EAAE,mDAxG3E,mBAAe,UAArE,YAAsE,EAAhB,SAAe,GAkD5C,mBAAuB,kBAA9C,YAA6E,EAAtD,SAAuB,GAKvB,mBAAuB,kBAA9C,YAA6E,EAAtD,SAAuB,GAKO,mBAAiB,YAAtE,YAAuE,EAAlB,SAAiB,GAKjE,oBAAkB,YAAvB,aAA4H,EAAvH,SAAkB,GAgCwC,qBAAkB,EAA3E,mBAAgC,qBAA5C,aAAwF,EAAnB,SAAkB,EAA3E,SAAgC;;;;;;;;;;;;;;;;ACpGpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACf;AAEhC;AACyB;AACd;AACiB;AAEjB;AACuB;AAEjB;AAEzC,+EAAgB,CAA6B;AAC7C,yEAAU,CAA6B;AAC/C;IAmCE,iCAAoB,KAAqB,EAAQ,oBAA0C,EAAU,WAAwB,EAAU,MAAqB,EAAU,eAAgC;QAAtM,iBAOC;QAPmB,UAAK,GAAL,KAAK,CAAgB;QAAQ,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,oBAAe,GAAf,eAAe,CAAiB;QA7BtM,uBAAkB,GAAY,KAAK,CAAC;QACpC,oBAAe,GAAY,KAAK,CAAC;QACjC,uBAAkB,GAAY,KAAK,CAAC;QACpC,gBAAW,GAAY,KAAK,CAAC;QAC7B,wBAAmB,GAAY,KAAK,CAAC;QACrC,cAAS,GAAY,KAAK,CAAC;QAC3B,YAAO,GAAY,IAAI,CAAC;QACxB,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,sBAAiB,GAAiB,IAAI,iEAAY,EAAE,CAAC;QAGrD,sBAAiB,GAAwB,EAAE,CAAC;QAE5C,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAO1C,oBAAe,GAAY,KAAK,CAAC;QAC1B,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC5O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1N,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAG/M,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAV+I,CAAC,CAAE,6CAA6C;IACiB,CAAC;IAWlN,0CAAQ,GAAR;QAAA,iBASC;QARC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;gBACzD,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE9C,CAAC;IACD,qDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;SACtC;aAAM,IAAI,GAAG,IAAI,WAAW,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;SACjC;aAAM,IAAI,GAAG,IAAI,cAAc,EAAE;YAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;SACpC;aAAM,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;SACtC;IAEH,CAAC;IAED,kDAAgB,GAAhB;QACE,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;QACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,YAAY,EAAtE,CAAsE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzH,IAAI,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,GAAG,YAAY,GAAG,mEAAmE,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5K,OAAO,KAAK,CAAC;SAEd;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,uCAAK,GAAL;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,wCAAM,GAAN,UAAO,GAAG;QACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,sDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,sDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,uCAAK,GAAL;QACE,IAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjD,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxC,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,kDAAkD,CAAC,CAAC;QACtF,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9C,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE5C,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,iDAAe,GAAf,UAAgB,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAErE,2CAAS,GAAT,cAAc,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC;IAChD,gDAAc,GAAd;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,iBAAiB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,iBAAiB,EAAhF,CAAgF,CAAC,CAAC,CAAC,CAAC,CAAC;QACnI,IAAI,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,iBAAiB,GAAG,mEAAmE,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhL,OAAO,KAAK,CAAC;SAEd;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC7C;IAEH,CAAC;IAED,8CAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACjX,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHC/JwD,iOAAkG,YAAxE;;wBAAmB;MAA7C,wBAAkG,0FAAa;iHADlK,oQAAuK,KACrK,mJAA6B,yFAAY,MAAQ,oZAAkG,iDAA/F,oBAAsB,gBAAzB,YAAkG,EAA/F,SAAsB;iHAapE,6xBAAkF,iFAElF,2BAFsD,sHAA2B,GAAjF,YAAkF,EAA5B,kIAA2B,GAAjF,YAAkF,EAA5B,SAA2B,2BAAC,kEAElF;iHAMA,6xBAAgE,iFAEhE,2BAF4C,mHAAmB,GAA/D,YAAgE,EAApB,+HAAmB,GAA/D,YAAgE,EAApB,SAAmB,2BAAC,mEAEhE;iHAjBR,2NAAwI,KAEtI,mMAAsE,KAEpE,iLAAoD,KAClD;;;;;wBAAmM;MAAnJ;;wBAAiD;MAAC;;wBAAiC;MAAnI,guCAAmM,IACjM,+zBAAsC,+FAAoD,MAC1F,8dAAkF,IAMtF,iLAAoD,KAClD;;;;;wBAAkM;MAAhJ;;wBAAmD;MAAC;;wBAA4B;MAAlI,muCAAkM,IAChM,8dAAgE,IAMtE,iLAAoD,KAClD,inDAKqC,mDAtBN,6BAAkB,EAAmD,mBAAiC,sBAAnI,YAAmM,EAAtK,SAAkB,EAAmD,SAAiC,GACzH,sBAAW,EAAnB,aAAsC,EAA9B,mCAAW,EAAnB,aAAsC,EAA9B,UAAW,GACX,oBAA6C,oBAArD,aAAkF,EAA1E,UAA6C,GAO1B,gCAAoB,EAAqD,oBAA4B,iBAAlI,aAAkM,EAArK,UAAoB,EAAqD,UAA4B,GACxH,oBAAmC,eAA3C,aAAgE,EAAxD,UAAmC,GAQ9B,oBAAmC,sBAGnC,oBAAgC,uBAFhC,oBAAiC,qBACjC,oBAAwD,yCAExD,oBAAmB,UALpC,aAKqC,EAJpB,UAAmC,EAGnC,UAAgC,EAFhC,UAAiC,EACjC,UAAwD,EAExD,UAAmB,mDAtBlC,8sBAAmM,GAC7K,oBAAiB,EAArC,YAAsC,EAAlB,SAAiB,GAAC,yHAAoD,GAQ5F,ouBAAkM;iHA6B9L,yMAA+W,YAAlD;;wBAAwB;MAArV,wwBAA+W,GAA9O,wFAAyJ,MAAqF,qKAAyC,kDAAlZ,+HAA0H,GAAhI,YAA+W,EAAzW,SAA0H,GAAC,iJAAyJ,IAA1R,YAA+W,EAA9O,SAAyJ;iHAE1R,4KAAsW,YAAzC;;wBAAwC;MAArW,wwBAAsW,GAArO,wFAAyJ,MAA4E,uKAA2C,kDAA3Y,+HAA0H,GAAhI,YAAsW,EAAhW,SAA0H,GAAC,iJAAyJ,IAA1R,YAAsW,EAArO,SAAyJ;iHAH5R,2LAA4F,KAC1F,oZAA+W,IAE/W,oZAAsW,iDAF3E,yCAAiC,GAA5T,YAA+W,EAApF,SAAiC,GAEjC,yCAAiC,GAA5T,YAAsW,EAA3E,SAAiC;kHAUzL,wHAA2C,8EAAC;kHAAa,wHAA2C,8MAA4B;kHAkCtO,qHAAgC,8EAAC;kHASxD,wHAAkE,8EAAC;kHA0C3E,yLAA4I,kFAE5I,yDAF0F,uDAAiD,GAA3I,YAA4I,EAAlD,SAAiD,GAAC,0EAE5I;kHAiCE,wHAAuD,wNAEvD;kHAUA,wHAAyD,2NAEzD;kHARJ,oKAAwF,KACtF,qjBAAkI,IAChI,qHAAG,6FAAgB,MAErB,2kBAAwJ,iFAEtJ,2ZAAyD,iDALtD,mEAAuD,GAA5D,YAAkI,EAA7H,SAAuD,GAGvD,mEAAuD,GAA5D,YAAwJ,EAAnJ,SAAuD,GAEpD,+DAAkD,GAAxD,YAAyD,EAAnD,SAAkD,mDALG,uDAAiD,GAA9G,YAAkI,EAArE,SAAiD,GAGR,uDAAiD,GAAvJ,YAAwJ,EAAlD,SAAiD,GAAC,yEAEtJ;kHAYA,wHAAwD,0NAAwC;kHAS/D,wHAA0D,2NAE3F;kHAHF,0kBAAkM,gFAC/J,2ZAA0D,iDAD7C,mEAAuD,GAAvG,YAAkM,EAAlJ,SAAuD,GAC9D,gEAAmD,GAAzD,YAA0D,EAApD,SAAmD,mDADoD,uDAAiD,GAAjM,YAAkM,EAAlD,SAAiD,GAAC,0EAC/J;kHAqBjC,wHAAgD,+ZAAyC;kHACJ,wHAA0E,6cAAwC;kHAAvM,wHAA8C,yMAAuC,yZAA0E,iDAApE,qFAAmE,IAAzE,YAA0E,EAApE,SAAmE,mDAAhH,4MAAuC;kHA6BvF,4KAA+E,wDAA1E,mBAAoB,cAAzB,YAA+E,EAA1E,SAAoB;kHAIvB,2NAAyG;kHAD3G,qOAA+H,KAC7H,qZAAyG,iDAA9D,oBAAqB,cAAhE,YAAyG,EAA9D,SAAqB;kHAGlE,wTAAiN,4FAAe;kHAXtO,wMAAwG,KACtG,uKAA0C,KAExC,kKAA4C,KAC1C,qZAA+E,IAAC,sHAAM,KACtF,sUAAkK,YAArC;;wBAAkC;MAA/J,wBAAkK,KAElK,qZAA+H,IAG/H,0UAAuK,YAAtC;;wBAAkC;MAAnK,wBAAuK,KACvK,sZAAiN,iDAPvJ,mBAAoB,cAA9E,YAA+E,EAArB,SAAoB,GAG2B,oBAAqB,cAA9H,YAA+H,EAAtB,SAAqB,GAI8D,mBAAoB,cAAhN,aAAiN,EAArB,SAAoB;iHA1OxN,kPAA+J,KAC7J,4LAA8D,KAC5D,8LAAgE,KAC9D,mKAA6C,KAC3C,uKAA2C,KACzC,qHAAG,wLAAuD,+FAAoD,MAKhH,oZAA4F,IAQ9F,qKAA6C,KAC3C,ujBAAkI,IAChI,sHAAG,mFAAM,MAEX,4jBAAuI,IACrI,oKAA6C,2FAAsF,4ZAA2C,IAAQ,8EAAM,4ZAA2C,IAG3O,oKAA6C,KAC3C,skBAAiJ,IAC/I,sHAAG,0FAAa,MAElB,4jBAAuI,kFAEvI,MAGF,oKAA6C,KAC3C,ujBAAkI,IAChI,sHAAG,sFAAS,MAEd,4jBAAuI,kFAEvI,MAEF,oKAA6C,KAC3C,ujBAAkI,IAChI,sHAAG,sFAAS,MAEd,4jBAAuI,kFAEvI,MAGF,qKAA6C,KAC3C,ujBAAkI,IAChI,yHAAM,2HAAG,uFAAU,MAErB,4kBAAuJ,IACrJ,yHAAM,iFAAuB,4ZAAgC,IAAK,sJAAiD,IAIvH,qKAA6C,KAC3C,ujBAAkI,IAChI,yHAAM,2HAAG,yFAAY,MAEvB,4kBAAuJ,IACrJ,yHAAM,2ZAAkE,IAAQ,yUAAwG,IAI5L,oKAA6C,KAC3C,ujBAAkI,IAChI,yHAAM,2HAAG,oFAAO,MAElB,4kBAAuJ,IACrJ,yHAAM,iFAAmC,MAI7C,oKAA6C,KAC3C,ujBAAkI,IAChI,sHAAG,mFAAM,MAEX,4jBAAuI,kFAEvI,MAGF,oKAA6C,KAC3C,sjBAAiI,IAC/H,sHAAG,mFAAM,MAEX,6jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,wjBAAiI,IAC/H,uHAAG,sFAAS,MAEd,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,uFAAU,MAEf,uZAA4I,IAI9I,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,2FAAc,MAEnB,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,iFAAI,MAET,8jBAAuI,mFAEvI,MAGF,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,iFAAI,MAET,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,2FAAc,MAEnB,8kBAAuJ,mFAErJ,6ZAAuD,IAM3D,uZAAwF,IAYxF,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,4FAAe,MAEpB,8kBAAuJ,mFAErJ,6ZAAwD,IAI5D,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,6FAAgB,MAErB,uZAAkM,IAQpM,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,0FAAa,MAElB,8jBAAuI,mFAEvI,MAEF,sKAA6C,KAC3C,wjBAAiI,IAC/H,uHAAG,4FAAe,MAEpB,8kBAAuJ,mFAErJ,6ZAAgD,IAChD,uZAA8C,IAGlD,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,qFAAQ,MAEb,8jBAAuI,mFAEvI,MAGF,qKAA6C,KAC3C,yjBAAkI,IAChI,uHAAG,mFAAM,MAEX,8jBAAuI,mFAEvI,MAON,uZAAwG,iDArNnC,mBAA4B,uBAA3F,YAA4F,EAA7B,SAA4B,GAStF,mEAAuD,GAA5D,aAAkI,EAA7H,SAAuD,GAGvD,mEAAuD,GAA5D,aAAuI,EAAlI,SAAuD,GAC+E,iDAAoC,GAA1C,aAA2C,EAArC,SAAoC,GAAqB,kDAAoC,GAA1C,aAA2C,EAArC,UAAoC,GAInO,oEAAuD,GAA5D,aAAiJ,EAA5I,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuI,EAAlI,UAAuD,GAMvD,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuI,EAAlI,UAAuD,GAMvD,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuJ,EAAlJ,UAAuD,GAC1B,oBAA4B,uBAA/B,aAAgC,EAA7B,UAA4B,GAKzD,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuJ,EAAlJ,UAAuD,GAC9C,8EAA2D,IAAjE,aAAkE,EAA5D,UAA2D,GAKpE,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuJ,EAAlJ,UAAuD,GAMvD,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuI,EAAlI,UAAuD,GAMvD,oEAAuD,GAA5D,aAAiI,EAA5H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,cAAiI,EAA5H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,yDAA2C,GAAhD,cAA4I,EAAvI,UAA2C,GAK3C,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAMvD,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuJ,EAAlJ,UAAuD,GAEpD,8DAAgD,GAAtD,cAAuD,EAAjD,UAAgD,GAMrD,uDAAyC,GAA9C,cAAwF,EAAnF,UAAyC,GAavC,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuJ,EAAlJ,UAAuD,GAEpD,+DAAiD,GAAvD,cAAwD,EAAlD,UAAiD,GAKpD,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,wDAA0C,GAA/C,cAAkM,EAA7L,UAA0C,GAS1C,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAKvD,qEAAuD,GAA5D,cAAiI,EAA5H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuJ,EAAlJ,WAAuD,GAEpD,wDAAyC,GAA/C,cAAgD,EAA1C,WAAyC,GACzC,sDAAuC,GAA7C,cAA8C,EAAxC,WAAuC,GAI1C,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAMvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAStB,sBAA4B,sBAAxE,cAAwG,EAA5D,WAA4B,mDA1NN,8EAAoD,GAcnD,uDAAiD,GAA9G,aAAkI,EAArE,SAAiD,GAGzB,uDAAiD,GAAtI,aAAuI,EAAlD,SAAiD,GACvF,wLAAsF,GAItC,wDAAiD,GAAhJ,aAAiJ,EAAlD,UAAiD,GAG3D,wDAAiD,GAAtI,aAAuI,EAAlD,UAAiD,GAAC,8EAEvI,GAI6D,wDAAiD,GAA9G,aAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,aAAuI,EAAlD,UAAiD,GAAC,uEAEvI,GAG6D,wDAAiD,GAA9G,aAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,aAAuI,EAAlD,UAAiD,GAAC,uEAEvI,GAI6D,wDAAiD,GAA9G,aAAkI,EAArE,UAAiD,GAGT,wDAAiD,GAAtJ,aAAuJ,EAAlD,UAAiD,GAC9I,mEAAuB,GAAqC,qNAAiD,GAKxD,wDAAiD,GAA9G,aAAkI,EAArE,UAAiD,GAGT,wDAAiD,GAAtJ,aAAuJ,EAAlD,UAAiD,GACpE,ucAAwG,GAK7H,wDAAiD,GAA9G,aAAkI,EAArE,UAAiD,GAGT,wDAAiD,GAAtJ,aAAuJ,EAAlD,UAAiD,GAC9I,+EAAmC,GAKkB,wDAAiD,GAA9G,aAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,aAAuI,EAAlD,UAAiD,GAAC,oEAEvI,GAI+E,wDAAiD,GAAhI,aAAiI,EAAlD,UAAiD,GAG3C,wDAAiD,GAAtI,aAAuI,EAAlD,UAAiD,GAAC,oEAEvI,GAG+E,wDAAiD,GAAhI,cAAiI,EAAlD,UAAiD,GAG3C,wDAAiD,GAAtI,cAAuI,EAAlD,UAAiD,GAAC,sEAEvI,GAG6D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAQjD,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,cAAuI,EAAlD,UAAiD,GAAC,iFAEvI,GAG6D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,cAAuI,EAAlD,UAAiD,GAAC,kGAEvI,GAI6D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,cAAuI,EAAlD,UAAiD,GAAC,mEAEvI,GAG6D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGT,wDAAiD,GAAtJ,cAAuJ,EAAlD,UAAiD,GAAC,2EAErJ,GAmB2D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGT,wDAAiD,GAAtJ,cAAuJ,EAAlD,UAAiD,GAAC,6EAErJ,GAK2D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAYjD,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,cAAuI,EAAlD,UAAiD,GAAC,2EAEvI,GAG+E,yDAAiD,GAAhI,cAAiI,EAAlD,WAAiD,GAG3B,yDAAiD,GAAtJ,cAAuJ,EAAlD,WAAiD,GAAC,0EAErJ,GAK2D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,sEAEvI,GAI6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,uEAEvI;kUAjQZ,mOAAsG,KACpG,yNAA6F,KAC3F,oZAAuK,IAGzK,6MAAiF,KAC/E,+LAA6M,YAAzG;;wBAA0C;MAA9I,g/BAA6M,MAG7M,qZAAwI,IAgCxI,qZAA+J,iDAvCvB,2CAA8B,GAAtK,YAAuK,EAA/B,SAA8B,GAIrJ,mBAA2B,cAAC,mBAAmB,UAA8H,kBAAc,EAA3I,kBAAU,EAAC,mBAAuB,YAA4C,0BAAuB,EAAC,yBAAsB,EAA7L,YAA6M,EAA5L,SAA2B,EAAC,SAAmB,EAA8H,SAAc,EAA3I,SAAU,EAAC,SAAuB,EAA4C,SAAuB,EAAC,SAAsB,GAGxL,mEAA+C,IAApD,aAAwI,EAAnI,SAA+C,GAgC/C,qEAAgD,IAArD,aAA+J,EAA1J,SAAgD;;;;;;;;;;;;;;;;AC1C3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoG;AACjD;AACiB;AACjB;AAEuB;AACV;AACT;AAEZ;AAG3C;IA6CE,qCAAoB,eAAgC,EAAS,oBAA0C,EAAU,iBAAsC;QAAnI,oBAAe,GAAf,eAAe,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAvCvJ,YAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;QACnC,mBAAc,GAAa,IAAI,gEAAQ,EAAE,CAAC;QAY1C,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE1C,+BAA0B,GAAG,CAAC,CAAC;QAO/B,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,cAAS,GAAG,CAAC,CAAC;QAKd,gBAAW,GAAgB,IAAI,+DAAW,EAAE,CAAC;QAC7C,cAAS,GAAiB,EAAE,CAAC;QAC7B,wBAAmB,GAAY,KAAK,CAAC;QAErC,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QACxC,gBAAW,GAAG,EAAE,CAAC;QACjB,gBAAW,GAAY,IAAI,CAAC;QAC5B,yBAAoB,GAAY,KAAK,CAAC;QAIpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,8CAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,IAAE,SAAS,EAAE;YACnD,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrC;IACH,CAAC;IACD,sDAAgB,GAAhB;QAAA,iBA8BC;QA7BC,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACvO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;SAEjB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG;YACvC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAEH,CAAC;IACD,8DAAwB,GAAxB,UAAyB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QACxF,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpJ;qBAAM;oBACL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG;gBACxB,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC3D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;gBAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;aACxD,CAAC;SACH;IAEH,CAAC;IACM,oDAAc,GAArB;QAAA,iBAiCC;QAhCC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC7D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACjR,KAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAEtG,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;gBAErC,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC5B,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAb,CAAa,CAAC,CAAC,CAAC;qBAC7E,GAAG,CAAC,qBAAW;oBACd,OAAO;wBACL,IAAI,EAAE,CAAC,CAAC,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,WAAW,EAA5B,CAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,WAAW,EAA5B,CAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,WAAW,EAA5B,CAA4B,CAAC,CAAC,MAAM,GAAG,GAAG;wBAChS,KAAK,EAAE,WAAW;qBACnB;gBACH,CAAC,CAAC,CAAC;gBACL,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,KAAI,CAAC,YAAY,GAAG;oBAClB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,GAAG,EAAE;oBACrF,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;oBACzG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;iBAE5G,CAAC;gBACF,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC;gBAE1B,KAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;gBAE7B,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;YAEnC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;IAGP,CAAC;IACM,oDAAc,GAArB,UAAsB,SAAS;QAA/B,iBAeC;QAdC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxD,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,KAAI,CAAC,WAAW,GAAI,EAAE,CAAC;YACvB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAG;gBACtD,KAAI,CAAC,WAAW,GAAI,GAAG,CAAC,KAAK,CAAC;YAEhC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC5E,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACjR,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uDAAiB,GAAjB,UAAkB,GAAG;QAArB,iBAyBC;QAxBC,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,EAA/B,CAA+B,CAAC,CAAC;aAC3F;iBAAM;gBACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC;aAC9C;SACF;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,GAAG,EAApB,CAAoB,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,EAAvD,CAAuD,CAAC,CAAC;aACnH;iBACI;gBACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,GAAG,EAApB,CAAoB,CAAC,CAAC;aAChF;SAEF;QACD,IAAI,CAAC,YAAY,GAAG;YAClB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE;YAC7E,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;YACjG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;SAEpG,CAAC;IAEJ,CAAC;IACD,6CAAO,GAAP;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,yDAAmB,GAAnB,UAAoB,GAAG;QAAvB,iBAiBC;QAhBC,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,IAAI,CAAC,mBAAmB,IAAI,KAAK;gBACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC;iBAC1C;gBACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,KAAI,CAAC,mBAAmB,EAAzC,CAAyC,CAAC,CAAC;aACrG;SACF;aAAM;YACL,IAAI,IAAI,CAAC,mBAAmB,IAAI,KAAK,EAAE;gBACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,IAAI,KAAI,CAAC,mBAAmB,EAA5D,CAA4D,CAAC,CAAC;aACxH;iBACI;gBACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC;aAC3E;SAEF;QACD,mCAAmC;IACrC,CAAC;IAED,iDAAW,GAAX,UAAY,OAAO,EAAE,GAAG;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAE1D,CAAC;IACD,sDAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAAhC,iBASC;QARC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC1F,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC/B,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,6CAAO,GAAP,UAAQ,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;QAErG,+EAA+E;QAC/E,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,OAAO,IAAI,EAAE,EAAE;oBACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvF;qBACI;oBACH,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvG;aACF;SACF;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QAGD,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,sDAAgB,GAAhB,UAAiB,KAAK;IAEtB,CAAC;IAED,iDAAW,GAAX,UAAY,SAAS;QAEnB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YAEH,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChC;SACF;IAEH,CAAC;IACD,qDAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACpC,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aAAM;YACL,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACtB;SACF;IACH,CAAC;IAED,+CAAS,GAAT,UAAU,IAAI;QACZ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,OAAO,GAAG,IAAI,gEAAQ,EAAE,CAAC;QAC7B,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;YAC/B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACrD,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAG;oBACjE,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;oBAChC,OAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACtC,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IACH,kCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mHCtXK,qMAAmG,KACjG,iLAAqD,KACnD,0KAA8C,KAC5C,wHAAM,kGAAqB;mHAQ7B,mJAAyD,2FAAc;mHA4CrE,oLAAmF,KACjF;;;;;;+xBAAgE,IAC9D,wKAA0C,KACxC,gLAAmD,KACjD,kMAAsE,KACpE,yHAAO,uFAAU,MAEnB,6IAAsB,KACpB,uKAA0C,KACxC;;;;;;;;;;;wBAAoI;MAAnE;;wBAAqC;MAAtG,+0DAAoI,IAI1I,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,0FAAa,MAEtB,6IAAsB,KACpB;;;;;;;;;;;wBAAqI;MAArE;;wBAAuC;MAAvG,83CAAqI,IAGzI,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAA6G;MAAjD;;wBAAqC;MAAjG,gzDAA6G,IAIjH,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,2FAAc,MAEvB,8IAAsB,KACpB;;;;;wBAAqG;MAAnD;;wBAAyC;MAA3F,+uDAAqG,IACnG,+yBAAmB,8EAAE,MACrB,gzBAAoB,+EAAG,MAI7B,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,sFAAS,MAElB,8IAAsB,KACpB;;;;;wBAAsH;MAAzE;;wBAAoC;MAAjF,8wDAAsH,IAEpH,20BAAyC,4FAAgB,MACzD,szBAA0B,qFAAS,MACnC,qzBAAyB,oFAAQ,MACjC,ozBAAwB,mFAAO,MAC/B,szBAA0B,qFAAS,MACnC,mzBAAqB,gFAAI,MACzB,6zBAA8B,0FAAc,MAC5C,6zBAA8B,yFAAa,MAIjD,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,+FAAkB,MAE3B,+IAAsB,KACpB;;;;;wBAAsI;MAAjF;;wBAA4C;MAAjG,kxDAAsI,IACpI,kzBAAmB,8EAAE,MACrB,mzBAAoB,+EAAG,MAI7B,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,wFAAW,MAEpB,+IAAsB,KACpB;;;;;wBAA0H;MAA3E;;wBAAsC;MAArF,kxDAA0H,IACxH,20BAAsC,+FAAmB,MACzD,4zBAA6B,yFAAa,MAC1C,qzBAAsB,kFAAM,MAC5B,uzBAAwB,oFAAQ,MAItC,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,sFAAS,MAElB,8IAAsB,KACpB;;;;;;;;;;;wBAAqI;MAA3E;;wBAAoC;MAA9F,m1DAAqI,IAIzI,mLAAoD,KAClD,oMAAsE,KACpE,2HAAO,wFAAW,MAEpB,8IAAsB,KACpB;;;;;;;;;;;wBAC+E;MAAjD;;wBAAuC;MADrE,ozDAC+E,IAGnF,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,uFAAU,MAEnB,8IAAsB,KACpB;;;;;;;;;;;wBAAwI;MAA5E;;wBAAqC;MAAjG,m1DAAwI,IAK9I,uMAAyE,KACvE,wKAA0C,KACxC,wPAA8G,YAAxC;;wBAAuC;MAA7G,wBAA8G,mFAAM,MAEtH,8KAAgD,KAC9C,yQAAoJ,YAAvC;;wBAAsC;MAAnJ,wBAAoJ,iFAAI,mDA3GxH,mBAAQ,EAApC,aAAoI,EAAxG,UAAQ,GAAY,4BAAgB,EAAuC,oBAA0B,gBAAhE,oBAAqC,0BAAtG,aAAoI,EAApF,UAAgB,EAAuC,UAA0B,EAAhE,UAAqC,GAS3D,8BAAkB,EAAyC,oBAA0B,gBAAlE,oBAAuC,4BAAvG,aAAqI,EAAxF,UAAkB,EAAyC,UAA0B,EAAlE,UAAuC,GAQL,mBAAQ,EAA1G,aAA6G,EAAX,UAAQ,GAA/D,4BAAgB,EAAC,oBAAqC,0BAAjG,aAA6G,EAAlE,UAAgB,EAAC,UAAqC,GASL,mBAAQ,EAApG,aAAqG,EAAT,UAAQ,GAAvE,gCAAoB,EAAC,oBAAyC,8BAA3F,aAAqG,EAAxE,UAAoB,EAAC,UAAyC,GACjF,qBAAU,EAAlB,aAAmB,EAAX,kCAAU,EAAlB,aAAmB,EAAX,UAAU,GACV,sBAAW,EAAnB,aAAoB,EAAZ,mCAAW,EAAnB,aAAoB,EAAZ,UAAW,GAS6D,mBAAQ,EAA1F,aAAsH,EAApC,UAAQ,GAA7D,2BAAe,EAA+C,oBAA0B,gBAAxE,oBAAoC,yBAAjF,aAAsH,EAAzF,UAAe,EAA+C,UAA0B,EAAxE,UAAoC,GAEvE,uBAAY,EAApB,aAAyC,EAAjC,oCAAY,EAApB,aAAyC,EAAjC,UAAY,GACZ,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,2BAAgB,EAAxB,aAAyB,EAAjB,wCAAgB,EAAxB,aAAyB,EAAjB,UAAgB,GAChB,0BAAe,EAAvB,aAAwB,EAAhB,uCAAe,EAAvB,aAAwB,EAAhB,UAAe,GACf,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,uBAAY,EAApB,cAAqB,EAAb,oCAAY,EAApB,cAAqB,EAAb,UAAY,GACZ,gCAAqB,EAA7B,cAA8B,EAAtB,6CAAqB,EAA7B,cAA8B,EAAtB,UAAqB,GACrB,gCAAqB,EAA7B,cAA8B,EAAtB,6CAAqB,EAA7B,cAA8B,EAAtB,UAAqB,GASmE,mBAAQ,EAA1G,cAAsI,EAApC,UAAQ,GAA7E,mCAAuB,EAAuD,oBAA0B,gBAAhF,oBAA4C,iCAAjG,cAAsI,EAAzG,UAAuB,EAAuD,UAA0B,EAAhF,UAA4C,GACvF,qBAAU,EAAlB,cAAmB,EAAX,kCAAU,EAAlB,cAAmB,EAAX,UAAU,GACV,sBAAW,EAAnB,cAAoB,EAAZ,mCAAW,EAAnB,cAAoB,EAAZ,UAAW,GASiE,oBAAQ,EAA9F,cAA0H,EAApC,WAAQ,GAAjE,8BAAiB,EAAiD,qBAA0B,gBAA1E,qBAAsC,2BAArF,cAA0H,EAA7F,WAAiB,EAAiD,WAA0B,EAA1E,WAAsC,GAC3E,qBAAS,EAAjB,cAAsC,EAA9B,mCAAS,EAAjB,cAAsC,EAA9B,WAAS,GACT,gCAAoB,EAA5B,cAA6B,EAArB,8CAAoB,EAA5B,cAA6B,EAArB,WAAoB,GACpB,yBAAa,EAArB,cAAsB,EAAd,uCAAa,EAArB,cAAsB,EAAd,WAAa,GACb,2BAAe,EAAvB,cAAwB,EAAhB,yCAAe,EAAvB,cAAwB,EAAhB,WAAe,GASsE,oBAAQ,EAAvG,cAAqI,EAAtC,WAAQ,GAA7D,4BAAe,EAA+C,qBAA0B,gBAAxE,qBAAoC,yBAA9F,cAAqI,EAA3F,WAAe,EAA+C,WAA0B,EAAxE,WAAoC,GAUxB,oBAAQ,EAD9E,cAC+E,EAAT,WAAQ,GAD1B,mCAAsB,EAC5C,qBAAuC,4BADrE,cAC+E,EAD3B,WAAsB,EAC5C,WAAuC,GAQ6B,oBAAQ,EAA1G,cAAwI,EAAtC,WAAQ,GAA/D,6BAAgB,EAAgD,qBAA0B,gBAAzE,qBAAqC,0BAAjG,cAAwI,EAA7F,WAAgB,EAAgD,WAA0B,EAAzE,WAAqC,2BAzGzG,8sBAAgE,GAQtD,80BAAoI,GAStI,ouBAAqI,GAQrI,o1BAA6G,GAS7G,o1BAAqG,GAWrG,o1BAAsH,GAkBtH,61BAAsI,GAWtI,22BAA0H,GAa1H,62BAAqI,GASrI,62BAC+E,GAQ/E,62BAAwI,GAUzE,2EAA2C,cAA5G,cAAoJ,EAAnF,WAA2C;mHAlK1H,kLAAiF,KAC/E,0KAA8C,KAC5C,sZAAyD,IAG3D,8LAAiE,KAE/D,sKAAyC,KACvC,yKAA6C,KAC3C,gQAAsH,YAA1D;;wBAAmC;MAA/F,wBAAsH,KAExH,8KAAiD,KAC/C,yMAAoE,YAAvC;;wBAAsC;MAAnE,wBAAoE,KAClE,yuBAAkB,yGAA6B,MAC/C,yuBAAkB,qGAAyB,MAC3C,yuBAAkB,mGAAuB,MAG7C,qKAAwC,KACtC,yMAA2D,YAA9B;;wBAA6B;MAA1D,wBAA2D,KACzD,yuBAAkB,qGAAyB,MAC3C,yuBAAkB,8FAAkB,MAM5C,+LAAkE,KAEhE,qKAAwC,KACtC,4SAW4D,YAF3C;;wBAA+C;MAC/C;;wBAA0C;MAC1C;;wBAA0C;MAX3D,2pDAW4D,MAI9D,iLAAoD,KAClD,uZAAmF,iDA5C/E,mBAA2B,sBAAjC,YAAyD,EAAnD,SAA2B,GAWnB,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GAKT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAS,EAAjB,aAAkB,EAAV,gCAAS,EAAjB,aAAkB,EAAV,UAAS,GAUJ,oBAA+B,kBAG/B,oBAAiC,wBAFjC,oBAAyB,aACzB,oBAAwD,yCAIxD,oBAAmB,UACnB,qBAAoB,EAHpB,qBAAuB,EACvB,qBAAoC,EANrD,aAW4D,EAV3C,UAA+B,EAG/B,UAAiC,EAFjC,UAAyB,EACzB,UAAwD,EAIxD,UAAmB,EACnB,UAAoB,EAHpB,UAAuB,EACvB,UAAoC,GAUC,oBAA4B,uBAAlF,aAAmF,EAA7B,UAA4B;mHAsIpF,sKAAoE,KAClE,yKAA6C,KAC3C,gQAA6K,YAAjH;;wBAA0F;MAAtJ,wBAA6K,KAG/K,uKAA0C,KACxC;;;;;wBAA6H;MAAhG;;wBAAkD;MAAC;;wBAA4C;MAA5H,6sCAA6H,IAC3H,szBAA0B,qGAAyB,MACnD,szBAA0B,8FAAkB,MAGhD,wKAA0C,KACxC;;;;;wBAA6H;MAAhG;;wBAAkD;MAAC;;wBAA4C;MAA5H,gtCAA6H,IAC3H,szBAA0B,8FAAkB,MAC5C,szBAA0B,0FAAc,mDARsC,mBAA4C,iCAA5H,YAA6H,EAA7C,SAA4C,GAClH,2BAAiB,EAAzB,aAA0B,EAAlB,uCAAiB,EAAzB,aAA0B,EAAlB,SAAiB,GACjB,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GAIqD,oBAA4C,iCAA5H,aAA6H,EAA7C,UAA4C,GAClH,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,2BAR3B,8sBAA6H,GAM7H,ouBAA6H;mHAuB3H,uHAA0C,KACxC,oJAA8B,6OAAiH,YAA5C;;wBAAyC;MAA9G,wBAAiH,KAC/I,kJAA4B,gFAAmB,MAC/C,oJAA8B,gFAAqB,MACnD,0fAC2C,GADvC,kEAAyH,MAClF,8EAE3C,MACA,qJAA8B,iFAAkB,MAChD,qJAA8B,iFAA0B,2BALpD,0KAAyH,KAA7H,YAC2C,EADvC,SAAyH,2BAHlD,yHAAuB,GAApE,YAAiH,EAApE,SAAuB,GACtE,uEAAmB,GACjB,yEAAqB,GAER,wEAE3C,GAC8B,uEAAkB,GAClB,+EAA0B;oHA4BV,0NAA6J,YAA/C;;wBAA8C;MAA5J,wBAA6J;oHALvM,qLAA4I,YAAjD;;wBAAgD;MAA3I,wBAA4I,KAC1I,uKAAqE,kJAAyB,KAC9F,+KAA+E,gFAAgB,MAC/F,4NAAqH,YAAtC;;wBAAqC;MAApH,wBAAqH,gFAAuB,MAC5I,2OAA+H,YAAtC;;wBAAqC;MAA9H,wBAA+H,gFAAsB,MACrJ,8JAAwC,6ZAA6J,iDAAnH,+FAAmE,IAA7G,aAA6J,EAAnH,SAAmE,2BAL7F,8HAAgC,GAA1F,YAA4I,EAAlF,SAAgC,GACjD,2HAA6B,GAApE,YAAqE,EAA9B,SAA6B,GACrB,6HAA+B,GAA9E,YAA+E,EAAhC,SAA+B,GAAC,gEAAgB,GACvD,oIAAsC,GAA9E,YAAqH,EAA7E,SAAsC,GAAuC,uEAAuB,GACrF,+HAAiC,GAAxF,YAA+H,EAAxE,SAAiC,GAAuC,sEAAsB;mHAf/J,wLAAsF,KACpF,2LAA8D,KAC5D,iJAA0B,KACxB,4LAAsE,KACpE,2IAAqB,KACrB,+IAAyB,+EAAE,MAC3B,8JAAwC,uFAAU,MAClD,8JAAwC,2FAAc,MACtD,+JAAwC,oFAAO,MAEjD,uaAA4E,IAC1E,ieAA4I,IAUlJ,uLAA0D,KACxD,6IAAsB,KACtB,6IAAsB,KACpB,uKAA0C,KACxC,mMAAsE,mFAAM,MAE9E,6KAAgD,KAC9C,wPAAwG,YAAvC;;wBAAsC;MAAvG,wBAAwG,iFAAI,mDAlBvG,sCAAkC,EAAzC,aAA4E,EAArE,SAAkC,GACnC,mBAAqD,gBAAzD,aAA4I,EAAxI,SAAqD,mDADjB,wHAAiC,GAA3E,aAA4E,EAAlC,SAAiC;mHA1EzF,kLAAuF,KACrF,0KAA8C,KAC5C,mJAA6B,yGAA4B,MAI3D,wKAA4C,KAE1C,sZAAoE,IAsBtE,6LAAgE,KAC9D,+LAAkE,KAEhE,gJAAyB,KACvB,kJAA0B,KACxB,8JAAsC,KACpC,4IAAqB,KACrB,mJAA4B,wFAAW,MACvC,qJAA8B,0FAAa,MAC3C,qJAA8B,qFAAQ,MACtC,qJAA8B,sFAAS,MACvC,qJAA8B,sFAAS,6HAAM,sFAAS,MAExD,geAA0C,IAkBhD,uKAA0C,KAExC,kLAAqD,KACnD,uZAAsF,iDAxDjD,mBAA0B,qBAAnE,YAAoE,EAA3B,SAA0B,GAmCzD,mBAAqC,kBAAzC,aAA0C,EAAtC,SAAqC,GAqBgB,mBAA0B,qBAArF,aAAsF,EAA3B,SAA0B;oHAoEvE,sHAA+C,KAC7C,oJAA8B,sPAAoJ,YAAnD;;wBAAgD;MAAjJ,wBAAoJ,KAClL,kJAA4B,gFAAkB,MAC9C,mJAA6B,gFAAkB,iCAFqC,qKAA0C,GAAhG,YAAoJ,EAA9F,SAA0C,GAClG,uEAAkB,GACjB,uEAAkB;oHApB7D,iMAA4H,KAC1H,4LAA+D,KAC7D,gJAAyB,KACvB,iMAA+C,YAAxB;;wBAAuB;MAA9C,wBAA+C,KAC7C,qKAA+C,KAC7C,mvBAA4C,wFAAY,MAE1D,8IAAwB,KAE1B,4KAAkE,KAChE,8JAAuC,KACrC,6JAAsC,KACpC,4IAAqB,KACrB,sJAA+B,uFAAU,MACzC,qJAA8B,uFAAU,MAE1C,0HAAO,KACL,ieAA+C,IAYzD,4MAA+E,KAC7E,qOAAsG,YAAzC;;wBAAwC;MAArG,wBAAsG,kDAzBjE,sBAAY,EAA3C,YAA4C,EAAb,kCAAY,EAA3C,YAA4C,EAAb,SAAY,GAYrC,mBAA0C,wBAA9C,aAA+C,EAA3C,SAA0C,2BAZxC,wHAAsB,GAA9B,YAA4C,EAApC,SAAsB,GAI7B,yHAAuB,GAA5B,aAAkE,EAA7D,SAAuB,GAqBY,oHAAkB,GAA5D,aAAsG,EAA5D,SAAkB;oHA3C1E,kLAAsF,KACpF,0KAA8C,KAC5C,mJAA6B,gFAA6B,MAI5D,2MAA8E,KAC5E,qKAAyC,gPAA+F,YAA9B;;wBAA6B;MAA9F,wBAA+F,oFAAO,MAC/I,kLAAqD,KACnD,0LAA6D,KAC3D,0LAA6D,KAG3D,ieAA4H,IAoC9H,iLAAoD,KAClD,0MAAuE,KACrE,sKAAyC,2NAAmF,wJAA4B,KAAO,8EAAM,MACrK,sKAAyC,+QAA2G,YAArC;;wBAAuB;MAA7F,wBAA2G,wJAA4B,KAAO,4EAAI,mDAvCzH,mBAAuD,wBAA3H,aAA4H,EAAxD,SAAuD,mDAXpG,sEAA6B;mHA/RhE,iLAA4H,KAE1H,sZAAmG,IASnG,sZAAiF,IA4KjF,sZAAuF,IAsGvF,uZAAsF,iDA3Rb,mBAAyB,oBAAlG,YAAmG,EAA1B,SAAyB,GAS7C,mBAA2B,sBAAhF,YAAiF,EAA5B,SAA2B,GA4K3B,mBAAiC,4BAAtF,YAAuF,EAAlC,SAAiC,GAsGjC,mBAAgC,2BAArF,YAAsF,EAAjC,SAAgC;oHAiErF,gMAAmG,KACjG,iLAAqD,KACnD,0KAA8C,KAC5C,+JAAyC,mGAAsB;oHASjE,mJAAmD,wFAAW;oHAgC5D,mLAAsF,KACpF;;;;;;kyBAAmE,IACjE,uKAA0C,KACxC,gLAAmD,KACjD,kMAAsE,KACpE,yHAAO,uFAAU,MAEnB,6IAAsB,KACpB,uKAA0C,KACxC;;;;;;;;;;;wBAAmH;MAA9C;;wBAA2C;MAAhH,gzDAAmH,IAMzH,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAA+G;MAAhD;;wBAAoC;MAAnG,gzDAA+G,IAKrH,sMAAyE,KACvE,uKAA0C,KACxC,uPAAqH,YAA/C;;wBAA8C;MAApH,wBAAqH,mFAAM,MAE7H,6KAAgD,KAC9C,wQAAkJ,YAAlC;;wBAAiC;MAAjJ,wBAAkJ,iFAAI,mDArBtH,mBAAQ,EAApC,aAAmH,EAAvF,UAAQ,GAAgB,4BAAgB,EAAC,oBAA2C,gCAAhH,aAAmH,EAA/D,UAAgB,EAAC,UAA2C,GAWd,mBAAQ,EAA5G,aAA+G,EAAX,UAAQ,GAA9D,4BAAgB,EAAC,oBAAoC,yBAAnG,aAA+G,EAAjE,UAAgB,EAAC,UAAoC,2BAnB3G,8sBAAmE,GAQzD,80BAAmH,GAWrH,o1BAA+G,GAUhD,0EAA8C,cAA/G,aAAkJ,EAAjF,UAA8C;oHAhE7H,kLAA2E,KACzE,0KAA8C,KAC5C,uZAAmD,IAGrD,6LAAiE,KAE/D,qKAAyC,KACvC,yKAA6C,KAC3C,gQAAiI,YAArE;;wBAA8C;MAA1G,wBAAiI,KAMvI,8LAAkE,KAEhE,oKAAwC,KACtC,mUAWqD,YAHpC;;wBAAmC;MACnC;;wBAA+C;MAC/C;;wBAA2D;MAC3D;;wBAAmC;MAXpD,snDAWqD,MAIvD,iLAAoD,KAClD,wZAAsF,iDAhClF,mBAAqB,gBAA3B,YAAmD,EAA7C,SAAqB,GAiBR,mBAAsC,yBAGtC,mBAA6B,oBAF7B,mBAAyB,aACzB,mBAAwD,yCAExD,mBAAmB,UAEnB,oBAAoB,EADpB,oBAAuB,EANxC,aAWqD,EAVpC,SAAsC,EAGtC,SAA6B,EAF7B,SAAyB,EACzB,SAAwD,EAExD,SAAmB,EAEnB,SAAoB,EADpB,SAAuB,GAUc,mBAA+B,0BAArF,aAAsF,EAAhC,SAA+B;oHA7C7F,kLAAoF,KAClF,uZAAmG,IAUnG,uZAA2E,iDAVP,mBAA8B,yBAAlG,YAAmG,EAA/B,SAA8B,GAU7C,mBAAqB,gBAA1E,YAA2E,EAAtB,SAAqB;oHAgFtE,mJAA0D,2FAAc;oHAiDtE,oLAAmF,KACjF;;;;;;+xBAAgE,IAC9D,wKAA0C,KACxC,gLAAmD,KACjD,kMAAsE,KACpE,yHAAO,uFAAU,MAEnB,6IAAsB,KACpB,uKAA0C,KACxC;;;;;;;;;;;wBAAuI;MAAnE;;wBAAqC;MAAzG,+0DAAuI,IAK7I,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,0FAAa,MAEtB,6IAAsB,KACpB;;;;;;;;;;;wBAAwI;MAArE;;wBAAuC;MAA1G,83CAAwI,IAG5I,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAAgH;MAAjD;;wBAAqC;MAApG,gzDAAgH,IAIpH,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,2FAAc,MAEvB,8IAAsB,KACpB;;;;;wBAAgI;MAA9E;;wBAAyC;MAA3F,8wDAAgI,IAC9H,+yBAAmB,8EAAE,MACrB,gzBAAoB,+EAAG,MAI7B,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,sFAAS,MAElB,8IAAsB,KACpB;;;;;wBAAsH;MAAzE;;wBAAoC;MAAjF,8wDAAsH,IAEpH,20BAAyC,4FAAgB,MACzD,szBAA0B,qFAAS,MACnC,qzBAAyB,oFAAQ,MACjC,ozBAAwB,mFAAO,MAC/B,izBAAqB,gFAAI,MACzB,4zBAA8B,0FAAc,MAC5C,yzBAA0B,qFAAS,MACnC,6zBAA8B,yFAAa,MAIjD,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,+FAAkB,MAE3B,+IAAsB,KACpB;;;;;wBAAsI;MAAjF;;wBAA4C;MAAjG,kxDAAsI,IACpI,kzBAAmB,8EAAE,MACrB,mzBAAoB,+EAAG,MAI7B,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,wFAAW,MAEpB,+IAAsB,KACpB;;;;;wBAA0H;MAA3E;;wBAAsC;MAArF,kxDAA0H,IACxH,20BAAsC,+FAAmB,MACzD,4zBAA6B,yFAAa,MAC1C,qzBAAsB,kFAAM,MAC5B,uzBAAwB,oFAAQ,MAItC,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,sFAAS,MAElB,8IAAsB,KACpB;;;;;;;;;;;wBAAwI;MAA3E;;wBAAoC;MAAjG,m1DAAwI,IAI5I,mLAAoD,KAClD,oMAAsE,KACpE,2HAAO,wFAAW,MAEpB,8IAAsB,KACpB;;;;;;;;;;;wBAAgJ;MAAjD;;wBAAuC;MAAtI,ozDAAgJ,IAGpJ,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,uFAAU,MAEnB,8IAAsB,KACpB;;;;;;;;;;;wBAA2I;MAA5E;;wBAAqC;MAApG,m1DAA2I,IAKjJ,uMAAyE,KACvE,wKAA0C,KACxC,wPAAgH,YAA1C;;wBAAyC;MAA/G,wBAAgH,mFAAM,MAExH,8KAAgD,KAC9C,yQAAoJ,YAAvC;;wBAAsC;MAAnJ,wBAAoJ,iFAAI,mDA3GxH,mBAAQ,EAApC,aAAuI,EAA3G,UAAQ,GAAe,4BAAgB,EAAuC,oBAA0B,gBAAhE,oBAAqC,0BAAzG,aAAuI,EAApF,UAAgB,EAAuC,UAA0B,EAAhE,UAAqC,GAU3D,8BAAkB,EAAyC,oBAA0B,gBAAlE,oBAAuC,4BAA1G,aAAwI,EAAxF,UAAkB,EAAyC,UAA0B,EAAlE,UAAuC,GAQL,mBAAQ,EAA7G,aAAgH,EAAX,UAAQ,GAA/D,4BAAgB,EAAC,oBAAqC,0BAApG,aAAgH,EAAlE,UAAgB,EAAC,UAAqC,GASR,mBAAQ,EAApG,aAAgI,EAApC,UAAQ,GAAvE,gCAAoB,EAAoD,oBAA0B,gBAA7E,oBAAyC,8BAA3F,aAAgI,EAAnG,UAAoB,EAAoD,UAA0B,EAA7E,UAAyC,GACjF,qBAAU,EAAlB,aAAmB,EAAX,kCAAU,EAAlB,aAAmB,EAAX,UAAU,GACV,sBAAW,EAAnB,aAAoB,EAAZ,mCAAW,EAAnB,aAAoB,EAAZ,UAAW,GAS6D,mBAAQ,EAA1F,aAAsH,EAApC,UAAQ,GAA7D,2BAAe,EAA+C,oBAA0B,gBAAxE,oBAAoC,yBAAjF,aAAsH,EAAzF,UAAe,EAA+C,UAA0B,EAAxE,UAAoC,GAEvE,uBAAY,EAApB,aAAyC,EAAjC,oCAAY,EAApB,aAAyC,EAAjC,UAAY,GACZ,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,2BAAgB,EAAxB,aAAyB,EAAjB,wCAAgB,EAAxB,aAAyB,EAAjB,UAAgB,GAChB,0BAAe,EAAvB,aAAwB,EAAhB,uCAAe,EAAvB,aAAwB,EAAhB,UAAe,GACf,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,gCAAqB,EAA7B,cAA8B,EAAtB,6CAAqB,EAA7B,cAA8B,EAAtB,UAAqB,GACrB,4BAAiB,EAAzB,cAA0B,EAAlB,yCAAiB,EAAzB,cAA0B,EAAlB,UAAiB,GACjB,gCAAqB,EAA7B,cAA8B,EAAtB,6CAAqB,EAA7B,cAA8B,EAAtB,UAAqB,GASmE,mBAAQ,EAA1G,cAAsI,EAApC,UAAQ,GAA7E,mCAAuB,EAAuD,oBAA0B,gBAAhF,oBAA4C,iCAAjG,cAAsI,EAAzG,UAAuB,EAAuD,UAA0B,EAAhF,UAA4C,GACvF,qBAAU,EAAlB,cAAmB,EAAX,kCAAU,EAAlB,cAAmB,EAAX,UAAU,GACV,sBAAW,EAAnB,cAAoB,EAAZ,mCAAW,EAAnB,cAAoB,EAAZ,UAAW,GASiE,oBAAQ,EAA9F,cAA0H,EAApC,WAAQ,GAAjE,8BAAiB,EAAiD,qBAA0B,gBAA1E,qBAAsC,2BAArF,cAA0H,EAA7F,WAAiB,EAAiD,WAA0B,EAA1E,WAAsC,GAC3E,qBAAS,EAAjB,cAAsC,EAA9B,mCAAS,EAAjB,cAAsC,EAA9B,WAAS,GACT,gCAAoB,EAA5B,cAA6B,EAArB,8CAAoB,EAA5B,cAA6B,EAArB,WAAoB,GACpB,yBAAa,EAArB,cAAsB,EAAd,uCAAa,EAArB,cAAsB,EAAd,WAAa,GACb,2BAAe,EAAvB,cAAwB,EAAhB,yCAAe,EAAvB,cAAwB,EAAhB,WAAe,GASyE,oBAAQ,EAA1G,cAAwI,EAAtC,WAAQ,GAA7D,4BAAe,EAA+C,qBAA0B,gBAAxE,qBAAoC,yBAAjG,cAAwI,EAA3F,WAAe,EAA+C,WAA0B,EAAxE,WAAoC,GASsC,oBAAQ,EAA/I,cAAgJ,EAAT,WAAQ,GAA3F,mCAAsB,EAAqB,qBAAuC,4BAAtI,cAAgJ,EAA5F,WAAsB,EAAqB,WAAuC,GAQjC,oBAAQ,EAA7G,cAA2I,EAAtC,WAAQ,GAA/D,6BAAgB,EAAgD,qBAA0B,gBAAzE,qBAAqC,0BAApG,cAA2I,EAA7F,WAAgB,EAAgD,WAA0B,EAAzE,WAAqC,2BAzG5G,8sBAAgE,GAQtD,80BAAuI,GAUzI,ouBAAwI,GAQxI,o1BAAgH,GAShH,o1BAAgI,GAWhI,o1BAAsH,GAkBtH,61BAAsI,GAWtI,62BAA0H,GAa1H,62BAAwI,GASxI,62BAAgJ,GAQhJ,62BAA2I,GAU5E,2EAA2C,cAA5G,cAAoJ,EAAnF,WAA2C;oHAvK1H,kLAAkF,KAChF,0KAA8C,KAC5C,uZAA0D,IAG5D,8LAAiE,KAE/D,sKAAyC,KACvC,yKAA6C,KAC3C,gQAAsH,YAA1D;;wBAAmC;MAA/F,wBAAsH,KAExH,8KAAiD,KAC/C,yMAAoE,YAAvC;;wBAAsC;MAAnE,wBAAoE,KAElE,yuBAAkB,yGAA6B,MAC/C,yuBAAkB,qGAAyB,MAC3C,yuBAAkB,mGAAuB,MAK7C,qKAAwC,KACtC,yMAA2D,YAA9B;;wBAA6B;MAA1D,wBAA2D,KAEzD,yuBAAkB,qGAAyB,MAC3C,yuBAAkB,8FAAkB,MAO5C,+LAAkE,KAEhE,qKAAwC,KACtC,4SAW4D,YAF3C;;wBAA+C;MAC/C;;wBAA0C;MAC1C;;wBAA0C;MAX3D,2pDAW4D,MAI9D,iLAAoD,KAClD,wZAAmF,iDAjD/E,mBAA4B,uBAAlC,YAA0D,EAApD,SAA4B,GAYpB,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GAQT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAS,EAAjB,aAAkB,EAAV,gCAAS,EAAjB,aAAkB,EAAV,UAAS,GAWJ,oBAA+B,kBAG/B,oBAAiC,wBAFjC,oBAAyB,aACzB,oBAAwD,yCAIxD,oBAAmB,UACnB,qBAAoB,EAHpB,qBAAuB,EACvB,qBAAoC,EANrD,aAW4D,EAV3C,UAA+B,EAG/B,UAAiC,EAFjC,UAAyB,EACzB,UAAwD,EAIxD,UAAmB,EACnB,UAAoB,EAHpB,UAAuB,EACvB,UAAoC,GAUC,oBAA4B,uBAAlF,aAAmF,EAA7B,UAA4B;oHAgIpF,wHAA0C,yGAA4B;oHAGpE,sKAAoE,KAClE,yKAA6C,KAC3C,gQAA6K,YAAjH;;wBAA0F;MAAtJ,wBAA6K,KAE/K,uKAA0C,KACxC;;;;;wBAA6H;MAAhG;;wBAAkD;MAAC;;wBAA4C;MAA5H,6sCAA6H,IAC3H,szBAA0B,qGAAyB,MACnD,szBAA0B,8FAAkB,MAGhD,wKAA0C,KACxC;;;;;wBAA6H;MAAhG;;wBAAkD;MAAC;;wBAA4C;MAA5H,gtCAA6H,IAC3H,szBAA0B,8FAAkB,MAC5C,szBAA0B,0FAAc,mDARsC,mBAA4C,iCAA5H,YAA6H,EAA7C,SAA4C,GAClH,2BAAiB,EAAzB,aAA0B,EAAlB,uCAAiB,EAAzB,aAA0B,EAAlB,SAAiB,GACjB,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GAIqD,oBAA4C,iCAA5H,aAA6H,EAA7C,UAA4C,GAClH,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,2BAR3B,8sBAA6H,GAM7H,ouBAA6H;oHAsBzH,uHAA0C,KACxC,oJAA8B,6OAAiH,YAA5C;;wBAAyC;MAA9G,wBAAiH,KAC/I,kJAA4B,gFAAmB,MAC/C,oJAA8B,gFAAqB,MACnD,oJAA8B,gFAAkB,MAChD,oJAA8B,iFAA0B,iCAJmB,yHAAuB,GAApE,YAAiH,EAApE,SAAuB,GACtE,uEAAmB,GACjB,yEAAqB,GACrB,sEAAkB,GAClB,+EAA0B;oHA4Bd,0NAA6J,YAA/C;;wBAA8C;MAA5J,wBAA6J;oHALvM,qLAA4I,YAAjD;;wBAAgD;MAA3I,wBAA4I,KAC1I,uKAAqE,kJAAyB,KAC9F,2KAA2E,gFAAgB,MAC3F,4NAAqH,YAAtC;;wBAAqC;MAApH,wBAAqH,gFAAuB,MAC5I,2OAA+H,YAAtC;;wBAAqC;MAA9H,wBAA+H,gFAAsB,MACrJ,8JAAwC,6ZAA6J,iDAAnH,+FAAmE,IAA7G,aAA6J,EAAnH,SAAmE,2BAL7F,8HAAgC,GAA1F,YAA4I,EAAlF,SAAgC,GACjD,2HAA6B,GAApE,YAAqE,EAA9B,SAA6B,GACzB,6HAA+B,GAA1E,YAA2E,EAAhC,SAA+B,GAAC,gEAAgB,GACnD,oIAAsC,GAA9E,YAAqH,EAA7E,SAAsC,GAAuC,uEAAuB,GACrF,+HAAiC,GAAxF,YAA+H,EAAxE,SAAiC,GAAuC,sEAAsB;oHAjB/J,wLAAsF,KACpF,2LAA8D,KAG5D,iJAA0B,KACxB,4LAAsE,KACpE,2IAAqB,KACrB,+IAAyB,KACzB,8JAAwC,uFAAU,MAClD,8JAAwC,2FAAc,MACtD,+JAAwC,oFAAO,MAEjD,uaAA4E,IAC1E,ieAA4I,iDADvI,sCAAkC,EAAzC,aAA4E,EAArE,SAAkC,GACnC,mBAAqD,gBAAzD,aAA4I,EAAxI,SAAqD,mDADjB,wHAAiC,GAA3E,aAA4E,EAAlC,SAAiC;oHA+CjE,sHAA+C,KAC7C,oJAA8B,sPAAoJ,YAAnD;;wBAAgD;MAAjJ,wBAAoJ,KAClL,kJAA4B,gFAAkB,MAC9C,mJAA6B,gFAAkB,iCAFqC,qKAA0C,GAAhG,YAAoJ,EAA9F,SAA0C,GAClG,uEAAkB,GACjB,uEAAkB;oHApB7D,iMAA4H,KAC1H,4LAA+D,KAC7D,gJAAyB,KACvB,iMAA+C,YAAxB;;wBAAuB;MAA9C,wBAA+C,KAC7C,qKAA+C,KAC7C,mvBAA4C,yFAAa,MAE3D,8IAAwB,KAE1B,4KAAkE,KAChE,8JAAuC,KACrC,6JAAsC,KACpC,4IAAqB,KACrB,sJAA+B,wFAAW,MAC1C,qJAA8B,uFAAU,MAE1C,0HAAO,KACL,ieAA+C,IAYzD,4MAA+E,KAC7E,qOAAsG,YAAzC;;wBAAwC;MAArG,wBAAsG,kDAzBjE,sBAAY,EAA3C,YAA4C,EAAb,kCAAY,EAA3C,YAA4C,EAAb,SAAY,GAYrC,mBAA0C,wBAA9C,aAA+C,EAA3C,SAA0C,2BAZxC,wHAAsB,GAA9B,YAA4C,EAApC,SAAsB,GAI7B,yHAAuB,GAA5B,aAAkE,EAA7D,SAAuB,GAqBY,oHAAkB,GAA5D,aAAsG,EAA5D,SAAkB;oHA3C1E,kLAAsF,KAEpF,0KAA8C,KAC5C,mJAA6B,uGAA0B,MAGzD,2MAA8E,KAC5E,qKAAyC,gPAA+F,YAA9B;;wBAA6B;MAA9F,wBAA+F,oFAAO,MAC/I,kLAAqD,KACnD,0LAA6D,KAC3D,0LAA6D,KAG3D,ieAA4H,IAoC9H,iLAAoD,KAClD,0MAAuE,KACrE,sKAAyC,2NAAmF,wJAA4B,KAAO,8EAAM,MACrK,sKAAyC,+QAA2G,YAArC;;wBAAuB;MAA7F,wBAA2G,wJAA4B,KAAO,4EAAI,mDAvCzH,mBAAuD,wBAA3H,aAA4H,EAAxD,SAAuD;oHAhGvI,kLAAwF,KAEtF,qLAAyD,KACvD,uZAA0C,IAE5C,qLAAyD,KACrD,uZAAoE,IAoBxE,6LAAgE,KAC9D,iLAAoD,KAClD,gLAAmD,KACjD,mMAAqE,KACnE,iJAAyB,KACvB,kJAA0B,KACxB,8JAAsC,KACpC,4IAAqB,KACrB,mJAA4B,wFAAW,MACvC,qJAA8B,0FAAa,MAC3C,qJAA8B,sFAAS,MACvC,qJAA8B,sFAAS,6HAAM,sFAAS,MAExD,ieAA0C,IAapD,iLAAoD,KAClD,kLAAqD,KACnD,wZAAsF,IA6B5F,wZAAsF,iDAhF9E,mBAAkC,6BAAxC,YAA0C,EAApC,SAAkC,GAGG,mBAA0B,qBAAnE,YAAoE,EAA3B,SAA0B,GAiCvD,mBAAqC,kBAAzC,aAA0C,EAAtC,SAAqC,GAeY,mBAA0B,qBAArF,aAAsF,EAA3B,SAA0B,GA6BtC,mBAAgC,2BAArF,aAAsF,EAAjC,SAAgC;oHA8FjE,sHAA+C,KAC7C,oJAA8B,sPAAoJ,YAAnD;;wBAAgD;MAAjJ,wBAAoJ,KAClL,kJAA4B,gFAAkB,MAC9C,mJAA6B,gFAAkB,iCAFqC,qKAA0C,GAAhG,YAAoJ,EAA9F,SAA0C,GAClG,uEAAkB,GACjB,uEAAkB;oHApB7D,iMAA4H,KAC1H,4LAA+D,KAC7D,gJAAyB,KACvB,iMAA+C,YAAxB;;wBAAuB;MAA9C,wBAA+C,KAC7C,qKAA+C,KAC7C,mvBAA4C,yFAAa,MAE3D,8IAAwB,KAE1B,4KAAkE,KAChE,8JAAuC,KACrC,6JAAsC,KACpC,4IAAqB,KACrB,sJAA+B,uFAAU,MACzC,qJAA8B,uFAAU,MAE1C,0HAAO,KACL,ieAA+C,IAYzD,4MAA+E,KAC7E,qOAAsG,YAAzC;;wBAAwC;MAArG,wBAAsG,kDAzBjE,sBAAY,EAA3C,YAA4C,EAAb,kCAAY,EAA3C,YAA4C,EAAb,SAAY,GAYrC,mBAA0C,wBAA9C,aAA+C,EAA3C,SAA0C,2BAZxC,wHAAsB,GAA9B,YAA4C,EAApC,SAAsB,GAI7B,yHAAuB,GAA5B,aAAkE,EAA7D,SAAuB,GAqBY,oHAAkB,GAA5D,aAAsG,EAA5D,SAAkB;oHA3C1E,kLAAsF,KACpF,0KAA8C,KAC5C,mJAA6B,uGAA0B,MAIzD,4MAA+E,KAC7E,qKAAyC,gPAA+F,YAA9B;;wBAA6B;MAA9F,wBAA+F,oFAAO,MAC/I,kLAAqD,KACnD,0LAA6D,KAC3D,0LAA6D,KAG3D,ieAA4H,IAoC9H,iLAAoD,KAClD,0MAAuE,KACrE,sKAAyC,2NAAmF,wJAA4B,KAAO,8EAAM,MACrK,sKAAyC,+QAA2G,YAArC;;wBAAuB;MAA7F,wBAA2G,wJAA4B,KAAO,4EAAI,mDAvCzH,mBAAuD,wBAA3H,aAA4H,EAAxD,SAAuD;oHAlVvI,kLAA8G,KAE5G,uZAAkF,IAgLlF,uZAAwF,IAmJxF,uZAAsF,iDAnUjC,mBAA4B,uBAAjF,YAAkF,EAA7B,SAA4B,GAgL5B,mBAAkC,6BAAvF,YAAwF,EAAnC,SAAkC,GAmJlC,mBAAgC,2BAArF,YAAsF,EAAjC,SAAgC;oHAiE3F,qNAA0F,YAA9E;;wBAA8B;MAA1C,4ZAA0F,MACxF,+KAAqD,KACnD,sKAA0C,KACxC,yLAAmE,8FAAiB,MAEtF,2MAA+E,KAC7E,oJAA8B,uHAAqE,MAAO,uLAAiE,kFAA+B,MAAO,uHAAM,KAGzN,6MAAgF,KAC9E,yHAAM,qIAAkF,MAAO,uHAAM,KACrG,yHAAM,0HAAuE,MAAO,uHAAM,KAC1F,yHAAM,kHAA+D,MAAO,uHAAM,KAEpF,yLAA2D,KACzD,iLAAoD,KAClD,qJAA8B,uHAA8F,MAE9H,kLAAoD,KAClD,mNAAqF,KAEnF;;;;;wBACmD;MADH;;wBAAyB;MAAzE,0qEACmD,IAIrD,iLAAoD,KAClD,uKAA0C,KAC1C,uKAA0C,KACxC,6IAAsB,yUAAiL,YAAzK;;wBAA6B;MAArC,wBAAiL,mFAAM,MAE7M,6IAAsB,sPAA+F,YAA/B;;wBAA8B;MAA9F,wBAA+F,kFAAK,mDA/B1H,mBAA8B,mBAA1C,YAA0F,EAA9E,SAA8B,GAqBV,oBAAyB,mBACzB,oBAA4B,kBADlD,aACmD,EAD7B,UAAyB,EACzB,UAA4B,GADF,oBAAyB,cAAzE,aACmD,EADH,UAAyB,mDAf/C,uEAAqE,GAAwE,wEAA+B,GAIpM,wEAAkF,GAClF,wEAAuE,GACvE,wEAA+D,GAIrC,mIAA8F,GAK1H,i1BACmD;oHAgC3C,iLAAmM,KACjM,mKAA6C,KAC3C,krBAAQ,kFAAM;oHAIlB,iLAAqH,KACnH,oLAA0D;oHAE5D,iLAAwH,KACtH,mLAAyD;oHAfjE,0KAA2G,KACzG,iMAA2E,KACzE,gNAAwG,8HAAO,gFAAW,MAC1H,wLAAkE,wJAA6B,gFAAkB,MACjH,wLAAkE,KAChE,wZAAmM,IAMnM,wZAAqH,IAGrH,wZAAwH,yBATnE,oOAA6I,IAAlM,aAAmM,EAA9I,SAA6I,GAM7I,6GAA+D,IAApH,aAAqH,EAAhE,SAA+D,GAG/D,2GAAkE,IAAvH,aAAwH,EAAnE,SAAkE,2BAb5G,mHAAgB,GAA/B,YAA2E,EAA5D,SAAgB,GACmD,0HAAuB,GAAvG,YAAwG,EAAxB,SAAuB,GAAQ,gEAAW,GAC3B,uEAAkB;oHAZjI,uNAAmH,YAAvG;;wBAAgC;MAA5C,ubAAmH,MACjH,+KAAqD,KACnD,qKAAyC,gPAAgG,YAA/B;;wBAA8B;MAA/F,wBAAgG,0FAAa,MACtJ,iLAAqD,KACnD,yLAA6D,KAC3D,yLAA6D,KAE3D,sgBAA6H,IAE3H,ieAA2G,IAwB/G,iLAAoD,kDAjCoC,qBAAkB,EAAtG,mBAAgC,qBAA5C,YAAmH,EAAnB,SAAkB,EAAtG,SAAgC,GAO2B,+BAA2B,EAAxF,aAA6H,EAAhE,SAA2B,GAE/E,mBAAuD,wBAA9D,aAA2G,EAApG,SAAuD;oHA+ChE,6xBAA2D,iFAE3D,2BAF0C,mHAAgB,GAA1D,YAA2D,EAAjB,+HAAgB,GAA1D,YAA2D,EAAjB,SAAgB,2BAAC,sEAE3D;oHALJ,sKAAgF,KAC9E;;;;;wBAAoE;MAAxB;;wBAAuB;MAAnE,6sCAAoE,IAClE,8zBAAuC,uFAAW,MAClD,ieAA2D,iDAFjB,mBAAuB,YAAnE,YAAoE,EAAxB,SAAuB,GACzD,sBAAY,EAApB,YAAuC,EAA/B,mCAAY,EAApB,YAAuC,EAA/B,UAAY,GACZ,oBAAiC,eAAzC,aAA2D,EAAnD,UAAiC,2BAF3C,8sBAAoE,GAC7C,oBAAiB,EAAtC,YAAuC,EAAlB,SAAiB;oHAStC,6xBAA2D,iFAE3D,2BAF0C,mHAAgB,GAA1D,YAA2D,EAAjB,+HAAgB,GAA1D,YAA2D,EAAjB,SAAgB,2BAAC,sEAE3D;oHALJ,sKAA8E,KAC5E;;;;;wBAAoE;MAAxB;;wBAAuB;MAAnE,6sCAAoE,IAClE,8zBAAuC,uFAAW,MAClD,ieAA2D,iDAFjB,mBAAuB,YAAnE,YAAoE,EAAxB,SAAuB,GACzD,sBAAY,EAApB,YAAuC,EAA/B,mCAAY,EAApB,YAAuC,EAA/B,UAAY,GACZ,oBAAiC,eAAzC,aAA2D,EAAnD,UAAiC,2BAF3C,8sBAAoE,GAC7C,oBAAiB,EAAtC,YAAuC,EAAlB,SAAiB;mHAp6BhD,qLAAyD,KACvD,kLAAsD,KAEpD,sZAA4H,IA6V5H,uZAAoF,IAuFpF,uZAA8G,IAsYlH,uZAA0F,IAwC1F,wZAAmH,IAuCnH,4LAAmD,YAAvC;;wBAAsC;MAAlD,6ZAAmD,MACjD,sHAAK,KACH,wMAA2E,KACzE,uHAAM,oIACgD,6HAAM,+IACK,6HAAM,KAAC,uHAAM,KAGhF,8IAAuB,KACrB,sKAAyC,KACvC,0HAAO,uGAEP,MAEF,wZAAgF,IAQhF,wZAA8E,IAWhF,0KAA6C,KAC3C,6KAAgD,KAC9C,uSAA8L,YAAxE;;wBAAuE;MAA7L,wBAA8L,8FAAiB,MAEjN,6IAAsB,KACpB,0OAA6G,mFAAM,mDA/6BlE,sHAAsE,QAA3H,YAA4H,EAAvE,SAAsE,GA6VrE,2CAA6B,QAAnF,YAAoF,EAA9B,SAA6B,GAuF7B,6FAAuD,QAA7G,YAA8G,EAAxD,SAAuD,GAsYtE,mBAAwB,mBAAnE,YAA0F,EAA/C,SAAwB,GAwCtB,mBAA0B,qBAAvE,aAAmH,EAAtE,SAA0B,GAuC3D,mBAAsC,2BAAlD,aAAmD,EAAvC,SAAsC,GActB,mDAAsC,GAA5D,aAAgF,EAA1D,SAAsC,GAQtC,mDAAoC,GAA1D,aAA8E,EAAxD,SAAoC;;;;;;;;;;;;;;;;ACj6BhE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+D;AACM;AAC1B;AACwB;AACtB;AACT;AAC0B;AACM;AACc;AAEpB;AAEQ;AACP;AACO;AACT;AAG7D;IAgFE,uCAAoB,WAAyB,EAAU,eAAgC,EAAU,MAAqB,EAAS,oBAA0C,EAAU,cAA8B,EAAU,WAAwB;QAAnP,iBAiBC;QAjBmB,gBAAW,GAAX,WAAW,CAAc;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAxE1O,gBAAW,GAAW,IAAI,CAAC;QAEpC,SAAI,GAAG,IAAI,iDAAY,EAAE,CAAC;QAC1B,kBAAa,GAAkB,IAAI,mEAAa,EAAE,CAAC;QACnD,kBAAa,GAAkB,IAAI,mEAAa,EAAE,CAAC;QACnD,yBAAoB,GAAY,KAAK,CAAC;QACtC,8BAAyB,GAAY,KAAK,CAAC;QAC3C,6BAAwB,GAAY,KAAK,CAAC;QAC1C,6BAAwB,GAAY,KAAK,CAAC;QAC1C,kBAAa,GAAY,KAAK,CAAC;QAC/B,sBAAiB,GAAY,IAAI,CAAC;QAClC,yBAAoB,GAAY,KAAK,CAAC;QACtC,+BAA0B,GAAY,KAAK,CAAC;QAC5C,yBAAoB,GAAY,KAAK,CAAC;QAEtC,4BAAuB,GAAY,KAAK,CAAC;QACzC,cAAS,GAA2B,IAAI,uFAAsB,EAAE,CAAC;QACjE,sBAAiB,GAAY,IAAI,CAAC;QAClC,8BAAyB,GAAG,EAAE,CAAC;QAC/B,wBAAmB,GAAY,KAAK,CAAC;QAE9B,uBAAkB,GAAY,KAAK,CAAC;QACpC,qBAAgB,GAAY,KAAK,CAAC;QAElC,wBAAmB,GAAW,EAAE,CAAC;QAKjC,aAAQ,GAAY,KAAK,CAAC;QACjC,uBAAkB,GAAY,KAAK,CAAC;QAGpC,2BAAsB,GAAG,EAAE,CAAC;QAC5B,gBAAW,GAAG,EAAE,CAAC;QACjB,mBAAc,GAAG,EAAE,CAAC;QACpB,kBAAa,GAAkB,IAAI,mEAAa,EAAE,CAAC;QAEnD,gBAAW,GAAG,EAAE,CAAC;QAAC,oBAAe,GAAG,EAAE,CAAC;QAAC,qBAAgB,GAAG,EAAE,CAAC;QAC9D,0BAAqB,GAAG,EAAE,CAAC;QAI3B,sBAAiB,GAAsB,IAAI,4EAAiB,EAAE,CAAC;QAC/D,2BAAsB,GAAY,IAAI,CAAC;QACvC,kBAAa,GAAY,KAAK,CAAC;QAC/B,sBAAiB,GAAoB,EAAE,CAAC;QACxC,iBAAY,GAAkB,IAAI,qEAAa,EAAE,CAAC;QAIjC,uBAAkB,GAAmB,EAAE,CAAC;QACzD,gBAAW,GAAmB,EAAE,CAAC;QACjC,sBAAiB,GAAmB,EAAE,CAAC;QACvC,oBAAe,GAAmB,EAAE,CAAC;QACrC,kBAAa,GAAmB,EAAE,CAAC;QACnC,oBAAe,GAAmB,EAAE,CAAC;QACrC,YAAO,GAAmB,EAAE,CAAC;QAC7B,kBAAa,GAAmB,EAAE,CAAC;QACnC,mBAAc,GAAmB,EAAE,CAAC;QACpC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,aAAQ,GAAa,IAAI,8DAAQ,EAAE,CAAC;QACpC,YAAO,GAAY,KAAK,CAAC;QACzB,kBAAa,GAAG,EAAE,CAAC;QAGnB,iBAAY,GAAmB,EAAE,CAAC;QAClC,iBAAY,GAAmB,EAAE,CAAC;QAClC,6BAAwB,GAAY,KAAK,CAAC;QAEnC,SAAI,GAAY,IAAI,CAAC;QAG1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC;aACpD,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAC7C,KAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC;aAC3D,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAC7C,KAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC;aAC3D,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAC7C,KAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gDAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,sBAAsB;YAC5B,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QAGF,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE;gBAC1F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAEtC;iBAAM;gBACL,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;gBACtZ,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;aACnD;SACF;aACI;YACH,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SAE/B;IACH,CAAC;IACD,6CAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAE9D,CAAC;IAED,oDAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,GAAG,IAAI,mEAAa,EAAE,CAAC;YACzC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;SAEnC;aAAM,IAAI,GAAG,IAAI,eAAe,EAAE;YACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;SAEnC;aAAM,IAAI,GAAG,IAAI,iCAAiC,IAAI,GAAG,IAAI,mCAAmC,IAAI,GAAG,IAAI,kCAAkC,EAAE;YAE9I,IAAI,GAAG,IAAI,iCAAiC,EAAE;gBAC5C,IAAI,CAAC,yBAAyB,GAAG,oCAAoC,CAAC;gBACtE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;aACtC;iBACI,IAAI,GAAG,IAAI,mCAAmC,EACnD;gBACE,IAAI,CAAC,yBAAyB,GAAG,sCAAsC,CAAC;gBACxE,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;aACxC;iBACI;gBACH,IAAI,CAAC,yBAAyB,GAAG,qCAAqC,CAAC;gBACvE,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;aACvC;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;SAEtC;QAGD,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,mBAAmB,GAAG,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACza,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEpD,CAAC;IACD,mDAAW,GAAX,UAAY,IAAI;QACd,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;SACpB;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;YAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;SACnC;aACI;YAEH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;SACnC;IACH,CAAC;IAED,qDAAa,GAAb,UAAc,GAAG;QACf,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,QAAQ,CAAC;SAC3C;aACI,IAAI,GAAG,IAAI,UAAU,EAAE;YAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,QAAQ,CAAC;SAC3C;aACI,IAAI,GAAG,IAAI,qBAAqB,EAAE;YACrC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SAErC;IACH,CAAC;IAED,yDAAiB,GAAjB,UAAkB,GAAG;QACnB,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACvC;aAAM,IAAI,GAAG,IAAI,eAAe,EAAE;YACjC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;aAAM,IAAI,GAAG,IAAI,0BAA0B,EAAE;YAC5C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACvC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,wDAAgB,GAAhB,UAAiB,GAAG;QAApB,iBAmBC;QAlBC,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC;YAC1C,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnE,KAAI,CAAC,aAAa,GAAG,IAAI,mEAAa,EAAE,CAAC;gBACzC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9F,KAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAClC,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC;YAC1C,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnE,KAAI,CAAC,aAAa,GAAG,IAAI,mEAAa,EAAE,CAAC;gBACzC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9F,KAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAClC,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAGD,wDAAgB,GAAhB,UAAiB,GAAG;QAApB,iBAYC;QAXC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC3B,IAAI,KAAI,CAAC,wBAAwB,IAAI,IAAI,IAAI,KAAI,CAAC,wBAAwB,IAAI,IAAI,EAAE;gBAClF,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,EAAhB,CAAgB,CAAC,CAAC;aAC9E;iBAAM;gBACL,KAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;aACrC;YACD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAA7C,CAA6C,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mEAA2B,GAA3B;QACE,IAAI,CAAC,oBAAoB,GAAgB;YACvC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAC1H,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACxF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,qEAA6B,GAA7B,UAA8B,gBAAwB;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,sBAAsB,GAAG;YAC5B;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aACzD;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAE7D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YAEhE;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEvC,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;oBAE3F,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAC,UAAU,CAAC,CAAC;oBACjD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IACD,wDAAgB,GAAhB;QACE,IAAI,CAAC,eAAe,GAAgB;YAClC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACpN,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,wDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAC,IAAI;aACxD;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YAC5D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YAClE;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBAClF,IAAI,MAAM,CAAC,KAAK,IAAI,iBAAiB,EAAE;wBACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBACzB;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,mBAAmB,EAAE;wBAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;qBAC1B;yBAAM;wBACL,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;qBAC3B;gBACH,CAAC;aACF;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YACrE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5E,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YAChE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE;wBACrE,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;qBAC1F;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE;wBAC1E,IAAI,CAAC,SAAS,GAAG,sEAAsE,CAAC;qBACzF;oBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IACD,0DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAEhB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;gBACxG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,UAAU,EAAE;oBAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;qBAAM;oBACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAC5B;aACF;iBAAM,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;gBAC/G,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,UAAU,EAAE;oBAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;qBAAM;oBACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAC5B;aACF;SAGF;aAAM;SAEN;IAEH,CAAC;IAED,2DAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,UAAU,EAA3B,CAA2B,CAAC,CAAC;SACzF;aAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,QAAQ,EAAzB,CAAyB,CAAC,CAAC;SACvF;aAAM;YACL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC;SAChD;IACH,CAAC;IAED,kDAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;gBAC3B,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;aAChG;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;gBAClC,IAAI,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;gBAChC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,EAAtC,CAAsC,CAAC,CAAC;gBACnE,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACtC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAGX,CAAC;IAED,sDAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,UAAU,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAA7C,CAA6C,CAAC,CAAC;SACvG;aAAM,IAAI,GAAG,IAAI,UAAU,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAA7C,CAA6C,CAAC,CAAC;SACvG;IACH,CAAC;IAGD,wDAAgB,GAAhB,UAAiB,KAAK,EAAE,KAAK;QAA7B,iBAmBC;QAlBC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;YAChC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAE3B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC9H,KAAI,CAAC,aAAa,GAAG,WAAW,CAAC;gBACjC,KAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;gBAC1C,IAAI,KAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,EAAE;oBAC9B,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,KAAI,CAAC,2BAA2B,EAAE,CAAC;iBACpC;qBAAM;oBACL,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;SAGJ;IACH,CAAC;IAED,uDAAe,GAAf,UAAgB,EAAE,EAAE,GAAG,EAAE,IAAI;QAC3B,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,GAAG,IAAI,KAAK,EAAE;gBAChB,IAAI,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC/F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;oBAC5D,CAAC,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;oBACvD,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;gBACnE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;aAAM,IAAI,IAAI,IAAI,UAAU,EAAE;YAC7B,IAAI,GAAG,IAAI,KAAK,EAAE;gBAChB,IAAI,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC/F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;oBAC/D,CAAC,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;oBAC1D,CAAC,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;gBACtE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;IAEH,CAAC;IACD,qDAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,GAAG,EAAd,CAAc,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SACvC;IAEH,CAAC;IACD,wDAAgB,GAAhB,UAAiB,GAAG;QAApB,iBA4BC;QA3BC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,mEAAa,EAAE,CAAC;YACzC,IAAI,GAAG,IAAI,UAAU,EAAE;gBACrB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;oBACzB,KAAI,CAAC,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrE,KAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnF,KAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;oBACnE,KAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;oBACjC,KAAI,CAAC,aAAa,CAAC,OAAO,GAAG,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBACnD,KAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,aAAa,CAAC,EAAE,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7G,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,GAAG,IAAI,UAAU,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;oBAEzB,KAAI,CAAC,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxE,KAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,uBAAuB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtF,KAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC,kBAAkB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;oBACtE,KAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;oBACjC,KAAI,CAAC,aAAa,CAAC,OAAO,GAAG,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBACnD,KAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,aAAa,CAAC,EAAE,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7G,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAEnC;IAEH,CAAC;IAED,gDAAQ,GAAR,UAAS,aAAa;QAAtB,iBASC;QARC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1E,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC9H,KAAI,CAAC,aAAa,GAAG,WAAW,CAAC;gBACjC,KAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;gBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAiB,GAAjB;QAAA,iBAKC;QAJC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjF,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAAgB,GAAhB,UAAiB,GAAG,EAAE,IAAI;QACxB,IAAI,IAAI,IAAI,UAAU,EAAE;YAEtB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,EAAE;gBACtF,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,oBAAoB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;oBAChE,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;oBAC3D,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;gBACvE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;aAAM,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,EAAE;YACnH,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,uBAAuB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBACnE,CAAC,CAAC,kBAAkB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAC9D,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YAC1E,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IAED,0DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,KAAK,IAAI,WAAW,EAAE;gBACxB,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;aAClG;iBAAM,IAAI,KAAK,IAAI,WAAW,EAAE;gBAC/B,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAApC,CAAoC,CAAC,CAAC;gBACjE,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACvC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,4DAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAc;QAG3F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAc,GAAd,UAAe,GAAG,EAAE,IAAI;QAAxB,iBA0CC;QAzCC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,EAAE;YAE5G,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAc;gBACnF,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;gBACrC,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAE/C,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wBACzF,WAAW,CAAC,OAAO,CAAC,aAAG;4BACrB,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACnG,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,KAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC5B;qBACI;oBACH,KAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;oBACrC,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;SAEJ;aAAM,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,EAAE;YACnH,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAc;gBACnF,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;gBACrC,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAE/C,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wBACzF,WAAW,CAAC,OAAO,CAAC,aAAG;4BACrB,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACnG,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,KAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC5B;qBACI;oBACH,KAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;oBACrC,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,2DAAmB,GAAnB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kJAAkJ,CAAC,CAAC;QACnM,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,oDAAY,GAAZ,UAAa,GAAG;QACd,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IACD,0DAAkB,GAAlB;QAAA,iBAQC;QAPC,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC1I,KAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;YACrC,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC;YACtC,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAa,GAAb,UAAc,GAAG;QACf,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YAExC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,GAAG,IAAI,mEAAa,EAAE,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YAEtC,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,mBAAmB,GAAG,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YACza,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SAEnD;aAAM,IAAI,GAAG,IAAI,eAAe,EAAE;YACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACvC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAElC,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,mBAAmB,GAAG,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YACza,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SAEnD;aAAM,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACnC;aAAM,IAAI,GAAG,IAAI,qBAAqB,EAAE;YACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;aAAM,IAAI,GAAG,IAAI,0BAA0B,EAAE;YAC5C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAElC,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,mBAAmB,GAAG,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YACza,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SAC/B;aAAM,IAAI,GAAG,IAAI,gCAAgC,EAAE;YAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACvC;IAEH,CAAC;IAED,4DAAoB,GAApB;QAEE,OAAO,IAAI,wDAAS,CAAC;YAEnB,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/E,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnF,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/E,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClF,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClF,kBAAkB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7F,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjF,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7E,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnF,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAEhF,CAAC,CAAC;IAGL,CAAC;IACD,mDAAW,GAAX,UAAY,GAAG;QACb,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;IAEH,CAAC;IACD,6DAAqB,GAArB;QACE,UAAU,CAAC;YACT,sLAAsL;YACtL,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kJAAkJ,CAAC,CAAC;QACrM,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,kDAAU,GAAV;QAAA,iBAMC;QALC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3D,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAG;YACzE,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACnD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,4BAA4B,EAAE,KAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAK,GAAL;QACE,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QAEpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,oDAAY,GAAZ,UAAa,GAAG;QAAhB,iBAiBC;QAhBC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,aAAG;YAC1E,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,KAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAC9C,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAC;oBAChD,KAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;oBAC/B,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,aAAG;wBACpC,CAAC,CAAC,sBAAsB,GAAG,GAAG,CAAC,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBACjF,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACxD,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAElD,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,0BAA0B,EAAE,CAAC;SACnC;IACH,CAAC;IACD,qEAA6B,GAA7B;QACE,IAAI,CAAC,sBAAsB,GAAgB;YACzC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI;SAC5Q,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,qEAA6B,GAA7B,UAA8B,gBAAwB;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;gBACzC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aACnC;YACD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;YACrE,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1E,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5D;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;qBAC1F;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBACnC,IAAI,CAAC,SAAS,GAAG,sEAAsE,CAAC;qBACzF;oBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,kEAA0B,GAA1B;QAAA,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpF,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,kDAAU,GAAV,UAAW,GAAG;QACZ,QAAQ,CAAC,cAAc,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,8DAAsB,GAAtB,UAAuB,CAAC,EAAE,IAAI,EAAE,KAAK;QACnC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;YAChC,IAAI,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAf,CAAe,CAAC,CAAC;YAClE,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnB,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACpD,CAAC,CAAC,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACrE,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;oBACtB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,UAAU,CAAC;iBAC9C;qBAAM;oBACL,IAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,UAAU,CAAC;iBAC9C;gBAED,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3F,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,EAAzB,CAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9G,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;aACrD;iBACI;gBACH,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAC7B,CAAC,CAAC,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aACvE;SACF;aACI;YACH,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAf,CAAe,CAAC,CAAC;SACtF;IACH,CAAC;IAED,uDAAe,GAAf,UAAgB,CAAC,EAAE,IAAI,EAAE,KAAK;QAC5B,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAf,CAAe,CAAC,CAAC;IACvF,CAAC;IAGD,0DAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAC3B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,YAAY,GAAG,IAAI,qEAAa,EAAE,CAAC;SACzC;IAEH,CAAC;IACD,6DAAqB,GAArB;QACE,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAElD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,wDAAgB,GAAhB;QAAA,iBAOC;QANC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAG;YACxE,KAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,KAAI,CAAC,YAAY,GAAG,IAAI,qEAAa,EAAE,CAAC;YACxC,KAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2CAA2C,EAAE,yBAAyB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sEAA8B,GAA9B,UAA+B,KAAK;QAClC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAEhB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;aACrC;SACF;IACH,CAAC;IAED,wDAAgB,GAAhB,UAAiB,SAAS;QACxB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE1B,CAAC;IACD,oDAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,0DAAkB,GAAlB,UAAmB,KAAsB;QACvC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAGD,yDAAiB,GAAjB,UAAkB,KAAsB;QACtC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,4DAAoB,GAApB,UAAqB,IAAI;QAAzB,iBA2BC;QA1BC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,eAAe,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,IAAI,eAAe,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,IAAI,IAAI,eAAe,EAAE;YAChC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC/C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC7C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,4DAAoB,GAApB;QAEE,OAAO,IAAI,wDAAS,CAAC;YAEnB,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAE/E,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnF,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/E,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClF,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClF,kBAAkB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7F,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjF,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7E,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnF,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAEhF,CAAC,CAAC;IAGL,CAAC;IACD,0DAAkB,GAAlB,UAAmB,IAAI;QAAvB,iBAQC;QAPC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YACxD,KAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,cAAI;gBAC7B,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC3D,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0DAAkB,GAAlB;QAEE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IAGH,CAAC;IAGD,+DAAuB,GAAvB,UAAwB,KAAK;QAA7B,iBAgCC;QA9BC,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;SAC1B;aAAM;YAEL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBAC/C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;oBACtB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,CAAC;iBAEpF;qBAAM;oBACL,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,CAAC;iBACpF;gBACD,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,EAAhB,CAAgB,CAAC,CAAC;gBAEhD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,eAAe,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAE5C,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC1D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrF,CAAC,CAAC,CAAC;aAEJ;SACF;IAEH,CAAC;IACD,sDAAc,GAAd,UAAe,aAAa;QAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,GAAG,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;QACvD,CAAC,CAAC,GAAG,GAAG,aAAa,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;QACrD,CAAC,CAAC,GAAG,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;IAEvD,CAAC;IACD,4CAAI,GAAJ,UAAK,MAAM,EAAE,QAAQ;QACnB,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;QAClF,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;QACjF,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACvE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,iDAAS,GAAT,UAAU,QAAQ,EAAE,MAAM;QACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,MAAM,GAAG,CAAC,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,EAAvC,CAAuC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC;gBACvF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;SAE9D;QACD,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;IAClD,CAAC;IACD,4DAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,2DAAmB,GAAnB,UAAoB,KAAsB;QACxC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,gEAAwB,GAAxB,UAAyB,KAAsB;QAC7C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,8CAAM,GAAN,UAAO,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc;QAAjD,iBAoCC;QAnCC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;YAEjE,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,CAAC,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;gBAC/D,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;gBAClF,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;gBACjF,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAC/D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC1F,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;wBAEnC,KAAI,CAAC,QAAQ,GAAG,IAAI,8DAAQ,EAAE,CAAC;wBAC/B,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACtC,CAAC,CAAC,CAAC;iBACJ;qBACI;oBACH,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;oBACvG,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;oBACtG,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBAChD;aACF;iBACI;gBACH,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBACzB,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAC7B,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBACjC,KAAI,CAAC,YAAY,GAAG,cAAc,CAAC;gBACnC,KAAI,CAAC,YAAY,GAAG,cAAc,CAAC;gBACnC,KAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACrC,KAAI,CAAC,2BAA2B,EAAE,CAAC;aAEpC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wDAAgB,GAAhB,UAAiB,KAAK,EAAE,OAAO,EAAE,SAAS;QAA1C,iBAOC;QANC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1E,KAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,KAAI,CAAC,QAAQ,GAAG,IAAI,8DAAQ,EAAE,CAAC;YAC/B,CAAC,CAAC,GAAG,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mEAA2B,GAA3B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mJAAmJ,CAAC,CAAC;QAClL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,qDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,4DAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACvC,CAAC;IACD,2DAAmB,GAAnB,UAAoB,KAAsB;QACxC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,iEAAyB,GAAzB,UAA0B,KAAK;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;IAC3B,CAAC;IACD,qDAAa,GAAb;QAAA,iBAWC;QAVC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,qBAAqB,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;YACnF,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACtJ,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACL,CAAC;IACH,oCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GCxpCe,6xBAAkF,iFAElF,2BAFsD,sHAA2B,GAAjF,YAAkF,EAA5B,kIAA2B,GAAjF,YAAkF,EAA5B,SAA2B,2BAAC,kEAElF;6GAMA,6xBAAgE,iFAEhE,2BAF4C,mHAAmB,GAA/D,YAAgE,EAApB,+HAAmB,GAA/D,YAAgE,EAApB,SAAmB,2BAAC,mEAEhE;6GAKA,6xBAAiE,+EAAiB,2BAA1E,sHAAsB,GAA9B,YAAiE,EAAzD,kIAAsB,GAA9B,YAAiE,EAAzD,SAAsB,2BAAmC,sEAAiB;6GArBxF,mMAAoG,KAElG,iLAAoD,KAElD;;;;;wBAAmM;MAAnJ;;wBAAiD;MAAC;;wBAAiC;MAAnI,guCAAmM,IACjM,8zBAAsC,+FAA2C,MACjF,0dAAkF,IAMtF,iLAAoD,KAClD;;;;;wBAAkM;MAAhJ;;wBAAmD;MAAC;;wBAA4B;MAAlI,muCAAkM,IAChM,0dAAgE,IAKpE,iLAAoD,KAClD;;;;;wBAAuL;MAA1J;;wBAAiD;MAAC;;wBAAwC;MAAvH,gtCAAuL,IACrL,0dAAiE,iDAjBtC,6BAAkB,EAAmD,mBAAiC,sBAAnI,YAAmM,EAAtK,SAAkB,EAAmD,SAAiC,GACzH,sBAAW,EAAnB,YAAsC,EAA9B,mCAAW,EAAnB,aAAsC,EAA9B,UAAW,GACX,oBAA6C,oBAArD,aAAkF,EAA1E,UAA6C,GAO1B,gCAAoB,EAAqD,oBAA4B,iBAAlI,aAAkM,EAArK,UAAoB,EAAqD,UAA4B,GACxH,oBAAmC,eAA3C,aAAgE,EAAxD,UAAmC,GAMkC,oBAAwC,6BAAvH,aAAuL,EAAxG,UAAwC,GACtF,oBAAiC,eAAhE,aAAiE,EAAlC,UAAiC,mDAjBlE,8sBAAmM,GAC7K,oBAAiB,EAArC,YAAsC,EAAlB,SAAiB,GAAC,uGAA2C,GAQnF,ouBAAkM,GAOlM,ouBAAuL;6GAK3L,iMAAkG,KAChG,+IAAyB,mJAAsE;6GA3BnG,qLAA6E,KAC3E,gZAAoG,IAyBpG,gZAAkG,IAGlG,gLAAoD,KAClD,gZAgBiE,YARhD;;wBAAsC;MACtC;;wBAAiD;MAEjD;;wBAAuC;MACvC;;wBAAmC;MAEnC;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAA+C;MAhBhE,k2DAgBiE,mDA7CG,oBAA6B,uBAAnG,YAAoG,EAA9B,SAA6B,GAyB5E,mBAA4B,uBAAnD,YAAkG,EAA3E,SAA4B,GAKhC,mBAA2B,cAG3B,mBAAgC,uBAFhC,mBAAyB,aAKzB,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAOnB,oBAAkC,EAHlC,qBAAsC,EAVvD,YAgBiE,EAfhD,SAA2B,EAG3B,SAAgC,EAFhC,SAAyB,EAKzB,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EAOnB,SAAkC,EAHlC,UAAsC;6GAgB3D,2LAAoJ,YAAxI;;wBAA6B;MAAyB;;wBAAoD;MAAtH,ucAAoJ,MAClJ,+OAAsH,gFAEtH,MACA,4MAAmF,KACnF,uLAA2D,KACzD,qKAA+C,oGAAuB,MAExE,6LAAoE,KAClE,25CAIiC,iDAbzB,mBAA6B,kBAA8E,uBAA4B,EAAnJ,YAAoJ,EAAxI,SAA6B,EAA8E,SAA4B,GAWhI,mBAAe,QACf,mBAAW,MACX,qBAAiB,EAHjB,mBAAuB,EADtC,aAIiC,EAFlB,SAAe,EACf,SAAW,EACX,SAAiB,EAHjB,SAAuB;8GAS1C,0LAA4K,YAAhK;;wBAA8B;MAA0B;;wBAAoD;MAAxH,0dAA4K,MAC1K,siCAAwF,iDAD+B,4BAAqB,EAAlI,mBAA8B,mBAAqG,uBAA4B,EAA3K,YAA4K,EAAnD,SAAqB,EAAlI,SAA8B,EAAqG,SAA4B,GAC5J,4BAAqB,EAA8B,0BAAuB,EAApD,mBAA4B,YAA/D,YAAwF,EAA3E,SAAqB,EAA8B,SAAuB,EAApD,SAA4B;6GAnFrE,wlBAAwN,IACtN,ynBAA+P,GAAlO,uFAAgG,MAC3H,+LAA8M,YAAzG;;wBAA0C;MAA/I,s/BAA8M,MAGhN,6lBAAoJ,IAElJ,iZAA6E,IAkD7E,kNAAwD,YAAzB;;wBAAwB;MAAvD,6ZAAwD,MACtD,m3BAAiF,IAGnF,8LAA6D,KAC7D,gMAA+D,KAC/D,iZAAoJ,IAmBpJ,kZAA4K,iDAlF3K,sGAAmF,GAAxF,YAAwN,EAAnN,SAAmF,GACzD,kGAAgG,IAA7H,YAA+P,EAAlO,SAAgG,GAC1G,mBAA2B,cAAC,mBAAmB,UAA+H,kBAAc,EAA5I,mBAAW,MAAC,mBAAuB,YAA4C,0BAAuB,EAAC,yBAAsB,EAA9L,YAA8M,EAA7L,SAA2B,EAAC,SAAmB,EAA+H,SAAc,EAA5I,SAAW,EAAC,SAAuB,EAA4C,SAAuB,EAAC,SAAsB,GAG3L,yFAA2E,GAAhF,YAAoJ,EAA/I,UAA2E,GAE/C,oBAA0B,qBAAzD,aAA6E,EAA9C,UAA0B,GAkD1B,oBAAwB,aAAvD,aAAwD,EAAzB,UAAwB,GAC9B,oBAAgB,YAAC,oBAAmB,aAAC,qBAAoB,EAAhF,aAAiF,EAA1D,UAAgB,EAAC,UAAmB,EAAC,UAAoB,GAKxC,oBAAuB,kBAAjE,aAAoJ,EAA1G,UAAuB,GAmBtB,oBAAwB,mBAAnE,aAA4K,EAAjI,UAAwB,mDAlFkB,wDAAmD,GAA5I,YAAwN,EAA/H,SAAmD;8GA0F5I,kLAAwI,KACtI,8LAAiH,YAAxC;;wBAAuC;MAAhH,q7BAAiH,mDAAhG,mBAA4B,YAAC,yBAA0B,EAAxE,YAAiH,EAAhG,SAA4B,EAAC,SAA0B;8GAWlE,sTAAqN,KACnN,+OAA0F,YAA3B;;wBAAwB;MAAvF,wBAA0F;8GAIhG,qLAA+G,KAC7G,+SAA8J,iNAA+B;8GAZjM,qMAA4G,KAC1G,0OAA8G,KAC5G,0MAA8E,KAC9E,qKAA+C,sGAAyB,MAExE,gLAAoD,KAClD,iZAAqN,IAKzN,iZAA+G,iDAL+E,uCAA0B,GAApN,YAAqN,EAA3B,SAA0B,GAK/J,0CAAqD,+BAA9G,YAA+G,EAAtD,SAAqD;8GASxG,0SAC8G,YAAhC;;wBAA+B;MAD7G,wBAC8G;8GAK9G,sTAAqN,KACnN,+OAAyF,YAA1B;;wBAAuB;MAAtF,wBAAyF;8GAkBvF,2NAAiI;8GACjI,0NAAiI;8GAFnI,mSAAmN,YAA9J;;wBAA+C;MAApG,wBAAmN,KACjN,iZAAiI,IACjI,iZAAiI,iDAD5H,8CAA+B,GAApC,YAAiI,EAA5H,SAA+B,GAC/B,+CAAgC,GAArC,YAAiI,EAA5H,SAAgC;8GAarC,sNAAuH;8GACvH,qNAAuH;8GAHzH,kSAAwM,YAAnJ;;wBAAqC;MAA1F,wBAAwM,KAEtM,iZAAuH,IACvH,iZAAuH,iDADlH,yCAA0B,GAA/B,YAAuH,EAAlH,SAA0B,GAC1B,0CAA2B,GAAhC,YAAuH,EAAlH,SAA2B;8GAehC,0NAA4H;8GAC5H,yNAA4H;8GAF9H,mSAA2M,YAAtJ;;wBAAuC;MAA5F,wBAA2M,KACzM,iZAA4H,IAC5H,iZAA4H,iDADvH,0CAA2B,GAAhC,YAA4H,EAAvH,SAA2B,GAC3B,2CAA4B,GAAjC,YAA4H,EAAvH,SAA4B;8GAWnC,kSAA6L,YAAxI;;wBAA0B;MAA/E,wBAA6L,KAC3L,sNAA6F;8GAc7F,0NAAkI;8GAClI,yNAAkI;8GAFpI,mSAA6N,YAAxK;;wBAAyD;MAA9G,wBAA6N,KAC3N,iZAAkI,IAClI,iZAAkI,iDAD7H,gDAAiC,GAAtC,YAAkI,EAA7H,SAAiC,GACjC,iDAAkC,GAAvC,YAAkI,EAA7H,SAAkC;8GAWvC,6NAAiI;8GACjI,4NAAiI;8GAFnI,kSAAyM,YAApJ;;wBAAsC;MAA3F,wBAAyM,KACvM,iZAAiI,IACjI,iZAAiI,iDAD5H,4CAA6B,GAAlC,YAAiI,EAA5H,SAA6B,GAC7B,6CAA8B,GAAnC,YAAiI,EAA5H,SAA8B;8GAenC,sNAA6H;8GAC7H,qNAA6H;8GAF/H,mSAAkN,YAA7J;;wBAA8C;MAAnG,wBAAkN,KAChN,iZAA6H,IAC7H,iZAA6H,iDADxH,+CAAgC,GAArC,YAA6H,EAAxH,SAAgC,GAChC,gDAAiC,GAAtC,YAA6H,EAAxH,SAAiC;8GA8BtC,wNAA2H;8GAC3H,uNAA2H;8GAF7H,mSAAsM,YAAjJ;;wBAAkC;MAAvF,wBAAsM,KACpM,iZAA2H,IAC3H,iZAA2H,iDADtH,2CAA4B,GAAjC,YAA2H,EAAtH,SAA4B,GAC5B,4CAA6B,GAAlC,YAA2H,EAAtH,SAA6B;8GAalC,yNAA6H;8GAC7H,wNAA6H;8GAH/H,kSAAuM,YAAlJ;;wBAAoC;MAAzF,wBAAuM,KAErM,iZAA6H,IAC7H,iZAA6H,iDADxH,4CAA6B,GAAlC,YAA6H,EAAxH,SAA6B,GAC7B,6CAA8B,GAAnC,YAA6H,EAAxH,SAA8B;8GA7I7C,wNAAsH,KAEpH,wNAAqF,KACnF,6PAAwM,KACtM,2OAAoK,KAClK,yPAA+K,KAC7K,gPAAoO,8FAAuC,MAG7Q,iZAAmN,IAOvN,0PAAqM,KACnM,4OAAoK,KAClK,0PAA+K,KAC7K,iPAAoO,0FAA6B,MAGnQ,kZAAwM,IAU9M,sMAAkE,KAChE,2PAAqM,KACnM,4OAAoK,KAClK,0PAA+K,KAC7K,iPAAoO,2FAA+B,MAGrQ,kZAA2M,IAO/M,2PAAsM,KACpM,4OAAoK,KAClK,0PAA+K,KAC7K,iPAAoO,qFAAS,MAG/O,kZAA6L,IAOnM,kLAAoD,KAClD,2PAAqM,KACnM,4OAAoK,KAClK,0PAA+K,KAC7K,iPAAoO,8FAAwC,MAG9Q,kZAA6N,IAOjO,2PAAqM,KACnM,4OAAoK,KAClK,0PAA+K,KAC7K,iPAAoO,6FAAmC,MAEzQ,kZAAyM,IAS/M,iLAAoD,KAClD,2PAAqM,KACnM,4OAAoK,KAClK,0PAA+K,KAC7K,iPAAoO,kGAA4C,MAGlR,kZAAkN,IAOtN,2PAAqM,KACnM,4OAAoK,KAgBxK,kLAAoD,KAClD,2PAAqM,KACnM,4OAAoK,KAClK,0PAA+K,KAC7K,iPAAoO,4FAAkC,MAGxQ,kZAAsM,IAO1M,2PAAqM,KACnM,4OAAoK,KAClK,0PAA+K,KAC7K,iPAAoO,4FAAkC,MAGxQ,kZAAuM,iDAjIlM,kEAA+C,IAApD,YAAmN,EAA9M,SAA+C,GAa/C,mEAA+C,IAApD,aAAwM,EAAnM,UAA+C,GAiB/C,mEAA+C,IAApD,aAA2M,EAAtM,UAA+C,GAa/C,mEAA+C,IAApD,aAA6L,EAAxL,UAA+C,GAc/C,mEAA+C,IAApD,aAA6N,EAAxN,UAA+C,GAY/C,mEAA+C,IAApD,aAAyM,EAApM,UAA+C,GAgB/C,mEAA+C,IAApD,aAAkN,EAA7M,UAA+C,GA+B/C,mEAA+C,IAApD,aAAsM,EAAjM,UAA+C,GAa/C,mEAA+C,IAApD,aAAuM,EAAlM,UAA+C,mDAvIuD,oGAAwF,GAAvM,YAAwM,EAAzF,SAAwF,GACjH,yFAA+E,GAAnK,YAAoK,EAAhF,SAA+E,GAC1D,mFAAuE,GAA9K,YAA+K,EAAxE,SAAuE,GAChG,oFAAuE,GAAC,yFAA+E,GAAnO,YAAoO,EAAxJ,SAAuE,EAAC,SAA+E,GAAC,kEAAuC,GAUrK,oGAAwF,GAApM,YAAqM,EAAzF,SAAwF,GAC9G,yFAA+E,GAAnK,aAAoK,EAAhF,SAA+E,GAC1D,mFAAuE,GAA9K,aAA+K,EAAxE,SAAuE,GAChG,qFAAuE,GAAC,0FAA+E,GAAnO,aAAoO,EAAxJ,UAAuE,EAAC,UAA+E,GAAC,gEAA6B,GAc3J,qGAAwF,GAApM,aAAqM,EAAzF,UAAwF,GAC9G,0FAA+E,GAAnK,aAAoK,EAAhF,UAA+E,GAC1D,oFAAuE,GAA9K,aAA+K,EAAxE,UAAuE,GAChG,qFAAuE,GAAC,0FAA+E,GAAnO,aAAoO,EAAxJ,UAAuE,EAAC,UAA+E,GAAC,iEAA+B,GAU7J,sGAAyF,GAArM,aAAsM,EAA1F,UAAyF,GAC/G,0FAA+E,GAAnK,aAAoK,EAAhF,UAA+E,GAC1D,oFAAuE,GAA9K,aAA+K,EAAxE,UAAuE,GAChG,qFAAuE,GAAC,0FAA+E,GAAnO,aAAoO,EAAxJ,UAAuE,EAAC,UAA+E,GAW7H,qGAAwF,GAApM,aAAqM,EAAzF,UAAwF,GAC9G,0FAA+E,GAAnK,aAAoK,EAAhF,UAA+E,GAC1D,oFAAuE,GAA9K,aAA+K,EAAxE,UAAuE,GAChG,qFAAuE,GAAC,0FAA+E,GAAnO,aAAoO,EAAxJ,UAAuE,EAAC,UAA+E,GAAC,uEAAwC,GAUtK,qGAAwF,GAApM,aAAqM,EAAzF,UAAwF,GAC9G,0FAA+E,GAAnK,aAAoK,EAAhF,UAA+E,GAC1D,oFAAuE,GAA9K,aAA+K,EAAxE,UAAuE,GAChG,qFAAuE,GAAC,0FAA+E,GAAnO,aAAoO,EAAxJ,UAAuE,EAAC,UAA+E,GAAC,mEAAmC,GAYjK,qGAAwF,GAApM,aAAqM,EAAzF,UAAwF,GAC9G,0FAA+E,GAAnK,aAAoK,EAAhF,UAA+E,GAC1D,oFAAuE,GAA9K,aAA+K,EAAxE,UAAuE,GAChG,qFAAuE,GAAC,0FAA+E,GAAnO,aAAoO,EAAxJ,UAAuE,EAAC,UAA+E,GAAC,sEAA4C,GAU1K,qGAAwF,GAApM,aAAqM,EAAzF,UAAwF,GAC9G,0FAA+E,GAAnK,aAAoK,EAAhF,UAA+E,GAiBzD,qGAAwF,GAApM,aAAqM,EAAzF,UAAwF,GAC9G,0FAA+E,GAAnK,aAAoK,EAAhF,UAA+E,GAC1D,oFAAuE,GAA9K,aAA+K,EAAxE,UAAuE,GAChG,qFAAuE,GAAC,0FAA+E,GAAnO,aAAoO,EAAxJ,UAAuE,EAAC,UAA+E,GAAC,kEAAkC,GAUhK,qGAAwF,GAApM,aAAqM,EAAzF,UAAwF,GAC9G,0FAA+E,GAAnK,aAAoK,EAAhF,UAA+E,GAC1D,oFAAuE,GAA9K,aAA+K,EAAxE,UAAuE,GAChG,qFAAuE,GAAC,0FAA+E,GAAnO,aAAoO,EAAxJ,UAAuE,EAAC,UAA+E,GAAC,mEAAkC;8GAahR,yMAA+F,KAC7F,iLAAqD,KACnD,yiCAAqF,iDAAxE,yBAAkB,EAA8B,0BAAuB,EAApD,mBAA4B,YAA5D,YAAqF,EAAxE,SAAkB,EAA8B,SAAuB,EAApD,SAA4B;8GAM1D,gLAAqE,KACnE,iLAAqD,KACnD,uRAAqJ,YAAxC;;wBAAuC;MAApJ,wBAAqJ,KACnJ,+MAAqF;8GAiBrF,wtBAAoE,gFAAe,2BAA3E,sHAAsB,GAA9B,YAAoE,EAA5D,kIAAsB,GAA9B,YAAoE,EAA5D,SAAsB,2BAAsC,mEAAe;8GAHvF,wLAA6E,KAC3E,mOAA0G,YAAlD;;wBAAiD;MAAzG,wBAA0G,KACxG,krBAAQ,wFAAY,MACpB,0dAAoE,iDAArC,mBAAoC,kBAAnE,YAAoE,EAArC,SAAoC;8GAtB7E,gLAAoF,KAClF,kLAAqD,KACnD,iZAAqE,IASrE,+gBAAqH,GAA3D,4EAA0D,MAElH,uKAA2C,KACzC,oJAA8B,uFAAU,MAI5C,iLAAoD,KAClD,kZAA6E,iDAjB1E,oBAAgB,UAArB,YAAqE,EAAhE,SAAgB,GASqC,+DAA0D,IAApH,YAAqH,EAA3D,SAA0D,GAQtD,oBAAgB,UAA5E,aAA6E,EAAjB,SAAgB;8GAYhF,iMAAsQ,YAAhF;;wBAA6C;MAAnO,kyCAAsQ,mDAAhN,mBAA4B,YAAwE,oBAA2B,EAAlG,yBAA0B,EAAuH,kCAAiC,EAAvJ,mBAA2C,sBAAzJ,YAAsQ,EAAhN,SAA4B,EAAwE,SAA2B,EAAlG,SAA0B,EAAuH,SAAiC,EAAvJ,SAA2C;8GAhC7J,4MAAgG,KAC9F,iZAAoF,IA8BpF,gLAAoD,KAClD,iZAAsQ,iDA/BrN,yCAAgC,WAAnF,YAAoF,EAAjC,SAAgC,GA+B7D,mBAAiC,4BAArD,YAAsQ,EAAlP,SAAiC;8GAIzD,yMAA4F,KAC1F,iLAAqD,KACnD,yiCAAiF,iDAApE,0BAAmB,EAAyB,0BAAuB,EAA/C,mBAAuB,YAAxD,YAAiF,EAApE,SAAmB,EAAyB,SAAuB,EAA/C,SAAuB;8GAOtD,gLAAqE,KACnE,iLAAqD,KACnD,uRAAqJ,YAAxC;;wBAAuC;MAApJ,wBAAqJ,KACnJ,+MAAqF;8GAiBrF,wtBAAoE,gFAAe,2BAA3E,sHAAsB,GAA9B,YAAoE,EAA5D,kIAAsB,GAA9B,YAAoE,EAA5D,SAAsB,2BAAsC,mEAAe;8GAHvF,wLAA6E,KAC3E,mOAA0G,YAAlD;;wBAAiD;MAAzG,wBAA0G,KACxG,krBAAQ,wFAAY,MACpB,0dAAoE,iDAArC,mBAAoC,kBAAnE,YAAoE,EAArC,SAAoC;8GAtB7E,gLAAoF,KAClF,kLAAqD,KACnD,iZAAqE,IASrE,+gBAAqH,GAA3D,4EAA0D,MAElH,uKAA2C,KACzC,oJAA8B,+FAAkB,MAIpD,iLAAoD,KAClD,kZAA6E,iDAjB1E,oBAAgB,UAArB,YAAqE,EAAhE,SAAgB,GASqC,+DAA0D,IAApH,YAAqH,EAA3D,SAA0D,GAQtD,oBAAgB,UAA5E,aAA6E,EAAjB,SAAgB;8GAehF,iMAAmQ,YAA7E;;wBAA6C;MAAnO,kyCAAmQ,mDAA7M,mBAA4B,YAAwE,oBAA2B,EAAlG,yBAA0B,EAAuH,+BAA8B,EAApJ,mBAA2C,sBAAzJ,YAAmQ,EAA7M,SAA4B,EAAwE,SAA2B,EAAlG,SAA0B,EAAuH,SAA8B,EAApJ,SAA2C;8GAnC7J,2MAA8F,KAC5F,iZAAoF,IAiCpF,gLAAoD,KAClD,iZAAmQ,iDAlClN,yCAAgC,WAAnF,YAAoF,EAAjC,SAAgC,GAkC7D,mBAAiC,4BAArD,YAAmQ,EAA/O,SAAiC;8GAMzD,+MAAsG,KACpG,wMAA4E,2FAE5E,MACA,uTAAyJ,YAAlB;;wBAAiB;MAAxJ,wBAAyJ,KACvJ,qHAAG,KACD,2LAAiE,KAGrE,gLAAoD,KAClD,otBAAiF,iDAAtE,mBAAqB,YAAqB,oBAA2B,EAA/C,0BAAmB,EAApD,YAAiF,EAAtE,SAAqB,EAAqB,SAA2B,EAA/C,SAAmB,mDATsB,8DAE5E;8GAUF,6MAAoG,KAElG,+LAAmE,KAEjE,05CAIiC,iDAFlB,mBAAe,QACf,mBAAW,MACX,qBAAiB,EAHjB,mBAAuB,EADtC,YAIiC,EAFlB,SAAe,EACf,SAAW,EACX,SAAiB,EAHjB,SAAuB;8GAS1C,kNAAuI,KACrI,kLAAsD,KACpD,yiCAAmF,iDAAtE,4BAAqB,EAAyB,0BAAuB,EAA/C,mBAAuB,YAA1D,YAAmF,EAAtE,SAAqB,EAAyB,SAAuB,EAA/C,SAAuB;8GA7RhE,qOAAuI,KACrI,gLAAoD,KAClD,uPAA2H,KAEzH,0MAA8E,KAC5E,iZAC8G,IAC9G,qKAA+C,4FAAe,MAGhE,gLAAoD,KAClD,kZAAqN,IAS3N,kZAAsH,IAoJtH,kZAA+F,IAK/F,kZAAgG,IAoChG,kZAA4F,IAM5F,kZAA8F,IAyC9F,kZAAsG,IAatG,kZAAoG,IAcpG,kZAAuI,iDAtR1H,0GAAqF,IAA5F,YAC8G,EADvG,SAAqF,GAM8F,uCAA0B,GAApN,aAAqN,EAA3B,SAA0B,GASrK,mBAAgC,2BAArF,aAAsH,EAAjE,SAAgC,GAoJd,mBAAuB,kBAA9F,aAA+F,EAAxB,SAAuB,GAKtE,mBAAqB,gBAA7C,aAAgG,EAAxE,SAAqB,GAoC0B,mBAAoB,eAA3F,aAA4F,EAArB,SAAoB,GAMpE,mBAAoB,eAA3C,aAA8F,EAAvE,SAAoB,GAyCE,mBAAwB,mBAArE,aAAsG,EAAzD,SAAwB,GAaxB,mBAAwB,mBAArE,aAAoG,EAAvD,SAAwB,GAcrC,kDAAsD,wBAAtF,aAAuI,EAAvG,SAAsD;8GAWxF,mPAAkO,wDAA7N,oEAAmD,GAAyG,+DAAgE,GAAjO,YAAkO,EAA7N,SAAmD,EAAyG,SAAgE;8GAvTnO,s6BAC0K,GAAjH,yFAA4F,MACnJ,iZAA4G,IAe5G,iZAAuI,IAsSvI,iZAAkO,iDAvT/N,sGAAqF,GAA1F,YAC0K,EADrK,SAAqF,GACjC,wFAA4F,IADrJ,YAC0K,EAAjH,SAA4F,GAC9I,mBAA4B,uBAAjC,YAA4G,EAAvG,SAA4B,GAeH,mBAA8B,yBAA5D,YAAuI,EAAzG,SAA8B,GAsSH,mBAA0B,qBAAnF,YAAkO,EAAzK,SAA0B,mDAvTM,wDAAmD,GAA9I,YAC0K,EAD/E,SAAmD;8GAmU5I,oPAAqH,YAA7B;;wBAA4B;MAApH,wBAAqH;8GAIrH,iPAA+H,YAAzB;;wBAAwB;MAA9H,wBAA+H;8GARnI,qKAA6D,KAC3D,4IAAsB,wFAAY,iKAAqC,gFAA+B,MAEtG,4IAAsB,KACpB,iZAAqH,IAEvH,4IAAsB,KAAC,iJAA2B,qGAAwD,MAC1G,6IAAsB,KACpB,kZAA+H,IAEjI,qLAAwD,KACtD,kOAAyE,YAAxB;;wBAAuB;MAAxE,wBAAyE,iLAA+C,KACxH,iQAAuG,YAA5E;;wBAAsB;MAAjD,wBAAuG,qLAAmD,kDARvJ,sCAAyB,GAA5B,YAAqH,EAAlH,SAAyB,GAIzB,6CAA0C,iBAA7C,aAA+H,EAA5H,SAA0C,mDAPwB,wEAA+B,GAKpD,mHAAwD;6GApa5G,oPAA0I,KACxI,gZAAwN,IA0FxN,iZAAwI,IAIxI,iZAC0K,IA8T5K,iZAA6D,IAe7D,8JAAkC,kDA5a6G,mBAA2B,sBAAxK,YAAwN,EAA3E,SAA2B,GA0FlJ,gFAAiF,0BAAvG,YAAwI,EAAlH,SAAiF,GAKlG,iDAAmD,sBADxD,YAC0K,EAArK,SAAmD,GA8TrD,mBAAoB,eAAzB,YAA6D,EAAxD,SAAoB;8GAoB3B,kLAA6F,KAC3F,uMAAqI,YAAlD;;wBAAiD;MAApI,4zCAAqI,mDAAlH,mBAAwB,YAAC,yBAAkB,EAAC,2BAAmB,EAAlF,YAAqI,EAAlH,SAAwB,EAAC,SAAkB,EAAC,SAAmB;8GAGpF,+IAA4C,KAC1C,gOAAyL,YAA7F;;wBAA0C;MAAC;;wBAAiD;MAAxL,4tCAAyL,mDAA3K,mBAAc,KAAwB,mBAAkB,OAAzC,mBAAsB,SAAoB,oBAAoB,EAA3F,YAAyL,EAA3K,SAAc,EAAwB,SAAkB,EAAzC,SAAsB,EAAoB,SAAoB;8GAK3F;;;;;;;;;;;wBAAuJ;MAAzD;;wBAAsB;MAApH,iyCAAuJ,iDAAzE,0BAAe,EAAC,mBAAsB,WAApH,YAAuJ,EAAzE,SAAe,EAAC,SAAsB,2BAApH,8sBAAuJ;8GAMrJ,wNAAqF,YAAtC;;wBAAoB;MAAnE,wBAAqF,iFAAI;8GACzF,6LAAsE,YAAxC;;wBAA0B;MAAxD,wBAAsE,iFAAI;8GAR9E,+KAAmE,KACjE,iZAAuJ,IACvJ,sKAA0C,KACxC,6SAAgJ,YAAxI;;wBAA8B;MAAtC,wBAAgJ,kJAAuB,KAGzK,4KAAgD,KAC9C,iZAAqF,IACrF,kZAAsE,IACtE,oKAAuC,kDAR/B,mBAA4B,uBAAtC,YAAuJ,EAA7I,SAA4B,GAM9B,mBAAuB,kBAA7B,YAAqF,EAA/E,SAAuB,GACvB,mBAAuB,kBAA7B,aAAsE,EAAhE,SAAuB;8GAO/B,qOAAiK,YAArJ;;wBAA6B;MAAyF;;wBAA8B;MAAhK,4dAAiK,MAC/J,mLAAkE,YAA9B;;wBAA6B;MAAjE,knBAAkE,mDADmB,qBAAkB,EAAC,8BAAuB,EAArH,mBAA6B,kBAAzC,YAAiK,EAA1E,SAAkB,EAAC,SAAuB,EAArH,SAA6B,GACxB,mBAAoB,WAAnC,YAAkE,EAAnD,SAAoB;8GA4C6C,wHAAoD,kcAA6B;8GAE/J,uHAAgC,0KAAyC,qMAAmB;8GAE5F,uHAAiC,8HAAO,qMAAmB;8GAV/D,qLAA8E,KAC5E,8LAAiE,KAE/D,yHAAO,0HAA6C,MACpD,uHAAK,gFAAuB,MAC5B,uHAAK,2FAA+C,MACpD,uHAAK,6QAAyE,sZAAoD,IAClI,wHAAK,uFAAsB,MAC3B,kZAAgC,IAEhC,kZAAiC,IACjC,wHAAK,uFAA8B,MACnC,uHAAM,4HAAM,KAEZ,8IAAuB,KACrB,6IAAsB,KACpB,8PAA+G,YAAlC;;wBAAiC;MAA9G,wBAA+G,0HAA6C,MAG9J,6IAAsB,KACpB,8PAA2G,YAA9B;;wBAA6B;MAA1G,wBAA2G,2HAA8C,mDAdzE,+DAA6C,IAAnD,aAAoD,EAA9C,SAA6C,GAE5H,mBAA0B,mBAA/B,aAAgC,EAA3B,SAA0B,GAE1B,oBAA2B,mBAAhC,aAAiC,EAA5B,SAA2B,mDAN3B,gEAAuB,GACvB,8GAA+C,GAC/C,6aAAyE,GACzE,yDAAsB,GAItB,oEAA8B;8GAiDvC,mMAA4I,YAAtC;;wBAAqC;MAA3I,+9BAA4I,mDAAvF,mBAA6B,aAAC,yBAAkB,EAArG,YAA4I,EAAvF,SAA6B,EAAC,SAAkB;8GAErG,oMAAyI,YAA3C;;wBAA0C;MAAxI,0rBAAyI,mDAA5F,mBAA6B,aAAC,yBAAkB,EAA7F,YAAyI,EAA5F,SAA6B,EAAC,SAAkB;8GAJ/F,kNACkM,YADtL;;wBAAgC;MACqB;;wBAA2C;MAD5G,qgBACkM,MAChM,8YAA4I,IAE5I,8YAAyI,iDAH/H,8DAAoD,GADpD,mBAAgC,qBACyH,uBAA4B,EAApF,6DAAuD,GADpK,YACkM,EAAtL,SAAoD,EADpD,SAAgC,EACyH,SAA4B,EAApF,SAAuD,GAC5I,4CAA8B,GAApD,YAA4I,EAAtH,SAA8B,GAE9B,qCAAsB,GAA5C,YAAyI,EAAnH,SAAsB;8GAG9C,kNAAsI,YAA1H;;wBAAgC;MAA5C,0dAAsI,MACpI,8LAA8H,YAA7C;;wBAA4C;MAA7H,k+CAA8H,mDADpC,qBAAkB,EAAlG,mBAAgC,qBAAmE,qBAAsB,EAArI,YAAsI,EAA1C,SAAkB,EAAlG,SAAgC,EAAmE,SAAsB,GAC9F,mBAAwB,aAAhD,mBAAuB,YAA0B,yBAAkB,EAAhF,YAA8H,EAAzF,SAAwB,EAAhD,SAAuB,EAA0B,SAAkB;8GAElF,2NAAkI,YAAtH;;wBAAqC;MAAjD,ubAAkI,MAChI,4LAAiH,YAA5C;;wBAA2C;MAAhH,+eAAiH,mDADJ,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAC7B,mBAAwB,gBAAC,yBAAyB,EAApE,YAAiH,EAA/F,SAAwB,EAAC,SAAyB;8GAmBpE,gMAAiG,KAE/F,05CAIiC,iDAFlB,mBAAe,QACf,mBAAW,MACX,qBAAiB,EAHjB,mBAAuB,EADtC,YAIiC,EAFlB,SAAe,EACf,SAAW,EACX,SAAiB,EAHjB,SAAuB;8GAOxC,gMAAsG,KACpG,yiCAAmF,iDAAtE,4BAAqB,EAAyB,0BAAuB,EAA/C,mBAAuB,YAA1D,YAAmF,EAAtE,SAAqB,EAAyB,SAAuB,EAA/C,SAAuB;8GAclD,wtBAAqE,iFAErE,2BAFgD,sHAAoB,GAApE,YAAqE,EAArB,kIAAoB,GAApE,YAAqE,EAArB,SAAoB,2BAAC,sEAErE;8GAdV,iMAAqG,KACnG,+KAAmD,KACjD,4LAAgE,KAE9D,sLAA0D,KAG1D,wKAA4C,KAG5C,wKAA4C,KAC1C,oOAAiH,YAAxD;;wBAAuD;MAAhH,wBAAiH,KAC/G,0dAAqE,IAO7E,mMAA4L,YAA1C;;wBAAyC;MAA3L,8zCAA4L,mDAP5K,mBAAuC,qBAA/C,YAAqE,EAA7D,SAAuC,GAO6B,mBAAuC,oBAA5G,iBAAgB,EAAC,qBAA0B,EAAC,6BAAwB,EAAyC,mBAAqB,eAAjJ,aAA4L,EAAxG,SAAuC,EAA5G,SAAgB,EAAC,SAA0B,EAAC,SAAwB,EAAyC,SAAqB;8GAEnJ,gMAA+F,KAC7F,yjCAA4F,iDAA/E,qBAAc,EAAyC,0BAAuB,EAA/D,mBAAuC,oBAAnE,YAA4F,EAA/E,SAAc,EAAyC,SAAuB,EAA/D,SAAuC;8GAErE,gMAAqG,KACnG,yiCAAsF,iDAAzE,+BAAwB,EAAyB,0BAAuB,EAA/C,mBAAuB,YAA7D,YAAsF,EAAzE,SAAwB,EAAyB,SAAuB,EAA/C,SAAuB;8GAE/D,gMAAiG,KAC/F,yiCAAiF,iDAApE,0BAAmB,EAAyB,0BAAuB,EAA/C,mBAAuB,YAAxD,YAAiF,EAApE,SAAmB,EAAyB,SAAuB,EAA/C,SAAuB;8GAKpD,gLAAqE,KACnE,iLAAqD,KACnD,uRAAqJ,YAAxC;;wBAAuC;MAApJ,wBAAqJ,KACnJ,+MAAqF;8GAKzF,kLAAuE;8GAQnE,wtBAAoE,gFAAe,2BAA3E,sHAAsB,GAA9B,YAAoE,EAA5D,kIAAsB,GAA9B,YAAoE,EAA5D,SAAsB,2BAAsC,mEAAe;8GAHvF,sLAAkG,KAChG,mOAA0G,YAAlD;;wBAAiD;MAAzG,wBAA0G,KACxG,krBAAQ,wFAAY,MACpB,0dAAoE,iDAArC,mBAAoC,kBAAnE,YAAoE,EAArC,SAAoC;8GAlB7E,gLAAoF,KAClF,kLAAqD,KACnD,iZAAqE,IAOrE,+gBAAqH,GAA3D,4EAA0D,MAClH,iZAAuE,IAIzE,gLAAoD,KAClD,kZAAkG,iDAb/F,oBAAgB,UAArB,YAAqE,EAAhE,SAAgB,GAOqC,+DAA0D,IAApH,YAAqH,EAA3D,SAA0D,GAC5D,oBAAgB,UAAtE,YAAuE,EAAjB,SAAgB,GAKZ,qCAAuC,sBAAjG,aAAkG,EAAxC,SAAuC;8GAYnG,iMAAsQ,YAAhF;;wBAA6C;MAAnO,kyCAAsQ,mDAAhN,mBAA4B,YAAwE,oBAA2B,EAAlG,yBAA0B,EAAuH,kCAAiC,EAAvJ,mBAA2C,sBAAzJ,YAAsQ,EAAhN,SAA4B,EAAwE,SAA2B,EAAlG,SAA0B,EAAuH,SAAiC,EAAvJ,SAA2C;8GAD3J,iLAAiF,KAC/E,iZAAsQ,iDAAlP,mBAAiC,4BAArD,YAAsQ,EAAlP,SAAiC;8GAGvD,mLAAkF,KAChF,8LAAiH,YAAxC;;wBAAuC;MAAhH,q7BAAiH,mDAAhG,mBAA4B,YAAC,yBAA0B,EAAxE,YAAiH,EAAhG,SAA4B,EAAC,SAA0B;8GAhC9E,iMAAoG,KAClG,iZAAoF,IAyBpF,gMAAoE,KAClE,iZAAiF,IAIjF,iZAAkF,iDA9BjC,yCAAgC,WAAnF,YAAoF,EAAjC,SAAgC,GA0B1D,oBAA2B,qBAAlD,YAAiF,EAA1D,SAA2B,GAI3B,mBAA0B,qBAAjD,YAAkF,EAA3D,SAA0B;+GAgBzC,wtBAAoE,gFAAe,2BAA3E,sHAAsB,GAA9B,YAAoE,EAA5D,kIAAsB,GAA9B,YAAoE,EAA5D,SAAsB,2BAAsC,mEAAe;+GAHvF,wKAAoF,KAClF,mOAA0G,YAAlD;;wBAAiD;MAAzG,wBAA0G,KACxG,krBAAQ,kGAAsB,MAC9B,2dAAoE,iDAArC,mBAAoC,kBAAnE,YAAoE,EAArC,SAAoC;+GAQnE,wtBAA4D,iFAE5D,2BAF0C,mHAAiB,GAA3D,YAA4D,EAAlB,+HAAiB,GAA3D,YAA4D,EAAlB,SAAiB,2BAAC,sEAE5D;+GAJJ,mLAA+F,KAC7F,mOAA0G,YAAlD;;wBAAiD;MAAzG,wBAA0G,KACxG,2dAA4D,iDAApD,mBAAiC,eAAzC,YAA4D,EAApD,SAAiC;+GAjBnD,gLAAoF,KAClF,iLAAqD,KACnD,2hBAAiI,GAA3D,4EAA0D,MAGhI,gLAAoD,KAClD,kZAAoF,IAQtF,gLAAoD,KAClD,mZAA+F,iDAb3B,+DAA0D,IAAhI,YAAiI,EAA3D,SAA0D,GAIlF,qCAAuC,sBAAnF,YAAoF,EAAxC,SAAuC,GAS5B,qCAAuC,sBAA9F,aAA+F,EAAxC,SAAuC;+GAmBhG,iMAAmQ,YAA7E;;wBAA6C;MAAnO,kyCAAmQ,mDAA7M,mBAA4B,YAAwE,oBAA2B,EAAlG,yBAA0B,EAAuH,+BAA8B,EAApJ,mBAA2C,sBAAzJ,YAAmQ,EAA7M,SAA4B,EAAwE,SAA2B,EAAlG,SAA0B,EAAuH,SAA8B,EAApJ,SAA2C;+GAD3J,iLAAiF,KAC/E,kZAAmQ,iDAA/O,mBAAiC,4BAArD,YAAmQ,EAA/O,SAAiC;+GAGvD,mLAAkF,KAChF,8LAAiH,YAAxC;;wBAAuC;MAAhH,q7BAAiH,mDAAhG,mBAA4B,YAAC,yBAA0B,EAAxE,YAAiH,EAAhG,SAA4B,EAAC,SAA0B;8GAvC9E,iMAAoG,KAClG,kZAAoF,IA+BpF,gMAAoE,KAElE,kZAAiF,IAIjF,kZAAkF,iDArCjC,yCAAgC,WAAnF,YAAoF,EAAjC,SAAgC,GAiC1D,oBAA2B,qBAAlD,YAAiF,EAA1D,SAA2B,GAI3B,mBAA0B,qBAAjD,YAAkF,EAA3D,SAA0B;+GAMrD,iMAA+F,KAC7F,wMAA4E,KAC1E,uLAA2D,KAG3D,sLAA0D,KACxD,8KAAwD,KACtD,krBAAQ,wFAAY,MAI1B,iLAAqD,KACnD,stBAAiF,iDAAtE,mBAAqB,YAAqB,oBAA2B,EAA/C,0BAAmB,EAApD,aAAiF,EAAtE,SAAqB,EAAqB,SAA2B,EAA/C,SAAmB;+GAGxD,gMAAmG,KACjG,yiCAAqF,iDAAxE,yBAAkB,EAA8B,0BAAuB,EAApD,mBAA4B,YAA5D,YAAqF,EAAxE,SAAkB,EAA8B,SAAuB,EAApD,SAA4B;8GA3JhE,2NAAoL,YAAxK;;wBAAoC;MAA4D;;wBAAoD;MAAhK,ubAAoL,MAClL,oNAA2F,KAC3F,4MAAmF,KAEjF,sLAA0D,KACxD,yHAAO,kGAAiC,MAE1C,gLAAoD,KAClD,sTAA0L,KACxL,+OAAsF,YAAvB;;wBAAoB;MAAnF,wBAAsF,KAK5F,oHAAI,KACJ,+YAAiG,IAUjG,+YAAsG,IAGtG,+YAAqG,IAqBrG,+YAA+F,IAG/F,+YAAqG,IAGrG,+YAAiG,IAGjG,+YAAoG,IAqCpG,+YAAoG,IA4CpG,gZAA+F,IAe/F,gZAAmG,iDA1J4D,qBAAkB,EAAvK,mBAAoC,yBAAhD,YAAoL,EAAnB,SAAkB,EAAvK,SAAoC,GAesB,mBAA4B,uBAAhG,aAAiG,EAA7B,SAA4B,GAU5B,mBAAiC,4BAArG,aAAsG,EAAlC,SAAiC,GAGjC,mBAAgC,2BAApG,aAAqG,EAAjC,SAAgC,GAqBhC,mBAA0B,qBAA9F,aAA+F,EAA3B,SAA0B,GAG1B,mBAAgC,2BAApG,aAAqG,EAAjC,SAAgC,GAGhC,mBAA4B,uBAAhG,aAAiG,EAA7B,SAA4B,GAG3F,mBAA8B,yBAAnC,aAAoG,EAA/F,SAA8B,GAqC9B,oBAA8B,yBAAnC,aAAoG,EAA/F,UAA8B,GA4CiC,oBAA0B,qBAA9F,aAA+F,EAA3B,UAA0B,GAe1B,oBAA8B,yBAAlG,aAAmG,EAA/B,UAA8B,mDArJvF,wDAAiC;+GA0J9C,mNAA8F,YAAlF;;wBAAuB;MAAnC,ubAA8F,MAC5F,4LAA2G,YAA9C;;wBAA6C;MAA1G,g2BAA2G,mDADlC,qBAAkB,EAAjF,mBAAuB,YAAnC,YAA8F,EAAnB,SAAkB,EAAjF,SAAuB,GACf,mBAAoB,aAAC,mBAAqB,MAA5D,YAA2G,EAAzF,SAAoB,EAAC,SAAqB;+GAK9D,8NAAwI,YAA5H;;wBAAuC;MAAnD,ubAAwI,MACtI,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,KAC9E,oJAA8B,0FAAa,MAAO,sHAAM,KACxD,2JAAqC,KACnC,qJAA8B,yMAA4H,MAAO,uHAAM,KAEzK,yRAAoJ,YAAhI;;wBAA2C;MAA/D,wBAAoJ,+EAAE,mDAPrC,qBAAkB,EAA3H,mBAAuC,4BAAnD,YAAwI,EAAnB,SAAkB,EAA3H,SAAuC;8pCAtuBnD,0LAAyD,KACzD,sMAAqE,KACrE,6LAA4D,KAC5D,8MAAuE,KACvE,oNAA6E,KAC7E,gNAA8E,KAE5E,iZAA0I,IAkb5I,kZAA6F,IAI7F,kZAA4C,IAI5C,4MAAqE,KACrE,kZAAmE,IAejE,kZAAiK,IAGnK,+NAAgF,YAApE;;wBAAoC;MAAhD,6ZAAgF,MAC9E,yNAA8F,KAC5F,kPAAoH,KAClH,kMAA0E,KACxE,0HAAO,mKAAsF,qJAAwB,iFAAmB,MAAe,uHAAM,4HAAM,KAEnK,0HAAO,qNAAwI,MAAQ,uHAAM,4HAAM,KAEnK,0HAAO,iTAIP,MAAQ,uHAAM,4HAAM,KACpB,0HAAO,6OAAgK,6HAAM,KAG/K,uHAAM,4HAAM,4HAAM,KAClB,wMAA2E,KACzE,iMAAoE,KAClE,mRAA2H,YAAnH;;wBAAwB;MAAhC,wBAA2H,mFAAM,MAGnI,kLAAqD,KACnD,kTAAsJ,YAArB;;wBAAoB;MAArJ,wBAAsJ,qFAAQ,MAYxK,8NAAuE,YAA3D;;wBAA2B;MAAvC,6ZAAuE,MACrE,+YAA8E,IA6BhF,4LAAyC,YAA7B;;wBAA4B;MAAxC,6ZAAyC,MACvC,+JAA0C,KACxC,sKAA+C,KAAI,sHAAG,mGAAsB,MAC5E,4KAAoD,KAClD,uHAAM,KACN,yHAAM,wMAGkB,4HAAG,uGAAyB,MAAI,+HAEtD,4HAAG,qFAAM,MAAI,qIAEf,MACA,uHAAM,4HAAM,KAEd,4KAA+C,KAC7C,uKAA0C,KACxC,8RAAuJ,YAAxH;;wBAAyC;MAAxE,wBAAuJ,iGAAoB,MAG7K,6LAAgE,KAC9D,2RAAyI,YAA1G;;wBAA8B;MAA7D,wBAAyI,iFAAI,MAQrJ,kZACkM,IAMlM,kZAAsI,IAGtI,kZAAkI,IAKlI,kZAAoL,IA+JpL,mZAA8F,IAM9F,oZAAwI,iDA/tBjI,mBAAuB,kBAA5B,aAA0I,EAArI,SAAuB,GAkbzB,0DAAsC,IAA3C,aAA6F,EAAxF,SAAsC,GAItC,mBAAkB,aAAvB,aAA4C,EAAvC,SAAkB,GAKlB,mBAAgB,WAArB,aAAmE,EAA9D,SAAgB,GAeuB,mBAAuB,kBAAjE,aAAiK,EAAvH,SAAuB,GAGvD,mBAAoC,yBAAhD,aAAgF,EAApE,SAAoC,GAmCpC,mBAA2B,gBAAvC,aAAuE,EAA3D,SAA2B,GACd,mBAAqB,gBAA5C,aAA8E,EAAvD,SAAqB,GA6BlC,mBAA4B,iBAAxC,aAAyC,EAA7B,SAA4B,GA6BK,oBAA0B,qBAAvE,aACkM,EADrJ,UAA0B,GAO1B,oBAA0B,qBAAvE,aAAsI,EAAzF,UAA0B,GAGrB,oBAA+B,0BAAjF,aAAkI,EAAhF,UAA+B,GAKhC,oBAA8B,yBAA/E,aAAoL,EAAnI,UAA8B,GA+J3C,oBAAiB,YAArD,aAA8F,EAA1D,UAAiB,GAMD,oBAAiC,4BAArF,cAAwI,EAApF,UAAiC,mDA9QwC,6DAAmB;;;;;;;;;;;;;;;;ACxdhJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiH;AAChE;AACE;AACR;AACyB;AACA;AACX;AAEC;AACf;AACiD;AAEjD;AAGM;AACM;AACI;AACG;AAIe;AACD;AAEM;AACG;AACN;AACf;AAC2B;AACW;AAIX;AAC9B;AAGC;AACK;AACT;AAQ1D;IAwSE,iCAAoB,EAAe,EAAS,eAAgC,EACnE,oBAA0C,EAAS,KAAqB,EACvE,eAAgC,EAAU,MAAqB,EAC/D,QAAkB,EAAU,MAAc,EAAE,SAAqB,EAAU,WAAyB,EACpG,iBAAsC,EAAU,WAAwB;QAJ9D,OAAE,GAAF,EAAE,CAAa;QAAS,oBAAe,GAAf,eAAe,CAAiB;QACnE,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,UAAK,GAAL,KAAK,CAAgB;QACvE,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAC/D,aAAQ,GAAR,QAAQ,CAAU;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAiC,gBAAW,GAAX,WAAW,CAAc;QACpG,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAjSlF,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAY,KAAK,CAAC;QAChC,qBAAgB,GAAY,KAAK,CAAC;QAClC,oBAAe,GAAY,KAAK,CAAC;QACjC,aAAQ,GAAY,KAAK,CAAC;QAC1B,gBAAW,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,UAAS;QAC/C,uBAAkB,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAM;QAClD,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAY,KAAK,CAAC;QAC9B,oBAAe,GAAY,KAAK,CAAC;QAIjC,iBAAY,GAA4B,EAAE,CAAC;QAC3C,iBAAY,GAAmB,EAAE,CAAC;QAClC,iBAAY,GAAmB,EAAE,CAAC;QAOlC,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAC3B,uBAAkB,GAAmB,EAAE,CAAC;QACxC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,kBAAa,GAAkB,IAAI,6DAAa,EAAE,CAAC;QAC5C,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAEvH,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACnC,mBAAc,GAAoB,IAAI,uEAAe,EAAE,CAAC;QACxD,cAAS,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACrC,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAC7C,aAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACpC,aAAQ,GAAc,IAAI,2DAAS,EAAE,CAAC;QACtC,qBAAgB,GAAqB,IAAI,oEAAgB,EAAE,CAAC;QAO5D,iBAAY,GAAoB,EAAE,CAAC;QACnC,iBAAY,GAAoB,EAAE,CAAC;QACnC,cAAS,GAAiB,EAAE,CAAC;QACtB,cAAS,GAAW,CAAC,CAAC;QAS7B,uBAAkB,GAAG,KAAK,CAAC;QAC3B,qBAAgB,GAAmB,EAAE,CAAC;QACtC,cAAS,GAAmB,EAAE,CAAC;QAC/B,oBAAe,GAAmB,EAAE,CAAC;QACrC,kBAAa,GAAmB,EAAE,CAAC;QACnC,yBAAoB,GAAsB,EAAE,CAAC;QAC7C,eAAU,GAAmB,EAAE,CAAC;QAChC,YAAO,GAAmB,EAAE,CAAC;QAC7B,cAAS,GAAmB,EAAE,CAAC;QAC/B,oBAAe,GAAmB,EAAE,CAAC;QACrC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,gBAAW,GAAmB,EAAE,CAAC;QACjC,sBAAiB,GAAmB,EAAE,CAAC;QACvC,eAAU,GAAmB,EAAE,CAAC;QAChC,eAAU,GAAmB,EAAE,CAAC;QAChC,iBAAY,GAAmB,EAAE,CAAC;QAClC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,oBAAe,GAAmB,EAAE,CAAC;QACrC,YAAO,GAAmB,EAAE,CAAC;QAG7B,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAAC,kBAAa,GAAG,EAAE,CAAC;QACpC,mBAAc,GAAG,CAAC,CAAC;QACnB,eAAU,GAAG,CAAC,CAAC;QACf,UAAK,GAAG,CAAC,CAAC;QAKV,mBAAc,GAAG,KAAK,CAAC;QACvB,qBAAgB,GAAG,KAAK,CAAC;QAGzB,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QAClB,4BAAuB,GAAG,KAAK,CAAC;QAChC,2BAAsB,GAAY,KAAK,CAAC;QACxC,uBAAkB,GAAY,IAAI,CAAC;QACnC,uBAAkB,GAAY,KAAK,CAAC;QACpC,yBAAoB,GAAY,KAAK,CAAC;QACtC,uBAAkB,GAAY,KAAK,CAAC;QACpC,yBAAoB,GAAY,KAAK,CAAC;QACtC,uBAAkB,GAAY,KAAK,CAAC;QACpC,2BAAsB,GAAY,IAAI,CAAC;QACvC,uBAAkB,GAAY,KAAK,CAAC;QACpC,sBAAiB,GAAY,KAAK,CAAC;QACnC,oBAAe,GAAY,IAAI,CAAC;QAChC,wBAAmB,GAAY,IAAI,CAAC;QACpC,yBAAoB,GAAY,IAAI,CAAC;QACrC,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAW,CAAC,CAAC;QAC7B,kCAA6B,GAAY,IAAI,CAAC;QAC9C,gCAA2B,GAAY,KAAK,CAAC;QAC7C,qBAAgB,GAAW,CAAC,CAAC;QAC7B,oBAAe,GAAG,KAAK,CAAC;QACxB,kBAAa,GAAW,CAAC,CAAC;QAC1B,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QAC7B,iBAAY,GAAmB,EAAE,CAAC;QAC3B,eAAU,GAAW,CAAC,CAAC;QAC9B,mBAAc,GAAuB,EAAE,CAAC;QACxC,gBAAW,GAAmB,EAAE,CAAC;QACjC,iBAAY,GAAoB,EAAE,CAAC;QACnC,eAAU,GAAkB,EAAE,CAAC;QAC/B,iBAAY,GAAoB,EAAE,CAAC;QACnC,oBAAe,GAAyB,EAAE,CAAC;QAC3C,iBAAY,GAAY,KAAK,CAAC;QAC9B,WAAM,GAAY,IAAI,CAAC;QACvB,oBAAe,GAAG,KAAK,CAAC;QACxB,qBAAgB,GAAG,KAAK,CAAC;QACzB,2BAAsB,GAAG,KAAK,CAAC;QAC/B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,8BAAyB,GAAG,KAAK,CAAC;QAClC,6BAAwB,GAAG,KAAK,CAAC;QACjC,uBAAkB,GAAG,KAAK,CAAC;QAC3B,2BAAsB,GAAY,KAAK,CAAC;QACxC,2BAAsB,GAAY,KAAK,CAAC;QACxC,2BAAsB,GAAY,KAAK,CAAC;QACxC,uBAAkB,GAAY,KAAK,CAAC;QACpC,6BAAwB,GAAY,KAAK,CAAC;QAC1C,yBAAoB,GAAY,KAAK,CAAC;QAEtC,yBAAoB,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QAC/C,QAAG,GAAG,EAAE,CAAC;QACT,qBAAgB,GAAU,EAAE,CAAC;QAC7B,6BAAwB,GAAU,EAAE,CAAC;QACrC,mBAAc,GAAU,EAAE,CAAC;QACpB,yBAAoB,GAAW,CAAC,CAAC;QACjC,cAAS,GAAG,EAAE,CAAC;QACd,SAAI,GAAiB,EAAE,CAAC;QACzB,SAAI,GAAiB,EAAE,CAAC;QACxB,YAAO,GAAe;YAC3B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YAC/B,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE;SACvD,CAAC;QACF,QAAG,GAAG,EAAE,CAAC;QACF,SAAI,GAAW,CAAC,CAAC;QACxB,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,YAAO,GAAG,KAAK,CAAC;QACT,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAW,CAAC,CAAC;QACpB,aAAQ,GAAW,CAAC,CAAC;QACrB,WAAM,GAAW,CAAC,CAAC;QACnB,aAAQ,GAAW,QAAQ,CAAC;QAC5B,WAAM,GAAQ;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;SAC/C,CAAC;QACF,iBAAY,GAAY,IAAI,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAY,IAAI,CAAC;QAC/B,uBAAkB,GAAY,IAAI,CAAC;QACnC,uBAAkB,GAAY,KAAK,CAAC;QAEpC,cAAS,GAAW,CAAC,CAAC;QACtB,kBAAa,GAAW,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,gBAAW,GAAW,CAAC,CAAC;QACxB,mBAAc,GAAW,CAAC,CAAC;QAE3B,mBAAc,GAAW,EAAE,CAAC;QAK5B,kBAAa,GAAa,EAAE,CAAC;QAQ7B,oBAAe,GAAY,IAAI,CAAC;QAChC,sBAAiB,GAAY,IAAI,CAAC;QAClC,sBAAiB,GAAY,IAAI,CAAC;QAClC,uBAAkB,GAAY,IAAI,CAAC;QACnC,oBAAe,GAAa,EAAE,CAAC;QAC/B,kBAAa,GAAkB,IAAI,2EAAa,EAAE,CAAC;QACnD,0BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAe,GAAY,KAAK,CAAC;QACjC,yBAAoB,GAAY,KAAK,CAAC;QACtC,sBAAiB,GAAY,KAAK,CAAC;QAGnC,UAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QAKnB,QAAG,GAAW,SAAS,CAAC;QAIxB,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,aAAQ,GAAG,KAAK,CAAC;QACjB,8BAAyB,GAAY,KAAK,CAAC;QAC3C,4BAAuB,GAAY,KAAK,CAAC;QACzC,wBAAmB,GAAW,OAAO,CAAC;QACtC,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAE5B,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAY,KAAK,CAAC;QAC9B,uBAAkB,GAAG,CAAC,CAAC;QACvB,cAAS,GAAG,GAAG,CAAC;QAChB,cAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QACrC,eAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAM;QAC1C,eAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;QACvC,sBAAiB,GAAY,KAAK,CAAC;QACnC,0BAAqB,GAAY,KAAK,CAAC;QACvC,kBAAa,GAAY,KAAK,CAAC;QAC/B,qBAAgB,GAAY,KAAK,CAAC;QAClC,qBAAgB,GAAY,KAAK,CAAC;QAClC,kBAAa,GAAY,KAAK,CAAC;QAC/B,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAY,KAAK,CAAC;QAC9B,iBAAY,GAAY,KAAK,CAAC;QAC9B,sBAAiB,GAAW,EAAE,CAAC;QAC/B,6BAAwB,GAAY,IAAI,CAAC;QACzC,kBAAa,GAAW,CAAC,CAAC;QAC1B,oBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,eAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,UAAS;QACjD,sBAAiB,GAAW,CAAC,CAAC;QAC9B,cAAS,GAAY,KAAK,CAAC;QAE3B,kBAAa,GAAY,KAAK,CAAC;QAO/B,cAAS,GAAW,KAAK,CAAC;QAC1B,kBAAa,GAAW,CAAC,CAAC;QAO1B,wBAAmB,GAAG,MAAM,CAAC;QAO7B,mBAAc,GAAY,KAAK,CAAC;QAChC,uBAAkB,GAAY,KAAK,CAAC;QACpC,yBAAoB,GAAY,KAAK,CAAC;QAG/B,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAY,IAAI,CAAC;QACpC,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAW,KAAK,CAAC;QAE7B,kBAAa,GAAsB,IAAI,4EAAiB,EAAE,CAAC;QAC3D,8BAAyB,GAAY,KAAK,CAAC;QAC3C,qBAAgB,GAAG,KAAK,CAAC;QAMvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,wDAAsB,GAAtB,UAAuB,GAAG;QACxB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAED,sDAAoB,GAApB,UAAqB,GAAG;QAEtB,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;SAC9B;aACI,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,aAAa,CAAC,cAAc,CAAC,SAAO,CAAC,SAAS,CAAC,CAAC;gBACxD,SAAO,CAAC,aAAa,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;aAAM,IAAI,GAAG,IAAI,SAAS,EAAE;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;aAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAE;SACvC;aAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE;YACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;aAAM,IAAI,GAAG,IAAI,mBAAmB,EAAE;YACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;IACH,CAAC;IAED,+CAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,oCAAoC,CAAC,CAAC;QAC7D,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,mDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAGD,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxC,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YAChC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;aAAM,IAAI,QAAQ,IAAI,mBAAmB,EAAE;YAC1C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;aAAM,IAAI,QAAQ,IAAI,kBAAkB,EAAE;YACzC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;aAAM,IAAI,QAAQ,IAAI,mBAAmB,EAAE;YAC1C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;QACD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;aACf;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QAAQ,gBAAgB,EAAE;QAC3B,IAAI,MAAM,EAAE;YACV,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAG3B;aAAM;SAEN;IACH,CAAC;IAED,8CAAY,GAAZ;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACpD;IACH,CAAC;IAED,kDAAgB,GAAhB;QAAA,iBAsCC;QArCC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,WAAU,EAAC,CAAC,UAAU;SAE7Q,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;YACrC,YAAY,EAAE,2FAAqB;YACpC,cAAc,EAAE,iGAAuB;SACvC,CAAC;QAEF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IACH,CAAC;IACD,6CAAW,GAAX,UAAY,OAAO;QACjB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,KAAK,EAAE;YAC5C,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;gBAC5E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS;gBACjD,IAAI,CAAC,0BAA0B,EAAE,CAAC;aACnC;iBAAM;gBACL,KAAK,CAAC,8DAA8D,CAAC,CAAC;aACvE;SAEF;aAAM;YACL,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,UAAU,CAAC;gBACT,CAAC,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qHAAqH,CAAC,CAAC;YAC/K,CAAC,EAAE,CAAC,CAAC;SACN;IAEH,CAAC;IACD,4DAA0B,GAA1B;QACE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,UAAU,CAAC;YACT,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QAC5K,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,oDAAkB,GAAlB,UAAmB,GAAG;QAAtB,iBAsBC;QArBC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;gBAChD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;iBAAM;gBACL,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAElC,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;oBACvF,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,KAAI,CAAC,4BAA4B,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnD,IAAI,OAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,WAAW,EAAE,CAAC;oBACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACT,KAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;SACF;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;IACH,CAAC;IAED,6CAAW,GAAX,UAAY,EAAE;QACZ,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAsB,EAAI,CAAC,CAAC;IACxD,CAAC;IAED,kDAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAYC;QAXC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAEhD,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oJAAoJ,CAAC;QACnL,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,kDAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QAChF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,uBAAuB,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAErC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;qBAC/D,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;4BACtD,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;4BAChC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;4BACnC,IAAI,CAAC,SAAS,GAAG,8FAA8F,CAAC;4BAChH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC5C,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;qBAAE,CAAC,CAAC;iBAChC;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,YAAC,MAAM;4BACpH,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,EAAG;gCACrC,IAAI,CAAC,SAAS,GAAG,qEAAqE,CAAC;6BACxF;iCACI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE;gCACvC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;6BACrB;4BACD,OAAO,IAAI,CAAC;wBACd,CAAC;qBACE,CAAC,CAAC;iBAGR;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;iBAC3K;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC/I;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,YAAC,MAAM;4BACjJ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;gCAC9B,OAAO,QAAQ,CAAC;6BACjB;iCAAM;gCACL,OAAO,UAAU,CAAC;6BACnB;wBACH,CAAC;qBAAE,CAAC,CAAC;iBACR;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,YAAC,MAAM;4BAChH,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BAEzC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;gCAC7B,IAAI,CAAC,SAAS,GAAG,8DAA8D,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gCAE5G,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gCACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;oCAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAChC,CAAC,CAAC,CAAC;6BACJ;iCAAM;gCACL,IAAI,CAAC,SAAS,GAAG,8GAA8G,CAAC;gCAChI,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gCACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;oCAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAChC,CAAC,CAAC,CAAC;6BACJ;4BAGD,OAAO,IAAI,CAAC;wBACd,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBACzD,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC5C,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACzE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBAEnE;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBAC/E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC7B,IAAI,CAAC,SAAS,GAAG,8DAA8D,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;4BAE5G,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAChC,CAAC,CAAC,CAAC;yBACJ;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,8GAA8G,CAAC;4BAChI,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAChC,CAAC,CAAC,CAAC;yBACJ;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAC7E,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;4BAC9B,OAAO,QAAQ,CAAC;yBACjB;6BAAM;4BACL,OAAO,UAAU,CAAC;yBACnB;oBACH,CAAC;iBACF,EAAC;oBACA,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAG,YAAY,YAAC,MAAM;wBACpF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;4BACpC,IAAI,CAAC,SAAS,GAAG,qEAAqE,CAAC;yBACxF;6BACI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE;4BACvC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;yBACrB;wBAED,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC3D;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;wBACtD,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;wBAChC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;wBACnC,IAAI,CAAC,SAAS,GAAG,8FAA8F,CAAC;wBAChH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC5C,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;iBAC1B;gBACD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC3D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;gBACnJ,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjE,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;gBAC1E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;aAExD,CAAC;SACH;IACH,CAAC;IACD,0CAAQ,GAAR,UAAS,OAAO;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAE1B,CAAC;IACD,oDAAkB,GAAlB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QAC1J,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAGD,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;QAExB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,6CAAW,GAAX;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;SACjD;IACH,CAAC;IACD,2CAAS,GAAT,UAAU,OAAO;QAEf,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YAEL,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAE9B;IACH,CAAC;IAED,iDAAe,GAAf,UAAgB,SAAS;QAAzB,iBAmCC;QAjCC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACvD,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAClD,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjD,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACpD,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEnD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxD,KAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;gBAC9C,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACxC,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpE,KAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAE3C,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;QAC/D,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;IACjE,CAAC;IACD,sDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE;YAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAI,IAAI,CAAC,UAAY,CAAC,CAAC;SACpG;IACH,CAAC;IAED,0DAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,kDAAgB,GAAhB,UAAiB,KAAK;QAAtB,iBAkBC;QAjBC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAClE,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YACxG,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACnG,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;YACzC,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;YAC5E,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;QAE5E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAG;YAC5D,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,6CAAW,GAAX,UAAY,SAAS;QAArB,iBAQC;QAPC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACrG,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAElC,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,wDAAsB,GAAtB,UAAuB,SAAS;QAAhC,iBAoEC;QAnEC,IAAI,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE;YAC3B,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;YACjD,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;YAC5C,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC;SACxE;QAED,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YACzF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACvF,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC1F,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;qBAC9B;gBAEH,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpU,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YAC9F,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YAE5E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAEhC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAEjC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACvF,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBAEtB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtU,CAAC,CAAC,CAAC;SAEJ;aACI,IAAI,SAAS,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;QACD,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,UAAC,UAAU;YACtD,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,UAAU,CAAC,OAAO,CAAC,oBAAU;gBAC3B,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5C,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEzC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;SACpE;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;SAC7C;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,YAAY,CAAC;SACrD;QAGD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAe,GAAf;IAEA,CAAC;IACD,0CAAQ,GAAR;QAAA,iBAqDC;QApDC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC3F,KAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5F,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACvC,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;QAC7B,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,IAAI,CAAC,EAAE;YAC5C,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC5C;aAAM;YACL,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACvC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAEjD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;YAEvC,IAAI,CAAC,WAAW,GAAgB;gBAC9B,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;aACrE,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;SAGtB;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;SAE9C;QAGD,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,IAAI,YAAY,EAAE;SAChE;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,0DAAW,EAAE,CAAC;IACzC,CAAC;IACD,6CAAW,GAAX,UAAY,KAAa;IACzB,CAAC;IAGM,kDAAgB,GAAvB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,EAAE;YACxC,KAAK,CAAC,kHAAkH,CAAC;SAE1H;IACH,CAAC;IAGD,gDAAc,GAAd;QAEE,OAAO,IAAI,wDAAS,CAAC;YAEnB,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACvD,yDAAU,CAAC,QAAQ;gBACnB,+GAAsB,CAAC,MAAM,CAAC,CAAC,mDAAmD;aACnF,CAAC;YAEF,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrE,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvE,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7E,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACzE,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjE,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtE,MAAM,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/D,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7D,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrE,gBAAgB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,yDAAU,CAAC,aAAa,CAAC;YACxF,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,yDAAU,CAAC,aAAa,CAAC;YAC9E,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,yDAAU,CAAC,aAAa,CAAC;YAC5E,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yDAAU,CAAC,aAAa,CAAC;YACtE,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,yDAAU,CAAC,aAAa,CAAC;YAClE,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,yDAAU,CAAC,aAAa,CAAC;YAClF,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,yDAAU,CAAC,aAAa,CAAC;YAClF,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,yDAAU,CAAC,aAAa,CAAC;YAC1E,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,yDAAU,CAAC,aAAa,CAAC;YAChF,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,yDAAU,CAAC,aAAa,CAAC;SACvF,CAAC,CAAC;IAGL,CAAC;IAGD,sBAAI,gDAAW;aAAf,cAAoB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;;;OAAA;IAEjE,0CAAQ,GAAR,UAAS,OAAO;QAAhB,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9D,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,+CAAa,GAAb;QAAA,iBA8CC;QA5CC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE;YAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;oBAC3D,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACrF,IAAI,MAAM,IAAI,IAAI,EAAE;4BAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;yBAC9B;oBAEH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC7E,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjE;aAEF;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;oBAChE,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAC1F,IAAI,MAAM,IAAI,IAAI,EAAE;4BAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;yBAC9B;oBAEH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC7E,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjE;aACF;SAEF;QACD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAGrD,CAAC;IACD,8CAAY,GAAZ;QACE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IACD,gDAAc,GAAd,UAAe,SAAS;QAAxB,iBAwCC;QAvCC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpF,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;gBAC7B,IAAI,KAAI,CAAC,cAAc,CAAC,YAAY,IAAI,EAAE,EAAE;oBAC1C,IAAI,cAAc,GAAG,EAAE,CAAC;oBAAC,IAAI,UAAU,GAAG,EAAE,CAAC;oBAC7C,IAAI,YAAY,GAAG,KAAI,CAAC,cAAc,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEjH,YAAY,CAAC,OAAO,CAAC,iBAAO;wBAC1B,IAAI,OAAO,IAAI,EAAE,EAAE;4BACjB,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BACpE,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;yBACjE;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBAEpE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE;wBACvJ,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;wBAClC,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;qBACpC;yBAAM;wBACL,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBACjC,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;qBACrC;oBACD,KAAI,CAAC,uBAAuB,EAAE,CAAC;iBAChC;gBAED,KAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC;aAGxE;iBAAM;gBAEL,KAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC3C,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAGrU;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACC,yDAAuB,GAAvB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0JAA0J,CAAC,CAAC;QACxM,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACH,yCAAO,GAAP,UAAQ,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAC,UAAU,EAAC,KAAK;QAEtH,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,OAAO,IAAI,EAAE,EAAE;oBACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvF;qBACI;oBACH,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvG;aACF;SACF;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QAGD,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAE7B,CAAC;IACD,8CAAY,GAAZ,cAAiB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC,CAAC;IAEvD,0CAAQ,GAAR,cAAa,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChE,oDAAkB,GAAlB;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,oDAAkB,GAAlB;QAAA,iBAkBC;QAjBC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;YACvD,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACxE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;oBACxB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,IAAI,IAAE,GAAG,KAAI,CAAC;oBACd,UAAU,CAAC;wBACT,IAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;oBAClC,CAAC,EAAE,GAAG,CAAC,CAAC;iBACT;qBAAM;oBACL,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;SAEJ;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;SACjC;IACH,CAAC;IACD,sDAAoB,GAApB;QACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,6CAAW,GAAX,UAAY,GAAG;QAAf,iBAyCC;QAxCC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAElF,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAU;4BAEhE,IAAI,UAAU,IAAI,IAAI,EAAE;gCACtB,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;6BAC3B;iCACI;gCACH,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;gCAC/B,IAAI,UAAU,IAAI,kBAAkB,EAAE;oCAAE,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;iCAAE;gCACvE,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;6BAC3B;wBACH,CAAC,CAAC,CAAC;qBACJ;yBACI;wBACH,KAAI,CAAC,sBAAsB,GAAG,IAAI;wBAClC,KAAI,CAAC,eAAe,GAAG,MAAM,CAAC;wBAC9B,CAAC,CAAC,UAAU,CAAC;4BACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uHAAuH,CAAC,CAAC;wBACtJ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBAEV;gBACH,CAAC,CAAC,CAAC;aAGJ;iBAAM;gBAEL,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;aAC3B;YAED,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACpC;aACI;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IACH,CAAC;IACD,yDAAuB,GAAvB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mJAAmJ,CAAC,CAAC;QAClL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,qDAAmB,GAAnB;QACE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,mDAAiB,GAAjB;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,iDAAe,GAAf,UAAgB,GAAG;QAAnB,iBA0DC;QAzDC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpU,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;YACxC,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpE,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpD,KAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpD,KAAI,CAAC,aAAa,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5C,KAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9C,KAAI,CAAC,aAAa,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1C,QAAQ,GAAG,EAAE;gBACX,KAAK,WAAW,CAAC,CAAC;oBAChB,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;wBACxE,IAAI,UAAU,GAAG,EAAE,CAAC;wBACpB,QAAQ,CAAC,OAAO,CAAC,kBAAQ;4BACvB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC/B,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACrD,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,MAAM;iBACP;gBACD,KAAK,gBAAgB,CAAC,CAAC;oBACrB,KAAI,CAAC,aAAa,CAAC,UAAU,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC/D,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;oBAC9C,MAAM;iBACP;gBACD,KAAK,aAAa,CAAC,CAAC;oBAClB,MAAM;iBACP;aACF;YACD,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACtF,KAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnB,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE;gBAC7D,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC3C,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACzG;qBAAM,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnD,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAChD;qBAAM;oBACL,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;iBACrC;aACF;YACD,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;YAC9D,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,sDAAoB,GAApB,UAAqB,aAAa;QAAlC,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,aAAa,GAAG,IAAI,2EAAa,EAAE,CAAC;QAE3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAgB,GAAhB,UAAiB,EAAE;QAEjB,IAAI,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,oEAAgB,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACjC;aAAM;SAEN;IAEH,CAAC;IAED,4CAAU,GAAV;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YAEL,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;wBACjD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;4BAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;4BACnI,OAAO;yBACR;qBACF;iBAEF;aACF;YAGD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;SAGpB;IAEH,CAAC;IAED,8DAA4B,GAA5B,UAA6B,SAAS;QAAtC,iBAqDC;QAnDC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAChG,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACjC,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC1C,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrC,KAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC7F,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/B,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;qBAC9B;yBAAM;wBACL,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;qBAC/B;gBACH,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YACrC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE5E,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;YAC5B,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAb,CAAa,CAAC,CAAC,CAAC;iBAC7E,GAAG,CAAC,qBAAW;gBACd,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,WAAW,EAA5B,CAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,WAAW,EAA5B,CAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAC,CAAC,EAAE,CAAE,GAAG,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,WAAW,EAA5B,CAA4B,CAAC,CAAC,MAAM,GAAG,GAAG;oBAChS,KAAK,EAAE,WAAW;iBACnB;YACH,CAAC,CAAC,CAAC;YACL,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,KAAI,CAAC,YAAY,GAAG;gBAClB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,GAAG,EAAE;gBACrF,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;gBACzG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;aAE5G,CAAC;YACF,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YAE1B,KAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;YAC7B,KAAI,CAAC,eAAe,EAAE,CAAC;YAGvB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;YACjC,IAAI,KAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE;aAEhC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC;SAC7C;IAEH,CAAC;IAED,iDAAe,GAAf;QAAA,iBAWC;QAVC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YACxE,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;gBAC5B,KAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC;aAChD;iBAAM;gBACL,KAAI,CAAC,aAAa,CAAC,YAAY,GAAG,MAAM,CAAC;aAC1C;YACD,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAE1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAc,GAAd,UAAe,KAAK;QAApB,iBAQC;QAPC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACtE,OAAO,CAAC,OAAO,CAAC,gBAAM;gBACpB,MAAM,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC/E,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAe,GAAf,UAAgB,MAAM;QAAtB,iBAQG;QAND,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YAC5D,KAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;YACrD,oIAAoI;QAErI,CAAC,CAAC,CAAC;IACH,CAAC;IACH,oDAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAaC;QAXC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,yCAAyC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACxF,KAAK,CAAC,OAAO,CAAC,UAAC,QAAQ;gBACrB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBACjG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,oDAAkB,GAAlB;QAAA,iBAsEC;QApEC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YAChC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC5E,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;oBAC/B,YAAY,GAAG,CAAC,CAAC;iBAElB;aACF;iBAAM;gBACL,YAAY,GAAG,CAAC,CAAC;aAClB;YACD,IAAI,YAAY,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAE/C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACxD,KAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;oBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACnB,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC3C,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAEtF,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACnC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAEhC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC/B,KAAI,CAAC,4BAA4B,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnD,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACvE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;wBACtB,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;4BAC1F,IAAI,MAAM,IAAI,IAAI,EAAE;gCAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;6BAC9B;wBAEH,CAAC,CAAC,CAAC;wBACH,IAAI,KAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;4BAE7B,IAAI,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC;4BAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,OAAO,GAAG,EAAE,CAAC;4BACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACzC,IAAI,OAAO,IAAI,EAAE,EAAE;oCACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iCACvF;qCAAM;oCACL,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iCACvG;6BACF;4BACD,KAAI,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;yBAC7B;wBAED,IAAI,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC;wBAC/B,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;wBAChF,KAAI,CAAC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;oBAEnC,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAC9B,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAC9B,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC9B,CAAC,CAAC,CAAC;aAGJ;SACF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;IACH,CAAC;IACD,0DAAwB,GAAxB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mJAAmJ,CAAC,CAAC;QAClL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,2CAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,mBAAmB,CAAC;IAC7D,CAAC;IAED,6CAAW,GAAX,UAAY,GAAG;QAAf,iBAqFC;QApFC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAExB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChE,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAElC,CAAC,CAAC,CAAC;QAEH,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,sDAAsD;YACtD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,eAAe;YACf,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,0DAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAClD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC1F,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;qBAC9B;gBAEH,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;oBAAE,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;iBAAE;gBAC7E,IAAI,KAAI,CAAC,OAAO,IAAI,IAAI,EAAE;oBACxB,KAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAS;wBAC5F,KAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBAC/C,CAAC,CAAC,CAAC;iBACJ;gBACD,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;gBACpD,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;oBACpC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;iBAC9C;gBACD,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpU,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvC,wDAAwD;gBACxD,KAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACtE,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC;oBACxB,KAAI,CAAC,4BAA4B,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC3C,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,EAAE;oBACzB,KAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAChD;qBACI;oBACH,KAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAEhD;gBACD,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,IAAI,SAAS,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,EAAE;oBAEvH,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;wBAC1I,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACzB,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;qBAC9B;iBACF;gBACD,+DAA+D;YAGjE,CAAC,CAAC,CAAC;SAGJ;aACI;SAEJ;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE;YAE9C,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;SACxB;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;YAEzE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;SACxB;IAKH,CAAC;IAED,wDAAsB,GAAtB;QACE,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IACD,uDAAqB,GAArB;QACE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IAEtC,CAAC;IACD,uCAAK,GAAL;QACE,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;YAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;QACD,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE;YACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;SAC/D;aACI;YACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAEhC,CAAC;IACD,oDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YACL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;gBAChF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACtC;SACF;IACH,CAAC;IAED,qDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YACL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBAEnC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;gBAChF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;aAC9B;SAEF;IACH,CAAC;IAED,yDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YACL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;gBAChF,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;YAED,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC/D;IACH,CAAC;IACD,iDAAe,GAAf,UAAgB,GAAG;QAAnB,iBAoBC;QAnBC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,8BAA8B;QAC9B,+IAA+I;QAC/I,UAAU;QACR,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;QACnF,IAAI;QACH,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACtF,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAEnC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;QAChF,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;IACzC,CAAC;IACD,qDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YACL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAE5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;gBAEhF,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;SAEF;IACH,CAAC;IACD,iDAAe,GAAf,UAAgB,GAAG,EAAC,IAAI;QAAxB,iBAqDC;QApDC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YAEL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBAEnC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;gBAChF,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBACtC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,GAAG,IAAI,eAAe,EAAE;oBAC1B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;oBACpC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACpF,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;oBAC7B,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;iBAEpC;qBAAM;oBACL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACnC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;iBACrC;aAEF;iBAAM;gBACL,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBAEtC,IAAI,GAAG,IAAI,eAAe,EAAE;oBAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBAC1B;qBAAM;oBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;iBAC3B;aAEF;YACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;SACjC;IACH,CAAC;IAED,uDAAqB,GAArB,UAAsB,GAAG;QAAzB,iBAoBC;QAlBC,IAAI,GAAG,IAAI,eAAe,EAAE;YAC1B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,EAAd,CAAc,CAAC,CAAC,CAAC;iBACrF,GAAG,CAAC,qBAAW;gBACd,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,MAAM,GAAG,GAAG;oBAC3Q,KAAK,EAAE,WAAW;iBACnB;YACH,CAAC,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,EAAd,CAAc,CAAC,CAAC,CAAC;iBACvF,GAAG,CAAC,qBAAW;gBACd,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,MAAM,GAAG,GAAG;oBACjR,KAAK,EAAE,WAAW;iBACnB;YACH,CAAC,CAAC,CAAC;SACN;IAEH,CAAC;IACD,mDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,mDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,+CAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;YAE5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;YAChF,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SACrC;IAEH,CAAC;IAID,gDAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;YAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;YAEhF,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAEnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;IAEH,CAAC;IAED,yCAAO,GAAP;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAE1B,CAAC;IACD,8CAAY,GAAZ,UAAa,EAAE,EAAE,KAAK,EAAE,IAAI;QAE1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,iBAAiB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;QAE9D,IAAI,EAAE,IAAI,CAAC,EAAE;YAEX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7C,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACxD,IAAI,IAAI,IAAI,SAAS,EAAE;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;aAAE;YAC1C,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBAChG,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;oBACrC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAClC;;gBAEC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;aACI,IAAI,EAAE,IAAI,CAAC,EAAE;YAChB,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE7C,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEpD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACjC,qEAAqE;YACrE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBAChG,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;oBACrC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAClC;;gBAEC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;aACI;YACH,2BAA2B;YAC3B,4BAA4B;YAC5B,0BAA0B;YAC1B,IAAI,IAAI,IAAI,SAAS,EAAE;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;aAAE;YAC1C,8BAA8B;YAE9B,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;IAED,oDAAkB,GAAlB,UAAmB,EAAE,EAAE,KAAK;QAI1B,IAAI,iBAAiB,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3D,IAAI,EAAE,IAAI,CAAC,EAAE;YACX,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC9D,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;aACI,IAAI,EAAE,IAAI,CAAC,EAAE;YAChB,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAC/D,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAErC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;IACH,CAAC;IACD,kDAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAQC;QAPC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvD,KAAK,CAAC,OAAO,CAAC,qBAAW;YACzB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+CAAa,GAAb,UAAc,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;QAC5C,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,GAAG,GAAG,0BAA0B,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAEtD,CAAC,CAAC,IAAI,CAAC;gBACL,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,UAAU,IAAI;oBACrB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC9C,IAAI,KAAK,IAAI,YAAY,EAAE;wBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;qBAEhC;oBACD,IAAI,KAAK,IAAI,gBAAgB,EAAE;wBAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;qBAEpC;yBACI;wBACH,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;qBAE/B;gBACH,CAAC;aAEF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,kDAAgB,GAAhB,UAAiB,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;QAErD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,GAAG,GAAG,0BAA0B,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;gBACL,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,UAAU,IAAI;oBAErB,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEpE,CAAC;aAEF,CAAC,CAAC;SACJ;IACH,CAAC;IACD,yDAAuB,GAAvB,UAAwB,EAAE;QAExB,IAAI,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,QAAQ,GAAG,EAAE,CAAC;QAC5B,IAAI,MAAM,GAAG,OAAO,GAAG,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,GAAG,GAAG,0BAA0B,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;gBACL,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,UAAU,IAAI;oBACrB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;aAEF,CAAC,CAAC;SACJ;IACH,CAAC;IACD,8CAAY,GAAZ,UAAa,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI;QAE/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,CAAC,IAAI,QAAQ,IAAI,kBAAkB,EAAE;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE;oBAC1D,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;oBACnC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;oBACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;iBAEnD;aACF;SACF;aAAM;YACL,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;SAGrD;IACH,CAAC;IACD,2CAAS,GAAT,UAAU,KAAK,EAAE,OAAO,EAAE,QAAQ;QAChC,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,CAAC,IAAI,QAAQ,IAAI,eAAe,EAAE;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE;oBAC1D,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;oBAC5B,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;oBACzD,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;iBAC5B;aACF;SACF;aAAM;YACL,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE5B,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;aAE7B;YACD,IAAI,OAAO,IAAI,kBAAkB,EAAE;gBACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;aAEjC;iBACI;gBACH,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;aAE5B;SAEF;IACH,CAAC;IAED,8CAAY,GAAZ,UAAa,OAAO;QAElB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,EAAE;oBAC/C,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACnD;aACF;SACF;aACI;YACH,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;SAC/B;IAGH,CAAC;IAED,8CAAY,GAAZ;QAEE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,oEAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,0CAAQ,GAAR;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI,GAAG,CAAC;gBACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;SACJ;QAGD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,+CAAa,GAAb;QACE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAE/D,CAAC;IACD,+CAAa,GAAb;QACE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC9D,CAAC;IACD,kDAAgB,GAAhB,UAAiB,CAAC;QAChB,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAEtE,CAAC;IACD,kDAAgB,GAAhB,UAAiB,CAAC;QAChB,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACrE,CAAC;IACD,uDAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACvE,CAAC;IACD,uDAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACtE,CAAC;IACD,6CAAW,GAAX,UAAY,EAAE,EAAE,IAAI;QAClB,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,gDAAc,GAAd,UAAe,IAAI,EAAE,EAAE,EAAE,IAAI;QAE3B,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;IAErD,CAAC;IACD,qDAAmB,GAAnB,UAAoB,EAAE,EAAE,IAAI;QAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;IAC7B,CAAC;IACD,gDAAc,GAAd;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,oBAAoB;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;YAC7C,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,GAAG,CAAC;YAC5H,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACnC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9C,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;YAC7D,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4DAA4D,CAAC,CAAC;YACxG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC5D,IAAI,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;gBAC7C,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aACxD;SACF;IAEH,CAAC;IACD,oDAAkB,GAAlB;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,oBAAoB;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,GAAG,CAAC;YAC5H,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACnC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9C,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;YAC7D,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4DAA4D,CAAC,CAAC;YACxG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACxD,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aAC5D;iBAAM;gBACL,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;aAC7D;SACF;IACH,CAAC;IACD,kDAAgB,GAAhB,UAAiB,GAAG;QAClB,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;QAC3I,+BAA+B;IACjC,CAAC;IACD,gDAAc,GAAd,UAAe,GAAG;QAAlB,iBAYC;QAXC,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;YAChH,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACxH,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;gBACzC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IACD,2CAAS,GAAT;QACE,IAAI,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,gBAAgB;QAChB,IAAI,SAAS,IAAI,GAAG,EAAE;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,uFAAuF,CAAC;YAC5G,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;YAC1C,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;YAEtC,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;YAC3C,oEAAoE;YACpE,yDAAyD;YACzD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;YACzC,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACnC;IAEH,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE;YAC5B,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC;YAC3D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;SACzB;aAAM;YACL,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;IACH,CAAC;IACD,gDAAc,GAAd,UAAe,GAAG,EAAE,IAAI;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC1C,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;wBACnI,OAAO;qBACR;oBACD,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE;wBAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6FAA6F,EAAE,eAAe,CAAC,CAAC;wBACpI,OAAO;qBACR;iBACF;aAEF;SACF;IAEH,CAAC;IAED,oDAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;YAExB,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE;oBACjE,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACxB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;iBAC/B;aACF;iBAAM;gBACL,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;oBACnG,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;iBAC9B;aACF;SACF;IACH,CAAC;IACD,mDAAiB,GAAjB,UAAkB,GAAG;QAArB,iBAwBC;QAtBC,IAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAE1C,KAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBACnE,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;gBAC7B,KAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC3B,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;oBACnF,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACpC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACrC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;iBAE9D;qBAAM;oBACL,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;oBACnC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACpC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;iBAE7D;gBACD,YAAY;YACd,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,8CAAY,GAAZ,UAAa,KAAK;QAEhB,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;aAC/B;SACF;IACH,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;SAEjC;IACH,CAAC;IACD,8CAAY,GAAZ;QACE,CAAC,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IACD,gDAAc,GAAd;QACE,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,gDAAc,GAAd;QACE,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,iDAAe,GAAf;QACE,CAAC,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IACD,+CAAa,GAAb,UAAc,GAAG;QACf,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;SACpC;QACD,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,4CAAU,GAAV;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAGD,sBAAI,gDAAW;aAAf;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAc,CAAC;QACvD,CAAC;;;OAAA;IAAA,CAAC;IAEF,8CAAY,GAAZ,UAAa,SAA6B;QAA1C,iBAKC;QAHC,IAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,iBAAO,IAAI,YAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAtB,CAAsB,CAAC,CAAC;QACpE,IAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IACD,iDAAe,GAAf;QAAA,iBAQC;QANC,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtC,IAAM,mBAAmB,GAAuB,SAAS,CAAC,WAAW,CAAC,GAAG,CAEvE,UAAC,OAAyB,IAAK,aAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAA/D,CAA+D,CAC/F,CAAC;QACF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,gDAAc,GAAd,UAAe,QAAQ;QAErB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC9B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3C;SAEF;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC3C;IAEH,CAAC;IACD,6CAAW,GAAX,UAAY,EAAE;IACd,CAAC;IAED,iDAAe,GAAf,UAAgB,GAAa;QAC3B,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;YAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAI,GAAG,CAAC,gBAAgB,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;SAClD;IAEH,CAAC;IACD,mDAAiB,GAAjB,UAAkB,SAAS;QAEzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,oDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,QAAQ;YACzB,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;SAE3D;aAEI;YACH,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;SAEzD;IAEH,CAAC;IACD,gDAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iIAAiI,CAAC,CAAC;QAChK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,kDAAgB,GAAhB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IACD,gDAAc,GAAd;QACE,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC;IAC7B,CAAC;IACD,kDAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAAhC,iBAgCC;QA/BC,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAChG,IAAI,aAAa,GAAW,EAAE,CAAC;YAC/B,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,aAAa,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;gBAChD,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC1B,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;;gBAErE,aAAa,GAAG,GAAG,CAAC;YACtB,iIAAiI;YACjI,KAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBACpI,WAAW,CAAC,OAAO,CAAC,eAAK;oBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;oBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;oBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;gBAED,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;gBAC5B,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,EAAhB,CAAgB,CAAC,CAAC;gBAC1D,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;oBAA3B,IAAI,IAAI;oBAChB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;wBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC7C;iBACF;YACH,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAEzB,CAAC;IAED,0CAAQ,GAAR,UAAS,SAAS,EAAE,IAAI;QAAxB,iBAYC;QAXC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC1F,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACrE,8BAA8B;YAChC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC9B,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,uDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,WAAW,GAAG;YACjB,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF,EAAE,QAAQ,EAAE,OAAO;YACpB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,uDAAqB,GAArB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE;YAClM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK;gBACjM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAChN,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAE7Q,CAAC;IAEJ,CAAC;IAED,oDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACZ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,kDAAgB,GAAhB;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC/D;IAEH,CAAC;IACD,uCAAK,GAAL,UAAM,GAAG;QACP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,4CAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACvD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,CAAC;IACD,0CAAQ,GAAR,UAAS,SAAS;QAAlB,iBAiBC;QAfC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,SAAS,IAAI,UAAU,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;SACzC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9D,CAAC;IAED,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,mDAAiB,GAAjB;QAEE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,gDAAc,GAAd;QAEE,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;SACpC;IACH,CAAC;IACD,6CAAW,GAAX,UAAY,GAAG;QACb,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,GAAG,GAAG,QAAQ,EAAE;YAClB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;SACnC;IACH,CAAC;IACD,yCAAO,GAAP,UAAQ,GAAG;IACX,CAAC;IACD,wDAAsB,GAAtB;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,oDAAkB,GAAlB;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACM,2CAAS,GAAhB,UAAiB,KAAa;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;aACI;YAEH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjD;IAEH,CAAC;IAED,kDAAgB,GAAhB,UAAiB,MAAM;QACrB,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAE1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YAEX,iDAAiD;YACjD,oDAAoD;YACpD,2CAA2C;YAC3C,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,4CAA4C;gBAC5C,+CAA+C;gBAC/C,oEAAoE;gBACpE,4DAA4D;gBAC5D,oEAAoE;gBACpE,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;iBAAM;gBAEL,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gBACrC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mFAAmF,CAAC,CAAC;gBAEhI,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;iBAC/C;aACF;YAED,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,oDAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,0CAAQ,GAAR;QACE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpB,CAAC;IACD,gDAAc,GAAd,UAAe,YAAY;QACzB,IAAI,QAAQ,GAAG,aAAa,CAAC;QAC7B,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;QAEtE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,0DAA0D,CAAC;QAC7G,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0KAA0K,CAAC,CAAC;IAEzM,CAAC;IACD,0CAAQ,GAAR,UAAS,SAAS,EAAE,MAAM,EAAE,IAAI;QAC9B,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,6CAAW,GAAX;QACE,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,IAAI,WAAW,EAAE;YAC9D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;YACzD,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACzC;aAAM;YACL,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACzD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;YAC1D,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SAC1C;IACH,CAAC;IACD,sDAAoB,GAApB,UAAqB,GAAG;QAAxB,iBAuBC;QAtBC,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;YACrC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aACI,IAAI,KAAK,EAAE;YACd,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAChE,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;YAElC,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,GAAG,IAAI,OAAO,EAAE;YACzB,IAAI,CAAC,KAAK,EAAE;SACb;aACI;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAC1B;IAEH,CAAC;IACD,gDAAc,GAAd;QAEE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAChD;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;QACH,mCAAmC;IACrC,CAAC;IACD,kDAAgB,GAAhB;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,GAAG,0DAA0D,CAAC;IACjK,CAAC;IACD,8CAAY,GAAZ;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,GAAG,0DAA0D,CAAC;IACjK,CAAC;IACD,kDAAgB,GAAhB,UAAiB,WAAW;QAA5B,iBA0CC;QAzCC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YAEL,IAAI,WAAW,IAAI,aAAa,EAAE;gBAChC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAS;oBAC5F,KAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBAC7C,IAAI,SAAS,IAAI,MAAM,EAAE;wBACvB,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;wBAChC,KAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;wBAChD,KAAI,CAAC,SAAS,EAAE,CAAC;qBAClB;yBAAM;wBACL,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,MAAM,GAAG,WAAW,CAAC;wBAC1B,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;wBAC/B,KAAI,CAAC,qBAAqB,EAAE,CAAC;qBAC9B;gBAEH,CAAC,CAAC,CAAC;aAEJ;iBACI,IAAI,WAAW,IAAI,MAAM,EAAE;gBAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;iBACI;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC9D;aAEF;SACF;IAEH,CAAC;IAED,2CAAS,GAAT;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qGAAqG,CAAC,CAAC;QACpI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,8CAAY,GAAZ;QACE,UAAU,CAAC;YACT,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4GAA4G,CAAC,CAAC;QAC5J,CAAC,EAAE,CAAC,CAAC;IAEP,CAAC;IACD,2CAAS,GAAT,UAAU,OAAO;QACf,IAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE;YAC/B,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,uFAAuF,CAAC;YAC5G,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;YAC1C,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,EAAE;YAC5F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,oCAAoC;YACpC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAC;YACnC,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBAGX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBAEvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE;wBAC9B,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBAEhD;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,SAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;SAE7E;IAGH,CAAC;IACD,sDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,IAAI,GAAG,IAAI,aAAa,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACnC;aACI,IAAI,GAAG,IAAI,aAAa,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAE7C;aACI;YACH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEnD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;SACvF;IAEH,CAAC;IACD,oDAAkB,GAAlB,UAAmB,OAAgB;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC5B,CAAC;IAID,qCAAG,GAAH;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,4CAAU,GAAV;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;IAE3D,CAAC;IACD,4DAA0B,GAA1B,UAA2B,GAAG;QAE5B,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;IACH,CAAC;IAED,mDAAiB,GAAjB,UAAkB,GAAG;QAArB,iBAyBC;QAvBC,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,EAA/B,CAA+B,CAAC,CAAC;aAC3F;iBAAM;gBACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC;aAAC;SACjD;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,GAAG,EAApB,CAAoB,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,EAAvD,CAAuD,CAAC,CAAC;aACnH;iBACI;gBACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,GAAG,EAApB,CAAoB,CAAC,CAAC;aAChF;SAEF;QACD,IAAI,CAAC,YAAY,GAAG;YAClB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE;YAC7E,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;YACjG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE;SAEpG,CAAC;IAEJ,CAAC;IACD,qDAAmB,GAAnB,UAAoB,GAAG;QAAvB,iBAiBC;QAhBC,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,IAAI,CAAC,mBAAmB,IAAI,KAAK;gBACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC;iBAC1C;gBACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,KAAI,CAAC,mBAAmB,EAAzC,CAAyC,CAAC,CAAC;aACrG;SACF;aAAM;YACL,IAAI,IAAI,CAAC,mBAAmB,IAAI,KAAK,EAAE;gBACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,IAAI,KAAI,CAAC,mBAAmB,EAA5D,CAA4D,CAAC,CAAC;aACxH;iBACI;gBACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,GAAG,EAAf,CAAe,CAAC,CAAC;aAC3E;SAEF;QACD,mCAAmC;IACrC,CAAC;IACD,mDAAiB,GAAjB,UAAkB,KAAK;IAEvB,CAAC;IAED,iDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC;QACjC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;YAC/B,IAAI,GAAG,IAAI,gBAAgB,EAAE;gBAC3B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE;oBACrE,KAAK,CAAC,uBAAuB,CAAC,CAAC;iBAChC;qBAAM;oBACL,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;iBACjC;gBACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;aAElC;iBAAM,IAAI,GAAG,IAAI,WAAW,EAAE;gBAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;aAChD;iBACI,IAAI,GAAG,IAAI,aAAa,EAAE;gBAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aAChD;SAGF;IACH,CAAC;IACD,uDAAqB,GAArB,UAAsB,SAAkB,EAAE,cAAuB,EAAE,WAAoB;QACrF,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;IACvC,CAAC;IAED,iDAAe,GAAf;QACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC;QAC5C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,oDAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAOC;QANC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,iBAAO;YAClB,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,uBAAuB,IAAI,GAAG,IAAI,yBAAyB,EAAE;YACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,oCAAoC;SACrC;IACH,CAAC;IACD,uDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yGAAyG,CAAC,CAAC;QACxJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,uDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yGAAyG,CAAC,CAAC;QACxJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,qDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,kDAAgB,GAAhB,UAAiB,KAAK;QACpB,QAAQ,CAAC;QACT,IAAI,KAAK,IAAI,OAAO,EAAE;YAAE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SAAE;aACrD,IAAI,KAAK,IAAI,uBAAuB,IAAI,KAAK,IAAI,yBAAyB,EAAE;YAC/E,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAClC;iBACI,IAAI,KAAK,CAAC,OAAO,IAAI,UAAU,EAAE;gBACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACpC;iBACI,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;gBACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;iBAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;gBACxC,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;SACF;IAEH,CAAC;IACD,2CAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,0CAAQ,GAAR;QACE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,kDAAgB,GAAhB;QAAA,iBAYC;QAVC,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;SAEtC;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC;YACnD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SACjD;QAED,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAS;YACtE,KAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,QAAQ,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE;gBAC1C,KAAK,MAAM,CAAC,CAAC;oBACX,IAAI,OAAO,CAAC,mBAAmB,IAAI,KAAK,EAAE;wBACxC,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,OAAO,CAAC,mBAAmB,EAA5C,CAA4C,CAAC;qBAC7G;yBAAM;wBACL,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;qBACpD;oBACD,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,EAAlC,CAAkC,CAAC;oBAC3G,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA5D,CAA4D,CAAC,CAAC;oBACzI,MAAM;iBACP;gBACD,KAAK,MAAM,CAAC,CAAC;oBACX,IAAI,OAAO,CAAC,mBAAmB,IAAI,KAAK,EAAE;wBACxC,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,OAAO,CAAC,mBAAmB,EAA5C,CAA4C,CAAC;qBAC7G;yBAAM;wBACL,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;qBACpD;oBACD,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,EAAlC,CAAkC,CAAC;oBAC3G,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA9D,CAA8D,CAAC,CAAC;oBAC3I,MAAM;iBACP;gBACD,KAAK,gBAAgB,CAAC,CAAC;oBACrB,IAAI,OAAO,CAAC,mBAAmB,IAAI,KAAK,EAAE;wBACxC,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,OAAO,CAAC,mBAAmB,EAA5C,CAA4C,CAAC;qBAC7G;yBAAM;wBACL,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;qBACpD;oBACD,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,EAAlC,CAAkC,CAAC;oBAC3G,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA9B,CAA8B,CAAC,CAAC;oBAC3G,MAAM;iBACP;gBACD,KAAK,cAAc,CAAC,CAAC;oBACnB,IAAI,OAAO,CAAC,mBAAmB,IAAI,KAAK,EAAE;wBACxC,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,OAAO,CAAC,mBAAmB,EAA5C,CAA4C,CAAC;qBAC7G;yBAAM;wBACL,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;qBACpD;oBACD,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,EAAlC,CAAkC,CAAC;oBAC3G,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAC,OAAO,CAAC,CAAC,CAAC;iBAErG;gBACD,OAAO,CAAC,CAAC;iBAER;aACF;QAEH,CAAC,EAAE,GAAG,CAAC;IAGT,CAAC;IAED,6CAAW,GAAX,UAAY,SAAS,EAAC,KAAK;QAC3B,OAAO,UAAU,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,CAAC;aACV;iBACI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE;gBACtE,OAAO,CAAC,CAAC;aACV;iBACI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE;gBACtE,OAAO,CAAC,CAAC,CAAC;aACX;iBACI,IAAI,SAAS,EAAE;gBAClB,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC;iBACI;gBACH,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC;QAEH,CAAC,CAAC;IAEF,CAAC;IACD,4DAA0B,GAA1B,UAA2B,GAAG;QAC1B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACR;aAAM;YACH,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACR;IACH,CAAC;IAED,mDAAiB,GAAjB,UAAkB,GAAG;QACnB,IAAI,CAAC,YAAY,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,0CAAQ,GAAR,UAAS,MAAM;QACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,yDAAuB,GAAvB,UAAwB,MAAM;QAC5B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC;IAC5D,CAAC;IACD,8CAAY,GAAZ;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4IAA4I,CAAC,CAAC;QACtL,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,6CAAW,GAAX,UAAY,GAAG;QACb,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IACD,4CAAU,GAAV,UAAW,GAAG;QACZ,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aACI;YACH,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;IACH,CAAC;IAEH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGCt9GK,8LAC4D,YAD6B;;wBAA8C;MAAvI,47BAC4D,mDAD5C,mBAAmB,OAAC,mBAAoD,qCAAxF,YAC4D,EAD5C,SAAmB,EAAC,SAAoD;sGAGxF,oLAAmG,KACjG,kNAAqE,YAA7B;;wBAA4B;MAApE,wBAAqE,KAAC,2LAAiE;sGAL3I,2LAA2I,KACzI,0YAC4D,IAE5D,0YAAmG,iDAFnF,oBAA2C,qCAD3D,YAC4D,EAA5C,SAA2C,GAErC,mBAA0C,qCAAhE,YAAmG,EAA7E,SAA0C;sGAU5D,qKAAwE,uFAAW;sGACnF,qKAAwE,gGAAmB;sGAH7F,6IAA0I,KACxI,4KAAkC,YAA5B;;wBAA2B;MAAjC,wBAAkC,0OAA2G,KAC7I,0YAAwE,IACxE,0YAAwE,IACxE,4KAA8C,YAAxC;;wBAAuC;MAA7C,wBAA8C,6PAA8H,kDAFzK,uCAAwB,GAA3B,YAAwE,EAArE,SAAwB,GACxB,uCAAwB,GAA3B,YAAwE,EAArE,SAAwB;sGAK/B,kPAA8I,KAC5I,mJAA6B,KAC7B;;;;;;;;;;;wBAAiJ;MAAzD;;wBAAkC;MAAC;;wBAAmB;MAA9I,wxCAAiJ,iDAAtB,mBAAmB,QAA9I,YAAiJ,EAAtB,SAAmB,2BAA9I,8sBAAiJ;sGAG/I,iZAeqD,YANpC;;wBAAsC;MACtC;;wBAA8C;MAC9C;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAA+C;MAC/C;;wBAAmC;MAfpD,mxDAeqD,mIAdpC,mBAA2B,cAG3B,mBAAwB,eAFxB,mBAAyB,aAMzB,mBAA2C,sBAH3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAyB,EAP1C,YAeqD,EAdpC,SAA2B,EAG3B,SAAwB,EAFxB,SAAyB,EAMzB,SAA2C,EAH3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EACnB,SAAyB;uGAU1C,uHAA4B,KAC1B,yKAA6C,KAC3C,8NAAkG,KAElG,oMAAwE,KACtE,4PAA8G,YAAzG;;wBAA+B;MAApC,wBAA8G,KAGlH,+2BAAiF,iDAArE,mBAAyB,YAAC,yBAAwB,EAA9D,YAAiF,EAArE,SAAyB,EAAC,SAAwB;sGAxCpE,+mBAA6S,IAE3S,0YAA0I,IAQ5I,0YAA8I,IAI5I,uNAA2F,KACzF,0YAeqD,IAErD,4YAA4B,iDAhC3B,wHAAwG,IAA7G,YAA6S,EAAxS,SAAwG,GAEpF,2GAAkH,sCAAzI,YAA0I,EAAnH,SAAkH,GAQtI,oBAAuB,iBAA5B,YAA8I,EAAzI,SAAuB,GAKP,8CAA8C,kBAA/D,YAeqD,EAfpC,SAA8C,GAiB1D,mBAAsB,iBAA3B,aAA4B,EAAvB,SAAsB,mDAhCwJ,mGAA2F,GAAlR,YAA6S,EAAtH,SAA2F;uGA6ChR,+KAAiF,KAC/E,4KAA4C,YAAtC;;wBAAqC;MAA3C,wBAA4C,KAAC,yNAA+F;uGAFhJ,mkBAAgO,IAC9N,2YAAiF,IAGjF,0LAA2G,YAA7C;;wBAA4C;MAA1G,qjBAA2G,mDAJ3D,sEAA8D,GAAhH,YAAgO,EAA9K,SAA8D,GACvF,mBAA6B,wBAApD,YAAiF,EAA1D,SAA6B,GAGxC,mBAAuB,YAAC,0BAAyB,EAA7D,YAA2G,EAA/F,SAAuB,EAAC,SAAyB,mDAJmF,6FAA6E,IAA/N,YAAgO,EAA9E,SAA6E;uGAO/N,iLAA0G,KACxG,+KAAmD,KACjD,4KAA4C,YAAtC;;wBAAqC;MAA3C,wBAA4C,KAAC,yNAA+F,KAE9I,0LAA8D,KAE5D,m7CAKiC,iDAHlB,mBAAwB,YACxB,yBAAiB,EAEjB,qBAAiB,EAJjB,mBAAuB,EAGvB,uBAAoB,EAJnC,YAKiC,EAHlB,SAAwB,EACxB,SAAiB,EAEjB,SAAiB,EAJjB,SAAuB,EAGvB,SAAoB;uGAOvC,8LAA4J,KAC1J,8LAAyH,YAAvC;;wBAAsC;MAAxH,+wCAAyH,mDAA1F,6BAA8B,aAA5C,mBAAa,OAAgC,2BAAmB,EAAjF,YAAyH,EAA1F,SAA8B,EAA5C,SAAa,EAAgC,SAAmB;uGASrF;;;;;;;;;;;wBAAuJ;MAAzD;;wBAAsB;MAApH,2yCAAuJ,iDAAzE,0BAAe,EAAC,mBAAsB,WAApH,YAAuJ,EAAzE,SAAe,EAAC,SAAsB,2BAApH,8sBAAuJ;uGAMrJ,wNAAqF,YAAtC;;wBAAoB;MAAnE,wBAAqF,iFAAI;uGACzF,6LAAsE,YAAxC;;wBAA0B;MAAxD,wBAAsE,iFAAI;uGAR9E,+KAAmE,KACjE,2YAAuJ,IACvJ,sKAA0C,KACxC,6SAAgJ,YAAxI;;wBAA8B;MAAtC,wBAAgJ,2JAAgC,KAGlL,4KAAgD,KAC9C,2YAAqF,IACrF,4YAAsE,IACtE,oKAAuC,kDAR/B,mBAA4B,uBAAtC,YAAuJ,EAA7I,SAA4B,GAM9B,mBAAuB,kBAA7B,YAAqF,EAA/E,SAAuB,GACvB,mBAAuB,kBAA7B,aAAsE,EAAhE,SAAuB;uGAOnC,uHAAiC;uGAEjC,kNAA4H,YAAhH;;wBAA2B;MAAvC,6dAA4H,MAC1H,gMAA4G,YAAtC;;wBAAqC;MAA3G,69BAA4G,mDAD5B,qBAAkB,EAAxF,mBAA2B,gBAA8D,qBAAsB,EAA3H,YAA4H,EAA1C,SAAkB,EAAxF,SAA2B,EAA8D,SAAsB,GACnG,mBAA4B,YAAC,yBAAkB,EAArE,YAA4G,EAAtF,SAA4B,EAAC,SAAkB;uGAGvE,kNAA8H,YAA/E;;wBAA6B;MAA5E,0cAA8H,MAC5H,oNAA2F,KACzF,gMAAuE,KACrE,qJAA+B,oGAAuB,MAExD,6LAAoE,KAElE,w5CAIiC,iDAXQ,mBAA6B,kBAAqB,uBAA4B,EAA7H,YAA8H,EAA/E,SAA6B,EAAqB,SAA4B,GASxG,mBAAe,QACf,yBAAiB,EACjB,qBAAiB,EAHjB,6BAAiC,EADhD,YAIiC,EAFlB,SAAe,EACf,SAAiB,EACjB,SAAiB,EAHjB,SAAiC;uGAkBqB,wHAAoD,mcAA6B;uGAiBxJ,uHAAsC,KACpC,sJAAgC,4FAEhC;uGAGA,gLAAqH,KACnH,iJAA0B,KACxB,kLAAsD,KACpD,4IAAsB,qFAAQ,MAAK,yQAAuH,YAAlF;;wBAA6B;MAAlE,wBAAuH,KAE5J,qNAAyF,2FAEzF,MACA,qNAAyF,2FAEzF,MACA,sNAAyF,4GAEzF,MACA,sNAAyF,yFAEzF,MACA,qQAAwI,uFAExI,iCAnBC,2HAA6B,GAAlC,YAAqH,EAAhH,SAA6B,GAK2D,sEAEzF,GACyF,sEAEzF,GACyF,+KAEzF,GACyF,oEAEzF,GACwI,kEAExI;uGApBN,uHAAqC,KACnC,odAAqH,iDAAjE,mBAA6C,sBAAjG,YAAqH,EAAjE,SAA6C;uGA6B/F,o+BAAiG,IAC/F,yLAAkE,KAChE,gJAA0B,2FAAsB,uOAA4E,YAAzC;;wBAA0B;MAA7D,wBAA4E,kFAAK,MAEjI,kMAAqE,KACnE,6IAAsB,KACpB,0HAAO,sFAAS,MAElB,6IAAsB,KACpB;;;;;;;;;;;;06CAAiG,IAGrG,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,qFAAQ,MAEjB,6IAAsB,KACpB;;;;;;;;;;;;06CAAiG,IAGrG,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,6FAAgB,MAEzB,8IAAsB,KACpB,mKAA4C,KAC1C;;;;;;;;;;;;06CAA0F,IAE5F,2KAA8C,KAC5C;;;;;;;;;;;;06CAA4F,IAE9F,2KAA8C,KAC5C;;;;;;;;;;;;;;;;;;;;;;;;mwBAAqH,GAA/B,gEAA4B,KAAlH,ioCAAqH,IAI3H,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,uFAAU,MAEnB,8IAAsB,KACpB,mKAA4C,KAC1C;;;;;;;;;;;;;;;;;;;;;;;;mwBAAgJ,GAArD,gEAA8B,KAAzH,ioCAAgJ,IAElJ,2KAA8C,KAC5C;;;;;;;;;;;;;;;;;;;;;;;;mwBAAwH,GAAjC,gEAA8B,KAArH,ioCAAwH,IAI9H,+NAAiG,KAC/F,6IAAsB,KACpB,0HAAO,yFAAY,MAErB,8IAAsB,KACpB,mKAA4C,KAC1C;;;;;;;;;;;;;;;;;;;;;;;;mwBAA8I,GAAjC,gEAA8B,KAA3I,ioCAA8I,IAEhJ,2KAA8C,KAC5C;;;;;;;;;;;;;;;;;;;;;;;;mwBAA8I,GAAjC,iEAA8B,KAA3I,moCAA8I,IAIpJ,wHAAI,kDA9DqE,kBAAmB,gBAAhG,YAAiG,EAApB,SAAmB,GAShD,2BAA0B,EAAlE,aAAiG,EAAzD,UAA0B,GAQ1B,2BAA0B,EAAlE,aAAiG,EAAzD,UAA0B,GASxB,uBAAsB,EAA9D,aAA0F,EAAlD,UAAsB,GAGtB,wBAAuB,EAA/D,aAA4F,EAApD,UAAuB,GAGuB,mCAA4B,WAAlH,aAAqH,EAA/B,UAA4B,GAA1E,sBAAqB,EAA7D,aAAqH,EAA7E,UAAqB,GAU8B,mCAA8B,aAAzH,aAAgJ,EAArD,UAA8B,GAAjF,wBAAuB,EAA/D,aAAgJ,EAAxG,UAAuB,GAGwB,mCAA8B,aAArH,aAAwH,EAAjC,UAA8B,GAA7E,sBAAqB,EAA7D,aAAwH,EAAhF,UAAqB,GAUgD,mCAA8B,aAA3I,aAA8I,EAAjC,UAA8B,GAAnG,8BAA6B,EAArE,aAA8I,EAAtG,UAA6B,GAGwC,oCAA8B,aAA3I,aAA8I,EAAjC,UAA8B,GAAnG,8BAA6B,EAArE,cAA8I,EAAtG,UAA6B,2BA1D/E,8sBAAiG,GAC1F,wHAAgB,GAArB,YAAkE,EAA7D,SAAgB,GACO,qEAAsB,GAO5C,ouBAAiG,GAQjG,ouBAAiG,GAS/F,ouBAA0F,GAG1F,ouBAA4F,GAG5F,ouBAAqH,GAUrH,ouBAAgJ,GAGhJ,ouBAAwH,GAUxH,ouBAA8I,GAG9I,2uBAA8I;uGAkCtJ,uKAAqG,uMAAqB;uGAExH,wHAA2B,kMAAgB;uGAC3C,wHAA4B,kaAAqC;uGACjE,wHAAuC,8MAA4B;uGACR,wHAAoD,8EAAC;uGAAhH,wHAA0B,+MAAiC,+YAAoD,IAAQ,oMAA4B,iDAAlF,+DAA6C,IAAnD,YAAoD,EAA9C,SAA6C,mDAApF,iMAAiC,GAA4D,kMAA4B;uGACnJ,wHAA8B,4MAA0B;uGAGxD,wHAAuD,2MAAyB;uGAChF,wHAAmG,+EAAE;uGACrG,wHAAoD,sMAAoB;uGAItE,wHAAqF,sGAAyB,2HAAG,gFAAG;uGACpH,wHAA8C,sGAAyB,2HAAG,gFAAG;uGAvBvF,oNAA2G,KACzG,2LAA8D,KAC5D,gMAAmE,KACjE,yKAA6C,KAC3C,sNAA0F,gFAAuB,MAEnH,uKAA2C,gFAAoB,MAC/D,2YAAqG,IACrG,yKAA2C,KACzC,4YAA2B,IAC3B,4YAA4B,IAC5B,4YAAuC,IACvC,4YAA0B,IAC1B,4YAA8B,IAEhC,wKAA2C,KACzC,4YAAuD,IACvD,4YAAmG,IACnG,4YAAoD,IAEtD,wKAA2C,KACzC,+IAAwB,KACtB,4YAAqF,IACrF,4YAA8C,IAEhD,+IAAwB,KACtB,yHAAM,KAEJ,sJAAqD,iFAAmB,MAK9E,wKAA2C,KACzC,0HAAO,sFAAU,MAAQ,wJAAiC,iFAAiB,MAIjF,kLAAoD,KAClD,4LAA+D,+KAAmD,0FAAa,MAC/H,8LAAgE,KAC9D,sJAA+B,+JACoD,6HAAM,KAEjF,uHAAM,KACd,uLAAyD,KACvD,qJAA6B,KAC3B,uHAAI,+HAAO,wFAAW,+IAAyE,mFAAwC,MAAe,uHAAM,KAC5J,uHAAI,+HAAO,+FAAkB,+IAAiF,mFAAgD,MAAgB,uHAAM,KACpL,uHAAI,+HAAO,uFAAU,+IAAyE,mFAAwC,MACtI,uHAAI,+HAAO,0FAAa,+IAA2E,mFAA0C,MAC7I,uHAAI,+HAAO,6FAAgB,+IAAiF,mFAAgD,MAKhK,uHAAM,4HAAM,KACZ,mKAA4C,sJAE5C,MAAQ,uHAAM,kDApDT,8EAAyD,IAA9D,YAAqG,EAAhG,SAAyD,GAEtD,mBAAoB,eAA1B,aAA2B,EAArB,SAAoB,GACpB,mBAAqB,gBAA3B,aAA4B,EAAtB,SAAqB,GACrB,mBAAgC,2BAAtC,aAAuC,EAAjC,SAAgC,GAChC,mBAAmB,cAAzB,aAA0B,EAApB,SAAmB,GACnB,mBAAuB,kBAA7B,aAA8B,EAAxB,SAAuB,GAGvB,wEAAgD,IAAtD,aAAuD,EAAjD,SAAgD,GAChD,mIAA4F,KAAlG,aAAmG,EAA7F,SAA4F,GAC5F,qEAA6C,IAAnD,aAAoD,EAA9C,UAA6C,GAI3C,kGAA8E,IAApF,aAAqF,EAA/E,UAA8E,GAC9E,qDAAuC,GAA7C,aAA8C,EAAxC,UAAuC,mDAnB2C,gEAAuB,GAExE,6DAAoB,GAsBtD,yHAAiC,GAApC,aAAqD,EAAlD,UAAiC,GAAiB,+DAAmB,GAMlB,6DAAiB,GAa7C,2EAAkE,GAAxE,aAAyE,EAAnE,UAAkE,GAAC,6EAAwC,GACpG,mFAA0E,GAAhF,aAAiF,EAA3E,UAA0E,GAAC,qFAAgD,GACnI,2EAAkE,GAAxE,aAAyE,EAAnE,UAAkE,GAAC,6EAAwC,GACxG,6EAAoE,GAA1E,aAA2E,EAArE,UAAoE,GAAC,+EAA0C,GAC5G,mFAA0E,GAAhF,aAAiF,EAA3E,UAA0E,GAAC,qFAAgD;uGAyB5J,wRAC8D,YAAtD;;wBAAqD;MAD7D,wBAC8D,iFAE9D;uGACA,wRAAwJ,YAA9B;;wBAA6B;MAAvJ,wBAAwJ,iFAExJ;uGAlBV,6NAAqH,KACnH,uKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,gFAAS,MAAM,sHAAM,KAC7G,wLAA4D,gFAAY,MAE3E,yLAA2D,KACzD,uKAA0C,KAE1C,sKAAyC,KACvC,qKAAwC,KACtC,4YAC8D,IAG9D,4YAAwJ,IAI1J,qKAAwC,KACtC,yWAC+B,YAA9B;;wBAA6B;MAD9B,wBAC+B,mFAAM,mDAV7B,mBAAgB,WAAxB,aAC8D,EADtD,SAAgB,GAIhB,oBAAiB,WAAzB,aAAwJ,EAAhJ,SAAiB,mDAZ4D,kDAAS,GACrC,qDAAY;uGAvEnF,oNAA0F,YAA9E;;wBAA8B;MAA1C,+ZAA0F,MACxF,6LAAoE,KAClE,2YAA2G,IAgE3G,2YAAqH,iDAlE7G,mBAA8B,mBAA1C,YAA0F,EAA9E,SAA8B,GAEjC,mBAAmB,YAAxB,YAA2G,EAAtG,SAAmB,GAgEnB,oBAAoB,YAAzB,YAAqH,EAAhH,SAAoB;uGAkC7B,mNAA8F,YAAlF;;wBAAuB;MAAnC,0bAA8F,MAC5F,4LAA6G,YAA9C;;wBAA6C;MAA5G,41BAA6G,mDADpC,qBAAkB,EAAjF,mBAAuB,YAAnC,YAA8F,EAAnB,SAAkB,EAAjF,SAAuB,GACf,mBAAmB,YAAC,2BAAwB,EAA9D,YAA6G,EAA3F,SAAmB,EAAC,SAAwB;+uBAtXhE,mLAAsD,KACpD,yLAAyD,KACzD,qMAAqE,KACrE,yMAA2E,KACzE,2YAA2I,IAQ3I,wLAA8H,KAE5H,2YAA6S,IA4C7S,4YAAgO,IAOhO,4YAA0G,IAiB1G,4YAA4J,IAMhK,8LAA6D,KAC7D,gMAA+D,KAE/D,4YAAmE,IAerE,4YAAiC,IAEjC,4YAA4H,IAI5H,4YAA8H,IAmB9H,oNAAyE,YAA7D;;wBAAwC;MAApD,gaAAyE,MACvE,oLAAyD,KACvD,4KAA8C,KAC5C,kJAA2B,uFAA0B,MACrD,wHAAK,iFAAoB,MACzB,wHAAK,KACH,yHAAM,wNAC6D,gZAAoD,IAAoC,4EAE3J,MAGJ,6IAAsB,KACpB,wHAAK,mLAAiD,iFAAuB,MAE/E,4KAA+C,KAE7C,oJAA6B,2MAAmD,YAAxB;;wBAAuB;MAAlD,wBAAmD,6FAAgB,MAGpG,wKAA8C,KAG9C,8RAAwK,KACtK,4YAAsC,IAKtC,4YAAqC,IA2BvC,4JAAmD,KACjD;;;;;;2zBAA6B,IAC3B,ujCAA+F,IAC7F,qdAAiG,IAkEjG,iMAA0C,YAAlC;;wBAAmB;MAA3B,wBAA0C,yFAAY,MAI1D,uLAA0D,KACxD,uKAA0C,KACxC,sOAAwE,YAAxC;;wBAAkB;MAAlD,wBAAwE,mFAAM,MAEhF,wKAA2C,KACzC,uPAAyF,YAA9C;;wBAAwB;MAAnE,wBAAyF,iFAAI,MAQrG,4YAA0F,IAoG1F,4YAA8F,iDAjXrF,wGAA2E,IAAhF,aAA2I,EAAtI,SAA2E,GAUqM,mBAAyB,oBAA5S,aAA6S,EAA1B,SAAyB,GA4CvS,mBAA4C,qCAAjD,aAAgO,EAA3N,SAA4C,GAO5C,+CAAoD,yBAAzD,aAA0G,EAArG,SAAoD,GAiBpD,mHAAyF,IAA9F,aAA4J,EAAvJ,SAAyF,GAS7F,mBAAgB,WAArB,aAAmE,EAA9D,SAAgB,GAelB,mBAA2B,sBAAhC,aAAiC,EAA5B,SAA2B,GAEQ,mBAAqB,gBAA7D,aAA4H,EAApF,SAAqB,GAIjD,sDAAkC,IAA9C,aAA8H,EAAlH,SAAkC,GAmBlC,oBAAwC,6BAApD,aAAyE,EAA7D,UAAwC,GAO6B,gEAA6C,IAAnD,aAAoD,EAA9C,UAA6C,GAiBrH,8CAAgC,GAArC,aAAsC,EAAjC,UAAgC,GAKhC,8CAA+B,GAApC,aAAqC,EAAhC,UAA+B,GA4B9B,oBAAsB,WAA5B,aAA6B,EAAvB,UAAsB,GACrB,8BAA2B,EAAhC,aAA+F,EAA1F,UAA2B,GACX,oBAAyD,uBAA5E,aAAiG,EAA9E,UAAyD,GAmFzC,oBAAwB,mBAAnE,aAA0F,EAA/C,UAAwB,GAoG/B,oBAAiB,YAArD,aAA8F,EAA1D,UAAiB,mDAzWN,8FAAkF,IAA7H,aAA8H,EAAnF,SAAkF,GA0HhG,gEAA0B,GAChD,gEAAoB,GAEjB,qSAC6D,GAMf,mEAAuB,GAU+D,oBAAuB,eAAvK,aAAwK,EAAxB,UAAuB,GAiC9I,oBAAyB,iBAAlD,aAAmD,EAA1B,UAAyB,GAChD,ouBAA6B,GAC3B,ouBAA+F;;;;;;;;;;;;;;;;AC7LrG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+G;AAC1C;AACA;AACnB;AACO;AACoB;AACL;AACJ;AACN;AACC;AAEsB;AACL;AACtB;AAEd;AAEuB;AACxB;AAA+C;AACR;AACY;AACf;AAC/C;AAC4C;AAEA;AAEc;AAC7B;AAI7D;IAkIE,0BAAoB,aAA4B,EAAS,oBAA0C,EACzF,UAAsB,EAAU,QAAmB,EAAU,EAAe,EAAU,IAAgB,EACtG,iBAAsC,EAAU,KAAqB,EAAU,cAA+B,EAAU,eAAgC,EACxJ,MAAc,EAAU,MAAqB,EAAU,gBAAkC,EAAU,WAAwB;QAHjH,kBAAa,GAAb,aAAa,CAAe;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QACzF,eAAU,GAAV,UAAU,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAAU,OAAE,GAAF,EAAE,CAAa;QAAU,SAAI,GAAJ,IAAI,CAAY;QACtG,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAiB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QACxJ,WAAM,GAAN,MAAM,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,gBAAW,GAAX,WAAW,CAAa;QA/HrI,WAAM,GAAW,IAAI,CAAC;QAGtB,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,CAAC,CAAC;QAEd,iBAAY,GAAG,EAAE,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,SAAI,GAAW,EAAE,CAAC;QAElB,SAAI,GAAW,EAAE,CAAC;QAClB,QAAG,GAAY,KAAK,CAAC;QACrB,+BAA0B,GAAG,KAAK,CAAC;QAAC,UAAK,GAAU,IAAI,oDAAK,EAAE,CAAC;QAC/D,qBAAgB,GAAG,KAAK,CAAC;QACzB,kBAAa,GAAW,GAAG,CAAC;QAC5B,0BAAqB,GAAW,CAAC,CAAC;QAElC,kBAAa,GAAY,KAAK,CAAC;QAC/B,qBAAgB,GAAY,KAAK,CAAC;QAClC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAInC,uBAAkB,GAAY,KAAK,CAAC;QACpC,gBAAW,GAAY,KAAK,CAAC;QAC7B,mBAAc,GAAG,KAAK,CAAC;QACvB,qBAAgB,GAAqB,IAAI,mEAAgB,EAAE,CAAC;QACrD,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,oBAAe,GAAG,EAAE,CAAC;QACrB,iBAAY,GAAY,IAAI,CAAC;QAC7B,mBAAc,GAAY,IAAI,CAAC;QAE/B,aAAQ,GAAe,uEAAU,CAAC,OAAO,CAAC;QAC1C,sBAAiB,GAAY,KAAK,CAAC;QACnC,iBAAY,GAAY,KAAK,CAAC;QAU9B,aAAQ,GAAE,MAAM,CAAC;QAIjB,aAAQ,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAwB,IAAI,0FAAmB,EAAE,CAAC;QAC1D,sBAAiB,GAAmB,EAAE,CAAC;QAMvC,gBAAW,GAAY,IAAI,CAAC;QACP,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,oBAAe,GAAG,KAAK,CAAC;QAI7D,qBAAgB,GAAU,EAAE,CAAC;QAC7B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,iBAAY,GAAY,KAAK,CAAC;QAE9B,wBAAmB,GAAY,KAAK,CAAC;QAC9B,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAE1O,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAEhJ,QAAG,GAAG,EAAE,CAAC;QACT,oBAAe,GAAY,KAAK,CAAC;QACjC,cAAS,GAAY,KAAK,CAAC;QAC3B,UAAK,GAAW,EAAE,CAAC;QACnB,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAU,EAAE,CAAC;QACrB,eAAU,GAAY,KAAK,CAAC;QAC5B,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,cAAS,GAAW,CAAC,CAAC;QACtB,cAAS,GAAW,CAAC,CAAC;QACtB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,qBAAgB,GAAW,CAAC,CAAC;QAC7B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,KAAK,CAAC;QAC3B,sBAAiB,GAAG,KAAK,CAAC;QAC1B,qBAAgB,GAAY,KAAK,CAAC;QAClC,yBAAoB,GAAY,KAAK,CAAC;QACtC,sBAAiB,GAAY,IAAI,CAAC;QAClC,0BAAqB,GAAY,KAAK,CAAC;QACvC,sBAAiB,GAAY,KAAK,CAAC;QAGnC,mBAAc,GAAW,GAAG,CAAC;QAC7B,kBAAa,GAAY,IAAI,CAAC;QAE9B,kBAAa,GAAY,KAAK,CAAC;QAC/B,uBAAkB,GAAG,IAAI,mEAAkB,EAAE,CAAC;QAEvC,aAAQ,GAAG,KAAK,CAAC;QAExB,kBAAa,GAAW,CAAC,CAAC;QACnB,iBAAY,GAAW,EAAE,CAAC;QAEjC,cAAS,GAAY,KAAK,CAAC;QAI3B,aAAQ,GAAW,EAAE,CAAC;QACtB,WAAM,GAAY,KAAK,CAAC;QACxB,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAY,IAAI,CAAC;QAC7B,kBAAa,GAAY,IAAI,CAAC;QAC9B,6BAAwB,GAAG,EAAE,CAAC;QAC9B,+BAA0B,GAAW,CAAC,CAAC;QACvC,UAAK,GAAW,EAAE,CAAC;QACnB,iBAAY,GAAY,KAAK,CAAC;QAC9B,iBAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QAKzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YAEL,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;gBACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aAC5G,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3E;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IA3E+I,CAAC,CAAE,8CAA8C;IA6EjM,qCAAU,GAAV;QAEE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAED,uDAA4B,GAA5B;QAAA,iBAKC;QAJC,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAChF,KAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC;YACvC,KAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,2BAA2B,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAa,GAAb,UAAc,GAAG;QAEf,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,iCAAM,GAAN,UAAO,UAAU,EAAE,IAAI;QACrB,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACvE,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,IAAI,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE;gBACf,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC;gBAClC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1B;iBACI;gBACH,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;gBACxE,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;gBACtE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;aAC3B;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IACD,qCAAU,GAAV,UAAW,MAAM;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;IACpF,CAAC;IACD,oCAAS,GAAT,UAAU,MAAM;QACd,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,gCAAgC;QAChC,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACvD,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;IACnF,CAAC;IAED,0CAAe,GAAf,UAAgB,GAAG,EAAE,YAAY;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC;QAC7C,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEV,CAAC;IACD,kCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,mDAAwB,GAAxB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0KAA0K,CAAC,CAAC;QACjN,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,qCAAU,GAAV,UAAW,GAAG;QAAd,iBAmBC;QAlBC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QACpH,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;QAC1H,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE5B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,gCAAK,GAAL,UAAM,GAAG;QAAT,iBAWC;QAVC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACnG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;gBACxC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aAC5H;iBAAM;gBACL,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aACxG;QAEH,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,sCAAW,GAAlB,UAAmB,SAAS,EAAE,IAAI;QAAlC,iBAgBC;QAfC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACjB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAC/C,KAAiB,UAAc,EAAd,UAAI,CAAC,SAAS,EAAd,cAAc,EAAd,IAAc,EAAE;gBAA5B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAgB,GAAhB,UAAiB,gBAAwB,EAAE,SAAiB,EAAE,mBAAmB;QAC/E,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,OAAO,CAAC,WAAW,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE;YAChJ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SACvD;QAED,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;oCAEf,CAAC;gBACR,IAAI,uBAAuB,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACrC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBACvD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC7I,YAAY,YAAC,MAAM;4BACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,gBAAgB;6BAAE;iCAC/C,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCAC/C,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCAAM;gCAAE,OAAO,gBAAgB;6BAAE;wBAC9F,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC/C,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACpD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC3G,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC3M,EAAE,IAAI,+BAA+B,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACjE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;oCAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;iCACrE;qCAAM;oCACL,OAAO,MAAM,CAAC,KAAK,CAAC;iCACrB;6BACF;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBAClD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBACrI,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gCAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6BACrE;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;4BAC5G,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,iFAAiF,CAAC;4BACnG,8CAA8C;4BAC9C,KAAK;4BACL,OAAO,IAAI,CAAC;wBACd,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBAChD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7N;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBACtD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,YAAY,YAAC,MAAM;4BACpG,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;gCACtB,OAAO,QAAQ,CAAC;6BACjB;iCAAM;gCACL,OAAO,SAAS,CAAC;6BAClB;wBACH,CAAC,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC1G,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAEzL;qBACI;oBAEC,GAAG,GAAG,OAAK,YAAY,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,EAA3E,CAA2E,CAAC;oBACtH,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;wBAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;4BACtB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,UAAU,EAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;4BAC1J,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;4BACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;4BACvF,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;4BAC3C,YAAY,YAAC,MAAM;gCACjB,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE;oCACzB,OAAO,KAAK,CAAC;iCACd;qCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE;oCAChC,OAAO,SAAS,CAAC;iCAClB;qCAAM;oCACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;2CAC/D,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;wCAC/C,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;qCACrE;yCAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE;wCACjM,OAAO,IAAI;qCACZ;yCAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE;wCACjM,OAAO,KAAK;qCACb;yCACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;wCAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;4CAAE,OAAO,YAAY,CAAC;yCAAE;6CAChD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;4CAAE,OAAO,UAAU;yCAAE;qCACxD;yCACI;wCACH,OAAO,MAAM,CAAC,KAAK,CAAC;qCACrB;iCACF;4BAEH,CAAC;yBACF,CAAC,CAAC;qBACJ;yBACI;wBACH,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;4BACzC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gCACtB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;gCACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;gCACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gCACzD,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;gCAC3C,YAAY,EAAE,UAAU,MAAM;oCAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;wCAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;wCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;4CACjC,IAAI,GAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;gDACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;6CACvE;iDACI,IAAI,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;gDACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;6CACvE;iDACI;gDACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;6CAClB;yCAEF;wCACD,OAAO,EAAE;qCAEV;yCAAM;wCACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;qCACF;gCACH,CAAC;6BAEF,CAAC,CAAC;yBACJ;6BAAM;4BACL,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gCACtB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;gCACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;gCACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;gCACvF,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;gCAC3C,YAAY,EAAE,UAAU,MAAM;oCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;wCAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;qCACrE;yCAAM;wCACL,OAAO,MAAM,CAAC,KAAK,CAAC;qCACrB;gCACH,CAAC;6BAEF,CAAC,CAAC;yBACJ;qBACF;iBAEF;;+BAvFK,GAAG;YAjGX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE;wBAA5C,CAAC;aAyLT;SACF;aACI;YAEH,IAAI,OAAO,CAAC,QAAQ,IAAI,WAAW,EAAE;gBACnC,OAAO,CAAC,UAAU,GAAG;oBACnB;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAE3F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BACV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;qBACjD;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;qBACvD;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;qBACvD;oBACD;wBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;qBAC/C;oBACD;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;qBACjD;oBACD;wBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;qBAC7C;oBACD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;oBAEzD,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;oBACrE;wBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;qBAC9D;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;qBACjD;oBACD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;qBAC/C;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;qBACjD;iBACF,CAAC;aACH;iBACI;gBACH,OAAO,CAAC,UAAU,GAAG;oBACnB;wBACE,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;wBAC1B,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C;iBAAC,CAAC;gBAEL,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,aAAG;oBAC9B,IAAI,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE;wBACzB,QAAQ,GAAG,CAAC,UAAU,EAAE;4BACtB,KAAK,IAAI,CAAC,CAAC;gCACT,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACrG,MAAM;6BACP;4BACD,KAAK,gBAAgB,CAAC,CAAC;gCACrB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;oCAC5I,YAAY,YAAC,MAAM;wCACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4CAAE,OAAO,gBAAgB;yCAAE;6CAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CAAE,OAAO,UAAU;yCAAE;6CAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CAAE,OAAO,iBAAiB;yCAAE;oCACvK,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC/L,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gCACvH,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI;oCACrG,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAC3M,EAAE,IAAI,+BAA+B,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACjE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CACF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CAEL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wCACzH,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,sFAAsF;oDACtF,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wCAClH,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,YAAY,EAAE,UAAU,MAAM;wCAClH,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,YAAY,EAAE,UAAU,MAAM;wCACzG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC5G,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAK;6BACN;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC5G,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,YAAY,EAAE,UAAU,MAAM;wCACxG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC7E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;4CAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;oDACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACvE;qDACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;oDACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACvE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;wCAC5G,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wCACzC,IAAI,CAAC,SAAS,GAAG,iFAAiF,CAAC;wCACnG,OAAO,IAAI,CAAC;oCACd,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,YAAY,EAAE,UAAU,MAAM;wCAC3G,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,IAAI,CAAC,CAAC;gCACT,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC1G,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC5G,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC5G,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4CAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gDACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oDAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iDACnE;qDACI;oDACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iDAClB;6CAEF;4CACD,OAAO,EAAE;yCAEV;6CAAM;4CACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI;oCAC9F,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;oCACzF,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCACV,CAAC,CAAC;gCACK,MAAM;6BACP;4BACD,KAAK,eAAe,CAAC,CAAC;gCACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC3H,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;4CACtB,OAAO,QAAQ,CAAC;yCACjB;6CAAM;4CACL,OAAO,SAAS,CAAC;yCAClB;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC/G,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4CACvB,OAAO,KAAK,CAAC;yCACd;6CAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4CAC9B,OAAO,SAAS,CAAC;yCAClB;6CACI;4CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gDAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6CACrE;iDAAM;gDACL,OAAO,MAAM,CAAC,KAAK,CAAC;6CACrB;yCACF;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI;oCACpG,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI;oCACzE,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI;oCACzF,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI;oCACzF,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI;oCACjF,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;4BACD,KAAK,iBAAiB,CAAC,CAAC;gCACtB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI;oCACnG,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI;oCACrG,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI;oCACrG,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI;oCACtF,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;oCACpF,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCAClB,CAAC,CAAC;gCACa,MAAM;6BACP;yBAEF;qBAGF;yBACI;wBACH,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,EAAE;4BAC/B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gCACtB,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oCAE3F,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;wCAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qCACnC;yCAAM;wCACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4CAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yCACrE;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;qCACF;gCAGH,CAAC;6BACF,CAAC;yBACH;6BACI;4BACH,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gCACtB,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;oCACtG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;wCAClH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;qCACrE;yCAAM;wCACL,OAAO,MAAM,CAAC,KAAK,CAAC;qCACrB;gCACH,CAAC;6BAAE,CAAC;yBACP;qBACF;gBAEH,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC1E,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAG,IAAI,EAAE,IAAI,EAAE,CAAC;gBACvF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACpF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC5G,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;aAEjI;SACF;IACH,CAAC;IAED,uDAA4B,GAA5B,UAA6B,gBAAwB,EAAE,SAAiB,EAAE,mBAAmB;QAE3F,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACxD,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACtE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF;QACD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC;YAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,uBAAuB,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACrC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBACvD,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;wBAC9G,YAAY,YAAC,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,gBAAgB;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,iBAAiB;yBAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC5O,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACpD,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAE3F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BACV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBAClD,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BACpI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;4BAC/E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,iFAAiF,CAAC;4BACnG,OAAO,IAAI,CAAC;wBACd,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBAChD,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACzO;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAEvK;qBACI;oBACH,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAClC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBACzD,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;wBAC3C,YAAY,EAAE,UAAU,MAAM;4BAE5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCAEjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBAEF,CAAC,CAAC;iBACJ;aACF;SACF;aACI;YACH,OAAO,CAAC,sBAAsB,GAAG;gBAC/B;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7C;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC9G,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,gBAAgB;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACvK,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,UAAU,MAAM;wBACjK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D;oBAEE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3F,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACvF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACpF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACpF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC7E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;4BAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;oCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;oCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;wBAC/E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,iFAAiF,CAAC;wBAEnG,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClG,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK;iBAChF;gBACD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;aAExG,CAAC;SAEH;IACH,CAAC;IAED,wCAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,sCAAW,GAAX;IAEA,CAAC;IACD,6CAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9G,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,wCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,sCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,wCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAE7B,CAAC;IACD,4CAAiB,GAAjB;QAEE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEnD,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACtE;QACD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAEjC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,8CAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBAuDC;QAtDC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE;gBAEjJ,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QACD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAE5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,iBAAO;gBAEjB,IAAI,OAAO,CAAC,MAAM,IAAI,iBAAiB,EAAE;oBACrC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;iBACzG;qBAAM,IAAI,OAAO,CAAC,MAAM,IAAI,iBAAiB,EAAE;oBAC5C,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;iBACvG;YAGL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAG;YACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SAEH;aACI;YACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACxF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,kBAAuB,CAAC;oBAC5B,kBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,kBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEhH,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;wBAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;qBACpD,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,2CAAgB,GAAhB;QAAA,iBAmFC;QAlFC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAC5K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAC,CAAC,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI;SAC3K,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,EAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAExF,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAClG,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YACD,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAExG,KAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YAChI,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;YAEpH,KAAI,CAAC,QAAQ,GAAG,CAAC,KAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC;YAC7D,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC9E,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;gBAC3B,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;YACnI,CAAC,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAE;gBACvG,KAAI,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;gBACzC,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC/D,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,SAAS,EAAE;4BACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;yBAEhD;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACT,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mBAAS;oBAChE,KAAI,CAAC,aAAa,GAAG,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBACpG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAExE,CAAC,CAAC,CAAC;aAEJ;iBACI;gBACH,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;aACvE;YACD,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,aAAa,CAAC;QAE9C,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,2FAAqB;YACnC,aAAa,EAAE,8FAAsB;SACtC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IAGD,6CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACtC,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBAC1B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC3C,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC5C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC1D;aACJ;SACF;IACH,CAAC;IACD,yCAAc,GAAd,UAAe,QAAQ;;QAErB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAE,SAAS,IAAI,WAAI,CAAC,OAAO,CAAC,eAAe,EAAE,0CAAE,MAAM,IAAG,CAAC,EAAG;YAC5F,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzE,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC5C;aAAM;YACL,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE;YAC3C,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;gBACpC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAC9D;SACF;IACH,CAAC;IAED,4CAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;YAChC,IAAI,IAAE,GAAG,IAAI,CAAC;YACd,CAAC,CAAC,UAAU,CAAC;gBACX,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACpD,CAAC,CAAC,UAAU,CAAC;oBACX,IAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBACzD,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBACxD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC7C,IAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,WAAW,CAAC;gBACtD,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACV,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;YACzC,IAAI,IAAI,CAAC,YAAY,EAAE;gBAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAAE;SACtD;IACH,CAAC;IACD,6CAAkB,GAAlB,UAAmB,GAAG;QAAtB,iBAGC;QAFC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,YAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAnD,CAAmD,CAAC,CAAC;IAEzG,CAAC;IACD,4CAAiB,GAAjB;QACE,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;YAChD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;gBAC9H,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;aACI;YACH,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;SAEjD;IACH,CAAC;IACD,mCAAQ,GAAR;QAAA,iBAsDC;QArDC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;QAChD,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,KAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACjC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,KAAI,CAAC,IAAI,IAAI,UAAU,EAAE;oBAAE,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,WAAW,CAAC;iBAAE;qBACvF;oBACH,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,UAAU,CAAC;iBAC3D;aACF;YACD,KAAI,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAE/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAG,WAAW,EAAE;YAC7D,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,UAAU,CAAC;YAClD,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;gBAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;iBAAM;gBAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAAE;SACtC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;YAC1C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;QAErD,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YAC1B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;SACzB;QAEH,IAAI,IAAI,CAAC,IAAI,IAAI,gBAAgB,EAAE;YACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC/C,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,qCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChH,CAAC;IACD,gDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,kDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,mDAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IACnE,CAAC;IAED,0CAAe,GAAf,UAAgB,OAAO,EAAE,QAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;QAAvE,iBA0FC;QAzFC,IAAI,SAAS,IAAI,SAAS;YACxB,SAAS,GAAG,CAAC,CAAC;QAChB,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;QAC/C,IAAI,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;QAC7C,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC;QAClD,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YACtD,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EACrJ,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBAC/E,IAAI,KAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;oBAChC,IAAI,KAAI,CAAC,0BAA0B,IAAI,CAAC,EAAE;wBACzC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBACtB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;wBAAC,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBACpI,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,oCAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,oCAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAA7H,CAA6H,CAAC,CAAC;qBACnM;yBAAM;wBACL,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,CAAC,EAArB,CAAqB,CAAC,CAAC;qBAC5F;oBACD,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;iBAChC;qBAAM;oBACL,IAAI,KAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;wBAC3C,KAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;wBACpC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC;wBAC9C,IAAI,KAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE;4BAC5D,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;yBACxB;6BAAM,IAAI,KAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,IAAI,KAAI,CAAC,YAAY,EAAE;4BAClE,IAAI,KAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAI,CAAC,KAAK,IAAI,EAAE,EAAE;gCAC1C,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC;6BAC/C;yBACF;6BACI;4BACH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC;yBAC/C;qBACA;yBAAM;wBACL,KAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;wBACpC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;qBACxB;oBAED,IAAI,CAAC,KAAI,CAAC,aAAa,EAAE;wBACvB,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAhC,CAAgC,CAAC,CAAC;wBAC5F,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAzD,CAAyD,CAAC,CAAC;qBACxH;iBAEA;gBACJ,IAAI;gBACD,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClC,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAE;wBACvG,KAAI,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;wBACzC,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;wBAC/D,IAAI,SAAO,GAAG,KAAI,CAAC;wBACnB,CAAC,CAAC,UAAU,CAAC;4BACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gCACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,SAAS,EAAE;oCACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iCAChD;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YACrF,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EACvH,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBAC5I,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,GAAG,EAA3C,CAA2C,CAAC,CAAC;gBACjH,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;gBACpD,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChC,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAE;wBACvG,KAAI,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;wBACzC,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;wBAC/D,IAAI,SAAO,GAAG,KAAI,CAAC;wBACnB,CAAC,CAAC,UAAU,CAAC;4BACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gCACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,SAAS,EAAE;oCACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iCAChD;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;iBACF;YACH,CAAC,CAAC,CAAC;SACN;IAGH,CAAC;IACD,sCAAW,GAAX,UAAY,MAAM;QAAlB,iBAIC;QAHC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAK,IAAI,YAAI,CAAC,KAAK,GAAG,KAAK,EAAlB,CAAkB,CAAC,CAAC;SACnE;IACH,CAAC;IACD,8CAAmB,GAAnB,UAAoB,IAAS;QAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjG,CAAC;IACD,yCAAc,GAAd,UAAe,IAAS;QAEtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;SACtG;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjG,CAAC;IACD,sCAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjG,CAAC;IACD,wCAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;IAEjD,CAAC;IAED,gCAAK,GAAL,UAAM,UAAU;QACd,IAAI,CAAC,GAAG,OAAO,CAAC,iIAAiI,CAAC,CAAC;QACnJ,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1D,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAO,CAAC,CAAC,CAAC;SAC7E;IACH,CAAC;IACD,+CAAoB,GAApB,UAAqB,QAAQ;QAA7B,iBASC;QARC,IAAI,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,0BAA0B;QAClE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC5D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,6CAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC5D,MAAM,CAAC,OAAO,CAAC,eAAK;YACpB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC1C,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAgC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,aAAQ,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAI,CAAC;SACtH;IACH,CAAC;IAED,sCAAW,GAAX;QAAA,iBASC;QARC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC/D,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAClE,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACtE,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAY,GAAZ;QAAA,iBAaC;QAZC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE7B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAChE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAEnE,CAAC;IACD,0CAAe,GAAf;QACE,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtC,IAAM,mBAAmB,GAAuB,SAAS,CAAC,WAAW,CAAC,GAAG,CACvE,UAAC,OAAyB,IAAK,aAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,EAA1B,CAA0B,CAC1D,CAAC;QACF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,iCAAM,GAAN;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAChE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACnE,CAAC;IACD,sBAAI,yCAAW;aAAf;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAc,CAAC;QACvD,CAAC;;;OAAA;IAAA,CAAC;IAEF,uCAAY,GAAZ,UAAa,SAA6B;QAA1C,iBAIC;QAHC,IAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,iBAAO,IAAI,YAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAtB,CAAsB,CAAC,CAAC;QACpE,IAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IAED,kCAAO,GAAP;QACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,mEAAgB,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAGD,0CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjG,CAAC;IACD,4CAAiB,GAAjB;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAEhC,CAAC;IACD,sCAAW,GAAX,UAAY,OAAO;QAAnB,iBA0CC;QAzCC,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE;YAChC,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aACI;YACH,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE;gBAC1B,IAAI,CAAC,GAAG,OAAO,CAAC,qDAAqD,CAAC,CAAC;gBACvE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBACnF,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,qBAAqB,CAAC,CAAC;oBACjG,CAAC,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;oBAC1C,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC;oBAC9B,IAAI,CAAC,QAAQ,GAAG,sCAAsC,CAAC;oBACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACpE,KAAI,CAAC,kBAAkB,GAAG,MAAM;wBAChC,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;4BAC1D,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;4BACvB,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,CAAC,IAAI,KAAI,CAAC,kBAAkB,CAAC,kBAAkB,IAAI,CAAC,IAAI,KAAI,CAAC,kBAAkB,CAAC,kBAAkB,IAAI,CAAC,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,CAAC,IAAI,KAAI,CAAC,kBAAkB,CAAC,YAAY,IAAI,CAAC,EAAE;gCACzO,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;6BACxB;iCACI;gCACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;6BACvB;wBACH,CAAC,CAAC,CAAC;oBAEL,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,KAAK,GAAG,gCAAgC,CAAC;oBAC9C,IAAI,CAAC,QAAQ,GAAG,uCAAuC,CAAC;oBACxD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;gBACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;SACF;IAEH,CAAC;IACD,uCAAY,GAAZ,UAAa,OAAO;IAEpB,CAAC;IACD,kDAAuB,GAAvB,UAAwB,KAAK;QAA7B,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC9E,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACT,CAAC;IAED,4CAAiB,GAAjB,UAAkB,OAAO;QACvB,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,IAAI,CAAC,EAAE;YAC5E,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YACH,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;SAEzB;IACH,CAAC;IAED,2CAAgB,GAAhB,UAAiB,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAgC,EAAE,OAAe;QAAlG,iBAqBC;QArBgD,6DAAgC;QAC/E,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpH,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAEhF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;YACrD,KAAiB,UAAc,EAAd,UAAI,CAAC,SAAS,EAAd,cAAc,EAAd,IAAc,EAAE;gBAA5B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;YACD,IAAI,KAAI,CAAC,eAAe,IAAI,GAAG,EAAE;gBAC/B,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,IAAI,EAApB,CAAoB,CAAC,CAAC;aAC1E;iBAAM;gBACL,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,gBAAgB;aACvC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,gDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,gDAAqB,GAArB,UAAsB,gBAAwB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACzN;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK;gBAC5J,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC1P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAChN,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAE7Q,CAAC;IACJ,CAAC;IACD,6CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,2CAAgB,GAAhB;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC/D;IAEH,CAAC;IACD,oCAAS,GAAT,UAAU,OAAO;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAE,CAAC,EAAE;YAC1F,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;IAEH,CAAC;IAED,oCAAS,GAAT,UAAU,OAAO;QACf,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE;YAChC,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aACI;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;SAC7B;IACH,CAAC;IACD,gDAAqB,GAArB;QACE,UAAU,CAAC;YAET,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,oCAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,6CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,QAAQ;YACzB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;YACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;YACnN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;IAEH,CAAC;IACD,yCAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iIAAiI,CAAC,CAAC;QAChK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,oCAAS,GAAT;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uIAAuI,CAAC,CAAC;QACtK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,8CAAmB,GAAnB;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QAC3L,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,2CAAgB,GAAhB,UAAiB,MAAM;QACrB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,CAAC,CAAC,UAAU,CAAC;YAEX,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;YAC9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC5C;iBAAM;gBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;aACjD;YACD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,6CAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,mCAAQ,GAAR;QACE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpB,CAAC;IACD,iDAAsB,GAAtB;QAAA,iBAiBC;QAhBC,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAC3C,IAAK,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,IAAI,EAAE,EAAE;gBAChF,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAC/C;SACF;QACD,IAAI,CAAC,OAAO,CAAC,cAAc,CACxB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CACvE,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,eAAe,GAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CAAC;QAC1G,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;YAC3D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,EAAjC,CAAiC,CAAC,CAAC;SAC9F;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QACjI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IACD,mCAAQ,GAAR,UAAS,UAAU,EAAE,IAAI,EAAE,KAAK;QAC9B,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACnD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,uCAAY,GAAZ,UAAa,UAAU;QAAvB,iBAmBC;QAlBC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,IAAI,MAAM,CAAC,eAAe,IAAI,KAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;gBAChE,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACnC,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,KAAI,CAAC,YAAY,GAAG,IAAI;gBACxB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAET,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;gBACzC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC3B;iBACI;gBACH,KAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAsB,GAAtB;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,UAAU,CAAC;YACT,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QACxK,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yCAAc,GAAd,UAAe,YAAY;QACzB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,0DAA0D,CAAC;QAClH,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uKAAuK,CAAC,CAAC;IAC3M,CAAC;IAED,yCAAc,GAAd;IAEA,CAAC;IAED,+CAAoB,GAApB,UAAqB,GAAG;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE5H,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACT,CAAC;IAEH,+CAAoB,GAApB,UAAqB,GAAG;QAEtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAO,CAAC,WAAW,EAAE,SAAO,CAAC,QAAQ,EAAE,SAAO,CAAC,qBAAqB,CAAC,CAAC;YAC5H,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;aACG,IAAI,GAAG,IAAI,aAAa,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;YACvB,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,eAAe,CAAC,SAAS,CAAC,SAAO,CAAC,SAAS,EAAE,UAAU,CAAC;YAClE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IACD,+CAAoB,GAApB,UAAqB,QAA6B;QAAlD,iBA+DC;QA9DC,IAAI,QAAQ,CAAC,YAAY,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAAE;QACxD,IAAI,QAAQ,CAAC,QAAQ,IAAI,iBAAiB,EAAE;YAC1C,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;SAC5C;aAAM;YACL,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,IAAI,QAAQ,CAAC,UAAU,IAAI,SAAS,EAAE;gBACjE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;gBAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAEnF,IAAI,QAAQ,CAAC,aAAa,IAAI,oBAAoB,EAAE;oBAClD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAC5B;qBAAM,IAAI,QAAQ,CAAC,aAAa,IAAI,qBAAqB,EAAE;oBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAAE;gBAE1F,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,IAAI,QAAQ,CAAC,cAAc,IAAI,SAAS;oBACxE,QAAQ,CAAC,cAAc,IAAI,cAAc,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE;oBAC5E,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,cAAc,EACpF,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;wBACrD,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;oBAE/B,CAAC,CAAC,CAAC;iBAEJ;qBAAM,IAAI,QAAQ,CAAC,aAAa,IAAI,GAAG,IAAI,QAAQ,CAAC,aAAa,IAAI,SAAS,IAAI,QAAQ,CAAC,aAAa,IAAI,cAAc,IAAI,QAAQ,CAAC,aAAa,IAAI,EAAE,EAAE;oBAC3J,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,aAAa,EAA3C,CAA2C,CAAC,CAAC;iBACxG;qBAAM;oBACL,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;wBAC3B,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,EAAE;4BAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,EAA5C,CAA4C,CAAC,CAAC;yBACzG;6BAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,EAAE;4BACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,EAA5C,CAA4C,CAAC,CAAC;yBACzG;6BACI;4BACH,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gCAC5D,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;6BACxB;iCAAM,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;gCAClE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE;oCAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;iCAC/C;6BACF;iCACI;gCACH,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;6BACvE;yBACF;qBACF;yBACI,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;wBAChC,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,EAAE;4BAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,EAA5C,CAA4C,CAAC,CAAC;yBACxG;6BACG,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,EAAE;4BACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,EAA5C,CAA4C,CAAC,CAAC;yBACrH;6BACgB;4BAEH,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;yBACvE;qBACA;yBACE;wBACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,GAAG,EAA3C,CAA2C,CAAC,CAAC;qBACxG;iBACJ;aACF;SACF;IACH,CAAC;IACD,6CAAkB,GAAlB,UAAmB,MAAM;IAEzB,CAAC;IAED,6CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,iBAAiB,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;SAC5D;QACD,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC1E,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE9D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAY,GAAZ,UAAa,GAAG;IAEhB,CAAC;IACD,yCAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,uCAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,uBAAuB,IAAI,GAAG,IAAI,yBAAyB,EAAE;YACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SACvE;IACH,CAAC;IAGD,qDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IAGD,4CAAiB,GAAjB,UAAkB,KAAK;QAErB,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC;gBACxC,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,WAAW,CAAC;aACvC;SACF;aACI;YACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBAC3C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,WAAW,CAAC;gBAEtC,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,SAAS,EAAE;4BACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAE/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;yBAC7C;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;IACH,CAAC;IACD,wCAAa,GAAb,UAAc,GAAG;QACf,IAAI,GAAG,IAAI,UAAU,EAAE;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI;SAAE;aAChD,IAAI,GAAG,IAAI,WAAW,EAAE;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;SAAE;IAC1D,CAAC;IACD,0CAAe,GAAf,cAAoB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC;IAClD,0CAAe,GAAf;QACE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;SAC5D;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;SAC3D;IACH,CAAC;IACD,uCAAY,GAAZ;QACE,UAAU,CAAC;YACT,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gJAAgJ,CAAC,CAAC;QAChM,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,sCAAW,GAAX;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;aAAM;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAAE;QACrC,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAAE;QAC9F,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QAClI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAE5B,CAAC;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GC1xFK,iJAAoF,0FAAa;6GACjG,iJAA0D,sFAAS;6GAFrE,0JAAqE,KACnE,gZAAoF,IACpF,gZAA0D,iDAD/B,4EAAwD,IAAnF,YAAoF,EAAzD,SAAwD,GACxD,2CAA8B,GAAzD,YAA0D,EAA/B,SAA8B;6GAOvD,oMAAiI,KAC/H,+PAAgW,YAA3F;;wBAAsC;MAA3S,wwBAAgW,GAA3P,wFAA+J,MAClQ,yNAAyF,kDADrF,qFAAyE,GAA/E,YAAgW,EAA1V,SAAyE,GAAsB,qKAA+J,IAApQ,YAAgW,EAA3P,SAA+J;6GAMpQ,wNAA+K;6GAC/K,sOAA4L;6GAF9L,+PAAoM,YAA/L;;wBAA8C;MAAnD,wBAAoM,KAClM,gZAA+K,IAC/K,gZAA4L,iDADzH,0GAAsF,IAAzJ,YAA+K,EAA5G,SAAsF,GACxE,0GAAqF,IAAtK,YAA4L,EAA3G,SAAqF,mDAFzD,+DAAuD,GAAtK,YAAoM,EAArF,SAAuD;8GAMpK,sMAA2G;8GAC3G,uMAA2G;6GAH7G,mQAC6D,YADvC;;wBAAwC;MAA9D,wBAC6D,KAC3D,iZAA2G,IAC3G,iZAA2G,iDADtG,2CAA8B,GAAnC,YAA2G,EAAtG,SAA8B,GAC9B,0CAA6B,GAAlC,YAA2G,EAAtG,SAA6B,mDAF/B,+DAAuD,GAD5D,YAC6D,EAAxD,SAAuD;8GAK1D,kOAAmI;8GACnI,gRAAmK,YAAnF;;wBAAsC;MAAtH,wBAAmK;8GAFrK,+MAAgM,KAC9L,iZAAmI,IACnI,iZAAmK,iDAD9G,+CAAgC,GAArF,YAAmI,EAA9E,SAAgC,GACrC,8CAA+B,GAA/E,YAAmK,EAAnH,SAA+B,mDAFuD,+DAAuD,GAA/L,YAAgM,EAAxD,SAAuD;8GAM7L,yQAAyJ,YAApJ;;wBAAqC;MAA1C,wBAAyJ;8GACzJ,yQAAwJ,YAAnJ;;wBAAqC;MAA1C,wBAAwJ;8GAF1J,0MAAoJ,KAClJ,iZAAyJ,IACzJ,iZAAwJ,iDADjD,0CAA6B,GAApI,YAAyJ,EAAlD,SAA6B,GAC7B,yCAA4B,GAAnI,YAAwJ,EAAjD,SAA4B,mDAFtE,+DAAuD,GAAtH,YAAoJ,EAArF,SAAuD;8GAKpH,oNAAkH;8GAClH,qNAAmH;8GAFrH,gQAAgM,YAA1G;;wBAA+C;MAArI,wBAAgM,KAC9L,iZAAkH,IAClH,iZAAmH,iDADpE,0CAA6B,GAA5E,YAAkH,EAAnE,SAA6B,GAC5B,0CAA6B,GAA7E,YAAmH,EAAnE,SAA6B;8GAI7E,6NAA2H;8GAC3H,8NAA4H;8GAF9H,4MAAsL,KACpL,iZAA2H,IAC3H,iZAA4H,iDAD7E,0CAA6B,GAA5E,YAA2H,EAA5E,SAA6B,GAC5B,0CAA6B,GAA7E,YAA4H,EAA5E,SAA6B;8GAI7E,6NAA2H;8GAC3H,8NAA4H;8GAH9H,gQAC+D,YAD6D;;wBAA+C;MAA3K,wBAC+D,KAC7D,iZAA2H,IAC3H,iZAA4H,iDAD7E,0CAA6B,GAA5E,YAA2H,EAA5E,SAA6B,GAC5B,0CAA6B,GAA7E,YAA4H,EAA5E,SAA6B;8GAE/E,4MAA+J,KAC7J,8KACsL,YAD9K;;wBAAqD;MAA7D,wwBACsL,GAA9K,wFAA6K,MACnL,4NAA4F,kDAFhC,mHAAqG,GAAnK,YACsL,EADxH,SAAqG,GAC3J,qKAA6K,IADrL,YACsL,EAA9K,SAA6K;6GA1CzL,gLAAsF,KAEpF,gZAAiI,IAMjI,gZAAoM,IAIpM,gZAC6D,IAI7D,iZAAgM,IAKhM,kZAAoJ,IAIpJ,kZAAgM,IAKhM,kZAAsL,IAItL,kZAC+D,IAI/D,kZAA+J,iDAtCvF,gFAAwD,IAAhI,YAAiI,EAAzD,SAAwD,GAMuC,2CAA4B,GAAnM,YAAoM,EAA7B,SAA4B,GAItF,yFAAmE,IAAhL,YAC6D,EADgD,SAAmE,GAK5G,yFAAmE,IAAvI,YAAgM,EAA5H,SAAmE,GAKhB,2CAA4B,GAAnJ,aAAoJ,EAA7B,SAA4B,GAI7H,2FAA+D,IAArF,aAAgM,EAA1K,SAA+D,GAK/D,2IAAqG,IAA3H,aAAsL,EAAhK,SAAqG,GAIrG,2IAAqG,IAA3H,aAC+D,EADzC,SAAqG,GAKtH,gHAA8E,IAAnF,aAA+J,EAA1J,SAA8E;8GAqBvF,uKAAmH,8MAA4B;8GAG7I,wHAAmC,0MAAwB;8GAC3D,wHAAoC,0aAA6C;8GACjF,wHAA2C,kNAAgC;8GACJ,wHAAoE,8EAAC;8GAA5I,wHAAkC,yMAAqC,qZAAoE,IAAQ,mMAAoC,iDAA1G,+EAA6D,IAAnE,YAAoE,EAA9D,SAA6D,mDAAxG,yMAAqC,GAA4E,0MAAoC;8GALzL,uKAAoF,KAElF,iZAAmC,IACnC,iZAAoC,IACpC,iZAA2C,IAC3C,iZAAkC,iDAH5B,mBAA4B,uBAAlC,YAAmC,EAA7B,SAA4B,GAC5B,mBAA6B,wBAAnC,YAAoC,EAA9B,SAA6B,GAC7B,mBAAoC,+BAA1C,YAA2C,EAArC,SAAoC,GACpC,mBAA2B,sBAAjC,YAAkC,EAA5B,SAA2B;8GAIjC,wHAAoC,2MAAyB;8GAC7D,wHAA2C,kNAAgC;8GAH7E,sKAAiF,KAE/E,iZAAoC,IACpC,iZAA2C,iDADrC,mBAA6B,wBAAnC,YAAoC,EAA9B,SAA6B,GAC7B,mBAAoC,+BAA1C,YAA2C,EAArC,SAAoC;8GAE5C,uKAAiH,6MAA2B;8GAE1I,wHAAuE,mNAAiC;8GACxG,wHAAmI,+EAAE;8GACrI,wHAAmE,8MAA4B;8GAK7F,wHAA0C,KACxC,qJAA6D,gFAA2B,yDAArF,gIAAyC,GAA5C,YAA6D,EAA1D,SAAyC,GAAiB,oEAA2B;8GAE1F,wHAA8G,0GAE9G;8GANF,8IAAyD,KACvD,iZAA0C,IAG1C,iZAA8G,iDAHxG,kDAAmC,GAAzC,YAA0C,EAApC,SAAmC,GAGnC,4IAAuG,IAA7G,YAA8G,EAAxG,SAAuG;8GAczG,kNAAmJ;8GACnJ,yNAA0J;8GAI1J,8MAA4I;8GAC5I,qNAAmJ;8GAInJ,gNAAgJ;8GAChJ,uNAAuJ;8GAGvJ,qQAA0N,YAArN;;wBAAqE;MAA1E,wBAA0N;8GAC1N,4QAAiO,YAA5N;;wBAAqE;MAA1E,wBAAiO;8GAIjO,0NAA2J;8GAC3J,iOAAkK;8GAIlK,mQAA4K,YAAlD;;wBAA+C;MAAzK,wBAA4K;8GAC5K,8PAAsK,YAAlD;;wBAA+C;MAAnK,wBAAsK;8GA/B9K,wKAC0O,kFAExO,0JAA6B,KAC3B,mLAAsD,KACpD,qVAAqN,YAA7H;;wBAAiE;MAAzJ,wBAAqN,KACnN,iZAAmJ,IACnJ,iZAA0J,IAG5J,kUAAgQ,YAA3L;;wBAA+H;MAApM,wBAAgQ,KAC9P,kZAA4I,IAC5I,kZAAmJ,IAGrJ,yUAAsQ,YAA3L;;wBAA+H;MAA1M,wBAAsQ,KACpQ,kZAAgJ,IAChJ,kZAAuJ,IAEzJ,yVAA4N,YAAjI;;wBAAqE;MAAhK,wBAA4N,KAC1N,kZAA0N,IAC1N,kZAAiO,IAGnO,8UAAgN,YAA5M;;wBAAoE;MAAxE,wBAAgN,KAC9M,kZAA2J,IAC3J,kZAAkK,IAGpK,2SAA4J,KAC1J,kZAA4K,IAC5K,kZAAsK,iDAzBjK,uEAA0D,GAA/D,YAAmJ,EAA9I,SAA0D,GAC1D,uEAA0D,GAA/D,YAA0J,EAArJ,SAA0D,GAI1D,oEAAuD,GAA5D,aAA4I,EAAvI,SAAuD,GACvD,oEAAuD,GAA5D,aAAmJ,EAA9I,SAAuD,GAIvD,sEAAyD,GAA9D,aAAgJ,EAA3I,SAAyD,GACzD,sEAAyD,GAA9D,aAAuJ,EAAlJ,SAAyD,GAGa,yEAA4D,GAAvI,aAA0N,EAA/I,SAA4D,GAC5D,yEAA4D,GAAvI,aAAiO,EAAtJ,SAA4D,GAIlI,uEAA0D,GAA/D,aAA2J,EAAtJ,SAA0D,GAC1D,wEAA0D,GAA/D,aAAkK,EAA7J,UAA0D,GAId,qBAAsC,gCAAvF,aAA4K,EAA3H,UAAsC,GAC3C,oBAAqC,gCAAjF,aAAsK,EAA1H,UAAqC,mDA9BiJ,oFAExO;8GA7CJ,0lBAC+F,IAE7F,oLAAwD,KACtD,sSAAiL,YAA9K;;wBAA0D;MAA7D,wBAAiL,gFAA+B,MAElN,uKAA2C,kFAE3C,MACA,iZAAmH,IACnH,kZAAoF,IAOpF,kZAAiF,IAKjF,kZAAiH,IACjH,wKAA2C,KACzC,kZAAuE,IACvE,kZAAmI,IACnI,kZAAmE,IAErE,wKAA2C,KAEzC,kZAAyD,IAS3D,wKAA2C,KACzC,yHAAM,sFAAU,MAAO,uJAAgC,iFAAyB,MAElF,kZAC0O,iDA3C5L,mEAAwD,GAAxG,YAC+F,EAD/C,SAAwD,GAS3D,8FAAuE,IAAlH,YAAmH,EAAxE,SAAuE,GAC7G,qDAAwC,GAA7C,aAAoF,EAA/E,SAAwC,GAOxC,qDAAsC,GAA3C,aAAiF,EAA5E,SAAsC,GAKA,4FAAqE,IAAhH,aAAiH,EAAtE,SAAqE,GAExG,wFAAgE,IAAtE,aAAuE,EAAjE,SAAgE,GAChE,mKAA4H,KAAlI,aAAmI,EAA7H,SAA4H,GAC5H,qFAA4D,IAAlE,aAAmE,EAA7D,UAA4D,GAI1C,gDAAgC,GAAxD,aAAyD,EAAjC,UAAgC,GAYnC,oVAC8L,IADrN,aAC0O,EADnN,UAC8L,mDA1CnL,0DAA0D,GAD9F,YAC+F,EAA3D,SAA0D,GAGuF,wEAA+B,GAEvK,qEAE3C,GAgCyD,qEAAyB;8GA0C0I,wHAAuD,yMAAuB;8GAAxS,8KAAwJ,2FAAkE,uZAAuD,iDAAjD,wEAAgD,IAAtD,YAAuD,EAAjD,SAAgD,mDAAxH,kKAAkE;8GAK1N,uKAAmH,gNAA8B;8GAG/I,wHAAmC,0MAAwB;8GAC3D,wHAAoC,maAA6C;8GACjF,wHAA2C,kNAAgC;8GACA,wHAAoE,8EAAC;8GAAhJ,wHAAkC,8MAAyC,qZAAoE,IAAQ,mMAAoC,iDAA1G,+EAA6D,IAAnE,YAAoE,EAA9D,SAA6D,mDAA5G,yMAAyC,GAA4E,0MAAoC;8GAE7L,uKAA2E,8MAA4B;8GAErG,wHAAuE,mNAAiC;8GACxG,wHAAmI,+EAAE;8GACrI,wHAAmE,8MAA4B;8GApBrG,2nBAAkR,IAEhR,wKAA2C,KACzC,iZAAwJ,IACxJ,qLAAyD,KACvD,sSAAiL,YAA9K;;wBAA0D;MAA7D,wBAAiL,gFAA+B,MAElN,uKAA2C,iFAA6B,MACxE,kZAAmH,IAEnH,wKAA2C,KACzC,kZAAmC,IACnC,kZAAoC,IACpC,kZAA2C,IAC3C,kZAAkC,IAEpC,kZAA2E,IAC3E,wKAA2C,KACzC,kZAAuE,IACvE,kZAAmI,IACnI,kZAAmE,IAErE,wKAA2C,KAEzC,+IAAwB,KACtB,yHAAM,KACJ,sJAAiE,iFAA2B,MAGhG,wKAA2C,KACzC,yHAAM,sFAAU,MAAO,uJAAgC,iFAAyB,mDA9BpC,mEAAyD,GAA7G,YAAkR,EAA9N,SAAyD,GAG9E,iJAAqG,IAAhI,YAAwJ,EAA7H,SAAqG,GAKrF,8FAAuE,IAAlH,aAAmH,EAAxE,SAAuE,GAG1G,mBAA4B,uBAAlC,aAAmC,EAA7B,SAA4B,GAC5B,mBAA6B,wBAAnC,aAAoC,EAA9B,SAA6B,GAC7B,mBAAoC,+BAA1C,aAA2C,EAArC,SAAoC,GACpC,oBAA2B,sBAAjC,aAAkC,EAA5B,UAA2B,GAE9B,oBAA+B,0BAApC,aAA2E,EAAtE,UAA+B,GAE5B,yFAAgE,IAAtE,aAAuE,EAAjE,UAAgE,GAChE,oKAA4H,KAAlI,aAAmI,EAA7H,UAA4H,GAC5H,qFAA4D,IAAlE,aAAmE,EAA7D,UAA4D,mDApBsC,0EAAkE,GAAuC,0DAA0D,GAAjR,YAAkR,EAApK,SAAkE,EAAuC,SAA0D,GAK1F,wEAA+B,GAEvK,qEAA6B,GAmB/D,qIAA6C,GAAhD,aAAiE,EAA9D,UAA6C,GAAiB,uEAA2B,GAIvC,qEAAyB;8GAchF,8LAA0G,mbAE1G;8GAMF,0LAA4F,KAC1F,kKAA4C,yFAAY,MAAQ,uMAChE;+jBAlMV,qSAAkW,KAChW,uLAA2D,KACzD,gZAAqE,IAMrE,0JAAoC,KAClC,iZAAsF,IAoD1F,kZAC+F,IA8E/F,kZAAkR,IAqClR,+LAAiE,KAE/D,giBAAkJ,GAA3H,qEAAyE,MAE9F,2LAA6D,KAC3D,sLAAyD,iLAAqD,kFAAK,MACnH,sLAAyD,KACvD,kZAA0G,IAI5G,sLAAyD,qKAAyC,yFAAY,MAAQ,kFAAqC,MAC3J,sLAAyD,qKAAyC,kFAAK,MAAQ,0MAA2C,IAC1J,sLAAyD,wKAA4C,iFAAI,MAAQ,0MAA0C,IAC3J,sLAAyD,wKAA4C,kFAAK,MAAQ,0MAA2C,IAC7J,kZAA4F,IAK5F,sLAAyD,wKAA4C,uFAAU,MAAQ,kFAAwB,MAC/I,sLAAyD,wKAA4C,wFAAW,MAAQ,kFAAsB,mDApM9G,+CAAgC,GAApE,YAAqE,EAAjC,SAAgC,GAOf,gDAAkC,GAArF,aAAsF,EAAnC,SAAkC,GAoDpF,0CAA6B,GAAlC,aAC+F,EAD1F,SAA6B,GA+E7B,0CAA6B,GAAlC,aAAkR,EAA7Q,SAA6B,GAuCT,wFAAyE,IAAhG,aAAkJ,EAA3H,SAAyE,GAKnF,8CAAiC,GAAxC,aAA0G,EAAnG,SAAiC,GAQnB,6CAA6B,GAApD,aAA4F,EAArE,UAA6B,mDAhMkF,kRAAmN,GAAjW,YAAkW,EAApN,SAAmN,GA4LnO,oEAAqC,GAC5C,yMAA2C,GACzC,wMAA0C,GACzC,2MAA2C,GAMtC,8DAAwB,GACvB,4DAAsB;;;;;;;;;;;;;;;;ACvMtJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0F;AAEtB;AACzB;AACM;AACR;AAEe;AACQ;AACJ;AACM;AAElE;IAoCE,iCAAoB,eAAgC,EAAS,eAAgC,EAAU,MAAc,EAAS,oBAA0C,EAAS,WAAyB;QAAtL,oBAAe,GAAf,eAAe,CAAiB;QAAS,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,gBAAW,GAAX,WAAW,CAAc;QAd1M,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QAKxC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAG3C,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAC7C,eAAU,GAAY,IAAI,CAAC;QAC3B,mBAAc,GAAuB,EAAE,CAAC;QACxC,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,eAAU,GAAG,EAAE,CAAC;QAChB,aAAQ,GAAY,KAAK,CAAC;QAAC,kBAAa,GAAY,KAAK,CAAC;QACoJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAAC,CAAC;IAEnR,0CAAQ,GAAR;QAEE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,SAAS,EAAE;YAC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SACpD;IACH,CAAC;IACD,+CAAa,GAAb,UAAc,GAAG,IAAI,CAAC;IAEtB,+CAAa,GAAb,UAAc,SAAS;QAAvB,iBAOC;QANC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,QAAQ,EAAE;YAAE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;SAAE;QAExF,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,SAAS,EAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oDAAkB,GAAlB,UAAmB,MAAM;QACvB,IAAI,MAAM,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI;YAC9L,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YACvK,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAC1K,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAC1K,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAC1K,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAC1K,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE;YACnH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,mDAAiB,GAAjB,UAAkB,SAAS;QAA3B,iBA4BC;QA1BC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAElC,IAAI,KAAI,CAAC,WAAW,IAAI,SAAS,EAAE;gBACjC,KAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;aAC5C;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAO;YACxF,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACvD,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;aACrE;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAO;YACpF,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACvD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aACvE;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAO;YAC1E,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YAC5G,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;YACjC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,KAAK,EAAE,YAAY,CAAC,EAAtE,CAAsE,CAAC,CAAC;QAChI,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,oDAAkB,GAAlB;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IACD,6CAAW,GAAX,UAAY,GAAG;QAAf,iBAMC;QALC,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,6CAAW,GAAX,UAAY,OAAO,EAAE,GAAG;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uHC7FS;;;;;;;;;;;wBAA+O;MAA5N;;wBAA8B;MAAoB;;wBAAsB;MAAsB;;wBAAkB;MAAnI,8wCAA+O,iDAA9H,mBAAkB,OAAnI,YAA+O,EAA9H,SAAkB,2BAAnI,8sBAA+O;uHAE/O;;;;;;;;;;;;;;;;;;;;;;;wBAA+Q;MAA5P;;wBAA8B;MAAoB;;wBAAsB;MAAsB;;yBAAkB;MAAnI,uvBAA+Q,GAA5F,+DAA8B,KAAjN,6+BAA+Q,iDAA5F,iCAA8B,aAAjN,YAA+Q,EAA5F,SAA8B,GAAhG,mBAAkB,OAAnI,YAA+Q,EAA9J,SAAkB,2BAAnI,8sBAA+Q;uHAsBnR,mLAAmF,KACjF,4IAAsB,KACtB,4IAAsB,KACpB,4IAAsB,KAAC,iLAAqD,mFAAM,MAClF,4IAAsB,KAAC,wPAAsI,YAAzF;;;wBAAmE;MAAhH,wBAAsI,iFAAI;uHAxDvK,kLAAiF,KAC/E,wKAA2C,KACzC;;;;;wBAKgE;MAH1C;;wBAA+B;MAE/B;;wBAAqC;MACrC;;wBAAyC;MAL/D,quEAKgE,IAGlE,8IAAsB,KACpB;;;;;wBAK8D;MAHxC;;wBAA6B;MAE7B;;wBAAmC;MACnC;;wBAAuC;MAL7D,uuEAK8D,IAGhE,8IAAsB,KACpB;;;;;wBAEiE;MAFnB;;wBAA6B;MAErD;;wBAAyC;MAF/D,0rEAEiE,IAGnE,6IAAsB,KACpB,mQACkB,KAChB,2ZAA+O,IAE/O,2ZAA+Q,IAC/Q,oNAAiE,YAAzD;;wBAAuB;MAA/B,wBAAiE,8EAAC,MAKtE,+kBAAgG,IAC9F,kJAA2B,4FAAe,MAC1C,kLAAqD,KACnD,mRAOqC,YADpB;;wBAAsC;MANvD,g/CAOqC,MAMzC,2ZAAmF,iDAlD3D,mBAAyB,mBAGzB,mBAAiC,uBAHvD,YAKgE,EAL1C,SAAyB,EAGzB,SAAiC,GAFjC,gCAAoB,EACpB,oBAA+B,oBAFrD,YAKgE,EAJ1C,UAAoB,EACpB,UAA+B,GAO/B,oBAAuB,iBAGvB,oBAA+B,qBAHrD,aAK8D,EALxC,UAAuB,EAGvB,UAA+B,GAF/B,gCAAoB,EACpB,oBAA6B,kBAFnD,aAK8D,EAJxC,UAAoB,EACpB,UAA6B,GAO7B,oBAAuB,iBACvB,oBAAiC,uBADvD,aAEiE,EAF3C,UAAuB,EACvB,UAAiC,GADT,oBAA6B,kBAA3E,aAEiE,EAFnB,UAA6B,GAQwG,6CAAgC,GAAjN,aAA+O,EAA9D,UAAgC,GAEC,4CAA+B,GAAjP,aAA+Q,EAA7D,UAA+B,GAMrM,4BAAuB,EAAvE,aAAgG,EAAhD,UAAuB,GAIlD,oBAA2B,cAG3B,oBAAwB,eAFxB,oBAAyB,aAGzB,oBAAmB,UAFnB,oBAAwD,yCAIxD,oBAAmB,UAPpC,aAOqC,EANpB,UAA2B,EAG3B,UAAwB,EAFxB,UAAyB,EAGzB,UAAmB,EAFnB,UAAwD,EAIxD,UAAmB,GAMe,gDAA2B,IAAlF,aAAmF,EAA5B,UAA2B,2BAlDhF,m0BAKgE,GAIhE,q1BAK8D,GAI9D,q1BAEiE,GAcK,sBAAuB,EAA/F,aAAgG,EAAxB,UAAuB;uHA2BrG,0NAAyG,YAA7F;;wBAAmC;MAA/C,6ZAAyG,MACvG,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,KAC9E,4IAAsB,KACpB,oJAA8B,+FAAkB,MAAO,sHAAM,KAC7D,qJAA8B,0GAA6B,MAE7D,sKAAyC,KACvC,qKAAwC,KACtC,yRAAkI,YAA1B;;wBAAyB;MAAjI,wBAAkI,+EAAE,MAEtI,qKAAwC,KACtC,mVAAwM,YAAtC;;wBAAqC;MAAvM,wBAAwM,mFAAM,mDAZ1M,mBAAmC,wBAA/C,YAAyG,EAA7F,SAAmC;uHAiB/C,4NAA+G,YAAnG;;wBAAqC;MAAjD,6ZAA+G,MAC7G,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,KAC9E,4IAAsB,KACpB,oJAA8B,+FAAkB,MAAO,sHAAM,KAC7D,qJAA8B,wGAA2B,MAE3D,sKAAyC,KACvC,qKAAwC,KACtC,yRAAqI,YAA7B;;wBAA4B;MAApI,wBAAqI,+EAAE,MAEzI,qKAAwC,KACtC,uRAA8I,YAAxC;;wBAAuC;MAA7I,wBAA8I,mFAAM,mDAZhJ,mBAAqC,0BAAjD,YAA+G,EAAnG,SAAqC;uHApFjD,kLAAsD,KAEpD,iLAAqD,KAEnD,0ZAAiF,IA+DrF,0ZAAyG,IAiBzG,0ZAA+G,iDAhFtD,mBAA2B,sBAAhF,YAAiF,EAA5B,SAA2B,GA+DT,mBAA6B,wBAAxG,YAAyG,EAA9B,SAA6B,GAiBzB,mBAA+B,0BAA9G,YAA+G,EAAhC,SAA+B;;;;;;;;;;;;;;;;ACpF9G;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAEpC;AACZ;AACkB;AACwB;AAEP;AACQ;AACV;AAExB;AACQ;AACZ;AAEL;AACS;AACQ;AACX;AAES;AACmB;AAEhC;AACU;AAG3C;IAqDE,2CAAmB,oBAA0C,EAAU,eAAgC,EAAU,iBAAsC,EAAU,MAAqB;QAAnK,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAe;QA/CtL,qBAAgB,GAAG,EAAE,CAAC;QACtB,yBAAoB,GAAG,EAAE,CAAC;QAC1B,sBAAiB,GAAG,EAAE,CAAC;QACvB,mBAAc,GAAG,EAAE,CAAC;QACpB,uBAAkB,GAAG,EAAE,CAAC;QACxB,oBAAe,GAAG,EAAE,CAAC;QACrB,oBAAe,GAAG,EAAE,CAAC;QAOrB,QAAG,GAAG,EAAE,CAAC;QAET,4BAAuB,GAAY,KAAK,CAAC;QACzC,wBAAmB,GAAY,IAAI,CAAC;QAC3B,gBAAW,GAAW,IAAI,CAAC;QAEpC,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,0BAAqB,GAAY,KAAK,CAAC;QACvC,iBAAY,GAAQ,OAAO,CAAC;QAErB,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvG,gBAAW,GAAW,MAAM,CAAC;QAC7B,eAAU,GAAW,aAAa,CAAC;QACnC,sBAAiB,GAAG,EAAE,CAAC;QACvB,YAAO,GAAiB,IAAI,4CAAO,EAAE,CAAC;QACtC,qBAAgB,GAAqB,IAAI,0EAAgB,EAAE,CAAC;QAE5D,kBAAa,GAAY,IAAI,CAAC;QACvB,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACrJ,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1N,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjN,kBAAa,GAAW,QAAQ,CAAC;QACjC,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,mBAAc,GAAmB,EAAE,CAAC;QACpC,mBAAc,GAAmB,EAAE,CAAC;QACpC,oBAAe,GAAG,EAAE,CAAC;QACrB,oBAAe,GAAG,EAAE,CAAC;QACrB,oBAAe,GAAG,EAAE,CAAC;QACrB,yBAAoB,GAAG,EAAE,CAAC;QAC1B,kBAAa,GAAG,EAAE,CAAC;QAEjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAb+I,CAAC;IAejJ,oDAAQ,GAAR;QAAA,iBA2DC;QA1DC,IAAI,CAAC,oBAAoB,GAAG;YAC1B,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,6BAA6B;YACnC,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG;YACxB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,2BAA2B;YACjC,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,EAAE;SACnB,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG;YAC1B,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,eAAe;SACtB,CAAC;QACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpE,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjH,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjH,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE;YAC1F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YACna,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACnD;QAED,IAAI,CAAC,OAAO;aACT,IAAI,CAAC,oEAAY,CAAC,IAAI,CAAC,CAAC;aACxB,SAAS,CAAC;YACT,IAAI,KAAI,CAAC,IAAI,IAAI,EAAE,EAAE;gBACnB,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACvE;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;QAEH,CAAC,CACA,CAAC;IACN,CAAC;IACD,4DAAgB,GAAhB;QACE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,UAAU,CAAC;YACT,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qHAAqH,CAAC,CAAC;QAC3K,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,yDAAa,GAAb;QACA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,+DAAmB,GAAnB;QAAA,iBAqBC;QApBC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACjF,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,KAAI,CAAC,UAAU,IAAI,aAAa,EAAE;gBACpC,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,UAAU,GAAG,KAAI,CAAC,WAAW,EAA3C,CAA2C,CAAC,CAAC;aACrG;iBAAM;gBACL,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,UAAU,GAAG,KAAI,CAAC,WAAW,EAA3C,CAA2C,CAAC,CAAC;aACrG;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACrF,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,QAAQ,GAAG,CAAC,KAAI,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;YACrK,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,QAAQ,EAAtB,CAAsB,CAAC,CAAC;QAEjF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;IAEpE,CAAC;IACD,qDAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC/B,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACra,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEpD,CAAC;IAED,4DAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,uDAAW,GAAX;QAAA,iBAcC;QAbC,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACtF,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,KAAI,CAAC,IAAI,IAAI,EAAE,IAAI,KAAI,CAAC,IAAI,IAAI,IAAI,IAAI,KAAI,CAAC,IAAI,IAAI,SAAS,EAAE;oBAClE,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,EAAjC,CAAiC,CAAC,CAAC;iBAC5E;qBAAM;oBACL,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;iBAC7B;gBACD,KAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8DAAkB,GAAlB,UAAmB,KAAK;IACxB,CAAC;IACD,0DAAc,GAAd,UAAe,KAAK;IACpB,CAAC;IACD,4DAAgB,GAAhB,UAAiB,KAAK;IAEtB,CAAC;IACD,4DAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAC1K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI;SACxF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACA,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtB,CAAC;IACD,4DAAgB,GAAhB;QACE,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7C,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE;gBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK;gBACtE,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;wBAAE,OAAO,gBAAgB;qBAAE;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;wBAAE,OAAO,UAAU;qBAAE;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;wBAAE,OAAO,iBAAiB;qBAAE;gBACrK,CAAC;aACF;YACD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,GAAG;YAC9D;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;aACvD;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;aACvD;YACD;gBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;aAC/C;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;aACjD;YACD;gBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;aAC7C;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;aACjD;YAED;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;aACxD;YACD,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAE;YACxF,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YAI9D;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;aAC5D;YACD;gBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI;aAC5C;YACD;gBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;aAC1C;YAED;gBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI;aAC5C;SAEF,CAAC;IACJ,CAAC;IAED,0DAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;SACpC;IACH,CAAC;IAED,4DAAgB,GAAhB;QAAA,iBAiBC;QAhBC,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YAC7D,IAAI,UAAU,GAAyB,IAAI,iFAAoB,EAAE,CAAC;YAClE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;YAC7C,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC3D,KAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,KAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,KAAI,CAAC,GAAG,GAAG,EAAE,CAAC;gBACd,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;SACJ;aACI;YACH,KAAK,CAAC,sDAAsD,CAAC,CAAC;SAC/D;IACH,CAAC;IAED,sEAA0B,GAA1B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QAC5K,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,kDAAM,GAAN,UAAO,KAAK;QAAZ,iBAsBC;QArBC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE;gBAC/B,IAAI,OAAO,CAAC,UAAU,IAAI,aAAa,EAAE;oBACvC,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE;wBAEtB,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;qBAEpD;yBAAM;wBACL,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;qBACxB;iBACF;aAEF;iBAAM;gBACL,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aAExB;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IAGV,CAAC;IACD,iEAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,uDAAW,GAAX,UAAY,GAAG;QACb,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,mEAAuB,GAAvB;QACE,IAAI,CAAC,4BAA4B,EAAE;IACrC,CAAC;IAED,wEAA4B,GAA5B;QACE,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtK,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,gEAAoB,GAApB,UAAqB,IAAI,EAAE,MAAM,EAAE,qBAA8B;QAAjE,iBAuDC;QAtDC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAG;YAChC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;QAC1F,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAChD,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,2DAA2D;QAC3D,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAGtK,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErF,IAAI,CAAC,iBAAiB,CAAC,sCAAsC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAChG,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,OAAO,CAAC,OAAO,CAAC,iBAAO;oBACrB,OAAO,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBACzE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAClF,CAAC,CAAC,CAAC;gBACH,IAAI,KAAI,CAAC,UAAU,IAAI,aAAa,EAAE;oBACpC,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,OAAO,CAAC,OAAO,CAAC,aAAG;wBACjB,IAAI,OAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;wBACvC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;wBACpB,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;wBACtC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;wBAChC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;wBAChC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;wBACxB,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;wBACzB,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;wBAC1B,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;wBAC1B,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;wBACtB,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;wBAChC,SAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAErC,CAAC,CAAC,CAAC;iBAGJ;gBAED,KAAI,CAAC,gBAAgB,EAAE,CAAC;aAEzB;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2DAAe,GAAf,UAAgB,OAAO,EAAE,QAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;QAAvE,iBAsBC;QApBC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC;QAClD,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACtQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACvB,CAAC,CAAC,CAAC;gBAED,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;aAE/B;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,gEAAoB,GAApB,UAAqB,IAAI;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACpC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAEhC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;aAExD;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;SACF;aACI;YACH,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAEvC;QACD,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IACD,gEAAoB,GAApB,UAAqB,IAAI;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,0BAA0B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAE5L,IAAI,CAAC,4BAA4B,EAAE;IACrC,CAAC;IACD,uDAAW,GAAX;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,EAAE;QACd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,iDAAK,GAAL;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE5C,CAAC;IACD,iEAAqB,GAArB;QACE,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YAC/C,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;SAClC;QACD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEvB,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE;gBACpC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;oBAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBAC3C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;aAE1D;iBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE;gBAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;oBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACtC,wCAAwC;gBACxC,qCAAqC;aACtC;SACF;aACI;YACH,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBAClE,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE;oBACpC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;wBAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;oBAC3C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBACzD,qCAAqC;iBACtC;qBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE;oBAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;wBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACtC,wCAAwC;oBACxC,qCAAqC;iBACtC;aACF;iBAAM;gBACL,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBACjD,qCAAqC;aACtC;SACF;QAED,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IACH,wCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mHChhBO,oNAAgH,kGAEhH;mHAIA,yQAA0J,KACxJ,kMAAqE,KACnE,mKAAsC,KAEpC;;;;;;;;;;;;;;;;;wBAAgH;MAAlC;;wBAA+B;MAA7G,m3DAAgH,IAChH,uOAAmF,YAA7B;;wBAA4B;MAAlF,wBAAmF,6FAAgB,MACnG;;;;;;;;;;;;;;;;;wBAAgH;MAAlC;;wBAA+B;MAA7G,u3DAAgH,IAChH,uOAAmF,YAA7B;;wBAA4B;MAAlF,wBAAmF,8FAAiB,MACpG;;;;;;;;;;;;;;;;;wBAAuH;MAAhC;;wBAA+B;MAAtH,s5DAAuH,IACvH,2OAAuF,YAA7B;;wBAA4B;MAAtF,wBAAuF,6FAAgB,MACvG;;;;;;;;;;;;;;;;;wBAAgJ;MAAhC;;wBAA+B;MAA/I,s5DAAgJ,IAChJ,2OAAuF,YAA7B;;wBAA4B;MAAtF,wBAAuF,0FAAa,MAEpG;;;;;;;;;;;;;;;;;wBAAuI;MAA9E;;wBAA+B;MAAxF,u3DAAuI,IACvI,uOAAmF,YAA7B;;wBAA4B;MAAlF,wBAAmF,iGAAoB,MACvG;;;;;;;;;;;;;;;;;wBAAwH;MAA1C;;wBAA+B;MAA7G,u3DAAwH,IACxH,uOAAmF,YAA7B;;wBAA4B;MAAlF,wBAAmF,4FAAe,MAElG;;;;;;;;;;;;;;;;;wBAAgH;MAAlC;;wBAA+B;MAA7G,u3DAAgH,IAChH,uOAAmH,YAA7D;;wBAA4D;MAAlH,wBAAmH,8FAAiB,MAEpI,6NAAgF,KAChF,yMAA4E,mFAAM,MAElF,4PAAuG,KACvG,wMAA2E,kFAAK,MAEhF;;;;;;;;;;;;;;;;;wBAAkH;MAAlC;;wBAA+B;MAA/G,u3DAAkH,IAClH,uOAAoF,YAA9B;;wBAA6B;MAAnF,wBAAoF,+FAAkB,MAEtG;;;;;;;;;;;;;;;;;wBAAkH;MAAlC;;wBAA+B;MAA/G,u3DAAkH,IAClH,wOAAqF,YAA9B;;wBAA6B;MAApF,wBAAqF,gGAAmB,MAExG,8QAAgH,KAChH,wMAA2E,mFAAM,mDA9B7D,wBAAa,EAAW,sBAAY,EAAxD,YAAgH,EAA5F,SAAa,EAAW,SAAY,GAApC,wBAAa,EAA6C,oBAA+B,oBAA7G,YAAgH,EAA5F,SAAa,EAA6C,UAA+B,GAEzF,yBAAa,EAAW,uBAAY,EAAxD,aAAgH,EAA5F,UAAa,EAAW,UAAY,GAApC,yBAAa,EAA6C,oBAA+B,oBAA7G,aAAgH,EAA5F,UAAa,EAA6C,UAA+B,GAEzF,yBAAa,EAAW,uBAAY,EAAxD,aAAuH,EAAnG,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,mBAAQ,EAAsB,oBAA+B,oBAAtH,aAAuH,EAAnG,UAAa,EAAwB,UAAQ,EAAsB,UAA+B,GAElG,yBAAa,EAAW,uBAAY,EAAxD,aAAgJ,EAA5H,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,mBAAQ,EAA+C,oBAA+B,oBAA/I,aAAgJ,EAA5H,UAAa,EAAwB,UAAQ,EAA+C,UAA+B,GAG3H,yBAAa,EAAW,uBAAY,EAAxD,aAAuI,EAAnH,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAAxF,aAAuI,EAAnH,UAAa,EAAwB,UAA+B,GAEpE,yBAAa,EAAW,uBAAY,EAAxD,aAAwH,EAApG,UAAa,EAAW,UAAY,GAApC,yBAAa,EAA6C,oBAA+B,oBAA7G,aAAwH,EAApG,UAAa,EAA6C,UAA+B,GAGzF,yBAAa,EAAW,uBAAY,EAAxD,aAAgH,EAA5F,UAAa,EAAW,UAAY,GAApC,yBAAa,EAA6C,oBAA+B,oBAA7G,aAAgH,EAA5F,UAAa,EAA6C,UAA+B,GASzF,yBAAa,EAAY,wBAAa,EAA1D,aAAkH,EAA9F,UAAa,EAAY,UAAa,GAAtC,yBAAa,EAA+C,oBAA+B,oBAA/G,aAAkH,EAA9F,UAAa,EAA+C,UAA+B,GAG3F,yBAAa,EAAY,wBAAa,EAA1D,aAAkH,EAA9F,UAAa,EAAY,UAAa,GAAtC,yBAAa,EAA+C,qBAA+B,oBAA/G,aAAkH,EAA9F,UAAa,EAA+C,WAA+B,2BA1B/G,8sBAAgH,GAEhH,ouBAAgH,GAEhH,ouBAAuH,GAEvH,ouBAAgJ,GAGhJ,ouBAAuI,GAEvI,ouBAAwH,GAGxH,ouBAAgH,GAShH,ouBAAkH,GAGlH,ouBAAkH;mHAgC9G,wHAAsC,6MAA2B;mHA6CjE,wHAAsC,gFAAG;mHACzC,wHAAsC,+EAAE;mHAWxC,wHAA2E,6SAAkH;mHAHjM,qMAAwG,KACtG,iLAAqD,sdAA0E,GAApE,kEAAmE,MAAC,qFAAa,MAC5I,0gBAAwH,GAAnE,kEAAkE,MACrH,uZAA2E,iDAFlB,mFAAmE,IAAzE,YAA0E,EAApE,SAAmE,GACzE,mFAAkE,IAAvH,YAAwH,EAAnE,SAAkE,GAC/G,sFAAoE,IAA1E,aAA2E,EAArE,SAAoE;mHAM1E,wHAA2E,gPAAwD;oHASvI,qLAA+G,KAC7G,+SAAwJ,iNAA+B;mHAhG/L,mMAAyG,KACvG,iMAAmE,KACjE,0LAA4D,KAC1D,gLAAoD,KAClD,iLAAqD,6HAAM,yFAAY,MACvE,iLAAqD,gFAA2B,MAElF,gLAAoD,KAClD,kLAAqD,8HAAM,sFAAS,MACpE,kLAAqD,iFAAyB,MAEhF,gLAAmD,KACjD,kLAAqD,8HAAM,2FAAc,MACzE,kLAAqD,iFAAuD,MAE9G,gLAAmD,KACjD,kLAAqD,8HAAM,0FAAa,MACxE,kLAAqD,iFAAiB,MAGxE,gLAAmD,KACjD,kLAAqD,8HAAM,sFAAS,MACpE,kLAAqD,KACnD,uZAAsC,IAI1C,gLAAmD,KACjD,iLAAoD,8HAAM,8FAAiB,MAC3E,kLAAqD,iFAAwB,MAE/E,gLAAmD,KACjD,kLAAqD,8HAAM,6FAAgB,MAC3E,kLAAqD,iFAAkC,MAGzF,gLAAmD,KACjD,kLAAqD,8HAAM,6FAAgB,MAC3E,kLAAqD,iFAAkC,MAGzF,gLAAmD,KACjD,iLAAoD,8HAAM,6FAAgB,MAC1E,kLAAqD,iFAAkC,MAGzF,gLAAmD,KACjD,iLAAoD,8HAAM,gFAAG,MAC7D,kLAAqD,iFAAmB,MAG1E,gLAAmD,KACjD,kLAAqD,8HAAM,+EAAE,MAC7D,kLAAqD,iFAAkB,MAGzE,gLAAmD,KACjD,kLAAqD,8HAAM,gFAAG,MAC9D,kLAAqD,iFAAmB,MAG1E,gLAAmD,KACjD,kLAAqD,8HAAM,sFAAS,MACpE,kLAAqD,iFAAgB,MAEvE,iMAAmE,KACjE,kLAAqD,wdAA0E,GAApE,mEAAmE,MAAC,gFAAQ,MACvI,4gBAAyH,GAApE,mEAAmE,MACtH,uZAAsC,IACtC,uZAAsC,IAI1C,sMAAyE,KACvE,kLAAqD,wdAAyE,GAAnE,mEAAkE,MAAC,sFAAc,MAC5I,mLAAqD,+HAAM,gJAA8C,IAE3G,wZAAwG,IAMxG,uMAAwE,KACtE,mLAAqD,0dAAyE,GAAnE,oEAAkE,MAAC,+EAAO,MACrI,8gBAAwH,GAAnE,oEAAkE,MACrH,wZAA2E,IAG/E,sMAAwE,KACtE,mLAAqD,0dAA0E,GAApE,oEAAmE,MAAC,wFAAgB,MAC/I,8gBAAwH,GAAnE,oEAAkE,MAAC,6EAAuB,MAGnJ,2LAA6D,KAC3D,yZAA+G,iDAxErG,mBAA+B,0BAArC,aAAsC,EAAhC,SAA+B,GA2CoB,qFAAmE,IAAzE,aAA0E,EAApE,UAAmE,GACzE,qFAAmE,IAAxH,aAAyH,EAApE,UAAmE,GAChH,+CAA+B,GAArC,aAAsC,EAAhC,UAA+B,GAC/B,+CAA+B,GAArC,aAAsC,EAAhC,UAA+B,GAKoB,qFAAkE,IAAxE,aAAyE,EAAnE,UAAkE,GAGvD,wCAA+B,GAAvG,cAAwG,EAAhC,UAA+B,GAO1C,sFAAkE,IAAxE,cAAyE,EAAnE,UAAkE,GACxE,sFAAkE,IAAvH,cAAwH,EAAnE,UAAkE,GAC/G,uFAAoE,IAA1E,cAA2E,EAArE,UAAoE,GAIjB,sFAAmE,IAAzE,cAA0E,EAApE,UAAmE,GACzE,sFAAkE,IAAvH,cAAwH,EAAnE,UAAkE,GAIhE,2CAAqD,+BAA9G,cAA+G,EAAtD,UAAqD,mDA1FvD,oEAA2B,GAI3B,mEAAyB,GAIzB,oGAAuD,GAIvD,2DAAiB,GAYjB,6DAAwB,GAIxB,4EAAkC,GAKlC,4EAAkC,GAKlC,4EAAkC,GAKlC,6DAAmB,GAKnB,8DAAkB,GAKlB,+DAAmB,GAKnB,4DAAgB,GAYV,uOAA8C,GAgBe,+DAAuB;oHAuB/I,wHAA2V,qOAA6B;oHACxX,wHAAiD,0cAAkD;oHACnG,wHAA+C,6MAA2B;oHAC1E,wHAAkD,0MAAwB;oHAC1E,wHAAuC,qMAAmB;oHAC1D,wHAA2C,mMAAiB;oHAC5D,wHAA6C,2MAAyB;oHACtE,wHAAsC,oMAAkB;oHACxD,wHAAuC,qMAAmB;oHAC1D,wHAA8C,4MAA0B;oHACxE,wHAAiD,4OAAuD;oHAhB5G,sMAAsG,KAEpG,2KAA+C,KAC7C,wHAAM,mFAAsB,MAE9B,6IAAsB,KACpB,uZAA2V,IAC3V,uZAAiD,IACjD,wZAA+C,IAC/C,wZAAkD,IAClD,wZAAuC,IACvC,wZAA2C,IAC3C,wZAA6C,IAC7C,wZAAsC,IACtC,wZAAuC,IACvC,wZAA8C,IAC9C,wZAAiD,yBAV3C,+hBAAoV,IAA1V,YAA2V,EAArV,SAAoV,GACpV,mEAA0C,GAAhD,YAAiD,EAA3C,SAA0C,GAC1C,iEAAwC,GAA9C,aAA+C,EAAzC,SAAwC,GACxC,oEAA2C,GAAjD,aAAkD,EAA5C,SAA2C,GAC3C,yDAAgC,GAAtC,aAAuC,EAAjC,SAAgC,GAChC,6DAAoC,GAA1C,aAA2C,EAArC,SAAoC,GACpC,+DAAsC,GAA5C,aAA6C,EAAvC,SAAsC,GACtC,wDAA+B,GAArC,aAAsC,EAAhC,SAA+B,GAC/B,yDAAgC,GAAtC,aAAuC,EAAjC,SAAgC,GAChC,iEAAuC,GAA7C,aAA8C,EAAxC,UAAuC,GACvC,oEAA0C,GAAhD,aAAiD,EAA3C,UAA0C,2BAb1C,uEAAsB;oHANpC,gMAAwG,KAEtG,yRAAuJ,KACrJ,geAAsG,iDAAzD,mBAA4B,SAAzE,YAAsG,EAAzD,SAA4B;oHA8BrE,wHAA2V,qOAA6B;oHACxX,wHAAiD,0cAAkD;oHACnG,wHAA8C,6MAA2B;oHACzE,wHAA+C,6MAA2B;oHAC1E,wHAAkD,0MAAwB;oHAC1E,wHAAuC,qMAAmB;oHAC1D,wHAA2C,mMAAiB;oHAC5D,wHAA6C,2MAAyB;oHACtE,wHAAsC,oMAAkB;oHACxD,wHAAuC,qMAAmB;oHAC1D,wHAA8C,4MAA0B;oHACxE,wHAAiD,4OAAuD;oHAjB5G,sMAAsG,KAEpG,2KAA+C,KAC7C,wHAAM,mFAAsB,MAE9B,6IAAsB,KACpB,uZAA2V,IAC3V,uZAAiD,IACjD,wZAA8C,IAC9C,wZAA+C,IAC/C,wZAAkD,IAClD,wZAAuC,IACvC,wZAA2C,IAC3C,wZAA6C,IAC7C,wZAAsC,IACtC,wZAAuC,IACvC,wZAA8C,IAC9C,wZAAiD,yBAX3C,+hBAAoV,IAA1V,YAA2V,EAArV,SAAoV,GACpV,mEAA0C,GAAhD,YAAiD,EAA3C,SAA0C,GAC1C,gEAAuC,GAA7C,aAA8C,EAAxC,SAAuC,GACvC,iEAAwC,GAA9C,aAA+C,EAAzC,SAAwC,GACxC,oEAA2C,GAAjD,aAAkD,EAA5C,SAA2C,GAC3C,yDAAgC,GAAtC,aAAuC,EAAjC,SAAgC,GAChC,6DAAoC,GAA1C,aAA2C,EAArC,SAAoC,GACpC,+DAAsC,GAA5C,aAA6C,EAAvC,SAAsC,GACtC,wDAA+B,GAArC,aAAsC,EAAhC,SAA+B,GAC/B,0DAAgC,GAAtC,aAAuC,EAAjC,UAAgC,GAChC,iEAAuC,GAA7C,aAA8C,EAAxC,UAAuC,GACvC,oEAA0C,GAAhD,aAAiD,EAA3C,UAA0C,2BAd1C,uEAAsB;oHANpC,gMAAwG,KAEtG,yRAAuJ,KACrJ,geAAsG,iDAAzD,mBAA4B,SAAzE,YAAsG,EAAzD,SAA4B;oHAgCrE,wHAA8C,kOAAwC;oHACtF,wHAAiD,4OAAuD;oHACxG,wHAAiD,0cAAkD;oHACnG,wHAA6C,qOAA6B;oHAC1E,wHAA8C,4MAA0B;oHACxE,wHAAgD,8MAA4B;oHAC5E,wHAA+C,6MAA2B;oHAC1E,wHAA4C,0MAAwB;oHACpE,wHAAiD,2MAAyB;oHAC1E,wHAAwC,sMAAoB;oHAC5D,wHAAwC,sMAAoB;oHAjBhE,sMAAsG,KAEpG,2KAA+C,KAC7C,wHAAM,mFAAsB,MAE9B,6IAAsB,KAEpB,uZAA8C,IAC9C,uZAAiD,IACjD,wZAAiD,IACjD,wZAA6C,IAC7C,wZAA8C,IAC9C,wZAAgD,IAChD,wZAA+C,IAC/C,wZAA4C,IAC5C,wZAAiD,IACjD,wZAAwC,IACxC,wZAAwC,yBAVlC,gEAAuC,GAA7C,YAA8C,EAAxC,SAAuC,GACvC,mEAA0C,GAAhD,YAAiD,EAA3C,SAA0C,GAC1C,mEAA0C,GAAhD,aAAiD,EAA3C,SAA0C,GAC1C,+DAAsC,GAA5C,aAA6C,EAAvC,SAAsC,GACtC,gEAAuC,GAA7C,aAA8C,EAAxC,SAAuC,GACvC,kEAAyC,GAA/C,aAAgD,EAA1C,SAAyC,GACzC,iEAAwC,GAA9C,aAA+C,EAAzC,SAAwC,GACxC,8DAAqC,GAA3C,aAA4C,EAAtC,SAAqC,GACrC,mEAA0C,GAAhD,aAAiD,EAA3C,SAA0C,GAC1C,2DAAiC,GAAvC,aAAwC,EAAlC,UAAiC,GACjC,2DAAiC,GAAvC,aAAwC,EAAlC,UAAiC,2BAdjC,uEAAsB;oHANpC,gMAAwG,KAEtG,yRAAuJ,KACrJ,geAAsG,iDAAzD,mBAA4B,SAAzE,YAAsG,EAAzD,SAA4B;oHA0BzE,+IAAgF,KAC9E,kLAAqD,KACnD,sMAA0E,KAExE,qKAAyC,KACvC,qJAA+B,2FAAoB,MAErD,4IAAsB,KACpB,yHAAO,gFAAmB,MAI9B,6NAA2F,KACzF,sKAAyC,KACvC,yHAAM,sFAAS,MAEjB,6IAAsB,KACpB,yHAAM,iFAAgB,MAI1B,8NAA2F,KACzF,sKAAyC,KACvC,yHAAM,sFAAS,MAEjB,6IAAsB,KACpB,yHAAM,iFAAgB,MAK1B,8NAA2F,KACzF,sKAAyC,KACvC,yHAAM,iFAAI,MAEZ,6IAAsB,KACpB,yHAAM,iFAAY,MAKtB,8NAA2F,KACzF,sKAAyC,KACvC,yHAAM,kFAAK,MAEb,6IAAsB,KACpB,yHAAM,iFAAa,MAKvB,8NAA2F,KACzF,sKAAyC,KACvC,yHAAM,gFAAG,MAEX,6IAAsB,KACpB,yHAAM,iFAAW,MAKrB,8NAA2F,KACzF,sKAAyC,KACvC,yHAAM,oFAAO,MAEf,6IAAsB,KACpB,yHAAM,iFAAe,MAIzB,8NAA2F,KACzF,sKAAyC,KACvC,yHAAM,mFAAM,MAEd,6IAAsB,KACpB,yHAAM,iFAAwB,MAIlC,8NAA2F,KACzF,sKAAyC,KACvC,yHAAM,oFAAO,MAEf,6IAAsB,KACpB,yHAAM,iFAAa,MAIvB,8NAA2F,KACzF,sKAAyC,KACvC,yHAAM,kFAAK,MAEb,6IAAsB,KACpB,yHAAM,iFAAW,MAMvB,2LAA8D,KAC5D,yLAA4D,KAC1D,8QAA8I,YAAtC;;wBAAqC;MAA7I,wBAA8I,KAE9I,ySAAyK,YAA/E;;wBAA+B;MAAzH,wBAAyK,KACzK,sOAA4I,KAC1I,2MAAwE,gCApGzC,+DAAoB,GAG5C,yEAAmB,GASpB,uEAAgB,GAShB,uEAAgB,GAUhB,mEAAY,GAUZ,oEAAa,GAUb,kEAAW,GAUX,sEAAe,GASf,+EAAwB,GASxB,oEAAa,GASb,oEAAW,GAQd,yHAAoB,GAAzB,aAA8I,EAAzI,UAAoB,GAElB,8HAAyB,GAAC,8HAA2B,GAA5D,aAAyK,EAAlK,UAAyB,EAAC,UAA2B,GACrD,8HAA0B,GAA4E,mIAA8B,GAA3I,aAA4I,EAArI,UAA0B,EAA4E,UAA8B;oHA3GrJ,iMAAyG,KAEvG,2MAA+E,KAC7E,geAAgF,IAiH1E,4EAER,mDAnHO,mBAAuD,uBAA5D,YAAgF,EAA3E,SAAuD;oHAsHhE,mMAAiL,KAC/K,kMAA6F,YAA7B;;wBAA4B;MAA5F,40BAA6F,mDAArE,mBAAuB,YAAC,sBAAe,EAA/D,YAA6F,EAArE,SAAuB,EAAC,SAAe,mDADV,6CAA4C,GAAnG,YAAiL,EAA1H,SAA4C;oHAM7F;;;;;;;;;;;wBAAoT;MAA1K;;wBAA4C;MAAtL,41CAAoT,iDAAjM,iCAAsB,EAAC,mBAA4C,iCAAtL,YAAoT,EAAjM,SAAsB,EAAC,SAA4C,2BAAtL,8sBAAoT;oHACpT;;;;;;;;;;;wBAAkU;MAAjL;;wBAAmD;MAApM,41CAAkU,iDAA/M,wCAA6B,EAAC,mBAAmD,wCAApM,YAAkU,EAA/M,SAA6B,EAAC,SAAmD,2BAApM,8sBAAkU;oHAJxU,8LAAwI,KACtI,uKAA2C,KACzC,gLAAoD,KAClD,uZAAoT,IACpT,uZAAkU,iDADxT,iDAAoC,GAA9C,YAAoT,EAA1S,SAAoC,GACpC,iDAAoC,GAA9C,YAAkU,EAAxT,SAAoC;oHAIpD,oLAA4F,KAC1F,mmDAKqC,mDAJpB,mBAAgC,mBAEhC,mBAAoB,WADpB,mBAA8B,kBAG9B,mBAAmB,UADnB,oBAAmB,EAJpC,YAKqC,EAJpB,SAAgC,EAEhC,SAAoB,EADpB,SAA8B,EAG9B,SAAmB,EADnB,SAAmB;oHAc9C,mNAAuF,YAA3E;;wBAA6B;MAAzC,+ZAAuF,MACrF,oKAA2C,KAGzC,oKAAqD,kDAJ7C,mBAA6B,kBAAzC,YAAuF,EAA3E,SAA6B,mDAIhC,mBAAiB,YAAtB,YAAqD,EAAhD,SAAiB;+RAnY1B,4MAAyE,KACvE;;;;;wBAA0F;MAA9D;;wBAAyC;MAArE,oxBAA0F,IACxF,0NAAuF,KAErF,gMAAmE,KACjE,uNAA4F,KAE5F,uZAAgH,IAGhH,0KAA6C,KAC3C,iPAAkF,YAAvC;;wBAAiB;MAA5D,wBAAkF,KAEpF,uZAA0J,IAuC1J,uZAAyG,IAyGzG,wZAAwG,IAwBxG,wZAAwG,IAyBxG,wZAAwG,IA0BxG,wZAAyG,IAyHzG,wZAAiL,IAGjL,wZAAwI,IAQxI,wZAA4F,IAmBpG,wZAAuF,iDAxX1E,oCAAuB,GAA5B,aAAgH,EAA3G,SAAuB,GAM0G,oBAAmB,aAAzJ,aAA0J,EAApB,SAAmB,GAuCpF,gDAAmC,GAAxG,aAAyG,EAApC,SAAmC,GAyGpC,iDAAmC,GAAvG,aAAwG,EAApC,UAAmC,GAwBnC,iDAAmC,GAAvG,aAAwG,EAApC,UAAmC,GAyBnC,iDAAmC,GAAvG,aAAwG,EAApC,UAAmC,GA0BlC,iDAAmC,GAAxG,aAAyG,EAApC,UAAmC,GAyHJ,iGAA4E,IAAhL,aAAiL,EAA7E,UAA4E,GAG9G,yFAAqE,IAAvI,aAAwI,EAAtE,UAAqE,GAQ/E,iDAAmC,GAA3F,aAA4F,EAApC,UAAmC,GAmBzD,oBAAuB,kBAAjE,aAAuF,EAA7C,UAAuB,2BA9X/D,8sBAA0F;;;;;;;;;;;;;;;;ACD5F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyF;AACrB;AACjB;AACU;AACC;AACnB;AACA;AACV;AAKjC;IAiCE,uCAAoB,eAAgC,EAAU,MAAqB;QAAnF,iBAMC;QANmB,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAzBnF,YAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;QACnC,yBAAoB,GAAuB,EAAE,CAAC;QAC9C,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,sBAAiB,GAAW,MAAM,CAAC;QAInC,kBAAa,GAAW,CAAC,CAAC;QAE1B,mBAAc,GAAoB,IAAI,sEAAe,EAAE,CAAC;QAExD,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QAExC,eAAU,GAAY,KAAK,CAAC;QAE5B,aAAQ,GAAG,EAAE,CAAC;QACd,uBAAkB,GAAqB,IAAI,0EAAgB,EAAE,CAAC;QAC9D,oBAAe,GAAY,KAAK,CAAC;QACjC,cAAS,GAAW,EAAE,CAAC;QAQrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;QACzD,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAQ,GAAR;QAAA,iBAOC;QANC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzF,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAU,GAAV,UAAW,GAAG;QAAd,iBA0EC;QAzEC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,IAAI,CAAC,oBAAoB,IAAI,GAAG,IAAI,MAAM,EAAE;YAC9C,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAG;gBACnC,IAAI,GAAG,CAAC,WAAW,IAAI,eAAe,IAAI,GAAG,CAAC,eAAe,EAAE;oBAC7D,IAAI,EAAE,GAAG,KAAI,CAAC;oBACd,CAAC,CAAC,UAAU,CAAC;wBACX,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;wBAChD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;wBAClD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,mEAAmE,CAAC,CAAC;wBAClG,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;wBACpD,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBACxD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;qBAAM,IAAI,GAAG,CAAC,eAAe,EAAE;oBAC9B,CAAC,CAAC,UAAU,CAAC;wBACX,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;wBACvD,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;wBAChD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;wBAClD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,mEAAmE,CAAC,CAAC;wBAClG,CAAC,CAAC,kBAAkB,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;wBAC/D,CAAC,CAAC,mBAAmB,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBACnE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;YAEH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,aAAG;gBACzF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;oBAC7D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACrD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBAEvB,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAChE,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEpC,CAAC,CAAC,CAAC;SAEJ;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,aAAG;gBAC1F,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;oBAC9D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAErD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBACvB,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAG;gBACxF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBAC5D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAErD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBACvB,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,EAAE;YAC5D,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC1F,IAAI,MAAM,IAAI,IAAI,EAAE;oBAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,mDAAW,GAAX;QAAA,iBAUC;QATC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACrG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;gBACxC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aAC5H;iBAAM;gBACL,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aACxG;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAAgB,GAAhB,UAAiB,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAgC,EAAE,OAAe;QAAlG,iBAuBC;QAvBgD,6DAAgC;QAE/E,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpH,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAE/E,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACjC,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,IAAI,EAAnB,CAAmB,CAAC,CAAC;YAC/D,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA3B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;iBAC5E;gBACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,6DAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SAEtO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;YAChB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAElC,CAAC;IACD,6DAAqB,GAArB,UAAsB,GAAG,EAAc,aAA8B;QAA1C,qDAA0C;QACnE,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACnM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAChM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1L;gBACE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,YAAY,YAAC,MAAM;oBAC1I,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;wBAC1D,IAAI,CAAC,SAAS,GAAG,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;qBAC1E;yBAAM;wBACL,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;qBAC/B;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IAEJ,CAAC;IACD,6CAAK,GAAL;QAEE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,uDAAe,GAAf;QAAA,iBAqDC;QApDC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAG;YACxF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBAC5D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChE,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,KAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAC,CAAC,mCAAM,CAAC,KAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3H,KAAI,CAAC,OAAO,CAAC,eAAe,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAC,CAAC,mCAAM,CAAC,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxH,KAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAC,CAAC,mCAAM,CAAC,KAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAC,CAAC,EAAE,CAAC;YAC1H,IAAI,EAAE,GAAG,KAAI,CAAC;YACd,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC9E,MAAM,CAAC,OAAO,CAAC,aAAG;oBAChB,IAAI,GAAG,CAAC,QAAQ,IAAI,KAAK,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE;wBAC9F,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvE;gBACH,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,GAAG,IAAI,0EAAgB,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxC,MAAM,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxC,MAAM,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChC,MAAM,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,MAAM,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC9B,MAAM,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC9B,MAAM,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,MAAM,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1C,MAAM,CAAC,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvD,MAAM,CAAC,gBAAgB,GAAG,KAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACxD,MAAM,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACtC,MAAM,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,eAAe,GAAG,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YACtD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;YAErC,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,KAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrE,MAAM,CAAC,OAAO,CAAC,aAAG;oBAChB,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE;wBAE9C,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACrC;gBACH,CAAC,CAAC;gBAEF,KAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAiB,GAAjB;QAAA,iBAsBC;QArBC,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;YAC7E,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACvD,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;aACrE;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;YACzE,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACvD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aACvE;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1F,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;YAE/D,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAE9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAW,GAAX,UAAY,OAAO,EAAE,GAAG;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAE1D,CAAC;IACD,8CAAM,GAAN,UAAO,GAAG;QACR,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,uDAAe,GAAf;QACE,KAAK,CAAC,WAAW,CAAC,CAAC;IACrB,CAAC;IACD,sDAAc,GAAd;QACE,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,aAAa,EAA3B,CAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,IAAI,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;gBAC9E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yGAAyG,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEnK,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;IACH,CAAC;IAED,gDAAQ,GAAR,UAAS,KAAK,EAAC,OAAO;QAClB,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAClC;IAEL,CAAC;IAED,oDAAY,GAAZ,UAAa,IAAI,EAAE,SAAS;QAC1B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,SAAS,CAAC,WAAW,IAAI,eAAe,EAAE;gBAC5C,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBAClD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,mEAAmE,CAAC,CAAC;gBAClG,CAAC,CAAC,kBAAkB,GAAG,CAAE,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBACrE,CAAC,CAAC,mBAAmB,GAAG,CAAE,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;aACxE;iBAAM;gBACL,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC9C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBAClD,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,mEAAmE,CAAC,CAAC;gBAClG,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBACpD,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;aAEvD;YACD,OAAO,CAAC,kBAAkB,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtE,OAAO,CAAC,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;YAGnD,OAAO,CAAC,eAAe,CAAC,6BAA6B,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC5F,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAGX,CAAC;IACD,2DAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5D,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,KAAK,IAAI,iBAAiB,EAAE;YACrC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mEAAmE,CAAC;YACnG,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;SACrD;aAAM;YACL,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kEAAkE,CAAC;YAClG,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SACnD;IACH,CAAC;IACH,oCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GC9XW,yHAA+B,4FAAe;6GAC9C,yHAA+B,yFAAY;6GAI/C,0QAA2J,KACzJ,mLAAsD,KACpD,yKAA4C,KAE1C;;;;;;;;;;;;;;;;;wBAAgJ;MAAhD;;wBAAqC;MAArI,m3DAAgJ,IAChJ,6OAAqG,YAAzC;;wBAAwC;MAApG,wBAAqG,8FAAiB,MACtH;;;;;;;;;;;;;;;;;wBAAwI;MAAxC;;wBAAqC;MAArI,u3DAAwI,IACxI,6OAAqG,YAAzC;;wBAAwC;MAApG,wBAAqG,gGAAmB,MACxH;;;;;;;;;;;;;;;;;wBAA+I;MAAtC;;wBAAqC;MAA9I,s5DAA+I,IAC/I,iPAAyG,YAAzC;;wBAAwC;MAAxG,wBAAyG,6FAAgB,MACzH;;;;;;;;;;;;;;;;;wBACsE;MAAtC;;wBAAqC;MADrE,u3DACsE,IACtE,iPAAyG,YAAzC;;wBAAwC;MAAxG,wBAAyG,0FAAa,MAEtH;;;;;;;;;;;;;;;;;wBAA+M;MAApI;;wBAAqC;MAAhH,s5DAA+M,IAC/M,6OAAqG,YAAzC;;wBAAwC;MAApG,wBAAqG,kGAAqB,MAC1H;;;;;;;;;;;;;;;;;wBAAwI;MAAxC;;wBAAqC;MAArI,u3DAAwI,IACxI,6OAAqG,YAAzC;;wBAAwC;MAApG,wBAAqG,8FAAiB,MACtH;;;;;;;;;;;;;;;;;wBAAwI;MAAxC;;wBAAqC;MAArI,u3DAAwI,IACxI,6OAAiK,YAArG;;wBAAoG;MAAhK,wBAAiK,8FAAiB,MAClL,+OAAkG,KAClG,6MAAgF,mFAAM,MAEtF,+OAAkG,KAClG,6MAAgF,mFAAM,MAEtF,iPAAoG,KACpG,8OAAwG,YAA3C;;wBAA0C;MAAvG,wBAAwG,gGAAmB,MAE3H,iPAAoG,KACpG,8OAAwG,YAA3C;;wBAA0C;MAAvG,wBAAwG,kGAAqB,MAE7H,mQAA6G,KAC7G,6MAAgF,kFAAK,mDA7BjE,8BAAmB,EAAiB,4BAAkB,EAA1E,YAAgJ,EAA5H,SAAmB,EAAiB,SAAkB,GAAtD,8BAAmB,EAAyD,oBAAqC,0BAArI,YAAgJ,EAA5H,SAAmB,EAAyD,UAAqC,GAEjH,+BAAmB,EAAiB,6BAAkB,EAA1E,aAAwI,EAApH,UAAmB,EAAiB,UAAkB,GAAtD,+BAAmB,EAAyD,oBAAqC,0BAArI,aAAwI,EAApH,UAAmB,EAAyD,UAAqC,GAEjH,+BAAmB,EAAiB,6BAAkB,EAA1E,aAA+I,EAA3H,UAAmB,EAAiB,UAAkB,GAAtD,+BAAmB,EAAoC,mBAAQ,EAAsB,oBAAqC,0BAA9I,aAA+I,EAA3H,UAAmB,EAAoC,UAAQ,EAAsB,UAAqC,GAE1H,+BAAmB,EAAiB,6BAAkB,EAA1E,aACsE,EADlD,UAAmB,EAAiB,UAAkB,GAAtD,+BAAmB,EACP,oBAAqC,0BADrE,aACsE,EADlD,UAAmB,EACP,UAAqC,GAGjD,+BAAmB,EAAiB,6BAAkB,EAA1E,aAA+M,EAA3L,UAAmB,EAAiB,UAAkB,GAAtD,+BAAmB,EAAuH,oDAAgD,GAAnI,oBAAqC,0BAAhH,aAA+M,EAA3L,UAAmB,EAAuH,UAAgD,EAAnI,UAAqC,GAE5F,+BAAmB,EAAiB,6BAAkB,EAA1E,aAAwI,EAApH,UAAmB,EAAiB,UAAkB,GAAtD,+BAAmB,EAAyD,oBAAqC,0BAArI,aAAwI,EAApH,UAAmB,EAAyD,UAAqC,GAEjH,+BAAmB,EAAiB,6BAAkB,EAA1E,aAAwI,EAApH,UAAmB,EAAiB,UAAkB,GAAtD,+BAAmB,EAAyD,oBAAqC,0BAArI,aAAwI,EAApH,UAAmB,EAAyD,UAAqC,2BAdrI,8sBAAgJ,GAEhJ,ouBAAwI,GAExI,ouBAA+I,GAE/I,ouBACsE,GAGtE,ouBAA+M,GAE/M,ouBAAwI,GAExI,ouBAAwI;6GAyBtI,gTAAgO;6GAEhO,+SAAgM;6GAY9L,6xBAA6D,iFAE7D,2BAF2C,mHAAiB,GAA5D,YAA6D,EAAlB,+HAAiB,GAA5D,YAA6D,EAAlB,SAAiB,2BAAC,sEAE7D;6GAaF;;;;;wBAAkP;MAAvM;;wBAA8B;MAAgE;;wBAAmC;MAA5K,2uDAAkP,IAChP,y1BAA2D,0FAAc,MACzE,8yBAAkB,sFAAU,MAC5B,8yBAAkB,oFAAQ,mDAH8C,kBAAQ,EAAlF,YAAkP,EAAxK,SAAQ,GAA1E,wBAAa,EAAoH,oBAAmC,wBAA5K,YAAkP,EAA1O,SAAa,EAAoH,UAAmC,GAClK,uBAAY,EAApB,YAA2D,EAAnD,oCAAY,EAApB,aAA2D,EAAnD,UAAY,GACZ,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,2BAHnB,2zBAAkP,GACvM,qBAAiB,EAA1D,YAA2D,EAAlB,UAAiB;8GA4B5D;;;;;;;;;;;wBAAyW;MAApR;;wBAAkC;MAAvH,23CAAyW,iDAAhV,wCAA6B,EAAsB,kBAAQ,EAAC,oBAAkC,uBAAvH,YAAyW,EAAhV,SAA6B,EAAsB,SAAQ,EAAC,UAAkC,mDAAC,yIAAmH,IAA3O,ioBAAyW,EAAjP,SAAmH,EAA3O,2EAAyW;6GAH7W,kMAAsG,KACpG,sMAA0E,+FAAkB,MAC5F,+LAAmE,KACjE,iZAAyW,iDAAvE,sFAAoE,IAAtW,YAAyW,EAAvE,SAAoE;8GAmCpW,6xBAAkE,iFAElE,2BAF6C,mHAAoB,GAAjE,YAAkE,EAArB,+HAAoB,GAAjE,YAAkE,EAArB,SAAoB,2BAAC,sEAElE;8GAUA,6xBAAkE,iFAElE,2BAF6C,mHAAoB,GAAjE,YAAkE,EAArB,+HAAoB,GAAjE,YAAkE,EAArB,SAAoB,2BAAC,sEAElE;8GAUA,6xBAAkE,iFAElE,2BAF6C,mHAAoB,GAAjE,YAAkE,EAArB,+HAAoB,GAAjE,YAAkE,EAArB,SAAoB,2BAAC,sEAElE;8GAWA,6xBAA4D,iFAE5D,2BAF0C,mHAAiB,GAA3D,YAA4D,EAAlB,+HAAiB,GAA3D,YAA4D,EAAlB,SAAiB,2BAAC,sEAE5D;6GAzIV,0MAA4H,KAC1H,kMAAoE,KAClE,kMAAsE,KACpE,sMAA0E,wFAAW,MACrF,iLAAqD,KACnD,gZAAgO,IAEhO,gZAAgM,IAGpM,mMAAsE,KACpE,uMAA0E,2FAAc,MACxF,gMAAmE;;;;;;;;;;;wBAAwM;MAAxH;;wBAAmC;MAAC;;wBAAgC;MAApJ,+1CAAwM,IAE7Q,oMAAsE,KACpE,uMAA0E,sFAAS,MACnF,mLAAqD,KACnD;;;;;wBAA0K;MAA7H;;wBAA8B;MAAuD;;wBAAuC;MAAzK,8xCAA0K,IACxK,21BAA2D,4FAAgB,MAC3E,0dAA6D,IAMnE,mMAAsE,KACpE,uMAA0E,2FAAc,MACxF,gMAAmE,KACjE,mVAA8Q,KAGlR,mMAAsE,KACpE,uMAA0E,oFAAO,MACjF,kLAAqD,KACnD,iZAAkP,IAOtP,mMAAsE,KACpE,uMAA0E,0FAAa,MACvF,gMAAmE,KACjE;;;;;;;;;;;wBAA8I;MAAlH;;wBAA2B;MAAvD,83CAA8I,IAGlJ,uHAAM,KACN,mLAAsD,KACpD,uMAA0E,yFAAY,MACtF,gMAAmE,KACjE;;;;;;;;;;;wBAAkK;MAA5H;;wBAAqC;MAA3E,83CAAkK,IAGtK,mMAAsE,KACpE,uMAA0E,sFAAS,MACnF,gMAAmE,KACjE;;;;;;;;;;;wBAA8J;MAA1H;;wBAAmC;MAAvE,83CAA8J,IAGlK,iZAAsG,IAMtG,mMAAsE,KACpE,uMAA0E,gFAAG,MAC7E,kLAAqD,KACnD;;;;;;;;;;;wBAA8J;MAA/F;;wBAA6B;MAA5F,83CAA8J,IAKlK,mMAAsE,KACpE,uMAA0E,+EAAE,MAC5E,kLAAqD,KACnD;;;;;;;;;;;wBAAwJ;MAA9F;;wBAA4B;MAAtF,83CAAwJ,IAK5J,oMAAsE,KACpE,wMAA0E,gFAAG,MAC7E,mLAAqD,KACnD;;;;;;;;;;;wBAA2J;MAA/F;;wBAA6B;MAAzF,i4CAA2J,IAQ/J,qMAAsE,KACpE,wMAA0E,6FAAgB,MAC1F,oLAAqD,KACnD;;;;;wBAA8K;MAA9H;;wBAA8B;MAAuD;;wBAAwC;MAA7K,iyCAA8K,IAC5K,81BAA2D,mGAAuB,MAClF,4dAAkE,IAOxE,qMAAsE,KACpE,wMAA0E,6FAAgB,MAC1F,oLAAqD,KACnD;;;;;wBAA8K;MAA9H;;wBAA8B;MAAuD;;wBAAwC;MAA7K,iyCAA8K,IAC5K,81BAA2D,mGAAuB,MAClF,4dAAkE,IAOxE,qMAAsE,KACpE,wMAA0E,6FAAgB,MAC1F,oLAAqD,KACnD;;;;;wBAA8K;MAA9H;;wBAA8B;MAAuD;;wBAAwC;MAA7K,iyCAA8K,IAC5K,81BAA2D,mGAAuB,MAClF,4dAAkE,IAOxE,qMAAsE,KACpE,wMAA0E,uFAAU,MACpF,oLAAqD,KAEnD;;;;;wBAA+L;MAA1I;;wBAA8B;MAA6E;;wBAA8B;MAA9L,iyCAA+L,IAC7L,81BAA2D,6FAAiB,MAC5E,4dAA4D,IASpE,wLAAyD,KACvD,mNAAoF,KAClF,8MAAsF,KAAC,yJAAiC,kGAAqB,MAC7I,gJAAwB,KACtB;;;;;;;;;;;wBAC8I;MADhD;;wBAA6B;MACjH;;wBAAyC;MADnD,k2CAC8I,iDAhJvI,sFAAoE,IAA3E,YAAgO,EAAzN,SAAoE,GAEpE,gDAAqC,GAA5C,YAAgM,EAAzL,SAAqC,GAKgF,+BAAoB,EAAC,oBAAmC,wBAAnH,aAAwM,EAA7I,SAAoB,EAAC,UAAmC,GAK5K,2BAAe,EAA2G,oBAAuC,4BAAzK,aAA0K,EAAlK,UAAe,EAA2G,UAAuC,GAC/J,uBAAY,EAApB,aAA2D,EAAnD,oCAAY,EAApB,aAA2D,EAAnD,UAAY,GACZ,oBAAkC,eAA1C,aAA6D,EAArD,UAAkC,GAeiI,uFAAoE,IAAjP,aAAkP,EAArE,UAAoE,GAU1O,gCAAoB,EAAkD,mBAAQ,EAAzD,oBAA2B,gBAAvD,aAA8I,EAAvI,UAAoB,EAAkD,UAAQ,EAAzD,UAA2B,GAOhD,0CAA8B,EAA4D,mBAAQ,EAAnE,oBAAqC,0BAA3E,aAAkK,EAA3J,UAA8B,EAA4D,UAAQ,EAAnE,UAAqC,GAMpE,wCAA4B,EAA0D,mBAAQ,EAAjE,oBAAmC,wBAAvE,aAA8J,EAAvJ,UAA4B,EAA0D,UAAQ,EAAjE,UAAmC,GAGL,wCAA+B,GAArG,aAAsG,EAAhC,UAA+B,GASlE,sBAAU,EAAoD,mBAAQ,EAAtC,oBAA6B,kBAA5F,aAA8J,EAA/H,UAAU,EAAoD,UAAQ,EAAtC,UAA6B,GAQjE,qBAAS,EAAmD,mBAAQ,EAArC,oBAA4B,iBAAtF,aAAwJ,EAA7H,UAAS,EAAmD,UAAQ,EAArC,UAA4B,GAQ1D,sBAAU,EAAoD,mBAAQ,EAAtC,oBAA6B,kBAAzF,cAA2J,EAA/H,UAAU,EAAoD,UAAQ,EAAtC,UAA6B,GAWjF,8BAAkB,EAA2G,oBAAwC,6BAA7K,cAA8K,EAAtK,UAAkB,EAA2G,UAAwC,GACnK,uBAAY,EAApB,cAA2D,EAAnD,oCAAY,EAApB,cAA2D,EAAnD,UAAY,GACZ,oBAAoC,cAA5C,cAAkE,EAA1D,UAAoC,GAUtC,+BAAkB,EAA2G,qBAAwC,6BAA7K,cAA8K,EAAtK,WAAkB,EAA2G,WAAwC,GACnK,wBAAY,EAApB,cAA2D,EAAnD,sCAAY,EAApB,cAA2D,EAAnD,WAAY,GACZ,qBAAoC,cAA5C,cAAkE,EAA1D,WAAoC,GAUtC,+BAAkB,EAA2G,qBAAwC,6BAA7K,cAA8K,EAAtK,WAAkB,EAA2G,WAAwC,GACnK,wBAAY,EAApB,cAA2D,EAAnD,sCAAY,EAApB,cAA2D,EAAnD,WAAY,GACZ,qBAAoC,cAA5C,cAAkE,EAA1D,WAAoC,GAWtC,oCAAuB,EAAsB,qBAA8B,mBAAnF,cAA+L,EAAvL,WAAuB,EAAsB,WAA8B,GACzE,wBAAY,EAApB,cAA2D,EAAnD,sCAAY,EAApB,cAA2D,EAAnD,WAAY,GACZ,qBAAiC,cAAzC,cAA4D,EAApD,WAAiC,GAa4B,mCAAsB,EACnF,qBAAyC,8BADnD,cAC8I,EADvE,WAAsB,EACnF,WAAyC,mDAzIc,stBAAwM,GAKzQ,ouBAA0K,GAC/H,qBAAiB,EAA1D,aAA2D,EAAlB,UAAiB,GAUyB,oHAA6F,IAAlL,aAA8Q,EAAzL,UAA6F,GAgBlL,ouBAA8I,GAO9I,ouBAAkK,GAMlK,ouBAA8J,GAY9J,ouBAA8J,GAQ9J,ouBAAwJ,GAQxJ,4uBAA2J,GAW3J,4uBAA8K,GACnI,qBAAiB,EAA1D,cAA2D,EAAlB,UAAiB,GAW5D,0vBAA8K,GACnI,sBAAiB,EAA1D,cAA2D,EAAlB,WAAiB,GAW5D,0vBAA8K,GACnI,sBAAiB,EAA1D,cAA2D,EAAlB,WAAiB,GAYwB,8EAA2E,oBAA/J,+pBAA+L,EAA3G,WAA2E,EAA/J,yFAA+L,GACpJ,sBAAiB,EAA1D,cAA2D,EAAlB,WAAiB,GAc5D,0vBAC8I;8GAMtJ,+KAAmG,KACjG,yLAA6D,KAC3D,4IAAsB,KAEtB,2KAA+C,KAC7C,sKAA0C,KACxC,sPAAgG,YAA1B;;wBAAyB;MAA/F,wBAAgG,mFAAM,MAExG,4KAAgD,KAC9C,uPAAgG,YAA/B;;wBAA8B;MAA/F,wBAAgG,kFAAK;8GAYjG,yHAAoD,+FAAkB;8GAEtE,yHAAoD,sMAAmB;8GAWjE,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;8GAPF;;;;;wBAG4H;MAFpH;;wBAAuC;MAEvC;;;wBAA0G;MAHlH,+2DAG4H,IAC1H,4yBAAkB,IAClB,2dAAsF,iDAHH,uGAA2D,GAFhJ,YAG4H,EADvC,UAA2D,GAF3C,mBAAoC,oDAGtB,mBAAQ,EAFnH,+BAAuC,qDAD/C,YAG4H,EAHvB,UAAoC,EAGtB,UAAQ,EAFnH,UAAuC,GAGrC,oBAAS,EAAjB,YAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,mBAAmC,8CAA3C,aAAsF,EAA9E,UAAmC,2BALE,gJAA2B,GAAC,gJAAyB,GAApG,muBAG4H,EAH7E,SAA2B,EAAC,SAAyB,EAApG,sFAG4H;8GAY1H,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;8GAPF;;;;;wBAGmH;MAF3G;;wBAAuC;MAEvC;;;wBAA0G;MAHlH,g1DAGmH,IACjH,4yBAAkB,IAClB,2dAAsF,iDAHH,uGAA2D,GAFhJ,YAGmH,EAD9B,UAA2D,GAF3C,mBAAoC,oDACjI,+BAAuC,qDAD/C,YAGmH,EAHd,UAAoC,EACjI,UAAuC,GAGrC,oBAAS,EAAjB,YAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,mBAAmC,8CAA3C,aAAsF,EAA9E,UAAmC,2BALE,gJAA2B,GAAC,gJAAyB,GAApG,muBAGmH,EAHpE,SAA2B,EAAC,SAAyB,EAApG,sFAGmH;8GAYjH,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;8GAPF;;;;;wBAGmH;MAF3G;;wBAAuC;MAEvC;;;wBAA0G;MAHlH,g1DAGmH,IACjH,4yBAAkB,IAClB,2dAAsF,iDAHhD,uGAA2D,GAFnG,YAGmH,EAD3E,UAA2D,GAFE,mBAAoC,oDACjI,+BAAuC,qDAD/C,YAGmH,EAHd,UAAoC,EACjI,UAAuC,GAGrC,oBAAS,EAAjB,YAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,mBAAmC,8CAA3C,aAAsF,EAA9E,UAAmC,2BALE,gJAA2B,GAAC,gJAAyB,GAApG,muBAGmH,EAHpE,SAA2B,EAAC,SAAyB,EAApG,sFAGmH;8GAzBrH,sKAA0E,KAExE,iZAG4H,IAO5H,iZAGmH,IAOnH,iZAGmH,iDAtBnE,8PACoC,gDAFpF,YAG4H,EAF5E,SACoC,GASpC,8PACoC,gDAFpF,YAGmH,EAFnE,SACoC,GASpC,kNACT,IAFvC,YAGmH,EAFnE,SACT;8GAYrC,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,sEAExF;8GAHF;;;;;wBAAoa;MAA1R;;wBAAuC;MAAwI;;;wBAA0G;MAAna,g1DAAoa,IACla,0dAAwF,iDADmK,uGAA2D,GAAxT,YAAoa,EAAvK,UAA2D,GAAnN,mBAAoC,oDAAC,+BAAuC,qDAAjL,YAAoa,EAA/T,UAAoC,EAAC,UAAuC,GACvK,mBAAmC,8CAA3C,YAAwF,EAAhF,UAAmC,2BADE,gJAA2B,GAAC,gJAAyB,GAApG,muBAAoa,EAArX,SAA2B,EAAC,SAAyB,EAApG,sFAAoa;8GADta,sKAA0E,KACxE,iZAAoa,yBAAlP,gJAA0E,IAA5P,YAAoa,EAAlP,SAA0E;8GAQ9P;;;;;;;;;;;wBAA8mB;MAAjkB;;wBAAuC;MAA+e;;wBAAwC;MAA3mB,i5DAA8mB,iDAAvG,uGAA2D,GAAlkB,YAA8mB,EAAvG,UAA2D,GAA7e,mBAAoC,oDAA5E,+BAAuC,qDAApF,YAA8mB,EAAzhB,UAAoC,EAA5E,UAAuC,mDAA7E,6JAAqC,GAAiI,qJAAuC,GAApN,muBAA8mB,EAAvmB,SAAqC,EAAiI,SAAuC,EAApN,sFAA8mB;8GADhnB,sKAAwN,KACtN,iZAA8mB,yBAAzZ,wlBAAiT,KAAtgB,YAA8mB,EAAzZ,SAAiT;8GAExgB;;;;;;;;;;;;;;;;;;;;;;;wBAA0iB;MAA7f;;wBAAuC;MAA2a;;wBAAwC;MAAviB,+oCAA0iB,GAA1E,+DAA8B,KAA9f,wtCAA0iB,iDAAtI,gGAA2D,GAA/d,YAA0iB,EAAtI,UAA2D,GAAC,kCAA8B,aAA9f,YAA0iB,EAA1E,UAA8B,GAAza,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAA0iB,EAArd,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,muBAA0iB,EAAniB,SAAqC,EAAiI,SAAuC,EAApN,sFAA0iB;8GAE1iB;;;;;;;;;;;wBAAwoB;MAA3lB;;wBAAuC;MAAygB;;wBAAwC;MAAroB,8oEAAwoB,iDAAzU,gGAA2D,GAA1X,YAAwoB,EAAzU,UAA2D,GAAC,2PAAiO,EAA5lB,YAAwoB,EAA7Q,UAAiO,GAAvgB,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAAwoB,EAAnjB,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,u4BAAO,SAAqC,EAAiI,SAAuC,EAApN,kGAAwoB;8GAGxoB;;;;;;;;;;;wBAEmD;MAF4C;;wBAAuC;MAE/H;;wBAAyC;MAFhD,i5DAEmD,iDAD2B,+FAA2D,GADzI,YAEmD,EAD2B,SAA2D,GAD/E,kBAAoC,6CAAC,+BAAuC,8CAAtI,YAEmD,EAFO,SAAoC,EAAC,UAAuC,2BAAtI,2zBAEmD;8GAIjD,qzBAAsF,iFAEtF,2BAFuC,sHAA0B,GAAjE,YAAsF,EAA/C,kIAA0B,GAAjE,YAAsF,EAA/C,SAA0B,2BAAqB,mEAEtF;8GAJF;;;;;wBACiQ;MAA9L;;wBAAuC;MAAuG;;wBAA+C;MADhQ,g1DACiQ,IAC/P,0dAAsF,iDAD6D,gGAA2D,GADhN,YACiQ,EAA5G,UAA2D,GAAlL,mBAAoC,6CAAC,+BAAuC,8CAD1G,YACiQ,EAAnO,UAAoC,EAAC,UAAuC,GAChG,oBAA8B,QAAtC,YAAsF,EAA9E,UAA8B,2BAFO,yIAC5C,GAAC,yIAAyB,GAD7B,muBACiQ,EADlN,SAC5C,EAAC,SAAyB,EAD7B,sFACiQ;8GA/DrQ,0MAA2T,KACzT,2KAA+C,KAC7C,iZAAoD,IAEpD,iZAAoD,IAEtD,6IAAsB,KACpB,sKAA0C,KACxC,iZAA0E,IAkC1E,kZAA0E,IAQ5E,kZAAwN,IAGxN,kZAA0iB,IAE1iB,kZAAwoB,IAGxoB,kZAEmD,IAEnD,kZACiQ,yBA7D1P,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAE5C,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAIP,8DAA+B,GAAzE,YAA0E,EAAhC,SAA+B,GAkC/B,8DAA+B,GAAzE,aAA0E,EAAhC,SAA+B,GAQjC,iTAA6K,IAAvN,aAAwN,EAA9K,SAA6K,GAGF,wWAA8M,KAAna,aAA0iB,EAArV,SAA8M,GAE9M,sLAAyG,IAA9T,aAAwoB,EAAnb,SAAyG,GAIvT,yHAAsE,IAD7E,aAEmD,EAD5C,SAAsE,GAI8B,wEAAyC,GADpJ,aACiQ,EAAtJ,SAAyC;8GAQxJ,yMAAoH,KAClH,iMAAyF,YAAzC;;wBAAwC;MAAxF,m5CAAyF,2BAA5E,qBAAsB,EAAC,iBAAW,EAA/C,YAAyF,EAA5E,SAAsB,EAAC,SAAW;8GAzEnD,uHAAkC,KAChC,iZAA2T,IAuE3T,iZAAoH,yBAvEvC,sXAA6O,IAA1T,YAA2T,EAA9O,SAA6O,GAuE7O,8DAAsC,GAAnH,YAAoH,EAAvC,SAAsC;8GA3E3H,iLAAoG,KAClG,4TAAsO,KACpO;;;;;;kzBAA4B,IAC1B,0dAAkC,IA6ElC,yLAA6D,KAC3D,6IAAsB,KAEtB,6IAAsB,KACpB,uKAA0C,KACxC,uPAAuJ,YAAvH;;wBAAgF;MAAhH,wBAAuJ,mFAAM,MAE/J,6KAAgD,KAC9C,wQAA4H,YAA3D;;wBAA8B;MAA/F,wBAA4H,kFAAK,mDAtFnI,mBAAqB,UAA3B,YAA4B,EAAtB,SAAqB,GACpB,mBAA4B,SAAjC,YAAkC,EAA7B,SAA4B,mDAFkI,iEAA8D,GAArO,YAAsO,EAA/D,SAA8D,GACnO,8sBAA4B,GAsF4E,qBAA2B,gBAA3H,aAA4H,EAA5B,UAA2B;8GAoB3H,yHAAoD,+FAAkB;8GAEtE,yHAAoD,sMAAmB;8GAWjE,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;8GAPF;;;;;wBAGmH;MAF3G;;wBAAuC;MAEvC;;;wBAA0G;MAHlH,g1DAGmH,IACjH,4yBAAkB,IAClB,2dAAsF,iDAHhF,uGAA2D,GAFnE,YAGmH,EAD3G,UAA2D,GAFkC,mBAAoC,oDACjI,+BAAuC,qDAD/C,YAGmH,EAHd,UAAoC,EACjI,UAAuC,GAGrC,oBAAS,EAAjB,YAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,mBAAmC,8CAA3C,aAAsF,EAA9E,UAAmC,2BALE,gJAA2B,GAAC,gJAAyB,GAApG,muBAGmH,EAHpE,SAA2B,EAAC,SAAyB,EAApG,sFAGmH;8GALrH,sKAA0E,KAExE,iZAGmH,yBAFnE,gJAA0E,IAD1H,YAGmH,EAFnE,SAA0E;8GAYxH,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,sEAExF;8GAHF;;;;;wBAAoa;MAA1R;;wBAAuC;MAAwI;;;wBAA0G;MAAna,g1DAAoa,IACla,0dAAwF,iDADmK,uGAA2D,GAAxT,YAAoa,EAAvK,UAA2D,GAAnN,mBAAoC,oDAAC,+BAAuC,qDAAjL,YAAoa,EAA/T,UAAoC,EAAC,UAAuC,GACvK,mBAAmC,8CAA3C,YAAwF,EAAhF,UAAmC,2BADE,gJAA2B,GAAC,gJAAyB,GAApG,muBAAoa,EAArX,SAA2B,EAAC,SAAyB,EAApG,sFAAoa;8GADta,sKAA0E,KACxE,iZAAoa,yBAAlP,gJAA0E,IAA5P,YAAoa,EAAlP,SAA0E;8GAQ9P;;;;;;;;;;;wBAA8mB;MAAjkB;;wBAAuC;MAA+e;;wBAAwC;MAA3mB,i5DAA8mB,iDAAvG,uGAA2D,GAAlkB,YAA8mB,EAAvG,UAA2D,GAA7e,mBAAoC,oDAA5E,+BAAuC,qDAApF,YAA8mB,EAAzhB,UAAoC,EAA5E,UAAuC,mDAA7E,6JAAqC,GAAiI,qJAAuC,GAApN,muBAA8mB,EAAvmB,SAAqC,EAAiI,SAAuC,EAApN,sFAA8mB;8GADhnB,sKAAwN,KACtN,iZAA8mB,yBAAzZ,wlBAAiT,KAAtgB,YAA8mB,EAAzZ,SAAiT;8GAExgB;;;;;;;;;;;;;;;;;;;;;;;wBAA0iB;MAA7f;;wBAAuC;MAA2a;;wBAAwC;MAAviB,+oCAA0iB,GAA1E,+DAA8B,KAA9f,wtCAA0iB,iDAAtI,gGAA2D,GAA/d,YAA0iB,EAAtI,UAA2D,GAAC,kCAA8B,aAA9f,YAA0iB,EAA1E,UAA8B,GAAza,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAA0iB,EAArd,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,muBAA0iB,EAAniB,SAAqC,EAAiI,SAAuC,EAApN,sFAA0iB;8GAE1iB;;;;;;;;;;;wBAAwoB;MAA3lB;;wBAAuC;MAAygB;;wBAAwC;MAAroB,8oEAAwoB,iDAAzU,gGAA2D,GAA1X,YAAwoB,EAAzU,UAA2D,GAAC,2PAAiO,EAA5lB,YAAwoB,EAA7Q,UAAiO,GAAvgB,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAAwoB,EAAnjB,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,u4BAAO,SAAqC,EAAiI,SAAuC,EAApN,kGAAwoB;8GAExoB;;;;;;;;;;;wBAA4V;MAA7P;;wBAAuC;MAA0K;;wBAAyC;MAAzV,i5DAA4V,iDAA9I,+FAA2D,GAAzQ,YAA4V,EAA9I,SAA2D,GAA/M,mBAAoC,6CAAC,+BAAuC,8CAAtI,YAA4V,EAAlS,UAAoC,EAAC,UAAuC,mDAAoI,sJAAqC,GAA/S,muBAA4V,EAAlF,SAAqC,EAA/S,sFAA4V;8GAI1V,qzBAAsF,iFAEtF,2BAFuC,sHAA0B,GAAjE,YAAsF,EAA/C,kIAA0B,GAAjE,YAAsF,EAA/C,SAA0B,2BAAqB,mEAEtF;8GAHF;;;;;wBAAwU;MAA9L;;wBAAuC;MAAuG;;wBAA+C;MAAvU,g1DAAwU,IACtU,0dAAsF,iDADoI,gGAA2D,GAAvR,YAAwU,EAA5G,UAA2D,GAAlL,mBAAoC,6CAAC,+BAAuC,8CAAjL,YAAwU,EAAnO,UAAoC,EAAC,UAAuC,GACvK,oBAA8B,QAAtC,YAAsF,EAA9E,UAA8B,2BADO,yIAA2B,GAAC,yIAAyB,GAApG,muBAAwU,EAAzR,SAA2B,EAAC,SAAyB,EAApG,sFAAwU;8GAvC5U,0MAA2T,KACzT,2KAA+C,KAC7C,iZAAoD,IAEpD,iZAAoD,IAEtD,6IAAsB,KACpB,sKAA0C,KACxC,iZAA0E,IAa1E,kZAA0E,IAQ5E,kZAAwN,IAGxN,kZAA0iB,IAE1iB,kZAAwoB,IAExoB,kZAA4V,IAG5V,kZAAwU,yBArCjU,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAE5C,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAIP,8DAA+B,GAAzE,YAA0E,EAAhC,SAA+B,GAa/B,8DAA+B,GAAzE,aAA0E,EAAhC,SAA+B,GAQjC,iTAA6K,IAAvN,aAAwN,EAA9K,SAA6K,GAGF,wWAA8M,KAAna,aAA0iB,EAArV,SAA8M,GAE9M,sLAAyG,IAA9T,aAAwoB,EAAnb,SAAyG,GAEvL,yHAAsE,IAA7M,aAA4V,EAArN,SAAsE,GAG3B,wEAAyC,GAA3N,aAAwU,EAAtJ,SAAyC;8GAQ/N,yMAAoH,KAClH,iMAAyF,YAAzC;;wBAAwC;MAAxF,m5CAAyF,2BAA5E,qBAAsB,EAAC,iBAAW,EAA/C,YAAyF,EAA5E,SAAsB,EAAC,SAAW;8GAlDnD,uHAAkC,KAEhC,iZAA2T,IA+C3T,iZAAoH,yBA/CvC,sXAA6O,IAA1T,YAA2T,EAA9O,SAA6O,GA+C7O,8DAAsC,GAAnH,YAAoH,EAAvC,SAAsC;8GAtD3H,iLAAoG,KAClG,4TAAsO,KAEpO;;;;;;kzBAA4B,IAE1B,0dAAkC,IAsDlC,yLAA6D,KAC3D,6IAAsB,KAEtB,6IAAsB,KACpB,uKAA0C,KACxC,uPAAuJ,YAAvH;;wBAAgF;MAAhH,wBAAuJ,mFAAM,MAE/J,6KAAgD,KAC9C,wQAA4H,YAA3D;;wBAA8B;MAA/F,wBAA4H,iFAAI,mDAhElI,mBAAqB,UAA3B,YAA4B,EAAtB,SAAqB,GAEpB,mBAA4B,SAAjC,YAAkC,EAA7B,SAA4B,mDAJkI,iEAA8D,GAArO,YAAsO,EAA/D,SAA8D,GAEnO,8sBAA4B,GAgE4E,qBAA2B,gBAA3H,aAA4H,EAA5B,UAA2B;8GAoB3H,yHAAoD,+FAAkB;8GACtE,yHAAoD,sMAAmB;8GASnE,0yBAAwD,yBAAT,kBAAQ,EAAvD,YAAwD,EAAT,8BAAQ,EAAvD,YAAwD,EAAT,SAAQ;8GACvD,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,sEAExF;8GARF;;;;;wBAImH;MAH3G;;wBAAuC;MAGvC;;;wBAA0G;MAJlH,g1DAImH,IACjH,iZAAwD,IACxD,2dAAwF,iDAHlF,gGAA2D,GAHnE,YAImH,EAD3G,UAA2D,GAHkC,mBAAoC,6CACjI,+BAAuC,8CAD/C,YAImH,EAJd,UAAoC,EACjI,UAAuC,GAIrC,+EAAsC,GAA9C,YAAwD,EAAhD,UAAsC,GACtC,mBAAmC,uCAA3C,aAAwF,EAAhF,UAAmC,2BANE,yIAA2B,GAAC,yIAAyB,GAApG,muBAImH,EAJpE,SAA2B,EAAC,SAAyB,EAApG,sFAImH;8GAQnH;;;;;;;;;;;wBAAwoB;MAAjkB;;wBAAuC;MAA+e;;wBAAwC;MAAroB,i5DAAwoB,iDAAvG,uGAA2D,GAA5lB,YAAwoB,EAAvG,UAA2D,GAA7e,mBAAoC,oDAA5E,+BAAuC,qDAA9G,YAAwoB,EAAzhB,UAAoC,EAA5E,UAAuC,mDAAvG,gJAAyB,GAAC,6JAAqC,GAAiI,qJAAuC,GAA9O,uuBAAO,SAAyB,EAAC,SAAqC,EAAiI,SAAuC,EAA9O,uFAAwoB;8GAD1oB,sKAAwN,KACtN,iZAAwoB,yBAAzZ,wlBAAiT,KAAhiB,YAAwoB,EAAzZ,SAAiT;8GAGliB;;;;;;;;;;;wBAE+G;MADxG;;wBAAuC;MACqB;;wBAAyC;MAF5G,i5DAE+G,iDAAxG,gGAA2D,GAFlE,YAE+G,EAAxG,UAA2D,GAFwD,mBAAoC,6CACvJ,+BAAuC,8CAD9C,YAE+G,EAFW,UAAoC,EACvJ,UAAuC,mDADY,sJAAqC,GAAC,yIAAyB,GAAzH,muBAE+G,EAFrD,SAAqC,EAAC,SAAyB,EAAzH,sFAE+G;8GA1BnH,0MAEiD,KAC/C,2KAA+C,KAC7C,iZAAoD,IACpD,iZAAoD,IAEtD,4IAAsB,KACpB,sKAA0C,KACxC,iZAImH,IAOrH,kZAAwN,IAIxN,kZAE+G,yBAtBxG,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAC5C,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAMzC,kIAA0E,IAFlF,YAImH,EAF3G,SAA0E,GAS1C,iTAA6K,IAAvN,aAAwN,EAA9K,SAA6K,GAKxK,yHAAoE,IADnH,aAE+G,EADhE,SAAoE;8GA1BzH,uHAAkC,KAChC,iZAEiD,yBAF4B,sXAE7B,IAFhD,YAEiD,EAF4B,SAE7B;8GAPxD,iLAAoG,KAClG,4TAAsO,KAEpO;;;;;;kzBAA4B,IAC1B,0dAAkC,IAgClC,yLAA6D,KAC3D,6IAAsB,KAEtB,6IAAsB,KACpB,uKAA0C,KACxC,uPAAuJ,YAAvH;;wBAAgF;MAAhH,wBAAuJ,mFAAM,MAE/J,6KAAgD,KAC9C,wQAA4H,YAA3D;;wBAA8B;MAA/F,wBAA4H,iFAAI,mDAzClI,mBAAqB,UAA3B,YAA4B,EAAtB,SAAqB,GACpB,mBAA4B,SAAjC,YAAkC,EAA7B,SAA4B,mDAHkI,iEAA8D,GAArO,YAAsO,EAA/D,SAA8D,GAEnO,8sBAA4B,GAyC4E,qBAA2B,gBAA3H,aAA4H,EAA5B,UAA2B;8GAcjI,gLAAsF,KACpF,sRAA4I,YAAtC;;wBAAmC;MAAzI,wBAA4I;8GAgBlI,wRAAyK,YAAtG;;wBAA8B;MAAjG,wBAAyK,KACvK,0MAAgF;8GAV1F,28BAAmF,IACjF,+KAAwD,KAEtD,4IAAsB,KAGtB,qKAAyC,KACvC,iJAA2B,4FAEzB,wZAAyK,IAM/K,8IAAuB,KACrB,6IAAsB,KACtB,wKAA2C,KACzC,kMAA4F,YAAzC;;wBAAwC;MAA3F,o5CAA4F,MAG9F,uHAAI,kDArBuD,kBAAmB,gBAAlF,YAAmF,EAApB,SAAmB,GASlE,kDAAuC,GAA/C,aAAyK,EAAjK,UAAuC,GASpC,uBAAuB,EAAC,sCAAa,GAAlD,aAA4F,EAA/E,UAAuB,EAAC,UAAa,2BAlBxD,8sBAAmF,GAC5E,kHAAc,GAAnB,YAAwD,EAAnD,SAAc,GAMY,+DAEzB;8GAmBZ,iLAAqE,KACnE,4IAAsB,KACtB,4IAAsB,KACpB,sKAA0C,KACxC,sPAAgG,YAA1B;;wBAAyB;MAA/F,wBAAgG,mFAAM,MAExG,4IAAsB,KACpB,uPAAmG,YAAlC;;wBAAiC;MAAlG,wBAAmG,kFAAK;8GAoB5G,uHAAyC,KACvC,oJAA8B,qPAAsG,YAA5C;;wBAA2C;MAArG,wBAAsG,+LAA4B;8GAdxK,2LAAgG,KAC9F,oNAA8F,KAC5F,8JAAwC,2FAAc,MAGxD,yJAAmC,KACjC,oJAA8B,kVACwO,6JAAiC,0FAAW,MAIpT,6MAAuF,KACrF,gJAAyB,KACvB,2dAAyC,IAK7C,mLAA4D,KAC1D,uKAA0C,KACxC,uPAAkH,YAA5C;;wBAA2C;MAAjH,wBAAkH,mFAAM,MAE1H,6KAAgD,KAC9C,wQAA+I,YAA9E;;wBAAgC;MAAjG,wBAA+I,kFAAM,mDAVhJ,mBAAmC,cAAxC,aAAyC,EAApC,SAAmC,mDAU0D,oDAA4C,GAA9I,aAA+I,EAA7C,SAA4C;8GA7EtJ,iLAAoG,KAClG,oMAA4H,KAC1H,+KAAmD,KACjD,4IAAsB,KACtB,iZAAsF,IAGtF,iLAAqD,KAEvD,wMAA2E,KACzE;;;;;;ozBAAgD,IAC9C,6+BAAiC,IAC/B,2dAAmF,IA4BvF,kZAAqE,IAczE,kZAAgG,iDAlDxC,mDAAiC,IAArF,YAAsF,EAAlC,SAAiC,GAM/E,mBAAsB,WAA5B,aAAgD,EAA1C,SAAsB,GACrB,8BAA2B,EAAhC,aAAiC,EAA5B,UAA2B,GACzB,oBAAyD,uBAA9D,aAAmF,EAA9E,UAAyD,GA4Bb,oBAAe,UAApE,aAAqE,EAAhB,UAAe,GAcV,oBAAiC,4BAA/F,aAAgG,EAAlC,UAAiC,mDArD1C,4EAAsE,GAA3H,YAA4H,EAAvE,SAAsE,GASvH,qtBAAgD,GAC9C,ouBAAiC;8GA2EzC,qLAA+K,KAC7K,kMAA6F,YAA7B;;wBAA4B;MAA5F,k1BAA6F,mDAArE,mBAAwB,aAAC,qBAAc,EAA/D,YAA6F,EAArE,SAAwB,EAAC,SAAc,mDADxB,6CAA4C,GAArF,YAA+K,EAAtI,SAA4C;8GAIrF,gLAAoG,KAClG,4nDAKqC,mDAJpB,mBAAgC,mBAEhC,mBAAoB,WADpB,mBAA8B,kBAG9B,mBAAmB,UADnB,oBAAmB,EAJpC,YAKqC,EAJpB,SAAgC,EAEhC,SAAoB,EADpB,SAA8B,EAG9B,SAAmB,EADnB,SAAmB;8GAOhC;;;;;;;;;;;wBAAiW;MAAtM;;wBAA6B;MAAC;;wBAAmD;MAA5O,41CAAiW,iDAApO,wCAA6B,EAA+B,mBAAmD,wCAA5O,YAAiW,EAApO,SAA6B,EAA+B,SAAmD,2BAA5O,8sBAAiW;8GAEjW;;;;;;;;;;;wBAA0U;MAAtL;;wBAA6B;MAAC;;wBAA4C;MAA9N,41CAA0U,iDAA7M,iCAAsB,EAA+B,mBAA4C,iCAA9N,YAA0U,EAA7M,SAAsB,EAA+B,SAA4C,2BAA9N,8sBAA0U;8GALhV,iLAAuL,KACrL,wKAA2C,KACzC,gLAAoD,KAClD,iZAAiW,IAEjW,iZAA0U,IAE5U,gLAAoD,KAClD,yLAA6D,KAC3D,4IAAsB,KAEtB,4KAA+C,KAC7C,uKAA0C,KACxC,uPAAgG,YAA1B;;wBAAyB;MAA/F,wBAAgG,mFAAM,MAExG,6IAAsB,KACpB,wPAAgG,YAA/B;;wBAA8B;MAA/F,wBAAgG,kFAAK,mDAbjG,6DAAgD,GAA1D,YAAiW,EAAvV,SAAgD,GAEhD,6DAAgD,GAA1D,YAA0U,EAAhU,SAAgD;8GAiCY,wHAAoD,kcAA6B;8GAE/J,uHAAgC,0KAAyC,qMAAmB;8GAE5F,uHAAiC,8HAAO,qMAAmB;8GAV/D,qLAA8E,KAC5E,8LAAiE,KAE/D,yHAAO,0HAA6C,MACpD,uHAAK,gFAAuB,MAC5B,uHAAK,2FAA+C,MACpD,uHAAK,6QAAyE,sZAAoD,IAClI,wHAAK,uFAAsB,MAC3B,kZAAgC,IAEhC,kZAAiC,IACjC,wHAAK,uFAA8B,MACnC,uHAAM,4HAAM,KAEZ,8IAAuB,KACrB,6IAAsB,KACpB,8PAA+G,YAAlC;;wBAAiC;MAA9G,wBAA+G,0HAA6C,MAG9J,6IAAsB,KACpB,8PAA2G,YAA9B;;wBAA6B;MAA1G,wBAA2G,2HAA8C,mDAdzE,+DAA6C,IAAnD,aAAoD,EAA9C,SAA6C,GAE5H,mBAA0B,mBAA/B,aAAgC,EAA3B,SAA0B,GAE1B,oBAA2B,mBAAhC,aAAiC,EAA5B,SAA2B,mDAN3B,gEAAuB,GACvB,8GAA+C,GAC/C,6aAAyE,GACzE,yDAAsB,GAItB,oEAA8B;8GAwFnC,wLAAoF,mGAAsB;8GAC1G,wLAAoF,sGAAyB;8GANnH,gOAA8I,YAAlI;;wBAAyC;MAArD,0bAA8I,MAC5I,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,oFAAO,MAAM,sHAAM,KAC5G,kZAAoF,IACpF,kZAAoF,IAEtF,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,qKAAwC,KACtC,yRACkC,YAA1B;;wBAAyB;MADjC,wBACkC,iFAElC,MAGF,qKAAwC,KACtC,0WACiH,YAA9C;;wBAA6C;MADhH,wBACiH,mFAAM,mDAtBN,qBAAkB,EAAjI,mBAAyC,8BAArD,YAA8I,EAAnB,SAAkB,EAAjI,SAAyC,GAKxB,oCAAuB,GAA9C,aAAoF,EAA7D,SAAuB,GACvB,oCAAuB,GAA9C,aAAoF,EAA7D,SAAuB;8GAwBpD,6MAAkE,YAAtD;;wBAAsB;MAAlC,+ZAAkE,MAEhE,oKAA0C,KACxC,gLAAoD,yKAA8C,8FAAiB,MACnH,gLAAoD,KAClD,yKAAmD,0FAAa,MAElE,gLAAoD,KAClD,iLAAoD,KAClD,kJAA2B,0HAA8C,MAAI,uHAAM,KAErF,iLAAoD,KAClD,8RAAwI,YAA3B;;wBAA0B;MAAvI,wBAAwI,+EAAE,mDAZtI,mBAAsB,WAAlC,YAAkE,EAAtD,SAAsB;yTApsBlC,4MAAyE,KACvE;;;;;wBAA0F;MAA9D;;wBAAyC;MAArE,oxBAA0F,IACxF,0NAAuF,KACrF,4KAA+C,KAC7C,kMAAqE,KAGrE,wKAA2C,KACzC,uHAAI,KACF,iZAA+B,IAC/B,iZAA+B,IAC/B,kJAA2B,KAAC,gPAAkJ,YAAvG;;wBAAgF;MAA3H,wBAAkJ,KAGlL,iZAA2J,IAsC3J,iZAA4H,IA2J5H,kZAAmG,IAenG,kZAAoG,IAmGpG,kZAAoG,IA8EpG,kZAAoG,IAsDpG,kZAAoG,IAsFpG,kZAA+K,IAI/K,kZAAoG,IASpG,kZAAuL,IA+B/L,8NAAuE,YAA3D;;wBAA2B;MAAvC,gaAAuE,MACrE,+YAA8E,IA6BhF,2MAAoD,YAAxC;;wBAA4B;MAAxC,gaAAoD,MAClD,+JAA0C,KACxC,sKAA+C,KAAI,sHAAG,mGAAsB,MAC5E,4KAAoD,KAClD,uHAAM,KACN,yHAAM,wMAGkB,4HAAG,uGAAyB,MAAI,+HAEtD,4HAAG,qFAAM,MAAI,qIAEf,MACA,uHAAM,4HAAM,KAEd,4KAA+C,KAC7C,uKAA0C,KACxC,8RAAuJ,YAAxH;;wBAAyC;MAAxE,wBAAuJ,iGAAoB,MAG7K,6LAAgE,KAC9D,2RAAyI,YAA1G;;wBAA8B;MAA7D,wBAAyI,kFAAK,MAOtJ,+NAAgF,YAApE;;wBAAoC;MAAhD,gaAAgF,MAC9E,yNAA8F,KAC5F,kPAAoH,KAClH,kMAA0E,KACxE,0HAAO,mKAAsF,qJAAwB,iFAAmB,MAAe,uHAAM,4HAAM,KAEnK,0HAAO,qNAAwI,MAAQ,uHAAM,4HAAM,KAEnK,0HAAO,iTAIP,MAAQ,uHAAM,4HAAM,KACpB,0HAAO,6OAAgK,6HAAM,KAG/K,uHAAM,4HAAM,4HAAM,KAClB,wMAA2E,KACzE,iMAAoE,KAClE,mRAA2H,YAAnH;;wBAAwB;MAAhC,wBAA2H,mFAAM,MAGnI,kLAAqD,KACnD,kTAAsJ,YAArB;;wBAAoB;MAArJ,wBAAsJ,qFAAQ,MAcxK,mZAA8I,IA8B9I,mZAAkE,iDA3rB/C,oCAAuB,GAA9B,aAA+B,EAAxB,SAAuB,GACvB,oCAAuB,GAA9B,aAA+B,EAAxB,SAAuB,GAIqG,oBAAmB,aAA1J,aAA2J,EAApB,SAAmB,GAsC9E,6DAA+C,GAA3H,aAA4H,EAAhD,UAA+C,GA2JxE,6DAA+C,GAAlG,aAAmG,EAAhD,UAA+C,GAe9C,6DAA+C,GAAnG,aAAoG,EAAhD,UAA+C,GAmG/C,6DAA+C,GAAnG,aAAoG,EAAhD,UAA+C,GA8E/C,6DAA+C,GAAnG,aAAoG,EAAhD,UAA+C,GAsD/C,6DAA+C,GAAnG,aAAoG,EAAhD,UAA+C,GAsFb,6GAAwF,IAA9K,aAA+K,EAAzF,UAAwF,GAI1H,6DAA+C,GAAnG,aAAoG,EAAhD,UAA+C,GAS/C,+JAAkI,IAAtL,aAAuL,EAAnI,UAAkI,GA+BlL,oBAA2B,gBAAvC,aAAuE,EAA3D,UAA2B,GACd,oBAAqB,gBAA5C,aAA8E,EAAvD,UAAqB,GA6BlC,oBAA4B,iBAAxC,aAAoD,EAAxC,UAA4B,GA4B5B,oBAAoC,yBAAhD,aAAgF,EAApE,UAAoC,GAqCM,oBAAmC,8BAAzF,cAA8I,EAAxF,UAAmC,GA8BtD,oBAAgB,WAAnD,cAAkE,EAA/B,UAAgB,mDAnsBjD,8sBAA0F,GAooBiC,+DAAmB;;;;;;;;;;;;;;;;ACroBhJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgH;AAC7D;AAGiB;AAEP;AAC+B;AAEzC;AACiB;AACP;AAClB;AACF;AAE0B;AACS;AACd;AACnB;AAK3C;IA0HE,iCAAoB,eAAgC,EAAU,EAAe,EAAU,eAAgC,EAC7G,MAAqB,EAAU,MAAc,EAAU,iBAAsC,EAAE,SAAqB;QAD1G,oBAAe,GAAf,eAAe,CAAiB;QAAU,OAAE,GAAF,EAAE,CAAa;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAC7G,WAAM,GAAN,MAAM,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QArHvG,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAY,IAAI,CAAC;QACrB,mBAAc,GAAY,KAAK,CAAC;QAChC,YAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;QAGnC,mBAAc,GAAoB,IAAI,uEAAe,EAAE,CAAC;QACxD,aAAQ,GAAa,IAAI,gEAAQ,EAAE,CAAC;QAEpC,cAAS,GAAG,CAAC,CAAC;QAGd,qBAAgB,GAAmB,EAAE,CAAC;QACtC,gBAAW,GAAmB,EAAE,CAAC;QACjC,cAAS,GAAmB,EAAE,CAAC;QAC/B,oBAAe,GAAmB,EAAE,CAAC;QACrC,kBAAa,GAAmB,EAAE,CAAC;QACnC,eAAU,GAAmB,EAAE,CAAC;QAChC,yBAAoB,GAAsB,EAAE,CAAC;QAC7C,eAAU,GAAmB,EAAE,CAAC;QAChC,YAAO,GAAmB,EAAE,CAAC;QAC7B,iBAAY,GAAmB,EAAE,CAAC;QAClC,cAAS,GAAmB,EAAE,CAAC;QAC/B,oBAAe,GAAmB,EAAE,CAAC;QACrC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,gBAAW,GAAmB,EAAE,CAAC;QACjC,sBAAiB,GAAmB,EAAE,CAAC;QACvC,eAAU,GAAmB,EAAE,CAAC;QAChC,eAAU,GAAmB,EAAE,CAAC;QAChC,iBAAY,GAAmB,EAAE,CAAC;QAClC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,oBAAe,GAAmB,EAAE,CAAC;QACrC,YAAO,GAAmB,EAAE,CAAC;QAC7B,gBAAW,GAAY,EAAE,CAAC;QAG1B,iBAAY,GAA4B,EAAE,CAAC;QAC3C,iBAAY,GAAmB,EAAE,CAAC;QAClC,iBAAY,GAAmB,EAAE,CAAC;QAC3B,cAAS,GAAG,EAAE,CAAC;QACtB,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QAG7B,qBAAgB,GAAqB,IAAI,0EAAgB,EAAE,CAAC;QAG5D,oBAAe,GAAY,KAAK,CAAC;QACjC,uBAAkB,GAAY,KAAK,CAAC;QACpC,yBAAoB,GAAY,KAAK,CAAC;QACtC,0BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAe,GAAa,EAAE,CAAC;QAC/B,oBAAe,GAAY,KAAK,CAAC;QACjC,yBAAoB,GAAY,KAAK,CAAC;QACtC,sBAAiB,GAAY,KAAK,CAAC;QAEnC,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAG,KAAK,CAAC;QACvB,qBAAgB,GAAG,KAAK,CAAC;QACzB,2BAAsB,GAAY,KAAK,CAAC;QACxC,oBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAc,GAAY,KAAK,CAAC;QAChC,kBAAa,GAAkB,IAAI,0EAAa,EAAE,CAAC;QACnD,cAAS,GAAuB,EAAE,CAAC;QACnC,mBAAc,GAAW,EAAE,CAAC;QAC5B,uBAAkB,GAAY,KAAK,CAAC;QAEpC,iBAAY,GAAY,IAAI,CAAC;QAC7B,mBAAc,GAAY,IAAI,CAAC;QAC/B,kBAAa,GAAW,CAAC,CAAC;QAE1B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,4BAAuB,GAAW,YAAY,CAAC;QAE/C,gBAAW,GAAG,EAAE,CAAC;QAajB,cAAS,GAAG,CAAC,CAAC;QAId,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE5E,oBAAe,GAAY,IAAI,CAAC;QAChC,sBAAiB,GAAY,IAAI,CAAC;QAClC,sBAAiB,GAAY,IAAI,CAAC;QAClC,uBAAkB,GAAY,IAAI,CAAC;QAEnC,YAAO,GAAG,IAAI,wDAAS,CAAC,EAAE,CAAC,CAAC;QAC5B,8BAAyB,GAAY,KAAK,CAAC;QAE3C,4BAAuB,GAAG,CAAC,CAAC;QAC5B,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAY,KAAK,CAAC;QAClC,gCAA2B,GAAY,KAAK,CAAC;QAC7C,aAAQ,GAAY,KAAK,CAAC;QAE1B,mBAAc,GAAW,KAAK,CAAC;QAC/B,2BAAsB,GAAW,KAAK,CAAC;QAOrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,0CAAQ,GAAR;QAAA,iBAmCC;QAlCC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,uBAAuB,GAAG,YAAY,CAAC;SAC7C;QACD,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEnC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAG;YACxF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBAC5D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrD,IAAI,KAAI,CAAC,aAAa,IAAI,CAAC,EAAE;wBAC3B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,gBAAgB,EAAhC,CAAgC,CAAC,CAAC;qBAC/D;oBACD,MAAM,CAAC,OAAO,CAAC,aAAG;wBAChB,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,EAAE;4BAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC;yBAC9B;6BAAM;4BACL,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,WAAW,EAAC;gCACjC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oCACtG,IAAI,IAAI,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;oCACxE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gCACrB,CAAC,CAAC,CAAC;6BACJ;yBACF;oBAEH,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBACrB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;wBACnB,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACvO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;YAChB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAElC,CAAC;IACD,uDAAqB,GAArB,UAAsB,GAAG,EAAc,aAA8B;QAA1C,qDAA0C;QACnE,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACnM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAChM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1L;gBACE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,YAAY,YAAC,MAAM;oBAC1I,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;wBAC1D,IAAI,CAAC,SAAS,GAAG,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;qBAC1E;yBAAM;wBACL,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;qBAC/B;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IAEJ,CAAC;IAED,kDAAgB,GAAhB,UAAiB,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAgC,EAAE,OAAe;QAAlG,iBAuBC;QAvBgD,6DAAgC;QAE/E,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpH,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAE/E,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAEjC,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAE5B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,IAAI,EAAnB,CAAmB,CAAC,CAAC;YAC/D,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA3B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;iBAC5E;gBACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mDAAiB,GAAjB;QAAA,iBAqBC;QApBC,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;YAC7E,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACvD,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;aACrE;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;YACzE,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACvD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aACvE;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;YAC3F,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;gBAC9B,KAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;aACtD;YACD,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;gBAC/D,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,6DAA2B,GAA3B;QAAA,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACjD,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0DAAwB,GAAxB;QACE,IAAI,CAAC,QAAQ,EAAE;QACf;YACE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC;YACb,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;IACH,CAAC;IACD,yDAAuB,GAAvB;QAAA,iBAIC;QAHC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAChF,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAQ,GAAR;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI,GAAG,CAAC;gBACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;SACJ;QAGD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,kDAAgB,GAAhB,UAAiB,EAAE,EAAC,IAAI;QACtB,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE;YAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,0EAAgB,EAAE,CAAC,CAAC,CAAC;gBAC7D,kCAAkC;aACnC;iBAAM;aAEN;SACF;IAEH,CAAC;IAED,8CAAY,GAAZ,UAAa,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI;QAE/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,CAAC,IAAI,QAAQ,IAAI,kBAAkB,EAAE;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE;oBAC1D,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;oBACnC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;oBACzD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;iBACnD;aACF;SACF;aAAM;YACL,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;SACrD;IACH,CAAC;IAGD,gDAAc,GAAd,UAAe,IAAI,EAAE,EAAE,EAAE,IAAI;QAE3B,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;IAErD,CAAC;IAED,+CAAa,GAAb,UAAc,GAAG;QAAjB,iBA8CC;QA7CC,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,cAAc,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACvD,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,EAAE,EAAE;YACjF,IAAI,cAAc,IAAI,GAAG,EAAE;gBACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;aAEnD;iBAAM;gBACL,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAG;oBACnC,IAAI,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE;wBACpC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;wBACjB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAC1B;gBAEH,CAAC,CAAC,CAAC;aAEJ;YAGD,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC9G,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;gBAE7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAA5B,CAA4B,CAAC;oBAC7E,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;iBACvC;qBAAM;oBACL,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAClE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBACpF,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;wBACtB,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAI,CAAC,uBAAuB,CAAC,CAAC;wBACxD,KAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;SACpC;IAGH,CAAC;IACD,4CAAU,GAAV;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAGD,sBAAI,gDAAW;aAAf;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAc,CAAC;QACvD,CAAC;;;OAAA;IAAA,CAAC;IAEF,8CAAY,GAAZ,UAAa,SAA6B;QAA1C,iBAKC;QAHC,IAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,iBAAO,IAAI,YAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAtB,CAAsB,CAAC,CAAC;QACpE,IAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IACD,iDAAe,GAAf;QAAA,iBAQC;QANC,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtC,IAAM,mBAAmB,GAAuB,SAAS,CAAC,WAAW,CAAC,GAAG,CAEvE,UAAC,OAAyB,IAAK,aAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAA/D,CAA+D,CAC/F,CAAC;QACF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,8CAAY,GAAZ,UAAa,KAAK;QAEhB,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;aAC/B;SACF;IACH,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;SAEjC;IACH,CAAC;IACD,8CAAY,GAAZ;QACE,CAAC,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IACD,gDAAc,GAAd;QACE,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,gDAAc,GAAd;QACE,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,iDAAe,GAAf;QACE,CAAC,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IACD,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;aACf;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QAAQ,gBAAgB,EAAE;QAC3B,IAAI,MAAM,EAAE;YACV,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC3B;IACH,CAAC;IAID,8CAAY,GAAZ;QACE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,0EAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,oDAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;YAExB,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBACnC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE;oBACjE,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACxB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;iBAE/B;qBAAM;oBACL,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC;oBAC9B,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAC1B;aACF;iBAAM;gBACL,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;oBACnG,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;iBAC9B;aACF;SACF;IACH,CAAC;IAEM,kDAAgB,GAAvB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,EAAE;YACxC,KAAK,CAAC,kHAAkH,CAAC;SAE1H;IACH,CAAC;IACD,yCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,oCAAoC,CAAC,CAAC;QAC7D,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,qDAAmB,GAAnB;QACE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IACD,iDAAe,GAAf,UAAgB,GAAa;QAC3B,IAAI,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE;YAC9B,IAAI,WAAW,GAAG,IAAI,0EAAgB,EAAE,CAAC;YACzC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACpC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACpC,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAC5B,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC9B,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC1B,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAClC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;YACxB,WAAW,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACtC,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACnD,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC9B,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC1B,WAAW,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;YACpD,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,WAAW,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAElC;aAAM;YACL,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACnD,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;aACnD;iBAAM;gBACL,gCAAgC;gBAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxD,kEAAkE;gBAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAClF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAEtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC9E,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;oBAEjC,UAAU,CAAC;wBACT,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;wBACnE,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;wBACtC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;wBAEpC,IAAI,0DAAW,CAAC,MAAM,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;oBACpD,CAAC,EAAE,GAAG,CAAC,CAAC;oBAGR,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;oBACpE,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACvC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACrC,IAAI,0DAAW,CAAC,OAAO,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;oBAGnD,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;oBAClE,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACrC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACnC,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;iBAGlD;qBAAM;oBACL,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;oBAC1G,IAAI,0DAAW,CAAC,MAAM,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;oBAE7C,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;oBAC3G,IAAI,0DAAW,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;oBAE9C,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;oBACzG,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;iBAC7C;aAEF;SACF;IAEH,CAAC;IAED,+CAAa,GAAb;QACE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAE/D,CAAC;IACD,+CAAa,GAAb;QACE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC9D,CAAC;IACD,kDAAgB,GAAhB,UAAiB,CAAC;QAChB,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAEtE,CAAC;IACD,kDAAgB,GAAhB,UAAiB,CAAC;QAChB,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACrE,CAAC;IACD,uDAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACvE,CAAC;IACD,uDAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACtE,CAAC;IACD,kDAAgB,GAAhB,UAAiB,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;QAErD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,GAAG,GAAG,0BAA0B,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;gBACL,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,UAAU,IAAI;oBAErB,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEpE,CAAC;aAEF,CAAC,CAAC;SACJ;IACH,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,oDAAkB,GAAlB;QACE,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjD;aAAM;YACL,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjD;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAED,6CAAW,GAAX,UAAY,GAAG;QAAf,iBAuCC;QAtCC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAElF,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAU;4BAEhE,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE;gCAC5C,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;6BAC3B;iCACI;gCACH,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;gCAC/B,IAAI,UAAU,IAAI,kBAAkB,EAAE;oCAAE,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;iCAAE;gCACvE,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;6BAC3B;wBACH,CAAC,CAAC,CAAC;qBACJ;yBACI;wBACH,KAAI,CAAC,sBAAsB,GAAG,IAAI;wBAClC,KAAI,CAAC,eAAe,GAAG,MAAM,CAAC;wBAC9B,CAAC,CAAC,UAAU,CAAC;4BACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uHAAuH,CAAC,CAAC;wBACtJ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBAEV;gBACH,CAAC,CAAC,CAAC;aAGJ;iBAAM;gBAEL,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;aAC3B;SAEF;aACI;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IACH,CAAC;IACD,yDAAuB,GAAvB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mJAAmJ,CAAC,CAAC;QACzL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,iDAAe,GAAf,UAAgB,GAAG;QAAnB,iBAwBC;;QAvBC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,OAAC,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC9D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACtF,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnB,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE;gBAC7D,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC3C,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACzG;qBAAM,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnD,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAChD;qBAAM;oBACL,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;iBACrC;aACF;YACD,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wBAAwB,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAID,uDAAqB,GAArB,UAAsB,SAAS;QAC7B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,SAAS,IAAI,YAAY,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACtD,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SACpE;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,SAAS,EAAjB,CAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;SAClF;IAEH,CAAC;IAED,sDAAoB,GAApB;QAAA,iBAmBC;QAlBC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE7E,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,aAAa,GAAG,IAAI,0EAAa,EAAE,CAAC;YACzC,KAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAClE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpF,CAAC,CAAC,GAAG,GAAG,CAAC,KAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjD,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAI,CAAC,uBAAuB,CAAC,CAAC;gBACxD,KAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAChF,IAAI,cAAc,IAAI,CAAC,IAAI,cAAc,IAAI,GAAG,EAAE;YAChD,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM,IAAM,CAAC,CAAC,CAAC;SACnF;IAEH,CAAC;IAED,mDAAiB,GAAjB;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,oDAAkB,GAAlB;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAEM,2CAAS,GAAhB,UAAiB,KAAa;QAC5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;aACI;YACH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjD;IAEH,CAAC;IACD,8CAAY,GAAZ,cAAiB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC,CAAC;IACvD,0CAAQ,GAAR,cAAa,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChE,kDAAgB,GAAhB,UAAiB,GAAG;QAApB,iBA+NC;QA9NC,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC;QAEnC,IAAI,GAAG,IAAI,YAAY,EAAE;YACvB,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;aACI,IAAI,GAAG,IAAI,YAAY,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC5J,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;gBAC3F,IAAI,OAAO,IAAI,IAAI,EAAE;oBACnB,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;iBAC/B;YAEH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;aACI,IAAI,GAAG,IAAI,YAAY,EAAE;YAC5B,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,aAAG;gBAC1F,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;oBAC9D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACrD,MAAM,CAAC,OAAO,CAAC,aAAG;4BAChB,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,EAAE;gCAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC;6BAC9B;iCAAM;gCACL,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE;oCAClC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wCACtG,IAAI,IAAI,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;wCACxE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oCACrB,CAAC,CAAC,CAAC;iCACJ;6BACF;wBACH,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;wBACrB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;4BACnB,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC7D,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;YAEH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;aACI,IAAI,GAAG,IAAI,YAAY,EAAE;YAE5B,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAG;gBACxF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBAC5D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACrD,IAAI,KAAI,CAAC,aAAa,IAAI,CAAC,EAAE;4BAC3B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,gBAAgB,EAAhC,CAAgC,CAAC,CAAC;yBAC/D;wBACD,MAAM,CAAC,OAAO,CAAC,aAAG;4BAChB,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,EAAE;gCAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC;6BAC9B;iCAAM;gCACL,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE;oCAClC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wCACtG,IAAI,IAAI,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;wCACxE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oCACrB,CAAC,CAAC,CAAC;iCACJ;6BACF;wBACH,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;wBACrB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;4BACnB,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;wBAE7D,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;4BACjE,IAAI,MAAM,IAAI,IAAI,EAAE;gCAClB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCAClC,IAAI,IAAE,GAAG,KAAI,CAAC;gCACd,UAAU,CAAC;oCACT,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oCACzC,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oCAC9D,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oCACzC,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oCAE9D,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oCACjC,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oCACtD,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oCACnC,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oCACxD,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oCAC/B,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oCACpD,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oCACtC,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oCAC5D,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;oCACzD,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;oCAC9E,IAAE,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;oCAC1E,IAAE,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;oCAC5E,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oCAC3C,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oCAChE,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oCAC5C,IAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oCAClE,IAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gCACxC,CAAC,EAAE,GAAG,CAAC,CAAC;6BACT;wBACH,CAAC,CAAC,CAAC;oBAGL,CAAC,CAAC,CAAC;iBAEJ;gBAEF,6CAA6C;YAC9C,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,GAAG,IAAI,YAAY,EAAE;YAC5B,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,aAAG;gBACzF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBAEjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;oBAC7D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAErD,MAAM,CAAC,OAAO,CAAC,aAAG;4BACd,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE;gCAClC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oCACtG,IAAI,IAAI,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;oCACxE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gCACrB,CAAC,CAAC,CAAC;6BACJ;wBACL,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;wBAErB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;4BACnB,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC7D,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;wBACjB,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE;4BAClC,KAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;4BAC/B,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC5B;6BAAM;4BACL,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;4BAErB,KAAI,CAAC,OAAO,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,YAAY,EAAC,IAAG,CAAC;4BAC9F,KAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;4BAC7F,KAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;4BACpF,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;4BACnG,KAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;4BACxE,KAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;4BACxE,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,IAAI,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;yBAC7J;wBAED,IAAI,EAAE,GAAG,KAAI,CAAC;wBACd,UAAU,CAAC;4BACT,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;4BAElE,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;4BAClD,IAAI,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE;gCAClC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BACzC;iCAAM;gCACL,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BACxC;4BAED,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE;gCACjC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BAC7C;iCAAM;gCACL,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BAC5C;4BAED,IAAI,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE;gCAChC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BAC7C;iCAAM;gCACL,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BAC5C;4BAED,IAAI,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE;gCAC7B,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BAC1C;iCAAM;gCACL,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BACzC;4BAED,IAAI,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE;gCAC7B,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BAC1C;iCAAM;gCACL,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BACzC;4BAED,IAAI,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE;gCAC/B,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BAC5C;iCAAM;gCACL,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BAC3C;4BAED,IAAI,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE;gCAC9B,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BAC3C;iCAAM;gCACL,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BAC1C;4BAED,IAAI,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE;gCAC3B,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BACxC;iCAAM;gCACL,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BACvC;4BAED,IAAI,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE;gCAChC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BAC7C;iCAAM;gCACL,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BAC5C;4BAED,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE;gCACvB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BACpC;iCAAM;gCACL,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BACnC;4BACD,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE;gCACvB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;6BACpC;iCAAM;gCACL,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;6BACnC;wBACH,CAAC,EAAE,GAAG,CAAC,CAAC;oBACV,CAAC,CAAC,CAAC;iBACJ;YAEH,CAAC,CAAC,CAAC;SAEJ;aACI,IAAI,GAAG,IAAI,YAAY,EAAE;YAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IACD,6CAAW,GAAX;QAAA,iBAWC;QAVC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACrG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;gBACxC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aAC5H;iBAAM;gBACL,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aACxG;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAuB,GAAvB;QAAA,iBAyDC;QAxDC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,MAAM,GAAG,IAAI,0EAAgB,EAAE,CAAC;gBACpC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACxC,MAAM,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACxC,MAAM,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChC,MAAM,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,MAAM,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC9B,MAAM,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC9B,MAAM,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,MAAM,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC1C,MAAM,CAAC,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACvD,MAAM,CAAC,gBAAgB,GAAG,KAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACxD,MAAM,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACtC,MAAM,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,eAAe,GAAG,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBACtD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;gBACrC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;gBAE5B,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEvC,KAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACtE,MAAM,CAAC,OAAO,CAAC,aAAG;wBAEhB,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE;4BAE9C,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACrC;oBACH,CAAC,CAAC;oBACF,IAAI,KAAK,GAAG,CAAC,CAAC;oBACd,IAAI,aAAa,GAAG,CAAC,CAAC;oBACtB,KAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAG;wBACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE;4BAC1G,KAAI,CAAC,gBAAgB,CAAC,CAAC,EAAC,KAAK,CAAC,CAAC;4BAC/B,IAAI,SAAO,GAAG,KAAI,CAAC;4BACnB,CAAC,CAAC,UAAU,CAAC;gCAEX,SAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,YAAY,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;gCAEvP,SAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gCACxC,KAAK,EAAE,CAAC;gCACR,aAAa,EAAE,CAAC;4BAElB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;yBACV;oBACH,CAAC,CAAC,CAAC;gBAEL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,uDAAqB,GAArB;QAAA,iBAiCC;QA/BC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAG,CAAC,EAAE,EAAE;YAC9B,IAAI,WAAW,GAAG,IAAI,0EAAgB,EAAE,CAAC;YACzC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7C,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACtD,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACpD,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAChD,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAChD,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACxC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC1C,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACtC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAChD,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAClD,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACpD,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC1C,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACtC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC1D,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAClE,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAExC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,IAAI,SAAS,IAAI,WAAW,CAAC,QAAQ,IAAI,EAAE,IAAI,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,SAAS,IAAI,WAAW,CAAC,QAAQ,IAAI,EAAE,IAAI,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,EAAE;gBAC1M,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACpC;SACF;QACD,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAClF,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAkB,GAAlB;QAAA,iBAOC;QANC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YACrE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAe,GAAf;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC;YACT,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC;QAE7J,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,wCAAM,GAAN,UAAO,GAAG;QACR,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,oDAAkB,GAAlB,UAAmB,KAAK,EAAE,IAAI;QAC5B,IAAI,sBAAsB,GAAG,EAAE,CAAC;QAChC,IAAI,KAAK,IAAI,WAAW,EAAE;YACxB,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;YACxE,OAAO,sBAAsB,CAAC;SAC/B;aAAM,IAAI,KAAK,IAAI,WAAW,EAAE;YAC/B,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAApC,CAAoC,CAAC,CAAC;YACnF,OAAO,sBAAsB,CAAC;SAC/B;aAAM;YACL,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;YACxE,OAAO,sBAAsB,CAAC;SAC/B;IACH,CAAC;IACD,iDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,sDAAoB,GAApB,UAAqB,KAAK,EAAE,QAAQ;QAClC,IAAI,QAAQ,IAAI,UAAU,EAAE;YAC1B,IAAI,KAAK,IAAI,GAAG,EAAE;gBAChB,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBACnH,IAAI,0DAAW,CAAC,gBAAgB,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;aACxD;iBACI;gBACH,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC/C,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,IAAI,0DAAW,CAAC,gBAAgB,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;aAE7D;SACF;aAAM,IAAI,QAAQ,IAAI,SAAS,EAAE;YAChC,IAAI,KAAK,IAAI,GAAG,EAAE;gBAEhB,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBACnE,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACtC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,0DAAW,CAAC,MAAM,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;gBAElD,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBACpE,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACvC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,0DAAW,CAAC,OAAO,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;gBAEnD,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBAClE,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACrC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACnC,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;aAElD;iBAAM;gBACL,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBAC1G,IAAI,0DAAW,CAAC,MAAM,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;gBAE7C,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBAC3G,IAAI,0DAAW,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;gBAE9C,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBACzG,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;aAC7C;SACF;aAAO,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YACxC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;YACpE,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAChD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;SAC1C;IACH,CAAC;IACD,gEAA8B,GAA9B;QACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,UAAU,CAAC;YACT,CAAC,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACtM,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAEH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GChxCW,yHAAoD,+FAAkB;4GAEtE,yHAAoD,sMAAmB;4GAOjE,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;4GAJF;;;;;wBAAoa;MAA1R;;wBAAuC;MAAwI;;;wBAA0G;MAAna,g1DAAoa,IACla,4yBAAkB,IAClB,ydAAsF,iDAFqK,uGAA2D,GAAxT,YAAoa,EAAvK,UAA2D,GAAnN,mBAAoC,oDAAC,+BAAuC,qDAAjL,YAAoa,EAA/T,UAAoC,EAAC,UAAuC,GACvK,oBAAS,EAAjB,YAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,mBAAmC,8CAA3C,aAAsF,EAA9E,UAAmC,2BAFE,gJAA2B,GAAC,gJAAyB,GAApG,muBAAoa,EAArX,SAA2B,EAAC,SAAyB,EAApG,sFAAoa;4GADta,sKAA0E,KACxE,+YAAoa,yBAAlP,gJAA0E,IAA5P,YAAoa,EAAlP,SAA0E;6GAU1P,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,sEAExF;4GAHF;;;;;wBAAoa;MAA1R;;wBAAuC;MAAwI;;;wBAA0G;MAAna,g1DAAoa,IACla,ydAAwF,iDADmK,uGAA2D,GAAxT,YAAoa,EAAvK,UAA2D,GAAnN,mBAAoC,oDAAC,+BAAuC,qDAAjL,YAAoa,EAA/T,UAAoC,EAAC,UAAuC,GACvK,mBAAmC,8CAA3C,YAAwF,EAAhF,UAAmC,2BADE,gJAA2B,GAAC,gJAAyB,GAApG,muBAAoa,EAArX,SAA2B,EAAC,SAAyB,EAApG,sFAAoa;4GADta,sKAA0E,KACxE,+YAAoa,yBAAlP,gJAA0E,IAA5P,YAAoa,EAAlP,SAA0E;6GAQ9P;;;;;;;;;;;wBAA8mB;MAAjkB;;wBAAuC;MAA+e;;wBAAwC;MAA3mB,i5DAA8mB,iDAAvG,uGAA2D,GAAlkB,YAA8mB,EAAvG,UAA2D,GAA7e,mBAAoC,oDAA5E,+BAAuC,qDAApF,YAA8mB,EAAzhB,UAAoC,EAA5E,UAAuC,mDAA7E,6JAAqC,GAAiI,qJAAuC,GAApN,muBAA8mB,EAAvmB,SAAqC,EAAiI,SAAuC,EAApN,sFAA8mB;6GADhnB,sKAAwN,KACtN,gZAA8mB,yBAAzZ,wlBAAiT,KAAtgB,YAA8mB,EAAzZ,SAAiT;6GAExgB;;;;;;;;;;;;;;;;;;;;;;;wBAA0iB;MAA7f;;wBAAuC;MAA2a;;wBAAwC;MAAviB,+oCAA0iB,GAA1E,+DAA8B,KAA9f,wtCAA0iB,iDAAtI,gGAA2D,GAA/d,YAA0iB,EAAtI,UAA2D,GAAC,kCAA8B,aAA9f,YAA0iB,EAA1E,UAA8B,GAAza,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAA0iB,EAArd,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,muBAA0iB,EAAniB,SAAqC,EAAiI,SAAuC,EAApN,sFAA0iB;6GAE1iB;;;;;;;;;;;wBAAwoB;MAA3lB;;wBAAuC;MAAygB;;wBAAwC;MAAroB,8oEAAwoB,iDAAzU,gGAA2D,GAA1X,YAAwoB,EAAzU,UAA2D,GAAC,2PAAiO,EAA5lB,YAAwoB,EAA7Q,UAAiO,GAAvgB,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAAwoB,EAAnjB,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,u4BAAO,SAAqC,EAAiI,SAAuC,EAApN,kGAAwoB;6GAExoB;;;;;;;;;;;wBAA4V;MAA7P;;wBAAuC;MAA0K;;wBAAyC;MAAzV,i5DAA4V,iDAA9I,+FAA2D,GAAzQ,YAA4V,EAA9I,SAA2D,GAA/M,mBAAoC,6CAAC,+BAAuC,8CAAtI,YAA4V,EAAlS,UAAoC,EAAC,UAAuC,mDAAoI,sJAAqC,GAA/S,muBAA4V,EAAlF,SAAqC,EAA/S,sFAA4V;6GAI1V,qzBAAsF,iFAEtF,2BAFuC,sHAA0B,GAAjE,YAAsF,EAA/C,kIAA0B,GAAjE,YAAsF,EAA/C,SAA0B,2BAAqB,mEAEtF;6GAHF;;;;;wBAAwU;MAA9L;;wBAAuC;MAAuG;;wBAA+C;MAAvU,g1DAAwU,IACtU,ydAAsF,iDADoI,gGAA2D,GAAvR,YAAwU,EAA5G,UAA2D,GAAlL,mBAAoC,6CAAC,+BAAuC,8CAAjL,YAAwU,EAAnO,UAAoC,EAAC,UAAuC,GACvK,oBAA8B,QAAtC,YAAsF,EAA9E,UAA8B,2BADO,yIAA2B,GAAC,yIAAyB,GAApG,muBAAwU,EAAzR,SAA2B,EAAC,SAAyB,EAApG,sFAAwU;4GAnC5U,0MAA2T,KACzT,2KAA+C,KAC7C,+YAAoD,IAEpD,+YAAoD,IAEtD,6IAAsB,KACpB,sKAA0C,KACxC,+YAA0E,IAS1E,gZAA0E,IAQ5E,iZAAwN,IAGxN,iZAA0iB,IAE1iB,iZAAwoB,IAExoB,iZAA4V,IAG5V,iZAAwU,yBAjCjU,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAE5C,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAIP,8DAA+B,GAAzE,YAA0E,EAAhC,SAA+B,GAS/B,8DAA+B,GAAzE,aAA0E,EAAhC,SAA+B,GAQjC,iTAA6K,IAAvN,aAAwN,EAA9K,SAA6K,GAGF,wWAA8M,KAAna,aAA0iB,EAArV,SAA8M,GAE9M,sLAAyG,IAA9T,aAAwoB,EAAnb,SAAyG,GAEvL,yHAAsE,IAA7M,aAA4V,EAArN,SAAsE,GAG3B,wEAAyC,GAA3N,aAAwU,EAAtJ,SAAyC;6GAQ/N,yMAAoH,KAClH,iMAAyF,YAAzC;;wBAAwC;MAAxF,+4CAAyF,2BAA5E,qBAAsB,EAAC,iBAAW,EAA/C,YAAyF,EAA5E,SAAsB,EAAC,SAAW;4GA9CnD,uHAAkC,KAEhC,+YAA2T,IA2C3T,gZAAoH,yBA3CvC,sXAA6O,IAA1T,YAA2T,EAA9O,SAA6O,GA2C7O,8DAAsC,GAAnH,YAAoH,EAAvC,SAAsC;6GAW/G,yHAAoD,+FAAkB;6GAEtE,yHAAoD,sMAAmB;6GAOjE,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;6GAJF;;;;;wBAAoa;MAA1R;;wBAAuC;MAAwI;;;wBAA0G;MAAna,g1DAAoa,IACla,4yBAAkB,IAClB,0dAAsF,iDAFqK,uGAA2D,GAAxT,YAAoa,EAAvK,UAA2D,GAAnN,mBAAoC,oDAAC,+BAAuC,qDAAjL,YAAoa,EAA/T,UAAoC,EAAC,UAAuC,GACvK,oBAAS,EAAjB,YAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,mBAAmC,8CAA3C,aAAsF,EAA9E,UAAmC,2BAFE,gJAA2B,GAAC,gJAAyB,GAApG,muBAAoa,EAArX,SAA2B,EAAC,SAAyB,EAApG,sFAAoa;6GADta,sKAA0E,KACxE,gZAAoa,yBAAlP,gJAA0E,IAA5P,YAAoa,EAAlP,SAA0E;6GAW1P,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,sEAExF;6GAJF;;;;;wBAC+K;MADrC;;wBAAuC;MACzK;;;wBAA0G;MADlH,g1DAC+K,IAC7K,ydAAwF,iDADyB,uGAA2D,GAD9K,YAC+K,EAA5D,UAA2D,GADzE,mBAAoC,oDAAC,+BAAuC,qDAAjL,YAC+K,EAD1E,UAAoC,EAAC,UAAuC,GAEvK,mBAAmC,8CAA3C,YAAwF,EAAhF,UAAmC,2BAFE,gJAA2B,GAAC,gJAAyB,GAApG,muBAC+K,EADhI,SAA2B,EAAC,SAAyB,EAApG,sFAC+K;6GAFjL,sKAA0E,KACxE,gZAC+K,yBADG,gJAA0E,IAA5P,YAC+K,EADG,SAA0E;6GAS9P;;;;;;;;;;;wBAA8mB;MAAjkB;;wBAAuC;MAA+e;;wBAAwC;MAA3mB,i5DAA8mB,iDAAvG,uGAA2D,GAAlkB,YAA8mB,EAAvG,UAA2D,GAA7e,mBAAoC,oDAA5E,+BAAuC,qDAApF,YAA8mB,EAAzhB,UAAoC,EAA5E,UAAuC,mDAA7E,6JAAqC,GAAiI,qJAAuC,GAApN,muBAA8mB,EAAvmB,SAAqC,EAAiI,SAAuC,EAApN,sFAA8mB;6GADhnB,sKAAwN,KACtN,gZAA8mB,yBAAzZ,wlBAAiT,KAAtgB,YAA8mB,EAAzZ,SAAiT;6GAExgB;;;;;;;;;;;;;;;;;;;;;;;wBAA0iB;MAA7f;;wBAAuC;MAA2a;;wBAAwC;MAAviB,+oCAA0iB,GAA1E,+DAA8B,KAA9f,wtCAA0iB,iDAAtI,gGAA2D,GAA/d,YAA0iB,EAAtI,UAA2D,GAAC,kCAA8B,aAA9f,YAA0iB,EAA1E,UAA8B,GAAza,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAA0iB,EAArd,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,muBAA0iB,EAAniB,SAAqC,EAAiI,SAAuC,EAApN,sFAA0iB;6GAE1iB;;;;;;;;;;;wBAAwoB;MAA3lB;;wBAAuC;MAAygB;;wBAAwC;MAAroB,8oEAAwoB,iDAAzU,gGAA2D,GAA1X,YAAwoB,EAAzU,UAA2D,GAAC,2PAAiO,EAA5lB,YAAwoB,EAA7Q,UAAiO,GAAvgB,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAAwoB,EAAnjB,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,u4BAAO,SAAqC,EAAiI,SAAuC,EAApN,kGAAwoB;6GAExoB;;;;;;;;;;;wBAA4V;MAA7P;;wBAAuC;MAA0K;;wBAAyC;MAAzV,i5DAA4V,iDAA9I,+FAA2D,GAAzQ,YAA4V,EAA9I,SAA2D,GAA/M,mBAAoC,6CAAC,+BAAuC,8CAAtI,YAA4V,EAAlS,UAAoC,EAAC,UAAuC,mDAAoI,sJAAqC,GAA/S,muBAA4V,EAAlF,SAAqC,EAA/S,sFAA4V;6GAI1V,qzBAAsF,iFAEtF,2BAFuC,sHAA0B,GAAjE,YAAsF,EAA/C,kIAA0B,GAAjE,YAAsF,EAA/C,SAA0B,2BAAqB,mEAEtF;6GAHF;;;;;wBAAwU;MAA9L;;wBAAuC;MAAuG;;wBAA+C;MAAvU,g1DAAwU,IACtU,ydAAsF,iDADoI,gGAA2D,GAAvR,YAAwU,EAA5G,UAA2D,GAAlL,mBAAoC,6CAAC,+BAAuC,8CAAjL,YAAwU,EAAnO,UAAoC,EAAC,UAAuC,GACvK,oBAA8B,QAAtC,YAAsF,EAA9E,UAA8B,2BADO,yIAA2B,GAAC,yIAAyB,GAApG,muBAAwU,EAAzR,SAA2B,EAAC,SAAyB,EAApG,sFAAwU;6GApC5U,0MAA2T,KACzT,2KAA+C,KAC7C,gZAAoD,IAEpD,gZAAoD,IAEtD,6IAAsB,KACpB,sKAA0C,KACxC,gZAA0E,IAS1E,iZAA0E,IAS5E,iZAAwN,IAGxN,iZAA0iB,IAE1iB,iZAAwoB,IAExoB,iZAA4V,IAG5V,iZAAwU,yBAlCjU,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAE5C,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAIP,8DAA+B,GAAzE,YAA0E,EAAhC,SAA+B,GAS/B,8DAA+B,GAAzE,aAA0E,EAAhC,SAA+B,GASjC,iTAA6K,IAAvN,aAAwN,EAA9K,SAA6K,GAGF,wWAA8M,KAAna,aAA0iB,EAArV,SAA8M,GAE9M,sLAAyG,IAA9T,aAAwoB,EAAnb,SAAyG,GAEvL,yHAAsE,IAA7M,aAA4V,EAArN,SAAsE,GAG3B,wEAAyC,GAA3N,aAAwU,EAAtJ,SAAyC;6GAQ/N,yMAAoH,KAClH,iMAAyF,YAAzC;;wBAAwC;MAAxF,+4CAAyF,2BAA5E,qBAAsB,EAAC,iBAAW,EAA/C,YAAyF,EAA5E,SAAsB,EAAC,SAAW;6GA/CnD,uHAA2C,KAEzC,gZAA2T,IA4C3T,gZAAoH,yBA5CvC,sXAA6O,IAA1T,YAA2T,EAA9O,SAA6O,GA4C7O,8DAAsC,GAAnH,YAAoH,EAAvC,SAAsC;6GAU/G,yHAAoD,+FAAkB;6GAEtE,yHAAoD,sMAAmB;6GAQjE,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;6GAJF;;;;;wBAAoa;MAA1R;;wBAAuC;MAAwI;;;wBAA0G;MAAna,g1DAAoa,IACla,4yBAAkB,IAClB,0dAAsF,iDAFqK,uGAA2D,GAAxT,YAAoa,EAAvK,UAA2D,GAAnN,mBAAoC,oDAAC,+BAAuC,qDAAjL,YAAoa,EAA/T,UAAoC,EAAC,UAAuC,GACvK,oBAAS,EAAjB,YAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,mBAAmC,8CAA3C,aAAsF,EAA9E,UAAmC,2BAFE,gJAA2B,GAAC,gJAAyB,GAApG,muBAAoa,EAArX,SAA2B,EAAC,SAAyB,EAApG,sFAAoa;6GAFta,sKAA0E,KAExE,gZAAoa,yBAAlP,gJAA0E,IAA5P,YAAoa,EAAlP,SAA0E;6GAU1P,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,sEAExF;6GAHF;;;;;wBAAoa;MAA1R;;wBAAuC;MAAwI;;;wBAA0G;MAAna,g1DAAoa,IACla,ydAAwF,iDADmK,uGAA2D,GAAxT,YAAoa,EAAvK,UAA2D,GAAnN,mBAAoC,oDAAC,+BAAuC,qDAAjL,YAAoa,EAA/T,UAAoC,EAAC,UAAuC,GACvK,mBAAmC,8CAA3C,YAAwF,EAAhF,UAAmC,2BADE,gJAA2B,GAAC,gJAAyB,GAApG,muBAAoa,EAArX,SAA2B,EAAC,SAAyB,EAApG,sFAAoa;6GADta,sKAA0E,KACxE,gZAAoa,yBAAlP,gJAA0E,IAA5P,YAAoa,EAAlP,SAA0E;6GAQ9P;;;;;;;;;;;wBAA8mB;MAAjkB;;wBAAuC;MAA+e;;wBAAwC;MAA3mB,i5DAA8mB,iDAAvG,uGAA2D,GAAlkB,YAA8mB,EAAvG,UAA2D,GAA7e,mBAAoC,oDAA5E,+BAAuC,qDAApF,YAA8mB,EAAzhB,UAAoC,EAA5E,UAAuC,mDAA7E,6JAAqC,GAAiI,qJAAuC,GAApN,muBAA8mB,EAAvmB,SAAqC,EAAiI,SAAuC,EAApN,sFAA8mB;6GADhnB,sKAAwN,KACtN,gZAA8mB,yBAAzZ,wlBAAiT,KAAtgB,YAA8mB,EAAzZ,SAAiT;6GAExgB;;;;;;;;;;;;;;;;;;;;;;;wBAA0iB;MAA7f;;wBAAuC;MAA2a;;wBAAwC;MAAviB,+oCAA0iB,GAA1E,+DAA8B,KAA9f,wtCAA0iB,iDAAtI,gGAA2D,GAA/d,YAA0iB,EAAtI,UAA2D,GAAC,kCAA8B,aAA9f,YAA0iB,EAA1E,UAA8B,GAAza,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAA0iB,EAArd,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,muBAA0iB,EAAniB,SAAqC,EAAiI,SAAuC,EAApN,sFAA0iB;6GAE1iB;;;;;;;;;;;wBAAwoB;MAA3lB;;wBAAuC;MAAygB;;wBAAwC;MAAroB,8oEAAwoB,iDAAzU,gGAA2D,GAA1X,YAAwoB,EAAzU,UAA2D,GAAC,2PAAiO,EAA5lB,YAAwoB,EAA7Q,UAAiO,GAAvgB,mBAAoC,6CAA5E,+BAAuC,8CAApF,YAAwoB,EAAnjB,UAAoC,EAA5E,UAAuC,mDAA7E,sJAAqC,GAAiI,8IAAuC,GAApN,u4BAAO,SAAqC,EAAiI,SAAuC,EAApN,kGAAwoB;6GAExoB;;;;;;;;;;;wBAA4V;MAA7P;;wBAAuC;MAA0K;;wBAAyC;MAAzV,i5DAA4V,iDAA9I,+FAA2D,GAAzQ,YAA4V,EAA9I,SAA2D,GAA/M,mBAAoC,6CAAC,+BAAuC,8CAAtI,YAA4V,EAAlS,UAAoC,EAAC,UAAuC,mDAAoI,sJAAqC,GAA/S,muBAA4V,EAAlF,SAAqC,EAA/S,sFAA4V;6GAI1V,qzBAAsF,iFAEtF,2BAFuC,sHAA0B,GAAjE,YAAsF,EAA/C,kIAA0B,GAAjE,YAAsF,EAA/C,SAA0B,2BAAqB,mEAEtF;6GAHF;;;;;wBAAwU;MAA9L;;wBAAuC;MAAuG;;wBAA+C;MAAvU,g1DAAwU,IACtU,ydAAsF,iDADoI,gGAA2D,GAAvR,YAAwU,EAA5G,UAA2D,GAAlL,mBAAoC,6CAAC,+BAAuC,8CAAjL,YAAwU,EAAnO,UAAoC,EAAC,UAAuC,GACvK,oBAA8B,QAAtC,YAAsF,EAA9E,UAA8B,2BADO,yIAA2B,GAAC,yIAAyB,GAApG,muBAAwU,EAAzR,SAA2B,EAAC,SAAyB,EAApG,sFAAwU;6GApC5U,0MAA2T,KACzT,2KAA+C,KAC7C,gZAAoD,IAEpD,gZAAoD,IAEtD,6IAAsB,KACpB,sKAA0C,KACxC,gZAA0E,IAU1E,iZAA0E,IAQ5E,iZAAwN,IAGxN,iZAA0iB,IAE1iB,iZAAwoB,IAExoB,iZAA4V,IAG5V,iZAAwU,yBAlCjU,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAE5C,2EAA4C,GAAnD,YAAoD,EAA7C,SAA4C,GAIP,8DAA+B,GAAzE,YAA0E,EAAhC,SAA+B,GAU/B,8DAA+B,GAAzE,aAA0E,EAAhC,SAA+B,GAQjC,iTAA6K,IAAvN,aAAwN,EAA9K,SAA6K,GAGF,wWAA8M,KAAna,aAA0iB,EAArV,SAA8M,GAE9M,sLAAyG,IAA9T,aAAwoB,EAAnb,SAAyG,GAEvL,yHAAsE,IAA7M,aAA4V,EAArN,SAAsE,GAG3B,wEAAyC,GAA3N,aAAwU,EAAtJ,SAAyC;6GAQ/N,yMAAoH,KAClH,iMAAyF,YAAzC;;wBAAwC;MAAxF,+4CAAyF,2BAA5E,qBAAsB,EAAC,iBAAW,EAA/C,YAAyF,EAA5E,SAAsB,EAAC,SAAW;6GA9CnD,uHAA0C,KACxC,gZAA2T,IA4C3T,gZAAoH,yBA5CvC,sXAA6O,IAA1T,YAA2T,EAA9O,SAA6O,GA4C7O,8DAAsC,GAAnH,YAAoH,EAAvC,SAAsC;4GA/J3H,wMAA2E,KACzE,uLAA2D,KAG3D,uLAA2D,KACzD,kNAAmE,YAA3B;;wBAA0B;MAAlE,wBAAmE,KAAC,2LAAiE,KAEvI;;;;;;kzBAAgD,IAC9C,sKAAyC,KACvC,ydAAkC,IAmDpC,sKAAyC,KACvC,0dAA2C,IAoD7C,uKAAyC,KACvC,0dAA0C,IAkD1C,gLAAmD,KACjD,yLAA4D,KAC1D,6IAAsB,KAEtB,6IAAsB,KACpB,uKAA0C,KACxC,uPAAgG,YAA1B;;wBAAyB;MAA/F,wBAAgG,mFAAM,MAExG,6KAAgD,KAC9C,wQAA4H,YAA3D;;wBAA8B;MAA/F,wBAA4H,kFAAM,mDAtKxI,mBAAqB,UAA3B,YAAgD,EAA1C,SAAqB,GAElB,mBAA4B,SAAjC,aAAkC,EAA7B,SAA4B,GAoD5B,mBAAqC,kBAA1C,aAA2C,EAAtC,SAAqC,GAqDrC,oBAAoC,iBAAzC,aAA0C,EAArC,UAAoC,mDA3G7C,8sBAAgD,GAsK4D,qBAA2B,gBAA3H,aAA4H,EAA5B,UAA2B;;;;;;;;;;;;;;;;AC7KzI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwE;AACN;AAEE;AACD;AACV;AAEJ;AACa;AACvB;AAC+B;AAEV;AAEhE;IAmDE,gCAAmB,oBAA0C,EAAU,MAAc,EAAU,SAAmB,EAAU,MAAqB,EAAU,eAAgC,EAAU,eAAgC,EAC3N,iBAAsC;QAD7B,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAU;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAC3N,sBAAiB,GAAjB,iBAAiB,CAAqB;QA3ChD,kBAAa,GAAW,CAAC,CAAC;QAC1B,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAG,IAAI,wDAAS,CAAC,EAAE,CAAC,CAAC;QAC5B,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAC5B,cAAS,GAAG,EAAE,CAAC;QACtB,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QAE7B,qBAAgB,GAAY,KAAK,CAAC;QAC3B,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvG,cAAS,GAAuB,EAAE,CAAC;QACnC,gCAA2B,GAAY,KAAK,CAAC;QAC7C,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,sBAAiB,GAAY,KAAK,CAAC;QAEnC,kBAAa,GAAY,KAAK,CAAC;QAAC,qBAAgB,GAAG,KAAK,CAAC;QACzD,2BAAsB,GAAY,KAAK,CAAC;QACxC,oBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAc,GAAY,KAAK,CAAC;QAAC,mBAAc,GAAY,KAAK,CAAC;QAEjE,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,qBAAgB,GAAmB,EAAE,CAAC;QACtC,gBAAW,GAAmB,EAAE,CAAC;QACjC,gBAAW,GAAY,EAAE,CAAC;QAC1B,oBAAe,GAAmB,EAAE,CAAC;QACrC,kBAAa,GAAmB,EAAE,CAAC;QACnC,eAAU,GAAmB,EAAE,CAAC;QAEhC,eAAU,GAAmB,EAAE,CAAC;QAChC,YAAO,GAAmB,EAAE,CAAC;QAC7B,iBAAY,GAAmB,EAAE,CAAC;QAClC,cAAS,GAAmB,EAAE,CAAC;QAC/B,oBAAe,GAAmB,EAAE,CAAC;QACrC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,gBAAW,GAAmB,EAAE,CAAC;QACjC,sBAAiB,GAAmB,EAAE,CAAC;QACvC,eAAU,GAAmB,EAAE,CAAC;QAChC,eAAU,GAAmB,EAAE,CAAC;QAChC,iBAAY,GAAmB,EAAE,CAAC;QAClC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,oBAAe,GAAmB,EAAE,CAAC;QACrC,YAAO,GAAmB,EAAE,CAAC;QAEuB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAAC,CAAC;IAEzH,yCAAQ,GAAR;QAAA,iBAwDC;QAvDC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAG;YACxF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBAC5D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrD,IAAI,KAAI,CAAC,aAAa,IAAI,CAAC,EAAE;wBAC3B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,gBAAgB,EAAhC,CAAgC,CAAC,CAAC;qBAC/D;oBAED,MAAM,CAAC,OAAO,CAAC,aAAG;wBAChB,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,EAAE;4BAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC;4BAC7B,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;yBAC5C;6BAAM;4BACL,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE;gCAClC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oCACtG,IAAI,IAAI,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;oCACxE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gCACrB,CAAC,CAAC,CAAC;6BACJ;yBACF;oBACH,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAlC,CAAkC,CAAC,CAAC;oBACrE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAjC,CAAiC,CAAC,CAAC;oBAC5E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;wBACnB,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;gBAEL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,sBAAY;YACnG,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,IAAI,GAAG,GAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;gBACvE,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrD,MAAM,CAAC,OAAO,CAAC,aAAG;wBAChB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE;4BAClC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gCACpG,IAAI,IAAI,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;gCACxE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;4BACrB,CAAC,CAAC,CAAC;yBACJ;oBACL,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,eAAe,GAAG,MAAM,CAAC;oBAE9B,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAC;wBAC5B,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;gBAEL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,8CAAa,GAAb;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IACA,+CAAc,GAAd;QAAA,iBAwIA;QAtIE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YAC1G,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;YACrC,KAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;QAEnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACjD,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC3F,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QAErC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAChG,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,WAAW,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAE7F,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAEhC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACrF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAClF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAEvE,OAAO,CAAC,OAAO,CAAC,aAAG;gBACjB,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE;oBACxB,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;iBACpD;YACH,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAChF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAClF,GAAG,CAAC,OAAO,CAAC,aAAG;YACf,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC3E,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAClF,GAAG,CAAC,OAAO,CAAC,qBAAW;YACvB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAEvD,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAChG,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9E,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC3D,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAC9B,KAAI,CAAC,SAAS,GAAG,WAAW;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAE/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAClF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,UAAC,WAAW;YACnD,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE;QACf;YACE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC;YACb,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;IAEH,CAAC;IACD,yCAAQ,GAAR;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI,GAAG,CAAC;gBACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;SACJ;QAGD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,mDAAkB,GAAlB;QACE,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjD;aAAM;YACL,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjD;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IACD,4CAAW,GAAX,UAAY,GAAG;QAAf,iBAuCC;QAtCC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAElF,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAU;4BAEhE,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE;gCAC5C,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;6BAC3B;iCACI;gCACH,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;gCAC/B,IAAI,UAAU,IAAI,kBAAkB,EAAE;oCAAE,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;iCAAE;gCACvE,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;6BAC3B;wBACH,CAAC,CAAC,CAAC;qBACJ;yBACI;wBACH,KAAI,CAAC,sBAAsB,GAAG,IAAI;wBAClC,KAAI,CAAC,eAAe,GAAG,MAAM,CAAC;wBAC9B,CAAC,CAAC,UAAU,CAAC;4BACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uHAAuH,CAAC,CAAC;wBACtJ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBAEV;gBACH,CAAC,CAAC,CAAC;aAGJ;iBAAM;gBAEL,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;aAC3B;SAEF;aACI;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IACH,CAAC;IACD,wDAAuB,GAAvB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mJAAmJ,CAAC,CAAC;QACzL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,gDAAe,GAAf,UAAgB,GAAG;QAAnB,iBAyEC;;QAxEC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,OAAC,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAElD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAEtF,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE;gBAClC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/B,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBAEX,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACR,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBAC9C;qBACI;oBACH,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;iBAC5D;gBACD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAElE,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,UAAU,CAAC;oBACT,SAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAC7D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC7C,SAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,UAAU,CAAC;gBAC1D,CAAC,EAAE,GAAG,CAAC;aACR;iBAAM;gBACL,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/B,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBAEX,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACR,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBAC9C;qBACI;oBACH,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;iBAC5D;gBACD,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,UAAU,CAAC;oBACT,SAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAC5D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC7C,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,SAAO,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;aAGJ;YACD,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnB,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE;gBAC7D,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC3C,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACzG;qBAAM,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnD,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAChD;qBAAM;oBACL,KAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;iBACrC;aACF;YACD,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wBAAwB,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,gDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,+DAA8B,GAA9B;QACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,UAAU,CAAC;YACT,CAAC,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QAChL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,gDAAe,GAAf,UAAgB,GAAa;QAE3B,IAAI,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE;YAC9B,IAAI,WAAW,GAAG,IAAI,iEAAgB,EAAE,CAAC;YACzC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACpC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACpC,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAC5B,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC9B,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC1B,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;YACxB,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC9B,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC1B,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAElC;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAClF,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;gBACjC,UAAU,CAAC;oBACT,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;oBACnE,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACtC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACpC,IAAI,0DAAW,CAAC,MAAM,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;oBAElD,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;oBACpE,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACvC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACrC,IAAI,0DAAW,CAAC,OAAO,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;oBAEnD,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;oBAClE,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBACrC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACnC,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;gBACnD,CAAC,EAAE,GAAG,CAAC,CAAC;aAIT;iBAAM;gBACL,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBAC1G,IAAI,0DAAW,CAAC,MAAM,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;gBAE7C,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBAC3G,IAAI,0DAAW,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;gBAE9C,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBACzG,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;aAC7C;SAEF;IAEH,CAAC;IACD,qDAAoB,GAApB,UAAqB,KAAK,EAAE,QAAQ;QAEjC,IAAI,QAAQ,IAAI,SAAS,EAAE;YAC1B,IAAI,KAAK,IAAI,GAAG,EAAE;gBAEhB,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBACnE,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACtC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,0DAAW,CAAC,MAAM,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;gBAElD,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBACpE,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACvC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,0DAAW,CAAC,OAAO,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;gBAEnD,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBAClE,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACrC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACnC,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;aAElD;iBAAM;gBACL,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBAC1G,IAAI,0DAAW,CAAC,MAAM,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;gBAE7C,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBACzG,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;gBAE5C,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBAC3G,IAAI,0DAAW,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;aAC/C;SACF;aACI,IAAI,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;gBAClD,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,mFAAmF,CAAC,CAAC;gBAC5G,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC9C,IAAI,0DAAW,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC;aACjD;iBACI;gBACH,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;gBACpD,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,iFAAiF,CAAC,CAAC;gBAC1G,IAAI,0DAAW,CAAC,SAAS,EAAE,yDAAU,CAAC,aAAa,CAAC,CAAC;aACtD;SAEF;IACH,CAAC;IAED,mDAAkB,GAAlB,UAAmB,KAAK,EAAE,IAAI;QAC5B,IAAI,sBAAsB,GAAG,EAAE,CAAC;QAChC,IAAI,KAAK,IAAI,WAAW,EAAE;YACxB,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;YACxE,OAAO,sBAAsB,CAAC;SAC/B;aAAM,IAAI,KAAK,IAAI,WAAW,EAAE;YAC/B,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAApC,CAAoC,CAAC,CAAC;YACnF,OAAO,sBAAsB,CAAC;SAC/B;aAAM;YACL,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;YACxE,OAAO,sBAAsB,CAAC;SAC/B;IACH,CAAC;IACH,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGCtjBC,0NAA4H,KAExH,4IAAsB,KACpB,yHAAO,4FAAqB,MAE9B,oLAAwD,KACtD;;;;;;;;;;;wBAAkK;MAA/D;;wBAAiC;MAAC;;wBAA4B;MAAjK,kyCAAkK,iDAAhF,2BAAgB,EAAC,oBAAiC,sBAApI,YAAkK,EAAhF,SAAgB,EAAC,UAAiC,mDAH7H,kDAAqB,GAG8B,8GAAuB,GAAjF,woBAAkK,EAAxG,SAAuB,EAAjF,2EAAkK;sGAIxK,6MAA+G,KAE7G,4IAAsB,KACpB,yHAAO,yFAAY,MAErB,qLAAwD,KACtD;;;;;;;;;;;wBAAgL;MAAxE;;wBAA0C;MAAC;;wBAA4B;MAA/K,kyCAAgL,IAChL;;;;;;;;;;;wBAAwK;MAAhE;;wBAA0C;MAAlJ,oyCAAwK,iDADpF,8BAAmB,EAAC,mBAA0C,+BAAlJ,YAAgL,EAA5F,SAAmB,EAAC,SAA0C,GAC9D,+BAAmB,EAAC,oBAA0C,+BAAlJ,aAAwK,EAApF,UAAmB,EAAC,UAA0C,mDADxF,gHAAyB,GAAnF,woBAAgL,EAAtH,SAAyB,EAAnF,2EAAgL,GACtH,iHAAyB,GAAnF,gpBAAwK,EAA9G,UAAyB,EAAnF,kFAAwK;sGAWxK;;;;;;;;;;;wBACyF;MADQ;;wBAAyC;MAAC;;wBAAuC;MAAC;;wBAA4B;MAA/M,ivDACyF,iDAAT,kBAAQ,EADxF,YACyF,EAAT,SAAQ,GADP,2BAAe,EAA2C,oBAAuC,4BAAlL,YACyF,EADR,UAAe,EAA2C,UAAuC,mDAAxH,6GAAsB,GAAhF,muBACyF,EAD/B,SAAsB,EAAhF,sFACyF;sGAExF;;;;;;;;;;;wBACwE;MADyB;;wBAAyC;MAAC;;wBAAuC;MAAC;;wBAA4B;MAA/M,ivDACwE,iDAAT,kBAAQ,EADvE,YACwE,EAAT,SAAQ,GADU,2BAAe,EAA2C,oBAAuC,4BAAlL,YACwE,EADS,UAAe,EAA2C,UAAuC,mDAAxH,6GAAsB,GAAhF,muBACwE,EADd,SAAsB,EAAhF,sFACwE;sGAkE7E,8MAAgH,KAC9G,wJAAkC,KAChC,yHAAO,kFAAK,MAEd,0JAAmC,KACjC;;;;;;;;;;;;;;;;;;;;;;;wBAAqN;MAAvI;;wBAAoC;MAAoE;;wBAA4B;MAAlN,+oCAAqN,GAAvE,gEAA8B,KAA5K,uiCAAqN,iDAAxC,kBAAQ,EAArL,YAAqN,EAAxC,SAAQ,GAAvC,mCAA8B,aAA5K,YAAqN,EAAvE,UAA8B,GAA9F,oBAAoC,yBAAlH,aAAqN,EAAvI,UAAoC,mDAAxD,0GAAmB,GAA7E,0uBAAqN,EAA3J,SAAmB,EAA7E,sFAAqN;sGAGzN,6MAA+G,KAC7G,4IAAsB,KACpB,yHAAO,iFAAI,MAEb,4IAAsB,KACpB;;;;;;;;;;;;;;;;;;;;;;;wBAAsM;MAA1H;;wBAAkC;MAAyD;;wBAA4B;MAAnM,uvBAAsM,GAA9D,+DAA8B,KAAtK,++BAAsM,iDAA9D,iCAA8B,aAAtK,YAAsM,EAA9D,SAA8B,GAA1F,mBAAkC,uBAA9G,aAAsM,EAA1H,SAAkC,mDAApD,wGAAiB,GAA3E,woBAAsM,EAA5I,SAAiB,EAA3E,2EAAsM;sGAG1M,gNAAkH,KAEhH,4IAAsB,KACpB,yHAAO,0FAAa,MAEtB,4IAAsB,KACpB,gTACkE,YADR;;wBAAiC;MAA3F,wBACkE,KAClE;;;;;;;;;;;wBAA0J;MAAtE;;wBAA8C;MAAlI,+wCAA0J,IAG5J,6IAAsB,KACpB,wRAAwJ,YAA1G;;wBAA0B;MAAxE,wBAAwJ,kDAJpE,mBAA8C,mCAAlI,YAA0J,EAAtE,SAA8C,mDAAxE,gHAAyB,GAAnF,woBAA0J,EAAhG,SAAyB,EAAnF,2EAA0J,GAIjF,oHAA6B,GAAtG,aAAwJ,EAA/E,SAA6B;sGAmC5G,mNAAuF,YAA3E;;wBAA6B;MAAzC,4ZAAuF,MACrF,oKAA2C,KAEzC,oKAAqD,kDAH7C,mBAA6B,kBAAzC,YAAuF,EAA3E,SAA6B,mDAGhC,mBAAiB,YAAtB,YAAqD,EAAhD,SAAiB;iMArK1B,yHAAK,KACH,yYAA4H,IAU5H,yYAA+G,IAW/G,6MAAgF,KAE9E,4IAAsB,KACpB,yHAAO,sFAAS,MAElB,qLAAwD,KAEtD,0YACyF,IAExF,0YACwE,IAG3E,2LAA8D,KAC5D,wSAAwI,YAAvB;;wBAAsB;MAAvI,wBAAwI,KACxI,2QAA4G,YAAhE;;wBAAe;MAA3D,wBAA4G,KAGhH,8MAAgF,KAE9E,6IAAsB,KACpB,0HAAO,sFAAS,MAElB,6IAAsB,KACpB;;;;;;;;;;;wBAAoM;MAAnG;;wBAAuC;MAAC;;wBAA4B;MAArK,oyCAAoM,IAIxM,8MAAgF,KAC9E,6IAAsB,KACpB,0HAAO,uJAA2B,iFAAI,MAExC,6IAAsB,KACpB,uKAA0C,KACxC;;;;;;;;;;;wBAAiP;MAAxJ;;wBAAmC;MAAC;;wBAA4B;MAAzJ,oxDAAiP,IAOvP,8MAAgF,KAC9E,6IAAsB,KACpB,0HAAO,uJAA2B,kFAAK,MAEzC,6IAAsB,KAEpB,uKAA0C,KACxC;;;;;;;;;;;wBAAqP;MAA1J;;wBAAoC;MAAC;;wBAA4B;MAA5J,oxDAAqP,IAO3P,8MAAgF,KAC9E,6IAAsB,KACpB,0HAAO,uJAA2B,gFAAG,MAEvC,6IAAsB,KACpB,uKAA0C,KACxC;;;;;;;;;;;wBAA6O;MAAtJ;;wBAAkC;MAAC;;wBAA4B;MAAtJ,oxDAA6O,IAOnP,8MAAgF,KAC9E,6IAAsB,KACpB,0HAAO,uJAA2B,mFAAM,MAE1C,6IAAsB,KACpB;;;;;;;;;;;wBAAkQ;MAAjJ;;wBAA+C;MAAC;;wBAA4B;MAA7L,m0CAAkQ,IAGtQ,0YAAgH,IAQhH,0YAA+G,IAQ/G,0YAAkH,IAgBhH,2NAA6F,KAC3F,6IAAsB,KACpB,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAAmL;MAAjG;;wBAAwC;MAA0B;;wBAA4B;MAAhL,mxCAAmL,IAGvL,gOAAiG,KAC/F,8IAAsB,KACpB,2HAAO,wFAAW,MAEpB,8IAAsB,KACpB;;;;;;;;;;;wBAAqL;MAAlG;;wBAAyC;MAA0B;;wBAA4B;MAAlL,oxCAAqL,IAIzL,6LAA0C,YAA9B;;wBAA6B;MAAzC,8ZAA0C,MACxC,2KAA+C,KAC7C,gLAAiD,KAC/C,29HAAsF,KACpF,woBAAqE,MAUjF,2YAAuF,iDAjKQ,2CAA8B,GAA3H,YAA4H,EAA/B,SAA8B,GAU3C,2CAA8B,GAA9G,YAA+G,EAA/B,SAA8B,GAmBzD,2CAA8B,GAD/E,aACyF,EAAxC,SAA8B,GAG9C,2CAA8B,GAD9D,aACwE,EAAxC,SAA8B,GAckB,2BAAe,EAAC,oBAAuC,4BAAxI,aAAoM,EAAnH,UAAe,EAAC,UAAuC,GAU6C,mBAAQ,EAA3L,aAAiP,EAA9D,UAAQ,GAA9G,uBAAW,EAAoG,2DAAkD,GAArJ,oBAAmC,wBAA5H,aAAiP,EAApK,UAAW,EAAoG,UAAkD,EAArJ,UAAmC,GAc2D,mBAAQ,EAA/L,aAAqP,EAA9D,UAAQ,GAAjH,wBAAY,EAAsG,2DAAkD,GAAvJ,oBAAoC,yBAA/H,aAAqP,EAAvK,UAAY,EAAsG,UAAkD,EAAvJ,UAAoC,GAagD,mBAAQ,EAAvL,aAA6O,EAA9D,UAAQ,GAA3G,sBAAU,EAAkG,2DAAkD,GAAnJ,oBAAkC,uBAAzH,aAA6O,EAAjK,UAAU,EAAkG,UAAkD,EAAnJ,UAAkC,GAYlC,mCAAuB,EAA6F,2DAAkD,GAA9I,oBAA+C,oCAAhK,aAAkQ,EAAzK,UAAuB,EAA6F,UAAkD,EAA9I,UAA+C,GAGnF,4CAA8B,GAA/G,aAAgH,EAA/B,UAA8B,GAQ/B,4CAA8B,GAA9G,aAA+G,EAA/B,UAA8B,GAQ3B,4CAA8B,GAAjH,aAAkH,EAA/B,UAA8B,GAqBzB,oBAAwC,6BAA1H,cAAmL,EAAjG,UAAwC,GAQvC,oBAAyC,8BAA5H,cAAqL,EAAlG,UAAyC,GAIpH,oBAA6B,kBAAzC,cAA0C,EAA9B,UAA6B,GAGE,oBAA4B,YAAxD,oBAA2B,YAApC,cAAsF,EAAjD,UAA4B,EAAxD,UAA2B,GACtB,oBAA2B,YAAC,oBAA4B,YAApE,cAAqE,EAAzD,UAA2B,EAAC,UAA4B,GAUtC,oBAAuB,kBAAjE,cAAuF,EAA7C,UAAuB,mDAnHD,6GAAsB,GAAhF,2oBAAoM,EAA1I,SAAsB,EAAhF,6EAAoM,GAUxI,0GAAkB,GAA5E,ovBAAiP,EAAvL,UAAkB,EAA5E,8FAAiP,GAcvL,2GAAmB,GAA7E,ovBAAqP,EAA3L,UAAmB,EAA7E,8FAAqP,GAa3L,yGAAiB,GAA3E,ovBAA6O,EAAnL,UAAiB,EAA3E,8FAA6O,GAYrL,sHAA8B,GAAxF,gpBAAkQ,EAAxM,UAA8B,EAAxF,kFAAkQ,GAwCtM,+GAAuB,GAAjF,upBAAmL,EAAzH,UAAuB,EAAjF,kFAAmL,GAQzH,gHAAwB,GAAlF,wpBAAqL,EAA3H,UAAwB,EAAlF,kFAAqL,GAOnL,iDAAsF;;;;;;;;;;;;;;;;ACvJhG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiI;AAChF;AACE;AAED;AACkB;AACA;AACX;AAET;AACL;AAC0B;AAC1B;AAKM;AACW;AACD;AACG;AAGc;AACtB;AAGtD;IA6HE,0BAAoB,MAAc,EAAU,EAAe,EAAU,IAAgB,EAAU,WAAwB,EAAU,eAAgC,EAAU,KAAqB,EACtL,eAAgC,EAAU,MAAqB,EAAU,gBAAkC,EAAU,QAAkB,EAAU,MAAc,EAAE,SAAqB,EACtL,WAAyB,EAAU,iBAAsC,EAAU,aAA4B;QAFrG,WAAM,GAAN,MAAM,CAAQ;QAAU,OAAE,GAAF,EAAE,CAAa;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,UAAK,GAAL,KAAK,CAAgB;QACtL,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAAU,WAAM,GAAN,MAAM,CAAQ;QAC/J,gBAAW,GAAX,WAAW,CAAc;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,kBAAa,GAAb,aAAa,CAAe;QApHzH,oBAAe,GAAY,KAAK,CAAC;QAOjC,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACnC,aAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACpC,aAAQ,GAAc,IAAI,2DAAS,EAAE,CAAC;QACtC,qBAAgB,GAAqB,IAAI,oEAAgB,EAAE,CAAC;QAC5D,iBAAY,GAAoB,EAAE,CAAC;QACnC,iBAAY,GAAoB,EAAE,CAAC;QACnC,cAAS,GAAiB,EAAE,CAAC;QACtB,cAAS,GAAW,CAAC,CAAC;QACtB,eAAU,GAAW,CAAC,CAAC;QAO9B,qBAAgB,GAAmB,EAAE,CAAC;QACtC,cAAS,GAAmB,EAAE,CAAC;QAC/B,oBAAe,GAAmB,EAAE,CAAC;QACrC,kBAAa,GAAmB,EAAE,CAAC;QAC3B,qBAAgB,GAAoB,EAAE,CAAC;QAG/C,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QACnB,eAAU,GAAG,CAAC,CAAC;QACf,UAAK,GAAG,CAAC,CAAC;QAGV,eAAU,GAAG,KAAK,CAAC;QACnB,kBAAa,GAAW,CAAC,CAAC;QAC1B,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QACtB,eAAU,GAAW,CAAC,CAAC;QAC9B,mBAAc,GAAuB,EAAE,CAAC;QACxC,iBAAY,GAAoB,EAAE,CAAC;QACnC,gBAAW,GAAmB,EAAE,CAAC;QACjC,eAAU,GAAkB,EAAE,CAAC;QAC/B,gBAAW,GAAmB,EAAE,CAAC;QACjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,WAAM,GAAY,IAAI,CAAC;QACvB,oBAAe,GAAG,KAAK,CAAC;QAEjB,kBAAa,GAAW,CAAC,CAAC;QAC1B,cAAS,GAAG,EAAE,CAAC;QACd,SAAI,GAAiB,EAAE,CAAC;QACzB,SAAI,GAAiB,EAAE,CAAC;QACxB,YAAO,GAAe;YAC3B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YAC/B,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE;SACvD,CAAC;QACF,QAAG,GAAG,EAAE,CAAC;QACF,SAAI,GAAW,CAAC,CAAC;QACjB,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAW,CAAC,CAAC;QACpB,aAAQ,GAAW,CAAC,CAAC;QACrB,WAAM,GAAW,CAAC,CAAC;QACnB,WAAM,GAAQ;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;SAC/C,CAAC;QACF,iBAAY,GAAY,IAAI,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAY,IAAI,CAAC;QAC/B,uBAAkB,GAAY,KAAK,CAAC;QAEpC,cAAS,GAAW,CAAC,CAAC;QAEtB,mBAAc,GAAW,EAAE,CAAC;QAK5B,kBAAa,GAAa,EAAE,CAAC;QAM7B,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAKnB,iBAAY,GAAG,IAAI,0DAAY,EAAY,CAAC;QAC5C,kBAAa,GAAkB,IAAI,6DAAa,EAAE,CAAC;QAS5C,MAAC,GAAG,CAAC,CAAC;QAIN,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAGvG,oBAAe,GAAY,KAAK,CAAC;QACjC,cAAS,GAAW,EAAE,CAAC;QAKrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,CAAC;IAED,mCAAQ,GAAR;QAAA,iBA6EC;QA3EC,IAAI,CAAC,aAAa,GAAG,IAAI,0DAAW,EAAE,CAAC;QAEvC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;YAE7B,IAAI,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;gBAC1F,KAAK,EAAE,CAAC,SAAS,CAAC;aAEnB,CAAC,CAAC;YACH,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE;gBAExC,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBACd,KAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,IAAI,KAAK,GAAmC,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAEpE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE;wBAC3D,OAAO;qBACR;oBACD,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAC/C,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAC/C,IAAI,EAAE,GAAG,CAAC,CAAC,YAAY,GAAG,KAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC5C,IAAI,IAAI,GAAG,CAAC,CAAC,cAAc,GAAG,KAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;oBAChD,IAAI,IAAI,GAAG,CAAC,CAAC,cAAc,GAAG,KAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;oBAChD,KAAI,CAAC,gBAAgB,GAAG,IAAI,oEAAgB,EAAE,CAAC;oBAC/C,KAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC3E,KAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAC5E,KAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;oBAC9B,KAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;oBACzC,KAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;oBACzC,IAAI,YAAY,GAAG;wBACjB,MAAM,EAAE,KAAK,CAAC,IAAI;wBAClB,mBAAmB,EAAE,KAAK,CAAC,iBAAiB;qBAC7C,CAAC;oBACF,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACxB,IAAI,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,EAAE;4BAC9B,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,gBAAgB,EAAE;gCACzC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCAC7B,KAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;6BACvC;iCACI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,kBAAkB,EAAE;gCAChD,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCAC7B,KAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;6BACvC;iCACI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,UAAU,EAAE;gCACxC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCAC7B,IAAI,KAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE;oCAC/B,KAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC;oCACnC,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,gBAAgB;iCAEhH;qCAAM;oCACL,KAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC;oCAClC,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,gBAAgB;iCAEhH;6BACF;iCACI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,EAAE;gCACtC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCAC9B,KAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;6BACrC;iCACI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,aAAa,EAAE;gCAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCAC5B,KAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,GAAG,CAAC;6BACjC;iCACI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;gCAC5C,KAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;6BACnD;yBACF;qBACF;oBAED,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,gBAAgB,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC;oBACpD,KAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAGO,6CAAkB,GAA1B;QAAA,iBASC;QARC,IAAI,aAAa,IAAI,SAAS,EAAE;YAC9B,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAC,QAAQ;gBAChD,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACzC,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC3C,KAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACd,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,wCAAa,GAAb,UAAc,MAAkB;QAC9B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,qCAAU,GAAV,UAAW,QAAQ,EAAE,SAAS;QAA9B,iBAcC;QAbC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,UAAC,OAAO,EAAE,MAAM;YACvF,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;oBACd,KAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBACf,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;iBAC7C;qBAAM;oBACL,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBAClC;aACF;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,MAAM,CAAC,CAAC;aACnD;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAe,GAAf,UAAgB,QAA0B;QACxC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,wCAAa,GAAb;QACE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9C,yCAAyC;IAC3C,CAAC;IACD,sCAAW,GAAX,UAAY,KAAa;QACvB,8BAA8B;IAChC,CAAC;IAED,sCAAW,GAAX,UAAY,OAAyB,EAAE,CAAS;QAAhD,iBAsGC;QArGC,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,IAAI,OAAO,CAAC,OAAO,IAAI,aAAa,EAAE;YAChE,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,2BAA2B,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC1G,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,SAAS,EAAvB,CAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC9D,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAE/B,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC7C,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACzD,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBAEnD,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE,EAAE;oBACpE,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAC;iBACrG;gBAED,IAAI,CAAC,GAAG,CAAC,EAAE;oBACT,KAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;oBAClD,KAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;oBAClD,KAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC1E,KAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oBAC5C,KAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;oBACxC,KAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpD,KAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;oBACpD,KAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;oBACtD,KAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;oBACxC,KAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oBAC5C,KAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;oBAChE,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBACxG,mCAAmC;oBACnC,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE,EAAE;wBACpE,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAC;qBACrG;oBACD,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;iBAEtD;YACH,CAAC,CAAC,CAAC;SAEJ;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,2BAA2B,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAE1G,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;oBAC3B,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,KAAK,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC3B;qBAAM;oBACL,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE;iBACpB;gBACD,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC9D,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAE/B,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC7C,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACzD,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBAEnD,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE,EAAE;oBACpE,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAC;iBACrG;gBAED,IAAI,CAAC,GAAG,CAAC,EAAE;oBACT,KAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;oBAClD,KAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;oBAClD,KAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC1E,KAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oBAC5C,KAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;oBACxC,KAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpD,KAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;oBACpD,KAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;oBACtD,KAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;oBACxC,KAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oBAC5C,KAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;oBAChE,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBACxG,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE,EAAE;wBACpE,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAC;qBACrG;oBACD,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;iBAEtD;YAEH,CAAC,CAAC,CAAC;SAEJ;IAEH,CAAC;IACD,gDAAqB,GAArB,UAAsB,SAA6B;QACjD,SAAS,CAAC,OAAO,CAAC,UAAU,KAAK;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,0DAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,mDAAwB,GAAxB,UAAyB,QAA0B;QACjD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,gCAAK,GAAL,UAAM,CAAC;QAEL,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEvB,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEvC,CAAC;IAED,8BAAG,GAAH,cAAQ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAEtC,wCAAa,GAAb;QACE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;aAC/B;SACF;IACH,CAAC;IACM,oCAAS,GAAhB,UAAiB,KAAa;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;aACI;YACH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IAED,2CAAgB,GAAhB,UAAiB,CAAC;QAEhB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACxD,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAG5E,CAAC;IAED,oCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,mCAAQ,GAAR,UAAS,KAAK,EAAE,KAAK;QAEnB,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE/B,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAE5B;IACH,CAAC;IAED,uCAAY,GAAZ,UAAa,IAAI,EAAE,KAAK;QAEtB,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpE,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC;QACzE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGCneS,kOASiD,YALrC;;wBAAmE;MACnE;;wBAA2C;MAI3C;;wBAAoC;MAThD,u+BASiD,IAE/C,8nBAAsD,IAEpD,oHAAK,KACH,qHAAG,gFAAa,MAChB,wHAAK,0BAdC,kBAAuB,wBACvB,kBAAwB,wBAIxB,oBAAwB,EACxB,oBAAuB,EAJvB,kBAAwB,0BAHpC,YASiD,EARrC,SAAuB,EACvB,SAAwB,EAIxB,SAAwB,EACxB,SAAuB,EAJvB,SAAwB,GAKxB,oBAAqB,EARjC,YASiD,EADrC,SAAqB,GAGd,qBAAwB,EAAzC,YAAsD,EAArC,SAAwB,mDAGlC,iDAAa;oMArBhC,wNAAqF,KACjF,yKAA4C,KAC1C,8KAAiD,KAE/C,2VAAoM,EAA5J;;wBAAyC;MAAjF,wBAAoM,KACpM,2hIAAuG,IAErG,mdASiD,iDAXpB,mBAAiB,MAAlC,mBAAgB,MAAmB,iBAAU,EAAC,oBAAuB,EAAnF,aAAuG,EAAxE,SAAiB,EAAlC,SAAgB,EAAmB,SAAU,EAAC,SAAuB,GAErE,mBAA8B,UAA1C,aASiD,EATrC,SAA8B,2BAF5C,6CAAuG;;;;;;;;;;;;;;;;ACL/G;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8G;AAC5C;AAED;AAIX;AACS;AAC/D;IA4BE,6BAAoB,cAA+B;QAA/B,mBAAc,GAAd,cAAc,CAAiB;QAZnD,kBAAa,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC3C,QAAG,GAAG,SAAS,CAAC;QAChB,QAAG,GAAG,CAAC,SAAS,CAAC;QAIjB,mBAAc,GAAsB,EAAE,CAAC;IAMgB,CAAC;IAExD,sCAAQ,GAAR;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAEO,gDAAkB,GAA1B;QAAA,iBASC;QARC,IAAI,aAAa,IAAI,SAAS,EAAE;YAC9B,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAC,QAAQ;gBAChD,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACzC,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC3C,KAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACd,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,2CAAa,GAAb,UAAc,MAAkB;QAC9B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAGD,wCAAU,GAAV,UAAW,QAAQ,EAAE,SAAS;QAA9B,iBAmBC;QAjBC,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAC,OAAO,EAAE,MAAM;YAC/G,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;oBACd,KAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBACf,IAAI,UAAU,GAAG,IAAI,yEAAe,EAAE,CAAC;oBACvC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7D,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACzC,UAAU,CAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBAC5D,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACtC;qBAAM;oBACL,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;iBAClC;aACF;iBAAM;aACN;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAS,GAAT,UAAU,GAAW,EAAE,GAAW;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,OAAE,GAAG,OAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,iCAAG,GAAH,UAAI,SAAwB;QAC1B,OAAO,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAM,IAAI,aAAM,CAAC,SAAS,CAAC,EAAjB,CAAiB,CAAC,EAAE;IACpE,CAAC;IAED,iCAAG,GAAH,UAAI,SAAwB;QAC1B,OAAO,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAM,IAAI,aAAM,CAAC,SAAS,CAAC,EAAjB,CAAiB,CAAC,EAAE;IACpE,CAAC;IAED,0CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,yCAAW,GAAX,UAAY,UAAU,EAAE,KAAiB,EAAE,GAAG,EAAE,GAAG;QAAnD,iBAMC;QALC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,UAAC,OAAO,EAAE,MAAM;YACpG,KAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,wCAAU,GAAV,UAAW,UAAU,EAAE,MAAkB;QACvC,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IACD,0CAAY,GAAZ,UAAa,SAAS,EAAE,QAAQ;QAAhC,iBAkBC;QAjBC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAI,SAAS,GAAG,IAAI,uEAAe,EAAE,CAAC;QACtC,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC;QACjC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YAC5D,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,KAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5B,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACjB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IAEL,CAAC;IACH,0BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GC3HS,wHAA0C,mFAAM,oNAAoF;4GAHtI,qVAAmQ,YAAvC;;wBAAsC;MAAlQ,wBAAmQ,KACjQ,kKAA2D,yMAAiC,IAE5F,+YAA0C,IAC1C,wHAAM,iPAAkG,YAA/F;;wBAAqC;MAAxC,wBAAkG,0BADlG,6DAAmC,GAAzC,YAA0C,EAApC,SAAmC,2BAHgH,+GAAa,GAAxK,YAAmQ,EAAxG,SAAa,GACtI,2HAA0B,GAA1D,YAA2D,EAA3B,SAA0B,GAAC,kNAAiC;4GAmBhG,sRAQmE,YADlD;;wBAAsC;MACtC;;wBAAiD;MARlE,0hDAQmE,mIAPlD,mBAAiC,oBAGjC,mBAAqB,YAFrB,mBAA+B,mBAC/B,mBAAwD,yCAGxD,mBAAmB,UADnB,oBAAmB,EALpC,YAQmE,EAPlD,SAAiC,EAGjC,SAAqB,EAFrB,SAA+B,EAC/B,SAAwD,EAGxD,SAAmB,EADnB,SAAmB;4GAOtC,kLAAmG,KACjG,unBAA6D,iDAAjD,mBAAsB,MAAC,0BAAyB,EAA5D,YAA6D,EAAjD,SAAsB,EAAC,SAAyB;4GAO9D,uHAAwC;4GAjD5C,gLAAmD,KAEjD,8IAAuB,KACrB,sKAA0C,KACxC,yHAAO,iGAAoB,MAE7B,uKAA0C,KAExC,uJAAiC,KAC/B,wdAAmQ,IAQrQ,0MAA8E,KAC5E,wLAA2D,KACzD,sOAA0E,YAArB;;wBAAoB;MAAzE,wBAA0E,0LAAwD,KAEpI,wLAA2D,KACzD,sOAAsE,YAAjB;;wBAAgB;MAArE,wBAAsE,2LAAyD,KAKvI,uKAA0C,KACxC,ojBAA4G,IAC1G,gZAQmE,IAIrE,gZAAmG,IAOrG,wHAAK,KACH,gZAAwC,IAG1C,4LAAyD,YAA7C;;wBAAyB;MAArC,wbAAyD,MACvD,4JAAuC,KACrC,iLAAmD,KACjD,4KAA+C,KAC7C,sHAAG,gHAAmC,MAExC,uHAAM,4HAAM,KACZ,8LAAiE,KAC/D,sHAAG,6HAAgD,MAAI,uHAAM,sGACpC,6HAAM,kFAC3B,6HAAM,8HAEZ,mDAvDyK,mBAAkD,kBAA3N,YAAmQ,EAA1F,SAAkD,GAmB1N,kFAAuE,GAA5E,aAA4G,EAAvG,SAAuE,GACb,mBAAqB,gBAAlF,aAQmE,EARN,SAAqB,GAY/E,mBAA4C,qCAAjD,aAAmG,EAA9F,SAA4C,GAQ5C,mBAAkC,6BAAvC,aAAwC,EAAnC,SAAkC,GAGH,qBAAkB,EAA5C,mBAAyB,cAArC,aAAyD,EAAnB,SAAkB,EAA5C,SAAyB;;;;;;;;;;;;;;;;ACnDvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmE;AACO;AAExB;AACO;AACO;AACrB;AACkB;AACmB;AAEhF;IAwBE,gCAAoB,KAAqB,EAAU,iBAAsC,EAAU,MAAc,EAAU,SAAgC,EACjJ,MAAqB,EAAS,oBAA0C;QAD9D,UAAK,GAAL,KAAK,CAAgB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAuB;QACjJ,WAAM,GAAN,MAAM,CAAe;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAdlF,sBAAiB,GAAW,EAAE,CAAC;QAE/B,eAAU,GAAY,KAAK,CAAC;QAE5B,qBAAgB,GAAY,KAAK,CAAC;QAClC,kBAAa,GAAY,IAAI,CAAC;QAC9B,gBAAW,GAAY,KAAK,CAAC;QAC7B,iBAAY,GAAQ,EAAE,CAAC;QACvB,oBAAe,GAAQ,EAAE,CAAC;QAC1B,QAAG,GAAG,EAAE,CAAC;QACT,UAAK,GAAG,CAAC,CAAC;QACV,UAAK,GAAa,IAAI,0DAAQ,EAAE,CAAC;QAI/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,UAAU,CAAC;YACT,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,CAAC;IAED,yCAAQ,GAAR;QAAA,iBAsBC;QArBC,IAAI,KAAK,GAAY,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACjC,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,KAAI,CAAC,OAAO,IAAI,CAAC,EAAE;gBACrB,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;aACzC;iBACI;gBACH,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACrD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACvB;aACF;YACD,0BAA0B;QAE5B,CAAC,CAAC,CAAC;QACH,UAAU,CAAC;YACT,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IACD,qDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAE,IAAI;YAC/D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAI,QAAQ,CAAC,IAAI,CAAC,UAAY,CAAC,CAAC;aACzG,IAAI,IAAI,CAAC,UAAU,IAAI,iBAAiB,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI;YAC9G,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAgC,QAAQ,CAAC,IAAI,CAAC,UAAU,aAAQ,QAAQ,CAAC,IAAI,CAAC,EAAI,CAAC,CAAC;IAClH,CAAC;IACD,yDAAwB,GAAxB;QAAA,iBAgCC;QA/BC,IAAI,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE;YACnD,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBAChE,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE;oBAAE,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC;iBAAE;qBAAM;oBACzF,8CAA8C;oBAE9C,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC5B,0DAA0D;oBAC1D,6CAA6C;oBAC7C,GAAG;oBACH,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC;iBAC9C;gBACD,IAAI,SAAS,GAAG,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC/B,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,EAAE;oBACvC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM;iBACpC;gBACD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3C,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjD;gBACD,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACtG,CAAC,CAAC,CAAC;YACH,UAAU,CAAC;gBACT,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;IAEH,CAAC;IACD,6CAAY,GAAZ,UAAa,QAAQ;QAArB,iBA8CC;QA7CC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAEhE,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1C,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC9C,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,UAAU,CAAC;oBACT,SAAO,CAAC,SAAS,GAAG,EAAE,CAAC;oBACvB,SAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAC/B,CAAC,EAAE,GAAG,CAAC,CAAC;aACR;iBACG;gBACH,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE;oBACjC,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC;oBAC9C,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;iBACrB;qBACI;oBACH,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC5B,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC;iBAC9C;gBAED,IAAI,SAAS,GAAG,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC/B,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,EAAE;oBACvC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM;iBACpC;gBACD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3C,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjD;gBACD,UAAU,CAAC;oBACT,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC,EAAE,GAAG,CAAC,CAAC;aAET;QACH,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,IAAI,QAAQ,IAAI,KAAK,EAAE;YACrD,UAAU,CAAC;gBACT,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,EAAE,GAAG,CAAC,CAAC;SAET;IACH,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC/B,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,EAAE;YACvC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;SACpC;QACD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD;IAEH,CAAC;IACD,qCAAI,GAAJ;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC/B,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,EAAE;YACvC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;SACpC;QACD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IACD,4CAAW,GAAX,UAAY,OAAO,EAAC,GAAG;QAAvB,iBAeC;QAbC,IAAI,KAAK,GAAY,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO;YAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACjD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9E,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAE3B,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,0CAAS,GAAT,UAAU,UAAU;QAApB,iBAQC;QAPC,IAAI,UAAU,GAAG,IAAI,qEAAc,EAAE,CAAC;QACtC,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChE,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,6CAAY,GAAZ,UAAa,OAAO,EAAC,OAAO;QAA5B,iBAgBC;QAfC,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACrE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,GAAG,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,OAAO,EAAf,CAAe,CAAC;gBACxD,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBACpC,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,UAAU,CAAC;oBACT,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACjC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;SAEJ;IAEH,CAAC;IACD,iDAAgB,GAAhB;QACE,IAAI,CAAC,iBAAiB,GAAgB;YACpC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;SACzO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG;YACrC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAGH,CAAC;IACD,iDAAgB,GAAhB,UAAiB,gBAAgB;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,uBAAuB,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAChD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC9J;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;wBACtG,YAAY,YAAC,MAAM;4BACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,gBAAgB;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCACpG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;wBAC7D,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC/C,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACjL;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrJ;qBAAM;oBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBACvG,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gBAChC,IAAI,CAAC,gBAAgB,GAAG;oBACtB;wBACE,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;wBACzC,aAAa,EAAE,IAAI;qBACpB;oBACD,sDAAsD;oBACtD;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;wBAC5G,YAAY,YAAC,MAAM;4BACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,gBAAgB;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;wBACvK,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;oBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC7D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAC;oBACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAC;oBACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC;oBACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAC;oBACnD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC;oBAC/C,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC;oBAC/C,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC1E,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC9C,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAC;oBAEvE,qFAAqF;oBACrF,uFAAuF;oBACvF,yFAAyF;oBACzF,8EAA8E;oBAC9E,0EAA0E;oBAC1E,oFAAoF;oBACpF,oFAAoF;oBACpF,4EAA4E;oBAC5E,8EAA8E;oBAC9E,4EAA4E;oBAE5E,sFAAsF;oBAItF,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;oBAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;oBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;oBAEnD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;oBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;oBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;oBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;oBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACpE,iFAAiF;oBACjF,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;iBAExD,CAAC;aACH;iBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gBACvC,IAAI,CAAC,gBAAgB,GAAG;oBACtB;wBACE,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;wBACzC,aAAa,EAAE,IAAI;qBACpB;oBACD,sDAAsD;oBACtD;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;wBAC5G,YAAY,YAAC,MAAM;4BACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,gBAAgB;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;wBACvK,CAAC;qBACF;oBACD,oEAAoE;oBACpE,uFAAuF;oBACvF,uFAAuF;oBACvF,oFAAoF;oBACpF,oFAAoF;oBACpF,4EAA4E;oBAC5E,8EAA8E;oBAC9E,0EAA0E;oBAC1E,0EAA0E;oBAC1E,oGAAoG;oBACpG,wEAAwE;oBACxE,kGAAkG;oBAElG,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC3D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC/D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC7D,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;oBACpD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC1D,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;oBAClD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;oBACpD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;oBAElD,sFAAsF;oBAItF,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;oBAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;oBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;oBAEnD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;oBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;oBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;oBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;oBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACpE,iFAAiF;oBACjF,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;iBAExD,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG;oBACtB;wBACE,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;wBACzC,aAAa,EAAE,IAAI;qBACpB;oBACD,sDAAsD;oBACtD;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;wBAC5G,YAAY,YAAC,MAAM;4BACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,gBAAgB;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;wBACvK,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;oBACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC3D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC/D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC7D,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;oBACpD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC1D,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;oBAClD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAC;oBACnD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC;oBAC/C,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAC;oBACzE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC;oBAC7C,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAC;oBAIvE,sFAAsF;oBAItF,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;oBAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;oBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;oBAEnD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;oBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;oBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;oBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;oBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;oBACpE,iFAAiF;oBACjF,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;iBAExD,CAAC;aACH;SAIF;IAEH,CAAC;IACD,0CAAS,GAAT;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,+CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBACnC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3C;iBACI;gBACH,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC5C;SACF;IACH,CAAC;IACD,2CAAU,GAAV;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uIAAuI,CAAC,CAAC;QAEtK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACH,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GCriBO,sPAC4E,YAA7B;;wBAA4B;MAD3E,wBAC4E,gGAE5E;6GAXJ,gQAA2J,KACzJ,6KAAiD,KAC/C,2PAAyG,YAApD;;wBAA6B;MAAlF,wBAAyG,KAE3G,4KAAgD,KAC9C,iJAA2B,uFAAU,MAEvC,wLAA4D,KAC1D,gZAC4E,iDAAtE,mBAAwC,mCAD9C,YAC4E,EAAtE,SAAwC;6GAVpD,0kBAAqI,IACnI,gZAA2J,IAgB3J,qOAAyG,KACvG,mUASqD,YAFpC;;wBAA+C;MAE/C;;wBAAmC;MATpD,+jDASqD,MAIvD,wLAA2D,KACzD,sLAAyD,KACvD,kLAAqD,KACnD,sKAAyC,KACvC,8MAA4E,YAA/C;;wBAA8C;MAA3E,wBAA4E,mFAAM,MAEpF,4KAA+C,KAC7C,sVACyG,YAD3D;;wBAA0C;MAAxF,wBACyG,wFAEzG,mDAzC0E,6DAAgD,GAApI,YAAqI,EAAjD,SAAgD,GAC7H,oBAAsB,gBAA3B,YAA2J,EAAtJ,SAAsB,GAkBR,mBAA2B,cAE3B,mBAAqB,YADrB,mBAAyB,aAMzB,mBAA2C,sBAJ3C,mBAAmB,UACnB,mBAAmB,UACnB,0BAA2B,EAN5C,YASqD,EARpC,SAA2B,EAE3B,SAAqB,EADrB,SAAyB,EAMzB,SAA2C,EAJ3C,SAAmB,EACnB,SAAmB,EACnB,SAA2B,mDAcmD,0CAAkC,GAA3H,aACyG,EADhB,SAAkC;6GA0B7H,ueAAoM,GAA9E,oEAA6E,MACjM;;;;;wBAAqI;MAAtF;;wBAA4B;MAAC;;wBAAsD;MAAlI,itCAAqI,mFACrI,0KAA2D,iFAAmB,2BAFsC,sGAA6E,IAAnM,YAAoM,EAA9E,SAA6E,GAClJ,kBAA4B,+BAA3E,YAAqI,EAAtF,SAA4B,2BAApD,yHAAuB,GAA9C,ioBAAqI,EAA9G,SAAuB,EAA9C,2EAAqI,GAC9H,0HAAuB,GAA9B,aAA2D,EAApD,UAAuB,GAA6B,4EAAmB;6GAHlF,6MAA2G,KACzG,ydAAoM,GAA7K,mSAA8F,+BAArH,YAAoM,EAA7K,SAA8F;6GAerH,ueAAoM,GAA9E,oEAA6E,MACjM;;;;;wBAAqI;MAAtF;;wBAA4B;MAAC;;wBAAsD;MAAlI,itCAAqI,kFAAM,0KAA2D,iFAAmB,2BADrG,sGAA6E,IAAnM,YAAoM,EAA9E,SAA6E,GAClJ,kBAA4B,+BAA3E,YAAqI,EAAtF,SAA4B,2BAApD,yHAAuB,GAA9C,ioBAAqI,EAA9G,SAAuB,EAA9C,2EAAqI,GAAa,0HAAuB,GAA9B,aAA2D,EAApD,UAAuB,GAA6B,4EAAmB;6GAF7N,gOAAwH,KACtH,ydAAoM,GAA7K,mSAA8F,+BAArH,YAAoM,EAA7K,SAA8F;6GA9B7H,2KAA2E,KACzE,mPAA6H,KAC3H,qKAA+C,iIAAoD,MAGrG,+NAAkG,KAChG,2LAA+D,KAC7D,+LAAyE,KAGzE,8JAAwC,KACtC,oQAAuI,YAAhH;;;wBAA4D;MAAnF,wBAAuI,oFACvI,4JAA+B,oFAAO,MAExC,iZAA2G,IAO7G,4LAA+D,KAC7D,gMAAyE,KAGzE,+JAAwC,KACtC,qQAAsI,YAA/H;;;wBAA2D;MAAlE,wBAAsI,oFACtI,4JAA+B,oFAAO,MAExC,iZAAwH,IAS5H,+MAAkF,KAChF,8LAAiE,KAC/D,sOAAoG,YAA/C;;wBAA8C;MAAnG,wBAAoG,mFAAM,MAE5G,6LAAgE,KAChE,6LAAgE,KAC9D,0NAAuH,YAAxF;;wBAA2C;MAA1E,wBAAuH,gFAAG,mDA9BrH,mBAAmB,cAAxB,aAA2G,EAAtG,SAAmB,GAenB,mBAAmB,cAAxB,aAAwH,EAAnH,SAAmB,mDAemD,mDAA2C,GAAtH,aAAuH,EAA5C,SAA2C;8GAuDpH,gLAA6F,KAC3F,yLAA6D,KAC3D,yHAAO,4FAAiC,MAE1C,+KAAkD,KAChD;;;;;wBAAmI;MAA3H;;wBAAgD;MAAgD;;wBAA0B;MAAlI,8sCAAmI,IACjI,gyBAAwB,+EAAG,MAC3B,gyBAAuB,8EAAE,mDAF6E,mBAA0B,eAAlI,YAAmI,EAA3B,SAA0B,GACxH,qBAAe,EAAvB,aAAwB,EAAhB,kCAAe,EAAvB,aAAwB,EAAhB,UAAe,GACf,qBAAc,EAAtB,aAAuB,EAAf,kCAAc,EAAtB,aAAuB,EAAf,UAAc,2BALjB,uFAAiC,GAGxC,qtBAAmI;8GAUjI,uvBAAyC,6KAAO;8GAMhD,6yBAA8F,+EAAY,2BAA3D,mHAAkB,GAAjE,YAA8F,EAA/C,+HAAkB,GAAjE,YAA8F,EAA/C,SAAkB,2BAAC,gDAA2B,GAA7F,YAA8F,EAA5B,SAA2B,GAAC,kEAAY;8GAF5G;;;;;wBAC8J;MAD9C;;wBAA6B;MAA7I,4uCAC8J,IAC5J,0dAA8F,yBADxF,8IAAyE,IAD+B,kBAA6B,8CAA7I,YAC8J,EAAtJ,SAAyE,EAD+B,SAA6B,GAEnI,mBAAsC,iDAA9C,YAA8F,EAAtF,UAAsC,2BAFgC,+IAA+B,GAA/G,ioBAC8J,EAD9E,SAA+B,EAA/G,2EAC8J;8GAK1J,6xBAAkE,+EAAsB,2BAAzC,kBAAkB,uBAAjE,YAAkE,EAAnB,8BAAkB,uBAAjE,YAAkE,EAAnB,SAAkB,2BAAC,0EAAsB;8GAD1F,yIAA+E,KAC7E,0dAAkE,yBAA1D,kBAAsC,+BAA9C,YAAkE,EAA1D,SAAsC,2BADG,0HAA2B,GAA9E,YAA+E,EAA5B,SAA2B;8GADhF;;;;;wBAAwV;MAAxO;;wBAA6B;MAA7I,4uCAAwV,IACtV,0dAA+E,yBAD6D,8IAAyE,IAAvG,kBAA6B,8CAA7I,YAAwV,EAA1M,SAAyE,EAAvG,SAA6B,GACjI,mBAAwC,iDAAlD,YAA+E,EAArE,UAAwC,2BAD4B,+IAA+B,GAA/G,ioBAAwV,EAAxQ,SAA+B,EAA/G,2EAAwV;8GAxB9V,kIAA4D,KAC1D,iZAA6F,IAW7F,mOAAsG,KACpG,+LAAmG,KACnG,8IAAwB,KACtB;;;;;wBAA8H;MAA3B;;wBAA0B;MAA7H,8sCAA8H,IAC5H,2dAAyC,IAG7C,+IAAwB,KACtB,kZAC8J,IAG9J,kZAAwV,IAM1V,kKAA2C,KACzC,sPAAoH,YAAtE;;wBAA8C;MAA5F,wBAAoH,KAEtH,kKAA2C,KACzC,uPAAgG,YAAjD;;wBAAyB;MAAxE,wBAAgG,KAElG,kKAA2C,KACzC,4PAA0I,YAArE;;wBAA6C;MAAlH,wBAA0I,kDApCzI,0EAAyC,GAA9C,YAA6F,EAAxF,SAAyC,GAcyD,mBAA0B,oCAA7H,YAA8H,EAA3B,UAA0B,GACnH,oBAAgC,eAAxC,aAAyC,EAAjC,UAAgC,GAKwC,yIAA2E,IAD7J,aAC8J,EAA5E,UAA2E,GAG2D,iPAA+H,KAAvV,aAAwV,EAAhI,UAA+H,mDAxBlT,+HAAgB,GAA3D,YAA4D,EAAjB,SAAgB,GAaf,wIAA+B,GAAC,4GAAwB,GAAhG,YAAmG,EAA3D,SAA+B,EAAC,SAAwB,GAE3B,wIAA+B,GAAlG,0oBAA8H,EAA3D,SAA+B,EAAlG,6EAA8H,GAsBpF,oIAA0B,GAApE,aAA0I,EAAhG,UAA0B;8GAtC5E,iIAAyF,KACvF,iZAA4D,yBAAvD,+DAAqC,GAA1C,YAA4D,EAAvD,SAAqC,2BADW,mIAAiC,GAAxF,YAAyF,EAAlC,SAAiC;8GAiDhF,yHAAiD,mNAA8B;8GAEjF,+KAA4F,KAC1F;;;;;wBAAmI;MAA3H;;wBAAgD;MAAC;;wBAA0B;MAAnF,6sCAAmI,IACjI,6xBAAwB,+EAAG,MAC3B,gyBAAuB,8EAAE,mDAF8B,mBAA0B,eAAnF,YAAmI,EAA1E,SAA0B,GACzE,qBAAe,EAAvB,YAAwB,EAAhB,iCAAe,EAAvB,YAAwB,EAAhB,SAAe,GACf,qBAAc,EAAtB,aAAuB,EAAf,kCAAc,EAAtB,aAAuB,EAAf,UAAc,2BAFxB,8sBAAmI;8GAUjI,uvBAAyC,6KAAO;8GAKhD,6yBAA8F,+EAAY,2BAA3D,mHAAkB,GAAjE,YAA8F,EAA/C,+HAAkB,GAAjE,YAA8F,EAA/C,SAAkB,2BAAC,gDAA2B,GAA7F,YAA8F,EAA5B,SAA2B,GAAC,kEAAY;8GAtBlH,kIAA4D,KAC1D,kLAAsD,KAEpD,uLAA2D,KACzD,iZAAiD,IAEnD,iZAA4F,IAO9F,iOAAoG,KAClG,+LAAmG,KACnG,8IAAwB,KACtB;;;;;wBAA8H;MAA3B;;wBAA0B;MAA7H,gtCAA8H,IAC5H,2dAAyC,IAG7C,+IAAwB,KACtB;;;;;wBAAwN;MAA9B;;wBAA6B;MAAvN,+uCAAwN,IACtN,2dAA8F,IAGlG,kKAA2C,KACzC,sPAA6H,YAA/E;;wBAAuD;MAArG,wBAA6H,KAE/H,kKAA2C,KACzC,uPAAoG,YAArD;;wBAA6B;MAA5E,wBAAoG,KAEtG,kKAA2C,KACzC,4PAA0I,YAArE;;wBAA6C;MAAlH,wBAA0I,kDA5BnI,0EAAyC,GAAhD,YAAiD,EAA1C,SAAyC,GAE7C,0EAAyC,GAA9C,YAA4F,EAAvF,SAAyC,GAUuD,mBAA0B,oCAA7H,aAA8H,EAA3B,UAA0B,GACnH,oBAAgC,eAAxC,aAAyC,EAAjC,UAAgC,GAIsE,iIAAyE,IAAC,mBAA6B,uCAAvN,aAAwN,EAAxG,UAAyE,EAAC,UAA6B,GAC7M,mBAAsC,0CAA9C,aAA8F,EAAtF,UAAsC,mDAtBX,+HAAgB,GAA3D,YAA4D,EAAjB,SAAgB,GAcf,wIAA+B,GAAC,4GAAwB,GAAhG,YAAmG,EAA3D,SAA+B,EAAC,SAAwB,GAE3B,wIAA+B,GAAlG,4oBAA8H,EAA3D,SAA+B,EAAlG,8EAA8H,GAK9C,yIAA+B,GAA/G,gpBAAwN,EAAxI,UAA+B,EAA/G,kFAAwN,GAW9K,oIAA0B,GAApE,aAA0I,EAAhG,UAA0B;8GAjC5E,iIAAyF,KACvF,iZAA4D,yBAAvD,+DAAqC,GAA1C,YAA4D,EAAvD,SAAqC,2BADW,mIAAiC,GAAxF,YAAyF,EAAlC,SAAiC;6GA5F5F,oLAA6E,KAC3E,mNAAsF,KACpF,qNAAyF,iFAEzF,MACA,6IAAuB,KACrB,qJAA+B,gFAAgB,MAIjD,4NAAsG,KACpG,yKAA6C,KAC3C;;;;;;;;;;;wBAAsN;MAA1B;;wBAAuB;MAAnN,uuDAAsN,IAI1N,+NAAwG,KACtG,2KAA8C,0FAE9C,MACA,2KAA8C,wFAE9C,MAGF,8MAAuF,KACrF,2KAA8C,4FAE9C,MACA,2KAA8C,gJAE9C,IAGF,8MAAuF,KACrF,2KAA8C,2FAE9C,MACA,2KAA8C,gJAE9C,IAIJ,uLAA0D,KACxD,iMAAoE,YAA9C;;wBAA6C;MAAnE,wBAAoE,KAClE,iMAAsE,KAExE,2dAAyF,IA4CzF,2dAAyF,IAwC3F,qLAAwD,KAExD,qMAAwE,KACtE,6IAAsB,KACpB,sOAAoG,YAA/C;;wBAA8C;MAAnG,wBAAoG,mFAAM,MAE5G,6IAAsB,KACtB,2KAA8C,KAC5C,0MAA2E,YAA5C;;wBAA2C;MAA1E,wBAA2E,iFAAI,mDAhIgG,oBAAc,EAA3L,aAAsN,EAAzC,SAAc,GAAC,oBAAuB,YAAnN,aAAsN,EAA1B,UAAuB,GAoClN,oBAAiD,iBAAtD,aAAyF,EAApF,UAAiD,GA4CjD,oBAAiD,iBAAtD,aAAyF,EAApF,UAAiD,mDAtFrB,qDAAgB,GAM7C,s4BAAsN,GAQ1K,4HAE9C,GAO8C,gOAE9C,GAO8C,gOAE9C;8GAuHA,yKAA4I,KAC1I,qKAAyC,KACvC,mKAA2D,gFAAmB,MAEhF,sLAA0D,4NAAkH,gCAFnK,yHAAuB,GAA9B,YAA2D,EAApD,SAAuB,GAA6B,yEAAmB,GAEH,gIAA8B,GAAjD,YAAkH,EAA/F,SAA8B;8GAL/G,+NAAuH,KACrH,0dAA4I,GAArH,mSAA8F,+BAArH,YAA4I,EAArH,SAA8F;8GAanH,qKAAiF,wKAA2D,gFAAmB,iCAAvE,gIAAuB,GAA9B,YAA2D,EAApD,SAAuB,GAA6B,gFAAmB;8GAC/J,sLAAkG,4NAAkH,gCAA/F,uIAA8B,GAAjD,YAAkH,EAA/F,SAA8B;8GAFrJ,yKAA4I,KAC1I,iZAAiF,IACjF,iZAAkG,yBAD7F,mEAAuC,GAA5C,YAAiF,EAA5E,SAAuC,GACvC,mEAAuC,GAA5C,YAAkG,EAA7F,SAAuC;8GAHhD,gOAAwH,KACtH,0dAA4I,GAArH,mSAA8F,+BAArH,YAA4I,EAArH,SAA8F;8GA1B3H,6JAA0D,KACxD,+KAAmD,KAEjD,wRAAkK,KAChK,sLAAgE,yFAAY,MAIhF,+OAAkH,KAChH,6JAAuC,KACrC,oQAAuI,YAAhH;;;wBAA4D;MAAnF,wBAAuI,oFACvI,2JAA+B,oFAAO,MAExC,kZAAuH,IAQvH,gJAAyB,KACvB,qQAAsI,YAA/H;;;wBAA2D;MAAlE,wBAAsI,oFACtI,4JAA+B,oFAAO,MAExC,kZAAwH,IAQ1H,sLAAyD,KACvD,8LAAiE,KAC/D,sOAAoG,YAA/C;;wBAA8C;MAAnG,wBAAoG,mFAAM,MAE5G,6LAAgE,KAChE,6LAAgE,KAC9D,0MAAqE,YAAtC;;wBAAqC;MAApE,wBAAqE,sFAAS,mDA1B3E,mBAAmB,cAAxB,aAAuH,EAAlH,SAAmB,GAYnB,mBAAmB,cAAxB,aAAwH,EAAnH,SAAmB;8GA2E5B,oNAA0G,YAA9F;;wBAA6B;MAAzC,2bAA0G,MACxG,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,yFAAY,MAAM,sHAAM,KACjH,wLAA4D,oGAAuB,MAErF,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,qKAAwC,KACtC,yRAAsI,YAAlH;;wBAA6B;MAAjD,wBAAsI,iFAEtI,MAGF,qKAAwC,KACtC,yWAAyN,YAArM;;wBAAgC;MAApD,wBAAyN,qFAEzN,mDArB6E,qBAAkB,EAA7F,mBAA6B,kBAAzC,YAA0G,EAAnB,SAAkB,EAA7F,SAA6B;wkBAxV3C,kNAAuF,KACrF,gZAAqI,IAiDrI,gZAA2E,IAiD3E,iZAA6E,IAiJ7E,kZAA0D,IAgD1D,yMAAwE,YAA5D;;wBAA+B;MAA3C,4bAAwE,MACtE,0RAAyI,YAApF;;wBAAkC;MAAvF,wBAAyI,8EAAC,MAC1I,2MAAsF,KACpF,gJAAyB,oFAAO,MAAQ,uHAAM,KAC9C,yHAAM,kHAAqC,MAAO,uHAAM,KACxD,yHAAM,wGAA2B,MAAO,uHAAM,KAC9C,yHAAM,8GAAiC,MAAO,uHAAM,KAKxD,6NAAoG,YAAxF;;wBAAsC;MAAlD,4bAAoG,MAClG,6LACqO,YAA5C;;wBAA2C;MADpO,qmBACqO,MAKvO,4NAAgG,YAApF;;wBAAoC;MAAhD,4bAAgG,MAC9F,4IAAuB,KACrB,qKAA8C,8FAAiB,MAAS,uHAAM,KAC9E,qJAA8B,0FAAa,MAAO,uHAAM,KACxD,oLAAuD,KACrD,qKAAwC,KACtC,qJAA8B,0GAA6B,MAAO,uHAAM,KAE1E,sKAAyC,KACvC,yRAAqI,YAA7B;;wBAA4B;MAApI,wBAAqI,+EAAE,MAQ/I,iNAA0E,YAA9D;;wBAAyB;MAArC,4bAA0E,MACxE,4IAAuB,KACrB,qKAA8C,8FAAiB,MAAS,uHAAM,KAC9E,uKAAgD,0FAAa,MAAO,uHAAM,KAC1E,yMAA4E,KAC1E,sKAAyC,KACvC,qJAA8B,wGAA2B,MAAO,uHAAM,KAExE,sKAAyC,KACvC,yRAAqI,YAA7B;;wBAA4B;MAApI,wBAAqI,+EAAE,MAQ/I,kZAA0G,iDAvVrG,oBAAuB,iBAA5B,YAAqI,EAAhI,SAAuB,GAiDvB,mBAAsB,iBAA3B,YAA2E,EAAtE,SAAsB,GAiDtB,mBAAqB,gBAA1B,aAA6E,EAAxE,SAAqB,GAiJrB,mBAAmB,cAAxB,aAA0D,EAArD,SAAmB,GAgD6B,qBAAkB,EAA3D,mBAA+B,oBAA3C,aAAwE,EAAnB,SAAkB,EAA3D,SAA+B,GAWQ,qBAAkB,EAAzD,mBAAsC,2BAAlD,aAAoG,EAAjD,SAAkB,EAAzD,SAAsC,GAC9B,iBAAY,EAAC,+BAAyB,EACtC,+GAAiG,GAAC,qBAAa,EAAC,sBAAgB,EAAqB,qBAAiB,EAArC,sBAAmB,EADtK,aACqO,EADnN,SAAY,EAAC,SAAyB,EACtC,UAAiG,EAAC,UAAa,EAAC,UAAgB,EAAqB,UAAiB,EAArC,UAAmB,GAKvH,sBAAkB,EAAvD,oBAAoC,yBAAhD,aAAgG,EAA/C,UAAkB,EAAvD,UAAoC,GAiBV,sBAAkB,EAA5C,oBAAyB,cAArC,aAA0E,EAApC,UAAkB,EAA5C,UAAyB,GAiBK,oBAAuB,kBAAjE,aAA0G,EAAhE,UAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzVuB;AACjD;AAC2B;AAGlB;AACP;AAGqB;AACrB;AAEqC;AACZ;AACR;AAG5D,IAAY,KAOX;AAPD,WAAY,KAAK;IACf,uCAAO;IACP,uCAAO;IACP,yCAAQ;IACR,mCAAK;IACL,+CAAW;IACX,iCAAI;AACN,CAAC,EAPW,KAAK,KAAL,KAAK,QAOhB;AACkE;AACM;AACzE;IAoEE,iCAAoB,qBAAsC,EAAU,MAAc,EAAU,eAAgC,EAAU,WAAwB,EACpJ,SAAgC,EAAU,MAAqB,EAAS,oBAA0C;QADxG,0BAAqB,GAArB,qBAAqB,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAa;QACpJ,cAAS,GAAT,SAAS,CAAuB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QA9D5H,mBAAc,GAAY,KAAK,CAAC;QAChC,gBAAW,GAAY,KAAK,CAAC;QAC7B,gBAAW,GAAY,KAAK,CAAC;QAC7B,gBAAW,GAAY,KAAK,CAAC;QAC7B,sBAAiB,GAAY,KAAK,CAAC;QACnC,6BAAwB,GAAY,KAAK,CAAC;QAC1C,gBAAW,GAAY,KAAK,CAAC;QAK7B,eAAU,GAAG,EAAE,CAAC;QAChB,YAAO,GAAG,EAAE,CAAC;QACb,uBAAkB,GAAG,EAAE,CAAC;QACxB,cAAS,GAAY,KAAK,CAAC;QAC3B,sBAAiB,GAAY,KAAK,CAAC;QACnC,aAAQ,GAAY,KAAK,CAAC;QAC1B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAe,EAAE,CAAC;QAEhC,mBAAc,GAAuB,IAAI,KAAK,EAAe,CAAC;QAC9D,gBAAW,GAAuB,IAAI,KAAK,EAAe,CAAC;QAC3D,uBAAkB,GAAuB,IAAI,KAAK,EAAe,CAAC;QAClE,gBAAW,GAAuB,IAAI,KAAK,EAAe,CAAC;QAC3D,mBAAc,GAAuB,IAAI,KAAK,EAAe,CAAC;QAC9D,uBAAkB,GAAuB,IAAI,KAAK,EAAe,CAAC;QAClE,gCAA2B,GAAW,EAAE,CAAC;QACzC,yBAAoB,GAAW,EAAE,CAAC;QAClC,iBAAY,GAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QAC1E,cAAS,GAAqB,EAAE,CAAC;QACjC,cAAS,GAAW,EAAE,CAAC;QACvB,kBAAa,GAAW,EAAE,CAAC;QAC3B,cAAS,GAAY,KAAK,CAAC;QAC3B,2BAAsB,GAAY,KAAK,CAAC;QACxC,cAAS,GAAW,CAAC,CAAC,CAAC;QACvB,cAAS,GAAW,EAAE,CAAC;QACvB,+BAA0B,GAAG,EAAE,CAAC;QAChC,eAAU,GAAW,EAAE,CAAC;QACxB,oBAAe,GAAmB,EAAE,CAAC;QACrC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,sBAAiB,GAAG,EAAE,CAAC;QACvB,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAG1C,UAAK,GAAa,IAAI,0DAAQ,EAAE,CAAC;QAIjC,uBAAkB,GAAW,CAAC,CAAC;QAG/B,cAAS,GAAY,IAAI,CAAC;QAAC,iBAAY,GAAW,KAAK,CAAC;QAM1B,oBAAe,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3D,oBAAe,GAAY,KAAK,CAAC;QAG/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc;YACjB,6CAA0C,CAAC;IAC/C,CAAC;IATc,CAAC;IAWhB,0CAAQ,GAAR;QACE,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IACD,0DAAwB,GAAxB;QAAA,iBAQC;QAPC,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC/F,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACrB,OAAO,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,6CAAW,GAAX;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;SACjD;IACH,CAAC;IACD,kDAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;YACnO,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI;YAC9I,8KAA8K;YAC9K,yFAAyF;SAC1F,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QAGF,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,qFAAmB;SAClC,CAAC;QAAA,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,kDAAgB,GAAhB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,UAAU,GAAG;YACnB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7C;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;aACxE;YACD;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;gBACrE,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAAE,OAAO,QAAQ;qBAAE;yBACxC;wBAAE,OAAO,MAAM,CAAC,KAAK;qBAAE;gBAC9B,CAAC;gBACD,SAAS,EAAE,UAAU,MAAM;oBACzB,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;yBAAM;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBAC7G,CAAC;aACF;YACD;gBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK;aAEvF;YACD;gBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAC,YAAY,YAAC,MAAM;oBAC3E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,iDAAiD,CAAC;oBACnE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC/B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACA;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAC,YAAY,YAAC,MAAM;oBAChF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,gDAAgD,CAAC;oBACjE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAChE,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IACD,kDAAgB,GAAhB,UAAiB,KAAK;QAAtB,iBAOC;QANC,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC3F,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACrB,OAAO,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IACF,kDAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;aACI;YACH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;IACH,CAAC;IACD,sCAAI,GAAJ;QACE,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9C,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACtD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;IAC7E,CAAC;IACD,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;YACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;aACrE;YACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAG;gBAC7B,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gBACxB,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;YACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;aACrE;YACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAG;gBAC7B,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gBACxB,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;YAC9B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;aAChE;YACH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAG;gBAC1B,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gBACxB,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC;YACrC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;aAC7E;YACH,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAG;gBACjC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gBACxB,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;YAC9B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAC/D;YACH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAG;gBAC1B,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gBACxB,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;QAEF,6BAA6B;QAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,8DAA4B,GAA5B,UAA6B,MAAM;QACjC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC7B,4BAA4B;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAE3B,CAAC;IAED,oDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,SAAS,EAAnB,CAAmB,CAAC,EAAE;gBAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,IAAI,SAAS,EAAd,CAAc,CAAC,CAAC;aACzD;SACF;IAEH,CAAC;IAED,oDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,SAAS,EAAnB,CAAmB,CAAC,EAAE;gBAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,IAAI,SAAS,EAAd,CAAc,CAAC,CAAC;aACzD;SACF;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;YACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IACD,iDAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,0DAAwB,GAAxB,UAAyB,KAAK;QAC5B,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,iDAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,gDAAc,GAAd,UAAe,KAAK;QAClB,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,gEAA8B,GAA9B,UAA+B,OAA2B,EAAE,KAAY;QAAxE,iBA0BC;QAxBC,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC9E,KAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;gBAClC,KAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,aAAG;oBAClC,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO,EAAE;wBAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;qBAC5K;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAE/B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC9E,KAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;gBAElC,KAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,aAAG;oBAClC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7K,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3K,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAA1C,CAA0C,CAAC,CAAC;IAErE,CAAC;IAGD,iEAA+B,GAA/B,UAAgC,OAA2B,EAAE,KAAY;QAEvE,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3K,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACvK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACzK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACrK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAChK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACvK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9K,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACpK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACpK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAClK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3K,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACrK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACvK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAEnK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAClK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACtL,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACtK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACxL,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACtK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACxL,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACxK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;SAE1L;aAAM,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAEjC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/K,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3K,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3K,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACvK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3K,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACvK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACpK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACpK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAClK,sLAAsL;YACtL,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5K,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5K,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACtL,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACxJ,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACpL,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACtL,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAClK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9J,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACvL,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;SAC1K;aACI,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACzK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAChK,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;SAChL;IACH,CAAC;IAED,2DAAyB,GAAzB,UAA0B,KAAK;QAE7B,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,mDAAmD;QAEnD,4BAA4B;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,2DAAyB,GAAzB,UAA0B,KAAK;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC1B,4BAA4B;IAC7B,CAAC;IAED,qDAAmB,GAAnB,UAAoB,KAAK;QACvB,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,IAAI,mBAAmB,GAAW,eAAe,CAAC;QAClD,IAAI,UAAU,GAAW,GAAG,CAAC;QAC7B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,OAA2B,CAAC;QAChC,IAAI,GAAW,CAAC;QAChB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAEpC,IAAI,CAAC,oBAAoB,IAAI,qBAAqB,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,MAAM,GAAG,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,MAAM,IAAI,EAAE,EAAE;oBAChB,IAAI,OAAO,GAAW,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACxD,IAAI,cAAc,GAAW,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAElE,UAAU,IAAI,OAAO,CAAC;oBAEtB,IAAI,cAAc,IAAI,IAAI;wBACxB,UAAU,IAAI,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,GAAG,CAAC;;wBAE/D,UAAU,IAAI,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC;oBACrC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;wBACnC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC;aACF;SACF;QACD,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS;YAE/C,IAAI,CAAC,oBAAoB,IAAI,qBAAqB,CAAC;YAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,MAAM,GAAG,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,MAAM,IAAI,EAAE,EAAE;oBAChB,IAAI,OAAO,GAAW,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACxD,IAAI,cAAc,GAAW,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAElE,UAAU,IAAI,OAAO,CAAC;oBAEtB,IAAI,cAAc,IAAI,IAAI;wBACxB,UAAU,IAAI,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,cAAc,GAAG,GAAG,CAAC;;wBAE9D,UAAU,IAAI,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC;oBAErC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;wBACnC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChC;aACF;SACF;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAClE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,mBAAmB,IAAI,4FAA4F,GAAG,WAAW,CAAC,EAAE,CAAC;SACtI;aACI,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpE,mBAAmB,IAAI,0CAA0C,GAAG,WAAW,CAAC,EAAE,CAAC;SACpF;aACI,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpE,mBAAmB,IAAI,0CAA0C,GAAG,WAAW,CAAC,EAAE,CAAC;SACpF;QAGD,IAAI,OAAO,GAAG,aAAa,CAAC;QAC5B,mBAAmB,IAAI,UAAU,CAAC;QAClC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;YACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;SACvE;QACD,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;QAC7D,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEhC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,oDAAkB,GAAlB;QACE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,GAAG,KAAK,CAAC;IAC7D,CAAC;IAED,8CAAY,GAAZ;QACE,0BAA0B;QAC1B,qCAAqC;QACrC,UAAU;QACR,IAAI,IAAI,CAAC,UAAU,IAAI,gBAAgB,EAAE;YACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;QACD,UAAU,CAAC;YACT,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+HAA+H,CAAC,CAAC;QAEnK,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,GAAG;QACH,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YAClF,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE;gBAC1C,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;aAC7d;iBACI,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,EAAE;gBAClD,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5U,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;aAClE;iBAEI,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,EAAE;gBAClD,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;aAC5M;iBACI,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE;gBACjD,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;aACnd;iBACI,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,gBAAgB,EAAE;gBACxD,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;aAC9L;iBACI,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE;gBAC7C,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;aAC5f;iBACI,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,EAAE;gBAClD,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;aACtf;iBACI,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,cAAc,EAAE;gBACtD,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;aACzR;iBACI;gBACH,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC9E;SACF;IACH,CAAC;IAED,sDAAoB,GAApB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sJAAsJ,CAAC,CAAC;QAErL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,wDAAsB,GAAtB;QACE,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACnD,CAAC;IACD,8CAAY,GAAZ,UAAa,WAAmB,EAAE,QAAiB,EAAE,UAAkB;QAErE,IAAI,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAEpF,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;gBAChF,IAAI,QAAQ;oBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,WAAa,CAAC,CAAC;qBACxE;oBACH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;wBACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1E,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;oBAC9C,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC;oBAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;iBAC/C;aACF;iBAAM,IAAI,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;gBAC9F,IAAI,QAAQ;oBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAgC,WAAa,CAAC,CAAC;qBACtE;oBACH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;wBACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1E,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;oBAC9C,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC;oBAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;iBAC/C;aACF;SAEF;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC3F,IAAI,WAAW,IAAI,EAAE,EAAE;gBACrB,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;oBAChF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mCAAiC,WAAa,CAAC,CAAC;iBAC3E;qBAEI,IAAI,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;oBAC5F,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mCAAiC,WAAa,CAAC,CAAC;iBAC3E;aACF;iBAAM;gBACL,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;oBAChF,IAAI,QAAQ;wBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;yBACzD;wBACH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;4BACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC1E,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;wBAC9C,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC;wBAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;qBAC/C;iBACF;qBAAM,IAAI,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;oBAC9F,IAAI,QAAQ;wBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAwB,WAAa,CAAC,CAAC;yBAC9D;wBACH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;4BACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC1E,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;wBAC9C,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC;wBAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;qBAC/C;iBACF;aACF;SACF;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC1F,IAAI,QAAQ;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gDAA8C,WAAa,CAAC,CAAC;iBACpF;gBACH,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;oBAC9B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpE,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;gBAEjD,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC;gBAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC;aAC5C;SACF;aAEI,IAAI,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAE/F,IAAI,QAAQ;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6CAA2C,WAAW,UAAO,CAAC,CAAC;iBACtF;gBACH,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC;oBACrC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;gBAClF,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAC;gBAClD,IAAI,CAAC,2BAA2B,GAAG,eAAe,CAAC;gBACnD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;aACnD;SAEF;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YACvF,IAAI,QAAQ;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAmC,WAAa,CAAC,CAAC;iBACzE;gBACH,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;oBAC9B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrE,IAAI,CAAC,oBAAoB,GAAG,4BAA4B,CAAC;gBAEzD,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC;aAC5C;SAEF;aACI,IAAI,UAAU,IAAI,SAAS,EAAE;YAChC,IAAI,QAAQ;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,WAAa,CAAC,CAAC;iBACxE;gBACH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;oBACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1E,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;gBAC9C,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC;gBAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;aAC/C;SACF;aACI,IAAI,UAAU,IAAI,SAAS,EAAE;YAChC,IAAI,QAAQ;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAgC,WAAa,CAAC,CAAC;SAE5E;aAAM,IAAI,UAAU,IAAI,OAAO,EAAE;YAChC,IAAI,QAAQ;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAmC,WAAa,CAAC,CAAC;SAE/E;aACI,IAAI,UAAU,IAAI,aAAa,EAAE;YACpC,IAAI,QAAQ;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6CAA2C,WAAW,UAAO,CAAC,CAAC;SAE5F;aACI,IAAI,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,QAAQ;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gDAA8C,WAAa,CAAC,CAAC;SAE1F;aACI;YACH,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI;gBAC7F,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE1C,2CAA2C;YAC3C,IAAI,QAAQ;gBACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBACvC;gBACH,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;oBAC9B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrE,IAAI,CAAC,oBAAoB,GAAG,4BAA4B,CAAC;gBAEzD,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC3C,IAAI;aACL;SAGF;IACH,CAAC;IAED,2DAAyB,GAAzB,UAA0B,KAAK;QAA/B,iBAqeC;QApeC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAG;YAC7B,IAAI,GAAG,CAAC,UAAU,EAAE;gBAClB,IAAI,GAAG,CAAC,UAAU,KAAK,YAAY,EAAE;oBACnC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wBAClG,WAAW,CAAC,OAAO,CAAC,cAAI;4BACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAC;oBAEL,CAAC,CAAC,CAAC;oBAEH,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;wBACvB,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;iBAC3C;qBACI,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE;oBACtC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wBACrE,WAAW,CAAC,OAAO,CAAC,cAAI;4BACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAC;oBAEL,CAAC,CAAC,CAAC;oBAEH,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;wBACvB,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;iBAC3C;qBACI;oBACH,IAAI,GAAG,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;oBACnF,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,EAAE;wBACpF,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;4BACzH,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE;gCACnC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gCAExB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oCAC5F,WAAW,CAAC,OAAO,CAAC,cAAI;wCACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oCACpE,CAAC,CAAC,CAAC;gCAEL,CAAC,CAAC,CAAC;6BAEJ;iCACI,IAAI,GAAG,CAAC,UAAU,IAAI,gBAAgB,EAAE;gCAC3C,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gCACxB,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;oCAE1G,cAAc,CAAC,OAAO,CAAC,cAAI;wCACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4CAC5C,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gDACtC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;6CACzF;yCACF;oCACH,CAAC,CAAC,CAAC;gCACL,CAAC,CAAC,CAAC;6BAGJ;iCACI,IAAI,GAAG,CAAC,UAAU,IAAI,WAAW,EAAE;gCACtC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gCACxB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oCACjG,WAAW,CAAC,OAAO,CAAC,cAAI;wCACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oCACpE,CAAC,CAAC,CAAC;gCAEL,CAAC,CAAC,CAAC;6BAEJ;iCAAM,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,EAAE;gCAC9C,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gCACtB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,yBAAyB,EAAE,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oCACvG,WAAW,CAAC,OAAO,CAAC,cAAI;wCACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oCACpE,CAAC,CAAC,CAAC;gCAEL,CAAC,CAAC,CAAC;6BAAC;iCACD,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,EAAE;gCACrF,IAAI,IAAI,GAAG,KAAK,CAAC;gCACjB,IAAI,OAAO,GAAG,CAAC,CAAC;gCAChB,QAAQ,GAAG,CAAC,UAAU,EAAE;oCACtB,KAAK,KAAK,CAAC,CAAC;wCACV,IAAI,GAAG,aAAa,CAAC;wCACrB,OAAO,GAAG,EAAE,CAAC;wCACb,MAAM;qCACP;oCACD,KAAK,IAAI,CAAC,CAAC;wCACT,IAAI,GAAG,YAAY,CAAC;wCACpB,OAAO,GAAG,EAAE,CAAC;wCACb,MAAM;qCACP;oCACD,KAAK,KAAK,CAAC,CAAC;wCACV,IAAI,GAAG,aAAa,CAAC;wCACrB,OAAO,GAAG,EAAE,CAAC;wCACb,MAAM;qCACP;iCAEF;gCACD,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gCACxB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oCACxF,WAAW,CAAC,OAAO,CAAC,cAAI;wCACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oCACpE,CAAC,CAAC,CAAC;gCAEL,CAAC,CAAC,CAAC;6BACJ;iCACI,IAAI,GAAG,CAAC,UAAU,IAAI,kBAAkB,IAAI,GAAG,CAAC,UAAU,IAAI,iBAAiB,IAAI,GAAG,CAAC,UAAU,IAAI,kBAAkB,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,EAAE;gCACjK,cAAc,CAAC,OAAO,CAAC,aAAG;oCACxB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,cAAc,EAAE;wCACrE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC;qCAC9J;yCACI;wCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4CAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yCACpE;qCACF;gCACH,CAAC,CAAC,CAAC;6BACJ;iCACI,IAAI,GAAG,CAAC,UAAU,IAAI,SAAS,EAAE;gCACpC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gCACxB,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oCACvE,KAAK,CAAC,OAAO,CAAC,aAAG;wCACf,IAAI,GAAG,IAAI,IAAI,EAAE;4CACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;yCAChE;6CACI;4CACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;gDAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;6CACpE;yCACF;oCAEH,CAAC,CAAC,CAAC;gCACL,CAAC,CAAC,CAAC;6BACJ;iCACI,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,EAAE;gCACzC,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;oCAClE,IAAI,aAAa,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC;oCAC9E,IAAI,MAAM,GAAG,EAAE,CAAC;oCAChB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,MAAM,EAAzB,CAAyB,CAAC,CAAC,CAAC;oCAChE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,MAAM,EAAzB,CAAyB,CAAC,CAAC,CAAC;oCAGhE,cAAc,CAAC,OAAO,CAAC,aAAG;wCAGxB,kDAAkD;wCAClD,kJAAkJ;wCAElJ,GAAG;wCACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4CACtC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAlD,CAAkD,CAAC,EAAE,CAAC,CAAC;yCAE5M;oCAEH,CAAC,CAAC,CAAC;gCACL,CAAC,CAAC,CAAC;6BACJ;iCACI;gCACH,cAAc,CAAC,OAAO,CAAC,aAAG;oCACxB,IAAI,GAAG,IAAI,IAAI,EAAE;wCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;qCACrD;yCACI;wCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4CAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yCACpE;qCACF;gCACH,CAAC,CAAC,CAAC;6BACJ;4BAGD,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;gCACvB,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC;qBACJ;yBACI,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa;2BACvI,GAAG,CAAC,UAAU,IAAI,aAAa,IAAI,GAAG,CAAC,UAAU,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE;wBACvG,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,GAAG,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;4BAC/H,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;4BACxB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,EAAE;gCAClC,cAAc,CAAC,OAAO,CAAC,aAAG;oCACxB,IAAI,GAAG,IAAI,IAAI,EAAE;wCACf,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,EAAE;4CAClC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;4CACxB,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gDAChF,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gDACxB,cAAc,CAAC,OAAO,CAAC,cAAI;oDACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDACpC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;4DAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;yDACzE;qDACF;gDACH,CAAC,CAAC,CAAC;4CACL,CAAC,CAAC,CAAC;4CACH,sDAAsD;yCACvD;6CAAM,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAE;4CACrC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;yCACrD;6CAAM;4CACL,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yCACnE;qCACF;yCACI;wCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4CAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yCACpE;qCACF;gCACH,CAAC,CAAC,CAAC;6BACJ;iCAAM;gCACL,cAAc,CAAC,OAAO,CAAC,aAAG;oCACxB,IAAI,GAAG,IAAI,IAAI,EAAE;wCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;qCACrD;yCACI;wCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4CAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yCACpE;qCACF;gCACH,CAAC,CAAC,CAAC;6BACJ;4BACD,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;gCACvB,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC;qBACJ;yBACI;wBACH,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,4BAA4B,EAAE,GAAG,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;4BACxI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,EAAE;gCAClC,cAAc,CAAC,OAAO,CAAC,aAAG;oCACxB,IAAI,GAAG,IAAI,IAAI,EAAE;wCACf,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,EAAE;4CAClC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gDAC5F,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;4CAE9E,CAAC,CAAC,CAAC;yCACJ;6CACI,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,EAAE;4CACvC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gDAC5F,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gDACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDACzC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iDACzF;4CACL,CAAC,CAAC,CAAC;yCACJ;6CACI,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,EAAE;4CACzC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gDAC9F,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gDACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDAC3C,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iDACvF;4CACH,CAAC,CAAC,CAAC;yCACJ;6CACI,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE;4CACxC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gDAC7F,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gDACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDAC3C,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iDACvF;4CACH,CAAC,CAAC,CAAC;yCACJ;6CACI,IAAI,GAAG,CAAC,UAAU,IAAI,UAAU,EAAE;4CACrC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gDAC1F,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gDACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDAC3C,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iDACvF;4CACH,CAAC,CAAC,CAAC;yCACJ;6CACI,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,EAAE;4CAC1C,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gDAC/F,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gDACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDAC3C,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iDACvF;4CACH,CAAC,CAAC,CAAC;yCACJ;6CACI,IAAI,GAAG,CAAC,UAAU,IAAI,MAAM,EAAE;4CACjC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gDACtF,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gDACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDAC3C,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iDACvF;4CACH,CAAC,CAAC,CAAC;yCACJ;6CAAM,IAAI,GAAG,CAAC,UAAU,IAAI,MAAM,EAAE;4CACnC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gDACtF,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gDACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDAC3C,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iDACvF;4CACH,CAAC,CAAC,CAAC;yCACJ;6CACI;4CACH,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yCACnE;qCACF;yCACI;wCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4CAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yCACpE;qCACF;gCACH,CAAC,CAAC,CAAC;6BACJ;iCAAM;gCACL,cAAc,CAAC,OAAO,CAAC,aAAG;oCACxB,IAAI,GAAG,IAAI,IAAI,EAAE;wCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;qCACrD;yCACI;wCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4CAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yCACpE;qCACF;gCACH,CAAC,CAAC,CAAC;6BACJ;4BAID,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;gCACvB,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC;qBACJ;iBAEF;aACF;;gBAEC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;QAE5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAG;YAC7B,IAAI,GAAG,CAAC,UAAU,EAAE;gBAClB,IAAI,GAAG,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;gBACnF,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE;oBAE9C,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;wBACzH,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,EAAE;4BACpC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;4BACxB,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gCACxF,UAAU,CAAC,OAAO,CAAC,eAAK;oCACtB,IAAI,KAAK,IAAI,IAAI,EAAE;wCACjB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qCACpE;yCACI;wCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4CAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yCACpE;qCACF;gCACH,CAAC,CAAC;4BACJ,CAAC,CAAC,CAAC;yBACJ;6BACI,IAAI,GAAG,CAAC,UAAU,IAAI,SAAS,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,IAAI,WAAW,IAAI,GAAG,CAAC,UAAU,IAAI,WAAW;+BACtK,GAAG,CAAC,UAAU,IAAI,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO;+BACzJ,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAE;4BAC/B,IAAI,QAAQ,GAAG,iBAAiB,CAAC;4BACjC,IAAI,OAAO,GAAG,CAAC,CAAC;4BAChB,QAAQ,GAAG,CAAC,UAAU,EAAE;gCACtB,KAAK,SAAS;oCAAE;wCACd,QAAQ,GAAG,iBAAiB,CAAC;wCAAC,OAAO,GAAG,EAAE,CAAC;wCAC3C,MAAM;qCACP;oCAAA,CAAC;gCACF,KAAK,aAAa;oCAAE;wCAClB,QAAQ,GAAG,cAAc,CAAC;wCAC1B,OAAO,GAAG,EAAE,CAAC;wCACb,MAAM;qCACP;oCAAA,CAAC;gCACF,KAAK,YAAY;oCAAE;wCACjB,QAAQ,GAAG,oBAAoB,CAAC;wCAAC,OAAO,GAAG,GAAG,CAAC;wCAC/C,MAAM;qCACP;oCAAA,CAAC;gCACF,KAAK,WAAW;oCAAE;wCAChB,QAAQ,GAAG,wBAAwB,CAAC;wCAAC,OAAO,GAAG,GAAG,CAAC;wCACnD,MAAM;qCACP;oCAAA,CAAC;gCACF,KAAK,WAAW;oCAAE;wCAChB,QAAQ,GAAG,mBAAmB,CAAC;wCAAC,OAAO,GAAG,GAAG,CAAC;wCAC9C,MAAM;qCACP;oCAAA,CAAC;gCACF,KAAK,QAAQ,CAAC,CAAC;oCACb,QAAQ,GAAG,gBAAgB,CAAC;oCAAC,OAAO,GAAG,EAAE,CAAC;oCAC1C,MAAM;iCACP;gCACD,KAAK,YAAY,CAAC,CAAC;oCACjB,QAAQ,GAAG,oBAAoB,CAAC;oCAAC,OAAO,GAAG,EAAE,CAAC;oCAC9C,MAAM;iCACP;gCACD,KAAK,eAAe,CAAC,CAAC;oCACpB,QAAQ,GAAG,uBAAuB,CAAC;oCAAC,OAAO,GAAG,EAAE,CAAC;oCACjD,MAAM;iCACP;gCACD,KAAK,KAAK;oCAAE;wCACV,QAAQ,GAAG,aAAa,CAAC;wCAAC,OAAO,GAAG,EAAE,CAAC;wCACvC,MAAM;qCACP;oCAAA,CAAC;gCACF,KAAK,OAAO;oCAAE;wCACZ,QAAQ,GAAG,eAAe,CAAC;wCAAC,OAAO,GAAG,EAAE,CAAC;wCACzC,MAAM;qCACP;oCAAA,CAAC;gCACF,KAAK,QAAQ;oCAAE;wCACb,QAAQ,GAAG,gBAAgB,CAAC;wCAC5B,OAAO,GAAG,EAAE,CAAC;wCACb,MAAM;qCACP;oCAAA,CAAC;6BAGH;4BACD,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;4BACxB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gCAC5F,WAAW,CAAC,OAAO,CAAC,cAAI;oCACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gCACpE,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;yBAEJ;6BACI,IAAI,GAAG,CAAC,UAAU,IAAI,SAAS,EAAE;4BACpC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;4BACxB,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gCACvE,KAAK,CAAC,OAAO,CAAC,aAAG;oCACf,IAAI,GAAG,IAAI,IAAI,EAAE;wCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;qCAC/D;yCACI;wCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4CAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yCACpE;qCACF;gCAEH,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;yBACJ;6BACI;4BACH,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;4BACxB,cAAc,CAAC,OAAO,CAAC,aAAG;gCACxB,IAAI,GAAG,IAAI,IAAI,EAAE;oCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;iCACpD;qCAAM;oCACL,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;wCAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;qCACpE;iCACF;4BACH,CAAC,CAAC,CAAC;yBACJ;wBAED,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvB,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBACxC,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,6BAA6B,EAAE,GAAG,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;wBACzI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,EAAE;4BAClC,cAAc,CAAC,OAAO,CAAC,aAAG;gCACxB,IAAI,GAAG,IAAI,IAAI,EAAE;oCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iCACnE;qCAAM;oCACL,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;wCAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;qCACrE;iCACF;4BACH,CAAC,CAAC,CAAC;yBACJ;6BACI;4BACH,cAAc,CAAC,OAAO,CAAC,aAAG;gCACxB,IAAI,GAAG,IAAI,IAAI,EAAE;oCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;iCACrD;qCAAM;oCACL,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;wCAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;qCACrE;iCACF;4BACH,CAAC,CAAC,CAAC;yBACJ;wBAID,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvB,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBACxC,CAAC,CAAC,CAAC;iBACJ;aAGF;;gBACC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAIH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC1B,6BAA6B;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAG5B,CAAC;IACD,oDAAkB,GAAlB,UAAmB,KAAK,EAAE,IAAI,EAAE,GAAG;QAAnC,iBA2GC;QA1GC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3L,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAG;YAE7B,IAAI,GAAG,CAAC,UAAU,EAAE;gBAClB,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;gBACxB,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;oBACzH,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,EAAE;wBACpC,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;4BACxF,UAAU,CAAC,OAAO,CAAC,eAAK;gCACtB,IAAI,KAAK,IAAI,IAAI,EAAE;oCACjB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;iCACxC;4BACH,CAAC,CAAC;wBACJ,CAAC,CAAC,CAAC;qBACJ;yBAAM,IAAI,GAAG,CAAC,UAAU,IAAI,SAAS,EAAE;wBACtC,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;4BACvE,KAAK,CAAC,OAAO,CAAC,aAAG;gCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;4BAEjE,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;qBACJ;yBACI,IAAI,GAAG,CAAC,UAAU,IAAI,SAAS,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,IAAI,WAAW,IAAI,GAAG,CAAC,UAAU,IAAI,WAAW;2BACtK,GAAG,CAAC,UAAU,IAAI,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO;2BACzJ,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAE;wBAC/B,IAAI,QAAQ,GAAG,iBAAiB,CAAC;wBACjC,QAAQ,GAAG,CAAC,UAAU,EAAE;4BACtB,KAAK,SAAS;gCAAE;oCACd,QAAQ,GAAG,iBAAiB,CAAC;oCAC7B,MAAM;iCACP;gCAAA,CAAC;4BACF,KAAK,aAAa;gCAAE;oCAClB,QAAQ,GAAG,cAAc,CAAC;oCAC1B,MAAM;iCACP;gCAAA,CAAC;4BACF,KAAK,YAAY;gCAAE;oCACjB,QAAQ,GAAG,wBAAwB,CAAC;oCACpC,MAAM;iCACP;gCAAA,CAAC;4BACF,KAAK,WAAW;gCAAE;oCAChB,QAAQ,GAAG,wBAAwB,CAAC;oCACpC,MAAM;iCACP;gCAAA,CAAC;4BACF,KAAK,WAAW;gCAAE;oCAChB,QAAQ,GAAG,wBAAwB,CAAC;oCACpC,MAAM;iCACP;gCAAA,CAAC;4BACF,KAAK,QAAQ,CAAC,CAAC;gCACb,QAAQ,GAAG,gBAAgB,CAAC;gCAC5B,MAAM;6BACP;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,QAAQ,GAAG,mBAAmB,CAAC;gCAC/B,MAAM;6BACP;4BACD,KAAK,eAAe,CAAC,CAAC;gCACpB,QAAQ,GAAG,mBAAmB,CAAC;gCAC/B,MAAM;6BACP;4BACD,KAAK,KAAK;gCAAE;oCACV,QAAQ,GAAG,aAAa,CAAC;oCACzB,MAAM;iCACP;gCAAA,CAAC;4BACF,KAAK,OAAO;gCAAE;oCACZ,QAAQ,GAAG,eAAe,CAAC;oCAC3B,MAAM;iCACP;gCAAA,CAAC;4BACF,KAAK,QAAQ;gCAAE;oCACb,QAAQ,GAAG,gBAAgB,CAAC;oCAC5B,MAAM;iCACP;gCAAA,CAAC;yBAGH;wBACD,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;wBACxB,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;4BAEjF,cAAc,CAAC,OAAO,CAAC,cAAI;gCACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;wCACjC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qCAC/E;iCACF;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;qBAEJ;yBACI;wBACH,sCAAsC;wBACtC,cAAc,CAAC,OAAO,CAAC,aAAG;4BACxB,IAAI,GAAG,IAAI,IAAI,EAAE;gCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;6BACpD;iCACI;gCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;oCAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;iCACpE;6BACF;wBACH,CAAC,CAAC,CAAC;qBACJ;oBACD,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;wBACvB,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;aACJ;;gBACC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6DAA2B,GAA3B,UAA4B,KAAK;QAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,4BAA4B;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,2DAAyB,GAAzB,UAA0B,KAAK;QAA/B,iBAsfC;QArfC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAChC,IAAI,OAAO,GAAW,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;YACzD,IAAI,SAAS,SAAQ,CAAC;YACtB,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAClE,SAAS,GAAG,gBAAgB,CAAC;YAE7B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtE,IAAI,CAAC,IAAI,CAAC,SAAS;oBACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACxB,SAAS,GAAG,qmCAAqmC,CAAC;aACnnC;iBACI;gBACH,SAAS,IAAI,GAAG,CAAC;aAClB;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,SAAS,GAAG,u7BAAu7B,CAAC;iBACr8B;qBAAM;oBACL,SAAS,IAAI,qDAAqD;iBACnE;aACF;iBACI;gBACH,SAAS,IAAI,GAAG,CAAC;aAClB;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChH,SAAS,IAAI,wEAAwE;aACtF;iBACI;gBACH,SAAS,IAAI,GAAG,CAAC;aAClB;YAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5U,SAAS,IAAI,QAAQ,CAAC;YAEpB,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,EAAE;gBAC7C,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;aAC/C;iBAAM;gBACL,SAAS,IAAI,IAAI,CAAC,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC;aAC9D;YACH,IAAI,YAAU,GAAU,EAAE,CAAC;YAC3B,IAAI,gBAAc,GAAU,EAAE,CAAC;YAC/B,IAAI,UAAQ,GAAU,EAAE,CAAC;YACzB,IAAI,WAAS,GAAU,EAAE,CAAC;YAC1B,IAAI,WAAS,GAAW,EAAE,CAAC;YAC3B,IAAI,WAAS,GAAW,EAAE,CAAC;YAC3B,IAAI,WAAS,GAAW,EAAE,CAAC;YAC3B,IAAI,SAAS,GAAG,EAAE,CAAC;oCACV,CAAC;gBACR,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpD,IAAI,QAAM,GAAW,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC3D,IAAI,QAAM,GAAW,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC3D,IAAI,eAAa,GAAW,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAElE,IAAI,QAAM,IAAI,cAAc,IAAI,QAAM,IAAI,UAAU;wBAClD,QAAM,GAAG,EAAE,CAAC;oBACd,IAAI,QAAM,IAAI,SAAS,EAAE;wBACvB,QAAQ,QAAM,EAAE;4BACd,KAAK,QAAQ,CAAC,CAAC;gCACb,WAAS,GAAG,eAAe,CAAC;gCAC5B,MAAM;6BACP;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,WAAS,GAAG,gBAAgB,CAAC;gCAC7B,MAAM;6BACP;4BACD,KAAK,cAAc,CAAC,CAAC;gCACnB,WAAS,GAAG,cAAc,CAAC;gCAC3B,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,WAAS,GAAG,UAAU,CAAC;gCACvB,MAAM;6BACP;yBACF;wBACD,IAAI,UAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvB,UAAQ,CAAC,OAAO,CAAC,WAAC;gCAChB,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAS,CAAC,EAAE;oCAChF,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EAAE;wCAChD,CAAC,CAAC,WAAW,IAAI,KAAK,GAAG,QAAM,GAAG,IAAI,CAAC;qCACxC;yCACI,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EAAE;wCACrD,IAAI,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,QAAM,GAAG,EAAE,CAAC;wCACpD,IAAI,MAAM,GAAG,WAAW,CAAC;wCACzB,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC;qCACxB;yCACI;wCACH,SAAS,GAAG,GAAG,GAAG,QAAM,GAAG,GAAG,CAAC;qCAChC;iCAEF;gCACD,IAAI,gBAAgB,GAAG,UAAQ,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,WAAS,EAAvB,CAAuB,CAAC,CAAC;gCACnE,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAS,CAAC,EAAE;oCACnG,IAAI,SAAS,GAAG,EAAE,CAAC;oCAEnB,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EAAE;wCAAE,CAAC,CAAC,WAAW,IAAI,KAAK,GAAG,QAAM,GAAG,IAAI,CAAC;qCAAE;yCAExF;wCACH,SAAS,GAAG,EAAE,GAAG,QAAM,GAAG,EAAE,CAAC;qCAC9B;oCAED,UAAQ,CAAC,IAAI,CAAC;wCACZ,QAAQ,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU;wCAC3C,UAAU,EAAE,WAAS;wCACrB,aAAa,EAAE,SAAS;wCACxB,eAAe,EAAE,CAAC,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE;qCAC5F,CAAC,CAAC;iCACJ;4BACH,CAAC,CAAC,CAAC;yBACJ;6BACI;4BACC,SAAS,GAAG,EAAE,CAAC;4BACnB,IAAI,QAAM,IAAI,EAAE,EAAE;gCAChB,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EAChD;oCAAE,SAAS,IAAI,KAAK,GAAG,QAAM,GAAG,IAAI,CAAC;iCAAE;qCAAM;oCAC3C,SAAS,GAAG,QAAM,CAAE;iCACrB;6BACF;4BACC,UAAQ,CAAC,IAAI,CAAC;gCACZ,QAAQ,EAAE,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU;gCAC3C,UAAU,EAAE,WAAS;gCACrB,aAAa,EAAE,SAAS;gCACxB,eAAe,EAAE,eAAa;6BAC/B,CAAC,CAAC;yBACN;qBAEF;iBACF;;+BAhBS,SAAS;YA/DrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;wBAA1C,CAAC;aAgFT;YACD,IAAI,UAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,UAAQ,CAAC,OAAO,CAAC,WAAC;oBAChB,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC;oBACzE,YAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAE9B,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC;oBAC1E,gBAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,CAAC,QAAQ,IAAI,eAAe,EAAE;wBACjC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC3B,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;yBACvF;6BAAM;4BACL,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCAC/B,IAAI,QAAQ,GAAG,EAAE,CAAC;gCACjB,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCACrC,QAAQ,CAAC,OAAO,CAAC,iBAAO;oCACtB,IAAI,OAAO,IAAI,EAAE,EAAE;wCACjB,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;qCAChG;gCACH,CAAC,CAAC,CAAC;6BACJ;iCAAM;gCACL,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;6BACvG;yBACF;qBAGF;yBACI,IAAI,CAAC,CAAC,QAAQ,IAAI,gBAAgB,EAAE;wBACvC,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,EAAE;4BACjF,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;yBAC9F;6BAAM;4BACL,IAAI,GAAG,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAA1B,CAA0B,CAAC,CAAC;4BAC7E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE;gCAC9C,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;6BAChH;iCACI;gCACH,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;6BAC3G;yBACF;qBAEF;yBACI,IAAI,CAAC,CAAC,QAAQ,IAAI,cAAc,EAAE;wBACrC,IAAI,GAAG,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAA1B,CAA0B,CAAC,CAAC;wBAC7E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE;4BAC9C,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;yBAClF;6BACI;4BACH,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;yBAC7E;qBAEF;yBACI,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,EAAE;wBACjC,IAAI,GAAG,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAA1B,CAA0B,CAAC,CAAC;wBAC7E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE;4BAC9C,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;yBAClF;6BACI;4BACH,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;yBAC7E;qBACF;gBAEH,CAAC,CAAC,CAAC;aACJ;YACD,SAAS,IAAI,WAAS,CAAC;YAGvB,WAAS,GAAG,EAAE,CAAC;oCACN,CAAC;gBACR,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpD,IAAI,QAAM,GAAW,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC3D,IAAI,QAAM,GAAW,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC3D,IAAI,eAAa,GAAW,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAClE,IAAI,QAAM,IAAI,cAAc,IAAI,QAAM,IAAI,UAAU;wBAClD,QAAM,GAAG,EAAE,CAAC;oBACd,IAAI,QAAM,IAAI,SAAS,EAAE;wBACvB,QAAQ,QAAM,EAAE;4BACd,KAAK,QAAQ,CAAC,CAAC;gCACb,WAAS,GAAG,eAAe,CAAC;gCAC5B,MAAM;6BACP;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,WAAS,GAAG,gBAAgB,CAAC;gCAC7B,MAAM;6BACP;4BACD,KAAK,cAAc,CAAC,CAAC;gCACnB,WAAS,GAAG,cAAc,CAAC;gCAC3B,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,WAAS,GAAG,UAAU,CAAC;gCACvB,MAAM;6BACP;yBACF;wBACD,IAAI,WAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxB,IAAI,WAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,cAAc,EAA3E,CAA2E,CAAC,EAAE;gCACpG,WAAS,CAAC,OAAO,CAAC,WAAC;oCACjB,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAS,CAAC,EAAE;wCAEhF,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EAAE;4CAChD,CAAC,CAAC,WAAW,IAAI,KAAK,GAAG,QAAM,GAAG,IAAI,CAAC;yCACxC;6CACI,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EACrD;4CACE,IAAI,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,QAAM,GAAG,EAAE,CAAC;4CACpD,IAAI,MAAM,GAAG,WAAW,CAAC,uBAAsB;4CAC/C,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC;yCACxB;6CACI,IAAI,eAAa,IAAI,IAAI,EAAE;4CAC9B,CAAC,CAAC,WAAW,IAAI,GAAG,GAAG,QAAM,CAAC;yCAC/B;6CACI;4CACH,SAAS,GAAG,GAAG,GAAG,QAAM,GAAG,GAAG,CAAC;yCAC9B;qCAEJ;oCACD,IAAI,gBAAgB,GAAG,WAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,WAAS,EAAvB,CAAuB,CAAC,CAAC;oCACpE,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAS,CAAC,EAAE;wCACnG,IAAI,SAAS,GAAG,EAAE,CAAC;wCAEnB,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EAChD;4CAAE,CAAC,CAAC,WAAW,IAAI,KAAK,GAAG,QAAM,GAAG,IAAI,CAAC;yCAAE;6CAEpC;4CACH,SAAS,GAAG,EAAE,GAAG,QAAM,GAAG,EAAE,CAAC;yCAC9B;wCAEH,WAAS,CAAC,IAAI,CAAC;4CACb,QAAQ,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU;4CAC3C,UAAU,EAAE,WAAS;4CACrB,aAAa,EAAE,SAAS;4CACxB,eAAe,EAAE,eAAa,CAAC,+EAA+E;yCAC/G,CAAC,CAAC;qCACJ;gCACH,CAAC,CAAC,CAAC;6BACJ;iCACI;gCACC,SAAS,GAAG,EAAE,CAAC;gCACnB,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EAAE;oCAChD,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,cAAc,EAAE;wCACvD,SAAS,GAAG,QAAM,CAAC;qCACpB;yCAAM;wCACL,SAAS,GAAG,IAAI,GAAG,QAAM,GAAG,IAAI,CAAC;qCAClC;iCACF;qCACI,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EAAE;oCACjD,WAAW,GAAG,QAAM,CAAC;oCACrB,MAAM,GAAG,WAAW,CAAC,uBAAsB;oCAC/C,SAAS,GAAG,MAAM,CAAC;iCACpB;qCAAM;oCACL,SAAS,GAAG,QAAM,CAAC;iCACpB;gCAED,WAAS,CAAC,IAAI,CAAC;oCACb,QAAQ,EAAE,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU;oCAC3C,UAAU,EAAE,WAAS;oCACrB,aAAa,EAAE,SAAS;oCACxB,eAAe,EAAE,eAAa,gFAA+E;iCAC9G,CAAC,CAAC;6BACJ;yBAEF;6BACI;4BACH,IAAI,eAAa,IAAI,KAAK,IAAI,QAAM,IAAI,QAAQ,EAChD;gCACE,SAAS,GAAG,QAAM,CAAC;6BACpB;iCACI,IAAI,eAAa,IAAI,IAAI,EAAE;gCAC9B,SAAS,GAAG,QAAM,CAAC;6BACpB;iCACI;gCACD,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,aAAa,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,OAAO,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,OAAO,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,aAAa,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,aAAa,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,kBAAkB,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,iBAAiB,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,kBAAkB,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,eAAe,EAAE;oCACj0B,SAAS,GAAG,IAAI,GAAG,QAAM,GAAG,IAAI,CAAC;iCAAC;qCAC/B;oCACH,SAAS,GAAG,QAAM,CAAC,CAAC,uBAAuB;iCAC5C;6BACF;4BACD,WAAS,CAAC,IAAI,CAAC;gCACb,QAAQ,EAAE,OAAK,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU;gCAC3C,UAAU,EAAE,WAAS;gCACrB,aAAa,EAAE,SAAS;gCACxB,eAAe,EAAE,eAAa;6BAC/B,CAAC,CAAC;yBACJ;qBAIF;iBAEF;;+BApDW,SAAS,EASP,WAAW,EACX,MAAM;YA/EtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;wBAA1C,CAAC;aA0HT;YACD,IAAI,WAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,WAAS,CAAC,OAAO,CAAC,WAAC;oBACjB,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC;oBACzE,YAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC9B,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC;oBAC1E,gBAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,CAAC,QAAQ,IAAI,eAAe,EAAE;wBACjC,IAAI,CAAC,CAAC,MAAM,IAAI,cAAc,EAAE;4BAC9B,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC;4BACzC,WAAS,IAAI,wEAAwE,GAAG,CAAC,CAAC,WAAW,GAAG,uHAAuH;gCAC7N,sNAAsN;gCACtN,kVAAkV,CAAC;yBACtV;6BACI,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,gBAAgB,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK;+BACpiB,CAAC,CAAC,MAAM,IAAI,kBAAkB,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,iBAAiB,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,kBAAkB,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,kBAAkB,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE;4BAClQ,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,EAAE;gCAC3B,WAAS,IAAK,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;6BAC9E;iCAAM;gCACL,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oCAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCACxC,QAAQ,CAAC,OAAO,CAAC,iBAAO;wCACtB,IAAI,OAAO,IAAI,EAAE,EAAE;4CACjB,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;yCAC7E;oCACH,CAAC,CAAC,CAAC;iCACJ;qCAAM;oCACL,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE;wCACvB,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;qCACnF;iCACF;6BACF;yBACF;6BAAM,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa;+BAC1I,CAAC,CAAC,MAAM,IAAI,aAAa,EAAE;4BAC9B,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;yBACpF;6BACI;4BACH,IAAI,GAAG,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAA1B,CAA0B,CAAC,CAAC;4BAC7E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE;gCAC9C,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,EAAE;oCAC3B,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;iCAC5F;qCAAM;oCACL,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wCAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCACxC,QAAQ,CAAC,OAAO,CAAC,iBAAO;4CACtB,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,aAAa,GAAG,aAAa,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG;wCACzF,CAAC,CAAC,CAAC;qCACJ;yCAAM;wCACL,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;qCAC5F;iCACF;6BACF;iCACI;gCACH,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,EAAE;oCAC3B,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;iCACvF;qCAAM;oCACL,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wCAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCACxC,QAAQ,CAAC,OAAO,CAAC,iBAAO;4CACtB,IAAI,OAAO,IAAE,EAAE;gDACf,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG;wCACpF,CAAC,CAAC,CAAC;qCAEJ;yCAAM;wCACL,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE;4CAAE,WAAS,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;yCAAE;6CACtG;4CACH,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;yCACvF;qCACF;iCACF;6BACF;yBAGF;qBAEF;yBACI,IAAI,CAAC,CAAC,QAAQ,IAAI,gBAAgB,EAAE;wBACvC,IAAI,CAAC,CAAC,MAAM,IAAI,cAAc,EAAE;4BAG9B,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC;4BAEzC,WAAS,IAAI,uEAAuE,GAAG,CAAC,CAAC,WAAW,GAAG,4HAA4H;gCACjO,sNAAsN;gCACtN,kVAAkV,CAAC;yBACtV;6BAAM,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,EAAE;4BACrH,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;yBACvF;6BACI,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa;+BACxI,CAAC,CAAC,MAAM,IAAI,aAAa,EAAE;4BAC9B,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;yBACxF;6BACI;4BACH,IAAI,GAAG,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAA1B,CAA0B,CAAC,CAAC;4BAC7E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE;gCAC9C,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;6BAC5F;iCACI;gCACH,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,eAAe,EAAE;oCACxC,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;iCACvF;qCAAM;oCACL,WAAS,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;iCACnF;6BACF;yBAEF;qBACF;yBACI,IAAI,CAAC,CAAC,QAAQ,IAAI,cAAc,IAAI,CAAC,CAAC,QAAQ,IAAI,aAAa,EAAE;wBAEpE,IAAI,GAAG,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAA1B,CAA0B,CAAC,CAAC;wBAC7E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE;4BAC9C,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa;mCACnI,CAAC,CAAC,MAAM,IAAI,aAAa,EAAE;gCAC9B,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC;6BAC1E;iCAAM;gCACL,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;6BACjF;yBACF;6BAEI;4BACH,IAAI,CAAC,CAAC,QAAQ,IAAI,cAAc,IAAI,CAAC,CAAC,QAAQ,IAAI,aAAa,EAAG;gCAChE,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;6BAClJ;iCAAM;gCACL,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;6BAE5E;yBAEF;qBAEF;yBACI,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,EAAE;wBAEjC,IAAI,GAAG,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAA1B,CAA0B,CAAC,CAAC;wBAC7E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE;4BAC9C,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa;mCACnI,CAAC,CAAC,MAAM,IAAI,aAAa,EAAE;gCAC9B,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;6BACzE;iCAAM;gCACL,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;6BACjF;yBACF;6BACI;4BACH,WAAS,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;yBAC5E;qBAEF;gBAEH,CAAC,CAAC,CAAC;aACJ;YACD,SAAS,IAAI,WAAS,CAAC;YACvB,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC;YAElC,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CACvI,UAAU,IAAI,EAAE,KAAK,EAAE,IAAI;gBACzB,OAAO,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACZ,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,gBAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;gBAC/G,KAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;oBAC/F,OAAO,CAAC,OAAO,CAAC,iBAAO;wBACrB,OAAO,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;oBACjF,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;oBACzB,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBAE3B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,KAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;gBAC5B,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBACzB,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBACzB,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;YACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,2BAA2B;SAC5B;aACI;YACH,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAClC;IACH,CAAC;IAED,6DAA2B,GAA3B,UAA4B,KAAK;QAE/B,IAAI,EAAE,GAAW,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,IAAI,QAAQ,GAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAEnE,IAAI,KAAK,GAAW,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC9C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;aAC7C;SACF;aAAM,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACrC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC9C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;aAC7C;SACF;QACD,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,iDAAe,GAAf,UAAgB,KAAK;QAArB,iBAcC;QAbC,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEzE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjD,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC;YAC7C,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAE1E,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACtD,KAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,mDAAiB,GAAjB,UAAkB,KAAK;QACrB,CAAC,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,mDAAiB,GAAjB,UAAkB,KAAK;QAAvB,iBAuFC;QArFC,IAAI,aAAa,GAAW,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,GAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;QAC5D,IAAI,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;QAEhE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;QAC5D,IAAI,WAAW,GAAa,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,aAAa,GAAa,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;YACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;YACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1E,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,KAAK,GAAW,CAAC,CAAC;QACtB,aAAa,CAAC,OAAO,CAAC,aAAG;YACvB,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,IAAI,GAAG,GAAW,EAAE,CAAC;gBACrB,IAAI,aAAa,GAAa,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC1B,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAClC,GAAG,GAAG,QAAQ,CAAC;iBAChB;qBACI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC9B,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACjC,GAAG,GAAG,QAAQ,CAAC;iBAChB;qBACI,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;oBACxC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAClC,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;oBACjC,GAAG,GAAG,cAAc,CAAC;iBACtB;gBAED,IAAI,aAAa,GAAY,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;gBAErE,IAAI,WAAS,GAAW,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,OAAK,GAAW,aAAa,CAAC,CAAC,CAAC,CAAC;gBACrC,OAAO,OAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC9B,OAAK,GAAG,OAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;iBAChC;gBAED,sBAAsB;gBACtB,IAAI,QAAM,GAAgB,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,WAAS,EAAzB,CAAyB,CAAC,CAAC;gBACnF,QAAM,CAAC,UAAU,GAAG,IAAI,CAAC;gBACzB,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,aAAa,EAAE,QAAM,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;oBAC5H,QAAM,CAAC,cAAc,GAAG,cAAc,CAAC;oBACvC,IAAI,OAAK,IAAI,aAAa;wBACxB,QAAM,CAAC,WAAW,GAAG,OAAK,CAAC;;wBAE3B,QAAM,CAAC,WAAW,GAAG,QAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBACH,QAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;gBAEtB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAExB,IAAI,WAAS,GAAgB,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,WAAS,EAAzB,CAAyB,CAAC,CAAC;gBACtF,WAAS,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,aAAa,EAAE,WAAS,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;oBAE/H,WAAS,CAAC,cAAc,GAAG,cAAc,CAAC;oBAC1C,IAAI,OAAK,IAAI,aAAa;wBACxB,WAAS,CAAC,WAAW,GAAG,OAAK,CAAC;;wBAE9B,WAAS,CAAC,WAAW,GAAG,WAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBACH,WAAS,CAAC,QAAQ,GAAG,GAAG,CAAC;gBAEzB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aAEzB;YAED,KAAK,EAAE,CAAC;QACV,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,4BAA4B;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,4CAAU,GAAV;QACE,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAA7B,CAA6B,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAA7B,CAA6B,CAAC;eAC/H,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAA7B,CAA6B,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAA7B,CAA6B,CAAC;eAC1H,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAA7B,CAA6B,CAAC;YACrE,OAAO,IAAI,CAAC;;YAEZ,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,2CAAS,GAAT,UAAU,KAAK;QAAf,iBAw7BC;QAv7BC,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,OAAO,GAAW,KAAK,CAAC,OAAO,CAAC;YACpC,IAAI,SAAS,GAAW,KAAK,CAAC,SAAS,CAAC;YACxC,IAAI,UAAU,GAAW,KAAK,CAAC,UAAU,CAAC;YAE1C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,IAAI,WAAW,GAAa,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAEvD,IAAI,UAAU,IAAI,SAAS,EAAE;gBAC3B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;oBACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9B;iBACI,IAAI,UAAU,IAAI,iBAAiB,IAAI,UAAU,IAAI,SAAS,EAAE;gBACnE,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;oBACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1E,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC;oBACjC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/B;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,IAAI,OAAK,GAAW,CAAC,CAAC;YACtB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,aAAa,GAAa,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5D,IAAI,eAAa,GAAG,EAAE,CAAC;YACvB,IAAI,cAAY,GAAa,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAA,CAAC;YAC5D,IAAI,KAAW,CAAC;YAChB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,cAAY,CAAC,OAAO,CAAC,cAAI;gBACvB,KAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,KAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACxB,KAAG,GAAG,KAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACvC,cAAY,GAAG,KAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,EAAE,GAAW,cAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,cAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,cAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,cAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC9J,eAAa,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACnC;qBAAM,IAAI,KAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACzD,cAAY,GAAG,KAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClC,cAAY,CAAC,OAAO,CAAC,gBAAM;wBACzB,IAAI,EAAE,GAAW,cAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,cAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,cAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,cAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBAC9J,eAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC7B,CAAC,CAAC,CAAC;iBAEJ;qBAAM;oBACL,eAAa,CAAC,IAAI,CAAC,KAAG,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC;YACF,IAAI,UAAQ,GAAa,EAAE,CAAC;YAE5B,eAAa,CAAC,OAAO,CAAC,aAAG;gBACvB,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,GAAG,GAAW,EAAE,CAAC;gBACrB,IAAI,aAAa,GAAW,EAAE,CAAC;gBAC/B,IAAI,aAAa,GAAa,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;oBACpC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1C,GAAG,GAAG,QAAQ,CAAC;oBACf,aAAa,GAAG,IAAI,CAAC;iBAEtB;qBACI,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;oBACxC,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;wBAC/B,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC3C;yBAAM;wBACL,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BAC9C,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;yBAC3C;6BAAM;4BACL,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;yBAC3C;qBAEF;oBACD,GAAG,GAAG,QAAQ,CAAC;oBACf,aAAa,GAAG,KAAK,CAAC;iBACvB;qBACI,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACpE,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACtK,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;oBACjC,GAAG,GAAG,cAAc,CAAC;iBACtB;qBACI,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAC/D,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACtK,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;oBAC7B,GAAG,GAAG,UAAU,CAAC;iBAClB;qBACI;oBACH,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBACpC,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;4BAC/B,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;4BACrC,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;4BACzC,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;4BAC5B,aAAa,GAAG,GAAG,CAAC;4BACpB,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gCACjC,GAAG,GAAG,QAAQ,CAAC;6BAChB;iCAAM;gCACL,GAAG,GAAG,UAAU,CAAC;6BAClB;yBAEF;6BAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;4BACnC,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;4BACpC,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;4BAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;4BAC5B,aAAa,GAAG,GAAG,CAAC;4BACpB,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gCACjC,GAAG,GAAG,QAAQ,CAAC;6BAChB;iCAAM;gCACL,GAAG,GAAG,cAAc,CAAC;6BACtB;yBAEF;qBAEF;yBACI;wBACH,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;4BAC5B,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4BACjC,aAAa,GAAG,GAAG,CAAC;4BACpB,GAAG,GAAG,QAAQ,CAAC;yBAChB;wBACD,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;4BAChC,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;4BAChC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4BACjC,aAAa,GAAG,GAAG,CAAC;4BACpB,GAAG,GAAG,QAAQ,CAAC;yBAChB;qBACF;iBAEF;gBAED,IAAI,aAAa,GAAW,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC5E,IAAI,SAAS,GAAW,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,IAAI,QAAQ,GAAW,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,KAAK,GAAW,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpG,IAAI,QAAQ,GAAG,aAAa,CAAC;gBAC7B,OAAO,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAEpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;iBAChC;gBACD,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;oBACnE,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACtC,YAAY,CAAC,OAAO,CAAC,aAAG;wBACtB,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;4BAE/B,IAAI,MAAM,GAAW,CAAC,SAAS,IAAI,KAAK,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4BAC/M,IAAI,SAAS,IAAI,KAAK,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,EAAE;gCACnI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;6BACpG;4BACD,UAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;yBACnG;6BAAM;4BACL,UAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;yBAC7H;oBACH,CAAC,CAAC,CAAC;iBAEJ;qBAAM;oBACL,IAAI,KAAK,IAAI,EAAE,EAAE;wBACf,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,IAAI,aAAa,EAAE;4BAC9F,UAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;yBAC/F;6BACI;4BACH,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAEhC,QAAQ,CAAC,OAAO,CAAC,aAAG;gCAClB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oCACrB,UAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;;oCACxF,UAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;4BAEnG,CAAC,CAAC,CAAC;yBACJ;wBACD,2EAA2E;qBAC5E;iBACF;gBACD,GAAG;gBACH,OAAK,EAAE,CAAC;YACV,CAAC,CAAC,CAAC;YACH,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,UAAU,CAAC;;oBAEP,IAAI,MAAM,GAAG,UAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpC,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;wBAC9I,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;qBACpC;yBACI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;wBAC3L,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC7B;yBACI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;wBAChE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBAChD;yBAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE;wBACnC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC9C;oBACD,IAAI,UAAU,GAAa,EAAE,CAAC;oBAC9B,UAAU,GAAG,UAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAChC,UAAU,GAAG,EAAE,CAAC;oBACpB,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG;wBACf,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,EAAE;4BAC7B,UAAU,CAAC;gCACT,IAAI,MAAM,GAAgB,SAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,EAAzB,CAAyB,CAAC,CAAC;gCACtF,IAAI,IAAI,GAAQ,EAAE,CAAC;gCACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACtD,IAAI,SAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wCAC5F,SAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wCAC/C,SAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wCACpD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wCACnB,IAAI,GAAG,CAAC,CAAC;wCACT,MAAM;qCACP;iCACF;gCAED,IAAI,GAAG,GAAQ,SAAO,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gCAC1D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCACtB,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;oCAChG,SAAO,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;oCAC5P,MAAM,GAAG,SAAO,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oCACzC,SAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;wCAClI,IAAI,MAAM,CAAC,UAAU,IAAI,cAAc,EAAE;4CACvC,SAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gDAC9F,UAAU,CAAC,OAAO,CAAC,eAAK;oDACtB,IAAI,KAAK,IAAI,IAAI,EAAE;wDACjB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qDACvE;yDACI;wDACH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;qDACvE;gDACH,CAAC,CAAC;4CACJ,CAAC,CAAC,CAAC;yCACJ;wCAAC,IAAI,MAAM,CAAC,UAAU,IAAI,QAAQ,EAAE;4CACnC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,gBAAgB,EAAC,EAAE,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;gDAClG,SAAS,CAAC,OAAO,CAAC,eAAK;oDACrB,IAAI,KAAK,IAAI,IAAI,EAAE;wDACjB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qDACvE;yDACI;wDACH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;qDACvE;gDACH,CAAC,CAAC;4CACJ,CAAC,CAAC,CAAC;yCAEJ;6CAAM,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE;4CACzC,SAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gDAC7E,cAAc,CAAC,OAAO,CAAC,aAAG;oDACxB,IAAI,GAAG,IAAI,IAAI,EAAE;wDACf,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;qDAC/I;yDACI;wDACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4DAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yDACvE;qDACF;gDAEH,CAAC,CAAC,CAAC;4CACL,CAAC,CAAC,CAAC;yCACJ;6CACI,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,aAAa,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,IAAI,MAAM,CAAC,UAAU,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,IAAI,MAAM,CAAC,UAAU,IAAI,QAAQ,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,IAAI,MAAM,CAAC,UAAU,IAAI,eAAe,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,EAAE;4CACtW,IAAI,QAAQ,GAAG,iBAAiB,CAAC;4CACjC,QAAQ,MAAM,CAAC,UAAU,EAAE;gDACzB,KAAK,SAAS;oDAAE;wDACd,QAAQ,GAAG,iBAAiB,CAAC;wDAC7B,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,aAAa;oDAAE;wDAClB,QAAQ,GAAG,cAAc,CAAC;wDAC1B,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,YAAY;oDAAE;wDACjB,QAAQ,GAAG,wBAAwB,CAAC;wDACpC,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,WAAW;oDAAE;wDAChB,QAAQ,GAAG,wBAAwB,CAAC;wDACpC,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,WAAW;oDAAE;wDAChB,QAAQ,GAAG,wBAAwB,CAAC;wDACpC,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,QAAQ,CAAC,CAAC;oDACb,QAAQ,GAAG,gBAAgB,CAAC;oDAC5B,MAAM;iDACP;gDACD,KAAK,YAAY,CAAC,CAAC;oDACjB,QAAQ,GAAG,mBAAmB,CAAC;oDAC/B,MAAM;iDACP;gDACD,KAAK,eAAe,CAAC,CAAC;oDACpB,QAAQ,GAAG,mBAAmB,CAAC;oDAC/B,MAAM;iDACP;gDACD,KAAK,KAAK;oDAAE;wDACV,QAAQ,GAAG,aAAa,CAAC;wDACzB,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,OAAO;oDAAE;wDACZ,QAAQ,GAAG,eAAe,CAAC;wDAC3B,MAAM;qDACP;oDAAA,CAAC;6CAGH;4CACD,SAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gDAEvF,cAAc,CAAC,OAAO,CAAC,cAAI;oDACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;4DACjC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;yDAClF;qDACF;gDACH,CAAC,CAAC,CAAC;4CACL,CAAC,CAAC,CAAC;yCAEJ;6CACI;4CACH,cAAc,CAAC,OAAO,CAAC,aAAG;gDACxB,IAAI,GAAG,IAAI,IAAI,EAAE;oDACf,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;iDACvD;qDAAM;oDACL,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;wDAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;qDACvE;iDACF;4CACH,CAAC,CAAC,CAAC;yCACJ;wCAED,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE;4CAC1B,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wCAEzC,IAAI,GAAG,IAAI,aAAa;4CACtB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;;4CAEzB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oCAClD,CAAC,CAAC,CAAC;iCACJ;qCACI;oCACH,MAAM,GAAG,SAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oCACrC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;oCACzB,SAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;wCAClI,IAAI,MAAM,CAAC,UAAU,IAAI,cAAc,EAAE;4CACvC,SAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gDAC9F,UAAU,CAAC,OAAO,CAAC,eAAK;oDACtB,IAAI,KAAK,IAAI,IAAI,EAAE;wDACjB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qDACvE;yDACI;wDACH,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;4DAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yDACvE;qDACF;gDACH,CAAC,CAAC;4CACJ,CAAC,CAAC,CAAC;yCACJ;6CACI,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,aAAa,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,IAAI,MAAM,CAAC,UAAU,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,IAAI,MAAM,CAAC,UAAU,IAAI,QAAQ,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,IAAI,MAAM,CAAC,UAAU,IAAI,eAAe,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,EAAE;4CACtW,IAAI,QAAQ,GAAG,iBAAiB,CAAC;4CACjC,QAAQ,MAAM,CAAC,UAAU,EAAE;gDACzB,KAAK,SAAS;oDAAE;wDACd,QAAQ,GAAG,iBAAiB,CAAC;wDAC7B,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,aAAa;oDAAE;wDAClB,QAAQ,GAAG,cAAc,CAAC;wDAC1B,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,YAAY;oDAAE;wDACjB,QAAQ,GAAG,wBAAwB,CAAC;wDACpC,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,WAAW;oDAAE;wDAChB,QAAQ,GAAG,wBAAwB,CAAC;wDACpC,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,WAAW;oDAAE;wDAChB,QAAQ,GAAG,wBAAwB,CAAC;wDACpC,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,QAAQ,CAAC,CAAC;oDACb,QAAQ,GAAG,gBAAgB,CAAC;oDAC5B,MAAM;iDACP;gDACD,KAAK,YAAY,CAAC,CAAC;oDACjB,QAAQ,GAAG,mBAAmB,CAAC;oDAC/B,MAAM;iDACP;gDACD,KAAK,eAAe,CAAC,CAAC;oDACpB,QAAQ,GAAG,mBAAmB,CAAC;oDAC/B,MAAM;iDACP;gDACD,KAAK,KAAK;oDAAE;wDACV,QAAQ,GAAG,aAAa,CAAC;wDACzB,MAAM;qDACP;oDAAA,CAAC;gDACF,KAAK,OAAO;oDAAE;wDACZ,QAAQ,GAAG,eAAe,CAAC;wDAC3B,MAAM;qDACP;oDAAA,CAAC;6CAGH;4CAED,SAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gDAEvF,cAAc,CAAC,OAAO,CAAC,cAAI;oDACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;4DACjC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;yDAClF;qDACF;gDACH,CAAC,CAAC,CAAC;4CACL,CAAC,CAAC,CAAC;yCAEJ;6CACI;4CACH,cAAc,CAAC,OAAO,CAAC,aAAG;gDACxB,IAAI,GAAG,IAAI,IAAI,EAAE;oDACf,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;iDACvD;qDAAM;oDACL,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;wDAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;qDACvE;iDACF;4CACH,CAAC,CAAC,CAAC;yCACJ;wCAED,IAAI,GAAG,IAAI,aAAa;4CACtB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;;4CAEzB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oCAClD,CAAC,CAAC,CAAC;oCACH,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;iCAC7B;gCACD,SAAO,CAAC,WAAW,GAAG,IAAI,CAAC;4BAC7B,CAAC,EAAE,GAAG,CAAC;yBACR;wBAED,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,EAAE;4BAC7F,UAAU,CAAC;gCAAA,iBAyeV;gCAxeC,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gCACnE,IAAI,MAAM,GAAgB,SAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,SAAS,EAAzB,CAAyB,CAAC,CAAC;gCACtF,IAAI,IAAI,GAAQ,EAAE,CAAC;gCACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACtD,IAAI,SAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wCAC5F,SAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wCAC/C,SAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wCAEpD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wCACnB,IAAI,GAAG,CAAC,CAAC;wCACT,MAAM;qCACP;iCACF;gCACD,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;oCAChG,SAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE;wCACzC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;wCACrB,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EACnG,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;qCAClC,CAAC,CAAC;oCAEH,MAAM,GAAG,SAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oCACtC,SAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oCAC/C,IAAI,MAAM,CAAC,UAAU,KAAK,YAAY,EAAE;wCAEtC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,mBAAmB,EAAE,EAAE,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4CACxG,WAAW,CAAC,OAAO,CAAC,cAAI;gDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;4CACvE,CAAC,CAAC,CAAC;wCACL,CAAC,CAAC,CAAC;wCACH,IAAI,GAAG,IAAI,aAAa;4CACtB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;;4CAEzB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;qCACjD;yCACI,IAAI,MAAM,CAAC,UAAU,IAAI,eAAe,EAAE;wCAC7C,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;wCAC3B,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,yBAAyB,EAAE,CAAC,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4CAC7G,WAAW,CAAC,OAAO,CAAC,cAAI;gDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;4CACvE,CAAC,CAAC,CAAC;wCACL,CAAC,CAAC,CAAC;wCACH,IAAI,GAAG,IAAI,aAAa;4CACtB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;;4CAEzB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;qCACjD;yCACI,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE;wCACzC,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;wCAC3B,SAAO,CAAC,eAAe,CAAC,WAAW,CAAC,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4CAC3E,WAAW,CAAC,OAAO,CAAC,cAAI;gDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;4CACvE,CAAC,CAAC,CAAC;wCAEL,CAAC,CAAC,CAAC;wCAEH,IAAI,GAAG,IAAI,aAAa;4CACtB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;;4CAEzB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;qCACjD;yCACI,IAAI,MAAM,CAAC,UAAU,KAAK,cAAc,EAAE;wCAC7C,SAAO,CAAC,WAAW,CAAC,eAAe,CAAC,SAAO,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;4CACxE,IAAI,aAAa,GAAG,SAAO,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC;4CACjF,IAAI,MAAM,GAAG,EAAE,CAAC;4CAChB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,MAAM,EAAzB,CAAyB,CAAC,CAAC,CAAC;4CAChE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,MAAM,EAAzB,CAAyB,CAAC,CAAC,CAAC;4CAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACtC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAlD,CAAkD,CAAC,EAAE,CAAC,CAAC;gDAClO,oCAAoC;6CACrC;4CAED,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE;gDAC5B,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;6CACjC;wCAEH,CAAC,CAAC,CAAC;qCACJ;yCACI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,IAAI,MAAM,CAAC,UAAU,IAAI,aAAa,IAAI,MAAM,CAAC,UAAU,IAAI,aAAa;2CACnJ,MAAM,CAAC,UAAU,IAAI,aAAa,IAAI,MAAM,CAAC,UAAU,IAAI,gBAAgB,CAAC,EAAE;wCACjF,SAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;4CACxI,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;4CAC3B,uCAAuC;4CACvC,cAAc,CAAC,OAAO,CAAC,aAAG;gDACxB,IAAI,GAAG,IAAI,IAAI,EAAE;oDACf,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,EAAE;wDACrC,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;wDAC3B,SAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;4DACtF,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;4DAC3B,cAAc,CAAC,OAAO,CAAC,cAAI;gEACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oEACpC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;wEAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qEAC5E;iEACF;4DACH,CAAC,CAAC,CAAC;wDACL,CAAC,CAAC,CAAC;wDACH,sDAAsD;qDACvD;yDAAM,IAAI,MAAM,CAAC,UAAU,IAAI,QAAQ,EAAE;wDACxC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;qDACxD;yDAAM;wDAEL,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qDACtE;iDACF;qDACI;oDACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;wDAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;qDACvE;iDACF;4CACH,CAAC,CAAC,CAAC;4CACH,IAAI,GAAG,IAAI,aAAa;gDACtB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;;gDAEzB,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wCAE3C,CAAC,CAAC,CAAC;qCACJ;yCACI;wCAEH,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,aAAa,CAAC;wCAC5F,SAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;4CAE1H,IAAI,MAAM,CAAC,UAAU,IAAI,aAAa,EAAE;gDACtC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAClG,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CAEJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;gDAC9F,IAAI,IAAI,GAAG,KAAK,CAAC;gDACjB,IAAI,OAAO,GAAG,CAAC,CAAC;gDAChB,QAAQ,MAAM,CAAC,UAAU,EAAE;oDACzB,KAAK,KAAK,CAAC,CAAC;wDACV,IAAI,GAAG,aAAa,CAAC;wDAAC,OAAO,GAAG,EAAE,CAAC;wDACnC,MAAM;qDACP;oDACD,KAAK,IAAI,CAAC,CAAC;wDACT,IAAI,GAAG,YAAY,CAAC;wDAAC,OAAO,GAAG,EAAE,CAAC;wDAAC,MAAM;qDAC1C;oDACD,KAAK,KAAK,CAAC,CAAC;wDACV,IAAI,GAAG,aAAa,CAAC;wDAAC,OAAO,GAAG,EAAE,CAAC;wDAAC,MAAM;qDAC3C;iDAEF;gDAED,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAC9F,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CAEJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,gBAAgB,EAAE;gDAC9C,SAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;oDAChH,cAAc,CAAC,OAAO,CAAC,cAAI;wDACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4DAC5C,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gEACtC,sDAAsD;gEACtD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;6DAC5F;yDACF;oDACH,CAAC,CAAC,CAAC;gDACL,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,WAAW,EAAE;gDACzC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDACvG,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,EAAE;gDAC1C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAClG,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CACJ;iDAAM,IAAI,MAAM,CAAC,UAAU,IAAI,cAAc,EAAE;gDAC9C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDACpG,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CACJ;iDAAM,IAAI,MAAM,CAAC,UAAU,IAAI,aAAa,EAAE;gDAC7C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDACnG,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CACJ;iDAAM,IAAI,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE;gDAC1C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAChG,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CACJ;iDAAM,IAAI,MAAM,CAAC,UAAU,IAAI,eAAe,EAAE;gDAC/C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAChG,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CACJ;iDAAM,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE;gDACtC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAC5F,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CACJ;iDAAM,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE;gDACtC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAC5F,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE;gDACvC,SAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oDAC7E,KAAK,CAAC,OAAO,CAAC,aAAG;wDACf,IAAI,GAAG,IAAI,IAAI,EAAE;4DACf,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;yDACnE;oDAEH,CAAC,CAAC,CAAC;gDACL,CAAC,CAAC,CAAC;6CACJ;iDAEI,IAAI,MAAM,CAAC,UAAU,IAAI,kBAAkB,IAAI,MAAM,CAAC,UAAU,IAAI,iBAAiB,IAAI,MAAM,CAAC,UAAU,IAAI,kBAAkB,EAAE;gDACrI,cAAc,CAAC,OAAO,CAAC,aAAG;oDACxB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,cAAc,EAAE;wDACrE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,SAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC;qDACvK;yDACI;wDACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4DAC9B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yDACvE;qDACF;gDAEH,CAAC,CAAC,CAAC;6CACJ;iDAEI;gDACH,IAAI,OAAO,GAAG,KAAI,CAAC;gDACnB,cAAc,CAAC,OAAO,CAAC,aAAG;oDACxB,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,EAAE;wDACrC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;qDAC/E;yDAEI;wDACH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;qDACvD;gDACH,CAAC,CAAC,CAAC;6CACJ;4CACD,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,EAAE,EAAE;gDAErC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;6CAC1B;iDACI;gDACH,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;6CAC/C;wCACH,CAAC,CAAC,CAAC;qCACJ;iCAGF;qCACI;oCAEH,MAAM,GAAG,SAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oCACtC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;oCAEzB,IAAI,MAAM,CAAC,UAAU,KAAK,YAAY,EAAE;wCACtC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,mBAAmB,EAAE,EAAE,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4CACxG,WAAW,CAAC,OAAO,CAAC,cAAI;gDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;4CACvE,CAAC,CAAC,CAAC;wCAEL,CAAC,CAAC,CAAC;wCAEH,IAAI,GAAG,IAAI,aAAa;4CACtB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;;4CAEzB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;qCACjD;yCACI,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE;wCACzC,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;wCAC3B,SAAO,CAAC,eAAe,CAAC,WAAW,CAAC,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4CAC3E,WAAW,CAAC,OAAO,CAAC,cAAI;gDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;4CACvE,CAAC,CAAC,CAAC;wCAEL,CAAC,CAAC,CAAC;wCAEH,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE;4CAC1B,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;qCACjD;yCAEI,IAAI,MAAM,CAAC,UAAU,KAAK,cAAc,EAAE;wCAC7C,SAAO,CAAC,WAAW,CAAC,eAAe,CAAC,SAAO,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;4CACxE,IAAI,aAAa,GAAG,SAAO,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC;4CACjF,IAAI,MAAM,GAAG,EAAE,CAAC;4CAChB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,MAAM,EAAzB,CAAyB,CAAC,CAAC,CAAC;4CAChE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,MAAM,EAAzB,CAAyB,CAAC,CAAC,CAAC;4CAGhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDACtC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAlD,CAAkD,CAAC,EAAE,CAAC,CAAC;gDAClO,oCAAoC;6CACrC;4CAED,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE;gDAC5B,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;6CACjC;4CAED,MAAM;4CACN,4DAA4D;wCAG9D,CAAC,CAAC,CAAC;qCAGJ;yCACI;wCAEH,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,aAAa,CAAC;wCACrF,SAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;4CAC1H,IAAI,MAAM,CAAC,UAAU,IAAI,aAAa,EAAE;gDACtC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAClG,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CAEJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;gDAC9F,IAAI,IAAI,GAAG,KAAK,CAAC;gDAAC,IAAI,OAAO,GAAG,CAAC,CAAC;gDAClC,QAAQ,MAAM,CAAC,UAAU,EAAE;oDACzB,KAAK,KAAK,CAAC,CAAC;wDACV,IAAI,GAAG,aAAa,CAAC;wDAAC,OAAO,GAAG,EAAE,CAAC;wDAAC,MAAM;qDAC3C;oDACD,KAAK,IAAI,CAAC,CAAC;wDACT,IAAI,GAAG,YAAY,CAAC;wDAAC,OAAO,GAAG,EAAE,CAAC;wDAAC,MAAM;qDAC1C;oDACD,KAAK,KAAK,CAAC,CAAC;wDACV,IAAI,GAAG,aAAa,CAAC;wDAAC,OAAO,GAAG,EAAE,CAAC;wDAAC,MAAM;qDAC3C;iDAEF;gDAED,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAC9F,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CAGJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,gBAAgB,EAAE;gDAC9C,SAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;oDAChH,cAAc,CAAC,OAAO,CAAC,cAAI;wDACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4DAC5C,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gEACtC,sDAAsD;gEACtD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;6DAC5F;yDACF;oDACH,CAAC,CAAC,CAAC;gDACL,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,WAAW,EAAE;gDACzC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDACvG,WAAW,CAAC,OAAO,CAAC,cAAI;wDACtB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oDACvE,CAAC,CAAC,CAAC;gDAEL,CAAC,CAAC,CAAC;6CAEJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,kBAAkB,IAAI,MAAM,CAAC,UAAU,IAAI,iBAAiB,IAAI,MAAM,CAAC,UAAU,IAAI,kBAAkB,EAAE;gDACrI,cAAc,CAAC,OAAO,CAAC,aAAG;oDACxB,IAAI,GAAG,IAAI,IAAI,EAAE;wDACf,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,SAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC;qDACvK;gDACH,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE;gDACvC,SAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oDAC7E,KAAK,CAAC,OAAO,CAAC,aAAG;wDACf,IAAI,GAAG,IAAI,IAAI,EAAE;4DACf,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;yDACnE;oDAEH,CAAC,CAAC,CAAC;gDACL,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,EAAE;gDAC1C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAClG,cAAc,CAAC,OAAO,CAAC,aAAG;wDACxB,IAAI,GAAG,IAAI,IAAI,EAAE;4DACf,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;yDAChF;oDACH,CAAC,CAAC,CAAC;gDACL,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,YAAY,EAAE;gDAC1C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAClG,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;oDAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qDAC1F;gDACH,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,cAAc,EAAE;gDAC5C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDACpG,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;oDAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qDAC1F;gDACH,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,aAAa,EAAE;gDAC3C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDACnG,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;oDAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qDAC1F;gDACH,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE;gDACxC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAChG,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;oDAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qDAC1F;gDACH,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,eAAe,EAAE;gDAC7C,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDACrG,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;oDAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qDAC1F;gDACH,CAAC,CAAC,CAAC;6CACJ;iDACI,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE;gDACpC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAC5F,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;oDAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qDAC1F;gDACH,CAAC,CAAC,CAAC;6CACJ;iDAAM,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,EAAE;gDACtC,SAAO,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oDAC5F,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;oDAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wDAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qDAC1F;gDACH,CAAC,CAAC,CAAC;6CACJ;iDACI;gDACH,cAAc,CAAC,OAAO,CAAC,aAAG;oDACxB,IAAI,GAAG,IAAI,IAAI,EAAE;wDACf,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qDACtE;gDACH,CAAC,CAAC,CAAC;6CACJ;4CACD,IAAI,GAAG,IAAI,aAAa;gDACtB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;;gDAEzB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;wCAClD,CAAC,CAAC,CAAC;qCACJ;oCACD,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oCAC5B,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;iCAC7B;gCACD,SAAO,CAAC,WAAW,GAAG,IAAI,CAAC;4BAC7B,CAAC,EAAE,GAAG,CAAC;yBAIR;oBAGH,CAAC,CAAC,CAAC;;oBAhuBC,UAAU;gBAjBhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;;iBAmvBvC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,4BAA4B;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,UAAU,CAAC;gBACT,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;YAC3K,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IACD,gDAAc,GAAd;QACE,UAAU,CAAC;YACT,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QAC7K,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,oDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACvC;IACH,CAAC;IACD,8CAAY,GAAZ,UAAa,GAAG;QAAhB,iBAoBC;QAlBC,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;gBAC5B,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;oBAChH,KAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;wBAC/F,OAAO,CAAC,OAAO,CAAC,iBAAO;4BACrB,OAAO,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;wBACjF,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC;wBACzB,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;wBACzB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,EACpD,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;aACvC;SACF;QACD,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACxC,CAAC;IACD,6CAAW,GAAX,UAAY,OAAe,EAAE,MAAc,EAAE,SAAiB;QAC5D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,mCAAmC,CAAC,CAAC;IACjF,CAAC;IAED,kDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,aAAa,GAAW,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,2CAAS,GAAT,UAAU,KAAK,EAAE,IAAI,EAAE,GAAG;QAA1B,iBA+MC;QA9MC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3L,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAG;YAC7B,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,UAAU,EAAE;gBAClB,IAAI,GAAG,CAAC,UAAU,KAAK,YAAY,EAAE;oBACnC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,mBAAmB,EAAE,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wBAClG,WAAW,CAAC,OAAO,CAAC,cAAI;4BACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAC;wBACH,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACzB,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;iBAEJ;qBACI,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE;oBACtC,KAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wBACrE,WAAW,CAAC,OAAO,CAAC,cAAI;4BACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAC;wBACH,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvB,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oBAC5C,CAAC,CAAC,CAAC;iBACJ;qBACI,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,EAAE;oBAC1C,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,yBAAyB,EAAE,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wBACvG,WAAW,CAAC,OAAO,CAAC,cAAI;4BACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAC;wBACH,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvB,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oBAC5C,CAAC,CAAC,CAAC;iBACJ;qBACI,IAAI,GAAG,CAAC,UAAU,KAAK,YAAY,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE;oBAEzE,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,4BAA4B,EAAE,GAAG,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;wBACxI,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;wBACxB,cAAc,CAAC,OAAO,CAAC,aAAG;4BACxB,IAAI,GAAG,IAAI,IAAI,EAAE;gCACf,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,EAAE;oCAClC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wCAE5F,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,IAAG,KAAK,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;oCAEvF,CAAC,CAAC,CAAC;iCACJ;qCAAM;oCACL,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iCACnE;6BACF;iCACI;gCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;oCAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;iCACpE;6BACF;wBACH,CAAC,CAAC,CAAC;wBACH,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvB,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBACxC,CAAC,CAAC,CAAC;iBACJ;qBAEI,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa;uBACvI,GAAG,CAAC,UAAU,IAAI,aAAa,IAAI,GAAG,CAAC,UAAU,IAAI,gBAAgB,CAAC,EAAE;oBAC3E,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,GAAG,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;wBAC/H,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;wBACxB,cAAc,CAAC,OAAO,CAAC,aAAG;4BACxB,IAAI,GAAG,IAAI,IAAI,EAAE;gCACf,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAG;oCACjE,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,EAAE;wCAClC,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;4CAChF,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;4CACxB,cAAc,CAAC,OAAO,CAAC,cAAI;gDACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oDACpC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;wDAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qDACzE;iDACF;4CACH,CAAC,CAAC,CAAC;wCACL,CAAC,CAAC,CAAC;qCACJ;yCAAM;wCACL,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;qCACrD;iCACF;qCAAM;oCACL,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iCACnE;6BACF;iCACI;gCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;oCAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;iCACpE;6BACF;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;qBACI;oBACH,KAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,cAAc;wBACzH,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;wBACxB,IAAI,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE;4BACnC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gCAC5F,WAAW,CAAC,OAAO,CAAC,cAAI;oCACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gCACpE,CAAC,CAAC,CAAC;4BAEL,CAAC,CAAC,CAAC;yBAEJ;6BACI,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,EAAE;4BACrF,IAAI,IAAI,GAAG,KAAK,CAAC;4BAAC,IAAI,OAAO,GAAG,CAAC,CAAC;4BAClC,QAAQ,GAAG,CAAC,UAAU,EAAE;gCACtB,KAAK,KAAK,CAAC,CAAC;oCACV,IAAI,GAAG,aAAa,CAAC;oCAAC,OAAO,GAAG,EAAE,CAAC;oCAAA,MAAM;iCAC1C;gCACD,KAAK,IAAI,CAAC,CAAC;oCACT,IAAI,GAAG,YAAY,CAAC;oCAAC,OAAO,GAAG,EAAE,CAAC;oCAAC,MAAM;iCAC1C;gCACD,KAAK,KAAK,CAAC,CAAC;oCACV,IAAI,GAAG,aAAa,CAAC;oCAAC,OAAO,GAAG,EAAE,CAAC;oCAAC,MAAM;iCAC3C;6BAEF;4BACD,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gCACxF,WAAW,CAAC,OAAO,CAAC,cAAI;oCACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gCACpE,CAAC,CAAC,CAAC;4BAEL,CAAC,CAAC,CAAC;yBAEJ;6BACI,IAAI,GAAG,CAAC,UAAU,IAAI,gBAAgB,EAAE;4BAC3C,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;gCAC1G,cAAc,CAAC,OAAO,CAAC,cAAI;oCACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAC5C,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;4CACtC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;yCACzF;qCACF;gCACH,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;yBAGJ;6BACI,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,EAAE;4BACzC,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;gCAClE,IAAI,aAAa,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC;gCAC9E,IAAI,MAAM,GAAG,EAAE,CAAC;gCAChB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,MAAM,EAAzB,CAAyB,CAAC,CAAC,CAAC;gCAChE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,MAAM,EAAzB,CAAyB,CAAC,CAAC,CAAC;gCAGhE,cAAc,CAAC,OAAO,CAAC,aAAG;oCAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCACtC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAlD,CAAkD,CAAC,EAAE,CAAC,CAAC;qCAE5M;gCAEH,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;yBAEJ;6BACI,IAAI,GAAG,CAAC,UAAU,IAAI,WAAW,EAAE;4BACtC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gCACjG,WAAW,CAAC,OAAO,CAAC,cAAI;oCACtB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gCACpE,CAAC,CAAC,CAAC;4BAEL,CAAC,CAAC,CAAC;yBAEJ;6BACI,IAAI,GAAG,CAAC,UAAU,IAAI,SAAS,EAAE;4BACpC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;4BACxB,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gCACvE,KAAK,CAAC,OAAO,CAAC,aAAG;oCACf,IAAI,GAAG,IAAI,IAAI,EAAE;wCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;qCAChE;yCACI;wCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4CAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;yCACpE;qCACF;gCAEH,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;yBACJ;6BACI;4BACH,cAAc,CAAC,OAAO,CAAC,aAAG;gCACxB,IAAI,GAAG,IAAI,IAAI,EAAE;oCACf,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;iCACpD;qCACI;oCACH,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;wCAC9B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;qCACpE;iCACF;4BAEH,CAAC,CAAC,CAAC;yBACJ;wBACD,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvB,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBACxC,CAAC,CAAC,CAAC;iBACJ;aACF;;gBACC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;QAE5B,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,8CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;SAChC;QACD,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,kDAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;SAChC;QACD,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,0DAAwB,GAAxB,UAAyB,KAAK;QAC5B,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE;YAC/B,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,sBAAsB,CAAC;SACtE;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,UAAU,CAAC;gBACT,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gIAAgI,CAAC,CAAC;YAC5K,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IACD,oDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACnE;SACF;QACD,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,0CAAQ,GAAR,UAAS,KAAa,EAAE,SAAkB;QACxC,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;aAAM,IAAI,SAAS,IAAI,KAAK,EAAE;YAC7B,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACtC;QACD,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,sDAAoB,GAApB;QAEE,IAAI,GAAG,GAAW,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvD,IAAI,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;gBACzC,GAAG,EAAE,CAAC;SACT;QACD,IAAI,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM;YACvC,OAAO,KAAK,CAAC;;YAEb,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,iDAAe,GAAf,UAAgB,IAAI,EAAE,UAAU,EAAE,KAAK;QAErC,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,IAAI,IAAI,IAAI,SAAS,EAAE;YACrB,EAAE,GAAG,eAAe,GAAG,KAAK,CAAC;SAC9B;aAAM,IAAI,IAAI,IAAI,SAAS,EAAE;YAC5B,EAAE,GAAG,eAAe,GAAG,KAAK,CAAC;SAC9B;QACD,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;SACpE;aACI;YACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,UAAU,EAApB,CAAoB,CAAC,CAAC;SACrF;IACH,CAAC;IACD,kDAAgB,GAAhB;QACE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IACD,4CAAU,GAAV,UAAW,GAAG,EAAE,KAAK,EAAE,KAAK;QAC1B,IAAI,MAAM,GAAG,6DAAI,GAAG,EAAE,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,CAAC,CAAC;iBACV;qBAAM;oBACL,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvC;aACF;iBAAM;gBACL,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kDAAgB,GAAhB;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACD,8CAAY,GAAZ;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QAC1L,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,kDAAgB,GAAhB;QAAA,iBAUC;QARC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClD,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC;YAC9C,KAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACpF,KAAI,CAAC,eAAe,GAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GClwGK,8PAA6I,YAAvC;;wBAAoC;MAA1I,wBAA6I;0GAC7I,gQAA8I,YAArC;;wBAAkC;MAA3I,wBAA8I;0GAYtI,kQAAiJ,YAA/B;;wBAA4B;MAA9I,wBAAiJ;0GACjJ,mQAAkJ,YAA/B;;wBAA4B;MAA/I,wBAAkJ;0GAKlJ,gNAA4H;0GAC5H,uNAAmI;0GAInI,+MAAwH;0GACxH,sNAA+H;0GAI/H,8MAAyH;2GACzH,qNAAgI;2GAIhI,wOAAiJ;2GACjJ,uNAAgI;2GAIhI,kNAAgI;2GAChI,yNAAsI;2GAKtI,iNAA+H;2GAC/H,wNAAsI;2GAItI,8QAAwL,YAAnL;;wBAAmD;MAAxD,wBAAwL;2GACxL,+QAAyL,YAApL;;wBAAmD;MAAxD,wBAAyL;2GAIzL,4PAAqK,YAAhK;;wBAA+C;MAApD,wBAAqK;2GACrK,mQAA4K,YAAvK;;wBAA+C;MAApD,wBAA4K;2GAK5K,2QAAmL,YAA9K;;wBAA+C;MAApD,wBAAmL;2GACnL,8NAA0I;2GAI1I,iQAAqK,YAAlE;;;wBAA+D;MAAlK,wBAAqK;2GACrK,4PAA+J,YAAlE;;;wBAA+D;MAA5J,wBAA+J;2GAI/J,mMAAwG;2GACxG,0MAA+G;2GAK/G,+QAAuM,YAAtE;;;wBAAmE;MAApM,wBAAuM;2GACvM,gRAAuM,YAAtE;;;wBAAmE;MAApM,wBAAuM;2GAIvM,6MAAuH;2GACvH,oNAA8H;2GAgBtI,kJAAoE,0MAAwB;2GAC5F,kJAAmE,+QAA4D;2GAa7H,0MAA2N;2GAC3N,sNAAuO;2GAGvO,wNAA4H;2GAC5H,0NAA+H;2GAG/H,2NAA6H;2GAC7H,4NAA6H;2GAqDnI,0LAAkE,YAAtD;;wBAA6B;MAAzC,gaAAkE,MAChE;;;m5CAUuB,iDAXb,mBAA6B,kBAAzC,YAAkE,EAAtD,SAA6B,GAI5B,mBAAqB,WAGrB,mBAAmB,UALnB,mBAAmB,UAInB,mBAAmC,kBAHnC,mBAAqC,mBAErC,mBAAmB,UAGnB,yBAAqB,EACrB,mBAAe,QAEf,oBAAW,MADX,oBAAY,QATvB,YAUuB,EAPZ,SAAqB,EAGrB,SAAmB,EALnB,SAAmB,EAInB,SAAmC,EAHnC,SAAqC,EAErC,SAAmB,EAGnB,SAAqB,EACrB,SAAe,EAEf,UAAW,EADX,UAAY,2BATZ,4BAAsB,EAAjC,YAUuB,EAVZ,SAAsB;2GA+HnB,wMAAmH;2GACnH,iMAA4G;2GAC5G,yHAAyB,mGAAsB;2GAY/C,qMAAmH;2GACnH,8LAA4G;2GAC5G,yHAAyB,+FAAkB;2GAC3C,+PAA0K,YAA3F;;wBAA+B;MAA9G,wBAA0K;2GA2B1K,sMAA8G;2GAC9G,+LAAuG;2GACvG,yHAAyB,iGAAoB;2GAC7C,+PAAoK,YAArF;;wBAA+B;MAA9G,wBAAoK;2GAYpK,sMAA8G;2GAC9G,+LAAuG;2GACvG,yHAAyB,iGAAoB;2GAC7C,+PAAoK,YAArF;;wBAA+B;MAA9G,wBAAoK;2GAYpK,uMAA6G;2GAC7G,uMAA6G;2GAC7G,yHAAyB,8FAAiB;2GAC1C,+PAAkK,YAAnF;;wBAA+B;MAA9G,wBAAkK;2GAalK,4MAA0H;2GAC1H,qMAAmH;2GACnH,yHAAyB,sGAAyB;2GAClD,+PAA0K,YAA3F;;wBAA+B;MAA9G,wBAA0K;2GAa1K,6MAA4H;2GAC5H,sMAAqH;2GACrH,yHAAyB,uGAA0B;2GACnD,+PAA2K,YAA5F;;wBAA+B;MAA9G,wBAA2K;2GAY3K,yMAAoH;2GACpH,kMAA6G;2GAC7G,yHAAyB,kGAAqB;2GAC9C,+PAAuK,YAAxF;;wBAA+B;MAA9G,wBAAuK;2GAYvK,uMAAoH;2GACpH,gMAA6G;2GAE3G,yHAAyB,iGAAoB;2GAE/C,+PAAyK,YAA1F;;wBAA+B;MAA9G,wBAAyK;2GAYzK,sMAA8G;2GAC9G,+LAAuG;2GACvG,yHAAyB,gGAAmB;2GAC5C,+PAAoK,YAArF;;wBAA+B;MAA9G,wBAAoK;2GAoBpK,iMAAuG;2GACvG,iMAAuG;2GACvG,yHAAyB,kGAAqB;2GAC9C,+PAAsK,YAAvF;;wBAA+B;MAA9G,wBAAsK;2GAgBtK,+LAAyG;2GACzG,qMAA8G;2GAC9G,yHAAyB,gGAAmB;2GAC5C,+PAAoK,YAArF;;wBAA+B;MAA9G,wBAAoK;2GAWpK,uMAAgH;2GAChH,sMAA+G;2GAC/G,yHAAyB,iGAAoB;2GAC7C,+PAAqK,YAAtF;;wBAA+B;MAA9G,wBAAqK;2GA7NnL,y+BAE8F,GAAjD,oEAAgD,MAC3F,wMAA0E,KACxE,6NAAmF,KACjF,yLAA6D,KAC3D,wLAAsD,KACpD,8IAAwB,KACtB,0XAA8Q,YAAlG;;;;wBAAiG;MAA7Q,wBAA8Q,KAC5Q,gZAAmH,IACnH,gZAA4G,IAC5G,gZAAyB,IAQjC,2LAA6D,KAC3D,0LAAsD,KACpD,+IAAwB,KACtB,qWAA2N,YAArE;;;wBAAoE;MAA1N,wBAA2N,KACzN,gZAAmH,IACnH,gZAA4G,IAC5G,gZAAyB,IACzB,gZAA0K,IAuBlL,4NAA8F,KAC5F,0LAAsD,KACpD,+IAAwB,KACtB,6XAAkR,YAAxH;;wBAAyB;MAAC;;;;wBAA6F;MAAjR,wBAAkR,KAChR,gZAA8G,IAC9G,gZAAuG,IACvG,gZAAyB,IACzB,gZAAoK,IAQ5K,4NAA8F,KAC5F,0LAAsD,KACpD,+IAAwB,KACtB,4XAAgR,YAAvH;;wBAAyB;MAAC;;;;wBAA4F;MAA/Q,wBAAgR,KAC9Q,gZAA8G,IAC9G,gZAAuG,IACvG,gZAAyB,IACzB,gZAAoK,IAO5K,0NAA4F,KAC1F,4LAAwD,KACtD,+IAAwB,KAEtB,qXAAoQ,YAAlH;;wBAAyB;MAAC;;;;wBAAuF;MAAnQ,wBAAoQ,KAClQ,gZAA6G,IAC7G,gZAA6G,IAC7G,gZAAyB,IACzB,gZAAkK,IAQ1K,0NAA4F,KAC1F,4LAAwD,KACtD,+IAAwB,KAEtB,6YAA4S,YAAlI;;wBAAyB;MAAC;;;;wBAAuG;MAA3S,wBAA4S,KAC1S,gZAA0H,IAC1H,gZAAmH,IACnH,gZAAyB,IACzB,gZAA0K,IAOlL,0NAA4F,KAC1F,4LAAwD,KACtD,+IAAwB,KAEtB,wbACiJ,YAD0B;;wBAAyB;MACjM;;;;wBAAyG;MAD5G,wBACiJ,KAC/I,gZAA4H,IAC5H,gZAAqH,IACrH,gZAAyB,IACzB,gZAA2K,IAOnL,0NAA4F,KAC1F,4LAAwD,KACtD,+IAAwB,KAEtB,gYAAwR,YAA3H;;wBAAyB;MAAC;;;;wBAAgG;MAAvR,wBAAwR,KACtR,gZAAoH,IACpH,gZAA6G,IAC7G,gZAAyB,IACzB,gZAAuK,IAO/K,2NAA4F,KAC1F,iPAAsJ,YAA9F;;;;wBAA6F;MAArJ,wBAAsJ,KACpJ,iJAAwB,KAEtB,uTAA2J,KACzJ,iZAAoH,IACpH,iZAA6G,IAC7G,wMAAmD,YAA5C;;wBAAyB;MAAhC,wBAAmD,KACjD,iZAAyB,IAE3B,iZAAyK,IAOjL,2NAA4F,KAC1F,6LAAwD,KACtD,gJAAwB,KAEtB,4XAA6Q,YAArH;;wBAAyB;MAAC;;;;wBAA0F;MAA5Q,wBAA6Q,KAC3Q,iZAA8G,IAC9G,iZAAuG,IACvG,iZAAyB,IACzB,iZAAoK,IAe5K,2NAA4F,KAC1F,6LAAwD,KACtD,gJAAwB,KAEtB,kYAAuR,YAAzH;;wBAAyB;MAAC;;;;wBAA8F;MAAtR,wBAAuR,KACrR,iZAAuG,IACvG,iZAAuG,IACvG,iZAAyB,IACzB,iZAAsK,IAI5K,6OAAmG,KACjG,gJAAwB,KACtB,wIAAgB,KAKtB,2NAA4F,KAC1F,6LAAwD,KACtD,gJAAwB,KAEtB,4XAA8Q,YAAtH;;wBAAyB;MAAC;;;;wBAA2F;MAA7Q,wBAA8Q,KAC5Q,iZAAyG,IACzG,iZAA8G,IAC9G,iZAAyB,IACzB,iZAAoK,IAM5K,2NAA4F,KAC1F,6LAAwD,KACtD,gJAAwB,KAEtB,+XAAkR,YAAvH;;wBAAyB;MAAC;;;;wBAA4F;MAAjR,wBAAkR,KAChR,iZAAgH,IAChH,iZAA+G,IAC/G,iZAAyB,IACzB,iZAAqK,IAI3K,4OAAkG,KAChG,gJAAwB,KACtB,wIAAgB,kDAnON,yDAA+C,GAArE,YAE8F,EAFxE,SAA+C,GAExB,yDAAgD,IAF7F,YAE8F,EAAjD,SAAgD,GAOH,mDAAsC,GAAlH,aAAmH,EAAvC,SAAsC,GAC7C,mDAAsC,GAA3G,aAA4G,EAAvC,SAAsC,GACpG,mBAAiB,YAAxB,aAAyB,EAAlB,SAAiB,GAYiD,sDAAyC,GAAlH,aAAmH,EAA1C,SAAyC,GAChD,sDAAyC,GAA3G,aAA4G,EAA1C,SAAyC,GACpG,mBAAiB,YAAxB,aAAyB,EAAlB,SAAiB,GACuF,+DAA0D,iBAAzK,aAA0K,EAA3D,SAA0D,GA2B/F,gDAAmC,GAA7G,aAA8G,EAApC,SAAmC,GAC1C,iDAAmC,GAAtG,aAAuG,EAApC,UAAmC,GAC/F,oBAAiB,YAAxB,aAAyB,EAAlB,UAAiB,GACuF,0DAAoD,iBAAnK,aAAoK,EAArD,UAAoD,GAYzF,iDAAmC,GAA7G,aAA8G,EAApC,UAAmC,GAC1C,iDAAmC,GAAtG,aAAuG,EAApC,UAAmC,GAC/F,oBAAiB,YAAxB,aAAyB,EAAlB,UAAiB,GACuF,0DAAoD,iBAAnK,aAAoK,EAArD,UAAoD,GAYxF,+CAAiC,GAA5G,aAA6G,EAAlC,UAAiC,GACjC,+CAAiC,GAA5G,aAA6G,EAAlC,UAAiC,GACrG,oBAAiB,YAAxB,aAAyB,EAAlB,UAAiB,GACuF,wDAAkD,iBAAjK,aAAkK,EAAnD,UAAkD,GAajF,uDAAyC,GAAzH,aAA0H,EAA1C,UAAyC,GAChD,uDAAyC,GAAlH,aAAmH,EAA1C,UAAyC,GAC3G,oBAAiB,YAAxB,aAAyB,EAAlB,UAAiB,GACuF,gEAA0D,iBAAzK,aAA0K,EAA3D,UAA0D,GAaxF,wDAA0C,GAA3H,aAA4H,EAA3C,UAA0C,GACjD,wDAA0C,GAApH,aAAqH,EAA3C,UAA0C,GAC7G,oBAAiB,YAAxB,aAAyB,EAAlB,UAAiB,GACuF,iEAA2D,iBAA1K,aAA2K,EAA5D,UAA2D,GAY7F,oDAAsC,GAAnH,aAAoH,EAAvC,UAAsC,GAC7C,oDAAsC,GAA5G,aAA6G,EAAvC,UAAsC,GACrG,oBAAiB,YAAxB,aAAyB,EAAlB,UAAiB,GACuF,6DAAuD,iBAAtK,aAAuK,EAAxD,UAAuD,GAY3F,sDAAwC,GAAnH,cAAoH,EAAzC,UAAwC,GAC/C,sDAAwC,GAA5G,cAA6G,EAAzC,UAAwC,GAEnG,oBAAiB,YAAxB,cAAyB,EAAlB,UAAiB,GAEqF,+DAAyD,iBAAxK,cAAyK,EAA1D,UAAyD,GAY9F,iDAAmC,GAA7G,cAA8G,EAApC,UAAmC,GAC1C,iDAAmC,GAAtG,cAAuG,EAApC,UAAmC,GAC/F,oBAAiB,YAAxB,cAAyB,EAAlB,UAAiB,GACuF,0DAAoD,iBAAnK,cAAoK,EAArD,UAAoD,GAoB9F,+CAAiC,GAAtG,cAAuG,EAAlC,UAAiC,GACjC,+CAAiC,GAAtG,cAAuG,EAAlC,UAAiC,GAC/F,oBAAiB,YAAxB,cAAyB,EAAlB,UAAiB,GACuF,4DAAsD,iBAArK,cAAsK,EAAvD,UAAsD,GAgBlG,mDAAqC,GAAxG,cAAyG,EAAtC,UAAqC,GAC/B,kDAAoC,GAA7G,cAA8G,EAArC,UAAoC,GACtG,oBAAiB,YAAxB,cAAyB,EAAlB,UAAiB,GACuF,0DAAoD,iBAAnK,cAAoK,EAArD,UAAoD,GAWxF,kDAAoC,GAA/G,cAAgH,EAArC,UAAoC,GACrC,kDAAoC,GAA9G,cAA+G,EAArC,UAAoC,GACvG,oBAAiB,YAAxB,cAAyB,EAAlB,UAAiB,GACuF,2DAAqD,iBAApK,cAAqK,EAAtD,UAAqD;2GAgBlL,o5BAAi0B,GAAhK,mGAA+J,MAC9zB,yjBAAe,iDADqC,2BAAiB,EAAlE,0DAAgD,GAArD,YAAi0B,EAA3wB,SAAiB,EAAlE,SAAgD,GAA4mB,iKAA+J,IAAh0B,YAAi0B,EAAhK,SAA+J,GAC9zB,YAAe;2GAEjB,uKAAoF,KAClF;;wBAAuM;MAAnC;;wBAAkC;MAAtM,qzCAAuM,mDAAxL,qBAAc,EAAwF,mBAAoB,EAA3G,mBAAqD,+BAAuD,mBAAyB,aAA/E,mBAAgC,QAApH,YAAuM,EAAxL,SAAc,EAAwF,SAAoB,EAA3G,SAAqD,EAAuD,SAAyB,EAA/E,SAAgC;2GAEtH,kMAA2G,KACzG,sMAAmG,YAAtC;;wBAAqC;MAAlG,4sBAAmG,mDAA1E,mBAAmC,oBAA5D,YAAmG,EAA1E,SAAmC;2GAE9D,mMAA4G,KAC1G,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;2GAErF,kMAA2G,KACzG,k4CAAgE,iDAApC,mBAAmC,oBAA/D,YAAgE,EAApC,SAAmC;2GAEjE,kMAAmH,KACjH,kMAA4F,YAAvE;;wBAAqC;MAA1D,g1BAA4F,mDAAjC,mBAAgC,kBAA3F,YAA4F,EAAjC,SAAgC;2GAI7F,kMAAsH,KACpH,o/BAAqD,iDAAjC,mBAAgC,mBAApD,YAAqD,EAAjC,SAAgC;2GAEtD,kMAAqH,KACnH,82BAAqB;4GAEvB,kMAAqH,KACnH,kgCAA+B,yBAAtB,uBAAqB,EAA9B,YAA+B,EAAtB,SAAqB;4GAEhC,kMAAyG,KACvG,6MAAuG,YAAtC;;wBAAqC;MAAtG,23BAAuG,mDAAvE,mBAAgC,mBAAhE,YAAuG,EAAvE,SAAgC;4GAElE,kMAAmH,KACjH,uuCAAkB;4GAGpB,mMAC0D,KACxD,ujBAA0F,IAC3F,sLAA0D,KAC1D,oMAAqG,YAA3E;;;;wBAA0E;MAApG,wBAAqG,KACpG,2LAAiE,KAGlE,uKAA2C,KACzC,uRAOqC,YAFpB;;wBAAsD;MACtD;;wBAAqD;MANtE,wgDAOqC,MAGvC,iLAAoD,KACrD,6IAAsB,KACtB,6IAAsB,KACpB,6IAAsB,KAAC,sOAAmF,YAA9B;;wBAA6B;MAAlF,wBAAmF,mFAAM,MAChH,6IAAsB,KACpB,oWAA0M,YAA7B;;wBAA4B;MAAzM,wBAA0M,iFAAI,mDAtBzK,6DAAkD,GAAzF,YAA0F,EAAnD,SAAkD,GAQvE,mBAA2B,cAG3B,mBAAiC,wBAFjC,mBAAiC,qBACjC,mBAAmC,oBAInC,mBAAmB,UAPpC,aAOqC,EANpB,SAA2B,EAG3B,SAAiC,EAFjC,SAAiC,EACjC,SAAmC,EAInC,SAAmB;4GAgBnC,kMAA2H,KACzH,mjCAAe;4GAEjB,kMAAsH,KACpH,6LAAkF,YAAtC;;wBAAqC;MAAjF,k+BAAkF,mDAAlE,mBAA2B,cAA3C,YAAkF,EAAlE,SAA2B;4GAE7C,kMAAgH,KAC9G,qzCAA0F,iDAA3E,mBAAyB,aAAC,qBAA0B,EAAnE,YAA0F,EAA3E,SAAyB,EAAC,SAA0B;4GAErE,kMAAmH,KACjH,6LAAsD,YAAtC;;wBAAqC;MAArD,04BAAsD;4GAK9D,yNAAyH,YAA7G;;wBAAkC;MAA9C,2bAAyH,MACvH,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,uFAAU,MAAM,sHAAM,KAC/G,wLAA4D,4FAAe,MAE7E,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,qKAAwC,KACtC,yRACuC,YAA/B;;wBAA8B;MADtC,wBACuC,mFAEvC,MAEF,qKAAwC,KACtC,wWAAyN,YAAlC;;wBAAiC;MAAxN,wBAAyN,oFAAO,mDAnBpI,qBAAkB,EAA5G,mBAAkC,uBAA9C,YAAyH,EAAnB,SAAkB,EAA5G,SAAkC;4GA4B9C,uNAA0I,YAA9H;;wBAAgC;MAA5C,8dAA0I,MACxI,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,2HAAM,KACpF,sKAA0C,KACxC,wKAA4C,8FAAiB,MAC7D,yKAA4C,4GAA+B,MAE7E,sKAAyC,KACvC,sKAAyC,KACvC,yRAC8C,YAAtC;;wBAAqC;MAD7C,wBAC8C,iFAE9C,mDAZwF,qBAAkB,EAAtG,mBAAgC,qBAAuE,qBAAsB,EAAzI,YAA0I,EAA1C,SAAkB,EAAtG,SAAgC,EAAuE,SAAsB;4GAsDvI;;;;;;;;;;;wBAAuJ;MAAzD;;wBAAsB;MAApH,2yCAAuJ,iDAAzE,0BAAe,EAAC,mBAAsB,WAApH,YAAuJ,EAAzE,SAAe,EAAC,SAAsB,2BAApH,8sBAAuJ;4GAMrJ,wNAAqF,YAAtC;;wBAAoB;MAAnE,wBAAqF,iFAAI;4GACzF,6LAAsE,YAAxC;;wBAA0B;MAAxD,wBAAsE,iFAAI;4GAR9E,+KAAmE,KACjE,gZAAuJ,IACvJ,sKAA0C,KACxC,6SAAgJ,YAAxI;;wBAA8B;MAAtC,wBAAgJ,2JAAgC,KAGlL,4KAAgD,KAC9C,gZAAqF,IACrF,iZAAsE,IACtE,oKAAuC,kDAR/B,mBAA4B,uBAAtC,YAAuJ,EAA7I,SAA4B,GAM9B,mBAAuB,kBAA7B,YAAqF,EAA/E,SAAuB,GACvB,mBAAuB,kBAA7B,aAAsE,EAAhE,SAAuB;4GA8DrB,iKAAiF,6FAAgB;4GAFnG,qmBAA+C,MAE7C,qZAAiF,iDAA1E,oDAAqC,GAA5C,YAAiF,EAA1E,SAAqC;4GAW9C,+MAA2G,KACzG;;;;;;;;;;;wBAAgb;MAA1X;;wBAA+B;MAA0F;;wBAA4B;MAAC;;wBAAmD;MAAwI;;wBAAsC;MAA7a,kpBAAgb,GAA1V,+DAAwF,MAC9K,uKAAiD,KAC/C,iRAAyI,YAA9C;;wBAA6C;MAAxI,wBAAyI,kDAFrD,0HAAwF,KAA9K,YAAgb,EAA1V,SAAwF;4GA0BlL,2OAA0K,YAA9H;;;wBAA0E;MAAtH,wBAA0K,KACxK,8LAAoE;4GAEtE,2OAAgI,YAAnF;;wBAA+B;MAA5E,wBAAgI,KAC9H,8LAAoE;4GAVxE,qOAAuK,KACrK,kdAA+D,GAAzD,kEAAwD,MAAC,2GAI/D,MACA,gZAA0K,IAG1K,gZAAgI,iDAR1H,mFAAwD,IAA9D,YAA+D,EAAzD,SAAwD,GAKtD,kDAAmC,GAA3C,YAA0K,EAAlK,SAAmC,GAGnC,mDAAoC,GAA5C,YAAgI,EAAxH,SAAoC,2BARmB,8EAI/D;4GAzDR,yRAAwK,KAGtK,oVAAkN,KAChN,8KAAkD,6FAAgB,MAAQ,sQAAsH,YAAhC;;wBAA+B;MAArH,wBAAsH,KAGlM,iMAAoE,KAClE,+LAAkE,KAChE,8IAAwB,0FAAa,MACrC,qMAAkE,KAChE;;;;;wBAKoE;MALE;;wBAAiC;MAEjF;;wBAAuC;MACvC;;wBAA2C;MAC3C;;wBAAyC;MACzC;;wBAA6C;MALnE,kyEAKoE,IAElE,iZAA+C,IASrD,oLAAuD,KACrD,yMAAsE,KACpE,mLAAsD,KACpD,yHAAM,8FAAiB,MACvB,iZAA2G,IAiBjH,mLAAsD,KACpD,yHAAM,4FAAe,MAAQ,qNAA0E,YAAhC;;wBAA+B;MAAzE,wBAA0E,sFAAS,MAElH,iLAAoD,KAClD,0dAAuK,iDAzCzH,mBAAyB,mBAC/C,mBAA4B,kBADlD,aAKoE,EALxB,SAAyB,EAC/C,SAA4B,GADoB,oBAAiC,sBAAvG,aAKoE,EALE,UAAiC,GAO5F,qDAAqC,GAA9C,aAA+C,EAAtC,UAAqC,GAavB,qBAAuB,iBAA9C,aAA2G,EAApF,UAAuB,GAqB7C,oBAAuD,qBAA5D,aAAuK,EAAlK,UAAuD,2BAzC1D,q0BAKoE;4GA4DtE,oJAA2E,yHAA4C;4GACvH,wHAAmD,kIAAqD;4GAR9G,gNAA8F,YAAlF;;wBAAyB;MAArC,2bAA8F,MAC5F,oKAA0C,KACxC,mKAA6C,8FAAiB,MAAQ,sHAAM,KAC5E,mLAAuD,KACrD,oJAA8B,wFAAW,MAE3C,mLAAuD,KACrD,iZAA2E,IAC3E,iZAAmD,IAErD,6IAAsB,KACpB,4QAAuH,YAAnG;;wBAA2B;MAA/C,wBAAuH,+EAAE,mDAXrE,qBAAkB,EAAhE,mBAAyB,cAArC,YAA8F,EAApC,SAAkB,EAAhE,SAAyB,GAOzB,2DAA4C,GAAlD,aAA2E,EAArE,SAA4C,GAC5C,2DAA4C,GAAlD,aAAmD,EAA7C,SAA4C;4GAoBlD,uKAAiE,KAC/D,qKAAyC,KACvC,6QACkI,YAAlH;;wBAA6C;MAD7D,inDACkI,MAEpI,qKAAyC,KACvC,6QACgI,YAAhH;;wBAA2C;MAD3D,knDACgI,mDALhH,mBAAwC,+BAAC,mBAA0C,6BAAnG,YACkI,EADlH,SAAwC,EAAC,SAA0C,GAInF,mBAAsC,6BAAC,mBAAwC,2BAA/F,aACgI,EADhH,SAAsC,EAAC,SAAwC;4GAe7F,iKAAiF,6FAAgB;4GAFnG,qmBAA+C,MAE7C,qZAAiF,iDAA1E,oDAAqC,GAA5C,YAAiF,EAA1E,SAAqC;4GAIlD,oPAAyK,KACvK,sPAAwG,YAAhG;;wBAAiC;MAAzC,wBAAwG,KACtG,6LAAmE;4GAU7E,mNAA+F,YAAnF;;wBAAwB;MAApC,2bAA+F,MAC7F,wMAA8E,KAC5E,qTAAwL,KACtL,kLAAqD,KACnD,0QAA6I,KAC3I,0MAA8E,KAC5E,qKAAyC,6HAAM,yFAAY,MAC3D,sKAAyC,8HAAM,iNAA+G,IAGhK,2MAA8E,KAC5E,sKAAyC,8HAAM,4FAAe,MAC9D,sKAAyC,8HAAM,iNAA6G,IAKlK,kLAAqD,KACnD,6PAAiG,YAA3B;;wBAA0B;MAAhG,wBAAiG,KAGrG,4TAA+L,KAC7L,oJAA6B,+FAAkB,MAGjD,kLAAoD,KAClD,yMAA2E,KACzE,iLAAoD,mLAAwC,YAAjC;;wBAAgC;MAAvC,wBAAwC,4FAAe,MAC3G,iLAAoD,mLAA6C,YAAtC;;wBAAqC;MAA5C,wBAA6C,0FAAa,MAC9G,iLAAoD,mLAA+C,YAAxC;;wBAAuC;MAA9C,wBAA+C,4FAAe,MAClH,iLAAoD,mLAA0C,YAAnC;;wBAAkC;MAAzC,wBAA0C,uFAAU,MACxG,iLAAoD,mLAA0C,YAAnC;;wBAAkC;MAAzC,wBAA0C,uFAAU,MAG1G,6OAAgF,YAApB;;wBAAmB;MAA/E,wBAAgF,4LAAgE,mFAAM,mDAlChF,qBAAkB,EAAlF,mBAAwB,aAApC,YAA+F,EAAnB,SAAkB,EAAlF,SAAwB,mDAOuB,0bAA+G,GAK/G,wbAA6G;4GAyDxK,4NAA+G,YAAnG;;wBAAqC;MAAjD,gaAA+G,MAC7G,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,2HAAM,KACpF,oJAA8B,mGAAsB,MAAO,sHAAM,KACjE,mLAAsD,KACpD,qJAA8B,mHAAsC,MAAO,uHAAM,KAEnF,8LAA2D,KACzD,gQAA8G,YAA1F;;wBAA8B;MAAlD,wBAA8G,+EAAE,MAChH,8NAA2E,YAAvD;;wBAA6B;MAAjD,wBAA2E,mFAAM,mDAT3E,mBAAqC,0BAAjD,YAA+G,EAAnG,SAAqC;4GA0BzC,2QAAmJ,YAA7B;;wBAA4B;MAAlJ,wBAAmJ;4GACnJ,8QAAuJ,YAA7B;;wBAA4B;MAAtJ,wBAAuJ;4GAIvJ,+QAAwJ,YAA7B;;wBAA4B;MAAvJ,wBAAwJ;4GACxJ,4QAAoJ,YAA7B;;wBAA4B;MAAnJ,wBAAoJ;4GAIpJ,0QAAsJ,YAAhC;;wBAA+B;MAArJ,wBAAsJ;4GACtJ,0QAAqJ,YAAhC;;wBAA+B;MAApJ,wBAAqJ;4GAOnJ,gMAAyF,YAAvD;;wBAAoC;MAAtE,wBAAyF,KACvF,ozBAA6B,MAC3B,wHAAM,gFAAiB,2BADtB,wBAAyB,EAA5B,YAA6B,EAA1B,SAAyB,2BACpB,sEAAiB;4GA9BrC,+MAAkH,YAAtG;;wBAAwB;MAApC,8dAAkH,MAChH,mNAA0F,KACxF,4KAAmD,KACjD,6IAAuB,8HAAO,mFAAM,MACpC,4IAAsB,KACpB,qQAAqH,YAAhC;;wBAA+B;MAApH,wBAAqH,KAGzH,gMAAsE,KACpE,iLAAoD,KAClD,iZAAmJ,IACnJ,iZAAuJ,IAGzJ,iLAAoD,KAClD,iZAAwJ,IACxJ,iZAAoJ,IAEtJ,iLAAoD,KAElD,iZAAsJ,IACtJ,iZAAqJ,IAGzJ,8KAAoD,KAElD,2MAA8E,KAC5E,gLAAmD,KACjD,0dAAyF,iDA5BJ,qBAAkB,EAArG,mBAAwB,aAAoC,qBAAsB,EAA9F,YAAkH,EAAnB,SAAkB,EAArG,SAAwB,EAAoC,SAAsB,GAUK,mBAA0B,qBAArH,aAAmJ,EAAxD,SAA0B,GACvB,oBAA2B,qBAAzH,aAAuJ,EAAzD,SAA2B,GAI1B,oBAA2B,qBAA1H,aAAwJ,EAAzD,SAA2B,GAC9B,mBAA0B,qBAAtH,aAAoJ,EAAxD,SAA0B,GAI5B,oBAA2B,qBAArH,aAAsJ,EAA5D,SAA2B,GAC3B,mBAA0B,qBAApH,aAAqJ,EAA3D,SAA0B,GAO9G,mBAA6B,WAAjC,aAAyF,EAArF,SAA6B;4GAY3C,kNAA4H,YAAhH;;wBAA4B;MAAxC,4dAA4H,MAE1H,+KAAsD,KACpD,08BAA0C,iDAHsC,qBAAkB,EAA1F,mBAA4B,iBAA+D,oBAAoB,EAA3H,YAA4H,EAAxC,SAAkB,EAA1F,SAA4B,EAA+D,SAAoB,GAGrG,yBAAuB,EAAzC,YAA0C,EAAxB,SAAuB;4GAI7C,2NAA+H,YAAnH;;wBAAoC;MAAhD,2bAA+H,MAC7H,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,2HAAM,KACpF,oJAA8B,8FAAiB,MAAO,sHAAM,KAC5D,mLAAsD,KACpD,qJAA8B,wGAA2B,MAAO,uHAAM,KAExE,8LAA2D,KACzD,gQAAkJ,YAAnE;;;wBAAkE;MAAjJ,wBAAkJ,+EAAE,mDAR9C,qBAAkB,EAAlH,mBAAoC,yBAAhD,YAA+H,EAAnB,SAAkB,EAAlH,SAAoC;4GA8BtC,yKAAsF,wDAAjF,mBAAsB,iBAA3B,YAAsF,EAAjF,SAAsB;4GAC3B,qOAA2H;4GA8CnH,+PAA2K,YAA5F;;wBAA+B;MAA9G,wBAA2K;4GAa3K,+PAA4K,YAA7F;;wBAA+B;MAA9G,wBAA4K;4GAY5K,+PAC0F,YAAxF;;wBAA+B;MADjC,wBAC0F;4GAW1F,+PAAuK,YAAxF;;wBAA+B;MAA9G,wBAAuK;4GAcvK,+PAAsK,YAAvF;;wBAA+B;MAA9G,wBAAsK;4GAWtK,6fAAiK,GAA1J,wEAA6E,MAA6E,0EAAE,mDAA5J,uFAA6E,IAApF,YAAiK,EAA1J,SAA6E;4GAWpF,+PAA2K,YAA5F;;wBAA+B;MAA9G,wBAA2K;4GAe3K,+PAAuK,YAAxF;;wBAA+B;MAA9G,wBAAuK;4GAcvK,+PAAkK,YAAnF;;wBAA+B;MAA9G,wBAAkK;4GAalK,+PAAwJ,YAAzE;;wBAA+B;MAA9G,wBAAwJ;4GAgBxJ,+PAA6K,YAA9F;;wBAA+B;MAA9G,wBAA6K;4GAU7K,+PAAyK,YAA1F;;wBAA+B;MAA9G,wBAAyK;4GAUzK,+PAA2K,YAA5F;;wBAA+B;MAA9G,wBAA2K;4GAY3K,+PAAgK,YAAjF;;wBAA+B;MAA9G,wBAAgK;4GAchK,+PAAgK,YAAjF;;wBAA+B;MAA9G,wBAAgK;4GAahK,+PAAgK,YAAjF;;wBAA+B;MAA9G,wBAAgK;4GAvM9K,wKAA4D,KAC1D,wOAAoG,KAClG,2QAA2H,KACzH,uJAAiC,KAC/B,gMAA8D,KAC5D,8IAAwB,KACtB,4XACe,YADgI;;;wBAChK;MADiB,wBACe,KACb,yHAAO,4FAAe,MACtB,iZAA2K,IAQnL,wJAAiC,KAC/B,iMAA8D,KAC5D,+IAAwB,KACtB,qYAA0S,YAApJ;;;;wBAAmH;MAAzQ,wBAA0S,KACxS,0HAAO,8FAAiB,MACxB,iZAA4K,IAMpL,wJAAiC,KAC/B,uNAA8E,KAC5E,+IAAwB,KACtB,6WACsG,YAAnG;;;wBAAwE;MAD3E,wBACsG,KACpG,0HAAO,uFAAU,MACjB,iZAC0F,IAMlG,wJAAiC,KAC/B,uNAA8E,KAC5E,+IAAwB,KACtB,6WAA2Q,YAAtI;;;;wBAA4G;MAAjP,wBAA2Q,KACzQ,0HAAO,0FAAa,MACpB,iZAAuK,IAQ/K,wJAAiC,KAC/B,uNAA8E,KAC5E,+IAAwB,KACtB,6WACwI,YAArI;;;;wBAA0G;MAD7G,wBACwI,KACtI,0HAAO,yFAAY,MACnB,iZAAsK,IAK9K,wJAAiC,KAC/B,uNAA8E,KAC5E,+IAAwB,KACtB,oXAC4I,YAAzI;;;;wBAA4G;MAD/G,wBAC4I,KAC1I,qdAAqF,GAA9E,yEAA6E,MAAC,oFAAY,MACjG,iZAAiK,IAMzK,wJAAiC,KAC/B,uNAA8E,KAC5E,+IAAwB,KACtB,4XAAmS,YAAlJ;;;;wBAAqH;MAAtQ,wBAAmS,KACjS,0HAAO,gGAAmB,MAC1B,iZAA2K,IASnL,wJAAiC,KAC/B,wNAA+E,KAC7E,+IAAwB,KACtB,6WACsI,YAAnI;;;;wBAAwG;MAD3G,wBACsI,KACpI,0HAAO,uFAAU,MACjB,iZAAuK,IAS/K,wJAAiC,KAC/B,uNAA8E,KAC5E,+IAAwB,KACtB,qWAA6R,YAAvI;;;;wBAAsI;MAA5R,wBAA6R,KAC3R,0HAAO,8FAAiB,MACxB,iZAAkK,IAO1K,wJAAiC,KAC/B,uNAA8E,KAC5E,+IAAwB,KACtB,oVAC2G,YAA9E;;;wBAA6E;MAD1G,wBAC2G,KACzG,0HAAO,6FAAgB,MACvB,iZAAwJ,IAWhK,wJAAiC,KAC/B,uNAA8E,KAC5E,+IAAwB,KACtB,mZAA6U,YAAtK;;;;wBAAwI;MAA/S,wBAA6U,KAC3U,0HAAO,6FAAgB,MACvB,iZAA6K,IAKrL,wJAAiC,KAC/B,uNAA8E,KAC5E,+IAAwB,KACtB,uXAAsR,YAAxI;;;;wBAA6G;MAA3P,wBAAsR,KACpR,0HAAO,0FAAa,MACpB,kZAAyK,IAKjL,yJAAiC,KAC/B,wNAA8E,KAC5E,gJAAwB,KACtB,sYAAiS,YAAvI;;;;wBAA0G;MAApQ,wBAAiS,KAC/R,2HAAO,oGAAuB,MAC9B,kZAA2K,IAMnL,yJAAiC,KAC/B,wNAA8E,KAC5E,gJAAwB,KACtB,gYACwK,YAApI;;;;wBAAmI;MADvK,wBACwK,KACtK,2HAAO,iGAAoB,MAC3B,kZAAgK,IAQxK,yJAAiC,KAC/B,wNAA8E,KAC5E,gJAAwB,KACtB,gYACmK,YAAjI;;;;wBAAgI;MADlK,wBACmK,KACjK,2HAAO,+FAAkB,MACzB,kZAAgK,IAOxK,yJAAiC,KAC/B,wNAA8E,KAC5E,gJAAwB,KACtB,gXAC2I,YAAjH;;;;wBAAgH;MAD1I,wBAC2I,KACzI,2HAAO,uFAAU,MACjB,kZAAgK,IAOxK,yJAAiC,KAC/B,wNAA8E,KAC5E,gJAAwB,KACtB,0VACmC,YAApB;;wBAAmB;MADlC,wBACmC,KACjC,yKAAiD,mFAAM,mDA1MwD,gEAA2D,iBAA1K,aAA2K,EAA5D,SAA2D,GAa3D,iEAA4D,iBAA3K,aAA4K,EAA7D,SAA4D,GAazI,4DAAuD,iBADzF,aAC0F,EAAxD,SAAuD,GAWsB,4DAAuD,iBAAtK,aAAuK,EAAxD,SAAuD,GAcvD,2DAAsD,iBAArK,aAAsK,EAAvD,SAAsD,GAU9J,wFAA6E,IAApF,aAAqF,EAA9E,SAA6E,GACC,oDAAqC,GAA1H,aAAiK,EAA5E,SAAqC,GAWX,gEAA2D,iBAA1K,aAA2K,EAA5D,SAA2D,GAe3D,4DAAuD,iBAAtK,aAAuK,EAAxD,SAAuD,GAcvD,uDAAkD,iBAAjK,aAAkK,EAAnD,SAAkD,GAalD,sDAAwC,GAAvJ,aAAwJ,EAAzC,UAAwC,GAgBxC,mEAA6D,iBAA5K,aAA6K,EAA9D,UAA6D,GAU7D,+DAAyD,iBAAxK,cAAyK,EAA1D,UAAyD,GAUzD,iEAA2D,iBAA1K,cAA2K,EAA5D,UAA2D,GAY3D,sDAAgD,iBAA/J,cAAgK,EAAjD,UAAgD,GAchD,sDAAgD,iBAA/J,cAAgK,EAAjD,UAAgD,GAahD,sDAAgD,iBAA/J,cAAgK,EAAjD,UAAgD;4GAzPjL,2NAA0N,YAA9M;;wBAAoC;MAAsG;;wBAAmE;MAAzN,8dAA0N,MAExN,oKAAgD,KAC9C,qNAAyF,KAEzF,yNAAiF,YAAxC;;wBAAuC;MAAhF,wBAAiF,KAC/E,yMAA+E,KAEjF,yQAA4I,KAC1I,8NAAkG,KAChG,kLAAsD,KAEpD,iZAAsF,IACtF,iZAA2H,IAG/H,0LAA4D,KAC1D,0NAA6F,KAC3F,yHAAM,iFAAoB,MAE5B,yMAA4E,KAC1E,yHAAM,uFAA6D,MAErE,yMAA4E,KAC1E,yHAAM,iFAA0B,MAElC,mMAAsE,KACpE,uKAA0C,8HAAM,oGAAuC,MAEzF,mMAAsE,KACpE,uKAA0C,8HAAM,gGAAwB,MAE1E,mMAAsE,KACpE,uKAA0C,8HAAM,6NAA8H,IAGhL,mMAAsE,KACpE,uKAA0C,8HAAM,gOAAiI,IAavL,iZAA4D,iDAlD4C,qBAAkB,EAAlH,mBAAoC,yBAA+E,qBAAsB,EAArJ,YAA0N,EAA9G,SAAkB,EAAlH,SAAoC,EAA+E,SAAsB,GAY5E,mBAAsB,iBAArF,aAAsF,EAAvB,SAAsB,GACc,oBAAuB,iBAA1H,aAA2H,EAAxB,SAAuB,GAqCtF,qBAAiB,WAA3D,aAA4D,EAAlB,UAAiB,mDAhC/C,8DAAoB,GAGpB,wHAA6D,GAG7D,+DAA0B,GAGgB,gEAAuC,GAGvC,qDAAwB,GAGxB,gcAA8H,GAI9H,gcAAiI;4GAuPzL,kLAA2F,KACzF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAErF,mNAAsH,KACpH,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAGrF,iLAA+K,KAC7K,kMAA4F,YAAvE;;wBAAqC;MAA1D,g1BAA4F,mDAAjC,mBAAgC,kBAA3F,YAA4F,EAAjC,SAAgC;4GAI7F,kLAA2F,KACzF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAErF,mLAA0F,KACxF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAErF,kLAAyF,KACvF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAErF,kLAAyF,KACvF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAErF,kLAAyF,KACvF,s5BAAmD,iDAA3B,mBAA0B,oBAAlD,YAAmD,EAA3B,SAA0B;4GAGpD,kLAAyF,KACvF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAErF,kLAAyF,KACvF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAGrF,kLAAoG,KAClG,u7BAA8E,iDAAtD,2BAAoB,EAAC,mBAAgC,mBAA7E,YAA8E,EAAtD,SAAoB,EAAC,SAAgC;4GAG/E,kLAAyF,KACvF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAGrF,iLAAoG,KAClG,msBAAkB;4GAGpB,iLAAgG,KAC9F,6tBAAa;4GAGf,iLAAyF,KACvF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAErF,iLAAyF,KACvF,u7BAAoF,iDAA5D,mBAA0B,oBAAC,mBAAgC,mBAAnF,YAAoF,EAA5D,SAA0B,EAAC,SAAgC;4GAErF,kLAAyF,KACvF,s5BAAmD,iDAA3B,mBAA0B,oBAAlD,YAAmD,EAA3B,SAA0B;4GA5DtD,wNAAkJ,YAAtI;;wBAAqC;MAAjD,8cAAkJ,MAEhJ,6YAA2F,IAG3F,6YAAsH,IAItH,6YAA+K,IAK/K,6YAA2F,IAG3F,8YAA0F,IAG1F,8YAAyF,IAGzF,8YAAyF,IAGzF,8YAAyF,IAIzF,8YAAyF,IAGzF,8YAAyF,IAIzF,8YAAoG,IAIpG,8YAAyF,IAIzF,8YAAoG,IAIpG,8YAAgG,IAIhG,8YAAyF,IAGzF,8YAAyF,IAGzF,8YAAyF,iDA3DoC,qBAAkB,EAA/D,0BAAmB,EAAzF,mBAAqC,0BAAjD,YAAkJ,EAAnB,SAAkB,EAA/D,SAAmB,EAAzF,SAAqC,GAEvB,+CAAoC,GAA5D,YAA2F,EAAnE,SAAoC,GAGpC,+CAAoC,GAA5D,YAAsH,EAA9F,SAAoC,GAIP,oJAAyH,IAA9K,YAA+K,EAA1H,SAAyH,GAKtJ,+CAAoC,GAA5D,YAA2F,EAAnE,SAAoC,GAGpC,+CAAkC,GAA1D,aAA0F,EAAlE,SAAkC,GAGnC,+CAAkC,GAAzD,aAAyF,EAAlE,SAAkC,GAGlC,+CAAkC,GAAzD,aAAyF,EAAlE,SAAkC,GAGlC,gDAAkC,GAAzD,aAAyF,EAAlE,UAAkC,GAIlC,gDAAkC,GAAzD,aAAyF,EAAlE,UAAkC,GAGlC,gDAAkC,GAAzD,aAAyF,EAAlE,UAAkC,GAIlC,2DAA6C,GAApE,aAAoG,EAA7E,UAA6C,GAI7C,gDAAkC,GAAzD,aAAyF,EAAlE,UAAkC,GAIJ,4DAA8C,GAAnG,aAAoG,EAA/C,UAA8C,GAI9C,uDAA0C,GAA/F,aAAgG,EAA3C,UAA0C,GAI1C,gDAAmC,GAAxF,aAAyF,EAApC,UAAmC,GAGnC,gDAAmC,GAAxF,aAAyF,EAApC,UAAmC,GAGjE,gDAAkC,GAAzD,aAAyF,EAAlE,UAAkC;4GA8B3D,mNAA+H,YAA3F;;wBAA6B;MAAjE,4dAA+H,MAC7H,+KAAsD,KACpD,uqCAAe,iDAFoE,qBAAkB,EAArE,mBAA6B,kBAAyC,oBAAoB,EAA9H,YAA+H,EAAxC,SAAkB,EAArE,SAA6B,EAAyC,SAAoB,GAE1H,YAAe;4GAInB,8MAAgH,YAAjF;;wBAAwB;MAAvD,4dAAgH,MAC9G,gLAAyC,YAAnC;;wBAAkC;MAAxC,6+BAAyC,mDAD6B,qBAAkB,EAA3D,mBAAwB,aAAoC,oBAAoB,EAA/G,YAAgH,EAAxC,SAAkB,EAA3D,SAAwB,EAAoC,SAAoB,GAC7G,YAAyC;4GAgBnC,4IAAwC,KACtC;;;;;wBAA4G;MAArF;;wBAA+B;MAAC;;wBAAoD;MAA3G,0tCAA4G,yBAArF,kBAA+B,wCAAtD,YAA4G,EAArF,SAA+B,2BAAtD,8sBAA4G;4GAFhH,uKAAiF,KAC/E,gZAAwC,IAGxC,6IAAuB,KACrB,2MAAiG,YAAlD;;wBAAiD;MAAhG,wBAAiG,kFAEjG,mDANoB,gCAAiB,GAAvC,YAAwC,EAAlB,SAAiB,2BAId,0HAAuB,GAA9C,YAAiG,EAA1E,SAAuB,GAAmD,sEAEjG;4GAMJ,sKAA2E,KACzE;;;;;;;;;;;wBAAwJ;MAA/F;;wBAAuB;MAAhF,2yCAAwJ,iDAAhH,2BAAgB,EAAC,mBAAuB,YAAhF,YAAwJ,EAAhH,SAAgB,EAAC,SAAuB,2BAAhF,8sBAAwJ;4GAK1J,iMAAuF,KACrF,6OAA+E,YAAzD;;wBAAuB;MAA7C,wBAA+E,iFAAI;4GAErF,+MAAsG,KACpG,6OAA6E,YAAvD;;wBAAqB;MAA3C,wBAA6E,6FAAgB;4GAlCnG,ujBAA4I,IAC1I,uNAA2F,KACzF,6IAAuB,2GAEvB,MAEA,4KAAgD,KAC9C,+OAAgI,YAA3H;;;wBAA8D;MAAnE,wBAAgI,KAGpI,+NAAmG,KACjG,ydAAiF,IAYnF,+NAAkG,KAChG,iZAA2E,IAK7E,+NAAkG,KAChG,iZAAuF,IAGvF,iZAAsG,iDAjCrG,0FAA6E,GAAlF,YAA4I,EAAvI,SAA6E,GAWvD,mBAAqC,mBAA5D,YAAiF,EAA1D,SAAqC,GAavD,+CAAgC,GAArC,aAA2E,EAAtE,SAAgC,GAMA,gCAAiB,GAAtD,aAAuF,EAAlD,SAAiB,GAGhC,iCAAkB,GAAxC,aAAsG,EAAhF,SAAkB;4GAmBb,uJAA2F,8EAAC;4GADnH,2MAA4H,YAAlD;;wBAAiD;MAA3H,wBAA4H,kFACrG,sZAA2F,iDAA1D,yFAAyD,mBAA1F,YAA2F,EAA1D,SAAyD,2BAD/D,iIAAuB,GAAzE,YAA4H,EAA1E,SAAuB,GAAmD,8EACrG;4GAID,uJAA2F,8EAAC;4GADlH,2MAA4H,YAAlD;;wBAAiD;MAA3H,wBAA4H,kFACtG,sZAA2F,iDAA1D,yFAAyD,mBAA1F,YAA2F,EAA1D,SAAyD,2BAD9D,iIAAuB,GAAzE,YAA4H,EAA1E,SAAuB,GAAmD,6EACtG;4GAGxB,4IAAgF,KAC9E,kPAAkI,YAA7H;;wBAA6D;MAAlE,wBAAkI;4GAEpI,4IAAgF;4GAdlF,6IAAgE,KAC9D,6IAAuB,KAErB,gZAA4H,IAI5H,gZAA4H,IAI9H,gZAAgF,IAGhF,gZAAgF,iDAXxE,qDAA0B,GAAhC,YAA4H,EAAtH,SAA0B,GAI1B,qDAA0B,GAAhC,YAA4H,EAAtH,SAA0B,GAIZ,kFAAyD,mBAA/E,YAAgF,EAA1D,SAAyD,GAGzD,kFAAyD,mBAA/E,YAAgF,EAA1D,SAAyD;4GAxBrF,yjBAAmJ,IACjJ,uNAA2F,KACzF,6IAAuB,gHAEvB,MACA,4KAAgD,KAC9C,+OAAoI,YAA/H;;;wBAAkE;MAAvE,wBAAoI,KAGxI,+NAAmG,KACjG,ydAAgE,iDAV/D,0FAA6E,GAAlF,YAAmJ,EAA9I,SAA6E,GAUvD,mBAAwC,sBAA/D,YAAgE,EAAzC,SAAwC;4GAjDrE,kNAAwK,YAA/G;;wBAAkD;MAA3G,4dAAwK,MACtK,6YAA4I,IAsC5I,6YAAmJ,iDAvCrB,qBAAkB,EAAzF,0CAAkD,sBAAwC,oBAAoB,EAAvK,YAAwK,EAAxC,SAAkB,EAAzF,SAAkD,EAAwC,SAAoB,GAChD,mBAAsB,iBAA3I,YAA4I,EAAvB,SAAsB,GAsCnB,mBAA0B,qBAAlJ,YAAmJ,EAA3B,SAA0B;4GAuC9I,qJAAqE,qIAAwD;4GAC7H,qJAAqE,iQAIrE;4GAVN,qNAA6G,YAAjG;;wBAA8B;MAA1C,2bAA6G,MAC3G,uKAA6C,KAC3C,oKAA8C,8FAAiB,MAAS,sHAAM,KAC9E,uLAA2D,KACzD,qJAA+B,uGAA0B,MAAQ,sHAAM,KACvE,iZAAqE,IACrE,iZAAqE,IAMvE,qMAAwE,KACtE,qKAAwC,KACtC,yRAAmJ,YAA3C;;wBAA0C;MAAlJ,wBAAmJ,+EAAE,MAEvJ,qKAAwC,KACtC,uRAAuI,YAAjC;;wBAAgC;MAAtI,wBAAuI,mFAAM,mDAjB3D,qBAAkB,EAAhG,mBAA8B,mBAA1C,YAA6G,EAAnB,SAAkB,EAAhG,SAA8B,GAKL,yCAAqC,kBAApE,aAAqE,EAAtC,SAAqC,GACrC,yCAAqC,kBAApE,aAAqE,EAAtC,SAAqC;4GAiB1E,iNAAyH,YAAvF;;wBAA2B;MAA7D,4dAAyH,MACvH,+KAAsD,KACpD,08BAAyC,iDAFoC,qBAAkB,EAAjE,mBAA2B,gBAAuC,oBAAoB,EAAxH,YAAyH,EAAxC,SAAkB,EAAjE,SAA2B,EAAuC,SAAoB,GAElG,wBAAsB,EAAxC,YAAyC,EAAvB,SAAsB;4GA0B5C,6MAAuG,YAA3E;;wBAAqB;MAAjD,4dAAuG,MACrG,kNAAyF,KACzF,mOACkD,KAChD,6IAAuB,KACrB,kKAA4C,sFAAS,MAEvD,yKAA6C,KAC3C,0PAAmG,YAAzB;;wBAAwB;MAAlG,wBAAmG,KAIvG,gMAAsE,KAEpE,mMAAsE,KACpE;;;;;;;;;;;wBAEmD;MAFP;;wBAAiC;MAA7E,2xCAEmD,wFACnD,MAEF,wNAA0F,KACxF;;;;;;;;;;;;;;;;;wBAA4H;MAAvD;;wBAA+B;MAApG,y0DAA4H,IAC5H,6PAA+G,YAAnC;;wBAAkC;MAA9G,wBAA+G,sFAAS,MAExH;;;;;;;;;;;;;;;;;wBAAwH;MAAvD;;wBAA+B;MAAhG,y0DAAwH,IACxH,4PAA2H,YAAhD;;wBAA+C;MAA1H,wBAA2H,wFAAW,MAEtI;;;;;;;;;;;;;;;;;wBAAuH;MAAxD;;wBAA+B;MAA9F,y0DAAuH,IACvH,2PAA0G,YAAhC;;wBAA+B;MAAzG,wBAA0G,4FAAe,MAEzH;;;;;;;;;;;;;;;;;wBAA6H;MAAxD;;wBAA+B;MAApG,y0DAA6H,IAC7H,8PAAgH,YAAnC;;wBAAkC;MAA/G,wBAAgH,2FAAc,MAE9H;;;;;;;;;;;;;;;;;wBAAqI;MAAxD;;wBAA+B;MAA5G,y0DAAqI,IACrI,kQAAwH,YAAvC;;wBAAsC;MAAvH,wBAAwH,0FAAa,MAErI;;;;;;;;;;;;;;;;;wBAA0I;MAA7E;;wBAA+B;MAA5F,y0DAA0I,IAC1I,0PAAwG,YAA/B;;wBAA8B;MAAvG,wBAAwG,0FAAa,MAErH,uKAA4C,KAC5C,8NAAiG,4FAAe,MAEhH,oMAAiE,KACjE,8NAAiG,0FAAa,MAE9G,oMAAiE,KACjE,8NAAiG,0FAAa,MAE9G,oMAAiE,KACjE,8NAAiG,0FAAa,MAE9G,oMAAiE,KACjE,8NAAiG,0FAAa,MAE9G,oMAAiE,KACjE,8NAAiG,0FAAa,MAE9G,oMAAiE,KACjE,8NAAiG,0FAAa,MAE9G,oMAAiE,KACjE,8NAAiG,0FAAa,MAE9G,oMAAiE,KACjE,8NAAiG,0FAAa,MAE9G,uTAA6J,YAAxB;;wBAAuB;MAA5J,wBAA6J,mFAE7J,mDApEyD,qBAAkB,EAArD,mBAAqB,UAAiC,oBAAoB,EAAtG,YAAuG,EAAxC,SAAkB,EAArD,SAAqB,EAAiC,SAAoB,GAepD,oBAAiC,sBAA7E,aAEmD,EAFP,UAAiC,GAMzD,6BAAiB,EAAe,2BAAgB,EAApE,aAA4H,EAAxG,UAAiB,EAAe,UAAgB,GAAhD,6BAAiB,EAAgC,oBAA+B,oBAApG,aAA4H,EAAxG,UAAiB,EAAgC,UAA+B,GAGhF,6BAAiB,EAAa,yBAAc,EAAhE,aAAwH,EAApG,UAAiB,EAAa,UAAc,GAA5C,6BAAiB,EAA4B,oBAA+B,oBAAhG,aAAwH,EAApG,UAAiB,EAA4B,UAA+B,GAG5E,6BAAiB,EAAY,wBAAa,EAA9D,aAAuH,EAAnG,UAAiB,EAAY,UAAa,GAA1C,6BAAiB,EAA0B,oBAA+B,oBAA9F,aAAuH,EAAnG,UAAiB,EAA0B,UAA+B,GAG1E,6BAAiB,EAAe,2BAAgB,EAApE,aAA6H,EAAzG,UAAiB,EAAe,UAAgB,GAAhD,6BAAiB,EAAgC,oBAA+B,oBAApG,aAA6H,EAAzG,UAAiB,EAAgC,UAA+B,GAGhF,6BAAiB,EAAmB,+BAAoB,EAA5E,aAAqI,EAAjH,UAAiB,EAAmB,UAAoB,GAAxD,6BAAiB,EAAwC,oBAA+B,oBAA5G,aAAqI,EAAjH,UAAiB,EAAwC,UAA+B,GAGxF,6BAAiB,EAAW,uBAAY,EAA5D,aAA0I,EAAtH,UAAiB,EAAW,UAAY,GAAxC,6BAAiB,EAAwB,oBAA+B,oBAA5F,aAA0I,EAAtH,UAAiB,EAAwB,UAA+B,2BArB5F,stBAEmD,GAInD,ouBAA4H,GAG5H,ouBAAwH,GAGxH,ouBAAuH,GAGvH,ouBAA6H,GAG7H,ouBAAqI,GAGrI,ouBAA0I;4GAwChJ,sNAAkQ,YAAtP;;wBAAgC;MAA4E;;;;wBAAkE;MAA1L,gjBAAkQ,MAChQ,yLAAoG,YAArC;;wBAAoC;MAAnG,svBAAoG,mDADqF,qBAAkB,EAAjM,mBAAgC,qBAAC,oBAAuB,EAAiK,uBAA4B,EAAnD,qBAAsB,EAApO,YAAkQ,EAAvE,SAAkB,EAAjM,SAAgC,EAAC,SAAuB,EAAiK,SAA4B,EAAnD,SAAsB,GACnN,mBAAsB,OAAC,mBAAwB,aAA9D,YAAoG,EAArF,SAAsB,EAAC,SAAwB;4GAGhE,uNAAmQ,YAAvP;;wBAAwB;MAAqF;;;;wBAAkE;MAA3L,mkBAAmQ,MACjQ,2LAAqM,YAArC;;wBAAoC;MAApM,uuCAAqM,mDADX,qBAAkB,EAA9H,sBAAe,EAAnF,mBAAwB,aAAC,oBAAuB,EAA0K,uBAA4B,EAAnD,qBAAsB,EAArO,YAAmQ,EAAvE,SAAkB,EAA9H,SAAe,EAAnF,SAAwB,EAAC,SAAuB,EAA0K,SAA4B,EAAnD,SAAsB,GACzN,mBAAS,KAAe,mBAAa,OAA3B,kBAAa,EAAiC,oBAAmB,EAAC,sBAAsB,EAA5D,sBAAiB,EAAiE,oBAA6B,eAAlD,qBAAoB,EAAjI,YAAqM,EAA3L,SAAS,EAAe,SAAa,EAA3B,SAAa,EAAiC,SAAmB,EAAC,UAAsB,EAA5D,UAAiB,EAAiE,UAA6B,EAAlD,UAAoB;4GAe3H,oKAA+D,KAC7D,wRACwC,YAAhC;;wBAA+B;MADvC,wBACwC,iFAExC;4GAEF,oKAAiE,KAC/D,wRAC0C,YAAlC;;wBAAiC;MADzC,wBAC0C,mFAE1C;4GAEF,oKAAoE,KAClE,wWAA6N,YAArC;;wBAAoC;MAA5N,wBAA6N,oFAAO;4GAEtO,oKAAmE,KACjE,wWAA4N,YAApC;;wBAAmC;MAA3N,wBAA4N,mFAAM;4GA5B5O,8MAAwF,YAA5E;;wBAAuB;MAAnC,2bAAwF,MACtF,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,gFAAmB,MAAM,sHAAM,KACxH,wLAA4D,iFAAyB,MAEvF,yLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,iZAA+D,IAM/D,iZAAiE,IAMjE,iZAAoE,IAGpE,iZAAmE,iDA3BN,qBAAkB,EAA3E,mBAAuB,YAAnC,YAAwF,EAAnB,SAAkB,EAA3E,SAAuB,GAYa,mBAAsB,iBAA9D,aAA+D,EAAvB,SAAsB,GAMtB,mBAAwB,mBAAhE,aAAiE,EAAzB,SAAwB,GAMxB,mBAA2B,sBAAnE,aAAoE,EAA5B,SAA2B,GAG3B,mBAA0B,qBAAlE,aAAmE,EAA3B,SAA0B,mDAvBqB,4DAAmB,GAChD,mEAAyB;23BA/lD7F,wLAAwD,KACxD,qLAAqD,KACrD,0LAAyD,KACzD,sMAAqE,KAErE,mJAA0B,KACxB,uMAAyE,KACvE,6LAAgE,KAC9D,+YAA6I,IAC7I,+YAA8I,IAEhJ,0MAA6E,gJAE7E,IACA,+LAAiE,KAC/D,oOAAgG,KAC9F,qJAA6B,KAC3B,yKAA2C,KACzC,gSAAuJ,KAEvJ,sQAAuH,KACrH,+YAAiJ,IACjJ,+YAAkJ,IAGpJ,qVAC8D,YAD0B;;wBAA4C;MAApI,wBAC8D,KAC5D,+YAA4H,IAC5H,+YAAmI,IAErI,kUAC8D,YADO;;wBAA4C;MAAjH,wBAC8D,KAC5D,+YAAwH,IACxH,+YAA+H,IAEjI,wUAC8D,YADa;;wBAA6C;MAAxH,wBAC8D,KAC5D,+YAAyH,IACzH,gZAAgI,IAElI,8UAC8D,YADmB;;;wBAA0E;MAA3J,wBAC8D,KAC5D,gZAAiJ,IACjJ,gZAAgI,IAElI,0VAC8D,YAD+B;;;wBAAwF;MAArL,wBAC8D,KAC5D,gZAAgI,IAChI,gZAAsI,IAGxI,wVACoJ,YAAtF;;;wBAAqF;MADnJ,wBACoJ,KAClJ,gZAA+H,IAC/H,gZAAsI,IAGxI,sSAAuJ,KACrJ,gZAAwL,IACxL,gZAAyL,IAG3L,4RAA6I,KAC3I,gZAAqK,IACrK,gZAA4K,IAI9K,yRAA0I,KACxI,gZAAmL,IACnL,gZAA0I,IAG5I,0SAA2J,KACzJ,gZAAqK,IACrK,gZAA+J,IAGjK,iUAAkM,YAA/J;;;wBAAmE;MAAtG,wBAAkM,KAChM,gZAAwG,IACxG,gZAA+G,IAIjH,iRAAkI,KAChI,gZAAuM,IACvM,gZAAuM,IAGzM,iVAAmO,YAA5M;;;wBAAoF;MAA3G,wBAAmO,KACjO,gZAAuH,IACvH,gZAA8H,IAEhI,2QAA4H,KAC1H,6PAAwH,YAAnH;;wBAAyC;MAA9C,wBAAwH,KAE1H,2QAA4H,KAC1H,6PAAuH,YAAlH;;wBAAyC;MAA9C,wBAAuH,KAQjI,oOAAsG,sFAEpG,uZAAoE,IACpE,iZAAmE,IAErE,8NAAgG,KAC9F,2QAAuI,YAApF;;wBAA2C;MAA9F,wBAAuI,KAG7I,mMAAqE,KACnE,mSAAoK,KAClK,8NAAgG,+JAEhG,MACA,sNAAuF,KACrF,0NAA8F,YAAtD;;;wBAAqD;MAA7F,wBAA8F,KAC5F,iZAA2N,IAC3N,iZAAuO,IAEzO,0NAAgI,YAAxF;;;wBAAuF;MAA/H,wBAAgI,KAC9H,iZAA4H,IAC5H,iZAA+H,IAEjI,0NAAuF,YAA/C;;;wBAA8C;MAAtF,wBAAuF,KACrF,iZAA6H,IAC7H,iZAA6H,IAoBnI,2RAAqK,KACnK,6LAA8D,KAC5D,2LAA6D,KAC3D,uJAA+B,sFAAS,MAE1C,kNAAmF,KACjF;;;;;wBAI8D;MAJlB;;wBAAiC;MACvD;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAJ7D,wwEAI8D,IAIlE,4OAA6G,KAC3G,4MAA8E,KAC5E,oSAAwM,YAAhF;;wBAAkC;MAA1J,mnDAAwM,MAE1M,qOAAuG,KACrG,6QAAmL,YAAhF;;wBAAkC;MAArI,mnDAAmL,MAGrL,6MAA+E,KAC7E,wNAA0F,iFAAI,MAC9F,6KAA+C,KAC7C;;;;;;;;;;;wBAAyJ;MAA1E;;wBAAsB;MAAC;;wBAAkD;MAAxJ,izCAAyJ,IAKjK,+LAA6D,KAC7D,iMAA+D,KAE/D,iZAAkE,IAelE,6LAAkD,YAAtC;;wBAAqC;MAAjD,kaAAkD,MAChD,iOAAqG,KACnG,6KAA8C,KAC5C,yHAAK,oLAAiD,kFAAuB,MAC7E,mJAA2B,kFAAoB,MAC/C,yHAAK,kFAAoB,MACzB,yHAAK,KACH,0HAAM,qGAA0E,MAIpF,8IAAsB,KACpB,wHAAI,gGAAmB,MAEzB,6KAA+C,KAC7C,yHAAK,4HAAG,sFAAS,MAAI,6EAAuB,MAC5C,qJAA6B,+OAA+E,YAAzC;;wBAAsB;MAA5D,wBAA+E,0FAAa,MAI7H,qLAAyD,KACvD,sQAAyI,YAAzF;;wBAAiC;MAAjF,+rBAAyI,MAEzI,iOAA6F,KAC3F,oNAAgF,KAC9E,0SAAyI,YAAzG;;wBAAsB;MAAtD,wBAAyI,wFAAW,MAEtJ,oNAAgF,KAC9E,2RAAwH,YAAzF;;wBAAoB;MAAnD,wBAAwH,sFAAS,MAMvI,8PAA4H,KAC1H,2MAAsE,KACpE,iKAAmC,sMAAiD,YAA5B;;wBAA2B;MAAhD,wBAAiD,gFAAG,MACvF,wHAAI,sMAA4D,YAAvC;;wBAAsC;MAA3D,wBAA4D,0FAAa,MAC7E,wHAAI,sMAA4D,YAAvC;;wBAAsC;MAA3D,wBAA4D,kFAAK,MACrE,wHAAI,sMAAqD,YAAhC;;wBAA+B;MAApD,wBAAqD,kFAAK,MAC9D,wHAAI,sMAAiD,YAA5B;;wBAA2B;MAAhD,wBAAiD,+FAAkB,MAGzE,iJAAyB,KACvB,6KAA+C,KAC7C,2PAS0D,YAAzC;;wBAAwC;MATzD,2jDAS0D,MAalE,wIAAsC,KACpC,sMAAuE,KAErE,2LAA4D,KAC1D,+MAAgF,KAC9E,8IAAsB,KACpB,2HAAO,qFAAQ,MAEjB,wKAA0C,KACxC;;;;;wBAAkH;MAA5E;;wBAAgC;MAAmB;;wBAAwB;MAAjH,guCAAkH,sFAAU,8HAAI,KAElI,wKAA0C,KACxC;;;;;wBAAoI;MAAxF;;wBAAgC;MAAyB;;wBAA8B;MAAnI,guCAAoI,6FAAiB,8HAAI,KAMjK,8gBAc+C,YAd8I;;wBAA+B;MAQ3M;;wBAAsC;MACtC;;wBAAiD;MACjD;;wBAAuC;MAEvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAA6B;MAd9C,0wDAc+C,MAIjD,2MAAmG,KACjG,iZAE8F,IA2O9F,iZAAi0B,IAGj0B,iZAAoF,IAGpF,iZAA2G,IAG3G,iZAA4G,IAG5G,iZAA2G,IAG3G,iZAAmH,IAKnH,iZAAsH,IAGtH,iZAAqH,IAGrH,kZAAqH,IAGrH,kZAAyG,IAGzG,kZAAmH,IAInH,kZAC0D,IA+BtD,kZAA2H,IAG3H,kZAAsH,IAGtH,kZAAgH,IAGhH,kZAAmH,IAIzH,iMAA+D,KAC/D,oMAAkE,KAClE,kZAAyH,IA4BzH,kZAA0I,IAmB1I,6LAAyC,YAA7B;;wBAA4B;MAAxC,kaAAyC,MACvC,qKAA+C,KAC7C,iJAAyB,2FAAc,MAAQ,wHAAM,KACrD,0HAAM,2HAA4C,MAClD,wHAAM,KAEN,iJAAyB,mHAAsC,MAAQ,wHAAM,KAC7E,qJAA6B,6IAA4D,MAG7F,6LAAmC,YAAvB;;wBAAsB;MAAlC,kaAAmC,MACjC;;;;;;sxBAAwD,IAEtD,gJAAwB,KACtB,+IAAuB,KACrB,sJAA8B,4FAAe,MAC7C,uWAAkL,YAAjG;;wBAAuB;MAAxG,wBAAkL,KAGtL,gJAAwB,KACtB,+IAAuB,KACrB,uWAAkL,YAAjF;;wBAAuB;MAAxH,wBAAkL,KAClL,iNAAmF,mGAAsB,MAG7G,gJAAwB,KACtB,+IAAuB,KACrB,sRAAyH,YAAnG;;wBAA0B;MAAhD,wBAAyH,mFAAM,MAOvI,kZAAmE,IAenE,6LAAkD,YAAtC;;wBAAqC;MAAjD,kaAAkD,MAChD,uKAAiD,KAC/C,uJAA+B,uFAAU,MAAQ,wHAAM,6HAAM,6HAAM,KACnE,0HAAM,mJAAsE,MAC5E,wHAAM,6HAAM,6HAAM,KAClB,0HAAM,+HAAkD,MAExD,+KAAiD,KAC/C,gVAAyM,YAAjM;;wBAAoC;MAA5C,wBAAyM,0FAAa,MAK5N,6LAAuD,YAA3C;;wBAA0C;MAAtD,kaAAuD,MACrD,6KAAuD,KACrD,uKAA+C,KAAI,uHAAG,uGAA0B,MAChF,uKAA+C,+HAAM,yIAA4D,MAAa,wHAAM,KACpI,0HAAM,uVAIN,MAAO,wHAAM,6HAAM,KACnB,0HAAM,gZAIN,MACA,wHAAM,6HAAM,KACZ,0HAAM,gJAEN,MAAO,wHAAM,KAKjB,kZAAwK,IAqExK,kZAA8F,IAqB9F,6LAAmE,YAAvD;;wBAAmC;MAA/C,6bAAmE,MACjE,iLAAqD,KACnD,mPAAqH,4JAA+B,6FAAgB,MACpK,oLAAqD,KACnD,kLAAoD,KAClD,6PAAgI,YAA3D;;wBAA0D;MAA/H,wBAAgI,KAElI,kZAAiE,IAWjE,uNAAkF,KAChF;;;;;wBAKoE;MALE;;wBAAiC;MAEjF;;wBAAuC;MACvC;;wBAA2C;MAC3C;;wBAAyC;MACzC;;wBAA6C;MALnE,qyEAKoE,IAElE,kZAA+C,IAMnD,kZAAyK,IAY/K,kZAA+F,IAyC/F,wNAAsF,YAA1E;;wBAA+B;MAA3C,6bAAsF,MACpF,6IAAuB,KACrB,sKAA8C,8FAAiB,MAAS,wHAAM,KAC9E,sJAA8B,oGAAuB,MAAO,wHAAM,KAClE,6JAAqC,KACnC,sJAA8B,6GAAgC,MAAO,wHAAM,KAE7E,2RAAiI,YAA7G;;wBAAuB;MAA3C,wBAAiI,+EAAE,MAqBvI,kZAA+G,IAgB/G,kZAAkH,IAwClH,kZAA4H,IAO5H,kZAA+H,IAkB/H,kZAA0N,IA0R1N,kZAAkJ,IAyFlJ,kZAA+H,IAM/H,kZAAgH,IAIhH,kZAAwK,IAyExK,kZAA6G,IAuB7G,kZAAyH,IA4BzH,kZAAuG,IA4EvG,kZAAkQ,IAIlQ,kZAAmQ,IAInQ,kZAAwF,iDAllD1C,sCAAuB,GAAjE,aAA6I,EAAnG,SAAuB,GACvB,uCAAwB,GAAlE,aAA8I,EAApG,SAAwB,GAYrD,4CAA+B,GAApC,aAAiJ,EAA5I,SAA+B,GAC/B,4CAA+B,GAApC,aAAkJ,EAA7I,SAA+B,GAK/B,kDAAqC,GAA1C,aAA4H,EAAvH,SAAqC,GACrC,kDAAqC,GAA1C,aAAmI,EAA9H,SAAqC,GAIrC,+CAAkC,GAAvC,aAAwH,EAAnH,SAAkC,GAClC,+CAAkC,GAAvC,aAA+H,EAA1H,SAAkC,GAIlC,iDAAoC,GAAzC,aAAyH,EAApH,SAAoC,GACpC,kDAAoC,GAAzC,aAAgI,EAA3H,UAAoC,GAIpC,gDAAkC,GAAvC,aAAiJ,EAA5I,UAAkC,GAClC,gDAAkC,GAAvC,aAAgI,EAA3H,UAAkC,GAIlC,qDAAuC,GAA5C,aAAgI,EAA3H,UAAuC,GACvC,oDAAsC,GAA3C,aAAsI,EAAjI,UAAsC,GAKtC,qDAAuC,GAA5C,aAA+H,EAA1H,UAAuC,GACvC,qDAAuC,GAA5C,aAAsI,EAAjI,UAAuC,GAIa,iDAAmC,GAA5F,aAAwL,EAA/H,UAAmC,GACnC,iDAAmC,GAA5F,aAAyL,EAAhI,UAAmC,GAIvC,oDAAsC,GAA3F,aAAqK,EAAhH,UAAsC,GACtC,oDAAsC,GAA3F,aAA4K,EAAvH,UAAsC,GAKtC,mDAAqC,GAA1F,aAAmL,EAA9H,UAAqC,GACrF,mDAAqC,GAA1C,aAA0I,EAArI,UAAqC,GAIO,qBAAiB,WAAlE,aAAqK,EAApH,UAAiB,GACtB,oBAAgB,WAA5D,aAA+J,EAAnH,UAAgB,GAIvD,4CAA8B,GAAnC,aAAwG,EAAnG,UAA8B,GAC9B,4CAA8B,GAAnC,aAA+G,EAA1G,UAA8B,GAK4B,qBAAiC,2BAAhG,aAAuM,EAAxI,UAAiC,GAChC,oBAAgC,2BAAhG,aAAuM,EAAvI,UAAgC,GAI3F,iDAAmC,GAAxC,aAAuH,EAAlH,UAAmC,GACnC,iDAAmC,GAAxC,aAA8H,EAAzH,UAAmC,GAgBpB,uDAAuC,GAAnE,cAAoE,EAAxC,UAAuC,GAC9D,sDAAsC,GAA3C,cAAmE,EAA9D,UAAsC,GAapC,qLAA0I,IAA/I,cAA2N,EAAtN,UAA0I,GAC1I,qLAA0I,IAA/I,cAAuO,EAAlO,UAA0I,GAG1I,2CAA6B,GAAlC,cAA4H,EAAvH,UAA6B,GACwB,4CAA8B,GAAxF,cAA+H,EAArE,UAA8B,GAGnF,2CAA2B,GAAhC,cAA6H,EAAxH,UAA2B,GAC3B,0CAA0B,GAA/B,cAA6H,EAAxH,UAA0B,GA0BT,oBAAqB,eAA3C,cAI8D,EAJxC,UAAqB,GAAC,oBAAiC,sBAA7E,cAI8D,EAJlB,UAAiC,GAU7B,oBAAkC,yBAAC,oBAAoC,uBAAvH,cAAwM,EAAxJ,UAAkC,EAAC,UAAoC,GAGxF,oBAAgC,uBAAC,oBAAkC,qBAAlG,cAAmL,EAApJ,UAAgC,EAAC,UAAkC,GAMlC,4BAAgB,EAAC,oBAAsB,WAArG,cAAyJ,EAA3F,UAAgB,EAAC,UAAsB,GAQnE,oBAAuB,kBAAjE,cAAkE,EAAxB,UAAuB,GAerD,oBAAqC,0BAAjD,cAAkD,EAAtC,UAAqC,GAqB5B,oBAA8B,gBAAC,oBAAiC,kBAAjF,cAAyI,EAAxH,UAA8B,EAAC,UAAiC,GA0B5D,oBAAgC,mBAGhC,oBAAoB,WAFpB,oBAA8B,kBAI9B,oBAAmB,UAHnB,oBAAmC,oBAEnC,oBAAmB,UAEnB,qBAAsC,EARvD,cAS0D,EAPzC,UAAgC,EAGhC,UAAoB,EAFpB,UAA8B,EAI9B,UAAmB,EAHnB,UAAmC,EAEnC,UAAmB,EAEnB,UAAsC,GAuBoC,oBAAwB,aAAjH,cAAkH,EAAzB,UAAwB,GAGZ,oBAA8B,mBAAnI,cAAoI,EAA/B,UAA8B,GAO1H,qBAAiC,oBAGjC,qBAAqB,YAFrB,qBAA+B,mBAK/B,qBAA2C,sBAF3C,qBAAmB,UAFnB,qBAAmC,oBAGnC,qBAAmB,UAKnB,sBAAsC,EAXvD,cAc+C,EAb9B,WAAiC,EAGjC,WAAqB,EAFrB,WAA+B,EAK/B,WAA2C,EAF3C,WAAmB,EAFnB,WAAmC,EAGnC,WAAmB,EAKnB,WAAsC,GAQlD,qBAAgB,WAArB,cAE8F,EAFzF,WAAgB,GA6OmD,usBAAwlB,wBAAhqB,cAAi0B,EAAzvB,WAAwlB,GAGzoB,uDAAwC,GAA/D,cAAoF,EAA7D,WAAwC,GAGxC,iDAAoC,GAA3D,cAA2G,EAApF,WAAoC,GAGnC,iDAAoC,GAA5D,cAA4G,EAApF,WAAoC,GAGrC,iDAAoC,GAA3D,cAA2G,EAApF,WAAoC,GAGW,0DAA4C,GAAlH,cAAmH,EAA7C,WAA4C,GAK3F,8DAA+C,GAAtE,cAAsH,EAA/F,WAA+C,GAGA,4DAA8C,GAApH,cAAqH,EAA/C,WAA8C,GAG9C,4DAA8C,GAApH,cAAqH,EAA/C,WAA8C,GAG7F,iDAAkC,GAAzD,cAAyG,EAAlF,WAAkC,GAGa,0DAA4C,GAAlH,cAAmH,EAA7C,WAA4C,GAK7G,kEAAoD,GADzD,cAC0D,EAArD,WAAoD,GA+BiB,kEAAoD,GAA1H,cAA2H,EAArD,WAAoD,GAGpD,6DAA+C,GAArH,cAAsH,EAAhD,WAA+C,GAG/C,uDAAyC,GAA/G,cAAgH,EAA1C,WAAyC,GAGzC,0DAA4C,GAAlH,cAAmH,EAA7C,WAA4C,GAMzE,qBAA4B,uBAA3E,cAAyH,EAA1E,WAA4B,GA4B9B,qBAA0B,qBAAvE,cAA0I,EAA7F,WAA0B,GAmB3D,qBAA4B,iBAAxC,cAAyC,EAA7B,WAA4B,GAU5B,qBAAsB,WAAlC,cAAmC,EAAvB,WAAsB,GAwB7B,qBAAgB,WAArB,cAAmE,EAA9D,WAAgB,GAeT,qBAAqC,0BAAjD,cAAkD,EAAtC,WAAqC,GAarC,qBAA0C,+BAAtD,cAAuD,EAA3C,WAA0C,GAsBjD,qBAAiB,YAAtB,cAAwK,EAAnK,WAAiB,GAqEgB,qBAAmB,cAAzD,cAA8F,EAAxD,WAAmB,GAqBT,uBAAkB,EAAtD,qBAAmC,wBAA/C,cAAmE,EAAnB,WAAkB,EAAtD,WAAmC,GAOlB,qBAAsB,iBAA7C,cAAiE,EAA1C,WAAsB,GAYC,qBAAyB,mBAC/C,qBAA4B,kBADlD,cAKoE,EALxB,WAAyB,EAC/C,WAA4B,GADoB,qBAAiC,sBAAvG,cAKoE,EALE,WAAiC,GAO5F,sDAAqC,GAA9C,cAA+C,EAAtC,WAAqC,GAMsE,+DAAgD,GAAxK,cAAyK,EAAjD,WAAgD,GAYzI,qBAAkB,aAAvD,cAA+F,EAA1D,WAAkB,GAyCX,uBAAkB,EAAlD,qBAA+B,oBAA3C,cAAsF,EAA1C,WAAkB,EAAlD,WAA+B,GA4BO,qBAA+B,0BAAjF,cAA+G,EAA7D,WAA+B,GAgB5C,qBAAkB,aAAvD,cAAkH,EAA7E,WAAkB,GAwCd,qBAAsB,iBAA/D,cAA4H,EAAnF,WAAsB,GAOd,qBAA8B,yBAA/E,cAA+H,EAA9E,WAA8B,GAkB9B,qBAA8B,yBAA/E,cAA0N,EAAzK,WAA8B,GA0R7B,qBAA+B,0BAAjF,cAAkJ,EAAhG,WAA+B,GAyFrE,qBAAuB,kBAAnC,cAA+H,EAAnH,WAAuB,GAMvB,qBAAkB,aAA9B,cAAgH,EAApG,WAAkB,GAIlB,4CAA4C,sBAAxD,cAAwK,EAA5J,WAA4C,GAyES,qBAAwB,mBAAzF,cAA6G,EAA5C,WAAwB,GAuB7E,qBAAqB,gBAAjC,cAAyH,EAA7G,WAAqB,GA4BrB,qBAAe,UAA3B,cAAuG,EAA3F,WAAe,GA4E0C,qBAA0B,qBAA/F,cAAkQ,EAA7L,WAA0B,GAIlC,qBAAkB,aAA/E,cAAmQ,EAAtM,WAAkB,GAI3C,qBAAiB,YAArD,cAAwF,EAApD,WAAiB,mDA/kD0B,mOAE7E,GAuGgG,mEAEhG,GAgCe,oBAA4B,oBAA7C,cAAqK,EAApJ,UAA4B,GAMvC,81BAI8D,GAe5D,4uBAAyJ,GA0BrG,oEAAuB,GAClD,iEAAoB,GAC1C,iEAAoB,GAEjB,6MAA0E,GAQ7D,oEAAuB,GAoD7C,oBAAgC,wBAArC,cAAsC,EAAjC,UAAgC,GAS3B,4uBAAkH,GAGlH,4uBAAoI,GAM3H,qBAA6B,eAAC,qBAAgC,wBAA/E,cAc+C,EAd9B,WAA6B,EAAC,WAAgC,GAkBtC,sBAAoC,wBAA/E,cAAmG,EAAxD,WAAoC,GA2X7E,0vBAAwD,GAsLlD,82BAKoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACn2B2B;AAC1C;AACN;AACM;AACpB;AACc;AACU;AACA;AACrB;AACA;AACC;AACP;AACwB;AACO;AAG/D,wFAAgB,CAAsC;AACtD,kFAAU,CAAsC;AACyB;AACH;AACnC;AAE+B;AACT;AAMS;AAW9B;AAGI;AAEF;AAEF;AACE;AAE9C;IAuSE,8BAAoB,qBAAsC,EAAU,IAAgB,EAAU,WAAwB,EAAU,KAAqB,EAC3I,iBAAsC,EAAU,QAAqB;IAC7E,8CAA8C;IACtC,gBAAkC,EAAU,MAAc,EAAU,KAAkB,EAAU,eAAgC,EAChI,MAAqB,EAAU,gBAAkC,EAAY,gBAAqC;QAJxG,0BAAqB,GAArB,qBAAqB,CAAiB;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,UAAK,GAAL,KAAK,CAAgB;QAC3I,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAErE,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAa;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAChI,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAY,qBAAgB,GAAhB,gBAAgB,CAAqB;QArS5H,YAAO,GAAG,KAAK,CAAC;QACT,oBAAe,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,cAAS,GAAY,KAAK,CAAC;QAEpB,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvG,eAAU,GAAW,EAAE,CAAC;QACxB,sBAAiB,GAAW,EAAE,CAAC;QAC/B,uBAAkB,GAAW,EAAE,CAAC;QAChC,uBAAkB,GAAW,WAAW,CAAC;QACzC,iBAAY,GAAY,KAAK,CAAC;QAG9B,uBAAkB,GAAY,KAAK,CAAC;QACpC,kCAA6B,GAAY,KAAK,CAAC;QAC/C,aAAQ,GAAY,KAAK,CAAC;QAC1B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAY,KAAK,CAAC;QAChC,qBAAgB,GAAY,KAAK,CAAC;QAClC,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAC5B,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QAC7B,gBAAW,GAAY,KAAK,CAAC;QACpC,gBAAW,GAAY,KAAK,CAAC;QAC7B,mBAAc,GAAY,KAAK,CAAC;QAChC,YAAO,GAAY,KAAK,CAAC;QACzB,qBAAgB,GAAY,KAAK,CAAC;QAClC,kBAAa,GAAY,KAAK,CAAC;QAC/B,2BAAsB,GAAY,KAAK,CAAC;QACxC,0BAAqB,GAAY,KAAK,CAAC;QACvC,8BAAyB,GAAY,KAAK,CAAC;QAC3C,gBAAW,GAAY,KAAK,CAAC;QAC7B,uBAAkB,GAAY,KAAK,CAAC;QACpC,mBAAc,GAAY,KAAK,CAAC;QAChC,gBAAW,GAAY,KAAK,CAAC;QAC7B,sBAAiB,GAAY,IAAI,CAAC;QAClC,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAY,KAAK,CAAC;QAChC,cAAS,GAAY,KAAK,CAAC;QAC3B,4BAAuB,GAAY,KAAK,CAAC;QACzC,uBAAkB,GAAY,KAAK,CAAC;QACpC,iBAAY,GAAY,KAAK,CAAC;QAC9B,kBAAa,GAAG,YAAY,CAAC;QAC7B,UAAK,GAAW,EAAE,CAAC;QAGnB,4BAAuB,GAAW,EAAE,CAAC;QACrC,iBAAY,GAAG,EAAE,CAAC;QAIlB,QAAG,GAAW,EAAE,CAAC;QAEjB,oBAAe,GAAG,EAAE,CAAC;QACd,kBAAa,GAAY,KAAK,CAAC;QACtC,cAAS,GAAa,EAAE,CAAC;QACzB,6BAAwB,GAAW,EAAE;QAIrC,cAAS,GAAmB,EAAE,CAAC;QAE/B,wBAAmB,GAAW,CAAC,CAAC;QAEhC,cAAS,GAAY,KAAK,CAAC;QACpB,SAAI,GAAW,EAAE,CAAC;QAGlB,iBAAY,GAAW,IAAI,CAAC;QACnC,mBAAc,GAAW,EAAE,CAAC;QAG5B,aAAQ,GAAe,EAAE,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,0BAAqB,GAAY,IAAI,CAAC;QACtC,aAAQ,GAAY,KAAK,CAAC;QAC1B,uBAAkB,GAAW,UAAU,CAAC;QACxC,aAAQ,GAAW,MAAM,CAAC;QAC1B,4BAAuB,GAAY,KAAK,CAAC;QACzC,qCAAgC,GAAY,KAAK,CAAC;QAClD,6BAAwB,GAAY,KAAK,CAAC;QAC1C,mBAAc,GAAY,KAAK,CAAC;QAChC,oBAAe,GAAY,KAAK,CAAC;QACjC,iCAA4B,GAAY,KAAK,CAAC;QAC9C,eAAU,GAAY,IAAI,CAAC;QAC3B,sBAAiB,GAAY,IAAI,CAAC;QAClC,0BAAqB,GAAY,KAAK,CAAC;QACvC,gBAAW,GAAY,IAAI,CAAC;QAC5B,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAW,WAAW,CAAC;QAEnC,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACnC,YAAO,GAAY,IAAI,wDAAO,EAAE,CAAC;QACjC,YAAO,GAAc,IAAI,4DAAS,EAAE,CAAC;QACrC,UAAK,GAAU,IAAI,oDAAK,EAAE,CAAC;QAC3B,oBAAe,GAAG,KAAK,CAAC;QACxB,4BAAuB,GAAG,KAAK,CAAC;QAEhC,uBAAkB,GAAW,UAAU,CAAC;QAIjC,qBAAgB,GAAQ,EAAE,CAAC;QAAQ,oBAAe,GAAQ,EAAE,CAAC;QAEpE,iBAAY,GAAG,EAAE,CAAC;QAClB,wBAAmB,GAAG,EAAE,CAAC;QACzB,wBAAmB,GAAG,EAAE,CAAC;QACzB,0BAAqB,GAAY,KAAK,CAAC;QACvC,0BAAqB,GAAG,CAAC,CAAC;QAC1B,6BAAwB,GAAG,CAAC,CAAC;QAC7B,oBAAe,GAAG,CAAC,CAAC;QACpB,sBAAiB,GAAG,CAAC,CAAC;QACtB,sBAAiB,GAAG,CAAC,CAAC;QACtB,sBAAiB,GAAG,CAAC,CAAC;QACtB,sBAAiB,GAAG,CAAC,CAAC;QACtB,qBAAgB,GAAG,CAAC,CAAC;QACrB,mBAAc,GAAG,CAAC,CAAC;QACnB,mBAAc,GAAY,KAAK,CAAC;QAChC,6CAA6C;QAC7C,mCAA8B,GAAY,KAAK,CAAC;QAChD,yBAAoB,GAAQ,MAAM,CAAC;QAEnC,gCAA2B,GAAY,KAAK,CAAC;QAC7C,kBAAa,GAAG,EAAE,CAAC;QACnB,4BAAuB,GAAY,KAAK,CAAC;QACzC,kBAAa,GAAQ,IAAI,CAAC;QAG1B,QAAG,GAAG,EAAE,CAAC;QAGT,6BAAwB,GAAY,KAAK,CAAC;QAC1C,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAY,KAAK,CAAC;QAElC,8BAAyB,GAAY,KAAK,CAAC;QAC3C,gBAAW,GAAQ,YAAY,CAAC;QAEhC,yBAAoB,GAAY,KAAK,CAAC;QACtC,iBAAY,GAAW,EAAE,CAAC;QAC1B,4BAAuB,GAAY,KAAK,CAAC;QACzC,kBAAa,GAAQ,IAAI,CAAC;QAE1B,2BAAsB,GAAY,KAAK,CAAC;QAExC,2BAAsB,GAAY,KAAK,CAAC;QACxC,iBAAY,GAAQ,IAAI,CAAC;QACzB,SAAI,GAAG,KAAK,CAAC;QACb,uBAAkB,GAAY,KAAK,CAAC;QAEpC,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,8BAAyB,GAAY,KAAK,CAAC;QAC3C,uBAAkB,GAAY,KAAK,CAAC;QAKpC,yBAAoB,GAAY,KAAK,CAAC;QACtC,eAAU,GAAY,KAAK,CAAC;QAI5B,sBAAiB,GAAW,EAAE,CAAC;QAC/B,eAAU,GAAW,CAAC,CAAC;QACvB,cAAS,GAAW,CAAC,CAAC;QAAC,kBAAa,GAAW,CAAC,CAAC;QAC1C,aAAQ,GAAG,IAAI,CAAC;QAChB,kBAAa,GAAW,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QACnG,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1O,iBAAY,GAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,sFAAsF;QACrJ,iCAA4B,GAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QACzO,+BAA0B,GAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QAEvO,yBAAoB,GAAW,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3F,+BAA0B,GAAW,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1F,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QACtO,eAAU,GAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAE,6CAA6C;QACrG,uBAAkB,GAAW,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjF,6BAAwB,GAAW,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QACzF,eAAU,GAAG,EAAE,CAAC;QAAQ,cAAS,GAAG,EAAE,CAAC;QAAQ,YAAO,GAAG,CAAC,CAAC;QAC3D,gBAAW,GAAG,EAAE,CAAC;QAGjB,aAAQ,GAAG,KAAK,CAAC;QACjB,qBAAgB,GAAG,EAAE,CAAC;QACtB,yBAAoB,GAAG,EAAE,CAAC;QAC1B,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAC5B,iBAAY,GAAY,KAAK,CAAC;QAC9B,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAY,IAAI,CAAC;QAC/B,2BAAsB,GAAW,CAAC,CAAC;QAI5B,mBAAc,GAAW,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9E,iBAAY,GAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC7E,oCAA+B,GAAY,KAAK,CAAC;QACjD,mCAA8B,GAAY,KAAK,CAAC;QAChD,gCAA2B,GAAY,KAAK,CAAC;QAC7C,iBAAY,GAAY,KAAK,CAAC;QAC9B,oBAAe,GAAY,KAAK,CAAC;QACjC,oBAAe,GAAY,KAAK,CAAC;QACjC,gBAAW,GAAY,KAAK,CAAC;QAE7B,iBAAY,GAAY,KAAK,CAAC;QAC9B,sBAAiB,GAAW,EAAE,CAAC;QAC/B,WAAM,GAAW,4BAA4B,CAAC;QAC9C,cAAS,GAAW,MAAM,CAAC;QAC3B,gBAAW,GAAG,SAAS,CAAC;QACxB,sBAAiB,GAAG,KAAK,CAAC;QAS1B,WAAM,GAAG,GAAG,CAAC;QACb,kDAAkD;QAClD,iBAAY,GAAG,YAAY,CAAC;QAC5B,sBAAiB,GAAY,KAAK,CAAC;QACnC,oBAAe,GAAW,gBAAgB,CAAC;QAC3C,oBAAe,GAAY,KAAK,CAAC;QACjC,uBAAkB,GAAY,KAAK,CAAC;QACpC,iCAA4B,GAAG,EAAE,CAAC;QAClC,2BAAsB,GAAY,KAAK,CAAC;QACxC,yBAAoB,GAAY,KAAK,CAAC;QACtC,4BAAuB,GAAY,KAAK,CAAC;QAEzC,mBAAc,GAAW,EAAE,CAAC;QAC5B,8BAAyB,GAAY,KAAK,CAAC;QAC3C,yBAAoB,GAAG,EAAE,CAAC;QAC1B,qBAAgB,GAAW,IAAI,CAAC;QAChC,sBAAiB,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAKhJ,yCAAyC;QACzC,mBAAc,GAAY,KAAK,CAAC;QAAC,uBAAkB,GAAY,KAAK,CAAC;QACrE,yBAAoB,GAAY,KAAK,CAAC;QACtC,qBAAgB,GAAW,EAAE,CAAC;QAC9B,gBAAW,GAAW,MAAM,CAAC;QAC7B,mBAAc,GAAmB,EAAE,CAAC;QACpC,mBAAc,GAAmB,EAAE,CAAC;QACpC,yBAAoB,GAAG,EAAE,CAAC;QAC1B,kBAAa,GAAY,KAAK,CAAC;QAC/B,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAW,aAAa,CAAC;QACnC,oBAAe,GAAG,EAAE,CAAC;QACrB,oBAAe,GAAG,EAAE,CAAC;QACrB,iBAAY,GAAQ,OAAO,CAAC;QAE5B,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAW,QAAQ,CAAC;QACjC,sBAAiB,GAAG,EAAE,CAAC;QACvB,gBAAW,GAAG,EAAE,CAAC;QACjB,oBAAe,GAAG,EAAE,CAAC;QACrB,yBAAoB,GAAY,KAAK,CAAC;QACtC,wBAAmB,GAAY,KAAK,CAAC;QACrC,uBAAkB,GAAY,KAAK,CAAC;QACpC,eAAU,GAAY,KAAK,CAAC;QAC5B,YAAO,GAAY,KAAK,CAAC;QAEzB,iBAAY,GAAY,KAAK,CAAC;QAG9B,kBAAa,GAAY,KAAK,CAAC;QAG/B,kBAAa,GAAG,CAAC,CAAC;QAAC,mBAAc,GAAG,CAAC,CAAC;QAAC,mBAAc,GAAG,CAAC,CAAC;QAAC,qBAAgB,GAAG,CAAC,CAAC;QAAC,kBAAa,GAAG,CAAC,CAAC;QACnG,iBAAY,GAAG,CAAC,CAAC;QAAC,kBAAa,GAAG,CAAC,CAAC;QAAC,oBAAe,GAAG,CAAC,CAAC;QAAC,oBAAe,GAAG,CAAC,CAAC;QAC9E,iBAAY,GAAG,CAAC,CAAC;QAAC,kBAAa,GAAG,CAAC,CAAC;QAAC,oBAAe,GAAG,CAAC,CAAC;QACzD,sBAAiB,GAAW,UAAU,CAAC;QACvC,qBAAgB,GAAoB,EAAE,CAAC;QAAC,wBAAmB,GAAoB,EAAE,CAAC;QAClF,eAAU,GAAY,KAAK,CAAC;QAAC,qBAAgB,GAAY,KAAK,CAAC;QAC/D,WAAM,GAAG,EAAE,CAAC;QAGL,cAAS,GAAY,KAAK,CAAC;QAC3B,cAAS,GAAa,IAAI,0DAAQ,EAAE,CAAC;QAM1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,cAAc,GAAG;YACtB,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC7C,CAAC;QACF,2BAA2B;IAC5B,CAAC;IACQ,+CAAgB,GAAxB;QACC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/E,IAAI,CAAC,2BAA2B,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAEhF,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE;aACrC,IAAI,CAAC;YACJ,IAAI,WAAW,GAAG,IAAI,wDAAO,EAAE,CAAC;YAChC,WAAW,CAAC,cAAc,GAAG,eAAe,CAAC;YAC7C,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC;YAC1B,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC;YACjC,4CAA4C;QAE9C,CAAC,CAAC;aACD,IAAI,CAAC,UAAU,MAAM;QAEtB,CAAC,CAAC,CAAC;IACP,CAAC;IACO,wDAAyB,GAAjC;QACE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAClG,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,qBAAqB,EAAE,UAAC,IAAI,EAAE,OAAO;YAClE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,uEAAuE;QACzE,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,uCAAQ,GAAR;QAAA,iBAwCC;QAvCC,IAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC/F,IAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;QACtD,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,IAAI,OAAO,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,WAAW,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;gBACnD,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAExB;QACH,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACtC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;YAC/I,KAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;YACjB,IAAI,EAAE,yBAAyB;SAChC,CAAC;QAEF,qBAAqB;QACrB,4BAA4B;QAC5B,sCAAsC;QACtC,WAAW;QACX,WAAW;QAEX,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,yCAAU,GAAV,UAAW,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS;QAC3F,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,4CAAa,GAAb;QAAA,iBAGO;QAFL,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YACrE,KAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACrC,CAAC,CAAC,CAAC;IAAC,CAAC;IACP,oDAAqB,GAArB;QACE,IAAI,KAAK,GAAG,QAAQ,CAAC,sBAAsB,CAAC,2CAA2C,CAAC,CAAC;QACzF,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,GAAG,oBAAoB,CAAC;QAC9B,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAC;QACnC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAE7D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC;QACpB,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;QAC3B,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,GAAG,aAAa,CAAC;QACvB,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;QAC3B,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAEzD,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC;QACtB,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;QAC3B,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAGvD,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B;QAC7E,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,4BAA4B;QACxD,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;QAC3B,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5B,QAAQ,CAAC,EAAE,GAAG,UAAU,CAAC;QAEzB,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;QAC5E,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,2BAA2B;QACvD,KAAK,CAAC,EAAE,GAAG,eAAe,CAAC;QAC3B,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAE,kCAAkC;QAC/F,2EAA2E;QAC3E,4BAA4B;QAE5B,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEhC,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B;QAC9E,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,4BAA4B;QACzD,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;QAC7B,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC;QAC9B,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC;QAC3B,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;QAC7E,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,2BAA2B;QACzD,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAE,kCAAkC;QAC9F,2EAA2E;QAC3E,4BAA4B;QAE5B,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;QACnE,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;QAEpE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,GAAG,SAAS,aAAa;YAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAED,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,GAAG,SAAS,aAAa;YACnE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,+CAAgB,GAAhB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IACD,gDAAiB,GAAjB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IACD,yDAA0B,GAA1B;QAAA,iBAQC;QAPC,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACrG,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,UAAU,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;YAC7C,KAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3I,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,iDAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,gDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC7E,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,8CAAe,GAAf;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,CAAC,CAAC,wGAAwG,CAAC,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC,KAAK,EAAE,CAAC;IACrO,CAAC;IACD,kDAAmB,GAAnB,UAAoB,gBAAgB;QAElC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,EAAE;gBAChI,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QAED,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QAE9C,IAAI,CAAC,mBAAmB,GAAG;YACzB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;YAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE;YAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;SACpD,CAAC;IAGJ,CAAC;IACD,+CAAgB,GAAhB;QAAA,iBAuCC;QAtCC,IAAI,CAAC,iBAAiB,GAAgB;YACpC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;SACzO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YAED,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG;YACrC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;YACrC,YAAY,EAAE,2FAAqB;SACpC,CAAC;IAEJ,CAAC;IACD,+CAAgB,GAAhB,UAAiB,gBAAgB,EAAE,YAAY;QAC7C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAI3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,uBAAuB,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAChD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC9J;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACrF,IAAI,YAAY,EAAE;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oCAC7C,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;wCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;wBACtG,YAAY,YAAC,MAAM;4BACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,gBAAgB;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCACpG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;4BAC3D,IAAI,YAAY,EAAE;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oCAC7C,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;wCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC/C,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAChI,IAAI,YAAY,EAAE;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oCAC7C,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;wCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC/C,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;4BACpG,IAAI,YAAY,EAAE;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oCAC7C,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;wCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC/C,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBACzB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BACpE,IAAI,YAAY,EAAE;gCAChB,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;oCACxB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;oCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;wCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;wCAC7C,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;4CAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;yCACnE;6CACI;4CACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;yCAClB;qCAEF;oCACD,OAAO,EAAE;iCACV;6BACF;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;wBACD,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBACvG,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG;gBACtB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;oBACzC,aAAa,EAAE,IAAI;iBACpB;gBACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC5G,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,gBAAgB;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACvK,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;iBAC5D;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,MAAM;wBACxE,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,IAAI,EAAE,KAAK;iBACf;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACvF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACzF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACvF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3F,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1F,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC/E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACzE,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC7F,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC7E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACnF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACnF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC7E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC/E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1F,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACpF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACtF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAClF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3E,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACjF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3F,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACrF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC7F,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACrF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC7F,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACvF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9F,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACrG,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACjF,IAAI,YAAY,EAAE;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;aAEF,CAAC;SACH;IAEH,CAAC;IACD,4CAAa,GAAb;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,0CAAW,GAAX;IAEA,CAAC;IACD,4CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,4CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,yCAAU,GAAV,UAAW,EAAU;IAErB,CAAC;IACD,gDAAiB,GAAjB,UAAkB,OAAO;QAAzB,iBAkDC;QAjDC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;QACxB,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACjE,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,EAAE;YAC7B,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;SAC9C;aAAM;YACL,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC;SAC9D;QACD,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEzC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,CAAC;gBACpC,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEhD,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACrC;YACD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACrF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAET,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QAC5C,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAET,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,oCAAK,GAAL,UAAM,GAAG;QACP,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,yCAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAE7D,CAAC;IACD,uCAAQ,GAAR;QAAA,iBASC;QARC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9D,CAAC;IACD,oDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,oDAAqB,GAArB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE;YAClM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC7P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,KAAK;gBAChM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACpP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAEjT,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,UAAU,MAAM;YAClC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC;IAED,iDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,+CAAgB,GAAhB;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC/D;IAEH,CAAC;IACD,8CAAe,GAAf,UAAgB,SAAS,EAAE,IAAI;QAA/B,iBAUC;QATC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YAC3F,YAAY,CAAC,OAAO,CAAC,eAAK;gBACxB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAAC,KAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAM,GAAN;QAEE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC5C,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC9C,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxC,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC7C,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1C,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC9C,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC9C,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5C,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5C,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5C,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAChD,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAChD,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAChD,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5C,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC9C,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC3C,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC9C,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC9C,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1C,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAChD,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAE,CAAC,IAAI,CAAC,UAAC,IAAI,IAAO,CAAC,CAAC,CAAC;QAC7G,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC3C,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC3C,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC7C,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzC,8CAA8C;QAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,2CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,MAAM,EACjB;YACE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO,KAAK,CAAC;SACd;aACI;YACH,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACnD;IACH,CAAC;IACD,iDAAkB,GAAlB,UAAmB,EAAE,EAAE,KAAY;QAAZ,oCAAY;QAEjC,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,IAAI,SAAS,EAAE;YACxC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC7B;QACD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC;QACzD,IAAI,EAAE,KAAK,OAAO,EAAE;YAClB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAChC;QACD,IAAI,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;QAClE,IAAI,YAAY,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC;QACpD,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/D,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,OAAO,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,aAAa,EAAC,uBAAuB,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;YACtG,iCAAiC;YACjC,4CAA4C;SAC7C;aACI,IAAI,EAAE,IAAI,WAAW,EAAE;YAC1B,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,EAAE,EAAE;gBACrC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;oBACrB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE;wBAC/G,IAAI,IAAI,CAAC,gBAAgB,IAAI,UAAU,EAAE;4BACvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0CAA0C,GAAG,KAAK,GAAG,YAAY,CAAC,CAAC;yBAC9F;6BAAM;4BACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0CAA0C,GAAG,KAAK,GAAG,YAAY,CAAC,CAAC;yBAC9F;qBAEF;yBACI,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;wBAElC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0CAA0C,GAAG,KAAK,GAAG,YAAY,CAAC,CAAC;qBAC9F;yBACI;wBACH,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;4BAEtC,+FAA+F;4BAC/F,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;4BAChB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;4BAEvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BACvB,IAAI,CAAC,aAAa,EAAE,CAAC;yBACtB;6BAAM;4BACL,+FAA+F;4BAC/F,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;4BAChB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;4BAEvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BACvB,IAAI,CAAC,aAAa,EAAE,CAAC;yBACtB;qBAEF;iBACF;qBAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,8BAA8B,EAAC,uCAAuC,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;oBAChI,wCAAwC;oBACxC,mDAAmD;iBACpD;qBACI;oBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kDAAkD,CAAC,CAAC;iBAC/E;aAEF;iBACI;gBACH,IAAI,CAAC,UAAU,CAAC,aAAa,EAAC,aAAa,EAAE,8CAA8C,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;aAC1H;SAEF;aACI,IAAI,EAAE,IAAI,OAAO,EAAE;YACtB,IAAI,IAAI,CAAC,aAAa,IAAI,UAAU,IAAI,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,sCAAsC,EAAE;gBACpI,IAAI,KAAK,IAAI,EAAE,EAAE;oBACf,KAAK,CAAC,yCAAyC,CAAC;iBACjD;qBAAM;oBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,GAAG,KAAK,CAAC,CAAC;oBACnE,0CAA0C;oBAC1C,2CAA2C;oBAC3C,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;iBAC5D;aACF;iBACI;gBACH,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;oBACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,GAAG,KAAK,CAAC,CAAC;iBACpE;qBAAM;oBACL,KAAK,CAAC,uCAAuC,CAAC,CAAC;iBAChD;aACF;SAEF;aACI,IAAI,EAAE,IAAI,WAAW,EAAE;YAC1B,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;gBAC3I,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,8CAA8C,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;gBAC1H,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,IAAI,YAAY,IAAI,SAAS,EAAE;oBAC7B,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;iBACvC;qBAAM,IAAI,YAAY,IAAI,UAAU,EAAE;oBACrC,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC;oBACvC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;iBACf;gBACD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAE7E;SAEF;aACI,IAAI,EAAE,IAAI,aAAa,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;YACvC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;YAEnC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACjC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9D,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC3C,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE3B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,EAAE,EAAE;gBACtD,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC7D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,GAAG,GAAG,GAAG,qBAAqB,CAAC;iBAChG;qBAAM;oBACL,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;wBACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,GAAG,GAAG,GAAG,qBAAqB,CAAC;qBAChG;yBAAM;wBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,GAAG,GAAG,GAAG,qBAAqB,CAAC,CAAC;qBACjG;iBAEF;gBACD,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;aAC1C;iBAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;gBACjD,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;aAC1C;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,8CAA8C,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;aAC3H;SAEF;aACI,IAAI,EAAE,IAAI,cAAc,EAAE;YAC7B,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;YACvD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAE5B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SACpD;aACI,IAAI,EAAE,IAAI,eAAe,EAAE;YAC9B,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;YACvD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SACrD;aACI,IAAI,EAAE,IAAI,UAAU,EAAE;YACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;SAC3C;aACI,IAAI,EAAE,IAAI,aAAa,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;YACxD,iCAAiC;YACjC,+BAA+B;YAC/B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;SAEhC;aACI,IAAI,EAAE,IAAI,cAAc,EAAE;YAC7B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SAClD;aACI,IAAI,EAAE,IAAI,iBAAiB,EAAE;YAChC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SAClD;aACI,IAAI,EAAE,IAAI,WAAW,EAAE;YAC1B,IAAI,KAAK,EAAE;gBACT,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;oBAChC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;iBACzB;qBACI;oBACH,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;iBACzB;gBACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,GAAE,IAAI,CAAC,KAAK,CAAC;aAE/F;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,8CAA8C,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;aAC3H;SAEF;aACI,IAAI,EAAE,IAAI,SAAS,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;YACjC,IAAI,KAAK,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,8CAA8C,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;aAC3H;iBACI;gBACH,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;oBACrB,IAAI,MAAI,GAAG,IAAI,CAAC;oBAChB,MAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,MAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;wBAC3E,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE;4BACpD,IAAI,MAAI,CAAC,aAAa,IAAI,QAAQ,EAAE;gCAClC,MAAI,CAAC,IAAI,GAAG,MAAI,CAAC,gBAAgB,CAAC;6BACnC;iCAAM;gCACL,MAAI,CAAC,IAAI,GAAG,YAAY,CAAC;6BAC1B;4BACD,MAAI,CAAC,UAAU,GAAG,KAAK,CAAC;4BACxB,MAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;4BAC/B,MAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;yBAChC;6BACI;4BACH,KAAK,CAAC,2HAA2H,CAAC,CAAC;yBACpI;oBACH,CAAC,CAAC,CAAC;iBAEJ;qBAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;oBACtC,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;iBAClD;qBACI;iBACJ;aAEF;SAEF;aACI,IAAI,EAAE,IAAI,OAAO,EAAE;YACtB,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;gBAC3I,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,8CAA8C,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;aAC3H;iBACI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBAC1F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAE3B;SACF;aACI,IAAI,EAAE,IAAI,SAAS,EAAE;YACxB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;aACI,IAAI,EAAE,IAAI,WAAW,EAAE;YAC1B,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,OAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,OAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE;oBAC7D,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;oBACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBACrC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;iBACpC;qBAAM,IAAI,OAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;oBACtC,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;iBAClD;aACF;iBACI;gBACH,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,8CAA8C,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;aAC3H;SACF;aACI,IAAI,EAAE,IAAI,gBAAgB,EAAE;YAC/B,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;YACrC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SAClD;aACI,IAAI,EAAE,IAAI,oBAAoB,EAAE;YACnC,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;YACtC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SAClD;aACI,IAAI,EAAE,IAAI,cAAc,EAAE;YAC7B,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;SAChE;aACI;YACH,IAAI,EAAE,IAAI,YAAY,EAAE;aACvB;iBACI,IAAI,EAAE,IAAI,UAAU,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;aAC7D;iBACI,IAAI,EAAE,IAAI,WAAW,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;aAC9D;iBACI,IAAI,EAAE,IAAI,YAAY,EAAE;gBAC3B,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBAC3D,oBAAoB;gBAGpB,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;aAEnD;iBACI,IAAI,EAAE,IAAI,QAAQ,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;aAC3D;iBAEI,IAAI,EAAE,IAAI,UAAU,EAAE;gBACzB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;gBAChC,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;oBACtE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACT,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAET;iBACI,IAAI,EAAE,IAAI,oBAAoB,EAAE;gBACnC,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;gBACvC,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBAChE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACT,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAET;iBACI,IAAI,EAAE,IAAI,WAAW,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC;aACnE;iBACI,IAAI,EAAE,IAAI,KAAK,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBAC3D,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC;gBACxC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;aAC5C;iBAAM;gBACL,qDAAqD;aACtD;SAEF;IAEH,CAAC;IACD,+CAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBA+KC;QA9KC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAExF,IAAI,OAAO,IAAI,UAAU,EAAE;gBACzB,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBACzC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACT,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAET;iBACI,IAAI,OAAO,IAAI,UAAU,EAAE;gBAC9B,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;oBACnD,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;iBACI,IAAI,OAAO,IAAI,iBAAiB,EAAE;gBACrC,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBACvC,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;oBACnD,CAAC,EAAE,EAAE,CAAC,CAAC;gBACT,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI,IAAI,OAAO,IAAI,iBAAiB,EAAE;gBACrC,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;oBAC3C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI,IAAI,OAAO,IAAI,kBAAkB,EAAE;gBACtC,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBACpC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI,IAAI,OAAO,IAAI,iBAAiB,EAAE;gBACrC,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI,IAAI,OAAO,IAAI,sBAAsB,EAAE;gBAC1C,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI,IAAI,OAAO,IAAI,gBAAgB,EAAE;gBACpC,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI,IAAI,OAAO,IAAI,WAAW,EAAE;gBAC/B,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC;wBACpC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC;oBACnE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAET;iBACI,IAAI,OAAO,IAAI,gBAAgB,EAAE;gBACpC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC;aACzE;iBACI,IAAI,OAAO,IAAI,UAAU,EAAE;gBAC9B,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;aACjE;iBACI,IAAI,OAAO,IAAI,WAAW,EAAE;gBAC/B,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;oBAC9C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACT;iBACI,IAAI,OAAO,IAAI,WAAW,EAAE;gBAE/B,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC;gBACzC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI,IAAI,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBACrC,SAAO,CAAC,mBAAmB,CAAC,SAAO,CAAC,aAAa,CAAC,CAAC;oBACnD,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;gBAChD,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;iBACI,IAAI,OAAO,IAAI,cAAc,IAAI,OAAO,IAAI,mBAAmB,IAAI,OAAO,IAAI,aAAa,EAAE;gBAChG,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;wBACxC,SAAO,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;oBAC3D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAEX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI,IAAI,OAAO,IAAI,iBAAiB,IAAI,OAAO,IAAI,mBAAmB,IAAI,OAAO,IAAI,gBAAgB,EAAE;gBACtG,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,iCAAiC;oBACjC,SAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;oBAC1C,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;wBAC7C,SAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,SAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBAClJ,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACT;iBACI,IAAI,OAAO,IAAI,WAAW,EAAE;gBAC/B,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;oBAC5C,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;oBAC5C,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;iBACI,IAAI,OAAO,IAAI,SAAS,EAAE;gBAC7B,IAAI,UAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,UAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC,CAAC,UAAU,CAAC;wBACX,UAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;wBACvC,QAAQ,IAAI,CAAC,aAAa,EAAE;4BAC1B,KAAK,MAAM,CAAC,CAAC;gCACX,UAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;gCAChE,MAAM;6BACP;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,UAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,gBAAgB,CAAC;gCACnE,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,UAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC;gCACrE,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,UAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,gBAAgB,CAAC;gCACtE,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,UAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC;gCACrE,MAAM;6BACP;yBACF;oBAEH,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAET;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAChC,CAAC;IACD,8CAAe,GAAf,UAAgB,OAAO,EAAE,cAAc,EAAE,uBAAuB;QAC9D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,OAAO,GAAW,WAAW,CAAC;QAClC,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;QAC9B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,SAAiB,CAAC;QACtB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAClE,IAAI,OAAO,IAAI,iBAAiB,IAAI,OAAO,IAAI,iBAAiB,IAAI,OAAO,IAAI,UAAU,EAAE;YACzF,SAAS,GAAG,aAAa,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC;SACf;aACI,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,IAAI,kBAAkB,IAAI,OAAO,IAAI,QAAQ,EAAE;YACtF,SAAS,GAAG,aAAa,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC;SACf;aACI,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,IAAI,gBAAgB,IAAI,OAAO,IAAI,UAAU,EAAE;YACvF,SAAS,GAAG,uBAAuB,CAAC;YACpC,KAAK,GAAG,MAAM,CAAC;SAEhB;aACI,IAAI,OAAO,IAAI,iBAAiB,IAAI,OAAO,IAAI,mBAAmB,IAAI,OAAO,IAAI,gBAAgB,EAAE;YACtG,SAAS,GAAG,kBAAkB;YAC9B,KAAK,GAAG,KAAK,CAAC;YACd,YAAY,GAAG,4GAA4G;SAC5H;aACI,IAAI,OAAO,IAAI,iBAAiB,IAAI,OAAO,IAAI,sBAAsB,IAAI,OAAO,IAAI,gBAAgB,IAAI,OAAO,IAAI,cAAc,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,mBAAmB,IAAI,OAAO,IAAI,aAAa,IAAI,OAAO,IAAI,YAAY,EAAG;YACxP,SAAS,GAAG,gBAAgB;YAC5B,KAAK,GAAG,KAAK,CAAC;SACf;aACI,IAAI,OAAO,IAAI,WAAW,EAAE;YAC/B,SAAS,GAAG,aAAa;YACzB,KAAK,GAAG,KAAK,CAAC;SACf;aACI,IAAI,OAAO,IAAI,WAAW,EAAE;YAC/B,SAAS,GAAG,aAAa;YACzB,KAAK,GAAG,KAAK,CAAC;SACf;aACI,IAAI,OAAO,IAAI,WAAW,EAAE;YAC/B,SAAS,GAAG,cAAc;YAC1B,KAAK,GAAG,MAAM,CAAC;YACf,YAAY,GAAG,wGAAwG;SACxH;aACI,IAAI,OAAO,IAAI,SAAS,EAAE;YAC7B,SAAS,GAAG,mBAAmB;YAC/B,KAAK,GAAG,MAAM,CAAC;YACf,YAAY,GAAG,+JAA+J;SAC/K;aACI,IAAI,OAAO,IAAI,KAAK,EAAE;YACzB,SAAS,GAAG,aAAa;YACzB,KAAK,GAAG,MAAM,CAAC;YACf,YAAY,GAAG,0HAA0H;SAC1I;QAED,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,kBAAkB,IAAI,OAAO,IAAI,WAAW,EAAE;YAEtF,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,+BAA+B,GAAG,IAAI,CAAC,cAAc,GAAG,8HAA8H,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;SACvP;aACI;YACH,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,+BAA+B,GAAG,IAAI,CAAC,cAAc,GAAG,iJAAiJ,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;SAC1Q;QACD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,SAAS,IAAI,aAAa,EAAE;YAC9B,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;SAClH;aACI,IAAI,SAAS,IAAI,cAAc,EAAE;YACpC,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,eAAe,GAAG,WAAW,CAAC,EAAE,CAAC;SAC9D;aACI;YACH,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC;SAC3D;QACD,IAAI,SAAS,IAAI,uBAAuB,EAAE;YACxC,SAAS,GAAG,0EAA0E,GAAG,IAAI,CAAC,cAAc,GAAG,oVAAoV,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,4cAA4c,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;YAC58B,KAAK,IAAI,8BAA8B,GAAG,KAAK,GAAG,+WAA+W,CAAC;YACla,IAAI,OAAK,GAAG,SAAS,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBAClC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,QAAQ,IAAI,8CAA8C,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;qBAC/G;yBACI;wBACH,QAAQ,IAAI,sBAAsB,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBACtF;iBACF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,UAAU,EAAG;oBAClH,QAAQ,IAAI,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAC/F;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACzC,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBAClH,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBACpG;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBACnF,QAAQ,IAAI,YAAY,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,cAAc,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBACvL;qBACI;oBACH,QAAQ,IAAI,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAC/F;aACF;YACD,QAAQ,IAAI,qBAAqB,CAAC;SACnC;aACI,IAAI,SAAS,IAAI,gBAAgB,EAAE;YACtC,SAAS,GAAG,gFAAgF,GAAG,IAAI,CAAC,cAAc,GAAG,wVAAwV,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,qCAAqC,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;YAC/iB,KAAK,IAAI,8BAA8B,GAAG,KAAK,GAAG,oBAAoB,CAAC;YACvE,KAAK,IAAI,wJAAwJ,CAAC;YAElK,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEvD,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC3H,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,OAAO,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;4BACzK,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;yBACzK;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,OAAO,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BACrG,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,MAAM,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBACrG;qBACF;iBACF;qBACI;oBACH,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;4BAC9J,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;yBAC9J;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,uBAAuB,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BACrL,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,sBAAsB,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBACrL;qBACF;iBACF;aAEF;YAGD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC7E,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,QAAQ,IAAI,+CAA+C,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;qBAChH;yBACI;wBACH,QAAQ,IAAI,sBAAsB,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBACtF;iBACF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACzC,QAAQ,IAAI,6BAA6B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAC/E;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxC,QAAQ,IAAI,4BAA4B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAC9E;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,kBAAkB,EAAE;oBACtF,QAAQ,IAAI,YAAY,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,cAAc,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBACvL;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC5C,QAAQ,IAAI,gCAAgC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAClF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;oBAC7E,QAAQ,IAAI,gCAAgC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAClF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC3C,QAAQ,IAAI,+BAA+B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBACjF;qBACI;oBACH,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;qBACxI;yBACI;wBACH,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBACzG;iBACF;aAEF;YACD,QAAQ,IAAI,CAAC,OAAO,IAAI,iBAAiB,IAAI,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,sBAAsB,IAAI,OAAO,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,GAAG,yBAAyB,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,GAAG,qBAAqB,CAAC;SAClR;aAEI,IAAI,SAAS,IAAI,aAAa,EAAE;YAEnC,IAAI,cAAc,GAAG,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5I,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,yFAAyF,GAAG,IAAI,CAAC,cAAc,GAAG,8HAA8H,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;YAChT,SAAS,IAAI,yCAAyC,GAAG,KAAK,GAAG,6DAA6D,GAAG,KAAK,GAAG,iBAAiB,CAAC;YAC3J,KAAK,IAAI,0BAA0B,GAAG,KAAK,GAAG,kEAAkE,CAAC;YAEjH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEvD,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC7D,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;4BAC5N,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;yBAC5N;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BAC7L,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBAC7L;qBACF;iBACF;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC5D,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,SAAS,GAAG,wCAAwC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;4BACpL,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,QAAQ,GAAG,wCAAwC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;yBACpL;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,SAAS,GAAG,wBAAwB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;4BACpJ,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,QAAQ,GAAG,wBAAwB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;yBACpJ;qBACF;iBACF;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oBAC3D,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,EAAE;wBAC1C,QAAQ,IAAI,2BAA2B,CAAC;qBACzC;yBACI;wBACH,QAAQ,IAAI,4BAA4B,CAAC;qBAC1C;iBACF;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACnH,IAAI,CAAC,cAAc,EAAE;wBACnB,yCAAyC;wBACzC,wDAAwD;wBACxD,GAAG;wBACH,QAAQ;wBACR,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBAC3L,GAAG;wBACH,cAAc,GAAG,IAAI,CAAC;qBACvB;yBAAM;wBACL,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;qBAC3L;iBACF;qBACI;oBACH,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;4BACjN,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;yBACjN;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,yBAAyB,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BACxO,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,6BAA6B,GAAG,cAAc,GAAG,wBAAwB,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBACxO;qBACF;iBACF;aAEF;YAED,IAAI,YAAY,GAAG,KAAK,CAAC;oCAChB,CAAC;gBACR,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvC,iBAAiB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/D,iBAAiB,CAAC,OAAO,CAAC,iBAAO;wBAC/B,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;4BACtC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gCAC7B,IAAI,CAAC,YAAY,EAAE;oCACjB,QAAQ,IAAI,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,OAAO,GAAG,oBAAoB,CAAC;oCACjH,YAAY,GAAG,IAAI,CAAC;iCACrB;qCAAM;oCACL,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,OAAO,GAAG,oBAAoB,CAAC;iCACjH;6BACF;iCACI;gCACH,IAAI,CAAC,YAAY,EAAE;oCACjB,QAAQ,IAAI,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC;oCAAA,CAAC;oCACnF,YAAY,GAAG,IAAI,CAAC;iCACrB;qCAAM;oCACL,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC;iCAClF;6BACF;yBACF;6BACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;4BAClF,IAAI,IAAI,GAAG,EAAE,CAAC;4BACd,QAAQ,cAAc,CAAC,CAAC,CAAC,EAAE;gCACzB,KAAK,WAAW,CAAC,CAAC;oCAChB,IAAI,GAAG,OAAO,CAAC;oCACf,MAAM;iCACP;gCACD,KAAK,gBAAgB,CAAC,CAAC;oCACrB,IAAI,GAAG,YAAY,CAAC;oCACpB,MAAM;iCACP;6BACF;4BACD,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gCAC7B,IAAI,CAAC,YAAY,EAAE;oCACjB,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAE,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAC,KAAK;oCAC9H,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,OAAO,GAAG,KAAK,CAAC;oCACjF,YAAY,GAAG,IAAI,CAAC;iCACrB;qCAAM;oCACL,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK;oCACjI,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,OAAO,GAAG,KAAK,CAAC;iCAClF;6BACF;iCACI;gCACH,IAAI,CAAC,YAAY,EAAE;oCACjB,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK;oCACjI,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,OAAO,GAAG,KAAK,CAAC;oCACjF,YAAY,GAAG,IAAI,CAAC;iCACrB;qCAAM;oCACL,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK;oCACjI,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,OAAO,GAAG,KAAK,CAAC;iCAClF;6BACF;yBACF;6BACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;4BACrC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gCAC7B,IAAI,CAAC,YAAY,EAAE;oCACjB,QAAQ,IAAI,OAAO,GAAG,wCAAwC,GAAG,OAAO,GAAG,oBAAoB,CAAC;oCAChG,YAAY,GAAG,IAAI,CAAC;iCACrB;qCAAM;oCACL,QAAQ,IAAI,MAAM,GAAG,wCAAwC,GAAG,OAAO,GAAG,oBAAoB,CAAC;iCAChG;6BACF;iCACI;gCACH,IAAI,CAAC,YAAY,EAAE;oCACjB,QAAQ,IAAI,OAAO,GAAG,mBAAmB,GAAG,OAAO,GAAG,IAAI,CAAC;oCAC3D,YAAY,GAAG,IAAI,CAAC;iCACrB;qCAAM;oCACL,QAAQ,IAAI,MAAM,GAAG,mBAAmB,GAAG,OAAO,GAAG,IAAI,CAAC;iCAC3D;6BACF;yBACF;6BACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;4BACpC,IAAI,OAAO,IAAI,SAAS,EAAE;gCACxB,QAAQ,IAAI,2BAA2B,CAAC;6BACzC;iCACI;gCACH,QAAQ,IAAI,4BAA4B,CAAC;6BAC1C;yBACF;6BACI;4BACH,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gCAC7B,IAAI,CAAC,YAAY,EAAE;oCACjB,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,OAAO,GAAG,oBAAoB,CAAC;oCACrH,YAAY,GAAG,IAAI,CAAC;iCACrB;qCAAM;oCACL,QAAQ,IAAI,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,OAAO,GAAG,oBAAoB,CAAC;iCACrH;6BACF;iCACI;gCACH,IAAI,CAAC,YAAY,EAAE;oCACjB,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC;oCACtF,YAAY,GAAG,IAAI,CAAC;iCACrB;qCAAM;oCACL,QAAQ,IAAI,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC;iCACtF;6BACF;yBACF;oBACH,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;wBACtC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;4BAC/C,IAAI,CAAC,YAAY,EAAE;gCACjB,QAAQ,IAAI,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;gCACnI,YAAY,GAAG,IAAI,CAAC;6BACrB;iCAAM;gCACL,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;6BACnI;yBACF;6BACI;4BACH,IAAI,CAAC,YAAY,EAAE;gCACjB,QAAQ,IAAI,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gCAAA,CAAC;gCACrG,YAAY,GAAG,IAAI,CAAC;6BACrB;iCAAM;gCACL,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;6BACpG;yBACF;qBACF;yBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;wBAC9E,IAAI,GAAG,EAAE,CAAC;wBACd,QAAQ,cAAc,CAAC,CAAC,CAAC,EAAE;4BACzB,KAAK,WAAW,CAAC,CAAC;gCAChB,IAAI,GAAG,OAAO,CAAC;gCACf,MAAM;6BACP;4BACD,KAAK,gBAAgB,CAAC,CAAC;gCACrB,IAAI,GAAG,YAAY,CAAC;gCACpB,MAAM;6BACP;yBACF;wBACD,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;4BAC/C,IAAI,CAAC,YAAY,EAAE;gCACjB,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK;gCACjI,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gCACnG,YAAY,GAAG,IAAI,CAAC;6BACrB;iCAAM;gCACL,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK;gCACjI,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;6BACpG;yBACF;6BACI;4BACH,IAAI,CAAC,YAAY,EAAE;gCACjB,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK;gCACjI,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gCACnG,YAAY,GAAG,IAAI,CAAC;6BACrB;iCAAM;gCACL,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK;gCACjI,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;6BACpG;yBACF;qBACF;yBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;wBACrC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;4BAC/C,IAAI,CAAC,YAAY,EAAE;gCACjB,QAAQ,IAAI,OAAO,GAAG,wCAAwC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;gCAClH,YAAY,GAAG,IAAI,CAAC;6BACrB;iCAAM;gCACL,QAAQ,IAAI,MAAM,GAAG,wCAAwC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;6BAClH;yBACF;6BACI;4BACH,IAAI,CAAC,YAAY,EAAE;gCACjB,QAAQ,IAAI,OAAO,GAAG,mBAAmB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gCAC7E,YAAY,GAAG,IAAI,CAAC;6BACrB;iCAAM;gCACL,QAAQ,IAAI,MAAM,GAAG,mBAAmB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;6BAC7E;yBACF;qBACF;yBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;wBACpC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,EAAE;4BAC1C,QAAQ,IAAI,2BAA2B,CAAC;yBACzC;6BACI;4BACH,QAAQ,IAAI,4BAA4B,CAAC;yBAC1C;qBACF;yBACI;wBACH,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;4BAC/C,IAAI,CAAC,YAAY,EAAE;gCACjB,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;gCACvI,YAAY,GAAG,IAAI,CAAC;6BACrB;iCAAM;gCACL,QAAQ,IAAI,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;6BACvI;yBACF;6BACI;4BACH,IAAI,CAAC,YAAY,EAAE;gCACjB,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gCACxG,YAAY,GAAG,IAAI,CAAC;6BACrB;iCAAM;gCACL,QAAQ,IAAI,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;6BACxG;yBACF;qBACF;iBACF;;gBAlMK,iBAAiB,EAsHf,IAAI;YAxHd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;wBAArC,CAAC;aAwMT;YACD,QAAQ,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SAEnD;aAEI,IAAI,SAAS,IAAI,aAAa,EAAE;YAEnC,IAAI,cAAc,GAAG,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5I,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,qIAAqI,GAAG,IAAI,CAAC,cAAc,GAAG,kEAAkE,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;YAChS,SAAS,IAAI,yCAAyC,GAAG,KAAK,GAAG,6DAA6D,GAAG,KAAK,GAAG,sDAAsD,GAAG,KAAK,GAAE,qDAAqD,GAAC,KAAK,GAAC,eAAe;YACpR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvD,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACvD,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC9D,QAAQ,IAAI,WAAW,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;qBACpK;yBACI;wBACH,QAAQ,IAAI,WAAW,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;qBACrI;iBAGF;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBAC/O,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,QAAQ,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;wBAChD,KAAK,gBAAgB,CAAC,CAAC;4BACrB,IAAI,GAAG,YAAY,CAAC;4BACpB,MAAM;yBACP;wBACD,KAAK,SAAS,CAAC,CAAC;4BACd,IAAI,GAAG,KAAK,CAAC;4BACb,MAAM;yBACP;wBACD,KAAK,QAAQ,CAAC,CAAC;4BACb,IAAI,GAAG,IAAI,CAAC;4BACZ,MAAM;yBACP;wBACD,KAAK,SAAS,CAAC,CAAC;4BACd,IAAI,GAAG,KAAK,CAAC;4BACb,MAAM;yBACP;qBAEF;oBACD,KAAK,IAAI,qCAAqC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,QAAQ,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAC,QAAQ,CAAC;oBACvL,QAAQ,IAAI,8BAA8B,GAAG,cAAc,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;iBACjM;gBAED,4DAA4D;gBAC5D,uFAAuF;gBACvF,oJAAoJ;gBACpJ,GAAG;qBACE;oBACH,QAAQ,IAAI,+BAA+B,GAAG,cAAc,GAAG,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;iBACpM;aACF;oCACQ,CAAC;gBACR,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvC,iBAAiB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/D,iBAAiB,CAAC,OAAO,CAAC,iBAAO;wBAC/B,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;4BAEhC,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;yBAEjF;6BACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,gBAAgB,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;4BACnJ,IAAI,IAAI,GAAG,EAAE,CAAC;4BACd,QAAQ,cAAc,CAAC,CAAC,CAAC,EAAE;gCACzB,KAAK,gBAAgB,CAAC,CAAC;oCACrB,IAAI,GAAG,YAAY,CAAC;oCACpB,MAAM;iCACP;gCACD,KAAK,SAAS,CAAC,CAAC;oCACd,IAAI,GAAG,KAAK,CAAC;oCACb,MAAM;iCACP;gCACD,KAAK,QAAQ,CAAC,CAAC;oCACb,IAAI,GAAG,IAAI,CAAC;oCACZ,MAAM;iCACP;gCACD,KAAK,SAAS,CAAC,CAAC;oCACd,IAAI,GAAG,KAAK,CAAC;oCACb,MAAM;iCACP;6BAEF;4BACD,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAC,QAAQ,CAAC;4BACnI,QAAQ,IAAI,+BAA+B,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,OAAO,GAAG,KAAK,CAAC;yBACvI;6BACI,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;4BACpD,QAAQ,IAAI,+BAA+B,GAAG,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,OAAO,GAAG,oBAAoB,CAAC;yBAC1K;6BACI;4BACH,QAAQ,IAAI,+BAA+B,GAAG,cAAc,GAAG,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC;yBAC5I;oBACH,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;wBAEhC,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;qBAEnG;yBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,gBAAgB,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,IAAG,cAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;wBAC9I,IAAI,GAAG,EAAE,CAAC;wBACd,QAAQ,cAAc,CAAC,CAAC,CAAC,EAAE;4BACzB,KAAK,gBAAgB,CAAC,CAAC;gCACrB,IAAI,GAAG,YAAY,CAAC;gCACpB,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,IAAI,GAAG,KAAK,CAAC;gCACb,MAAM;6BACP;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,IAAI,GAAG,IAAI,CAAC;gCACZ,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,IAAI,GAAG,KAAK,CAAC;gCACb,MAAM;6BACP;yBAEF;wBACD,KAAK,IAAI,kCAAkC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,GAAC,QAAQ,CAAC;wBACnI,QAAQ,IAAI,+BAA+B,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,GAAC,oBAAoB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBACvJ;yBACI,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBACpD,QAAQ,IAAI,+BAA+B,GAAG,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;qBAC5L;yBACI;wBACH,QAAQ,IAAI,+BAA+B,GAAG,cAAc,GAAG,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBAC9J;iBACF;;gBA1EK,iBAAiB,EA6Cf,IAAI;YA/Cd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;wBAArC,CAAC;aA6ET;SACF;aAEI,IAAI,SAAS,IAAI,kBAAkB,EAAE;YACxC,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,+BAA+B,GAAG,IAAI,CAAC,cAAc,GAAG,oPAAoP;gBAC5U,6BAA6B,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;YAC7D,KAAK,IAAI,YAAY,CAAC;YACtB,KAAK,IAAI,6CAA6C,CAAC;YACvD,KAAK,IAAI,yDAAyD,CAAC;YACnE,KAAK,IAAI,sDAAsD,CAAC;YAChE,KAAK,IAAI,uDAAuD,CAAC;YACjE,KAAK,IAAI,6DAA6D,CAAC;YACvE,KAAK,IAAI,kEAAkE,CAAC;YAE5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEvD,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC9D,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,OAAO,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;4BACzK,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;yBACzK;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,OAAO,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BACrG,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,MAAM,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBACrG;qBACF;iBACF;qBACI;oBACH,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;4BAC9J,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;yBAC9J;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,uBAAuB,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BACrL,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,sBAAsB,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBACrL;qBACF;iBACF;aAEF;YAGD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAE9C,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,UAAU;oBACjC,QAAQ,IAAI,oCAAoC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBAElF,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtC,QAAQ,IAAI,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAChF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACvC,QAAQ,IAAI,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAChF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxC,QAAQ,IAAI,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAChF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxC,QAAQ,IAAI,gCAAgC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAClF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACzC,QAAQ,IAAI,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;iBACjF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxC,QAAQ,IAAI,6BAA6B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;iBAChF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC5C,QAAQ,IAAI,gCAAgC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAClF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,oBAAoB,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBAChI,sGAAsG;oBACtG,QAAQ,IAAI,YAAY,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,cAAc,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBACvL;qBACI;oBACH,QAAQ,IAAI,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAC/F;aAEF;YACD,QAAQ,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,GAAG,0BAA0B,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,GAAG,qBAAqB,CAAC;SACjN;aAEI,IAAI,SAAS,IAAI,cAAc,EAAE;YACpC,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,+BAA+B,GAAG,IAAI,CAAC,cAAc,GAAG,wKAAwK;gBAChQ,uCAAuC,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;YACvE,KAAK,IAAI,YAAY,CAAC;YACtB,KAAK,IAAI,mCAAmC,GAAG,KAAK,GAAG,0BAA0B,CAAC;YAClF,KAAK,IAAI,yDAAyD,CAAC;YACnE,KAAK,IAAI,kEAAkE,CAAC;YAE5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEvD,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACnL,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,OAAO,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;4BACzK,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;yBACzK;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,OAAO,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BAC1I,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBAC1I;qBACF;iBACF;qBACI;oBACH,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;4BAC9J,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;yBAC9J;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,uBAAuB,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BACrL,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,sBAAsB,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBACrL;qBACF;iBACF;aAEF;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC9G,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,QAAQ,IAAI,8CAA8C,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;qBAC/G;yBACI;wBACH,QAAQ,IAAI,sBAAsB,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBACtF;iBACF;qBAAM,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC7C,QAAQ,IAAI,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;iBAC9I;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxC,QAAQ,IAAI,2BAA2B,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBAC3F;qBACI;oBACH,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBACzG;aACF;YACD,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,oEAAoE,CAAC,CAAC,CAAC,6BAA6B,CAAC;SAEtO;aACI,IAAI,SAAS,IAAI,mBAAmB,EAAE;YACzC,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,+BAA+B,GAAG,IAAI,CAAC,cAAc,GAAG,gNAAgN;gBACxS,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;YACvC,KAAK,IAAI,YAAY,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC9G,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,QAAQ,IAAI,8CAA8C,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;qBAC/G;yBACI;wBACH,QAAQ,IAAI,sBAAsB,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBACtF;iBACF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC3C,QAAQ,IAAI,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;iBAC9I;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxC,QAAQ,IAAI,mBAAmB,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBACnF;qBACI;oBACH,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBACzG;aACF;YACD,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,QAAQ,IAAI,CAAC,aAAa,EAAE;gBAC1B,KAAK,MAAM,CAAC,CAAC;oBACX,MAAM,GAAG,CAAC,CAAC;oBACX,MAAM;iBACP;gBACD,KAAK,QAAQ,CAAC,CAAC;oBACb,MAAM,GAAG,CAAC,CAAC;oBACX,MAAM;iBACP;gBACD,KAAK,SAAS,CAAC,CAAC;oBACd,MAAM,GAAG,CAAC,CAAC;oBACX,MAAM;iBACP;gBACD,KAAK,WAAW,CAAC,CAAC;oBAChB,MAAM,GAAG,CAAC,CAAC;oBACX,MAAM;iBACP;gBACD,KAAK,SAAS,CAAC,CAAC;oBACd,MAAM,GAAG,CAAC,CAAC;oBACX,MAAM;iBACP;aACF;YAED,QAAQ,IAAI,4BAA4B,GAAG,MAAM,GAAG,IAAI,CAAC;SAE1D;aAEI,IAAI,SAAS,IAAI,aAAa,EAAE;YACnC,SAAS,GAAG,WAAW,GAAG,KAAK,GAAG,+BAA+B,GAAG,IAAI,CAAC,cAAc,GAAG,uCAAuC,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;YAC/J,KAAK,IAAI,YAAY,CAAC;YACtB,oFAAoF;YACpF,qEAAqE;YACrE,8EAA8E;YAE9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC9G,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,QAAQ,IAAI,8CAA8C,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;qBAC/G;yBACI;wBACH,QAAQ,IAAI,sBAAsB,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBACtF;iBACF;qBAAM,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC7C,QAAQ,IAAI,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,8BAA8B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;iBAC9I;gBACD,6CAA6C;gBAC7C,8FAA8F;gBAC9F,GAAG;qBACE;oBACH,QAAQ,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;iBACzG;aACF;YACD,uOAAuO;SAExO;aAEI,IAAI,SAAS,IAAI,aAAa,EAAE;YACnC,SAAS,GAAG,iDAAiD,GAAG,IAAI,CAAC,cAAc,GAAG,geAAge;gBACpjB,sGAAsG;gBACtG,keAAke,GAAG,SAAS;gBAC9e,+MAA+M,CAAC;YAClN,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvD,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC9D,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC9D,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,+CAA+C,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;4BAC7H,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,8CAA8C,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;yBAC7H;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,gCAAgC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BAChG,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,+BAA+B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBAChG;qBACF;iBACF;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;oBACjE,IAAI,CAAC,cAAc,EAAE;wBACnB,QAAQ,IAAI,qCAAqC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;wBACrG,cAAc,GAAG,IAAI,CAAC;qBACvB;yBAAM;wBACL,QAAQ,IAAI,oCAAoC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;qBACrG;iBACF;qBACI;oBACH,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,cAAc,EAAE;4BACnB,QAAQ,IAAI,WAAW,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,0BAA0B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;4BACjK,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,UAAU,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,0BAA0B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;yBACjK;qBACF;yBACI;wBACH,IAAI,CAAC,cAAc,EAAE;4BACnB,sIAAsI;4BACtI,QAAQ,IAAI,2BAA2B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BAC3K,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,QAAQ,IAAI,0BAA0B,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;yBAC3K;qBACF;iBACF;aACF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBACvC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,YAAY,EAAE;4BACjB,QAAQ,IAAI,+CAA+C,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC;4BAC9G,YAAY,GAAG,IAAI,CAAC;yBACrB;6BAAM;4BACL,QAAQ,IAAI,8CAA8C,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC;yBAC9G;qBACF;yBACI;wBACH,IAAI,CAAC,YAAY,EAAE;4BACjB,QAAQ,IAAI,gCAAgC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;4BACjF,YAAY,GAAG,IAAI,CAAC;yBACrB;6BAAM;4BACL,QAAQ,IAAI,+BAA+B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;yBACjF;qBACF;iBACF;qBACI,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;oBAC1C,IAAI,CAAC,YAAY,EAAE;wBACjB,QAAQ,IAAI,qCAAqC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;wBACtF,YAAY,GAAG,IAAI,CAAC;qBACrB;yBAAM;wBACL,QAAQ,IAAI,oCAAoC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;qBACtF;iBACF;qBACI;oBACH,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,YAAY,EAAE;4BACjB,QAAQ,IAAI,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,0BAA0B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC;yBAC5H;6BAAM;4BACL,QAAQ,IAAI,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,0BAA0B,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC;yBAC3H;qBACF;yBACI;wBACH,IAAI,CAAC,YAAY,EAAE;4BACjB,QAAQ,IAAI,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;yBAC/F;6BAAM;4BACL,QAAQ,IAAI,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;yBAC9F;qBACF;iBACF;aACF;SACF;QAED,SAAS,IAAI,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAC;QAC5C,IAAI,UAAU,GAAG,EAAE,CAAC;QAGpB,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;YACpE,UAAU,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;SAC1G;aACI,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;YACzE,UAAU,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACtD;aACI,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACxE,UAAU,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;SAE1G;aACI,IAAI,uBAAuB,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACzE,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC7C,IAAI,iBAAiB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACjD,UAAU,IAAI,cAAc,GAAG,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBAC1D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE;wBACtC,UAAU,IAAI,GAAG,CAAC;qBACnB;iBACF;aACF;iBACI;gBACH,UAAU,GAAG,cAAc,GAAG,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;aAC/D;SAGF;aACI;YACH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC3D,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC7C,IAAI,iBAAiB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/D,wCAAwC;oBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACjD,UAAU,IAAI,cAAc,GAAG,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;wBAC1D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE;4BACtC,UAAU,IAAI,GAAG,CAAC;yBACnB;qBACF;oBAED,KAAK;iBACN;qBAAM;oBACL,UAAU,IAAI,cAAc,GAAG,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;iBAChE;aAEF;SACF;IAEH,CAAC;IAED,6CAAc,GAAd,UAAe,WAAmB;QAAlC,iBA4gBC;QA3gBC,IAAI,WAAW,IAAI,IAAI,EAAE;YAAE,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;SAAE;QACrE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACzD,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,uBAAuB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,iBAAO;YACtC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;YACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,WAAW,IAAI,EAAE,EAAE;gBACrB,IAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;oBAC1E,IAAI,WAAW,IAAI,QAAQ,EAAE;wBAE3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;4BAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;4BACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;yBACnC;6BAAM;4BACL,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;wBACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;qBACnC;yBACI;wBACH,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;wBACnE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;4BAEhF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE;gCACzC,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;gCAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;oCAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAC3C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;qCAC9C;iCACF;qCACI;oCACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;iCACxD;6BACF;4BACD,KAAI,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;wBAE1E,CAAC,CAAC,CAAC;qBACJ;iBACF;qBACI,IAAI,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;oBAChF,IAAI,WAAW,IAAI,QAAQ,EAAE;wBAE3B,IAAI,WAAW,GAAG,OAAO,CAAC,yEAAyE,CAAC,CAAC;wBACrG,IAAI,WAAW,EAAE;4BACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;4BACzB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;yBAC1C;6BAAM;4BACL,OAAO,KAAK,CAAC;yBACd;qBACF;yBACI;wBACH,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;4BAGvF,IAAI,MAAM,IAAI,IAAI,EAAE;gCAClB,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;gCAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;oCAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAC3C,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;4CACpC,uBAAuB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;yCACrD;6CACI;4CACH,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;yCAC9C;qCACF;iCACF;qCACI;oCACH,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;wCAC9C,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qCAC/D;yCACI;wCACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;qCACxD;iCACF;6BACF;4BAED,6EAA6E;4BAC7E,KAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;wBAEjF,CAAC,CAAC,CAAC;wBACH,iFAAiF;qBAElF;iBAEF;qBAEI,IAAI,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;oBAC3F,IAAI,WAAW,IAAI,QAAQ,EAAE;wBAC3B,IAAI,WAAW,GAAG,OAAO,CAAC,2EAA2E,CAAC,CAAC;wBACvG,IAAI,WAAW,EAAE;4BACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;4BACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;yBACpC;6BAAM;4BACL,OAAO,KAAK,CAAC;yBACd;qBAEF;yBACI;wBACH,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;qBAC1E;iBACF;aAEF;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE;YAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,WAAW,IAAI,EAAE,EAAE;gBACrB,IAAI,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;oBAC3E,IAAI,WAAW,IAAI,QAAQ,EAAE;wBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;4BAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;4BACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;yBACnC;6BAAM;4BACL,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;wBACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;qBACnC;yBACI;wBACH,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;wBACnE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;4BAEhF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE;gCACzC,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;gCAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;oCAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAC3C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;qCAC9C;iCACF;qCACI;oCACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;iCACxD;6BACF;4BACD,6EAA6E;4BAC7E,KAAI,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;wBAE1E,CAAC,CAAC,CAAC;qBACJ;iBACF;aAEF;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;YAG3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,WAAW,IAAI,EAAE,EAAE;gBACrB,IAAI,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;oBAC5E,IAAI,WAAW,IAAI,QAAQ,EAAE;wBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;4BAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;4BACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;yBACpC;6BAAM;4BACL,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;wBACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;qBACpC;yBACI;wBACH,YAAY,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;wBACrE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;4BAEjF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE;gCACzC,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;gCAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;oCAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAC3C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;qCAC9C;iCACF;qCACI;oCACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;iCACxD;6BACF;4BAED,6EAA6E;4BAC7E,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS,EAAE;gCACrD,KAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;6BAChF;iCAAM;gCACL,KAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;6BACjF;wBAGH,CAAC,CAAC,CAAC;qBACJ;iBACF;aAEF;SAGF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE;YACvC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa;YAC7E,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC;iBACrD;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;gBACD,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC;gBACvE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI;gBACH,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;oBACpC,YAAY,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACtE;qBAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,QAAQ,EAAE;oBAC7C,YAAY,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACxE;qBAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,KAAK,EAAE;oBAC1C,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACrE;gBAED,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAExF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE;wBACzC,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;4BAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC3C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC9C;yBACF;6BACI;4BACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;yBACxD;qBACF;oBACD,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,aAAa,GAAG,OAAO,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;gBAC5F,CAAC,CAAC,CAAC;aAGJ;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,eAAe,EAAE;YAE/C,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB;YACpG,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,CAAC;iBAClE;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;gBAED,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC;gBACpF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI;gBACH,IAAI,IAAI,CAAC,oBAAoB,IAAI,MAAM,EAAE;oBACvC,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACpE;qBAAM,IAAI,IAAI,CAAC,oBAAoB,IAAI,QAAQ,EAAE;oBAChD,YAAY,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACtE;qBAAM,IAAI,IAAI,CAAC,oBAAoB,IAAI,KAAK,EAAE;oBAC7C,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACnE;gBAED,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,GAAG,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAE/G,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE;wBACzC,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;4BAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC3C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC9C;yBACF;6BACI;4BACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;yBACxD;qBACF;oBACD,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,oBAAoB,GAAG,aAAa,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;gBACzG,CAAC,CAAC,CAAC;aACJ;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE;YAC5C,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;YAC/E,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC;iBAC1C;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;aAEF;iBACI;gBACH,IAAI,IAAI,CAAC,aAAa,IAAI,iBAAiB,EAAE;oBAC3C,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACrE;qBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,mBAAmB,EAAE;oBACpD,YAAY,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACxE;qBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,gBAAgB,EAAE;oBACjD,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACrE;gBACD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAEtF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE;wBACzC,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;4BAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC3C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC9C;yBACF;6BACI;4BACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;yBACxD;qBACF;oBACD,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,EAAG,YAAY,EAAE,uBAAuB,CAAC,CAAC;gBACjF,CAAC,CAAC,CAAC;aACJ;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,cAAc,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE;YACnF,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAE,CAAC;iBAC3C;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;aACF;iBACI;gBACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAG,YAAY,EAAE,uBAAuB,CAAC,CAAC;aACjF;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;YACzC,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;iBAClC;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;gBAED,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI;gBACH,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;gBACvE,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAwB,WAAa,CAAC,CAAC;gBACtE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;YAC3C,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;iBACpC;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;aAEF;iBACI;gBACH,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACpE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAEjF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE;wBACzC,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;4BAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC3C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC9C;yBACF;6BACI;4BACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;yBACxD;qBACF;oBACD,KAAI,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;aAEJ;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;YACzC,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;iBAClC;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;aACF;iBACI;gBACH,yEAAyE;gBACzE,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACrD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAE/E,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE;wBACzC,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;4BAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC3C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC9C;yBACF;6BACI;4BACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;yBACxD;qBACF;oBACD,KAAI,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;gBACzE,CAAC,CAAC,CAAC;aACJ;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;YACrC,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,WAAW,GAAG,OAAO,CAAC,yEAAyE,CAAC,CAAC;gBACrG,IAAI,WAAW,EAAE;oBACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;iBAC9B;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;gBAED,qBAAqB;gBACrB,4BAA4B;gBAC5B,gEAAgE;gBAChE,WAAW;aACZ;iBACI;gBACH,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;gBACnE,qBAAqB;gBACrB,4BAA4B;gBAC5B,wEAAwE;gBACxE,WAAW;aAEZ;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE;YAC5C,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;iBACpC;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;aAEF;iBACI;gBACH,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACjF,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE;4BAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC3C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC9C;yBACF;6BACI;4BACH,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;yBACxD;qBACF;oBACD,KAAI,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;gBAE3E,CAAC,CAAC,CAAC;gBACH,2EAA2E;aAC5E;SACN;aACI;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,WAAW,IAAI,QAAQ,EAAE;gBAC3B,IAAI,WAAW,GAAG,OAAO,CAAC,wEAAwE,CAAC,CAAC;gBACpG,IAAI,WAAW,EAAE;oBACf,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;oBAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;iBACjC;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;aAEF;iBACI;gBACH,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAC;aACvE;SAEF;IAEH,CAAC;IAED,2CAAY,GAAZ;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,UAAU,GAAG,wGAAwG,CAAC;gBAE1H,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;YAE7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;QACD,IAAI,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,uDAAwB,GAAxB,UAAyB,OAAO;QAAhC,iBAyBC;QAxBC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;YAClE,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACtI,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,sBAAsB,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBACpD,IAAI,KAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE;oBAAE,KAAI,CAAC,UAAU,GAAG,IAAI,EAAE,KAAI,CAAC,gBAAgB,GAAG,IAAI;iBAAE;qBAAM;oBAAE,KAAI,CAAC,UAAU,GAAG,KAAK,EAAE,KAAI,CAAC,gBAAgB,GAAG,KAAK;iBAAE;YAE/J,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE;gBAE7C,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;gBAC5B,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;iBAAM;gBAEL,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;gBAC5B,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAE7D,iBAAiB;SAClB;IACH,CAAC;IAGD,yCAAU,GAAV,UAAW,KAAU;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IACjC,CAAC;IAAA,CAAC;IACF,mDAAoB,GAApB;QACI,UAAU,CAAC;YACT,CAAC,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QAAM,CAAC,EAAE,CAAC,CAAC;IAE9M,CAAC;IAED,mDAAoB,GAApB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QACvK,CAAC,EAAE,CAAC,CAAC;IAEP,CAAC;IACD,kDAAmB,GAAnB,UAAoB,EAAE;QACpB,IAAI,EAAE,IAAI,aAAa,IAAI,EAAE,IAAI,gBAAgB,IAAI,EAAE,IAAI,aAAa,IAAI,EAAE,IAAI,cAAc;YAChG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,IAAI,kBAAkB,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,IAAI,WAAW,EAAE;YAE5F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;QACD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,IAAI,kBAAkB,EAAE;YAC5B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;SAExB;aAAM;YACL,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;gBACrD,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5B,OAAO,KAAK,CAAC;iBACd;aACF;SACF;QAED,IAAI,EAAE,IAAI,gBAAgB,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;YACjC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;SAC5B;aAAM;YACL,IAAI,IAAI,CAAC,eAAe,IAAI,EAAE,IAAI,IAAI,CAAC,eAAe,IAAI,GAAG,EAAE;gBAC7D,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;QAAA,CAAC;QACvD,IAAI,CAAC,oBAAoB,GAAG,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvF,IAAI,CAAC,kBAAkB,GAAG,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,EAAE,KAAK,QAAQ,EAAE;YACnB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,8BAA8B;QAC9B,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aACI;YACH,IAAI,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,SAAS,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;aAChD;iBACI;gBACH,IAAI,GAAG,GAAG,EAAE,CAAC;gBACL,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;oBAC5C,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;oBACtD,IAAI,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACxD,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,UAAU,EAAlE,CAAkE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrH,IAAI,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;wBAC/E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,GAAG,UAAU,GAAG,mEAAmE,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;wBAE1K,OAAO,KAAK,CAAC;qBAEd;yBAAM;wBACL,IAAI,EAAE,IAAI,iBAAiB,EAAE;4BAC3B,IAAI,GAAG,IAAI,UAAU,EAAE;gCACrB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;6BACrC;iCAAM;gCACL,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gCAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gCAChD,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;gCACpD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;6BAC3C;yBACF;6BACI,IAAI,EAAE,IAAI,UAAU,EAAE;4BACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;yBAC1B;6BACI;4BACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;yBAC3B;wBACD,IAAI,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;wBAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;wBACnB,IAAI,EAAE,IAAI,aAAa,IAAI,EAAE,IAAI,iBAAiB,EAAE;4BAClD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;yBACzB;wBAED,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC;wBACzD,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;wBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBAEvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;4BAClC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,WAAW,EAAE;gCACnC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gCACnB,OAAO,KAAK,CAAC;6BACd;iCAAM;gCAEL,IAAI,GAAG,GAAG,OAAO,CAAC,mCAAmC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,mHAAmH,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;gCACzN,IAAI,GAAG,EAAE;oCACP,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iCACpB;qCAAM;oCACL,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;oCAC7D,OAAO,KAAK,CAAC;iCACd;6BACF;yBAGF;wBACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;wBAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBAC9B,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,IAAI,gBAAgB,IAAG,EAAE,IAAI,aAAa,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,KAAK,aAAa,IAAI,EAAE,KAAK,cAAc,EAAE;4BAC1J,IAAI,OAAK,GAAG,IAAI,CAAC;4BACjB,CAAC,CAAC,UAAU,CAAC;gCACX,OAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;4BAChD,CAAC,EAAE,GAAG,CAAC,CAAC;yBACT;wBACD,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;wBAC3C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBAE7C,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,IAAI,YAAY,EAAE;4BAC7D,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;4BAClC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;4BAC1C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;yBACtB;wBACD,CAAC,CAAC,UAAU,CAAC;4BACX,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBAChD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBACT,IAAI,EAAE,IAAI,OAAO,EAAE;4BAChB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAChC,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;gCACrD,IAAI,IAAI,CAAC,mBAAmB,EAAE;oCAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oCACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oCAC5B,OAAO,KAAK,CAAC;iCACd;6BACF;4BACD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;4BAClC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;4BAC5B,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAE/B,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;gCACtC,IAAI,UAAO,GAAG,IAAI,CAAC;gCACnB,CAAC,CAAC,UAAU,CAAC;oCACX,UAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAO,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;oCAClE,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC;gCACvE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gCACT,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;6BAC9C;iCACI;gCACH,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;gCAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC;6BACnE;yBAEF;6BACI,IAAI,EAAE,IAAI,SAAS,EAAE;4BACxB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;gCAChC,IAAI,UAAO,GAAG,IAAI,CAAC;gCACnB,CAAC,CAAC,UAAU,CAAC;oCAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;gCACtE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gCACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;6BAC9C;iCACI;gCACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;6BAClE;yBAEF;6BACI,IAAI,EAAE,IAAI,UAAU,EAAE;4BACzB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;gCAC/B,IAAI,UAAO,GAAG,IAAI,CAAC;gCACnB,CAAC,CAAC,UAAU,CAAC;oCACX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gCAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gCACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;6BAC9C;iCACI;gCACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;6BAC5D;yBACF;6BACI,IAAI,EAAE,IAAI,aAAa,EAAE;4BAC5B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;yBAC7B;6BACI,IAAI,EAAE,IAAI,WAAW,EAAE;4BAC1B,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;4BAC3C,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC;4BAExC,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS,EAAE;gCACpD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;6BAC7D;iCAAM;gCACL,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gCAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;oCAC/B,IAAI,UAAO,GAAG,IAAI,CAAC;oCACnB,CAAC,CAAC,UAAU,CAAC;wCAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oCAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oCACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iCAC9C;qCACI;oCACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;iCAC5D;6BACF;4BACD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;gCAClC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gCACrC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;6BACtB;iCAAM;gCACL,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gCAC7C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;6BAC9B;yBACF;6BACI,IAAI,EAAE,IAAI,eAAe,EAAE;4BAC9B,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;4BACvC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;4BACnC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;4BAC9D,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;4BAC3C,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE;gCAC9C,IAAI,UAAO,GAAG,IAAI,CAAC;gCACnB,CAAC,CAAC,UAAU,CAAC;oCACX,UAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oCAC1D,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC;gCACpF,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gCACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;6BAC9C;iCACI;gCACH,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gCACpD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC;6BAChF;yBACF;6BACI,IAAI,EAAE,IAAI,YAAY,EAAE;4BAC3B,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;4BACvC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;4BAChC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC/B,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;4BAC3C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;4BACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC3C,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;gCACzC,IAAI,UAAO,GAAG,IAAI,CAAC;gCACnB,CAAC,CAAC,UAAU,CAAC;oCAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,iDAAiD,CAAC,CAAC;gCAClF,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gCACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;6BAC9C;iCACI;gCACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iDAAiD,CAAC,CAAC;6BAC9E;4BACD,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;4BACjC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACvB,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;yBACpC;6BACI,IAAI,EAAE,IAAI,SAAS,EAAE;4BACxB,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;4BAChE,IAAI,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;4BAClE,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;4BAC3C,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;4BAEpC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;4BAC7D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;4BAC7C,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;4BAClD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;yBACtB;6BACI,IAAI,EAAE,IAAI,UAAU,EAAE;4BACzB,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;4BACpC,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;4BAC3C,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;4BACtD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC;4BAC9D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;4BAC7C,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;yBAEpD;6BACI,IAAI,EAAE,IAAI,mBAAmB,EAAE;4BAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;4BACtD,8BAA8B;4BAC9B,6DAA6D;yBAC9D;6BACI,IAAI,EAAE,IAAI,SAAS,EAAE;4BACxB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;4BACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;4BACnC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;4BAC7C,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;4BAClD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAA2B,GAAG,GAAG,CAAC,CAAC;yBAE9D;6BAEI,IAAI,EAAE,IAAI,gBAAgB,EAAE;4BAC/B,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;4BACpE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;4BACtD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;yBACtB;6BACI,IAAI,EAAE,IAAI,cAAc,EAAE;4BAC7B,+DAA+D;4BAC/D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;4BAExB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC;yBACtE;6BACI,IAAI,EAAE,IAAI,YAAY,EAAE;4BAC3B,IAAI,KAAG,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;4BAC/C,IAAI,KAAG,IAAI,IAAI,EAAE;gCACf,KAAG,GAAG,MAAM,CAAC;6BACd;4BACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAyB,GAAG,KAAG,CAAC,CAAC;4BAC3D,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;4BAC9B,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;4BAC3C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;4BAC7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;4BACjD,IAAI,CAAC,aAAa,CAAC,KAAG,CAAC,CAAC;4BACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;4BACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;yBAC9B;6BACI,IAAI,EAAE,IAAI,cAAc,EAAE;4BAC7B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;yBACzC;6BACI,IAAI,EAAE,IAAI,iBAAiB,EAAE;4BAChC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;yBAC5C;6BACI,IAAI,EAAE,IAAI,YAAY,EAAE;4BAC3B,oDAAoD;4BACpD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;4BAC9B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;4BAC5B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;4BACpC,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;yBAGrC;6BACI,IAAI,EAAE,IAAI,iBAAiB,EAAE;4BAEhC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;4BAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;yBAEhC;6BACI,IAAI,EAAE,IAAI,SAAS,EAAE;4BACxB,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;4BAEvC,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;4BAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;4BACxD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;4BAC7C,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;4BACtD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;yBACtB;6BACI,IAAI,EAAE,IAAI,WAAW,EAAE;4BAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;4BAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;yBACjD;6BACI,IAAI,EAAE,IAAI,gBAAgB,EAAE;4BAC/B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;4BACzB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;4BACrC,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;4BACpC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;4BACnC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;yBAC3C;6BACI,IAAI,EAAE,IAAI,gBAAgB,EAAE;4BAE/B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;yBAC7B;6BAEI,IAAI,EAAE,IAAI,YAAY,EAAE;4BAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;4BACpC,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;4BACpC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;4BACnC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;yBAC/B;6BACI,IAAI,EAAE,IAAI,cAAc,EAAE;4BAC7B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;4BAC1B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;yBAClC;6BACI,IAAI,EAAE,IAAI,UAAU,EAAE;4BACzB,mCAAmC;4BACnC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;yBACpE;6BACI,IAAI,EAAE,IAAI,WAAW,EAAE;4BAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;4BAC/B,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;4BAC3C,wBAAwB;yBAExB;6BACI,IAAI,EAAE,IAAI,WAAW,EAAE;4BAC1B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;4BACrB,IAAI,UAAO,GAAG,IAAI,CAAC;4BACnB,CAAC,CAAC,UAAU,CAAC;gCACX,UAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gCAC/B,CAAC,CAAC,UAAU,CAAC;oCACX,UAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;gCAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;4BACT,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;yBAET;6BACI,IAAI,EAAE,IAAI,YAAY,EAAE;4BAC3B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;yBACzC;6BACI,IAAI,EAAE,IAAI,aAAa,EAAE;4BAC5B,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;4BACjC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;yBACrC;6BACI,IAAI,EAAE,IAAI,cAAc,EAAE;4BAC7B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;yBAClC;6BACI,IAAI,EAAE,IAAI,aAAa,EAAE;4BAC5B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;yBAChC;6BACI,IAAI,EAAE,IAAI,oBAAoB,EAAE;4BACnC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;yBACxC;6BACI,IAAI,EAAE,IAAI,gBAAgB,EAAE;4BAC/B,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;yBACpC;6BACI,IAAI,EAAE,IAAI,iBAAiB,EAAE;4BAChC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;4BACrC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;yBACtC;6BACI,IAAI,EAAE,IAAI,kBAAkB,EAAE;4BACjC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;yBACtC;6BACI,IAAI,EAAE,IAAI,WAAW,EAAE;4BAC1B,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;yBACtC;6BACI,IAAI,EAAE,IAAI,QAAQ,EAAE;4BAEvB,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;gCAC/B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;6BAElC;iCAAM;gCACL,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;6BACpC;yBACF;6BACI,IAAI,EAAE,IAAI,aAAa,EAAE;4BAE5B,IAAI,CAAC,WAAW,EAAE;yBACnB;6BACI,IAAI,EAAE,IAAI,QAAQ,EAAE;4BACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;yBAC1B;6BACI,IAAI,EAAE,IAAI,aAAa,EAAE;4BAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;4BAC/B,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;yBAC3C;6BACI,IAAI,EAAE,IAAI,UAAU,IAAI,EAAE,IAAI,gBAAgB,EAAE;4BACnD,IAAI,EAAE,IAAI,UAAU,EAAE;gCACrB,qCAAqC;gCACpC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gCACpC,sFAAsF;gCAEtF,kFAAkF;gCAClF,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gCACvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC,CAAC,oGAAoG;6BAErK;iCAAM;gCACL,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;gCACpF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAG,SAAS,EAAE;oCAClC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE;wCAE3D,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;wCAClC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;wCACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAwB,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,GAAC,IAAI,CAAC,CAAC;qCAEtF;yCAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wCAC3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;wCACtC,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;qCAClD;iCACF;qCACI;oCACH,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,8CAA8C,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;iCAC3H;6BACF;yBAEF;6BACI;4BACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;4BAC1C,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;4BAC9B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;yBAC5B;wBAGD,IAAI,EAAE,KAAK,QAAQ,EAAE;4BACnB,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;yBACjD;qBACF;iBACF;aACF;SACF;QAED,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iDAAiD,CAAC,CAAC;QACjF,IAAI,EAAE,KAAK,aAAa,IAAI,EAAE,KAAK,cAAc,IAAI,EAAE,KAAK,aAAa,EAAE;YACzE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACpC;SACF;QAED,uBAAuB;IAEzB,CAAC;IACD,2CAAY,GAAZ,UAAa,EAAE;QACb,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC;QACjI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,6CAAc,GAAd;QACE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,iDAAkB,GAAlB,UAAmB,GAAG;QAEpB,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAErD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAEtD,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAEjD,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE9B,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEtC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACpD,mCAAmC;QAEnC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAEnD,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACpD,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAEtD,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAExD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAGpD,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAErD,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,CAAC,4BAA4B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAE5D,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAEpD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACpD,oCAAoC;QAEpC,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC,CAAC,8BAA8B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE5C,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,CAAC,4BAA4B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAE5D,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE/B,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACpD,mCAAmC;QAEnC,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,yBAAyB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvC,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAE1D,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACxD,0CAA0C;QAE1C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACpD,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC1D,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAExC,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAErC,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,yBAAyB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvC,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAGpC,yDAAyD;QACzD,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,mDAAoB,GAApB,UAAqB,GAAG;QACtB,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,oCAAoC;QAEpC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE9B,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEtC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,oCAAoC;QAEpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE7C,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChD,uCAAuC;QAEvC,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAElD,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE1C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE9C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAExD,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtD,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE/B,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAErD,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,yCAAyC;QAEzC,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAErC,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEzC,CAAC;IAED,qBAAqB;IACrB,qCAAqC;IACrC,2CAA2C;IAC3C,0CAA0C;IAC1C,mCAAmC;IACnC,iCAAiC;IACjC,oCAAoC;IACpC,mCAAmC;IACnC,0CAA0C;IAC1C,sCAAsC;IACtC,sCAAsC;IACtC,qCAAqC;IACrC,wCAAwC;IACxC,sCAAsC;IACtC,qCAAqC;IACrC,yCAAyC;IACzC,GAAG;IACH,6CAAc,GAAd,UAAe,GAAG;QAEhB,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;QACtC,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,IAAI,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,UAAU,EAAxB,CAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;gBAC/E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,UAAU,GAAG,mEAAmE,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxK,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;aACI;YACH,yCAAyC;SAC1C;IACH,CAAC;IAED,0CAAW,GAAX;QACE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,0CAAW,GAAX,UAAY,aAAa;QAAzB,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,aAAG;YACtE,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAc,GAAd;QAAA,iBAsBC;QArBC,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,GAAG,IAAI,QAAQ,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,aAAG;gBACzD,IAAI,GAAG,IAAI,SAAS,EAAE;oBACpB,yDAAyD;oBACzD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpF,KAAI,CAAC,QAAQ,GAAG,CAAC,KAAI,CAAC,QAAQ,CAAC;oBAC/B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvB,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAChC;qBACI;oBACH,yDAAyD;oBACzD,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;iBAE3C;YACH,CAAC,CAAC,CAAC;SACJ;;YAEC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAExB,CAAC;IACD,2CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,6CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,iBAAiB,EAA/B,CAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;gBAC9E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4GAA4G,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEtK,OAAO,KAAK,CAAC;aAEd;iBAAM;gBACL,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;gBAC3C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChD,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACvD,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;aAC7C;SACF;IACH,CAAC;IAGD,0CAAW,GAAX;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACnI,CAAC;IACD,mDAAoB,GAApB,UAAqB,QAAQ;QAE3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS;YACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAI,QAAQ,CAAC,IAAI,CAAC,UAAY,CAAC,CAAC;aACzG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS;YAC1E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAgC,QAAQ,CAAC,IAAI,CAAC,UAAU,aAAQ,QAAQ,CAAC,IAAI,CAAC,SAAW,CAAC,CAAC;QAEvH,IAAI,GAAG,GAAW,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvC,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;SAEvC;IAEH,CAAC;IACD,0CAAW,GAAX,UAAY,QAAQ;QAElB,qBAAqB;IACvB,CAAC;IACD,yCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,oDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,kDAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,iDAAkB,GAAlB,UAAmB,IAAS;QAA5B,iBAqBC;QApBC,qBAAqB;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,IAAI,GAAG,GAAG,GAAG,CAAC;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,iBAAO;gBACtC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,aAAa,IAAI,OAAO,CAAC,EAAE,IAAI,oBAAoB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,IAAI,OAAO,CAAC,EAAE,IAAI,kBAAkB,IAAI,OAAO,CAAC,EAAE,IAAI,WAAW,IAAI,OAAO,CAAC,EAAE,IAAI,UAAU,IAAI,OAAO,CAAC,EAAE,IAAI,aAAa,IAAI,OAAO,CAAC,EAAE,IAAI,SAAS,IAAI,OAAO,CAAC,EAAE,IAAI,aAAa,CAAC,IAAI,KAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;oBACtU,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;iBAC5B;qBACI,IAAI,OAAO,CAAC,EAAE,IAAI,MAAM,IAAI,OAAO,CAAC,EAAE,IAAI,QAAQ,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,EAAE;oBAChF,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;;oBAEC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAEhC,CAAC,CAAC;SACH;QAED,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,+CAAgB,GAAhB;QACE,uCAAuC;QACvC,IAAI,OAAO,GAAG,IAAI,2DAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,gCAAgC,CAAC;QACjF,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAC,IAAI,QAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAzB,CAAyB,CAAC,CAAC;QACrG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,oCAAoC;YACpC,IAAI,KAAK;YACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;oBACnD,KAAK,GAAG,CAAC,CAAC;oBACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAChC;aAEF;SAEF;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,mDAAoB,GAApB,UAAqB,IAAS;QAA9B,iBAwBC;QAvBC,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,iBAAO;gBACtC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,aAAa,IAAI,OAAO,CAAC,EAAE,IAAI,oBAAoB,IAAI,OAAO,CAAC,EAAE,IAAI,eAAe,IAAI,OAAO,CAAC,EAAE,IAAI,kBAAkB,IAAI,OAAO,CAAC,EAAE,IAAI,WAAW,IAAI,OAAO,CAAC,EAAE,IAAI,UAAU,IAAI,OAAO,CAAC,EAAE,IAAI,aAAa,IAAI,OAAO,CAAC,EAAE,IAAI,SAAS,IAAI,OAAO,CAAC,EAAE,IAAI,aAAa,CAAC,IAAI,KAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;oBACtU,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;iBAC5B;qBACI,IAAI,OAAO,CAAC,EAAE,IAAI,MAAM,IAAI,OAAO,CAAC,EAAE,IAAI,QAAQ,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,EAAE;oBAChF,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;;oBAEC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAChC,CAAC,CAAC;SACH;QACD,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,gDAAiB,GAAjB,UAAkB,KAAU;QAC1B,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,kDAAmB,GAAnB,UAAoB,KAAU;QAC5B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,2CAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,6CAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,0CAAW,GAAX,UAAY,KAAK;QAEf,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,4CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,oDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,sDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,kDAAmB,GAAnB;QACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,wCAAS,GAAT;QAAA,iBAQC;QAPC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,iBAAO;YACtC,IAAI,OAAO,CAAC,EAAE,IAAI,KAAK,IAAI,KAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC/D,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;;gBAEC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC;IAGD,gDAAiB,GAAjB,UAAkB,GAAG,EAAE,OAAO;QAC5B,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;YACvC,SAAS,GAAG,iBAAiB,CAAC;SAC/B;aACI,IAAI,GAAG,IAAI,QAAQ,EAAE;YACxB,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC;YACzC,SAAS,GAAG,mBAAmB,CAAC;SACjC;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,SAAS,GAAG,gBAAgB,CAAC;SAC9B;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,SAAS,GAAG,eAAe,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;YACvC,SAAS,GAAG,iBAAiB,CAAC;SAC/B;QAED,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC;SAEhF;QAED,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;QAChC,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC;QACxC,IAAI,GAAG,IAAI,KAAK,EAAE;SAEjB;aACI;YACH,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iDAAiD,CAAC,CAAC;SAClF;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,0CAAW,GAAX,UAAY,GAAG,EAAE,OAAO,EAAE,UAAU;QAClC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAChC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QACnD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAGtC,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,UAAU,IAAI,aAAa,EAAE;gBAC/B,SAAS,GAAG,mBAAmB,CAAC;aAEjC;iBACI;gBACH,SAAS,GAAG,UAAU;aACvB;SAEF;QACD,IAAI,UAAU,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;SACvD;aACI;YACH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;SAClC;QAED,GAAG;IAEL,CAAC;IACD,uCAAQ,GAAR,UAAS,GAAG,EAAE,OAAO;QACnB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;YACvC,SAAS,GAAG,YAAY,CAAC;SAC1B;aACI,IAAI,GAAG,IAAI,WAAW,EAAE;YAC3B,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC;YACzC,SAAS,GAAG,iBAAiB,CAAC;SAC/B;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,SAAS,GAAG,WAAW,CAAC;SACzB;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,SAAS,GAAG,WAAW,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;YACvC,SAAS,GAAG,YAAY,CAAC;SAC1B;QAED,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qDAAqD,CAAC,CAAC;QAEjF,IAAI,GAAG,IAAI,KAAK,EAAE;YACjB,iDAAiD;YAChD,+BAA+B;SAChC;aACI;YACH,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iDAAiD,CAAC,CAAC;YACjF,6BAA6B;SAC9B;IACH,CAAC;IACD,4CAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC;QAC3D,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAGD,yCAAU,GAAV,UAAW,GAAG,EAAE,OAAO,EAAE,MAAM;QAE7B,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QAEjC,IAAI,GAAG,IAAI,KAAK,EAAE;YAEhB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC7E;aACI;YACH,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE;gBACnC,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,UAAO,CAAC,aAAa,CAAC,CAAC;gBACtF,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aAC9C;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;aAC/E;YAED,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC,CAAC;SACjF;QACD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,QAAQ,MAAM,EAAE;YACd,KAAK,cAAc,CAAC,CAAC;gBACnB,GAAG,GAAG,aAAa,CAAC;gBAAC,MAAM;aAC5B;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACrB,GAAG,GAAG,eAAe,CAAC;gBAAC,MAAM;aAC9B;YACD,KAAK,iBAAiB,CAAC,CAAC;gBACtB,GAAG,GAAG,gBAAgB,CAAC;gBAAC,MAAM;aAC/B;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACrB,GAAG,GAAG,eAAe,CAAC;gBAAC,MAAM;aAC9B;YACD,KAAK,iBAAiB,CAAC,CAAC;gBACtB,GAAG,GAAG,gBAAgB,CAAC;gBAAC,MAAM;aAC/B;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,GAAG,GAAG,YAAY,CAAC;gBAAC,MAAM;aAC3B;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,GAAG,GAAG,YAAY,CAAC;gBAAC,MAAM;aAC3B;SACF;QAED,UAAU,CAAC;YACT,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpD,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,8CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,qBAAqB;QACrB,0BAA0B;QACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,GAAG,IAAI,eAAe,EAAE;YAC1B,QAAQ,GAAG,cAAc,CAAC;SAC3B;aACI,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAChC,QAAQ,GAAG,eAAe,CAAC;SAC5B;aACI,IAAI,GAAG,IAAI,kBAAkB,EAAE;YAClC,QAAQ,GAAG,gBAAgB,CAAC;SAC7B;aACI,IAAI,GAAG,IAAI,aAAa,EAAE;YAC7B,QAAQ,GAAG,aAAa,CAAC;SAC1B;QACD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEzD,IAAI,GAAG,IAAI,eAAe,IAAI,GAAG,IAAI,gBAAgB,IAAI,GAAG,IAAI,kBAAkB,EAAE;YAClF,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;gBACjC,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC;gBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aAC9C;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC;aAC5D;SACA;aAAM;YAEL,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;gBACvC,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,gBAAgB,CAAC;aAC3D;iBAAM;gBACL,IAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;aACjD;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAC9B;QAEH,UAAU;IACZ,CAAC;IACD,8BAA8B;IAC9B,sCAAsC;IACtC,8BAA8B;IAC9B,4MAA4M;IAC5M,WAAW;IAEX,KAAK;IAEL,uCAAuC;IACvC,8BAA8B;IAC9B,qNAAqN;IACrN,WAAW;IACX,KAAK;IACL,GAAG;IAEH,iDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;YACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,kCAAkC;YAClC,IAAI,KAAK,IAAI,EAAE,EAAE;gBACf,IAAI,IAAI,CAAC,iBAAiB,KAAK,UAAU,EAAE;oBACzC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBACzC;qBACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,oBAAoB,EAAE;oBACvD,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;iBAEhD;qBACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,UAAU,EAAE;oBAC7C,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;iBAE1C;qBACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,cAAc,EAAE;oBACjD,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;iBAC1C;aAEF;SACF;aACI,IAAI,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;YAC3C,IAAI,KAAK,IAAI,EAAE,EAAE;gBACf,IAAI,IAAI,CAAC,iBAAiB,IAAI,KAAK,EAAE;oBACnC,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;iBACjD;qBAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,YAAY,EAAE;oBACjD,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;iBAChD;aAEF;SACF;aACI,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;YACxC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SACzC;aACI,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE;YACtC,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;gBACpC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aAC1C;SAEF;aACI,IAAI,IAAI,CAAC,aAAa,IAAI,YAAY,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;SACjD;aACI,IAAI,IAAI,CAAC,aAAa,IAAI,WAAW,EAAE;YAC1C,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;SAC1C;aACI,IAAI,IAAI,CAAC,aAAa,IAAI,eAAe,EAAE;YAC9C,IAAI,IAAI,CAAC,oBAAoB,IAAI,MAAM,EAAE;gBACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC;aACxE;iBAAM,IAAI,IAAI,CAAC,oBAAoB,IAAI,QAAQ,EAAE;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC;aACxE;iBAAM,IAAI,IAAI,CAAC,oBAAoB,IAAI,KAAK,EAAE;gBAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC;aACxE;SACF;IACH,CAAC;IACD,8CAAe,GAAf,UAAgB,OAAO,EAAE,SAAS;QAAlC,iBAqBC;QApBC,IAAI,uBAAuB,GAAG,EAAE,CAAC;QACjC,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAE7E,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtD,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC7C,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC9C;iBACF;aACF;YACD,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvD,KAAI,CAAC,cAAc,IAAI,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aAC3D;YACD,KAAI,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAC;QAE1E,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAa,GAAb,UAAc,GAAG,EAAE,GAAG,EAAE,IAAI;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzE,IAAI,SAAS,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;aACjD;iBACI;gBACH,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;aAC/C;SACF;QACD,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,IAAI,MAAW,CAAC;YAChB,IAAI,UAAe,CAAC;YACpB,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC;gBACnD,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACtD;iBAAM;gBACL,UAAU,GAAG,GAAG,CAAC;aAClB;YACD,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,UAAU,EAAlE,CAAkE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrH,IAAI,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;gBAC9E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,UAAU,GAAG,mEAAmE,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEzK,OAAO,KAAK,CAAC;aAEd;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;gBACzB,IAAI,GAAG,IAAI,UAAU,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8BAA8B,GAAG,GAAG,CAAC,CAAC;iBACjE;qBAEI,IAAI,GAAG,IAAI,SAAS,EAAE;oBACzB,IAAI,GAAG,IAAI,iBAAiB,EAAE;wBAC5B,IAAI,IAAI,GAAG,EAAE,CAAC;wBACd,IAAI,IAAI,CAAC,gBAAgB,IAAI,wBAAwB,EAAE;4BACrD,IAAI,GAAG,qBAAqB,CAAC;yBAC9B;6BAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,wBAAwB,EAAE;4BAC5D,IAAI,GAAG,qBAAqB,CAAC;yBAC9B;6BAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,sBAAsB,EAAE;4BAC1D,IAAI,GAAG,OAAO,CAAC;yBAChB;6BAAO;4BACN,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;yBAC9B;wBACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;wBAC1D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBAC7C,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;qBACvD;yBAEI,IAAI,GAAG,IAAI,cAAc,EAAE;wBAE9B,IAAI,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,EAAE;4BAC/C,IAAI,GAAG,eAAe,CAAC;yBACxB;6BAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,EAAE;4BACxD,IAAI,GAAG,iBAAiB,CAAC;yBAC1B;6BAAM;4BACL,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;yBAC9B;wBAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAAC;wBAChE,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBAC7C,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;qBACvD;iBACF;qBACI,IAAI,GAAG,IAAI,QAAQ,EAAE;oBAExB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC;iBAC/D;qBACI;oBACH,IAAI,IAAI,IAAI,KAAK,EAAE;wBACjB,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;qBAChD;iBAEF;gBACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC7C,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;SACF;IAEH,CAAC;IACD,2BAA2B;IAC3B,GAAG;IACH,sDAAuB,GAAvB,UAAwB,GAAG;QACzB,UAAU,CAAC;YACT,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iGAAiG,CAAC,CAAC;QAC1H,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,yDAA0B,GAA1B,UAA2B,IAAI;QAE7B,IAAI,IAAI,IAAI,gBAAgB,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,cAAc,EAAG;YAC/E,IAAI,CAAC,uBAAuB,CAAC,8BAA8B,CAAC,CAAC;SAC9D;aACI,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,iBAAiB,EAAE;YAC1D,UAAU,CAAC;gBACT,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sGAAsG,CAAC,CAAC;YAC1J,CAAC,EAAE,CAAC,CAAC;SACN;aACI;YACH,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,CAAC;SACnD;IAEH,CAAC;IACD,6CAAc,GAAd;QACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;IAC1C,CAAC;IACD,sCAAO,GAAP;QACE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,wCAAS,GAAT;QACE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IACD,4CAAa,GAAb,UAAc,GAAG,EAAE,OAAO;QACxB,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9C,8BAA8B;SAC/B;aACI;YACH,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC,CAAC;YAChF,6BAA6B;SAC9B;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,6CAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,+CAAgB,GAAhB,UAAiB,MAAM;QACrB,8CAA8C;QAC9C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QACnC,CAAC;QACG,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;YAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC5C;iBAAM;gBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;aACjD;YACD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,iDAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACxC,CAAC;IACD,qDAAsB,GAAtB,UAAuB,GAAG;QACxB,IAAI,GAAG,IAAI,uBAAuB,IAAI,GAAG,IAAI,yBAAyB,EAAE;YACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;SACtC;aACI,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;YACrC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAG,GAAG,EAAE;gBAC3B,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/B,IAAI,UAAO,GAAG,IAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBAC9C;qBACI;oBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;iBAC5D;gBAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,UAAU,CAAC;oBACT,UAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC7C,UAAO,CAAC,aAAa,GAAG,UAAU,CAAC;gBACrC,CAAC,EAAE,GAAG,CAAC;aACR;iBAAM;gBACL,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/B,IAAI,UAAO,GAAG,IAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBAC9C;qBACI;oBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;iBAC5D;gBAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,UAAU,CAAC;oBACT,UAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBACvC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC7C,qCAAqC;gBACvC,CAAC,EAAE,GAAG,CAAC;aACR;YACD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SACtG;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1G;IAGH,CAAC;IACD,2CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;SACnC;aACI,IAAI,GAAG,IAAI,iBAAiB,EAAE;YACjC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;SACvC;aACI;YACH,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;SACxC;IAEH,CAAC;IACD,uDAAwB,GAAxB;QACE,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC;IAC/D,CAAC;IACD,uCAAQ,GAAR;QACE,gDAAgD;QAChD,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IACD,6CAAc,GAAd;QAEE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS;oBACjC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;;oBAElD,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;aACtD;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBACnC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3C;iBACI;gBACH,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC5C;SACF;IACH,CAAC;IAED,mDAAoB,GAApB;QACE,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;YAClC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;aACI;YACH,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK;gBACnC,OAAO,KAAK,IAAI,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;YACxC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;aACI;YACH,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK;gBACnC,OAAO,KAAK,IAAI,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;QAED,uCAAuC;QACvC,0BAA0B;QAC1B,oHAAoH;IAEtH,CAAC;IAED,yCAAU,GAAV;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mIAAmI,CAAC,CAAC;QAElK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,gEAAiC,GAAjC;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kHAAkH,CAAC,CAAC;QAEjJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,sDAAuB,GAAvB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+IAA+I,CAAC,CAAC;QAE9K,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,qCAAM,GAAN;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qJAAqJ,CAAC,CAAC;QAEpL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,uCAAQ,GAAR;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2HAA2H,CAAC,CAAC;QAE1J,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,sDAAuB,GAAvB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4IAA4I,CAAC,CAAC;QAC3K,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,4CAAa,GAAb;QACE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IACD,6CAAc,GAAd;QACE,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,oDAAqB,GAArB;QAAA,iBAwKC;QAvKC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,iBAAO;YACtC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QACxD,CAAC,CAAC;QACF,IAAI,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YACpF,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;gBAChF,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACxF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;wBACnD,IAAI,gBAAgB,SAAO,CAAC;wBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;4BAC1B,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAE3F,CAAC,CAAC;qBACH;yBAAM;wBACL,KAAI,CAAC,mBAAmB,GAAG;4BACzB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;4BAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE;yBAC/C,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;aACJ;iBACI,IAAI,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;gBAChF,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACxF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;wBACnD,IAAI,gBAAgB,SAAO,CAAC;wBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;4BAC1B,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAE3F,CAAC,CAAC;qBACH;yBAAM;wBACL,KAAI,CAAC,mBAAmB,GAAG;4BACzB,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;yBACpD,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;aAEJ;iBACI,IAAI,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;gBAC9F,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACzF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;wBACnD,IAAI,gBAAgB,SAAO,CAAC;wBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;4BAC1B,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAE3F,CAAC,CAAC;qBACH;yBAAM;wBACL,KAAI,CAAC,mBAAmB,GAAG;4BACzB,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE;yBACvD,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;aAEJ;SACF;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC3F,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAChG,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,gBAAgB,SAAO,CAAC;oBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE3F,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,mBAAmB,GAAG;wBACzB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;wBAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;qBAChD,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YACvF,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACzF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,gBAAgB,SAAO,CAAC;oBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3F,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,mBAAmB,GAAG;wBACzB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;wBAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;qBAChD,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC/F,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAC/F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,gBAAgB,SAAO,CAAC;oBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE3F,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,mBAAmB,GAAG;wBACzB,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;wBAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE;qBACrD,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC1F,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAC/F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,gBAAgB,SAAO,CAAC;oBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE3F,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,mBAAmB,GAAG;wBACzB,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;wBACnD,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;qBAC9C,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC1F,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAC5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,gBAAgB,SAAO,CAAC;oBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE3F,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,mBAAmB,GAAG;wBACzB,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;wBACnD,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;qBAC9C,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SAEJ;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YACzF,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACvF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,gBAAgB,SAAO,CAAC;oBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE3F,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,mBAAmB,GAAG;wBACzB,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;qBAC9C,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;QACD,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;IAEhD,CAAC;IAED,6CAAc,GAAd,UAAe,MAAM;QAArB,iBAeC;QAbC,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,iBAAO;gBAEjB,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,EAAE;oBAC5B,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;YACH,CAAC,CAAC,CAAC;SACJ;QACD,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,oDAAqB,GAArB;QAAA,iBAuFC;QArFC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,iBAAO;YACtC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QACxD,CAAC,CAAC;QACF,IAAI,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YACpF,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;gBAChF,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACjH,KAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;aACJ;iBACI,IAAI,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;gBAChF,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACxH,KAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;aAEJ;iBACI,IAAI,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,IAAI,yBAAyB,EAAE;gBAC9F,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAClH,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;aAEJ;SACF;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC3F,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzH,KAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,8BAA8B;YAC9B,kDAAkD;YAClD,mDAAmD;YACnD,IAAI;SACL;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YACvF,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAClH,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,8BAA8B;YAC9B,kDAAkD;YAClD,oDAAoD;YACpD,mDAAmD;YACnD,IAAI;SACL;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC/F,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACxH,KAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,8BAA8B;YAC9B,oDAAoD;YACpD,kDAAkD;YAClD,wDAAwD;YACxD,IAAI;SACL;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC1F,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACxH,KAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,8BAA8B;YAC9B,wDAAwD;YACxD,oDAAoD;YACpD,kDAAkD;YAClD,IAAI;SACL;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YAC1F,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrH,KAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,8BAA8B;YAC9B,wDAAwD;YACxD,oDAAoD;YACpD,kDAAkD;YAClD,IAAI;SACL;aACI,IAAI,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,IAAI,2BAA2B,EAAE;YACzF,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAChH,KAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,8BAA8B;YAC9B,oDAAoD;YACpD,iDAAiD;YACjD,IAAI;SACL;QAED,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;IAEhD,CAAC;IAED,wDAAyB,GAAzB,UAA0B,GAAG;QAA7B,iBAiCC;QAhCC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;YACrD,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,gBAAM;YAChD,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC9E,KAAK,CAAC,OAAO,CAAC,qBAAW;YACzB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAE9D,IAAI,eAAe,IAAI,IAAI,EAAE;gBAC3B,UAAU,CAAC;oBACT,CAAC,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAC3D,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,2DAA4B,GAA5B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iGAAiG,CAAC,CAAC;QACxJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,0DAA2B,GAA3B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yHAAyH,CAAC,CAAC;QACxJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,6CAAc,GAAd,UAAe,GAAG;QAChB,QAAQ,GAAG,EAAE;YACX,KAAK,oBAAoB,CAAC,CAAC;gBACzB,UAAU,CAAC;oBACT,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4GAA4G,CAAC,CAAC;gBAC/J,CAAC,EAAE,CAAC,CAAC;gBACL,MAAM;aACP;YACD,KAAK,2BAA2B,CAAC,CAAC;gBAChC,UAAU,CAAC;oBACT,CAAC,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4GAA4G,CAAC,CAAC;gBACtK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,MAAM;aACP;YACD,KAAK,aAAa,CAAC,CAAC;gBACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACnB,UAAU,CAAC;oBACT,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4GAA4G,CAAC,CAAC;gBACxJ,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,MAAM;aACP;YACD,KAAK,mBAAmB,CAAC,CAAC;gBACxB,UAAU,CAAC;oBACT,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4GAA4G,CAAC,CAAC;gBAC9J,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,MAAM;aACP;YACD,KAAK,WAAW,CAAC,CAAC;gBAChB,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;gBACjD,0BAA0B;gBAC1B,+GAA+G;gBAC/G,QAAQ;gBACR,MAAM;aACP;YACD,KAAK,SAAS,CAAC,CAAC;gBACd,UAAU,CAAC;oBACT,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kFAAkF,CAAC,CAAC;gBACrI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,MAAM;aACP;YACD,KAAK,UAAU,CAAC,CAAC;gBACf,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;gBAC/C,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACP,UAAU,CAAC;oBACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6GAA6G,CAAC,CAAC;gBAC5I,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,MAAM;aACP;SACF;IAEH,CAAC;IACD,gDAAiB,GAAjB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iIAAiI,CAAC,CAAC;QAChK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,6CAAc,GAAd;QACE,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,gCAAgC;IAClC,CAAC;IAED,sDAAuB,GAAvB,UAAwB,GAAG;QACzB,IAAI,GAAG,IAAI,wBAAwB,EAAE;YACnC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;SAC/B;aAAM,IAAI,GAAG,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;aACI,IAAI,GAAG,IAAI,uBAAuB,EAAE;YACvC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;SACpC;QACD,qCAAqC;QACrC,gCAAgC;QAChC,GAAG;IACL,CAAC;IACD,0CAAW,GAAX;QAEG,wDAAwD;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5B,gDAAgD;IACjD,CAAC;IAED,0CAAW,GAAX,UAAY,IAAI;QAAhB,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACtF,KAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAY,GAAZ,UAAa,IAAI;QACf,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,QAAQ,IAAI,EAAE;YACZ,KAAK,GAAG;gBACN,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;gBACxC,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM;SAET;QACD,IAAI,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;IAEzD,CAAC;IAED,iDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,wBAAwB;QACxB,sBAAsB;IACxB,CAAC;IACD,iDAAkB,GAAlB,UAAmB,EAAE;QAEnB,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;QAC9G,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,8CAAe,GAAf,UAAgB,EAAE;QAChB,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QAClK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,2CAAY,GAAZ;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACpL,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,+CAAgB,GAAhB,cAAqB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;IAC/C,qCAAM,GAAN,UAAO,GAAG;QACR,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,YAAY,IAAI,IAAI,CAAC,aAAa,IAAI,gBAAgB,IAAI,IAAI,CAAC,aAAa,IAAI,cAAc,IAAI,IAAI,CAAC,aAAa,IAAI,UAAU;eAC/J,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,EAAE;YACvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;SAC3C;aAAM;YACL,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,UAAU,CAAC;oBACX,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;gBACjD,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;iBACI;gBACH,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE;oBACvC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;iBACxB;qBACI;oBACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAC9B,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;iBAC1C;aAEF;SACF;IACH,CAAC;IAED,wCAAS,GAAT,cAAc,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC;IAChD,6CAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,GAAG,EAAE;YACR,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,IAAI,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5D,IAAI,cAAc,IAAI,UAAU,EAAE;gBAChC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;gBAClC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAClC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAChC;iBAAM,IAAI,cAAc,IAAI,UAAU,EAAE;gBACvC,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC;gBACpC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAClC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAChC;iBACI;gBACH,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;aACnC;QACH,CAAC,EAAE,GAAG,CAAC;IAEX,CAAC;IAED,qCAAM,GAAN,UAAO,GAAG;QAER,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7B;aAAM,IAAI,GAAG,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7B;aAAM,IAAI,GAAG,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;QAED,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,mDAAoB,GAApB,UAAqB,GAAG;QAAxB,iBA6OC;QA5OC,IAAI,GAAG,CAAC,IAAI,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE;oBAClC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC/B,IAAI,UAAO,GAAG,KAAI,CAAC;wBACnB,CAAC,CAAC,UAAU,CAAC;4BAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;wBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;wBACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;qBAC9C;yBACI;wBACH,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;qBAC5D;oBAED,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9C,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC7B,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACnB,IAAI,UAAO,GAAG,KAAI,CAAC;oBACnB,UAAU,CAAC;wBACT,UAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;wBACxC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBAC9C,UAAO,CAAC,aAAa,GAAG,UAAU,CAAC;oBACpC,CAAC,EAAE,GAAG,CAAC;iBACR;qBAAM;oBACL,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC/B,IAAI,UAAO,GAAG,KAAI,CAAC;wBACnB,CAAC,CAAC,UAAU,CAAC;4BAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;wBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;wBACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;qBAC9C;yBACI;wBACH,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;qBAC5D;oBAED,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9C,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC7B,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACnB,IAAI,UAAO,GAAG,KAAI,CAAC;oBACnB,UAAU,CAAC;wBACT,UAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;wBACvC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBAC7C,qCAAqC;oBACvC,CAAC,EAAE,GAAG,CAAC;iBACR;YAGH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,GAAG,CAAC,IAAI,IAAI,SAAS,EAAE;YAE9B,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;gBAChC,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;gBACtE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aAC9C;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;aAClE;YACD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,UAAO,GAAG,IAAI,CAAC;YACnB,UAAU,CAAC;gBACT,UAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACtC,UAAO,CAAC,aAAa,GAAG,SAAS,CAAC;YACpC,CAAC,EAAE,GAAG,CAAC;SAER;aACI;YACH,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAGnB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;gBAE9D,IAAI,YAAY,CAAC,IAAI,IAAI,OAAO,EAAE;oBAChC,KAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBACnC,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iCAA+B,YAAY,CAAC,kBAAkB,YAAS,CAAC,CAAC;iBACpG;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,aAAa,EAAE;oBAC7C,KAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;oBAC3C,KAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;oBACzC,IAAI,IAAI,GAAG,YAAY,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;oBAChF,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAuC,YAAY,CAAC,kBAAkB,SAAI,IAAI,cAAS,YAAY,CAAC,UAAY,CAAC,CAAC;iBAC7I;qBACI,IAAI,YAAY,CAAC,IAAI,IAAI,UAAU,EAAG;oBACzC,IAAI,YAAY,CAAC,gBAAgB,IAAI,UAAU,EAAE;wBAC/C,KAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;wBACvC,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;wBACrC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6CAA2C,YAAY,CAAC,kBAAkB,SAAI,YAAY,CAAC,UAAU,UAAO,CAAC,CAAC;qBACzI;yBAAM,IAAI,YAAY,CAAC,gBAAgB,IAAI,SAAS,EAAE;wBACrD,KAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;wBACvC,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;wBACrC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6CAA2C,YAAY,CAAC,kBAAkB,SAAI,YAAY,CAAC,UAAU,UAAO,CAAC,CAAC;qBACzI;yBACI;wBACH,KAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;qBACxC;iBAEF;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,UAAU,EAAE;oBAC1C,KAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;oBACvC,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAErC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAyB,GAAG,YAAY,CAAC,kBAAkB,GAAG,GAAG,GAAG,YAAY,CAAC,UAAU,GAAG,wBAAwB,CAAC,CAAC;iBACnJ;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,aAAa,EAAE;oBAC7C,KAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;oBACzC,KAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBAEvC,KAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;oBACpE,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8BAA4B,YAAY,CAAC,kBAAoB,CAAC,CAAC;iBAC1F;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,UAAU,EAAE;oBAC1C,KAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;oBACtC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAEpC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC;iBAC/D;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,UAAU,EAAE;oBAC1C,KAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;oBACvC,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBACrC,IAAI,YAAY,CAAC,kBAAkB,GAAG,CAAC,EAAE;wBACvC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6CAA2C,YAAY,CAAC,kBAAoB,CAAC,CAAC;qBACzG;yBAAM;wBACL,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;qBAC5D;iBACF;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,SAAS,EAAE;oBACzC,KAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;oBACrC,KAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBAEnC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8BAA4B,YAAY,CAAC,kBAAkB,SAAI,YAAY,CAAC,UAAU,kBAAe,CAAC,CAAC;iBAClI;qBACI,IAAI,YAAY,CAAC,IAAI,IAAI,iBAAiB,IAAI,YAAY,CAAC,IAAI,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,IAAI,eAAe,EAAE;oBAE5H,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnF,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;oBACvC,iFAAiF;iBAClF;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,WAAW,EAAE;oBAE3C,IAAI,YAAY,CAAC,UAAU,IAAI,CAAC,EAAE;wBAChC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAwB,GAAG,YAAY,CAAC,gBAAgB,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;qBAC/H;yBAAM;wBACL,KAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;qBACxC;iBAGF;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,WAAW,EAAE;oBAE3C,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;oBACrC,KAAI,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;iBAE3C;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,SAAS,EAAE;oBACzC,KAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;iBACxC;qBAAK,IAAI,YAAY,CAAC,IAAI,IAAI,gBAAgB,EAAE;oBAC/C,KAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;iBAChE;qBAAK,IAAI,YAAY,CAAC,IAAI,IAAI,iBAAiB,EAAE;oBAChD,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;iBAC5C;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,cAAc,EAAE;oBAC9C,KAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;iBAC1C;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,oBAAoB,EAAE;oBACpD,KAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;iBACzD;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,eAAe,EAAE;oBAC/C,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;iBACpE;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,sBAAsB,EAAE;oBACtD,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC1D;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,yBAAyB,EAAE;oBACzD,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC7D;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,wBAAwB,EAAE;oBACxD,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC7D;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,gCAAgC,EAAE;oBAChE,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,gCAAgC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACpE;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,iBAAiB,EAAE;oBACjD,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,aAAa,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;iBAC5D;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,wBAAwB,EAAE;oBACxD,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC5D;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,6BAA6B,EAAE;oBAC7D,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,6BAA6B,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACjE;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,qBAAqB,EAAE;oBACrD,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACzD;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,6BAA6B,EAAE;oBAC7D,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,6BAA6B,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACjE;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,wBAAwB,EAAE;oBACxD,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC5D;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,gCAAgC,EAAE;oBAChE,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,8BAA8B,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBAClE;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,uBAAuB,EAAE;oBACvD,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAK,CAAC;iBAC1D;qBAAM,IAAI,YAAY,CAAC,IAAI,IAAI,uBAAuB,EAAE;oBACvD,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAK,CAAC;iBAC1D;qBAAM,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBACzD,KAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;oBACrC,KAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACnC,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;iBACzD;qBAAM,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;oBACtD,KAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;oBACrC,KAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACnC,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,KAAI,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;iBACtD;YAEH,CAAC,CAAC,CAAC;SAIJ;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IAEvB,CAAC;IACD,4CAAa,GAAb,UAAc,GAAG;QACf,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;YACrD,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,iBAAiB,EAA/B,CAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;gBAC9E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4GAA4G,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEtK,OAAO,KAAK,CAAC;aACd;YACD,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;gBACxB,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8BAA8B,GAAG,IAAI,CAAC,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAChH;iBACC;gBACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;SACF;IACH,CAAC;IAGD,4CAAa,GAAb;QACE,UAAU,CAAC;YACT,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,8GAA8G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,iCAAE,GAAF,UAAG,GAAG;QACJ,IAAI,GAAG,IAAI,aAAa,EAAE;YACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aACI;YACH,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;SACxC;IACH,CAAC;IAED,gDAAiB,GAAjB,UAAkB,MAAM,EAAE,SAAS;QAAnC,iBAaC;QAZC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAEnH,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC,MAAM,CAAC;YACvE,KAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC,MAAM,CAAC;YACzE,KAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC,MAAM,CAAC;YACzE,KAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC,MAAM,CAAC;YAC3H,KAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC,MAAM,CAAC;YACzE,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;YACrC,KAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,IAAI,IAAI,CAAC,CAAC,kBAAkB,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAlG,CAAkG,CAAC,CAAC,MAAM,CAAC;QAC9J,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,sDAAuB,GAAvB;QAAA,iBAKC;QAJC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YACxE,KAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,IAAI,EAAnB,CAAmB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAmB,GAAnB,UAAoB,IAAI;QACtB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,mBAAmB;IAC1B,CAAC;IAED,2DAA4B,GAA5B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6GAA6G,CAAC,CAAC;QACxK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,8CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE;YACzB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;YACnB,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SACtC;aAAM;YACL,GAAG,CAAC,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAC5C;QAED,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;IACnC,CAAC;IAED,sDAAuB,GAAvB,UAAwB,YAAY;QAClC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;QAErE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAa,GAAb;IAEA,CAAC;IAID,0CAAW,GAAX;QACE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,gDAAiB,GAAjB,UAAkB,GAAG;QACnB,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,CAAC,CAAC,UAAU,CAAC;gBACX,sOAAsO;gBACtO,CAAC,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE;YACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;aAAM;YACL,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;SACpC;IACH,CAAC;IACD,uDAAwB,GAAxB;QACE,UAAU,CAAC;YAET,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACzK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,oDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iIAAiI,CAAC,CAAC;QAChL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,0CAAW,GAAX,UAAY,GAAG;QACb,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAC3B,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAE5B;aAAM,IAAI,GAAG,IAAI,cAAc,EAAE;YAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAE5B;aAAM,IAAI,GAAG,IAAI,WAAW,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAE5B;QAED,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC;QAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEpD,CAAC;IAED,2CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;SAExC;aAAM,IAAI,GAAG,IAAI,iBAAiB,EAAE;YACnC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;SACxC;aAAM,IAAI,GAAG,IAAI,cAAc,EAAE;YACjC,wCAAwC;YACvC,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACtD,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SACjD;aAAM,IAAI,GAAG,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;SAErD;aACI,IAAI,GAAG,IAAI,cAAc,EAAE;YAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;aAAM,IAAI,GAAG,IAAI,WAAW,EAAE;YAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;QACD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAC9B,CAAC;IACD,6CAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,kDAAmB,GAAnB;QACE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED,4CAAa,GAAb,UAAc,GAAG;QACf,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SAExB;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;IAEH,CAAC;IAED,yDAA0B,GAA1B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QAC5K,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,wDAAyB,GAAzB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QAC3K,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,8CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,wCAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,KAAK,oBAAoB,EAAE;YAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;SACxC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC3C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;aAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE;YACnC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;SACvC;IACH,CAAC;IACD,gDAAiB,GAAjB,UAAkB,GAAG;QACnB,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAED,8CAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,KAAK,IAAI,SAAS,EAAE;YACtB,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACzC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uCAAuC,CAAC;YAC1E,CAAC,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC;SACzF;aAAM;YACL,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iCAAiC,CAAC;YACpE,CAAC,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iCAAiC,CAAC;SACpF;IAEH,CAAC;IAED,yDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IAED,0CAAW,GAAX,UAAY,GAAG;QACb,CAAC,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;IAED,iDAAkB,GAAlB,UAAmB,iBAAgC;QAEjD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;QAE/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAY,GAAZ;QACE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;QAErE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAuB,GAAvB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAC5K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI;SACxF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,sBAAsB;IAExB,CAAC;IACD,sDAAuB,GAAvB;QACE,IAAI,CAAC,kBAAkB,GAAG;YACxB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7C;gBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI;gBAChE,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;wBAAE,OAAO,gBAAgB;qBAAE;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;wBAAE,OAAO,UAAU;qBAAE;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;wBAAE,OAAO,iBAAiB;qBAAE;gBACrK,CAAC;aACF;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;YAC1F,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YAC9D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG;YAC7D;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;aACvD;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;aACvD;YACD;gBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;aAC/C;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;aACjD;YACD;gBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;aAC7C;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;aACjD;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;aAC7D;YACD;gBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;aAC7C;YACD;gBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;aAC3C;YAED;gBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;aAC7C;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;aACxD;SACF,CAAC;IACJ,CAAC;IACD,0CAAW,GAAX;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAClC,OAAO,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC;QAClE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC7B,CAAC;IAED,+CAAgB,GAAhB;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uFAAuF,CAAC,CAAC;QAC/H,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,2CAAY,GAAZ;QAEE,IAAI,IAAI,CAAC,iBAAiB,IAAI,UAAU,EAAE;YACxC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;gBAC9D,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aAClG;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;aACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,QAAQ,EAAE;YAC3C,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;gBAC9D,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aAClG;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SAAE;aACA,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,EAAE;YAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;gBAC1D,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aAClG;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;aACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,UAAU,EAAE;YAC7C,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;gBAC9D,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aAClG;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;aACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,cAAc,EAAE;YACjD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;gBAClE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aAClG;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;aACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACzC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;gBAC1D,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aAClG;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;QACD,QAAQ;QACR,yBAAyB;QACzB,mCAAmC;QACnC,4BAA4B;QAC5B,GAAG;IAEL,CAAC;IACD,0CAAW,GAAX;QAAA,iBA2BC;QA1BC,IAAI,IAAI,CAAC,iBAAiB,IAAI,UAAU,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC;SAC1D;aACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC;SACtD;aAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC;SACtD;aAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,UAAU,EAAE;YAC/C,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC;SAC1D;aAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,cAAc,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC;SAC9D;QACD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,IAAI,KAAI,CAAC,iBAAiB,IAAI,UAAU,EAAE;gBACxC,KAAI,CAAC,WAAW,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC;aAC7D;iBAAM,IAAI,KAAI,CAAC,iBAAiB,IAAI,OAAO,EAAE;gBAC5C,KAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;aACrD;iBAAM,IAAI,KAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;gBAC3C,KAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;aACrD;iBAAM,IAAI,KAAI,CAAC,iBAAiB,IAAI,UAAU,EAAE;gBAC/C,KAAI,CAAC,WAAW,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC;aAC7D;iBAAM,IAAI,KAAI,CAAC,iBAAiB,IAAI,cAAc,EAAE;gBACnD,KAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,KAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;aACrE;YACD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAY,GAAZ,UAAa,GAAG;QAEd,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;SAC3D;aAAM,IAAI,GAAG,IAAI,OAAO,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;SACvD;aAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;SACvD;aAAM,IAAI,GAAG,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;SAC3D;aAAM,IAAI,GAAG,IAAI,cAAc,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;SAChC;IACH,CAAC;IACD,oDAAqB,GAArB;QAAA,iBA6BC;QA5BC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,aAAG;YACjF,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,KAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;gBAC9B,IAAI,GAAG,GAAG,EAAE,CAAC;gBACb,IAAI,IAAE,GAAG,KAAI,CAAC;gBACd,CAAC,CAAC,UAAU,CAAC;oBACX,IAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAG;wBAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC3B,CAAC,CAAC,CAAC;oBACH,IAAE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAQ;wBAEzE,IAAI,QAAQ,IAAI,IAAI,EAAE;4BACpB,IAAE,CAAC,qBAAqB,GAAG,QAAQ,CAAC;yBACrC;6BAAM;4BACL,IAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC;yBAC/B;wBAED,IAAE,CAAC,uBAAuB,EAAE,CAAC;oBAC/B,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI;gBACH,KAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,4DAA6B,GAA7B,UAA8B,QAAQ;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAE5C;IACH,CAAC;IACD,uDAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBACzD,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,EAAE,CAAC,aAAa,GAAG,UAAU,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEV,CAAC;IACD,wDAAyB,GAAzB;QACI,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAE/B,CAAC;IAGD,2CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,oCAAoC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SAC3H;aACI;YACH,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAChC;IACH,CAAC;IAED,8CAAe,GAAf;QAAA,iBAQC;QANC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAG;YAC/F,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,qCAAqC;YACrC,KAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACd,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAsB,GAAtB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC;QAChD,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;YACrD,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,UAAU,CAAC;YACT,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yDAAyD,CAAC,CAAC;QACvG,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,6CAAc,GAAd,UAAe,KAAK;QAClB,UAAU,CAAC;YACT,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4HAA4H,CAAC,CAAC;QACvJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,gDAAiB,GAAjB,UAAkB,KAAK;QACrB,UAAU,CAAC;YACT,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6HAA6H,CAAC,CAAC;QACxJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,gDAAiB,GAAjB,UAAkB,KAAK;QACrB,UAAU,CAAC;YACT,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6HAA6H,CAAC,CAAC;QACxJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,8CAAe,GAAf,UAAgB,KAAK;QACnB,UAAU,CAAC;YACT,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4HAA4H,CAAC,CAAC;QACvJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,mDAAoB,GAApB,UAAqB,KAAK;QACxB,UAAU,CAAC;YACT,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4HAA4H,CAAC,CAAC;QACvJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,+CAAgB,GAAhB;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,kDAAmB,GAAnB;QAAA,iBAsBC;QArBC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACjF,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,KAAI,CAAC,UAAU,IAAI,aAAa,EAAE;gBACpC,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,UAAU,GAAG,KAAI,CAAC,WAAW,EAA3C,CAA2C,CAAC,CAAC;aACrG;iBAAM;gBACL,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,UAAU,GAAG,KAAI,CAAC,WAAW,EAA3C,CAA2C,CAAC,CAAC;aACrG;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACrF,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,QAAQ,GAAG,CAAC,KAAI,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;YACrK,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,QAAQ,EAAtB,CAAsB,CAAC,CAAC;QAEjF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,0DAA0D;IAC3D,CAAC;IAED,8CAAe,GAAf,UAAgB,OAAO,EAAE,QAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;QAAvE,iBAmCC;QAlCC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,kGAAkG;QAClG,+EAA+E;QAC/E,8BAA8B;QAC9B,SAAS;QACT,iCAAiC;QACjC,MAAM;QACN,GAAG;QACH,QAAQ;QACR,gGAAgG;QAChG,iDAAiD;QACjD,GAAG;QACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC9P,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACvB,CAAC,CAAC,CAAC;gBAED,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;gBAE9B,KAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrE,0BAA0B;aAE3B;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,mDAAoB,GAApB,UAAqB,IAAI;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACpC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;aAExD;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;SACF;aACI;YACH,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;SACnC;QACD,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IACD,mDAAoB,GAApB,UAAqB,IAAI;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEzI,IAAI,CAAC,4BAA4B,EAAE;IACrC,CAAC;IAED,6CAAc,GAAd,UAAe,IAAI,EAAE,MAAM,EAAE,qBAA8B;QAA3D,iBAkCC;QAjCC,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACtO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,OAAO,CAAC,OAAO,CAAC,iBAAO;oBACrB,OAAO,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBACzE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAClF,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAI,CAAC,aAAa,IAAI,WAAW,EAAE;oBACrC,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,OAAO,CAAC,OAAO,CAAC,aAAG;wBACjB,IAAI,GAAG,CAAC,MAAM,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE;4BACrC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;yBACpB;6BAAM;4BACL,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE;gCACrB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;6BACpB;yBACF;oBAEH,CAAC,CAAC,CAAC;oBAEH,uGAAuG;oBACvG,KAAI,CAAC,WAAW,GAAG,SAAS,CAAC;iBAC9B;qBAAM;oBACL,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;iBAC5B;gBACD,uEAAuE;gBACvE,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,KAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aACvB;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAA4B,GAA5B;QACE,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtK,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,uCAAQ,GAAR;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAEhD,CAAC;IACD,4CAAa,GAAb,UAAc,GAAG,IAAI,CAAC;IACtB,0CAAW,GAAX,UAAY,GAAG;QACb,IAAI,GAAG,IAAI,YAAY,EAAE;YACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,cAAc,EAAE;gBACxD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBAC3D,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC3D;iBACI,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,cAAc,EAAE;gBAC9D,IAAI,IAAE,GAAG,IAAI,CAAC;gBACd,CAAC,CAAC,UAAU,CAAC;oBACX,IAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAC/B,CAAC,CAAC,UAAU,CAAC;wBACX,IAAE,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;oBACjE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAER,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;aAE3D;iBACI;gBACH,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;oBAE/B,IAAI,UAAO,GAAG,IAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;oBAE7C,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAC3D;qBACI;oBACH,IAAI,GAAG,IAAI,YAAY,EAAE,GAAG;yBAAM,GAAG;oBACrC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBAC3D,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC1D,IAAI,UAAO,GAAG,IAAI,CAAC;oBACnB,UAAU,CAAC;wBACT,UAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;wBACvC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBAC7C,UAAO,CAAC,aAAa,GAAG,UAAU,CAAC;oBACrC,CAAC,EAAE,GAAG,CAAC;oBACP,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;wBAC3B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;4BACvD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACrE,CAAC,CAAC,CAAC;qBAEJ;iBAEF;aAEF;SACF;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,4CAAa,GAAb;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kHAAkH,CAAC,CAAC;QACtK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,wCAAS,GAAT,UAAU,GAAG;QACX,IAAI,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,IAAG,UAAU,EAAE;YACrD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD;aACI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;YAClC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SAEzC;aACI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;YAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAAE;aAChE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;YACnC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aACI;YACH,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACzB;IACH,CAAC;IACD,0CAAW,GAAX,UAAY,MAAM,EAAE,QAAQ,EAAE,MAAM;QAClC,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;gBAChC,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrC;iBAAM;gBACL,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;gBAC5C,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACvC;aACF;SACF;aAAM;YACL,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACzD,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;gBACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrC;SACF;IACH,CAAC;IACD,wCAAS,GAAT;QAAA,iBAyBC;QAxBC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EACnC;YACE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAClI,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC/B;aAED;YACE,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC/G,IAAI,QAAQ,EAAE;oBACZ,KAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;oBACzC,UAAU,CAAC;wBACd,CAAC,CAAC,wCAAwC,CAAC;4BACzC,IAAI,CAAC,OAAO,EAAE,2HAA2H,CAAC,CAAC;oBAC/I,CAAC,EAAE,CAAC,CAAC,CAAC;iBACH;qBACI;oBACH,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBACpI,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;oBAAC,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBACtD,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;YACH,CAAC,CAAC;SACD;IAEH,CAAC;IAED,oDAAqB,GAArB,UAAsB,MAAM;QAA5B,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAClD,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,EAAE,CAAC;YACzC,KAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAQ,GAAR,UAAS,OAAO,EAAE,OAAO,EAAE,KAAK;QAAhC,iBAgCC;QA/BC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAAC,IAAI,YAAY,GAAG,EAAE,CAAC;QAC7E,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,IAAI,IAAK,QAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,6DAAI,MAAM,GAAE,IAAI,EAAC,CAAC,EAApD,CAAoD,EAAE,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC5C,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBACjC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAA3B,CAA2B,CAAC,CAAC;gBACvF,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAI;oBAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,UAAO,GAAG,IAAI,CAAC;YACnB,UAAU,CAAC;gBACT,UAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAI;oBACnC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;SAET;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,UAAU,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,YAAE;gBACrB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IAED,6CAAc,GAAd,UAAe,IAAI,EAAE,IAAI,EAAE,IAAI;QAC7B,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAC;YACrD,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;SAC/C;IACH,CAAC;IACD,2DAA4B,GAA5B,UAA6B,MAAM;QAAnC,iBAWC;QAVC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC5E,QAAQ,CAAC,OAAO,CAAC,cAAI;gBACnB,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;oBAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAClG;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;iBACjI;YACH,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAW,GAAX;QAAA,iBAUC;QATC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,IAAI,IAAK,QAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,6DAAI,MAAM,GAAE,IAAI,EAAC,CAAC,EAApD,CAAoD,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1I,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACvD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC/C,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAAC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAC7D,KAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAW,GAAX,UAAY,GAAG;QACb,IAAI,GAAG,IAAI,YAAY,EAAE;YACvB,UAAU,CAAC;gBACT,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uGAAuG,CAAC,CAAC;YAC1J,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,GAAG,IAAI,YAAY,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;IACH,CAAC;IAED,oCAAK,GAAL,UAAM,GAAG;QAAT,iBA2CC;QA1CC,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzE,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;SACpE;aAAM,IAAI,GAAG,IAAI,mBAAmB,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1E,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;SAC3C;aAAM,IAAI,GAAG,IAAI,YAAY,EAAE;YAC9B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACrD;aACI,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAChC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAClE,KAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACF;aACI,IAAI,GAAG,IAAI,iBAAiB,EAAE;YACjC,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aACI,IAAI,GAAG,IAAI,YAAY,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;aACI,IAAI,GAAG,IAAI,UAAU,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC;YAC9D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aACI,IAAI,GAAG,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aACI,IAAI,GAAG,IAAI,sBAAsB,EAAE;YACtC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC9F,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iCAA+B,IAAI,CAAC,SAAS,CAAC,KAAK,YAAS,CAAC,CAAC;SACzF;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,sCAAO,GAAP,UAAQ,GAAG,IAAK,CAAC;IACjB,yCAAU,GAAV,UAAW,GAAG,IAAK,CAAC;IACpB,wCAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,4CAAa,GAAb,UAAc,GAAG;QACf,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE;YACxD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;SACnC;aACI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE;YACxD,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;SACvC;IACH,CAAC;IAEH,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGCh3OD,kLAAqD,KACnD,iLAAoD,KAClD,4KAA+C,KAC7C,4NAA2E,KAC3E,4LAA6E,YAA3D;;wBAA0D;MAA5E,wBAA6E,yFAAY,MAEzF,6OAA+F,KAC/F,4LAA2E,YAAzD;;wBAAwD;MAA1E,wBAA2E,gFAAG,MAE9E,6OAA+F,KAC/F,6LAA+E,YAA7D;;wBAA4D;MAA9E,wBAA+E,oFAAO,MAEtF,8OAA+F,KAC/F,6LAA+E,YAA7D;;wBAA4D;MAA9E,wBAA+E,qFAAQ,MAEvF,8OAA+F,KAC/F,6LAA6E,YAA3D;;wBAA0D;MAA5E,wBAA6E,kFAAK,MAElF,+OAAgG,KAChG,8LAAkF,YAA/D;;wBAA8D;MAAjF,wBAAkF,sFAAS,MAE3F,8OAA+F,KAC/F,6LAAmF,YAAjE;;wBAAgE;MAAlF,wBAAmF,0FAAa,MAEhG,8OAA+F,KAC/F,6LAAgF,YAA9D;;wBAA6D;MAA/E,wBAAgF,sFAAS,MAEzF,+OAAgG,KAChG,8LAAkF,YAA/D;;wBAA8D;MAAjF,wBAAkF,sFAAS,MAG3F,+OAAgG,KAChG,8LAAgF,YAA7D;;wBAA4D;MAA/E,wBAAgF,oFAAO,MAEvF,8OAA+F,KAC/F,6LAAiF,YAA/D;;wBAA8D;MAAhF,wBAAiF,sFAAS,MAE1F,8OAA+F,KAC/F,6LAAyF,YAAvE;;wBAAsE;MAAxF,wBAAyF,+FAAkB,MAI/G,iLAAoD,KAClD,qQAOqD,YAApC;;wBAAmC;MAPpD,k9CAOqD,mDALpC,mBAAsC,yBAGtC,mBAA6B,oBAF7B,mBAAyB,aACzB,mBAAwD,yCAExD,mBAAmB,UANpC,aAOqD,EALpC,SAAsC,EAGtC,SAA6B,EAF7B,SAAyB,EACzB,SAAwD,EAExD,SAAmB;;;;;;;;;;;;;;;;ACjDxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACX;AAEzB;AACa;AACD;AACS;AAIhE;IAiDE,2BAAoB,aAA4B,EAAU,eAAgC,EAAS,oBAA0C;QAAzH,kBAAa,GAAb,aAAa,CAAe;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QA3C7I,sBAAiB,GAAoB,EAAE,CAAC;QACxC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,cAAS,GAAG,OAAO,CAAC;QAMpB,wBAAmB,GAAY,KAAK,CAAC;QACrC,4BAAuB,GAAY,KAAK,CAAC;QACzC,uBAAkB,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAS1C,aAAQ,GAAW,KAAK,CAAC;QAQzB,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE1C,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;IAUkH,CAAC;IAElJ,oCAAQ,GAAR;QACE,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAC5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5H,CAAC;IAID,gEAAoC,GAApC;QACE,IAAI,CAAC,sBAAsB,GAAgB;YACzC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;SAEjB,CAAC;QACF,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,sBAAsB,CAAC,aAAa,GAAG;YAC1C,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IACH,CAAC;IAED,yCAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,uCAAW,GAAX;IAEA,CAAC;IAED,0DAA8B,GAA9B,UAA+B,gBAAwB;QACrD,IAAI,CAAC,UAAU,GAAE,IAAI,CAAC,eAAe,GAAG;YACtC,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,GAAG,EAAC;YAC1E,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC;YACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC;YACvE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC;YACvE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC;YACzE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC;YACvE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC;SAC/E,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAG;YAC9B,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC5E,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAClE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACxE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;SAChF,CAAC;IACJ,CAAC;IACD,iCAAK,GAAL,UAAM,GAAG,EAAE,YAAY,EAAE,UAAU;QAEjC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,WAAW,GAAE,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAE,CAAC,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAE,CAAC,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAE5B,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,IAAI,mBAAmB,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,WAAW,EAAE;YAC3N,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe;SACvC;QAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5G,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7B,CAAC;IACD,6CAAiB,GAAjB,UAAkB,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe;QAAtF,iBAkBC;QAjBC,IAAI,OAAO,IAAI,EAAE,EAAE;YACjB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,eAAe,EAAE;gBACpB,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,uBAAuB;oBACtJ,uBAAuB,CAAC,OAAO,CAAC,kBAAQ;wBACtC,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBACvF,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,iBAAiB,GAAG,uBAAuB,CAAC;gBACnD,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACxD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IAED,sCAAU,GAAV;QACE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAC9B,CAAC;IAGH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8GCzIC,uHAAyC;8GAvB3C,4MAAgF,KAC9E,2MAA8E,KAC5E,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,qGAAwB,MAItF,0PAMqD,YAApC;;wBAAmC;MANpD,k9CAMqD,MAErD,gLAAoD,KAClD,+LAAkE,KAChE,uKAA0C,gSAAkI,YAAxB;;wBAAuB;MAAjI,wBAAkI,oFAAO,MACnL,mLAAsD,KACtD,qTAAmK,YAA3J;;wBAAmC;MAA3C,wBAAmK,kFAAK,MAG5K,kZAAyC,iDAdxB,mBAA2B,cAG3B,mBAAyB,gBAFzB,mBAAyB,aACzB,mBAAwD,yCAEvD,mBAAmB,UALrC,aAMqD,EALpC,SAA2B,EAG3B,SAAyB,EAFzB,SAAyB,EACzB,SAAwD,EAEvD,SAAmB,GAUhC,mBAAmC,8BAAxC,aAAyC,EAApC,SAAmC,mDApB8D,+DAAsB,GAAmB,iEAAuB;;;;;;;;;;;;;;;;ACJxK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACvB;AACE;AACf;AACqB;AACE;AAElE;IAoBE,kCAAoB,MAAqB,EAAU,WAAwB,EAAS,oBAA0C;QAA1G,WAAM,GAAN,MAAM,CAAe;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAP9H,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAI1C,uBAAkB,GAAsB,EAAE,CAAC;QAIzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,2CAAQ,GAAR;QAEE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,wCAAwC;QACxC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IACD,mDAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACzP,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;SAEjB,CAAC;QAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAEH,CAAC;IACD,gDAAa,GAAb,UAAc,KAAK,IAAI,CAAC;IACxB,sDAAmB,GAAnB,UAAoB,GAAG;QAAvB,iBAuDC;QArDC,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE/D,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBACtB,KAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBAEpD,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,GAAG,EAAvB,CAAuB,CAAC,CAAC;oBACxD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;wBAClB,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;qBAC/B;yBAAM;wBACL,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;4BAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;4BACzO,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;wBAChC,CAAC,CAAC,CAAC;qBAEJ;oBACD,gCAAgC;gBAElC,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,CAAC,CAAC,UAAU,CAAC;oBACX,MAAM,CAAC,OAAO,CAAC,gBAAM;wBACnB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC9G,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBAClH,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACvG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACvG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACpG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACtG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAE5G,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAGV,oCAAoC;aACrC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACpD,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,GAAG,EAAvB,CAAuB,CAAC,CAAC;YACxD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;aAC/B;iBAAM;gBACL,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzO,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;gBAChC,CAAC,CAAC,CAAC;aAEJ;YACD,gCAAgC;QAEhC,CAAC,CAAC,CAAC;IAGP,CAAC;IACD,yCAAM,GAAN,UAAO,KAAK;QACV,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAExC;aACI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACjC,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,MAAM,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC,+CAA+C,CAAC,CAAC;IACrF,CAAC;IACD,mDAAgB,GAAhB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG;YAChB,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAC,kBAAkB,EAAE;YAC7H,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE;YACzH;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAC,eAAe,EAAE,IAAI,EAAC,KAAK,EAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,YAAC,MAAM;oBAC9J,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,eAAe,GAAG,4CAA4C,CAAC;oBAC7H,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAE,cAAc,CAAC,CAAC;wBAC3D,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAEpD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACF;gBACG,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,EAAC,UAAU,EAAE,CAAC,EAAE,YAAY,YAAC,MAAM;oBAC/J,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,gBAAgB,GAAG,4CAA4C,CAAC;oBAC9H,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAE,eAAe,CAAC,CAAC;wBAC5D,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAEpD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aAAC;YACJ;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAC,UAAU,EAAE,CAAC,EAAE,YAAY,YAAC,MAAM;oBAC3J,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,cAAc,GAAG,4CAA4C,CAAC;oBAC5H,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAE,aAAa,CAAC,CAAC;wBAC1D,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAEpD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,YAAC,MAAM;oBAC9J,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,eAAe,GAAG,4CAA4C,CAAC;oBAC7H,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAE,cAAc,CAAC,CAAC;wBAC3D,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAEpD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,YAAC,MAAM;oBAClK,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,iBAAiB,GAAG,4CAA4C,CAAC;oBAC/H,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC;wBAC9D,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAEpD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,YAAC,MAAM;oBACxK,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,mBAAmB,GAAG,4CAA4C,CAAC;oBACjI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,CAAC;wBAChE,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAEpD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,YAAC,MAAM;oBAC7K,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,qBAAqB,GAAG,4CAA4C,CAAC;oBACnI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC,CAAC;wBAClE,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAEpD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACA;IACL,CAAC;IAID,0DAAuB,GAAvB;QAAA,iBAwBC;QAvBC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,QAAQ,GAAG,IAAI,+EAAe,EAAE,CAAC;YACrC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;YACvC,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;YACtD,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1G,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5G,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxG,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1G,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9G,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClH,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtH,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAE,CAAC,CAAC;gBACnN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC5E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2CAA2C,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACvG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAM,GAAN;IAEA,CAAC;IACD,4DAAyB,GAAzB;QACE,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,oBAAoB,CAAC,2BAA2B,EAAE;YACzD,IAAI,GAAG,IAAI,MAAM,EAAE;gBACjB,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC;YACD,IAAI,CAAC,oBAAoB,CAAC,2BAA2B,GAAG,KAAK,CAAC;YAC9D,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAK,CAAC;SAEhD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8CAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IACH,+BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGChRe,sJAAuD,mFAAM;uGAFjE,qKAAgE,KAC9D,qLAAyD,KACvD,0YAAuD,IAAW,qHAAG,uFAAU,MAEjF,oLAAwD,KACtD,4KAA2C,YAArC;;wBAAoC;MAA1C,wBAA2C,KAAC,0PAAgI,kDAH5I,qCAAsB,GAAtD,YAAuD,EAAvB,SAAsB;uGAOzD;;;;;;;;;;;wBAI6C;MAFtC;;wBAAmC;MACnC;;;;wBAAgI;MAHvI,8wCAI6C,iDAFtC,mBAAmC,wBAF1C,YAI6C,EAFtC,SAAmC,mDADlC,uGAAmF,GAD3F,ioBAI6C,EAHrC,SAAmF,EAD3F,2EAI6C;uGAgBxC,qKAAgE,qFAEhE;uGACA,6KAAuE,KACrE;;;;;wBAA4J;MAA/G;;wBAA6B;MAAqD;;wBAA4B;MAA3J,6sCAA4J,IAC1J,8yBAAqB,gFAAI,MACzB,szBAA0B,qFAAS,mDAFQ,mBAA6B,kBAA1E,YAA4J,EAA/G,SAA6B,GAChE,sBAAY,EAApB,YAAqB,EAAb,kCAAY,EAApB,YAAqB,EAAb,SAAY,GACZ,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,2BAF3B,8sBAA4J;uGAQ9J,qKAAgE,yFAEhE;uGACA,4KAAuE,KACtE;;;;;;;;;;;wBAE8C;MAFiC;;wBAAmC;MAChH;;;;wBAAqI;MADvI,8wCAE8C,iDAFiC,mBAAmC,wBAAlH,YAE8C,EAFiC,SAAmC,2BAAlH,8sBAE8C;uGAjCnD,0MAAmG,KAEjG,2MAA8E,KAC5E,oLAAwD,0FAExD,MACA,4KAA+C,KAC7C;;;;;wBAG4D;MAHhB;;wBAA2B;MAEjD;;wBAAiC;MACjC;;wBAAqC;MAH3D,qtEAG4D,IAIhE,2MAA8E,KAC5E,2YAAgE,IAGhE,2YAAuE,IAQzE,2MAA8E,KAC5E,2YAAgE,IAGhE,2YAAuE,iDAvB/C,mBAAqB,eACrB,mBAA4B,kBADlD,YAG4D,EAHtC,SAAqB,EACrB,SAA4B,GADN,oBAA2B,gBAAvE,aAG4D,EAHhB,UAA2B,GAQpE,sCAAsB,GAA3B,aAAgE,EAA3D,UAAsB,GAGtB,sCAAsB,GAA3B,aAAuE,EAAlE,UAAsB,GAStB,sCAAsB,GAA3B,aAAgE,EAA3D,UAAsB,GAGtB,sCAAsB,GAA3B,aAAuE,EAAlE,UAAsB,2BAvBzB,m0BAG4D;wGA6BlE,gLAAwE,KACtE,oMAAwE,KACtE,oOAAgF,YAA5B;;wBAA2B;MAA/E,wBAAgF,mFAAM,MAExF,oPAAkH,KAChH,iQAAiL,YAA3B;;wBAA0B;MAAhL,wBAAiL,iFAAI,yDAAtJ,0GAAoF,GAAnH,YAAiL,EAAlJ,SAAoF;wGAM3H,+XAaqD,YAJpC;;wBAA6C;MAC7C;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAbpD,muDAaqD,mIAZpC,mBAA2B,cAG3B,mBAAuB,cAFvB,mBAAyB,aAKzB,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAEnB,oBAAsC,EARvD,YAaqD,EAZpC,SAA2B,EAG3B,SAAuB,EAFvB,SAAyB,EAKzB,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EAEnB,SAAsC;wGASvD,kWAYqD,YAJpC;;wBAA8C;MAC9C;;wBAA0C;MAC1C;;wBAA8C;MAC9C;;wBAAoD;MACpD;;wBAAmC;MAZpD,8pDAYqD,mIAXpC,mBAA2B,cAG3B,mBAAwB,eAFxB,mBAAgC,oBAKhC,mBAAmD,8BAFnD,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANpC,YAYqD,EAXpC,SAA2B,EAG3B,SAAwB,EAFxB,SAAgC,EAKhC,SAAmD,EAFnD,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,mDANV,8CAA4C,GAAtE,YAYqD,EAZ3B,SAA4C;uGApFxE,+OACmE,KACjE,sLAAuF,KACrF,0YAAgE,IAQhE,sKAA0C,KACzC,0YAI6C,IAC5C,0YAAmG,IAuCnG,4YAAwE,IAW5E,4YAaqD,IAIrD,4YAYqD,iDA7F9C,mBAAsB,iBAA3B,YAAgE,EAA3D,SAAsB,GASnB,qCAAsB,GAA7B,YAI6C,EAJtC,SAAsB,GAKvB,oCAAqB,GAA1B,YAAmG,EAA9F,SAAqB,GAuC0B,mBAAmB,cAAvE,aAAwE,EAApB,SAAmB,GAWc,oJAA+H,IAAxN,aAaqD,EAboC,SAA+H,GAiBzH,uJAAkI,IAAjO,aAYqD,EAZ0C,SAAkI,mDAlFvL,8CAA4C,GAAtF,YAAuF,EAA7C,SAA4C;wGAkGxF,gNAA4G,KAC1G,+KAAmD,KACjD,4KAAyC,YAAnC;;wBAAkC;MAAxC,wBAAyC,KAAC,yNAA+F,KAE3I,0LAA8D,KAE5D,q7CAKiC,iDAHlB,mBAAoB,aACpB,yBAAiB,EAEjB,qBAAiB,EAJjB,mBAAuB,EAGvB,uBAAoB,EAJnC,YAKiC,EAHlB,SAAoB,EACpB,SAAiB,EAEjB,SAAiB,EAJjB,SAAuB,EAGvB,SAAoB;wGAOvC,klBAA4K,IAE1K,8LAA0I,YAAlD;;wBAAiD;MAAzI,40CAA0I,mDAF3C,0BAAsB,EAAvH,YAA4K,EAA3E,SAAsB,GAEjF,6BAA+B,cAAlD,yBAAkB,EAAiC,2BAAmB,EAAvF,YAA0I,EAAtG,SAA+B,EAAlD,SAAkB,EAAiC,SAAmB,2BAF+B,oBAAsB,EAA9I,YAA4K,EAApD,SAAsB;wGAK9I,mkBAAkK,IAChK,uMAAqI,YAAlD;;wBAAiD;MAApI,g0CAAqI,mDADpD,0BAAsB,EAAzG,YAAkK,EAA/E,SAAsB,GACpF,mBAAwB,YAAC,yBAAkB,EAAC,2BAAmB,EAAlF,YAAqI,EAAlH,SAAwB,EAAC,SAAkB,EAAC,SAAmB,2BADsB,oBAAsB,EAAhI,YAAkK,EAAxD,SAAsB;wGAIhI,+MAA8F,YAApC;;wBAAmC;MAA7F,+ZAA8F,MAC5F,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,sFAAS,MAAM,sHAAM,KAC9G,wLAA4D,4FAAe,MAE7E,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,qKAAwC,KACtC,yRACiC,YAAzB;;wBAAwB;MADhC,wBACiC,mFAEjC,MAEF,qKAAwC,KACtC,wWAAkN,YAA3B;;wBAA0B;MAAjN,wBAAkN,oFAAO,mDAnBzK,mBAAmC,wBAA7F,YAA8F,EAApC,SAAmC;wGAuDzF,0KAAoF,KAClF,qJAA+B,2FAAc,MAAQ,sHAAM,KAC3D,qJAA+B,kHAAqC,MAAQ,sHAAM;wGAEpF,0KAAoF,KAClF,qJAA+B,sFAAS,MAAQ,sHAAM,KACtD,qJAA+B,8FAAiB,MAAQ,sHAAM;wGAG9D,wLAAkG,KAChG,wRAAwK,YAAhE;;wBAA+D;MAAvK,wBAAwK,+EAAE;wGAE5K,wLAAkG,KAChG,wRAAkK,YAA1D;;wBAAyD;MAAjK,wBAAkK,iFAAI;wGAlB9K,kNAAyF,YAA1D;;wBAA+B;MAA9D,+ZAAyF,MACvF,qKAA2C,KACzC,2KAA+C,KAC7C,oKAA8C,8FAAiB,MAAS,sHAAM,KAEhF,2YAAoF,IAIpF,4YAAoF,IAIpF,2KAA8C,KAC5C,4YAAkG,IAGlG,4YAAkG,IAGlG,yLAA4D,KAC1D,gSAA2J,YAA5C;;wBAA2C;MAA1J,wBAA2J,mFAAM,mDArB1I,mBAA+B,oBAA9D,YAAyF,EAA1D,SAA+B,GAKrD,kDAAqC,GAA1C,YAAoF,EAA/E,SAAqC,GAIrC,kDAAqC,GAA1C,aAAoF,EAA/E,SAAqC,GAKnC,kDAAqC,GAA1C,aAAkG,EAA7F,SAAqC,GAGrC,kDAAqC,GAA1C,aAAkG,EAA7F,SAAqC;wGA8BhD,kNAAoI,YAAxH;;wBAA+B;MAA3C,6dAAoI,MAClI,8LAA6H,YAA7C;;wBAA4C;MAA5H,s+CAA6H,mDADrC,qBAAkB,EAAhG,mBAA+B,oBAAkE,qBAAsB,EAAnI,YAAoI,EAA1C,SAAkB,EAAhG,SAA+B,EAAkE,SAAsB,GAC5F,mBAAuB,YAA/C,mBAAuB,YAAyB,yBAAkB,EAA/E,YAA6H,EAAxF,SAAuB,EAA/C,SAAuB,EAAyB,SAAkB;wGAyBjF,0LAA0D,YAA9B;;wBAA6B;MAAzD,+ZAA0D,MAExD;;;s6CAU8B,iDAZJ,mBAA6B,kBAAzD,YAA0D,EAA9B,SAA6B,GAM5C,mBAAqB,WAGrB,mBAAmB,UALnB,mBAAmB,UAInB,mBAAmC,kBAHnC,mBAAqC,mBAErC,mBAAmB,UAJnB,0BAAqB,EAOrB,yBAAqB,EACrB,oBAAe,QACf,2BAAkB,EAV7B,YAU8B,EANnB,SAAqB,EAGrB,SAAmB,EALnB,SAAmB,EAInB,SAAmC,EAHnC,SAAqC,EAErC,SAAmB,EAJnB,SAAqB,EAOrB,SAAqB,EACrB,UAAe,EACf,UAAkB,2BAVlB,qCAA+B,EAA1C,YAU8B,EAVnB,SAA+B;wGAiBhD;;;;;;;;;;;wBAAuJ;MAAzD;;wBAAsB;MAApH,iyCAAuJ,iDAAzE,0BAAe,EAAC,mBAAsB,WAApH,YAAuJ,EAAzE,SAAe,EAAC,SAAsB,2BAApH,8sBAAuJ;wGAKrJ,wNAAqF,YAAtC;;wBAAoB;MAAnE,wBAAqF,iFAAI;wGACzF,6LAAsE,YAAxC;;wBAA0B;MAAxD,wBAAsE,iFAAI;wGAP9E,+KAAmE,KACjE,2YAAuJ,IACvJ,sKAA0C,KACxC,6SAAgJ,YAAxI;;wBAA8B;MAAtC,wBAAgJ,2JAAgC,KAElL,4KAAgD,KAC9C,2YAAqF,IACrF,4YAAsE,IACtE,oKAAuC,kDAP/B,mBAA4B,uBAAtC,YAAuJ,EAA7I,SAA4B,GAK9B,mBAAuB,kBAA7B,YAAqF,EAA/E,SAAuB,GACvB,mBAAuB,kBAA7B,aAAsE,EAAhE,SAAuB;wGAOnC,2NAAkI,YAAtH;;wBAAqC;MAAjD,0bAAkI,MAChI,4LAAmH,YAA5C;;wBAA2C;MAAlH,+eAAmH,mDADN,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAC7B,mBAAwB,gBAAC,2BAA2B,EAAtE,YAAmH,EAAjG,SAAwB,EAAC,SAA2B;wGAIxE,kNAAsI,YAA1H;;wBAAgC;MAA5C,6dAAsI,MACpI,8LAA8H,YAA7C;;wBAA4C;MAA7H,s+CAA8H,mDADpC,qBAAkB,EAAlG,mBAAgC,qBAAmE,qBAAsB,EAArI,YAAsI,EAA1C,SAAkB,EAAlG,SAAgC,EAAmE,SAAsB,GAC9F,mBAAwB,aAAhD,mBAAuB,YAA0B,yBAAkB,EAAhF,YAA8H,EAAzF,SAAwB,EAAhD,SAAuB,EAA0B,SAAkB;wGAIhF,mMAAmI,YAAtC;;wBAAqC;MAAlI,+9BAAmI,mDAAtF,mBAA4B,YAAC,yBAAkB,EAA5F,YAAmI,EAAtF,SAA4B,EAAC,SAAkB;wGAC5F,8wBAA8F,iDAAjD,mBAA6B,aAAC,yBAAkB,EAA7F,YAA8F,EAAjD,SAA6B,EAAC,SAAkB;wGAF/F,kNAAoL,YAAxK;;wBAAgC;MAA5C,6dAAoL,MAClL,wYAAmI,IACnI,wYAA8F,iDAFJ,sDAAyC,GAAzH,mBAAgC,qBAA0F,sDAA6C,GAAnL,YAAoL,EAAxF,SAAyC,EAAzH,SAAgC,EAA0F,SAA6C,GAC3J,qCAAsB,GAA5C,YAAmI,EAA7G,SAAsB,GACtB,qCAAsB,GAA5C,YAA8F,EAAxE,SAAsB;wGAE9C,mNAA8F,YAAhE;;wBAAuB;MAArD,0bAA8F,MAC5F,4LAAqF,YAA9C;;wBAA6C;MAApF,q0BAAqF,mDADZ,qBAAkB,EAA/D,mBAAuB,YAArD,YAA8F,EAAnB,SAAkB,EAA/D,SAAuB,GACjC,mBAAoB,aAAtC,YAAqF,EAAnE,SAAoB;yxBA7SxC,4LAA+D,KAC7D,oMAAoE,KACpE,iNAAgF,KAChF,6LAA+D,KAC7D,qMAAuE,KACrE,kMAAoE,KAClE,2YACmE,IAmGnE,4YAA4G,IAiB5G,4YAA4K,IAK5K,4YAAkK,IAIlK,4YAA8F,IA4B9F,iNAA6D,YAAjD;;wBAA8B;MAA1C,gaAA6D,MAC3D,6LAAyN,YAAjD;;wBAAgD;MAAxN,umBAAyN,MAK3N,kNAA6D,YAA/B;;wBAA8B;MAA5D,gaAA6D,MAE3D,kNAAwF,KACtF,uHAAI,mHAAsC,MAC1C,uHAAI,2FAAc,MAEpB,gOAAsG,KACpG,6KAAgD,KAC9C,sOAAgG,YAA3C;;wBAA0C;MAA/F,wBAAgG,gFAAG,MAErG,6IAAsB,KACpB,sOAAmF,YAA3E;;wBAA6B;MAArC,wBAAmF,+EAAE,MAK3F,4YAAyF,IA4BzF,4LAAgD,YAApC;;wBAAmC;MAA/C,gaAAgD,MAC9C,wNAA6F,KAC3F,+MAAkF,KAChF,qLAAwD,gHACrB,6HAAM,sHACzC,MAGF,6NAAgG,KAC9F,6KAAgD,KAC9C,iPAAkI,YAAlE;;wBAAiE;MAAjI,wBAAkI,gFAAG,MAGvI,6IAAsB,KACpB,iPAAsG,YAA9F;;wBAAqC;MAA7C,wBAAsG,+EAAE,MAKhH,4YAAoI,IAGpI,4LAA+C,YAAnC;;wBAAkC;MAA9C,gaAA+C,MAC7C,6JAAwC,KACtC,+MAAkF,KAChF,qLAAwD,qIAExD,MAGF,6NAAgG,KAC9F,6KAAgD,KAC9C,iPAAmG,YAApE;;wBAAkC;MAAjE,wBAAmG,gFAAG,MAGxG,6IAAsB,KACpB,iPAAsH,YAAvF;;wBAAqD;MAApF,wBAAsH,+EAAE,MAMhI,8LAA6D,KAC7D,gMAA+D,KAE/D,4YAA0D,IAkBhE,4YAAmE,IAcrE,4YAAkI,IAKlI,4YAAsI,IAItI,4YAAoL,IAIpL,4YAA8F,iDAtSzD,mBAAsB,iBAAnD,aACmE,EADtC,SAAsB,GAoG9C,oBAAuB,iBAA5B,aAA4G,EAAvG,SAAuB,GAiBvB,oGAA8E,IAAnF,aAA4K,EAAvK,SAA8E,GAK9E,mGAA6E,IAAlF,aAAkK,EAA7J,SAA6E,GAItD,mBAA6B,wBAAzD,aAA8F,EAAlE,SAA6B,GA4B7C,mBAA8B,mBAA1C,aAA6D,EAAjD,SAA8B,GACtB,iBAAY,EAAC,2BAAqB,EAAC,6CAA6C,EAAC,oBAAa,EAAC,sBAAgB,EAAqB,qBAAiB,EAArC,sBAAmB,EAArJ,aAAyN,EAAvM,SAAY,EAAC,SAAqB,EAAC,SAA6C,EAAC,SAAa,EAAC,UAAgB,EAAqB,UAAiB,EAArC,UAAmB,GAKzH,oBAA8B,mBAA5D,aAA6D,EAA/B,UAA8B,GAgBG,oBAAyB,oBAAxF,aAAyF,EAA1B,UAAyB,GA4B5E,oBAAmC,wBAA/C,aAAgD,EAApC,UAAmC,GAmBH,oBAAyB,oBAArE,aAAoI,EAAxF,UAAyB,GAGzD,oBAAkC,uBAA9C,aAA+C,EAAnC,UAAkC,GAuBlC,oBAAe,UAA3B,aAA0D,EAA9C,UAAe,GAkB5B,oBAAgB,WAArB,aAAmE,EAA9D,UAAgB,GAc2B,oBAA+B,0BAAjF,aAAkI,EAAhF,UAA+B,GAKpC,oBAA0B,qBAAvE,aAAsI,EAAzF,UAA0B,GAI1B,oBAA0B,qBAAvE,aAAoL,EAAvI,UAA0B,GAI3D,oBAAiB,YAA7B,aAA8F,EAAlF,UAAiB;;;;;;;;;;;;;;;;AC5S7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoJ;AAC3F;AACW;AACnB;AACA;AACA;AACQ;AACU;AACY;AACe;AACZ;AACR;AACR;AAER;AACf;AACyB;AACC;AAC1B;AAEkC;AACb;AAC2B;AACnB;AAEjB;AACgD;AAIvG;IAkIE,2BAAoB,SAAmB,EAAS,KAAqB,EAAS,oBAA0C,EAAU,iBAAsC,EAAU,WAAwB,EAAU,MAAc,EAAU,gBAAkC,EAAU,eAAgC,EAAU,eAAgC,EAAU,MAAqB;QAA7W,cAAS,GAAT,SAAS,CAAU;QAAS,UAAK,GAAL,KAAK,CAAgB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QArHjY,yBAAoB,GAAY,IAAI,CAAC;QAarC,qBAAgB,GAAY,KAAK,CAAC;QAClC,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,cAAS,GAAY,KAAK,CAAC;QAC3B,gBAAW,GAAmB,EAAE,CAAC;QACjC,oBAAe,GAAmB,EAAE,CAAC;QACrC,YAAO,GAAmB,EAAE,CAAC;QAC7B,cAAS,GAAmB,EAAE,CAAC;QAC/B,eAAU,GAAmB,EAAE,CAAC;QAChC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QACtB,cAAS,GAAG,EAAE,CAAC;QACtB,sBAAiB,GAAmB,EAAE,CAAC;QACvC,eAAU,GAAmB,EAAE,CAAC;QAChC,eAAU,GAAmB,EAAE,CAAC;QAChC,cAAS,GAAmB,EAAE,CAAC;QAU/B,eAAU,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAGlC,cAAS,GAAG,CAAC,CAAC;QACd,iBAAY,GAAY,IAAI,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAY,IAAI,CAAC;QAC/B,uBAAkB,GAAY,KAAK,CAAC;QACpC,wBAAmB,GAAY,IAAI,CAAC;QACpC,OAAE,GAAG,CAAC,CAAC;QACA,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,gBAAW,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ;QACjD,+BAA0B,GAAG,CAAC,CAAC;QAC/B,eAAU,GAAG,KAAK,CAAC;QACnB,qBAAgB,GAAG,KAAK,CAAC;QACzB,sBAAiB,GAAG,KAAK,CAAC;QAC1B,0BAAqB,GAAG,KAAK,CAAC;QAC9B,0BAAqB,GAAG,KAAK,CAAC;QAC9B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,oBAAe,GAAC,KAAK,CAAC;QACtB,iBAAY,GAAG,EAAE,CAAC;QAClB,4BAAuB,GAAY,KAAK,CAAC;QACzC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,aAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACpC,gBAAW,GAAiB,IAAI,iEAAY,EAAE,CAAC;QAC/C,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAC7C,aAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAGpC,eAAU,GAAY,KAAK,CAAC;QAG5B,sBAAiB,GAAG,CAAC,CAAC;QACtB,mBAAc,GAAG,MAAM,CAAC;QACxB,cAAS,GAAG,CAAC,CAAC;QAAC,eAAU,GAAG,CAAC,CAAC;QAC9B,qBAAgB,GAAY,KAAK,CAAC;QAClC,cAAS,GAAY,KAAK,CAAC;QAC3B,aAAQ,GAAW,CAAC,CAAC;QAAC,SAAI,GAAG,EAAE,CAAC;QAChC,qBAAgB,GAAY,KAAK,CAAC;QAClC,sBAAiB,GAAY,KAAK,CAAC;QAUnC,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAAC,kBAAa,GAAkB,IAAI,8DAAa,EAAE,CAAC;QAC/F,UAAK,GAAU,IAAI,oDAAK,EAAE,CAAC;QAC3B,QAAG,GAAG,EAAE,CAAC;QACT,oBAAe,GAAG,EAAE,CAAC;QACd,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QACzF,aAAQ,GAAG,KAAK,CAAC;QACtD,cAAS,GAAW,CAAC,CAAC;QACT,kBAAa,GAAG,EAAE,CAAC;QAChC,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,eAAU,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QACrC,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAG5B,iBAAY,GAAmB,EAAE,CAAC;QAClC,iBAAY,GAAmB,EAAE,CAAC;QAIlC,4BAAuB,GAAY,KAAK,CAAC;QAGzC,cAAS,GAAiB,EAAE,CAAC;QAE7B,mBAAc,GAAY,IAAI,CAAC;QAC/B,gBAAW,GAAY,KAAK,CAAC;QAG3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,2CAAe,GAAf;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACD,iCAAK,GAAL,cAAU,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClC,oCAAQ,GAAR;QAAA,iBAyEC;QAxEC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAChD,KAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACxC,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,KAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE;gBAEvB,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAClE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;oBACvB,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;oBACnE,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,GAAG,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAC1E,IAAI,KAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;wBACpC,KAAI,CAAC,aAAa,GAAG;4BACnB,EAAE,IAAI,EAAE,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;yBAC/E,CAAC;qBACH;yBAAM;wBACL,KAAI,CAAC,aAAa,GAAG;4BACnB,EAAE,IAAI,EAAE,KAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;yBAC1E,CAAC;qBACH;oBACD,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE;wBAC/C,mEAAmE;qBACpE;yBAAM;wBACL,kEAAkE;qBACnE;oBACD,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;oBAEjC,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,SAAS,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAG,iBAAiB,EAAE;wBACrI,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;qBAC9I;yBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,UAAU,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,WAAW,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,mBAAmB,EAAE;wBACjN,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;qBAClL;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBACnD,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,KAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;oBAEjC,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,SAAS,EAAE;wBAE/D,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;qBAC9I;yBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,UAAU,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAG,WAAW,EAAE;wBACvI,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;qBAClL;iBACJ;qBACI;oBACH,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;iBAC9I;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACtF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,aAAa;YACnB,kBAAkB,EAAE,IAAI;SAEzB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACnF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACnF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,gBAAgB,CAAC;IAE1D,CAAC;IACD,4CAAgB,GAAhB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACrE,CAAC;IACD,yCAAa,GAAb;QACE,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5C,CAAC;IACD,0CAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,iCAAK,GAAL,UAAM,GAAG;QACP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,6CAAiB,GAAjB,UAAkB,OAAO;QAAzB,iBA4DC;QA1DC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YAExB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,SAAS,IAAI,wBAAwB,CAAC,CAAC,EAAE;YACtK,4BAA4B;YAC5B,mDAAmD;YACnD,WAAW;YACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO;YAC3D,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAClD,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;YACjE,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;SACrE;QACD,IAAI,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,SAAS,IAAI,WAAW,EAAE;YAE1E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC7B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEzC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC;oBACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAE7C,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC/B,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAE3C,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,CAAC;oBACpC,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAEhD,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBACvC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBACrC;gBACD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACV,IAAI,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACxD,8FAA8F;SAE9F;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IACD,4CAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;SACnC;aACI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACzH,KAAK,CAAC,2DAA2D,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;SACnC;IACH,CAAC;IACD,4CAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,GAAG,KAAK,MAAM,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;SACnC;aACI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACzH,KAAK,CAAC,2DAA2D,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;SACnC;IAEH,CAAC;IACD,4CAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpH,KAAK,CAAC,2DAA2D,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;SACnC;IACH,CAAC;IACD,4CAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAAhC,iBAaC;QAZC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACzF,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC/B,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,yCAAa,GAAb;QACE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;SAEjC;IACH,CAAC;IAED,uCAAW,GAAX,UAAY,GAAG;QACb,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,yCAAa,GAAb,UAAc,GAAG;QACf,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,yCAAa,GAAb,UAAc,GAAG;QACf,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,6CAAiB,GAAjB,UAAkB,GAAG;QAArB,iBAoBC;QAnBC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACnE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;YAC7B,KAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;YAC3B,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;gBACnF,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACpC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACrC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;aAE9D;iBAAM;gBACL,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;gBACnC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACpC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aAE7D;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,WAAW;IAEX,+DAA+D;IAC/D,sEAAsE;IACtE,yEAAyE;IACzE,GAAG;IACH,iDAAqB,GAArB;QAEE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,iDAAqB,GAArB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACrP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;gBACjM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAChN,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAE7Q,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,UAAU,MAAM;YAClC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC;IAED,8CAAkB,GAAlB,UAAmB,KAAK;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACZ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,4CAAgB,GAAhB;QAEE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC/D;IAEH,CAAC;IACD,wDAA4B,GAA5B,UAA6B,SAAS;QAAtC,iBAUC;QARC,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAChG,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YACrC,KAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC,MAAM,CAAC;QACpD,CAAC,CAAC,CAAC;IAEL,CAAC;IAEM,yDAA6B,GAApC,UAAqC,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,IAAI;QAA9F,iBAwCC;QAvCC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAChG,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACxF,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACjF,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;YAC5B,KAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,WAAW,CAAC;YACvC,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,EAAE,EAAE;gBAC5D,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;aACtD;YACD,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/E,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;YACjC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE;wBACrC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;wBACtC,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,SAAS,CAAC;qBAC5D;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnH,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,+QAA+Q;gBAC/Q,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAC,UAAU,CAAC,CAAC;gBACnD,KAAI,CAAC,4BAA4B,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAClC,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACM,yDAA6B,GAApC,UAAqC,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,IAAI;QAA9F,iBA8CC;QA7CC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAChG,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACxF,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAEjF,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,KAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,WAAW,CAAC;YACvC,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,EAAE,EAAE;gBAC5D,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;aACtD;YACD,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjF,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;YACjC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE;wBACrC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,UAAU,CAAC;qBAE7D;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC9G,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBACpD,KAAI,CAAC,4BAA4B,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAKH,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAElC,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAIV;IACH,CAAC;IAED,4CAAgB,GAAhB;QAAA,iBAsEC;QApEC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,UAAU,EAAE;YAChE,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;gBAE7F,gBAAgB,GAAG,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/G,KAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;YAEnD,CAAC,CAAC,CAAC;SAEJ;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;SAEJ;QACD,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG;YACvC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,2BAA2B,GAAG;YACjC,aAAa,EAAE,8FAAsB;YACrC,0CAA0C;YAC1C,iBAAiB,EAAE,yGAA0B;SAC9C,CAAC;QAEA,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;YACrC,iBAAiB,EAAE,yGAA0B;SAC9C,CAAC;QACF,IAAI,CAAC,2BAA2B,GAAG;YACjC,aAAa,EAAE,8FAAsB;YACrC,YAAY,EAAE,0FAAqB;SACpC,CAAC;IAEN,CAAC;IACD,yCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,uCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,yCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,gDAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IACD,8CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IACD,gDAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IACD,6CAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,oDAAwB,GAAxB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,4CAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QAChF,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7J;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAG,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC;iBACxL;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,uBAAuB,EAAE;oBACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBACtK,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;4BACtF,4EAA4E;wBAC7E,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,YAAC,MAAM;wBAC3E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,wBAAwB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;wBAChI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,KAAK;4BAC7E,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC3D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D,+GAA+G;gBAC/G,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE;gBAC5G;oBACE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;oBACjE,SAAS,EAAE,UAAU,MAAM;wBACzB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE;oBACtF,CAAC;iBACH;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAC;gBAC3D,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;gBAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;aACxD,CAAC;SACH;IACH,CAAC;IACD,mDAAuB,GAAvB,UAAwB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QACvF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,uBAAuB,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACrC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,YAAC,MAAM;4BAC1E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,wBAAwB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;4BAChI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,KAAK;gCAC7E,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACjC,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI;wBAChE,YAAY,YAAC,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,gBAAgB;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC1O,CAAC,CAAC;iBACJ;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACtD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;qBAAG,CAAC,CAAC;iBACrE;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI;qBACzD,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACtO;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAE/J;qBAAM;oBACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBACzD,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC5C,CAAC,CAAC;iBACJ;aACF;SACF;aACI;YACH,IAAI,CAAC,iBAAiB,GAAG;gBACvB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7C;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI;oBAChE,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,gBAAgB;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACrK,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,YAAC,MAAM;wBAC3E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAC,mBAAmB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;wBAC5J,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,KAAK;4BAC7E,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBAAC;gBACJ,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC9D;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iBAC9D;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iBAC9D;gBACD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE;aAC7G,CAAC;SACH;IAEH,CAAC;IACD,oCAAQ,GAAR,UAAS,EAAE;IACX,CAAC;IAED,iDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IACD,+CAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IACD,iDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IACD,qDAAyB,GAAzB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC/E,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,oDAAwB,GAAxB,UAAyB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QACxF,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrK;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACvD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACzN;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpJ;qBAAM;oBACL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG;gBACxB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,GAAG;oBACV,YAAY,EAAE,cAAc;oBAC5B,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC3D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;gBAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;aACxD,CAAC;SACH;IAEH,CAAC;IACD,yCAAa,GAAb,UAAc,KAAK;QAEjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,iDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC9B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,uCAAW,GAAX;IACA,CAAC;IACD,+CAAmB,GAAnB;IAEA,CAAC;IAED,yCAAa,GAAb;QACE,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACzD,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACrL,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,0CAAc,GAAd;QAEE,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC5H,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC/C,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;SAClE;IACH,CAAC;IACD,6CAAiB,GAAjB;QACE,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5C,CAAC;IACD,yDAA6B,GAA7B;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5C,CAAC;IAED,sDAA0B,GAA1B;QAEE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACjD,uCAAuC;YACvC,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC/C,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;SACrD;aAAM;YACL,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAClD,wCAAwC;YACxC,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC9C,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;SACvD;QACD,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE;IACd,CAAC;IAED,wCAAY,GAAZ;QAAA,iBAiBC;QAhBC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC;QAEpF,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC;QAC1E,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;YAClC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACtD,KAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,KAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;YACjD,KAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;QAE5C,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,mCAAO,GAAP;QAEE,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/C,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAC9B,IAAI,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/C,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;QAC9C,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC;QAC9C,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;YAE/C,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qIAAqI,CAAC,CAAC;QACpK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAET,CAAC;IAED,0CAAc,GAAd,UAAe,QAAQ;QAAvB,iBAsBC;QArBC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAS;oBAC5F,KAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,IAAE,IAAI,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC3E,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjE;gBAED,KAAI,CAAC,4BAA4B,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACnD,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,yBAAyB;YACzB,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;SACnC;IACH,CAAC;IACD,mDAAuB,GAAvB,UAAwB,QAAQ;QAC9B,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrF,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC5C,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAChE;SACF;IAEH,CAAC;IACD,4CAAgB,GAAhB,UAAiB,QAAQ;QAAzB,iBA4BC;QA3BC,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAChG,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,KAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAS;wBAC5F,KAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBAC/C,CAAC,CAAC,CAAC;oBAEH,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBAC7E,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;qBACjE;oBACD,IAAI,KAAI,CAAC,kBAAkB,IAAI,SAAS,EAAE;wBACxC,KAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;qBACxD;oBACD,KAAI,CAAC,4BAA4B,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnD,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC/D,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;aACJ;SACF;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,yBAAyB;YACzB,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;SACnC;IAEH,CAAC;IAED,uCAAW,GAAX,UAAY,GAAG;QACb,iEAAiE;QACjE,4DAA4D;QAC5D,oDAAoD;QACpD,uBAAuB;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,yCAAa,GAAb;QACE,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC9D,6DAA6D;QAC7D,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEnD,CAAC;IAED,yCAAa,GAAb;QAAA,iBAgGC;QA9FC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACjD,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEzB,CAAC,CAAC,CAAC;QAGH,sFAAsF;QACtF,wCAAwC;QACxC,OAAO;QACP,0CAA0C;QAC1C,KAAK;QACL,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAChG,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9E,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC3D,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAC9B,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAE/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAClF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACvD,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACrF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAClF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACzF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE;QACf;YACE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC;YACb,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;IACH,CAAC;IACD,oCAAQ,GAAR;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI,GAAG,CAAC;gBACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,uCAAW,GAAX;QAAA,iBAYC;QAVC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxD,KAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,SAAS,CAAC;YACnD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1F,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,yCAAa,GAAb;QACE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,+CAAmB,GAAnB,UAAoB,EAAE,EAAE,IAAI;QAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;IAC7B,CAAC;IACD,iDAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACvE,CAAC;IACD,iDAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACtE,CAAC;IAED,uCAAW,GAAX,UAAY,KAAK;QAEf,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;aACf;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QAAQ,gBAAgB,EAAE;QAC3B,IAAI,MAAM,EAAE;YAEV,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC3B;aAAM;SACN;IACH,CAAC;IACD,yCAAa,GAAb,UAAc,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;QAC5C,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,GAAG,GAAG,0BAA0B,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;gBACL,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,UAAU,IAAI;oBAErB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC9C,IAAI,KAAK,IAAI,YAAY,EAAE;wBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;qBAChC;oBACD,IAAI,KAAK,IAAI,gBAAgB,EAAE;wBAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;qBACpC;oBACD,IAAI,KAAK,IAAI,SAAS,EAAE;wBACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;qBAE/B;gBACH,CAAC;aAEF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,qCAAS,GAAT,UAAU,KAAK,EAAE,OAAO,EAAE,QAAQ;QAEhC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,CAAC,EAAE;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE;oBAC1D,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;iBAC5B;aACF;SACF;aAAM;YAEL,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE5B,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;aAE7B;YACD,IAAI,OAAO,IAAI,kBAAkB,EAAE;gBACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;aAEjC;YACD,IAAI,OAAO,IAAI,cAAc,EAAE;gBAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;aAC5B;SACF;IACH,CAAC;IAED,8CAAkB,GAAlB,UAAmB,EAAE;QAEnB,IAAI,iBAAiB,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3D,IAAI,EAAE,IAAI,CAAC,EAAE;YACX,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,4BAA4B;YAC5B,6BAA6B;YAC7B,6BAA6B;YAC9B,mCAAmC;YAClC,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAChC,iBAAiB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YAC7D,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC9D,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAE3C,uBAAuB;SACvB;aACI,IAAI,EAAE,IAAI,CAAC,EAAE;YAChB,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACjC,2BAA2B;YAC3B,6BAA6B;YAC7B,8BAA8B;YAC9B,iCAAiC;YACjC,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAChC,iBAAiB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YAC7D,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAC/D,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,sBAAsB;SACvB;IACH,CAAC;IACD,4CAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAQC;QAPC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvD,KAAK,CAAC,OAAO,CAAC,qBAAW;YACzB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACjD,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACnD,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IAGH,CAAC;IAED,kDAAsB,GAAtB,UAAuB,QAAQ;QAE7B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACpC,CAAC;IACD,sCAAU,GAAV;QAEE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,CAAC;IACD,oCAAQ,GAAR;QAAA,iBAaC;QAXC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEtC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9D,CAAC;IACD,6CAAiB,GAAjB,UAAkB,OAAO;QAGvB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC;QACpD,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACzD,UAAU,CAAC;YACT,qHAAqH;YACrH,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wIAAwI,CAAC;QACtK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,uCAAW,GAAX,UAAY,OAAO;QACjB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,IAAI,gBAAgB,EAAE;YAClE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,qBAAqB,IAAI,MAAM,EAAE;gBAC3C,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;aAChD;iBAAM;gBACL,KAAK,CAAC,kEAAkE,CAAC;aAC1E;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;aACI;YACH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAClD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,UAAU,CAAC;gBACT,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;YAC5K,CAAC,EAAE,CAAC,CAAC,CAAC;SAEP;IACH,CAAC;IACD,8CAAkB,GAAlB,UAAmB,GAAG;QAAtB,iBAUC;QATC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,IAAE,CAAC,CAAC,EAAC,EAAC,EAAC,EAAC,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC1F,KAAI,CAAC,4BAA4B,CAAC,KAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;SACF;QAED,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IAEzC,CAAC;IACD,sCAAU,GAAV,UAAW,cAAc;QAAzB,iBAMC;QAJC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACpF,KAAI,CAAC,oBAAoB,GAAG,CAAC,KAAI,CAAC,oBAAoB;YACtD,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAa,GAAb,UAAc,SAAS;QAAvB,iBAgCC;QA/BC,IAAI,SAAS,IAAI,CAAC,EAAE;YAClB,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,qBAAqB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxH,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/G,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1H,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACzD,6IAA6I;oBAE7I,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,SAAS,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,iBAAiB,EAAE;wBACtI,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;qBAC9I;yBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,UAAU,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,WAAW,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,mBAAmB,EAAE;wBACjN,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;qBAClL;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,iHAAiH;gBACjH,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,iBAAiB,EAAE;oBACtI,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;iBAC9I;qBAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,mBAAmB,EAAE;oBACjN,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;iBAClL;aACF;YAGD,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IACD,6CAAiB,GAAjB;QACE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IACD,qCAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,gDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,iBAAiB,EAAE;YACtI,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;SAC9I;aAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,mBAAmB,EAAE;YACjN,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;SAClL;IACH,CAAC;IAED,wCAAY,GAAZ,UAAa,IAAS;QAAtB,iBAiBC;QAhBC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YACzE,IAAI,UAAU,IAAI,IAAI,EAAE;gBACtB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uGAAuG,EAAE,eAAe,CAAC,CAAC;aAC/I;iBACI;gBACH,KAAI,CAAC,oBAAoB,GAAG,CAAC,KAAI,CAAC,oBAAoB;gBACtD,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yDAAyD,CAAC,CAAC;gBACxF,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACR;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,0CAAc,GAAd,UAAe,IAAS;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IACpB,CAAC;IACD,4CAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAgBC;QAfC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,gDAAgD;YAChD,IAAI,KAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,EAAE;gBACpC,KAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,sBAAsB,EAAE,cAAc,EAAE,iCAAiC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;aAC3J;iBACI;gBACH,KAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,sBAAsB,EAAE,cAAc,EAAE,yBAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;aACnJ;YACD,yCAAyC;YACzC,qCAAqC;YACrC,uBAAuB;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5C,CAAC;IACD,mBAAmB;IACnB,8BAA8B;IAC9B,sKAAsK;IAEtK,WAAW;IACX,GAAG;IACH,+CAAmB,GAAnB;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oJAAoJ,CAAC;QAEjM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,4CAAgB,GAAhB,UAAiB,WAAW;QAC1B,IAAI,WAAW,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI,IAAI,WAAW,IAAI,MAAM,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAC9D;IAEH,CAAC;IACD,+CAAmB,GAAnB,UAAoB,KAAK,IACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;IAE3B,qCAAS,GAAT,UAAU,OAAO;QAEf,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC;QACpD,IAAI,OAAO,CAAC,qBAAqB,IAAI,WAAW,IAAI,OAAO,CAAC,qBAAqB,IAAI,WAAW,EAAE;YAChG,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACjD,UAAU,CAAC;gBACT,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uFAAuF,CAAC;YACpI,CAAC,EAAE,CAAC,CAAC;SACN;aACI;YACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SAChD;IACH,CAAC;IAED,+CAAmB,GAAnB,cAAwB,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;IAEtH,+CAAmB,GAAnB,UAAoB,MAAM;QACxB,IAAI,MAAM,IAAG,MAAM,EAAE;YACnB,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;SAC7D;aAAM;YACF,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;SAClD;QACD,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,CAAC;IACD,uDAA2B,GAA3B,UAA4B,GAAU;QACpC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iDAAqB,GAArB,UAAsB,SAAS,EAAE,MAAM;QAAvC,iBAkEC;QAjEC,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5G,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClH,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAEnG;aACI,IAAI,MAAM,IAAI,WAAW,EAC9B;YACE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5G,IAAI,iBAAiB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxH,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAEnG;aACI,IAAI,MAAM,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9H,IAAI,iBAAiB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxH,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAEnG;aACI;YAEH,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/K,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,uBAAuB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9H,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnH,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;gBAClC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;aACxD;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAE3C,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,6IAA6I;YAC7I,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,SAAS,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,iBAAiB,EAAE;gBACtI,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;aAC9I;iBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,UAAU,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,WAAW,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,mBAAmB,EAAE;gBACjN,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;aAClL;QACD,CAAC,CAAC,CAAC;QACL,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,WAAW,EAAE;YAChD,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;SAE1D;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAEhC;IACH,CAAC;IACD,iBAAiB;IAEjB,qDAAqD;IACrD,8IAA8I;IAC9I,GAAG;IACH,uCAAW,GAAX,UAAY,GAAG;QAEf,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IACnC,CAAC;IACM,qCAAS,GAAhB,UAAiB,KAAa;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;aACI;YACH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IAED,4CAAgB,GAAhB,UAAiB,MAAM;QAErB,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;YACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;YACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;YACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,eAAe,GAAG,GAAG,CAAC;YAG1B,iDAAiD;YACjD,oDAAoD;YACpD,2CAA2C;YAC3C,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,4CAA4C;gBAC5C,+CAA+C;gBAC/C,oEAAoE;gBACpE,4DAA4D;gBAC5D,oEAAoE;gBAEpE,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;iBAAM;gBACL,iCAAiC;gBACjC,8CAA8C;gBAC9C,8CAA8C;gBAC9C,UAAU;gBACV,8CAA8C;gBAC9C,GAAG;gBACH,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1C,qDAAqD;gBACrD,+CAA+C;gBAC/C,6CAA6C;gBAE7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;YACD,sDAAsD;YACtD,qDAAqD;YACrD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,8CAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,oCAAQ,GAAR;QAEE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,IAAI,WAAW,EAAE;YAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACrC;aAAM;YACL,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IACD,0CAAc,GAAd;QAAA,iBAOC;QANC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChE,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,KAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,+CAAmB,GAAnB;QAEE,8GAA8G;QAC9G,4BAA4B;QAC5B,kKAAkK;QAClK,SAAS;QACT,GAAG;QACH,QAAQ;QACN,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0JAA0J,CAAC,CAAC;QACzL,CAAC,EAAE,CAAC,CAAC;QACP,GAAG;IACL,CAAC;IACD,2CAAe,GAAf;QAAA,iBAKC;QAJC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC7D,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAgB,GAAhB;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,iDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,GAAG,IAAI,MAAM,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;SAAE;aAC3F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACjI,KAAK,CAAC,2DAA2D,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;SACrC;IACH,CAAC;IACD,iDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,GAAG,IAAI,MAAM,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;SAAE;aAC3F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACjI,KAAK,CAAC,2DAA2D,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;SACrC;IACH,CAAC;IACD,iDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,GAAG,IAAI,MAAM,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;SAAE;aAC3F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACjI,KAAK,CAAC,2DAA2D,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;SACrC;IACH,CAAC;IACD,0CAAc,GAAd;QAEE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aACpD;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAW,GAAX;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACrI,CAAC;IACD,wCAAY,GAAZ;QACE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7K,CAAC;IAED,4CAAgB,GAAhB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC3C,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACrF,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IACD,iDAAqB,GAArB;QACE,UAAU,CAAC;YAET,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,iDAAqB,GAArB;QACE,UAAU,CAAC;YAET,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,+CAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAC3I,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,yCAAa,GAAb;QACE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IACF,wCAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,uBAAuB,IAAI,GAAG,IAAI,yBAAyB,EAAE;YACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;IACF,CAAC;IAED,sCAAU,GAAV;QACI,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACjD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;wBACnI,OAAO;qBACR;iBACF;aAEF;SACF;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IAEvB,CAAC;IACD,uCAAW,GAAX,UAAY,GAAG;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IACD,0CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,iBAAiB,EAAE;gBACtI,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,GAAG,WAAW,CAAC;aAC3C;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;aAChC;SAEF;aACI;YACH,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,iBAAiB,EAAE;gBACtI,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,YAAY;aACxD;iBACI;gBACH,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;aAChC;SAEF;IACH,CAAC;IACD,oDAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,GAAG,IAAI,WAAW,EAAE;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aACI,IAAI,GAAG,IAAI,QAAQ,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;aAAM,IAAI,GAAG,IAAI,UAAU,EAC5B;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAAE;IACjC,CAAC;IACD,4CAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;YAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAClC;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;YACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IACH,CAAC;IAED,wCAAY,GAAZ;QACE,UAAU,CAAC;YACT,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+JAA+J,CAAC,CAAC;QAC/M,CAAC,EAAE,CAAC,CAAC;IAEP,CAAC;IAID,sDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IAEH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8GCttEC,+IAAuD,KACrD,kMAA6E,YAAvC;;wBAAsC;MAA5E,6uBAA6E,mDAAxD,mBAAgB,YAArC,YAA6E,EAAxD,SAAgB;8GASsE,wHAAoD,kcAA6B;8GAAtL,wHAAmC,qNAAkE,qZAAoD,IAAoC,kFAA0B,mDAA5G,+DAA6C,IAAnD,YAAoD,EAA9C,SAA6C,mDAArH,4RAAkE,GAAwF,4DAA0B;8GAQvN,8KAAiE,YAA3B;;wBAA0B;MAAhE,wBAAiE,6FAAgB;8GAfzF,+IAAuD,KACrD,yPAA4H,KAC1H,sLAAyD,KACvD,uHAAK,2LAA0D,gFAAuB,MACtF,iMAAqE,sFAA0B,MAC/F,qKAA+C,gFAAoB,MACnE,sKAA+C,KAC7C,kZAAmC,IAGvC,sKAAyC,KACvC,uHAAI,qGAAiC,MAEvC,uLAA0D,KACxD,sJAA+B,2HAAG,qFAAQ,MAAI,4FAAsH,MAClK,kZAAiE,IAKvE,uKAA0C,KACxC,iXAWqD,YAHpC;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAXpD,4oDAWqD,MAGrD,6NAA0F,KACxF,sKAA+C,6HAAgD,mDA7BvF,2CAA4B,GAAlC,aAAmC,EAA7B,SAA4B,GAQ1B,2CAA6B,GAArC,aAAiE,EAAzD,SAA6B,GAOxB,oBAA2B,cAG3B,oBAAmB,UAFnB,oBAAyB,aAGzB,oBAAmB,UAFnB,oBAAwD,yCAGxD,oBAAmB,UACnB,qBAAsC,EAPvD,aAWqD,EAVpC,UAA2B,EAG3B,UAAmB,EAFnB,UAAyB,EAGzB,UAAmB,EAFnB,UAAwD,EAGxD,UAAmB,EACnB,UAAsC,mDAzBU,gEAAuB,GACjB,6DAA0B,GAChD,6DAAoB,GAM/D,uDAAiC,GAGS,6PAAsH;8GAlB5K,oNAAwF,KACtF,iZAAuD,IAGvD,iZAAuD,iDAHlD,uCAA6B,GAAlC,YAAuD,EAAlD,SAA6B,GAG5B,uCAA6B,GAAnC,YAAuD,EAAjD,SAA6B;;;;;;;;;;;;;;;;ACFrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmE;AAElB;AACmB;AACzB;AACuB;AACQ;AACG;AAE1B;AACa;AAEhE;IAwBE,kCAAoB,eAAgC,EAAS,oBAA0C,EAAU,eAAgC,EAAU,iBAAsC;QAA7K,oBAAe,GAAf,eAAe,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAjBjM,sBAAiB,GAAG,KAAK,CAAC;QAQ1B,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAEnC,YAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;QAGnC,cAAS,GAAG,CAAC,CAAC;QACI,kBAAa,GAAG,EAAE,CAAC;QAEgK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAAC,CAAC;IAE1Q,2CAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,oDAAiB,GAAjB,UAAkB,IAAI,EAAC,SAAS;QAAhC,iBASC;QARC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACxE,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBACnF,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iEAA8B,GAA9B,UAA+B,IAAI,EAAE,SAAS;QAA9C,iBAqBC;QApBC,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,IAAG,SAAS,EAAE;YAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACxD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACvE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;oBAC7D,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;oBAChE,KAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;iBAEzC;qBAAM;oBACL,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC;oBACnB,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC5D,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;iBAClE;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,yCAAM,GAAN,UAAO,MAAW;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,mDAAgB,GAAhB;QAAA,iBA8BC;QA7BC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;SACxO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;SAEjB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAE1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtB,CAAC;IACD,gDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAE3B,CAAC;IACD,8CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,gDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,oDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,mDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBACzP;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpE,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBACjJ,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;aACpE,CAAC;SACH;IACH,CAAC;IACD,gDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,8CAAW,GAAX;IAEA,CAAC;IACD,0CAAO,GAAP;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,gDAAa,GAAb,UAAc,GAAG;QACf,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,0DAAuB,GAAvB,UAAwB,SAAS,EAAE,MAAM;QACvC,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IACD,iDAAc,GAAd;QACE,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;IACH,+BAAC;AAAD,CAAC;;AACD,2DAA2D;AAE3D,qBAAqB;AAErB,gBAAgB;AAChB,KAAK;AAEL,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oHClOC,mLAAoF,KAClF,iLAAqD,KACnD,0KAA8C,KAC5C,+JAAyC,mGAAsB,MAInE,wLAA2D,KACzD,iLAAoD,KAClD,yLAA6D,+MAAqE,YAArC;;wBAAoC;MAApE,wBAAqE,KAChI,iMAAuE,KAEzE,mLAAsD,KACpD,iLAAoD,KAClD,kLAAqD,KACrD,kLAA2D,2FAAc,MAI3E,iLAAoD,KAClD,yJAAkC,oIAAuD,MAM/F,kLAAoD,KAClD,0LAA6D,gNAAwE,YAAxC;;wBAAuC;MAAvE,wBAAwE,KACnI,kMAAuE,KAEzE,mLAAsD,KACpD,iLAAoD,KAClD,mLAAsD,uLAA2D,8FAAiB,MAIpI,mLAAsD,KACpD,yJAAkC,mIAAsD;oHASlG,kLAAyE,KACvE,0KAA8C,KAC5C,mJAA6B,2FAAc,MAE7C,+KAAmD,KACjD,+KAAmD,KACjD,8LAAkE,KAEhE,gQAAsH,YAA1D;;wBAAmC;MAA/F,wBAAsH,KAI1H,sMAA0E,KACzE,0SAUsD,YAFpC;;wBAA2D;MAC3D;;wBAAmC;MACnC;;wBAAmC;MAVrD,0lDAUsD,MAKzD,iLAAmD,KACjD;;;;;;kyBAAqD,IACnD,iLAAoD,KAGpD,gNAAkF,KAChF,kLAAqD,+HAAO,kFAAK,MACjE,kLAAqD;;;;;;;;;;;wBAAgK;MAAjH;;wBAA2C;MAA1F,83CAAgK,IAEvN,+MAAiF,KAC/E,iLAAoD,+HAAO,uFAAU,MACrE,iLAAoD,KAClD;;;;;;;;;;;wBAA6H;MAA5E;;wBAAoC;MAArF,83CAA6H,IAGjI,iLAAoD,KACpD,8LAAiE,KAC/D,6IAAsB,KACtB,mLAAsD,KACpD,kUAAsL,YAArC;;wBAAoC;MAArL,wBAAsL,mFAAM,MAE9L,8MAAiF,KAC/E,2VAAmO,YAApM;;wBAA4B;MAA3D,wBAAmO,iFAAI,mDApC1N,mBAA2B,cAG3B,mBAA4B,mBAF5B,mBAAyB,aACzB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAoB,EAFpB,oBAAuB,EALzC,aAUsD,EATpC,SAA2B,EAG3B,SAA4B,EAF5B,SAAyB,EACzB,SAAwD,EAGxD,SAAmB,EACnB,SAAoB,EAFpB,SAAuB,GAiByB,gDAAoC,EAA6E,oBAAoC,0BAAhH,oBAA2C,gCAA1F,aAAgK,EAAtJ,UAAoC,EAA6E,UAAoC,EAAhH,UAA2C,GAK1H,yCAA6B,EAAsC,oBAAoC,0BAAzE,oBAAoC,yBAArF,aAA6H,EAA1G,UAA6B,EAAsC,UAAoC,EAAzE,UAAoC,2BAX3F,8tBAAqD,GAMI,ouBAAgK,GAKnN,ouBAA6H,GAU0D,2EAA2C,cAAlO,aAAmO,EAA5C,UAA2C;oHAU5O,kLAAyE,KACvE,0KAA8C,KAC5C,mJAA6B,8FAAiB,MAGhD,+KAAmD,KACjD,+KAAmD,KACjD,8LAAkE,KAEhE,gQAAyH,YAA7D;;wBAAsC;MAAlG,wBAAyH,KAI7H,sMAA0E,KACxE,0SAU4D,YAF3C;;wBAA8D;MAC9D;;wBAA0C;MAC1C;;wBAA0C;MAV3D,0lDAU4D,MAKhE,iLAAmD,KACjD;;;;;;qyBAAwD,IACtD,iLAAoD,KAEpD,gNAAkF,KAChF,kLAAqD,+HAAO,qFAAQ,MACpE,kLAAqD;;;;;;;;;;;wBAA+K;MAA1H;;wBAAiD;MAAtG,83CAA+K,IAEtO,+MAAiF,KAC/E,iLAAoD,+HAAO,uFAAU,MACrE,iLAAoD,KAClD;;;;;;;;;;;wBAAsI;MAAlF;;wBAAuC;MAA3F,83CAAsI,IAG1I,iLAAoD,KACpD,8LAAiE,KAC/D,6IAAsB,KACtB,mLAAsD,KACpD,kUAAyL,YAAxC;;wBAAuC;MAAxL,wBAAyL,mFAAM,MAEjM,8MAAiF,KAC/E,2VAAyO,YAA1M;;wBAA+B;MAA9D,wBAAyO,iFAAI,mDAnChO,mBAA4B,cAG5B,mBAA+B,sBAF/B,mBAAyB,aACzB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAoB,EAFpB,oBAAuB,EALxC,aAU4D,EAT3C,SAA4B,EAG5B,SAA+B,EAF/B,SAAyB,EACzB,SAAwD,EAGxD,SAAmB,EACnB,SAAoB,EAFpB,SAAuB,GAgByB,sDAA0C,EAAmF,oBAAuC,6BAAzH,oBAAiD,sCAAtG,aAA+K,EAArK,UAA0C,EAAmF,UAAuC,EAAzH,UAAiD,GAKtI,4CAAgC,EAAyC,oBAAuC,6BAA/E,oBAAuC,4BAA3F,aAAsI,EAAnH,UAAgC,EAAyC,UAAuC,EAA/E,UAAuC,2BAVjG,8tBAAwD,GAKC,ouBAA+K,GAKlO,ouBAAsI,GAUoD,2EAA8C,cAAxO,aAAyO,EAA/C,UAA8C;oHA9JtP,sLAA2D,KAEvD,uZAAoF,IA8CpF,uZAAyE,IA4DzE,uZAAyE,iDA1GnB,mBAA6B,wBAAnF,YAAoF,EAA9B,SAA6B,GA8C9B,kCAAmB,GAAxE,YAAyE,EAApB,SAAmB,GA4DnB,kCAAmB,GAAxE,YAAyE,EAApB,SAAmB;;;;;;;;;;;;;;;;ACzG5E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEwC;AACvB;AACI;AACe;AAE/E;IA0BE,wCAAmB,oBAA0C,EAAU,YAA0B,EAAU,MAAqB;QAA7G,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAU,WAAM,GAAN,MAAM,CAAe;QApBhI,0BAAqB,GAAY,IAAI,CAAC;QACtC,qBAAgB,GAAY,KAAK,CAAC;QAClC,wBAAmB,GAAY,KAAK,CAAC;QACrC,4BAAuB,GAAY,KAAK,CAAC;QAEzC,iBAAY,GAAiB,IAAI,0EAAY,EAAE,CAAC;QAOhD,4BAAuB,GAAY,IAAI,CAAC;QAExC,8BAAyB,GAAY,KAAK,CAAC;QAE3C,oBAAe,GAAoB,IAAI,6EAAe,EAAE,CAAC;QACzD,+BAA0B,GAAY,IAAI,CAAC;QAClC,SAAI,GAAW,KAAK,CAAC;QAC9B,cAAS,GAA2B,IAAI,uFAAsB,EAAE,CAAC;QAE/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,iDAAQ,GAAR;QAEE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC1Z,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACpD,GAAG;IACL,CAAC;IAGD,8CAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAE9D,CAAC;IACD,iDAAQ,GAAR,UAAS,GAAG;QACV,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SACrC;aAAM,IAAI,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;SACxC;IACH,CAAC;IACD,kDAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;SAE5B;aAAM,IAAI,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;SAC5B;QACD,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,oBAAoB,GAAG,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC5a,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,kDAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,YAAY,GAAG,IAAI,0EAAY,EAAE,CAAC;YACvC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SACrC;aAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,6EAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;SACxC;IACH,CAAC;IACD,yDAAgB,GAAhB;QAAA,iBASC;QARC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,EAAE;YACtI,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SACnD;QACD,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,qBAAqB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAClG,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4DAAmB,GAAnB;QAAA,iBAOC;QANC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACxG,KAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACnC,KAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAgB,GAAhB;QAAA,iBAIC;QAHC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4DAAmB,GAAnB;QAAA,iBAIC;QAHC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpE,KAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,CAAC,WAAW,GAAgB;YAC9B,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAClL,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI;SAEzF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM,IAAI,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IAEH,CAAC;IACD,yDAAgB,GAAhB,UAAiB,GAAG;QAElB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;iBAC9E;gBACD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBACrE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACzE;oBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,2BAA2B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBAC5F;gBAED;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;4BAC9B,IAAI,CAAC,SAAS,GAAG,wEAAwE,CAAC;yBAC3F;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,yEAAyE,CAAC;yBAC5F;wBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC1C,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC;SACH;aAAM,IAAI,GAAG,IAAI,kBAAkB,IAAG,GAAG,IAAE,KAAK,EAAE;YACjD,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;iBAC9E;gBACD,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBACxE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACzE;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,2BAA2B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBAC/F;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;4BAC9B,IAAI,CAAC,SAAS,GAAG,wEAAwE,CAAC;yBAC3F;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,yEAAyE,CAAC;yBAC5F;wBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC7C,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC;SACH;IAGH,CAAC;IACD,uEAA8B,GAA9B,UAA+B,KAAK;QAClC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;aACtC;SACF;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvB;IACH,CAAC;IACD,0EAAiC,GAAjC,UAAkC,KAAK;QACrC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5D,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;aACzC;SACF;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;SACpC;IACH,CAAC;IAED,iDAAQ,GAAR,UAAS,GAAG;QACV,IAAI,GAAG,IAAI,eAAe,EAAE;YAC1B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;aAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE;YACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;SACzC;IACH,CAAC;IAED,2DAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,EAAE;YACpC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;SACjC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAG1B,CAAC;IAGD,8DAAqB,GAArB,UAAsB,QAAQ;QAC5B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,IAAI,CAAC,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC;SACpC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAG7B,CAAC;IAED,qDAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,4DAAmB,GAAnB,UAAoB,KAAsB;QACxC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,sDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACnC,CAAC;IACD,6DAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACnC,CAAC;IACD,6DAAoB,GAApB,UAAqB,IAAI;QAAzB,iBAmBC;QAlBC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,KAAK,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAErF,CAAC,CAAC,CAAC;IAEL,CAAC;IACH,qCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGC7TC,4LAA8I,KAC5I,uMAA2E,KACzE,8LAA0H,YAA/C;;wBAA8C;MAAzH,47BAA0H,mDAA1G,2BAA0B,EAAC,mBAA+B,gBAA1E,YAA0H,EAA1G,SAA0B,EAAC,SAA+B;wGAM1E,qLAAuI,KAErI,kLAAsD,KAAC,2QAA6H,YAAlC;;wBAA+B;MAA1H,wBAA6H,KACpL,4IAAsB,8HAAO,yFAAY;wGAJ7C,2LAAwF,KACtF,4YAAuI,IAMvI,gLAAoD,KACnD,0WAS0D,YAHxC;;wBAA+C;MAC/C;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MATzD,okDAS0D,mDAhBF,2GAA6E,IAAtI,YAAuI,EAA9E,SAA6E,GAQnH,mBAA2B,cAE3B,mBAAwB,eADxB,mBAAyB,aAGzB,mBAAwD,yCADxD,mBAAmB,UAJrC,YAS0D,EARxC,SAA2B,EAE3B,SAAwB,EADxB,SAAyB,EAGzB,SAAwD,EADxD,SAAmB;wGAuB9B,gyBAAoF,iFAEpF,2BAFkD,+HAAiC,GAAnF,YAAoF,EAAlC,2IAAiC,GAAnF,YAAoF,EAAlC,SAAiC,2BAAC,8EAEpF;wGAMJ,gLAAmF,KACjF,4IAAsB,KACtB,4IAAsB,wQAA8F,YAA5D;;wBAAgB;MAAlD,wBAA8F,mFAAM,MAC1H,4IAAsB,KAAC,yQAAqH,YAAxF;;wBAAiC;MAA9D,wBAAqH,iFAAI;wGAvBxJ,kLAA6E,KAC3E,+KAAmD,KACjD,4IAAsB,8HAAO,0FAAa,MAC1C,6LAAiE,KAAE,+NAAiE,YAAlB;;wBAAiB;MAAhE,wBAAiE,KAItI,iLAAoD,KAClD,iLAAoD,KAClD,sKAAyC,KACvC;;;;;wBAA8F;MAA/C;;wBAAqC;MAApF,isDAA8F,IAC5F,s0BAA8B,sGAA0B,MACxD,sdAAoF,IAKxF,sKAAyC,KACvC;;;;;;;;;;;wBAAsK;MAA/J;;wBAAmC;MAA2E;;wBAAuC;MAA5J,gvDAAsK,IAExK,6YAAmF,iDAVI,kBAAQ,EAA7F,aAA8F,EAAT,SAAQ,GAAhE,4BAAiB,EAAC,oBAAqC,0BAApF,aAA8F,EAAjE,SAAiB,EAAC,UAAqC,GAC1E,uBAAY,EAApB,aAA8B,EAAtB,oCAAY,EAApB,aAA8B,EAAtB,UAAY,GACZ,oBAAyC,mBAAjD,aAAoF,EAA5E,UAAyC,GAM0G,mBAAQ,EAArK,aAAsK,EAAT,UAAQ,GAA9J,oBAAmC,wBAA1C,aAAsK,EAA/J,UAAmC,GAEQ,oBAA8B,yBAAlF,aAAmF,EAA/B,UAA8B,2BAVhF,o0BAA8F,GAQ9F,o1BAAsK;wGAetK,uMAAyF,YAAlF;;wBAAiC;MAAxC,wBAAyF,2MAAyB;yGAClH,8KAA2E,KACzE;;;;;;;;;;;wBAA6J;MAAtJ;;wBAAmC;MAA2E;;wBAA8B;MAAnJ,4uDAA6J,iDAAT,kBAAQ,EAA5J,YAA6J,EAAT,SAAQ,GAArJ,mBAAmC,wBAA1C,YAA6J,EAAtJ,SAAmC,2BAA1C,2zBAA6J;yGAE/J,+LAA6G,KAC3G,yQAAoK,YAAvI;;;;wBAAgF;MAA7G,wBAAoK,iFAAI;yGAG5K,2LAA2F,sQAAsH,YAArC;;wBAAkC;MAAnH,wBAAsH;yGAO7M,gyBAAoF,iFAEpF,2BAFkD,+HAAiC,GAAnF,YAAoF,EAAlC,2IAAiC,GAAnF,YAAoF,EAAlC,SAAiC,2BAAC,8EAEpF;wGApBR,wKAAmE,KACjE,+KAAmD,KACjD,iMAAqE,KACnE,4YAAyF,IACzF,6YAA2E,IAG3E,6YAA6G,IAI/G,8YAA2F,IAE7F,iLAAmD,KACjD,kMAAqE,yFAAuG,MAC5K,kLAAoD,KAClD;;;;;wBAAqF;MAAtC;;wBAAqC;MAApF,4uCAAqF,IACnF,s1BAAgD,sGAA0B,MAC1E,udAAoF,IAKxF,qLAAwD,wQAAqJ,YAAnE;;;wBAAgE;MAAlJ,wBAAqJ,KAC7M,iLAAoD,2PAA0H,YAArD;;;wBAAkD;MAAvH,wBAA0H,KAGhL,kLAAoD,KAClD,iLAAoD,KACpD,gYAYuD,YALpC;;wBAAsD;MAEtD;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAZtD,uqDAYuD,MAGvD,gMAAkE,KAChE,kLAAoD,KAClD,oMAAuE,+HAAO,mFAAM,MACpF,uKAAyC,KACvC;;;;;wBAAqF;MAAtC;;wBAAqC;MAApF,4uCAAqF,IACnF,o0BAAuC,gFAAI,MAC3C,s0BAAyC,kFAAM,MAKrD,iLAAoD,KAClD,6IAAsB,KACtB,6IAAsB,wLAAsD,mFAAM,MAClF,6IAAsB,KAAC,+OAAgG,YAAxF;;wBAAiC;MAAzC,wBAAgG,iFAAI,mDAvDpF,oBAAyB,mBAAlE,YAAyF,EAAhD,SAAyB,GAChB,mBAAwB,mBAA1E,YAA2E,EAAzB,SAAwB,GAGP,4CAAyC,iBAA5G,YAA6G,EAA1C,SAAyC,GAI7E,0CAA2B,GAA5D,aAA2F,EAA1D,SAA2B,GAK7B,6BAAiB,EAAC,oBAAqC,0BAApF,aAAqF,EAAxD,UAAiB,EAAC,UAAqC,GAC1E,uBAAY,EAApB,aAAgD,EAAxC,oCAAY,EAApB,aAAgD,EAAxC,UAAY,GACZ,oBAAyC,mBAAjD,aAAoF,EAA5E,UAAyC,GAYlC,oBAA2C,8BAG3C,oBAA0B,iBAF1B,oBAAyC,6BAMzC,oBAA2C,sBAF3C,oBAAmB,UAHnB,oBAAwD,yCAExD,oBAAmB,UALtC,aAYuD,EAXpC,UAA2C,EAG3C,UAA0B,EAF1B,UAAyC,EAMzC,UAA2C,EAF3C,UAAmB,EAHnB,UAAwD,EAExD,UAAmB,GAcH,6BAAiB,EAAC,oBAAqC,0BAApF,aAAqF,EAAxD,UAAiB,EAAC,UAAqC,GAC1E,uBAAY,EAApB,aAAuC,EAA/B,oCAAY,EAApB,aAAuC,EAA/B,UAAY,GACZ,yBAAc,EAAtB,aAAyC,EAAjC,sCAAc,EAAtB,aAAyC,EAAjC,UAAc,mDApCuC,sJAAuG,GAE1K,0tBAAqF,GACrD,qBAAiB,EAA/C,aAAgD,EAAlB,UAAiB,GA+B7C,ouBAAqF,GAC9D,qBAAiB,EAAtC,aAAuC,EAAlB,UAAiB,GACf,qBAAiB,EAAxC,aAAyC,EAAlB,UAAiB;yGAepD,+KAA4E,KAC1E,+KAAmD,KACjD,4KAA2B,YAArB;;wBAAoB;MAA1B,wBAA2B,KAAC,yNAA+F,KAE7H,0LAA8D,KAE5D,m7CAKiC,iDAHlB,mBAAe,QACf,yBAAiB,EAEjB,qBAAiB,EAJjB,mBAAuB,EAGvB,uBAAoB,EAJnC,YAKiC,EAHlB,SAAe,EACf,SAAiB,EAEjB,SAAiB,EAJjB,SAAuB,EAGvB,SAAoB;yGAQnC,wLAA8E,KAC5E,uMAAuL,YAAlD;;wBAAiD;MAAtL,23CAAuL,mDAApK,mBAAoB,QAAC,yBAAkB,EAAC,2BAAmB,EAAC,2BAAsB,EAAC,mBAA8B,YAApI,YAAuL,EAApK,SAAoB,EAAC,SAAkB,EAAC,SAAmB,EAAC,SAAsB,EAAC,SAA8B;yGAGtI,8NAA+L,6GAE/L;yGAGA,+NAAgI,KAC9H,0LAAoE,6FAAgB;yGAO9E,kMAAuK;yGACvK,mMAA6K;yGAJjL,wSAAqL,YAA7D;;wBAAgC;MAAxJ,wBAAqL,KACnL,gNAAoF,8HAAO,qFAAQ,MACnG,8MAAkF,KAChF,6YAAuK,IACvK,6YAA6K,iDADvG,0HAA8F,IAApK,YAAuK,EAAjG,SAA8F,GAC7F,6HAAmG,IAA1K,YAA6K,EAAtG,SAAmG;yGAO1K,6LAAkK;yGAClK,8LAAwK;yGAJ5K,wSAAgL,YAA5B;;wBAA2B;MAA/K,wBAAgL,KAC9K,gNAAoF,8HAAO,gFAAG,MAC9F,8MAAkF,KAChF,6YAAkK,IAClK,6YAAwK,iDADvG,0HAA8F,IAA/J,YAAkK,EAAjG,SAA8F,GAC7F,6HAAmG,IAArK,YAAwK,EAAtG,SAAmG;yGASrK,qMAA2M;yGAC3M,sMAAiN;yGAYjN,mMAA6I;yGAC7I,oMAA6I;yGAM7I,oMAAgJ;yGAChJ,qMAAgJ;yGAhD1J,uMAA6F,KAC3F,6YAAgI,IAGhI,iLAAoD,KAClD,mLAAuD,KACrD,6YAAqL,IAQrL,6YAAgL,IASlL,oLAAuD,KACrD,ySAA8J,YAAtC;;wBAAqC;MAA7J,wBAA8J,KAC5J,+MAAkF,+HAAO,iGAAiI,MAC1N,+MAAkF,KAChF,8YAA2M,IAC3M,8YAAiN,IAGrN,ySAA0J,YAAlC;;wBAAiC;MAAzJ,wBAA0J,KAK5J,qLAAuD,KACrD,ySAA0J,YAAlC;;wBAAiC;MAAzJ,wBAA0J,KACxJ,iNAAoF,+HAAO,6FAAgI,MAC3N,+MAAkF,KAChF,8YAA6I,IAC7I,8YAA6I,IAGjJ,ySAA2J,YAAnC;;wBAAkC;MAA1J,wBAA2J,KACzJ,iNAAoF,+HAAO,8FAAoI,MAC/N,+MAAkF,KAChF,8YAAgJ,IAChJ,8YAAgJ,iDA/CrD,2CAA4B,GAA/H,YAAgI,EAA7B,SAA4B,GAK8B,0CAA2B,GAApL,YAAqL,EAA5B,SAA2B,GAQ9J,0CAA2B,GAAjD,YAAgL,EAA1J,SAA2B,GAa4B,2JAA+H,IAAxM,aAA2M,EAAlI,SAA+H,GAC9H,8JAAoI,IAA9M,aAAiN,EAAvI,SAAoI,GAYvI,oFAAmE,IAA1I,aAA6I,EAAtE,SAAmE,GAClE,mFAAkE,IAA1I,aAA6I,EAArE,SAAkE,GAMlE,uFAAqE,IAA7I,aAAgJ,EAAxE,UAAqE,GACpE,sFAAoE,IAA7I,aAAgJ,EAAvE,UAAoE,mDAvBtD,wKAAiI,GAa/H,2KAAgI,GAOhI,8KAAoI;yGAvDzO,gLAA6E,KAC3E,kjBAAoF,IAClF,6YAA8E,IAI9E,6YAA+L,IAIjM,6YAA6F,iDATxF,0DAAgD,GAArD,YAAoF,EAA/E,SAAgD,GACS,8BAAiB,GAA7E,YAA8E,EAAlB,SAAiB,GAIqB,uHAA4F,IAA9L,YAA+L,EAA7F,SAA4F,GAI3L,oBAAkB,YAAvB,YAA6F,EAAxF,SAAkB;yGA0DzB,mkBAAkK,IAChK,yMAA6E,KAG3E,sMAA0E,KACxE,iMAAqE,KACnE,yHAAO,gHAAmC,MAE5C,gLAAoD,KACpD,4PACqD,YAAhD;;;wBAA6C;MADlD,wBACqD,KAGvD,uLAA2D,KACzD,mMAAsE,KACpE,+LAAgG,YAAvD;;wBAAsD;MAA/F,w5BAAgG,MAElG,iLAAoD,KAClD,+TAS6D,YAD5C;;wBAA8C;MAC9C;;wBAA2C;MAT5D,6kDAS6D,MAOjE,mLAAsD,KACpD,kLAAqD,KACnD,oWAAsM,YAArJ;;wBAAwB;MAAzE,wBAAsM,0FAAa,mDApC/J,+DAAuD,GAAnH,YAAkK,EAAtG,SAAuD,GAe3F,yBAAwB,EAAxC,aAAgG,EAAhF,SAAwB,GAIvB,mBAAkC,qBAGlC,mBAAuB,cAFvB,mBAAiC,qBAGjC,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAkC,EAPnD,aAS6D,EAR5C,SAAkC,EAGlC,SAAuB,EAFvB,SAAiC,EAGjC,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EACnB,SAAkC,mDAzByD,oDAA6C,GAAjK,YAAkK,EAA9C,SAA6C;wGAtJnK,iLAA8E,KAC5E,4YAAmE,IAiEnE,6YAA4E,IAgB5E,6YAA6E,IAoE7E,6YAAkK,iDArJvH,mBAAuB,kBAAlE,YAAmE,EAAxB,SAAuB,GAiE5C,oBAAwB,kBAA9C,YAA4E,EAAtD,SAAwB,GAgBX,oBAAwB,kBAA3D,YAA6E,EAA1C,SAAwB,GAoEvB,mBAAuB,kBAA3D,YAAkK,EAA9H,SAAuB;yGAwEjD,0tBAAwF,iFAExF,2BAFoD,kIAAmC,GAAvF,YAAwF,EAApC,8IAAmC,GAAvF,YAAwF,EAApC,SAAmC,2BAAC,iFAExF;yGAPN,kMAA2G,KACzG,2LAA+D,yPAA0L,YAAtH;;;;wBAAmH;MAAvL,wBAA0L,KACzP,gMAAoE,KAClE,mNAA2G,KACzG,0wBAA6C,qGAAyB,MACtE,udAAwF,IAK5F,yMAA4E,KAC1E,uYAAwR,YAAnG;;;;wBAAqE;MAAC;;wBAA0B;MAArR,wBAAwR,kDAP9Q,mBAAS,EAAjB,YAA6C,EAArC,+BAAS,EAAjB,YAA6C,EAArC,SAAS,GACT,mBAA2C,sBAAnD,aAAwF,EAAhF,SAA2C,2BAF8B,2HAAuB,GAA1G,YAA2G,EAAxB,SAAuB,GAC7E,oBAAiB,EAA5C,YAA6C,EAAlB,SAAiB,GAOzB,2HAAuB,GAA5C,aAAwR,EAAnQ,SAAuB;yGAkB9C,iLAAyE,KACvE,4IAAsB,KACtB,qKAAyC,2OAAgH,YAA1D;;;wBAAyD;MAA/G,wBAAgH,mFAAM,MAC/J,qKAAyC,KAAC,8OAAuF,YAAzB;;wBAAwB;MAAtF,wBAAuF,iFAAI;yGApDnJ,mNAA+G,YAAnG;;wBAAgC;MAA5C,0bAA+G,MAC7G,gLAAsD,KACpD,6MAAiF,KAEjF,mLAAuD,KACrD,6MAAiF,KAE/E,yHAAO,8FAAiB,MAE1B,mLAAuD,iQAAwI,YAA5D;;;wBAAyD;MAArI,wBAAwI,KAGjM,mLAAqD,KACnD,kLAAoD,KAClD,gLAAmD,KACjD,kLAAqD,KACrD,wMAA2E,+HAAO,4FAAe,MACjG,yMAA4E,+HAAO,iFAAI,MAEzF,iLAAoD,KAClD,udAA2G,IAqB/G,kLAAoD,KAClD,yNAA4F,+HAAO,gKAA6C,IAChJ,4LAA8D,KAC5D,iLAAoD,KAClD;;;;;;;;;;;wBAA6Q;MAA/K;;wBAAmC;MAA+G;;wBAA4B;MAA5Q,8yCAA6Q,IAE/Q,iLAAoD,KAClD,uKAA0C,KAC1C,8YAAyE,iDAjDO,qBAAkB,EAAlG,mBAAgC,qBAA5C,YAA+G,EAAnB,SAAkB,EAAlG,SAAgC,GAoBmC,mBAAqC,oBAA1G,aAA2G,EAAtC,SAAqC,GAyBjC,kCAAsB,EAAC,oBAAmC,wBAAjI,aAA6Q,EAAtM,UAAsB,EAAC,UAAmC,GAI5E,oBAAmB,cAAxE,aAAyE,EAApB,UAAmB,mDAPuB,2MAA6C,GAG5I,wtBAA6Q;yGAmBzR,8MAAgG,YAApF;;wBAA2B;MAAvC,0bAAgG,MAC9F,gLAAsD,KACpD,6MAAiF,KAG/E,mLAAuD,KACrD,6MAAiF,KAE/E,yHAAO,yFAAY,MAErB,mLAAuD,iQAA+G,YAAnC;;wBAAgC;MAA5G,wBAA+G,KAExK,mLAAqD,KACnD,0MAA4E,KAC1E,8LAAiE,KAC/D,gMAAmE,+HAAO,0FAAa,MACvF,mMAAsE,KACpE,qOAAwG,8IAA+B,IAG3I,8LAAiE,KAC/D,gMAAmE,+HAAO,4FAAe,MACzF,mMAAsE,KACpE,qOAAwG,8IAAiC,IAG7I,8LAAiE,KAC/D,gMAAmE,+HAAO,wGAA2B,MACrG,mMAAsE,KACpE,qOAAwG,8IAAiC,IAG7I,8LAAiE,KAC/D,gMAAmE,+HAAO,gHAAmC,MAC7G,mMAAsE,KACpE,qOAAwG,8IAA0C,IAGtJ,8LAAiE,KAC/D,gMAAmE,+HAAO,qFAAQ,MAClF,mMAAsE,KACpE,qOAAwG,8IAA2B,IAIvI,8LAAiE,KAC/D,gMAAmE,+HAAO,0FAAa,MACvF,mMAAsE,KACpE,qPAA6J,8IAA6B,iDAhD3H,qBAAkB,EAAnF,mBAA2B,gBAAvC,YAAgG,EAAnB,SAAkB,EAAnF,SAA2B,mDAiB+E,+MAA+B,GAM/B,iNAAiC,GAMjC,iNAAiC,GAMjC,0NAA0C,GAM1C,2MAA2B,GAO3B,2DAAoD,GAA5J,aAA6J,EAArD,SAAoD,GAAC,6MAA6B;yGAWxM,4NAAkI,YAAtH;;wBAAqC;MAAjD,0bAAkI,MAChI,gLAAsD,KACpD,6MAAiF,KAGjF,mLAAuD,KACrD,6MAAiF,KAE/E,yHAAO,2GAA8B,MAEvC,mLAAuD,iQAAyH,YAA7C;;wBAA0C;MAAtH,wBAAyH,KAElL,kLAAqD,KACnD,kLAAqD,KACnD,kMAAwH,YAA5C;;wBAA2C;MAAvH,k9BAAwH,mDAdjB,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAcrB,mBAAY,QAAC,0BAAuB,EAAC,yBAAkB,EAA3E,aAAwH,EAApG,SAAY,EAAC,SAAuB,EAAC,SAAkB;yGAQnF,6NAAwI,YAA5H;;wBAAuC;MAAnD,0bAAwI,MAEtI,4LAA4G,YAAnD;;wBAAkD;MAA3G,+eAA4G,mDAFO,qBAAkB,EAA3H,mBAAuC,4BAAnD,YAAwI,EAAnB,SAAkB,EAA3H,SAAuC,GAE/B,iBAAY,EAAC,yBAAyB,EAAxD,YAA4G,EAA1F,SAAY,EAAC,SAAyB;yGAWtD,mLACuD,KACrD,6MAAiF,KAC/E,yJAAmC,0FAAa,MAElD,mLAAuD,iQAAqH,YAAzC;;wBAAsC;MAAlH,wBAAqH;yGAKtK,yJAA6E,sFAAS;yGACtF,yJAA8E,uFAAU;yGAJhG,+KAAmI,KACtI,kLAAsD,KAC7C,6MAAiF,KAC/E,6YAA6E,IAC7E,6YAA8E,IAEhF,mLAAuD,KACrD,4PAAqH,YAAzC;;wBAAsC;MAAlH,wBAAqH,kDAJ9G,uDAAyC,GAAhD,YAA6E,EAAtE,SAAyC,GACzC,wDAA0C,GAAjD,YAA8E,EAAvE,SAA0C;yGAhB7D,wNAAsH,YAA1G;;wBAAiC;MAA7C,0bAAsH,MACpH,+KAAsD,KACpD,6MAAiF,KAGjF,6YACuD,IAMvD,6YAAmI,IAanI,sLAAoJ,KAClJ,iLAAqD,KACnD,kMAA8I,YAA3C;;wBAA0C;MAA7I,09BAA8I,mDA3BnD,qBAAkB,EAAzG,mBAAiC,sBAA7C,YAAsH,EAAnB,SAAkB,EAAzG,SAAiC,GAMpC,+DAAiD,GADtD,YACuD,EAAlD,SAAiD,GAMH,qGAA+E,IAAlI,YAAmI,EAAhF,SAA+E,GAe1G,mBAAyB,iBAAC,0BAAuB,EAAC,mBAA4B,sBAAlG,aAA8I,EAA1H,SAAyB,EAAC,SAAuB,EAAC,SAA4B,mDAF5D,sHAAyG,GAAnJ,YAAoJ,EAA1G,SAAyG;yGAsB/I,4PAAwH,YAA5B;;wBAAyB;MAArH,wBAAwH;yGAG5H,iLAAsE,KACrE,iSAM0E,YAAxD;;wBAAuD;MANzE,w+CAM0E,mDALxD,mBAAmC,sBAGnC,mBAAwB,eAFxB,mBAAiC,qBACjC,mBAAwD,yCAExD,mBAAmB,UALrC,YAM0E,EALxD,SAAmC,EAGnC,SAAwB,EAFxB,SAAiC,EACjC,SAAwD,EAExD,SAAmB;yGAKtC,gLAAoE,KAClE,+JAAmC;yGA3BzC,oNAA0G,YAA9F;;wBAA6B;MAAzC,0bAA0G,MACxG,gLAAsD,KACpD,iLAAoD,KAClD,oLAAwD,KACtD,iMAAqE,KACnE,8LAAkE,8HAAO,6FAAgB,MACzF,mLAAuD,kQAAgI,YAApD;;;wBAAiD;MAA7H,wBAAgI,KAI3L,8PAAiI,KAC/H,0HAAO,yGAA4B,MACnC,8YAAwH,IAG5H,8YAAsE,IAWtE,8YAAoE,iDA1Be,qBAAkB,EAA7F,mBAA6B,kBAAzC,YAA0G,EAAnB,SAAkB,EAA7F,SAA6B,GAY2C,mBAAe,UAA3F,aAAwH,EAA5C,SAAe,GAG1C,oBAAgB,UAArE,aAAsE,EAAjB,SAAgB,GAWjB,mBAAe,UAAnE,aAAoE,EAAhB,SAAe;yGAYvE,6NAAwI,YAA5H;;wBAAuC;MAAnD,0bAAwI,MACtI,4LACoG,YAA5C;;wBAA2C;MADnG,smBACoG,mDAFe,qBAAkB,EAA3H,mBAAuC,4BAAnD,YAAwI,EAAnB,SAAkB,EAA3H,SAAuC,GAC/B,iBAAY,EAAC,yBAAmB,EAAC,+CAA+C,EAAC,oBAAa,EAC/G,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EADrC,YACoG,EADlF,SAAY,EAAC,SAAmB,EAAC,SAA+C,EAAC,SAAa,EAC/G,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;yGAIvC,8NAAyH,YAA7G;;wBAAwC;MAApD,+ZAAyH,MACvH,4LAC4G,YAApD;;wBAAmD;MAD3G,smBAC4G,mDAFlG,mBAAwC,6BAApD,YAAyH,EAA7G,SAAwC,GAChC,iBAAY,EAAC,0BAAoB,EAAC,gDAAgD,EAAC,oBAAa,EACjH,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EADrC,YAC4G,EAD1F,SAAY,EAAC,SAAoB,EAAC,SAAgD,EAAC,SAAa,EACjH,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;yGAKvC,0NAAyG,YAA7F;;wBAAmC;MAA/C,+ZAAyG,MACvG,wNAA+F,KAC7F,iMAAwE,KACtE,wJAAkC,4GAA+B,MAEnE,oKAA0C,KACxC,qLAAyD,0HAAG,oFAAO,MAAI,kGAA0B,MACjG,sLAAyD,2HAAG,oFAAO,MAAI,mIAA2D,MAClI,sLAAyD,2HAAG,oFAAO,MAAI,uGAA+B,MACtG,sLAAyD,2HAAG,oFAAO,MAAI,8LAAsH,MAC7L,sLAAyD,2HAAG,oFAAO,MAAI,8IAAsE,MAC7I,sLAAyD,2HAAG,oFAAO,MAAI,wJAAgF,MACvJ,sLAAyD,2HAAG,oFAAO,MAAI,2JAAmF,MAC1J,sLAAyD,2HAAG,oFAAO,MAAI,8IAAsE,MAC7I,sLAAyD,2HAAG,oFAAO,MAAI,yJAAiF,MACxJ,sLAAyD,2HAAG,qFAAQ,MAAI,8HAAsD,MAE9H,qMAAwE,KACtE,0HAAO,4FAAe,MAGxB,sLAAyD,2HAAG,0FAAa,MAAI,uIAA+D,MAC5I,sLAAyD,2HAAG,sFAAS,MAAI,iIAA0D,MACnI,sLAAyD,2HAAG,gGAAmB,MAAI,8IAAsE,MACzJ,sLAAyD,2HAAG,4FAAe,MAAI,0IAAkE,MACjJ,sLAAyD,2HAAG,4FAAe,MAAI,uIAA+D,MAC9I,sLAAyD,2HAAG,6FAAgB,MAAI,wIAAgE,mDA1B1I,mBAAmC,wBAA/C,YAAyG,EAA7F,SAAmC;8gBAjf/C,0LAA8D,KAE5D,4YAA8I,IAM9I,gMAAuG,KACrG,4YAAwF,IAuBxF,6YAA6E,IA6B7E,6YAA8E,IAqMlF,8YAA+G,IAgE/G,8YAAgG,IA2DhG,8YAAkI,IAsBlI,8YAAwI,IAQxI,8YAAsH,IAmCtH,8YAA0G,IAsC1G,8YAAwI,IAMxI,8YAAyH,IAOzH,8YAAyG,iDA/evC,2GAA6E,IAA7I,YAA8I,EAA9E,SAA6E,GAO5E,mBAAwB,mBAAvF,YAAwF,EAAzB,SAAwB,GAuBlC,mBAAuB,kBAA5E,aAA6E,EAAxB,SAAuB,GA6BvB,mBAAwB,mBAA7E,aAA8E,EAAzB,SAAwB,GAqMpC,mBAA0B,qBAAvE,aAA+G,EAAlE,SAA0B,GAgE/B,mBAAqB,gBAA7D,aAAgG,EAAxD,SAAqB,GA2DX,mBAA+B,0BAAjF,aAAkI,EAAhF,SAA+B,GAsB7B,mBAAiC,4BAArF,aAAwI,EAApF,SAAiC,GAQvC,mBAA2B,sBAAzE,aAAsH,EAAxE,SAA2B,GAmC/B,oBAAuB,kBAAjE,aAA0G,EAAhE,UAAuB,GAsCb,oBAAiC,4BAArF,aAAwI,EAApF,UAAiC,GAMhC,oBAAkC,6BAAvF,aAAyH,EAApE,UAAkC,GAOvC,oBAA6B,wBAA7E,aAAyG,EAAzD,UAA6B,mDAzevB,mDAAkD,GAAtG,YAAuG,EAAnD,SAAkD;;;;;;;;;;;;;;;;ACRxG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4H;AAC9E;AACsB;AACQ;AACD;AAE1B;AACQ;AACd;AACA;AAED;AACmC;AACb;AAEhC;AACoC;AAER;AACoC;AAEO;AAC5B;AAGjB;AAG1D;IAkGE,4BAAmB,oBAA0C,EAAU,KAAqB,EAAS,WAAwB,EAAU,eAAgC,EAAU,YAA0B,EACjM,iBAAsC,EAAU,MAAc,EAAU,MAAqB,EAAU,WAAwB,EAAU,gBAAkC,EAAU,eAAgC;QAD5M,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAS,gBAAW,GAAX,WAAW,CAAa;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,iBAAY,GAAZ,YAAY,CAAc;QACjM,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QA5F/N,kBAAa,GAAG,EAAE,CAAC;QACnB,qBAAgB,GAAY,IAAI,CAAC;QAEjC,sBAAiB,GAAW,EAAE,CAAC;QAI/B,aAAQ,GAAW,MAAM,CAAC;QAI1B,oBAAe,GAAY,KAAK,CAAC;QAGjC,aAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACpC,2BAAsB,GAAY,KAAK,CAAC;QAExC,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,oBAAe,GAAY,KAAK,CAAC;QAGjC,UAAK,GAAG,CAAC,CAAC;QACV,eAAU,GAAG,EAAE,CAAC;QAChB,yBAAoB,GAAG,EAAE,CAAC;QAC1B,mBAAc,GAAG,EAAE,CAAC;QACb,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QACvH,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,sFAAsF;QACrJ,yBAAoB,GAAW,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3F,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAE,6CAA6C;QACrG,uBAAkB,GAAW,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QACxF,kBAAa,GAAY,IAAI,CAAC;QAW9B,kBAAa,GAAY,KAAK,CAAC;QAC/B,uBAAkB,GAAY,KAAK,CAAC;QACpC,kBAAa,GAAY,KAAK,CAAC;QAC/B,oBAAe,GAAY,KAAK,CAAC;QACjC,wBAAmB,GAAY,KAAK,CAAC;QACrC,wBAAmB,GAAS,mBAAmB,CAAC;QAChD,qBAAgB,GAAY,KAAK,CAAC;QAClC,sBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5F,iBAAY,GAAG,CAAC,CAAC;QACjB,gBAAW,GAAG,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,gBAAW,GAAY,KAAK,CAAC;QAC7B,8BAAyB,GAAY,KAAK,CAAC;QAC3C,yBAAoB,GAAG,CAAC,CAAC;QACzB,4BAAuB,GAAY,KAAK,CAAC;QAKzC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,QAAG,GAAG,IAAI,0EAAW,EAAE,CAAC;QACxB,cAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACzC,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAGI,YAAO,GAAY,KAAK,CAAC;QAChC,oBAAe,GAAY,IAAI,CAAC;QAChC,8BAAyB,GAAY,KAAK,CAAC;QAC3C,sBAAiB,GAAG,CAAC,CAAC;QAGtB,iBAAY,GAAW,GAAG,CAAC;QAG3B,YAAO,GAAW,UAAU,CAAC;QAC7B,QAAG,GAAG,EAAE,CAAC;QACT,0BAAqB,GAAW,CAAC,CAAC;QAE3B,iBAAY,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAChD,+BAA0B,GAAY,KAAK,CAAC;QAC5C,0BAAqB,GAAY,KAAK,CAAC;QAE9B,eAAU,GAAG,CAAC,CAAC;QACf,qBAAgB,GAAY,KAAK,CAAC;QAGpC,cAAS,GAAY,KAAK,CAAC;QAGhC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,qCAAQ,GAAR;QAEE,IAAI,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,SAAS,EAAE;YACpG,IAAI,cAAc,GAAU,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAG,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7Y,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,iDAAoB,GAApB,UAAqB,QAA6B;QAChD,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,IAAI,QAAQ,CAAC,cAAc,IAAI,SAAS;YACxE,QAAQ,CAAC,cAAc,IAAI,IAAI,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE;YAClE,IAAI,QAAQ,CAAC,cAAc,IAAI,eAAe,EAAE;gBAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,MAAM,EAA1B,CAA0B,CAAC,CAAC;aACvF;iBAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,iBAAiB,EAAE;gBACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,QAAQ,EAA5B,CAA4B,CAAC,CAAC;aACzF;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAC/C;SAEF;aACI;YACH,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,SAAS,EAAE;gBAChG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;iBACI;gBACH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;aAC7C;SACF;IACH,CAAC;IACD,kCAAK,GAAL;QACE,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;SAC3D;IAEH,CAAC;IAED,2CAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAEhC,CAAC;IAED,6CAAgB,GAAhB;QAAA,iBAKC;QAJC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,CAAC,EAAjB,CAAiB,CAAE,CAAC;QAEjE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAI,GAAJ;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IACD,6CAAgB,GAAhB;QAAA,iBAoCC;QAnCC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YAED,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,KAAI,CAAC,QAAQ,GAAG,CAAC,KAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC;YAC/D,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC1C,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;QAErD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,UAAU,EAAE,uFAAmB;SAChC,CAAC;IAEJ,CAAC;IAED,6CAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QAChF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;YAChD,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACtE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF;QACD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;iBAClG;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;4BACnG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;4BACzF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;gCAC/B,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;gCAC1C,OAAO,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;4BACzD,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC;qBACF,CACF,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aACI;YACH,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC9D,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC3D,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACtE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBAClE,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC9D,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC5D;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,IAAG,WAAW,CAAC,EAAC,KAAI,EAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAG,YAAY,YAAC,MAAM;wBACtI,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;wBACzF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;4BAC/B,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;4BAC1C,OAAO,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;wBACzD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aAGF,CAAC;YAEF,IAAI,eAAe,GAAG,UAAU,MAAM;gBACpC,OAAO,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1E,CAAC,CAAC;SACH;IACH,CAAC;IAED,uDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,MAAI,GAAG,IAAI,CAAC;YAChB,UAAU,CAAC;gBACT,MAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;gBACxC,MAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC,EAAE,GAAG,CAAC,CAAC;SAET;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;SACzC;IACH,CAAC;IAED,0CAAa,GAAb,UAAc,MAAM,EAAE,IAAI;QAA1B,iBA8DC;QA7DC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;YAEhE,aAAa,CAAC,OAAO,CAAC,aAAG;gBACvB,IAAI,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3F,IAAI,UAAU,GAAG,uBAAuB,GAAG,GAAG,CAAC,YAAY,CAAC;gBAC5D,GAAG,CAAC,uBAAuB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;oBAC3D,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBACnC,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;oBAC9C,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;YAC1C,QAAQ,CAAC;YACT,IAAK,KAAI,CAAC,IAAI,IAAI,MAAM,EAAE;gBACxB,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,MAAM,EAA1B,CAA0B,CAAC,CAAC;aACvF;iBAAM,IAAI,KAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;gBAChC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,QAAQ,EAA5B,CAA4B,CAAC,CAAC;aACzF;iBAAM;gBACL,IAAI,KAAI,CAAC,MAAM,IAAI,aAAa,EAAE;oBAChC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC;oBAC9C,gCAAgC;oBAChC,2KAA2K;oBAC3K,GAAG;oBACH,uCAAuC;oBACvC,6KAA6K;oBAC7K,GAAG;oBACH,QAAQ;oBACR,6IAA6I;oBAC7I,GAAG;iBACJ;qBACI,IAAI,KAAI,CAAC,MAAM,IAAI,aAAa,EAAE;oBACrC,IAAI,IAAI,IAAI,eAAe,EAAE;wBAC3B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,EAAxE,CAAwE,CAAC,CAAC;qBACrI;yBACI,IAAI,IAAI,IAAI,iBAAiB,EAAE;wBAClC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,cAAc,IAAI,QAAQ,EAA1E,CAA0E,CAAC,CAAC;qBACvI;yBACI;wBACH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAI,CAAC,iBAAiB,EAA1C,CAA0C,CAAC;qBACtG;iBACF;qBAAM;oBACL,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,MAAM,EAA1B,CAA0B,CAAC,CAAC;iBACvF;aACF;YACD,IAAI,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,SAAS,EAAE;gBAC5G,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC9D,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAO,CAAC,UAAU,EAAE;4BAC9C,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;yBAEhD;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;QACD,CAAC,CAAC,CAAC;IACP,CAAC;IACD,0CAAa,GAAb,UAAc,MAAM;QAApB,iBAKC;QAJC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;YACvE,KAAI,CAAC,YAAY,GAAG,aAAa,CAAC;QAEpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,8CAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAElE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QAErB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,sDAAyB,GAAzB;QACE,QAAQ,CAAC;QACT,IAAI,CAAC,2BAA2B,GAAgB;YAC9C,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,uBAAuB,EAAE,IAAI;SACrR,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;SAEjB,CAAC;QAEF,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,SAAS,EAAE;YAC3H,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAGD,IAAI,CAAC,2BAA2B,CAAC,aAAa,GAAG;YAC/C,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,UAAU,EAAE,uFAAmB;SAChC,CAAC;IAGJ,CAAC;IAED,sDAAyB,GAAzB;QACI,IAAI,CAAC,0BAA0B,GAAG;YAChC;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,uBAAuB,EAAE,IAAI;gBAC7B,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;aACZ;YAED,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG;YAChE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG;YACzD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAC;YAChE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG;YACjD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5D;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;aAC/J;SACF,CAAC;IACN,CAAC;IACD,0CAAa,GAAb,UAAc,MAAM;IACpB,CAAC;IACD,yCAAY,GAAZ;QAAA,iBAkBC;QAjBC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,EAAE;YACxC,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1D,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,WAAW,CAAC,OAAO,CAAC,aAAG;gBACrB,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,KAAK,GAAG,EAAT,CAAS,CAAC,CAAC;gBACzD,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;YACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B;IAIH,CAAC;IAED,4CAAe,GAAf,UAAgB,UAAU;QAA1B,iBAcC;QAbC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,aAAG;YACjE,IAAI,GAAG,EAAE;gBACP,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC;gBAC1B,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,WAAW,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAA1C,CAA0C,CAAC,CAAC;gBAE1G,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI;gBACH,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAiB,GAAjB,UAAkB,gBAAgB;QAAlC,iBAkBC;QAjBC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,SAAS,EAAE;YAC1E,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC;SACvC;QACD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;YACpE,IAAI,aAAa,EAAE;gBACjB,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC9B,IAAI,gBAAgB,IAAI,IAAI,EAAE;oBAC5B,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;iBAC1C;gBAED,IAAI,KAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,IAAI,KAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,EAAE;oBAC9E,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;iBAC1B;aAEF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,EAAE;gBACnF,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;oBAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACjE;aACF;SACF;IACH,CAAC;IAED,iDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,IAAI,cAAc,EAAE;YAClE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,cAAc,CAAC;YAC9D,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7E;QACD,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACne,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC7I,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACzD,8CAA8C;YAE7C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;SAEtE;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;SAClC;QAED,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC;YAET,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACnC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IAGD,yDAA4B,GAA5B,UAA6B,MAAM;QAAnC,iBAqBC;QApBC,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACxE,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,OAAO,CAAC,UAAC,QAAQ;oBACxB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBACnG,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBACjC,KAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,UAAU,EAA9B,CAA8B,CAAC,CAAC;gBAClF,KAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,YAAY,EAAxB,CAAwB,CAAC,CAAC;gBAC5E,KAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,aAAa,EAAzB,CAAyB,CAAC,CAAC;aAC/E;iBACI;gBACH,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,KAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBAChC,KAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBAChC,KAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;aAClC;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAyB,GAAzB,UAA0B,KAAK;QAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;oBAChC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACzE;aACF;SACF;aACI;YACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;IACH,CAAC;IACD,uCAAU,GAAV,UAAW,GAAG;QAAd,iBA8EC;QA7EC,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,MAAI,GAAG,IAAI,CAAC;YAChB,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,MAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE;oBAClC,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,MAAI,CAAC,YAAY,GAAG,MAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAC/C,QAAQ,GAAG,MAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC7C,QAAQ,CAAC,OAAO,CAAC,aAAG;wBAClB,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC7B,CAAC,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/C,CAAC,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC;wBACzI,MAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAClN,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;gBACvH,IAAI,CAAC,GAAG,GAAG,IAAI,0EAAW,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAEvE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,aAAG;wBACpC,KAAI,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC7C,KAAI,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5C,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;oBACvD,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;oBAC1F,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAC/C,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;iBAC5E;qBAAM;oBACL,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;oBACvD,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;oBAC1F,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAC/C,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;iBAC5E;gBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aACrB;iBACI;gBACH,KAAK,CAAC,qBAAqB,CAAC,CAAC;aAC9B;SACF;aACI,IAAI,GAAG,IAAI,eAAe,EAAE;YAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;YAC/C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SACzD;aACI,IAAI,GAAG,IAAI,WAAW,EAAE;YAC3B,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC3E;iBACI;gBACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;YACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;SAChC;aACI,IAAI,GAAG,IAAI,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;gBACrE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC5E;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;YACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;SAChC;aACI,IAAI,GAAG,IAAI,WAAW,EAAE;YAC3B,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,sCAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kIAAkI,CAAC,CAAC;YACjL,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;aAAM,IAAI,GAAG,IAAI,KAAK,EAAE;YACvB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kIAAkI,CAAC,CAAC;YAC5K,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;aAAM,IAAI,GAAG,IAAI,iBAAiB,EAAE;YACnC,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kIAAkI,CAAC,CAAC;YAC1L,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;aAAM,IAAI,GAAG,IAAI,WAAW,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4JAA4J,CAAC,CAAC;YAC5M,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;aAAM,IAAI,GAAG,IAAI,eAAe,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,YAAY,EAAE;YAC9E,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kIAAkI,CAAC,CAAC;YACtL,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;aAAM,IAAI,GAAG,IAAI,cAAc,EAAE;YAChC,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uHAAuH,CAAC,CAAC;YAC7K,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;IACH,CAAC;IAED,gDAAmB,GAAnB;QAAA,iBAIC;QAHC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpE,KAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,EAAhB,CAAgB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAC,cAAc,GAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9C,IAAI,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aAChD,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,EAAE;aACV,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,6CAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAClD,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,CAAC,EAApB,CAAoB,CAAC,CAAC;YAEtE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,KAAK,EAAxB,CAAwB,CAAC,CAAC;gBAC1E,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,KAAK,WAAW,EAA7B,CAA6B,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1E,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBAC/B,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACnC;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;iBACpG;aAGF;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;aAClG;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAb,CAAa,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,CAAC;SAEzF;aAEI;YACH,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACrC;IACH,CAAC;IAED,yCAAY,GAAZ;QACE,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAG;YAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,KAAK,EAAxB,CAAwB,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAb,CAAa,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;IACzC,CAAC;IACD,6CAAgB,GAAhB,UAAiB,GAAG;QAElB,UAAU,CAAC;YACT,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACtL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,wCAAW,GAAX,UAAY,OAAO;QACf,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;IAEvD,CAAC;IACD,sDAAyB,GAAzB,UAA0B,GAAG;QAC3B,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC/C;aACI;YACH,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;SACxC;IACH,CAAC;IACD,+CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;SACxC;IACH,CAAC;IACD,0CAAa,GAAb;QAAA,iBAWC;QAVC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,KAAK,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAvC,CAAuC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,4BAA4B;QAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC;YACT,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACzC,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,sCAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QAEpC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEpC,CAAC;IACD,+CAAkB,GAAlB,UAAmB,aAAa;QAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,SAAS,EAAE;YAC1I,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzE,IAAI,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,IAAI,aAAa,EAAlB,CAAkB,CAAC,CAAC;YAEpF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,KAAK,CAAC,4BAA4B,CAAC,CAAC;aACrC;iBACI;gBACH,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC9B;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,aAAa,CAAC;YAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,8CAAiB,GAAjB,UAAkB,aAAa;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,SAAS,EAAE;YAC1I,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzE,IAAI,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,KAAK,aAAa,EAAnB,CAAmB,CAAC,CAAC;YAErF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SAClC;IAEH,CAAC;IAIH,qDAAwB,GAAxB;QAAA,iBA8CC;QA7CC,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAE5C;YAED,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAExG,KAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YAChI,KAAI,CAAC,oBAAoB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClM,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;YACpH,KAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAExL,KAAI,CAAC,QAAQ,GAAG,CAAC,KAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC;YAE/D,KAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,KAAI,CAAC,qBAAqB,IAAI,KAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvE,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aACzE;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAC,EAAE;aACrB;QAEH,CAAC,CAAC,CAAC;IAIL,CAAC;IAEC,qDAAwB,GAAxB;QAEE,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACxD,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACtE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF;QACD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QAEzC,IAAI,CAAC,kBAAkB,GAAG;YACxB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,uBAAuB,EAAE,IAAI;gBAC7B,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;aACZ;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAC,MAAM;oBACtF,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,CAAC;aACF;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;oBAClG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;oBAClG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;oBACrG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;oBACvH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBAExF,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;wBACnE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;wBACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;wBACxD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;qBACb;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACpF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;wBACvE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;wBACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;wBAC1D,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;qBACb;gBACH,CAAC;aAEF;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;oBACjG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC/G,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aACxE;YACD;gBACE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aACvF;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC5F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;SAEF,CAAC;IAEJ,CAAC;IAED,qCAAQ,GAAR,UAAS,GAAG,EAAE,IAAI;QAAlB,iBASG;QARD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,IAAI,EAAE,GAAG,KAAI;YACb,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAEvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAIL,2CAAc,GAAd,UAAe,YAAY;QACzB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0CAA0C,GAAG,YAAY,GAAG,2DAA2D,CAAC;QAC1I,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iMAAiM,CAAC,CAAC;IAC9N,CAAC;IAED,uDAA0B,GAA1B,UAA2B,KAAK;QAC9B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAC,EAAE,CAAC,CAAC;aAEpE;SACF;IACH,CAAC;IAID,4CAAe,GAAf;QACE,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,qDAAwB,GAAxB,UAAyB,OAAO;QAE9B,IAAI,CAAC,kBAAkB,GAAgB;YACrC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,IAAI;SACvR,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;YACjB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QAEF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACjG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;YACjB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,qDAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,qDAAwB,GAAxB,UAAyB,gBAAwB,EAAE,YAAY,EAAc,UAA2B;QAAvC,+CAAuC;QACtG,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,kBAAkB,GAAG;YAC3B;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,uBAAuB,EAAE,IAAI;gBAC7B,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;aACZ;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YACxD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,GAAG;YAC5D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,GAAG;YAC9D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG;YAChE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG;YACzD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,GAAG;YAClE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG;YACjD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG;YACjD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG;YAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YACzD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG;YACpD,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;YACvE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;YACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG;YAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG;YAC1D,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;YACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG;YAClD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG;YACtD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,GAAG;YACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG;YAC7D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG;YACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG;YAClD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG;YAC5D,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG;YAClE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG;YAChE,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG;YACpE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG;YAChE,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG;YACpE,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG;YAClE,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG;YACrE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,GAAG;YAChF,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG;YAC3D,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG;YACvD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG;YAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG;YACxD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG;SAC9D,CAAC;IACJ,CAAC;IAED,2CAAc,GAAd,UAAe,IAAI,EAAE,MAAM,EAAE,qBAA8B;QAA3D,iBASC;QARC,IAAI,CAAC,iBAAiB,CAAC,mCAAmC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAAG,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAErL,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACrB,OAAO,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACzE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAA4B,GAA5B,UAA6B,QAA6B;QACxD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzF,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;gBAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;aAC9E;SACF;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IAED,kDAAqB,GAArB,UAAsB,MAAM;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,mDAAsB,GAAtB,UAAuB,QAAQ;QAC7B,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;oBACtC,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;iBACjD;qBAAM;oBACL,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;iBAClD;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAE3C;IAEL,CAAC;IACD,qCAAQ,GAAR;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACvD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE;oBACjC,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAChE;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,wCAAW,GAAX;QACE,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;IACH,CAAC;IACH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGCx2CO,wKAAqF,KACnF,4IAAsB,KACpB;;;;;wBAAgH;MAAzF;;wBAA+B;MAAC;;wBAAwD;MAA/G,itCAAgH,IAElH,6IAAuB,KACrB,2MAAqG,YAAtD;;wBAAqD;MAApG,wBAAqG,mFAErG,2BALuB,kBAA+B,iCAAtD,YAAgH,EAAzF,SAA+B,2BAAtD,8sBAAgH,GAGzF,0HAAuB,GAA9C,YAAqG,EAA9E,SAAuB,GAAuD,uEAErG;mGAKJ,sKAA2E,KACzE,qHAAG,8FAAiB,MACpB;;;;;;;;;;;wBAAmL;MAA1H;;wBAAuB;MAAhF,iyCAAmL,iDAA3I,2BAAgB,EAAC,mBAAuB,YAAhF,YAAmL,EAA3I,SAAgB,EAAC,SAAuB,2BAAhF,8sBAAmL;mGAIrL,kLAAwE,KACtE,wPAA0F,YAApE;;wBAAuB;MAA7C,wBAA0F,iFAAI;mGAEhG,kLAAsG,KACpG,wPAAwF,YAAlE;;wBAAqB;MAA3C,wBAAwF,kFAAK;mGAjCrG,ylBACyD,IACvD,uMAA2E,KACzE,oNAAwF,kFAExF,MACA,sKAA0C,KACxC,+OAAyF,YAApF;;wBAAuB;MAA5B,wBAAyF,KAG7F,yKAA4C,KACxC,+cAAqF,IAWvF,uLAA0D,KACxD,uYAA2E,IAK7E,wLAA2D,KACzD,uYAAwE,IAGxE,uYAAsG,iDAhCtG,+KAA8H,IAApI,YACyD,EADnD,SAA8H,GAWvG,mBAAyC,uBAAhE,YAAqF,EAA9D,SAAyC,GAY3D,+CAAgC,GAArC,aAA2E,EAAtE,SAAgC,GAMf,gCAAiB,GAAvC,aAAwE,EAAlD,SAAiB,GAGjB,sEAA+C,IAArE,aAAsG,EAAhF,SAA+C,mDA7BiB,uDAExF;mGAwDI,0JAAkE,uMAAqB;mGACvF,0JAAkE,uMAAqB;mGAFzF,2LAAiF,KAC/E,sYAAkE,IAClE,sYAAkE,iDAD5D,4CAA6B,GAAnC,YAAkE,EAA5D,SAA6B,GAC7B,4CAA6B,GAAnC,YAAkE,EAA5D,SAA6B;oGAKL,0JAAoE,+EAAE;oGAFpG,6IAAuE,KACnE,wKAAgG,kFACtE,6YAAoE,yBAA9D,qDAA+B,GAArC,YAAoE,EAA9D,SAA+B,2BADzD,4HAAiC,GAAkB,oIAAsC,GAA/F,YAAgG,EAA1F,SAAiC,EAAkB,SAAsC,GAAC,uEACtE;oGAML,0JAA+D,+EAAE;oGAH1F,6IAA6D,KACzD,4NACkG,YAAhG;;wBAA+F;MADjG,wBACkG,kFAC7E,6YAA+D,yBAAzD,qDAA0B,GAAhC,YAA+D,EAAzD,SAA0B,2BAF/C,4HAA4B,GAAkB,oIAAiC,GAArF,YACkG,EAD5F,SAA4B,EAAkB,SAAiC,GACa,uEAC7E;mGAlCjC,i7BAEuF,GADlF,6EAA2D,MAE9D,wPAA4H,4FAE5H,MACA,uLAA0D,KACxD,sKAA0C,KACxC,uMAA2E,KACzE,8PAAyG,YAApG;;wBAAwB;MAA7B,wBAAyG,KAE3G,uKAA0C,KACxC,uPAA8F,YAAzF;;wBAAqB;MAA1B,wBAA8F,KAEhG,oLAAuD,KACrD,8OAAsF,YAAjF;;wBAAsB;MAA3B,wBAAsF,KAI1F,yiBACgE,GADzC,8EAA2D,MAEhF,uYAAiF,IAIjF,4PAA+H,KAC7H,idAAuE,IAKvE,idAA6D,iDA/BhE,+KAA8H,IAAnI,YAEuF,EAFlF,SAA8H,GAC9H,4DAA2D,IADhE,YAEuF,EADlF,SAA2D,GAkBrC,6DAA2D,IAAlF,aACgE,EADzC,SAA2D,GAEzD,mBAAiB,YAAxC,aAAiF,EAA1D,SAAiB,GAKf,mBAA+C,wBAAtE,aAAuE,EAAhD,SAA+C,GAK/C,mBAAqC,mBAA5D,aAA6D,EAAtC,SAAqC;oGAkBhE,sKAAwD,KACtD,+OAAyF,YAApF;;wBAAuB;MAA5B,wBAAyF;oGAQzF,oLAAmF,+NAEnF;oGALF,wHAAwD,KACtD,qKAAyC,KAEzC,uYAAmF,IAGnF,yLAA4D,KAC1D,qKAAyC,KACvC,wHAAM,qFAA6E,MAErF,qKAAyC,KACvC,sJAAgC,KAC9B,+IAAwB,gJAExB,IACA,sHAAG,mFAEH,mDAd+B,qCAA0B,iBAA/D,YAAmF,EAA9C,SAA0B,2BAKrD,yKAA6E,GAIzD,2OAExB,GACG,sEAEH;oGAOV,uKAA+D,KAC7D,sKAA0C,KACxC;;;;;;;;;;;wBACiH;MAAnD;;wBAAwB;MADtF,iyCACiH,IAEjH,sPAA8F,YAAxE;;wBAAuB;MAA7C,wBAA8F,KAC5F,sHAAK,+EAAE,6HAAK,+EACX,6HAAK,+EACL,6HAAK,+EACL,6HAAK,kDAP4C,4BAAiB,EACP,mBAAwB,aADtF,YACiH,EAD7D,SAAiB,EACP,SAAwB,2BADtF,8sBACiH;oGAxCvH,m4BAEyC,GADpC,kGAAmG,MAEtG,0MAA8E,KAC5E,wMAA4E,4FAE5E,MACA,uYAAwD,IAK1D,+MAAoF,KAClF,idAAwD,IAwB1D,wYAA+D,iDArC5D,+KAA8H,IAAnI,YAEyC,EAFpC,SAA8H,GAC9H,0FAAmG,IADxG,YAEyC,EADpC,SAAmG,GAM9E,oBAAa,OAAnC,YAAwD,EAAlC,SAAa,GAM9B,mBAAkD,mBAAvD,aAAwD,EAAnD,SAAkD,GAwBjC,mBAAmB,cAA3C,aAA+D,EAAvC,SAAmB;+QAvH/C,wKAA4C,KAC1C,sYACyD,IAsCzD,sYAEuF,IAwCvF,uYAEyC,iDAlFG,mBAAY,OADxD,YACyD,EAAb,SAAY,GAwCkB,mBAAY,OAFtF,YAEuF,EAAb,SAAY,GA0C1D,mBAAY,OAFxC,YAEyC,EAAb,SAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFsC;AAC5C;AAIiB;AACwB;AAE9B;AACW;AAEU;AACb;AACN;AACmB;AACJ;AACb;AACR;AAC3C;IAoCE,uBAAoB,MAAqB,EAAS,gBAAkC,EAAU,QAAqB,EAAU,WAAiC,EAAU,WAAwB,EAAU,OAAe,EAAS,MAAiB,EAAS,YAAkC,EACpR,eAAgC;QADtB,WAAM,GAAN,MAAM,CAAe;QAAS,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,gBAAW,GAAX,WAAW,CAAsB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,YAAO,GAAP,OAAO,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAW;QAAS,iBAAY,GAAZ,YAAY,CAAsB;QACpR,oBAAe,GAAf,eAAe,CAAiB;QA9B1C,YAAO,GAAG,IAAI,uDAAO,EAAE,CAAC;QACxB,kBAAa,GAAqB,EAAE,CAAC;QACrC,qBAAgB,GAAoB,EAAE,CAAC;QACvC,2BAAsB,GAAoB,EAAE,CAAC;QAC7C,0BAAqB,GAAoB,EAAE,CAAC;QAC5C,yBAAoB,GAAoB,EAAE,CAAC;QAC3C,YAAO,GAAc,IAAI,4DAAS,EAAE,CAAC;QAErC,wBAAmB,GAAoB,EAAE,CAAC;QAAC,WAAM,GAAG,EAAE,CAAC;QACvD,eAAU,GAAW,EAAE,CAAC;QAAQ,qBAAgB,GAAQ,EAAE,CAAC;QAC3D,aAAQ,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QACnD,aAAQ,GAAG,IAAI,KAAK,EAAW,CAAC;QAChC,qBAAgB,GAAG,IAAI,KAAK,EAAe,CAAC;QAC5C,WAAM,GAAY,KAAK,CAAC;QAAC,kBAAa,GAAG,EAAE,CAAC;QACrC,aAAQ,GAAG,KAAK,CAAC;QAAQ,cAAS,GAAG,EAAE,CAAC;QAAQ,aAAQ,GAAG,EAAE,CAAC;QAAQ,WAAM,GAAG,CAAC,CAAC;QAAO,kBAAa,GAAG,EAAE,CAAC;QAC5G,eAAU,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QAAQ,oBAAe,GAAQ,EAAE,CAAC;QACrD,SAAI,GAAG,EAAE,CAAC;QAAC,kBAAa,GAAW,CAAC,CAAC;QACrC,eAAU,GAAW,EAAE,CAAC;QACxB,sBAAiB,GAAG,GAAG,CAAC;QAAQ,gBAAW,GAAG,EAAE,CAAC;QACxD,kBAAa,GAAY,KAAK,CAAC;QAC/B,gBAAW,GAAY,IAAI,CAAC;QAE5B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,WAAM,GAAG,EAAE,CAAC;QAAC,aAAQ,GAAW,EAAE,CAAC;QAAC,eAAU,GAAW,EAAE,CAAC;QAAC,qBAAgB,GAAW,EAAE,CAAC;QAAmB,sBAAiB,GAAW,EAAE,CAAC;QACtI,YAAO,GAAG,CAAC;QACoB,iBAAY,GAAG,EAAE,CAAC;QAAC,oBAAe,GAAG,EAAE,CAAC;QAEvE,SAAI,GAAY,KAAK,CAAC;QAAQ,SAAI,GAAY,KAAK,CAAC;QAAQ,SAAI,GAAY,KAAK,CAAC;QAGvF,IAAI,CAAC,YAAY,GAAG,IAAI,iDAAY,EAAE,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,gCAAQ,GAAR;QAAA,iBAaC;QAZC,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6BAAK,GAAL,UAAM,GAAG;QACP,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;SAC5D;aACI;YACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;SACvF;IACH,CAAC;IACD,gCAAQ,GAAR;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1F,CAAC;IACD,mCAAW,GAAX,UAAY,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU;QAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;YAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SAAE;QAC9G,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QAEtB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,8BAAM,GAAN,cAAY,CAAC;IACb,oDAA4B,GAA5B,UAA6B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM;QAArE,iBA6BC;QA5BC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC/D,QAAQ,CAAC,OAAO,CAAC,cAAI;gBACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnG,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,IAAI,OAAO,EAAE;gBACrB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAhC,CAAgC,CAAC,CAAC;aACtE;YACD,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,GAAG,EAAE;gBACnC,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;aAClC;iBAAM;gBACL,KAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC;gBACvC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,sBAAsB,CAAC;gBACpD,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpC,IAAI,MAAM,IAAI,OAAO,EAAE;wBACrB,IAAI,SAAO,GAAG,KAAI,CAAC;wBACnB,CAAC,CAAC,UAAU,CAAC;4BACX,CAAC,CAAC,GAAG,GAAG,SAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;wBACvE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;qBACT;iBACF;aACF;YACD,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAChB,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;aAC/D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,iCAAS,GAAT;QAAA,iBAoBC;QAnBC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC5C,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAA3B,CAA2B,CAAC,CAAC;YAC9E,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAA3B,CAA2B,CAAC,CAAC;YAC/F,KAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAI;gBACpC,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBACxB,IAAI,CAAC,YAAY,GAAG,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC5E,IAAI,IAAI,CAAC,YAAY,EAAE;wBACrB,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBACpC;iBACF;qBAAM;oBACL,IAAI,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAC3E;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC;IACD,mCAAW,GAAX;QAEI,IAAI,OAAO,GAAG,IAAI,+DAAW,EAAE,CAAC;QAChC,OAAO,CAAC,cAAc,GAAE,GAAG,CAAC;QAC5B,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;QACtB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,OAAO,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjD,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QACvD,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACpF,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;YACvE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3F,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,EAAE;gBAC7B,IAAI,IAAE,GAAG,IAAI,CAAC;gBACd,CAAC,CAAC,UAAU,CAAC;oBACX,IAAI,IAAE,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,EAAE;wBAC3B,IAAE,CAAC,SAAS,GAAG,KAAK,CAAC;wBACrB,IAAE,CAAC,4BAA4B,CAAC,IAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;qBAEjF;yBACI;wBACH,IAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAE,CAAC,MAAM,EAAE,IAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;4BACxH,IAAE,CAAC,gBAAgB,GAAG,QAAQ,CAAC;wBACjC,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACT;SACF;aACI;YACH,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5F,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpB,IAAI,IAAE,GAAG,IAAI,CAAC;gBACd,CAAC,CAAC,UAAU,CAAC;oBACX,IAAE,CAAC,4BAA4B,CAAC,IAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAE,CAAC,QAAQ,EAAE,CAAC,EAAC,EAAE,CAAC,CAAC;oBAC1E,CAAC,CAAC,UAAU,CAAC;wBACX,CAAC,CAAC,GAAG,GAAG,IAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC/C,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACV,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,GAAG;IACL,CAAC;IAEM,4BAAI,GAAX;QACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,oCAAY,GAAZ;QAAA,iBAaC;QAZC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzF,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC5C,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YACrC,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAA3B,CAA2B,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6BAAK,GAAL;QACE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,oCAAY,GAAZ,UAAa,IAAS,IAAI,CAAC;IAC3B,sCAAc,GAAd,UAAe,IAAS,IAAI,CAAC;IAC7B,mCAAW,GAAX,UAAY,KAAU,IAAI,CAAC;IAC3B,qCAAa,GAAb,UAAc,KAAU,IAAI,CAAC;IAC7B,wCAAgB,GAAhB,UAAiB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS;QAC5D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,uCAAe,GAAf,UAAgB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;QAA9C,iBAiBC;QAhBC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE;YACvB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACxG,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBACjC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,GAAE,GAAG,GAAC,KAAI,CAAC,IAAI,GAAC,GAAG,GAAC,KAAI,CAAC,IAAI,GAAC,GAAG,GAAC,KAAI,CAAC,IAAI,CAAC,CAAC;gBACjF,IAAI,KAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC9D,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;oBAC5C,CAAC,CAAC,GAAG,GAAG,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;oBACjE,IAAI,MAAM,IAAI,MAAM,EAAE;wBACpB,CAAC,CAAC,GAAG,GAAG,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;qBAChD;iBACF;YAEH,CAAC,CAAC,CAAC;SAEJ;IACH,CAAC;IACD,mCAAW,GAAX;QAAA,iBAUC;QARC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,IAAI,IAAK,QAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,6DAAI,MAAM,GAAE,IAAI,EAAC,CAAC,EAApD,CAAoD,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1I,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACvD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC/C,KAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iCAAS,GAAT;QAAA,iBAqBC;QApBC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3H,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SACvD;aACI;YACH,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC7G,IAAI,QAAQ,EAAE;oBACZ,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,wCAAwC,CAAC,CAAC;oBAC5E,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,yBAAyB,EAAE,gDAAgD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACxJ,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;iBAE1B;qBACI;oBACH,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC3H,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;oBAAC,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;iBACvD;YACH,CAAC,CAAC;SACH;IAEH,CAAC;IACD,sCAAc,GAAd,UAAe,YAAoB;QACjC,IAAI,YAAY,KAAK,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,IAAM,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACxE,IAAM,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,CACL,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;YACrC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE;YAC/B,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,CAC9B,CAAC;IACJ,CAAC;IACD,uCAAe,GAAf,UAAgB,MAAM,EAAE,QAAQ,EAAE,MAAM;QACtC,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;gBAChC,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrC;iBAAM;gBACL,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;gBAC5C,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACvC;aACF;SACF;aAAM;YACL,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACzD,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;gBACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrC;SACF;IACH,CAAC;IACD,gCAAQ,GAAR,UAAS,OAAO,EAAE,OAAO,EAAE,KAAK;QAAhC,iBAiCC;QAhCC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAAC,IAAI,YAAY,GAAG,EAAE,CAAC;QAC7E,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,IAAI,IAAK,QAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,6DAAI,MAAM,GAAE,IAAI,EAAC,CAAC,EAApD,CAAoD,EAAE,EAAE,CAAC,CAAC;QAC/G,6BAA6B;QAE5B,yBAAyB;QACxB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC5C,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACjC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAA3B,CAA2B,CAAC,CAAC;YACvF,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAI;gBAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACN,IAAI;QACH,QAAQ;QACR,uBAAuB;QACvB,4BAA4B;QAC5B,gDAAgD;QAChD,mEAAmE;QACnE,SAAS;QACT,YAAY;QAEZ,GAAG;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,UAAU,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,YAAE;gBACrB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IACD,kCAAU,GAAV;QACE,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,EAAE,0BAA0B,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,sLAAsL,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACxZ;aAAM;YACL,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACrC;IAEH,CAAC;IACD,sCAAc,GAAd,UAAe,YAAoB;QACjC,kDAAkD;QAClD,IAAI,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACrD,8DAA8D;QAC7D,uDAAuD;QACvD,+DAA+D;QAE/D,IAAM,SAAS,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,UAAU,CAC/C,CAAC,kBAAkB,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,oEAAoE;QAEpE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;YACvG,yCAAyC;YACzC,mBAAmB;YACnB,oDAAoD;YACpD,uBAAuB;YACvB,UAAU;YACR,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAChC,GAAG;SACJ;aAAM;YACL,OAAO,IAAI,CAAC,iBAAiB,CAAC;SAC/B;IACH,CAAC;IACH,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qHCpYS,4NAAiH,KAC/G,4IAAsB,mQAA2G,YAA7B;;wBAA0B;MAAxG,wBAA2G,KACjI,sKAAyC,KACvC;;;;;wBAEkE;MAFjB;;wBAA0B;MAErD;;wBAA2C;MAFjE,uwEAEkE,iDAF5C,mBAA0B,oBAC1B,mBAA6B,mBADnD,YAEkE,EAF5C,SAA0B,EAC1B,SAA6B,GAAC,wBAAY,EADf,oBAA0B,eAA3E,aAEkE,EADd,UAAY,EADf,UAA0B,2BAA3E,m0BAEkE;qHAQtE,kPAAuI,KACrI,8JAAwC,2GAA8B,MACtE,8SAAoJ,YAAtB;;wBAAqB;MAAnJ,wBAAoJ,KAClJ,qHAAG,KACD,2LAAiE;qHAWnE,sZAe0D,YAPzC;;wBAA+C;MAC/C;;wBAA+C;MAC/C;;wBAA+C;MAE/C;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAwC;MAfzD,gwDAe0D,mIAbzC,mBAAgC,mBAGhC,mBAAoB,WAFpB,mBAA8B,kBAG9B,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAInB,oBAAsC,EAXvD,YAe0D,EAbzC,SAAgC,EAGhC,SAAoB,EAFpB,SAA8B,EAG9B,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EAInB,SAAsC;qHAZzD,iLAAsF,KACpF,wZAe0D,iDAfjB,0FAAiE,IAA1G,YAe0D,EAfjB,SAAiE;qHAkB5G,+IAA0D,KACxD,mLAAiD,YAA3C;;wBAA0C;MAAhD,umBAAiD;qHArBrD,+PAAsN,YAA3B;;wBAA0B;MAArN,wBAAsN,KACpN,wZAAsF,IAmBtF,wZAA0D,iDAnBL,+CAAgC,GAArF,YAAsF,EAAjC,SAAgC,GAmBhF,+CAAgC,GAArC,YAA0D,EAArD,SAAgC;qHAajC,4KAAuE,wDAAlE,mBAAgB,WAArB,YAAuE,EAAlE,SAAgB;sHAKnB,mNAA2G;qHAF7G,oNAA0G,KAExG,yZAA2G,iDAApB,oBAAiB,WAAxG,YAA2G,EAApB,SAAiB;sHAG1G,wTAA6M,6FAAgB;sHAkM3N,uHAAqD,KACnD,wHAAM,sPAAmD;sHAS3D,uHAA8D,KAC5D,wHAAM,uLAAyB;sHASjC,uHAAkE,KAChE,wHAAM,sPAAmD;qHAlOnE,wNAA2G,KACzG,oKAAwC,KACtC,mLAAuD,KACrD,wZAAuE,IACvE,sUAA2J,YAA3E;;wBAA2B;MAA3G,wBAA2J,KAE3J,wZAA0G,IAI1G,0UAA+J,YAA3E;;wBAA2B;MAA/G,wBAA+J,KAC/J,0ZAA6M,IAGjN,+PAAgI,KAE9H,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,mFAAM,MAEf,6IAAsB,KACpB,yHAAM,iFAAkB,MAG5B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,wFAAW,MAEpB,6IAAsB,KACpB,yHAAM,iFAAkB,MAG5B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,yFAAY,MAErB,6IAAsB,KACpB,yHAAM,iFAAmB,MAG7B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB,yHAAM,iFAAiB,MAG3B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,oFAAO,MAEhB,6IAAsB,KACpB,yHAAM,iFAAmB,MAG7B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,yFAAY,MAErB,6IAAsB,KACpB,yHAAM,iFAAmB,MAG7B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB,yHAAM,iFAAiB,MAG3B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,0FAAa,MAEtB,6IAAsB,KACpB,yHAAM,iFAA+C,MAGzD,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,+FAAkB,MAE3B,6IAAsB,KACpB,yHAAM,iFAAsB,MAGhC,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,yFAAY,MAErB,6IAAsB,KACpB,yHAAM,iFAAqC,MAG/C,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,2FAAc,MAEvB,6IAAsB,KACpB,yHAAM,iFAAqB,MAG/B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,6FAAgB,MAEzB,6IAAsB,KACpB,yHAAM,iFAAsB,MAGhC,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,6FAAgB,MAEzB,8IAAsB,KACpB,0HAAM,kFAAsB,MAGhC,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,sFAAS,MAElB,8IAAsB,KACpB,0HAAM,kFAAiB,MAG3B,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,iGAAoB,MAE7B,8IAAsB,KACpB,0HAAM,kFAA8C,MAGxD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,2FAAc,MAEvB,8IAAsB,KACpB,0HAAM,kFAA8C,MAGxD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,4FAAe,MAExB,8IAAsB,KACpB,0HAAM,kFAA2C,MAGrD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,6FAAgB,MAEzB,8IAAsB,KACpB,0HAAM,kFAA0C,MAGpD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,wGAA2B,MAEpC,8IAAsB,KACpB,0HAAM,kFAAsB,MAGhC,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,gGAAmB,MAE5B,8IAAsB,KACpB,0HAAM,kFAA8B,MAGxC,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,oFAAO,MAEhB,8IAAsB,KACpB,0HAAM,kFAAc,MAGxB,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,sFAAS,MAElB,8IAAsB,KACpB,0HAAM,qFAAQ,MAGlB,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,iGAAoB,MAE7B,8IAAsB,KACpB,0HAAM,uFAAoF,MAG9F,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,yFAAY,MAErB,8IAAsB,KACpB,oeAAqD,IAKzD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,+FAAkB,MAE3B,8IAAsB,KACpB,oeAA8D,IAKlE,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,sGAAyB,MAElC,8IAAsB,KACpB,oeAAkE,iDA9Nd,mBAAgB,WAAtE,YAAuE,EAAjB,SAAgB,GAGkB,oBAAiB,WAAzG,YAA0G,EAAlB,SAAiB,GAKmF,mBAAgB,WAA5M,aAA6M,EAAjB,SAAgB,GAkMrM,oBAA+C,qBAApD,cAAqD,EAAhD,UAA+C,GAU/C,oBAAwD,8BAA7D,cAA8D,EAAzD,UAAwD,GAUxD,oBAA4D,kCAAjE,cAAkE,EAA7D,UAA4D,mDA5M3D,4DAAkB,GAQlB,4DAAkB,GAQlB,6DAAmB,GAQnB,2DAAiB,GAQjB,6DAAmB,GAQnB,6DAAmB,GAQnB,2DAAiB,GAQjB,gGAA+C,GAQ/C,kEAAsB,GAQtB,sFAAqC,GAQrC,iEAAqB,GAQrB,kEAAsB,GAQtB,mEAAsB,GAQtB,8DAAiB,GAQjB,gGAA8C,GAQ9C,gGAA8C,GAQ9C,6FAA2C,GAQ3C,4FAA0C,GAQ1C,mEAAsB,GAQtB,2EAA8B,GAQ9B,2DAAc,GAgBd,uKAAoF;sHA2CtG,yNAA+G,KAC3G,gQAAoI,KACnI,qHAAG,yFAAY,MAElB,iPAAmH,KACjH,+RAAsN,YAA5H;;wBAA0C;MAApI,wBAAsN,KACpN;;;;;;;;;;;;;;;;;wBAA+I;MAA1C;;wBAA+B;MAApI,q3DAA+I,IAC/I,iPAA2G,YAA3C;;wBAA0C;MAA1G,wBAA2G,yFAAY,MAEzH,gSAAoN,YAA1H;;wBAAyC;MAAnI,wBAAoN,KAClN;;;;;;;;;;;;;;;;;wBAA+I;MAA1C;;wBAA+B;MAApI,u3DAA+I,IAC/I,iPAA0G,YAA1C;;wBAAyC;MAAzG,wBAA0G,yFAAY,MAExH,gSAA0M,YAAhH;;wBAAoC;MAA9H,wBAA0M,KACxM;;;;;;;;;;;;;;;;;wBAAwI;MAAxD;;wBAA+B;MAA/G,u3DAAwI,IACxI,oPAAwG,YAArC;;wBAAoC;MAAvG,wBAAwG,mFAAM,MAGhH,gSAA4N,YAAlI;;wBAA6C;MAAvI,wBAA4N,KAC1N;;;;;;;;;;;;;;;;;wBAAwI;MAAxD;;wBAA+B;MAA/G,u3DAAwI,IACxI,oPAAiH,YAA9C;;wBAA6C;MAAhH,wBAAiH,6FAAgB,MAGnI,gSAAsN,YAA5H;;wBAA0C;MAApI,wBAAsN,KACpN;;;;;;;;;;;;;;;;;wBAAwI;MAAxD;;wBAA+B;MAA/G,u3DAAwI,IACxI,oPAA8G,YAA3C;;wBAA0C;MAA7G,wBAA8G,0FAAa,MAG7H,gSAAgN,YAAtH;;wBAAuC;MAAjI,wBAAgN,KAC9M;;;;;;;;;;;;;;;;;wBAA0I;MAA/E;;wBAA+B;MAA1F,u3DAA0I,IAC1I,oPAA2G,YAAxC;;wBAAuC;MAA1G,wBAA2G,uFAAU,MAEvH,gSAA4N,YAAlI;;wBAA6C;MAAvI,wBAA4N,KAC1N;;;;;;;;;;;;;;;;;wBAA0I;MAA/E;;wBAA+B;MAA1F,u3DAA0I,IAC1I,oPAAiH,YAA9C;;wBAA6C;MAAhH,wBAAiH,+FAAkB,MAErI,gSAAgN,YAAtH;;wBAAuC;MAAjI,wBAAgN,KAC9M;;;;;;;;;;;;;;;;;wBAA0I;MAA/E;;wBAA+B;MAA1F,u3DAA0I,IAC1I,oPAA2G,YAAxC;;wBAAuC;MAA1G,wBAA2G,4FAAe,MAE5H,gSAAmN,YAAzH;;wBAAwC;MAAlI,wBAAmN,KACjN;;;;;;;;;;;;;;;;;wBAAuI;MAAvD;;wBAA+B;MAA/G,u3DAAuI,IACvI,oPAA4G,YAAzC;;wBAAwC;MAA3G,wBAA4G,uFAAU,MAExH,gSAAwM,YAA9G;;wBAAmC;MAA7H,wBAAwM,KACtM;;;;;;;;;;;;;;;;;wBAAoI;MAArD;;wBAA+B;MAA9G,y3DAAoI,IACpI,qPAAuG,YAApC;;wBAAmC;MAAtG,wBAAuG,0FAAa,MAEtH,iSAAgN,YAAtH;;wBAAuC;MAAjI,wBAAgN,KAC9M;;;;;;;;;;;;;;;;;wBAAoI;MAArD;;wBAA+B;MAA9G,23DAAoI,IACpI,qPAA2G,YAAxC;;wBAAuC;MAA1G,wBAA2G,kGAAqB,MAGlI,gSAAiN,YAAxH;;wBAAwC;MAAjI,wBAAiN,KAC/M;;;;;;;;;;;;;;;;;wBAAoI;MAArD;;wBAA+B;MAA9G,23DAAoI,IACpI,qPAA4G,YAAzC;;wBAAwC;MAA3G,wBAA4G,wFAAW,mDAjD9E,wBAAa,EAAY,uBAAa,EAA/E,YAA+I,EAAtG,SAAa,EAAY,SAAa,GAAtC,yBAAa,EAA+C,oBAA+B,oBAApI,aAA+I,EAAtG,UAAa,EAA+C,UAA+B,GAI3F,yBAAa,EAAY,wBAAa,EAA/E,aAA+I,EAAtG,UAAa,EAAY,UAAa,GAAtC,yBAAa,EAA+C,oBAA+B,oBAApI,aAA+I,EAAtG,UAAa,EAA+C,UAA+B,GAI3F,yBAAa,EAAY,wBAAa,EAA/E,aAAwI,EAA/F,UAAa,EAAY,UAAa,GAAtC,yBAAa,EAA0B,oBAA+B,oBAA/G,aAAwI,EAA/F,UAAa,EAA0B,UAA+B,GAKtE,yBAAa,EAAY,wBAAa,EAA/E,aAAwI,EAA/F,UAAa,EAAY,UAAa,GAAtC,yBAAa,EAA0B,oBAA+B,oBAA/G,aAAwI,EAA/F,UAAa,EAA0B,UAA+B,GAKtE,yBAAa,EAAY,wBAAa,EAA/E,aAAwI,EAA/F,UAAa,EAAY,UAAa,GAAtC,yBAAa,EAA0B,oBAA+B,oBAA/G,aAAwI,EAA/F,UAAa,EAA0B,UAA+B,GAK3F,yBAAa,EAAY,wBAAa,EAA1D,aAA0I,EAAtH,UAAa,EAAY,UAAa,GAAtC,yBAAa,EAA0B,oBAA+B,oBAA1F,aAA0I,EAAtH,UAAa,EAA0B,UAA+B,GAItE,yBAAa,EAAY,wBAAa,EAA1D,aAA0I,EAAtH,UAAa,EAAY,UAAa,GAAtC,yBAAa,EAA0B,oBAA+B,oBAA1F,aAA0I,EAAtH,UAAa,EAA0B,UAA+B,GAItE,yBAAa,EAAY,wBAAa,EAA1D,aAA0I,EAAtH,UAAa,EAAY,UAAa,GAAtC,yBAAa,EAA0B,oBAA+B,oBAA1F,aAA0I,EAAtH,UAAa,EAA0B,UAA+B,GAIjD,0BAAa,EAAY,yBAAa,EAA/E,aAAuI,EAA9F,WAAa,EAAY,WAAa,GAAtC,0BAAa,EAA0B,qBAA+B,oBAA/G,aAAuI,EAA9F,WAAa,EAA0B,WAA+B,GAI3F,0BAAa,EAAgC,yBAAa,EAA9E,aAAoI,EAAhH,WAAa,EAAgC,WAAa,GAA1D,0BAAa,EAA8C,qBAA+B,oBAA9G,cAAoI,EAAhH,WAAa,EAA8C,WAA+B,GAI1F,0BAAa,EAAgC,yBAAa,EAA9E,cAAoI,EAAhH,WAAa,EAAgC,WAAa,GAA1D,0BAAa,EAA8C,qBAA+B,oBAA9G,cAAoI,EAAhH,WAAa,EAA8C,WAA+B,GAK1F,0BAAa,EAAgC,yBAAa,EAA9E,cAAoI,EAAhH,WAAa,EAAgC,WAAa,GAA1D,0BAAa,EAA8C,qBAA+B,oBAA9G,cAAoI,EAAhH,WAAa,EAA8C,WAA+B,mDAjDqB,mFAAgF,GAArN,YAAsN,EAAjF,SAAgF,GACnN,qtBAA+I,GAGb,mFAA+E,GAAnN,aAAoN,EAAhF,UAA+E,GACjN,ouBAA+I,GAGlB,8EAA0E,GAAzM,aAA0M,EAA3E,UAA0E,GACvM,ouBAAwI,GAIF,uFAAmF,GAA3N,aAA4N,EAApF,UAAmF,GACzN,ouBAAwI,GAIL,oFAAgF,GAArN,aAAsN,EAAjF,UAAgF,GACnN,ouBAAwI,GAIR,iFAA6E,GAA/M,aAAgN,EAA9E,UAA6E,GAC7M,ouBAA0I,GAGJ,uFAAmF,GAA3N,aAA4N,EAApF,UAAmF,GACzN,ouBAA0I,GAGV,iFAA6E,GAA/M,aAAgN,EAA9E,UAA6E,GAC7M,ouBAA0I,GAGT,kFAA+E,GAAlN,aAAmN,EAAhF,UAA+E,GAChN,4uBAAuI,GAGX,8EAAyE,GAAvM,aAAwM,EAA1E,WAAyE,GACrM,yvBAAoI,GAGJ,kFAA6E,GAA/M,cAAgN,EAA9E,WAA6E,GAC7M,0vBAAoI,GAIJ,mFAA8E,GAAhN,cAAiN,EAA/E,WAA8E,GAC9M,0vBAAoI;sHAyD9H,6xBAAmE,iFAEnE,2BAF+C,mHAAmB,GAAlE,YAAmE,EAApB,+HAAmB,GAAlE,YAAmE,EAApB,SAAmB,2BAAC,sEAEnE;sHAkBA,6xBAA+D,iFAE/D,2BAF6C,mHAAiB,GAA9D,YAA+D,EAAlB,+HAAiB,GAA9D,YAA+D,EAAlB,SAAiB,2BAAC,sEAE/D;sHAWA,6xBAA0D,iFAE1D,2BAFwC,mHAAiB,GAAzD,YAA0D,EAAlB,+HAAiB,GAAzD,YAA0D,EAAlB,SAAiB,2BAAC,sEAE1D;sHAkEA,6xBAAkE,iFAElE,2BAF0C,yHAAuB,GAAjE,YAAkE,EAAxB,qIAAuB,GAAjE,YAAkE,EAAxB,SAAuB,2BAAC,sEAElE;sHAwHoB,wHAAiF,8EAAC;sHA9QhH,0NAAoJ,KAClJ,gQAAoI,KAClI,mLAAuD,gGAAyD,MAChH,mNAAwF,8FAAiB,MAU3G,gQAAkI,KAEhI,0NAA6F,KAC3F,yLAA6D,KAC3D,yHAAO,wFAAW,MAEpB,+KAAkD,KAChD,6KAAgD;;;;;;;;;;;wBAAoK;MAAnG;;wBAA4B;MAAgC;;wBAA6B;MAA1J,gzDAAoK,IAKxN,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,0FAAa,MAEtB,+KAAkD,KAChD,6KAAgD;;;;;;;;;;;wBAA+J;MAA5F;;wBAA6B;MAAiC;;wBAA6B;MAA9J,+1CAA+J,IAGnN,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,yFAAa,MAEtB,+KAAkD,KAChD,6KAAgD;;;;;;;;;;;wBAAgK;MAAjG;;wBAA2B;MAA+B;;wBAA6B;MAAtJ,gzDAAgK,IAGpN,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,oFAAO,MAEhB,+KAAkD,KAChD;;;;;wBAAyG;MAAzD;;wBAAyB;MAAC;;wBAA8B;MAAxG,8xCAAyG,IACvG,meAAmE,IAMzE,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,yFAAY,MAErB,gLAAkD,KAChD;;;;;;;;;;;;;;;;;;;;;;;wBAAmM;MAAlI;;wBAA4B;MAA+D;;wBAA6B;MAAzL,mpCAAmM,GAAtE,gEAA8B,KAA3J,snCAAmM,IAGvM,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,0FAAc,MAEvB,gLAAkD,KAChD;;;;;wBAA8H;MAAxE;;wBAA+B;MAAC;;wBAA8B;MAApH,+uDAA8H,IAC5H,meAA+D,IAMrE,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,wFAAY,MAErB,gLAAkD,KAChD;;;;;wBAAuK;MAAvG;;wBAA2B;MAAU;;;wBAAiE;MAAtK,ivDAAuK,IACrK,81BAA2D,uFAAW,MAAS,8EAC/E,0eAA0D,IAyDhE,4NAA6F,KAE3F,2LAA6D,KAC3D,2HAAO,wFAEP,MAGF,iLAAkD,KAChD;;;;;wBAAwH;MAApE;;wBAA2B;MAAC;;wBAA8B;MAA9G,mvDAAwH,IACtH,o0BAAuC,4FAAgB,MACvD,oeAAkE,IA4GxE,qOAAsG,KAGpG,2LAA6D,KAC3D,2HAAO,oFAAO,MAEhB,8KAA+C,KAC7C;;;;;;;;;;;wBAA2M;MAAvL;;wBAAwB;MAA5C,qzEAA2M,IAK/M,4NAA6F,KAC3F,2LAA6D,KAC3D,2HAAO,qFAAQ,iIAAO,gaAAiF,IAIzG,iLAAkD,KAEhD,yKAA0C,KACxC,wKAAyC,KAEvC;;;;;;;;;;;wBAE4I;MADrI;;wBAA2B;MACkC;;wBAAiC;MAAC;;wBAAqC;MAF3I,gkEAE4I,IAC5I,+TAA4J,YAAxE;;wBAAoB;MAAxG,wBAA4J,KA+EtK,iLAAmD,KACjD,8LAAgE,KAC9D,yKAA2C,KACzC,kTAAiJ,YAAzI;;wBAAsB;MAA9B,wBAAiJ,oFAAO,MAE1J,yKAA2C,KACzC,sUAAqO,YAA7N;;wBAA8B;MAAtC,wBAAqO,mFAErO,mDA7V2M,mBAAQ,EAAnK,aAAoK,EAAT,UAAQ,GAA7I,iCAAqB,EAAsB,oBAA4B,iBAA7F,aAAoK,EAA9I,UAAqB,EAAsB,UAA4B,GAUtE,kCAAsB,EAAsB,oBAA6B,kBAAhG,aAA+J,EAAxI,UAAsB,EAAsB,UAA6B,GAQuD,mBAAQ,EAA/J,aAAgK,EAAT,UAAQ,GAA1I,gCAAoB,EAAsB,oBAA2B,gBAA1F,aAAgK,EAA3I,UAAoB,EAAsB,UAA2B,GAQlI,8BAAkB,EAAsB,oBAAyB,cAAzE,aAAyG,EAAjG,UAAkB,EAAsB,UAAyB,GAC/D,oBAAsC,iBAA9C,aAAmE,EAA3D,UAAsC,GAW0I,mBAAQ,EAAlM,aAAmM,EAAT,UAAQ,GAArE,mCAA8B,aAA3J,aAAmM,EAAtE,UAA8B,GAArI,iCAAqB,EAAsB,oBAA4B,iBAA7F,aAAmM,EAA7K,UAAqB,EAAsB,UAA4B,GAQwB,mBAAQ,EAA7H,aAA8H,EAAT,UAAQ,GAArH,oCAAwB,EAAsB,oBAA+B,oBAArF,aAA8H,EAAtH,UAAwB,EAAsB,UAA+B,GAC3E,oBAAoC,iBAA5C,aAA+D,EAAvD,UAAoC,GAW8C,mBAAQ,EAApG,aAAuK,EAA3E,UAAQ,GAA9E,gCAAoB,EAAsB,oBAA2B,gBAA3F,cAAuK,EAAjJ,UAAoB,EAAsB,UAA2B,GACjF,uBAAY,EAApB,cAA2D,EAAnD,oCAAY,EAApB,cAA2D,EAAnD,UAAY,GACZ,oBAA+B,YAAvC,cAA0D,EAAlD,UAA+B,GAkEsE,mBAAQ,EAAvH,cAAwH,EAAT,UAAQ,GAA/G,kCAAsB,EAAsB,oBAA2B,gBAA/E,cAAwH,EAAhH,UAAsB,EAAsB,UAA2B,GACrE,uBAAY,EAApB,cAAuC,EAA/B,oCAAY,EAApB,cAAuC,EAA/B,UAAY,GACZ,oBAAiC,eAAzC,cAAkE,EAA1D,UAAiC,GAmHuJ,oBAAQ,EAA1M,cAA2M,EAAT,WAAQ,GAAtE,uEAA6D,EAAjM,cAA2M,EAAvE,WAA6D,GAAnE,oBAAK,EAAnI,cAA2M,EAA7E,WAAK,GAAvC,2BAAc,EAAtF,qBAAwB,aAA5C,cAA2M,EAA/G,WAAc,EAAtF,WAAwB,GAOhB,uGAA0E,gBAAhF,cAAiF,EAA3E,WAA0E,GAWvC,oBAAQ,EAFnE,cAE4I,EAAjF,WAAQ,GADhB,wDAA6C,EADhG,cAE4I,EADzF,WAA6C,GAA7D,4BAAe,EAA3C,qBAA2B,gBADlC,cAE4I,EADzG,WAAe,EAA3C,WAA2B,mDAtRa,mHAAyD,GAkB5D,o0BAAoK,GAUpK,ouBAA+J,GAQ/J,o1BAAgK,GAQhN,ouBAAyG,GAYzG,o1BAAmM,GAQnM,o1BAA8H,GAY9H,21BAAuK,GAC5H,qBAAiB,EAA1D,cAA2D,EAAlB,UAAiB,GAmE5D,61BAAwH,GACjG,qBAAiB,EAAtC,cAAuC,EAAlB,UAAiB,GAoHxC,0hCAA2M,GAgBvM,giCAE4I,GAsFxD,uHAA8D,GAA6C,mFAAiC,cAApO,cAAqO,EAA7I,WAA8D,EAA6C,WAAiC;sHAU5O,mOAAyI,KACvI,4MAA+E,KAC7E,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,yFAAY,MAI1E,gQAAkI,KAEhI,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,2FAAe,MAExB,oOAA+E,YAA7B;;wBAA4B;MAA9E,wBAA+E,KAC7E;;;;;wBAAkN;MAAjI;;wBAAsC;MAAC;;wBAA8B;MAAtJ,8wDAAkN,IAChN,8yBAAkB,8EAAE,MACpB,8yBAAkB,+EAAG,MAI3B,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,gGAAoB,MAE7B,gLAAkD,KAEhD;;;;;wBAG6D;MAFvC;;wBAAuC;MAD7D,uvEAG6D,IA6BjE,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,kGAAqB,MAE9B,gLAAkD,KAChD;;;;;wBAA0I;MAA9E;;wBAAqC;MAAC;;wBAA8B;MAAhI,+uDAA0I,IACxI,8yBAAkB,8EAAE,MACpB,8yBAAkB,+EAAG,MAK3B,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,qGAAwB,MAEjC,gLAAkD,KAChD;;;;;wBAA8I;MAAhF;;wBAAuC;MAAC;;wBAA8B;MAApI,+uDAA8I,IAC5I,g0BAA2B,8EAAE,MAC7B,8yBAAkB,+EAAG,MAI3B,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,kGAAqB,MAE9B,gLAAkD,KAChD;;;;;wBAAwI;MAA7E;;wBAAoC;MAAC;;wBAA8B;MAA9H,ivDAAwI,IACtI,m0BAA2B,8EAAE,MAC7B,izBAAkB,+EAAG,MAM7B,iLAAmD,KACjD,8LAAgE,KAC9D,yKAA2C,KACzC,kTAAiJ,YAAzI;;wBAAsB;MAA9B,wBAAiJ,oFAAO,MAE1J,yKAA2C,KACzC,sUAAqO,YAA7N;;wBAA8B;MAAtC,wBAAqO,mFAErO,mDAxFuJ,mBAAQ,EAA/J,aAAkN,EAA3D,UAAQ,GAAnI,2CAA+B,EAAqG,0DAAiD,GAAhI,oBAAsC,2BAAvH,aAAkN,EAAtL,UAA+B,EAAqG,UAAiD,EAAhI,UAAsC,GAC7G,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GAUG,oBAAoB,cAGpB,oBAAsC,4BAH5D,aAG6D,EAHvC,UAAoB,EAGpB,UAAsC,GADtC,uCAA2B,EAD3B,oBAAuC,4BAD7D,aAG6D,EADvC,UAA2B,EAD3B,UAAuC,GAoCoE,mBAAQ,EAAzI,aAA0I,EAAT,UAAQ,GAAjI,0CAA8B,EAAsB,oBAAqC,0BAAjG,aAA0I,EAAlI,UAA8B,EAAsB,UAAqC,GACvF,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GAUkH,mBAAQ,EAA7I,aAA8I,EAAT,UAAQ,GAArI,4CAAgC,EAAsB,oBAAuC,4BAArG,aAA8I,EAAtI,UAAgC,EAAsB,UAAuC,GAC3F,oBAAS,EAAjB,aAA2B,EAAnB,iCAAS,EAAjB,aAA2B,EAAnB,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GAS4G,mBAAQ,EAAvI,aAAwI,EAAT,UAAQ,GAA/H,yCAA6B,EAAsB,oBAAoC,yBAA/F,cAAwI,EAAhI,UAA6B,EAAsB,UAAoC,GACrF,oBAAS,EAAjB,cAA2B,EAAnB,iCAAS,EAAjB,cAA2B,EAAnB,UAAS,GACT,oBAAS,EAAjB,cAAkB,EAAV,iCAAS,EAAjB,cAAkB,EAAV,UAAS,mDAtF6E,+DAAsB,GAAmB,iEAAuB,GAYhK,o0BAAkN,GAYlN,q1BAG6D,GAkC7D,o1BAA0I,GAY1I,o1BAA8I,GAW9I,21BAAwI,GAchD,sHAA8D,GAA6C,kFAAiC,cAApO,cAAqO,EAA7I,UAA8D,EAA6C,UAAiC;sHAU1O,yKAAiF,KAC/E,qOAAwG,KACtG,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,uFAAU,MAIxE;;;;;;;;;;;;;;;;;wBAA0J;MAAlF;;wBAAoC;MAA5G,u3DAA0J,IAC1J,8OAA8F,YAAjC;;wBAAgC;MAA7F,wBAA8F,4FAAe,MAC7G;;;;;;;;;;;;;;;;;wBAA0J;MAAlF;;wBAAoC;MAA5G,u3DAA0J,IAC1J,8OAAgG,YAAnC;;wBAAkC;MAA/F,wBAAgG,8FAAiB,MAEjH,kPAAmG,KACnG,2MAA8E,8EAAC,MAE/E,qNAA8E,KAC9E,sMAAyE,8EAAC,MAC1E,sNAA6E,KAC7E,sMAAyE,8EAAC,mDAXtD,6BAAkB,EAAgB,4BAAiB,EAAvE,aAA0J,EAAtI,SAAkB,EAAgB,UAAiB,GAAnD,8BAAkB,EAAkC,oBAAoC,yBAA5G,aAA0J,EAAtI,UAAkB,EAAkC,UAAoC,GAExF,8BAAkB,EAAgB,4BAAiB,EAAvE,aAA0J,EAAtI,UAAkB,EAAgB,UAAiB,GAAnD,8BAAkB,EAAkC,oBAAoC,yBAA5G,aAA0J,EAAtI,UAAkB,EAAkC,UAAoC,mDAPN,+DAAsB,GAAmB,iEAAuB,GAKtK,stBAA0J,GAE1J,ouBAA0J;sHAW5J,yKAAiF,KAC/E,qOAAwG,KACtG,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,wFAAW,MAKzE;;;;;;;;;;;;;;;;;wBAA0J;MAAlF;;wBAAoC;MAA5G,u3DAA0J,IAC1J,8OAA+F,YAAlC;;wBAAiC;MAA9F,wBAA+F,6FAAgB,MAE/G,kPAAmG,KACnG,2MAA8E,8EAAC,MAC/E,kPAAmG,KACnG,2MAA8E,8EAAC,MAG/E,qNAA8E,KAC9E,sMAAyE,8EAAC,MAC1E,sNAA6E,KAC7E,sMAAyE,8EAAC,mDAZtD,6BAAkB,EAAgB,4BAAiB,EAAvE,aAA0J,EAAtI,SAAkB,EAAgB,UAAiB,GAAnD,8BAAkB,EAAkC,oBAAoC,yBAA5G,aAA0J,EAAtI,UAAkB,EAAkC,UAAoC,mDANN,+DAAsB,GAAmB,iEAAuB,GAMtK,stBAA0J;sHA/B9J,4LAAkN,KAChN,yZAAiF,IAqBjF,yZAAiF,IAuBjF,+LAA2G,YAA7C;;wBAA4C;MAA1G,29BAA2G,mDA5CtG,iDAAoC,GAAzC,YAAiF,EAA5E,SAAoC,GAqBpC,iDAAoC,GAAzC,YAAiF,EAA5E,SAAoC,GAuB9B,mBAAuB,UAAC,mBAA0B,oBAA7D,YAA2G,EAAhG,SAAuB,EAAC,SAA0B;sHAG/D,+LAAgI,KAC9H,+LAA6K,YAA7C;;wBAA4C;MAA5K,kyBAA6K,+EAAC,mDAAtE,mBAAuB,UAA7G,mBAAyC,qBAAC,mBAA2C,sBAAvG,YAA6K,EAArE,SAAuB,EAA7G,SAAyC,EAAC,SAA2C;sHAGzG,uOAA6I,KAC3I,4MAA+E,KAC7E,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,6FAAgB,MAI9E,iQAAkI,KAChI,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,wFAAW,MAEpB,gLAAkD,KAChD;;;;;wBAA0H;MAAtE;;wBAA6B;MAAC;;wBAA8B;MAAhH,+uDAA0H,IACxH,8yBAAkB,8EAAE,MACpB,8yBAAkB,+EAAG,MAI3B,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,6FAAgB,MAEzB,gLAAkD,KAChD;;;;;wBAAkI;MAA1E;;wBAAiC;MAAC;;wBAA8B;MAAxH,+uDAAkI,IAChI,8yBAAkB,8EAAE,MACpB,8yBAAkB,+EAAG,MAI3B,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,4FAAe,MAExB,gLAAkD,KAChD;;;;;wBAAgI;MAAzE;;wBAAgC;MAAC;;wBAA8B;MAAtH,+uDAAgI,IAC9H,8yBAAkB,8EAAE,MACpB,8yBAAkB,+EAAG,MAK3B,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,gGAAmB,MAE5B,gLAAkD,KAChD;;;;;wBAAoI;MAA3E;;wBAAkC;MAAC;;wBAA8B;MAA1H,+uDAAoI,IAClI,8yBAAkB,8EAAE,MACpB,8yBAAkB,+EAAG,MAI3B,2NAA6F,KAC3F,0LAA6D,KAC3D,2HAAO,yFAAY,MAErB,iLAAkD,KAChD;;;;;wBAA4F;MAAxC;;wBAA6B;MAAjF,mvDAA4F,IAC1F,izBAAkB,8EAAE,MACpB,izBAAkB,+EAAG,MAI3B,4NAA6F,KAC3F,2LAA6D,KAC3D,2HAAO,0FAAa,MAEtB,iLAAkD,KAChD;;;;;wBAA+F;MAAzC;;wBAA+B;MAArF,mvDAA+F,IAC7F,izBAAkB,8EAAE,MACpB,izBAAkB,+EAAG,MAI3B,4NAA6F,KAC3F,2LAA6D,KAC3D,2HAAO,gFAAG,MAEZ,iLAAkD,KAChD;;;;;wBAA8F;MAAzC;;wBAA8B;MAAnF,mvDAA8F,IAC5F,izBAAkB,8EAAE,MACpB,izBAAkB,+EAAG,MAI3B,4NAA6F,KAC3F,2LAA6D,KAC3D,2HAAO,uFAAU,MAEnB,iLAAkD,KAChD;;;;;wBAAuF;MAArC;;wBAA2B;MAA7E,mvDAAuF,IACrF,izBAAkB,8EAAE,MACpB,izBAAkB,+EAAG,MAI3B,4NAA6F,KAC3F,2LAA6D,KAC3D,2HAAO,4FAAe,MAExB,iLAAkD,KAChD;;;;;wBAAiG;MAA1C;;wBAAgC;MAAvF,mvDAAiG,IAC/F,izBAAkB,8EAAE,MACpB,izBAAkB,+EAAG,MAI3B,4NAA6F,KAC3F,2LAA6D,KAC3D,2HAAO,kFAAK,MAEd,iLAAkD,KAChD;;;;;wBAAgF;MAAlC;;wBAAuB;MAArE,mvDAAgF,IAC9E,izBAAkB,8EAAE,MACpB,izBAAkB,+EAAG,MAI3B,4NAA6F,KAC3F,2LAA6D,KAC3D,2HAAO,kFAAK,MAEd,iLAAkD,KAChD;;;;;wBAAgF;MAAlC;;wBAAuB;MAArE,mvDAAgF,IAC9E,izBAAkB,8EAAE,MACpB,izBAAkB,+EAAG,MAQ7B,iLAAmD,KACjD,8LAAgE,KAC9D,yKAA2C,KACzC,kTAAiJ,YAAzI;;wBAAsB;MAA9B,wBAAiJ,oFAAO,MAE1J,yKAA2C,KACzC,sUAA6O,YAArO;;wBAAsC;MAA9C,wBAA6O,mFAE7O,mDAjIiH,mBAAQ,EAAzH,aAA0H,EAAT,UAAQ,GAAjH,kCAAsB,EAAsB,oBAA6B,kBAAjF,aAA0H,EAAlH,UAAsB,EAAsB,UAA6B,GACvE,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GASsG,mBAAQ,EAAjI,aAAkI,EAAT,UAAQ,GAAzH,sCAA0B,EAAsB,oBAAiC,sBAAzF,aAAkI,EAA1H,UAA0B,EAAsB,UAAiC,GAC/E,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GASoG,mBAAQ,EAA/H,aAAgI,EAAT,UAAQ,GAAvH,qCAAyB,EAAsB,oBAAgC,qBAAvF,aAAgI,EAAxH,UAAyB,EAAsB,UAAgC,GAC7E,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GAUwG,mBAAQ,EAAnI,aAAoI,EAAT,UAAQ,GAA3H,uCAA2B,EAAsB,oBAAkC,uBAA3F,aAAoI,EAA5H,UAA2B,EAAsB,UAAkC,GACjF,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GASgE,mBAAQ,EAA3F,cAA4F,EAAT,UAAQ,GAAnF,kCAAsB,EAAsB,oBAA6B,kBAAjF,cAA4F,EAApF,UAAsB,EAAsB,UAA6B,GACvE,oBAAS,EAAjB,cAAkB,EAAV,iCAAS,EAAjB,cAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,cAAkB,EAAV,iCAAS,EAAjB,cAAkB,EAAV,UAAS,GASmE,mBAAQ,EAA9F,cAA+F,EAAT,UAAQ,GAAtF,oCAAwB,EAAsB,oBAA+B,oBAArF,cAA+F,EAAvF,UAAwB,EAAsB,UAA+B,GAC3E,oBAAS,EAAjB,cAAkB,EAAV,iCAAS,EAAjB,cAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,cAAkB,EAAV,iCAAS,EAAjB,cAAkB,EAAV,UAAS,GASkE,oBAAQ,EAA7F,cAA8F,EAAT,WAAQ,GAArF,oCAAuB,EAAsB,qBAA8B,mBAAnF,cAA8F,EAAtF,WAAuB,EAAsB,WAA8B,GACzE,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,GACT,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,GAS2D,oBAAQ,EAAtF,cAAuF,EAAT,WAAQ,GAA9E,iCAAoB,EAAsB,qBAA2B,gBAA7E,cAAuF,EAA/E,WAAoB,EAAsB,WAA2B,GACnE,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,GACT,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,GASqE,oBAAQ,EAAhG,cAAiG,EAAT,WAAQ,GAAxF,sCAAyB,EAAsB,qBAAgC,qBAAvF,cAAiG,EAAzF,WAAyB,EAAsB,WAAgC,GAC7E,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,GACT,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,GASoD,oBAAQ,EAA/E,cAAgF,EAAT,WAAQ,GAAvE,6BAAgB,EAAsB,qBAAuB,YAArE,cAAgF,EAAxE,WAAgB,EAAsB,WAAuB,GAC3D,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,GACT,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,GASoD,oBAAQ,EAA/E,cAAgF,EAAT,WAAQ,GAAvE,6BAAgB,EAAsB,qBAAuB,YAArE,cAAgF,EAAxE,WAAgB,EAAsB,WAAuB,GAC3D,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,GACT,qBAAS,EAAjB,cAAkB,EAAV,mCAAS,EAAjB,cAAkB,EAAV,WAAS,mDA5H6E,+DAAsB,GAAmB,iEAAuB,GAWhK,o0BAA0H,GAW1H,o1BAAkI,GAWlI,o1BAAgI,GAYhI,o1BAAoI,GAWpI,61BAA4F,GAW5F,61BAA+F,GAW/F,61BAA8F,GAW9F,62BAAuF,GAWvF,62BAAiG,GAWjG,62BAAgF,GAWhF,62BAAgF,GAgBgB,uHAA8D,GAA6C,mFAAiC,cAA5O,cAA6O,EAA7I,WAA8D,EAA6C,WAAiC;sHAUpP,mOAA0I,KACxI,4MAA+E,KAC7E,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,0FAAa,MAG3E,+PAAiI,KAC/H,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,oGAAuB,MAEhC,gLAAkD,KAChD;;;;;wBAAwI;MAA7E;;wBAAoC;MAAC;;wBAA8B;MAA9H,+uDAAwI,IACtI,8yBAAkB,8EAAE,MACpB,8yBAAkB,+EAAG,MAI3B,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,yGAA4B,MAErC,gLAAkD,KAChD;;;;;wBAAgG;MAA1C;;wBAA+B;MAArF,+uDAAgG,IAC9F,8yBAAkB,8EAAE,MACpB,8yBAAkB,+EAAG,MAM7B,gLAAmD,KACjD,6LAAgE,KAC9D,wKAA2C,KACzC,iTAAiJ,YAAzI;;wBAAsB;MAA9B,wBAAiJ,oFAAO,MAE1J,wKAA2C,KACzC,qUAA6O,YAArO;;wBAAsC;MAA9C,wBAA6O,mFAE7O,mDA3B+H,mBAAQ,EAAvI,aAAwI,EAAT,UAAQ,GAA/H,yCAA6B,EAAsB,oBAAoC,yBAA/F,aAAwI,EAAhI,UAA6B,EAAsB,UAAoC,GACrF,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GASoE,mBAAQ,EAA/F,aAAgG,EAAT,UAAQ,GAAvF,oCAAwB,EAAsB,oBAA+B,oBAArF,aAAgG,EAAxF,UAAwB,EAAsB,UAA+B,GAC3E,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,mDAvB6E,+DAAsB,GAAmB,iEAAuB,GAUhK,o0BAAwI,GAWxI,o1BAAgG,GAcA,sHAA8D,GAA6C,kFAAiC,cAA5O,aAA6O,EAA7I,UAA8D,EAA6C,UAAiC;sHAUpP,0LAAiI,KAC/H,2OAA8G,KAC5G,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,4FAAe,MAI7E,8MAAgF,KAC9E,gnDAIgD,MAEhD,gLAAmD,KACjD,sMAAyE,KAEvE,sKAAyC,+QAAyH,YAAhC;;wBAA+B;MAAxH,wBAAyH,wJAA4B,KAAO,8EAAM,MAC3M,sKAAyC,0UAAsK,YAA9B;;wBAA6B;MAArK,wBAAsK,wJAA4B,KAAO,4EAAI,MAI5P,gNAAkF,KAChF,2LAA6D,KAI3D,kMAAqE,KACnE,0LAAmE,wGAA2B,MAIhG,mLAAqD,KACnD;;;;;wBAGuE;MAHrB;;wBAA4B;MAExD;;wBAA4C;MAC5C;;wBAAgD;MAHtE,qyEAGuE,IAI3E,gLAAmD,KACjD,4NAAyF,KAEvF,sKAAyC,oSAA2H,YAAnB;;wBAAkB;MAA1H,wBAA2H,wJAA4B,KAAO,8EAAM,MAC7M,sKAAyC,iRAA6G,YAAlB;;wBAAiB;MAA5G,wBAA6G,wJAA4B,KAAO,4EAAI,mDAnChL,mBAAoC,uBAGpC,mBAA8B,qBAF9B,mBAAkC,sBAClC,mBAAwD,yCAFnB,mBAAmB,UADzE,aAIgD,EAH/B,SAAoC,EAGpC,SAA8B,EAF9B,SAAkC,EAClC,SAAwD,EAFnB,SAAmB,GAwB/C,oBAA2B,qBAC3B,oBAAmC,yBADzD,aAGuE,EAHjD,UAA2B,EAC3B,UAAmC,GADwC,oCAAwB,EAAvE,oBAA4B,iBAA9E,aAGuE,EAH0B,UAAwB,EAAvE,UAA4B,mDA/BkB,+DAAsB,GAAmB,iEAAuB,GA+BhK,+0BAGuE;sHA4BzE,+KAAkF,KAChF;;;;;wBAG6D;MADvC;;wBAA4C;MAFlE,qvEAG6D,iDAHvC,mBAAyB,mBAGzB,mBAAsC,4BAH5D,YAG6D,EAHvC,SAAyB,EAGzB,SAAsC,GAFtC,4CAAgC,EAChC,oBAA4C,iCAFlE,YAG6D,EAFvC,UAAgC,EAChC,UAA4C,2BAFlE,m0BAG6D;sHAU3D,6xBAAkE,iFAElE,2BAFiD,mHAAgB,GAAjE,YAAkE,EAAjB,+HAAgB,GAAjE,YAAkE,EAAjB,SAAgB,2BAAC,sEAElE;sHAQJ,+KAAkF,KAChF;;;;;wBAOuE;MALjD;;wBAAyC;MAEzC;;wBAA4C;MAC5C;;wBAA8C;MAC9C;;wBAA4C;MAC5C;;wBAAgD;MAPtE,+1EAOuE,iDAPjD,mBAAoB,cAGpB,mBAAsC,4BAH5D,YAOuE,EAPjD,SAAoB,EAGpB,SAAsC,GAFtC,yCAA6B,EAC7B,oBAAyC,8BAF/D,YAOuE,EANjD,UAA6B,EAC7B,UAAyC,2BAF/D,m0BAOuE;sHAWrE,6xBAAuE,iFAEvE,2BAFgD,mHAAsB,GAAtE,YAAuE,EAAvB,+HAAsB,GAAtE,YAAuE,EAAvB,SAAsB,2BAAC,sEAEvE;sHA1DV,oOAA6I,KAC3I,4MAA+E,KAC7E,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,gGAAmB,MAIjF,gQAAkI,KAChI,0NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,oGAAuB,MAEhC,0ZAAkF,IAQpF,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,6FAAgB,MAEzB,gLAAkD,KAChD;;;;;wBAAwI;MAA7E;;wBAAoC;MAAC;;wBAA8B;MAA9H,+uDAAwI,IACtI,meAAkE,IAMxE,0NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,+FAAkB,MAE3B,0ZAAkF,IAYpF,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,uGAA0B,MAEnC,gLAAkD,KAChD;;;;;wBAAwJ;MAArF;;wBAA4C;MAAC;;wBAA8B;MAA9I,+uDAAwJ,IACtJ,21BAA2D,2FAAe,MAC1E,meAAuE,IAe/E,gLAAmD,KACjD,6LAAgE,KAC9D,wKAA2C,KACzC,iTAAiJ,YAAzI;;wBAAsB;MAA9B,wBAAiJ,oFAAO,MAE1J,wKAA2C,KACzC,qUAAqO,YAA7N;;wBAA8B;MAAtC,wBAAqO,mFAErO,mDAlEG,gFAA+B,GAApC,aAAkF,EAA7E,SAA+B,GAa6F,mBAAQ,EAAvI,aAAwI,EAAT,UAAQ,GAA/H,yCAA6B,EAAsB,oBAAoC,yBAA/F,aAAwI,EAAhI,UAA6B,EAAsB,UAAoC,GACrF,oBAAwC,sBAAhD,aAAkE,EAA1D,UAAwC,GAU/C,iFAA+B,GAApC,aAAkF,EAA7E,UAA+B,GAiB6G,mBAAQ,EAAvJ,aAAwJ,EAAT,UAAQ,GAA/I,iDAAqC,EAAsB,oBAA4C,iCAA/G,aAAwJ,EAAhJ,UAAqC,EAAsB,UAA4C,GACrG,uBAAY,EAApB,aAA2D,EAAnD,oCAAY,EAApB,aAA2D,EAAnD,UAAY,GACZ,oBAAuC,gBAA/C,aAAuE,EAA/D,UAAuC,mDArD+C,+DAAsB,GAAmB,iEAAuB,GAuBhK,s0BAAwI,GA4BxI,o1BAAwJ,GAC7G,qBAAiB,EAA1D,aAA2D,EAAlB,UAAiB,GAsB4B,sHAA8D,GAA6C,kFAAiC,cAApO,aAAqO,EAA7I,UAA8D,EAA6C,UAAiC;sHAsClO,6xBAA4E,iFAE5E,2BAFuD,mHAAoB,GAA3E,YAA4E,EAArB,+HAAoB,GAA3E,YAA4E,EAArB,SAAoB,2BAAC,sEAE5E;sHA9BV,gOAAyI,KACvI,4MAA+E,KAC7E,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,iGAAsB,MAIpF,gQAAkI,KAChI,2NAA6F,KAC3F,yKAA4C,KAC1C,0HAAO,gGAAmB,MAE5B,0LAA6D,KAC3D,yPAA6G,YAA/B;;wBAA8B;MAA5G,wBAA6G,uFAAU,6HAAI,KAE7H,2KAA8C,KAC5C,qPAAqG,YAA/B;;wBAA8B;MAApG,wBAAqG,kFAAK,6HAAI,KAGlH,2NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,+FAAkB,MAE3B,gLAAkD,KAChD;;;;;wBAA+J;MAAvE;;wBAAuC;MAAC;;wBAA8B;MAA9J,8xCAA+J,IAC7J,21BAA2D,qGAAyB,MAEpF,meAA4E,IAOpF,gLAAmD,KACjD,6LAAgE,KAC9D,wKAA2C,KACzC,iTAAiJ,YAAzI;;wBAAsB;MAA9B,wBAAiJ,oFAAO,MAE1J,wKAA2C,KACzC,qUAAqO,YAA7N;;wBAA8B;MAAtC,wBAAqO,mFAErO,mDAlBkC,4CAAgC,EAAsB,oBAAuC,4BAA/H,aAA+J,EAA7H,UAAgC,EAAsB,UAAuC,GACrH,uBAAY,EAApB,aAA2D,EAAnD,oCAAY,EAApB,aAA2D,EAAnD,UAAY,GAEZ,oBAA8C,wBAAtD,aAA4E,EAApE,UAA8C,mDAzBwC,+DAAsB,GAAmB,iEAAuB,GAW9G,mBAA2B,kBAA7E,aAA6G,EAA3D,SAA2B,GAG/B,mBAAuB,cAArE,aAAqG,EAAvD,SAAuB,GAQrE,wtBAA+J,GACpH,qBAAiB,EAA1D,aAA2D,EAAlB,UAAiB,GAe4B,sHAA8D,GAA6C,kFAAiC,cAApO,aAAqO,EAA7I,UAA8D,EAA6C,UAAiC;sHAmB1O,yOAAwH,YAA7C;;wBAA4C;MAAvH,wBAAwH,wFAAW;sHAVrI,iNAC8D,KAC5D,6LAAsE,KACpE,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,wFAAW,MAIzE;;;;;;;;;;;;;;;;;wBAAkI;MAA7C;;wBAAkC;MAAvH,u3DAAkI,IAClI,0ZAAwH,IACxH;;;;;;;;;;;;;;;;;wBAA0H;MAA1D;;wBAAkC;MAAlG,u3DAA0H,IAC1H,4OAA4G,YAAjD;;wBAAgD;MAA3G,wBAA4G,4FAAe,MAC3H;;;;;;;;;;;;;;;;;wBAAsJ;MAAtF;;wBAAkC;MAAlG,u3DAAsJ,IACtJ,4OAAwG,YAA7C;;wBAA4C;MAAvG,wBAAwG,yFAAY,MACpH;;;;;;;;;;;;;;;;;wBAAgJ;MAAhF;;wBAAkC;MAAlG,u3DAAgJ,IAChJ,4OAAuG,YAA5C;;wBAA2C;MAAtG,wBAAuG,4FAAe,MAEtH,sMAAkE,KAEhE,iRAYqD,YAApC;;wBAAmC;MAZpD,wvDAYqD,+EAAC,MAEtD,gLAAmD,KACjD,6LAAgE,KAC9D,wKAA2C,KACzC,2RAA2I,YAAnI;;wBAAgC;MAAxC,wBAA2I,oFAAO,MAEpJ,wKAA2C,KACzC,yTAAuK,YAA/J;;wBAAoC;MAA5C,wBAAuK,kFAAK,mDA/BhK,yBAAc,EAAc,0BAAe,EAA/D,aAAkI,EAA9G,SAAc,EAAc,UAAe,GAA3C,0BAAc,EAAmD,oBAAkC,uBAAvH,aAAkI,EAA9G,UAAc,EAAmD,UAAkC,GAChH,qBAAiB,WAAxB,aAAwH,EAAjH,UAAiB,GACJ,0BAAc,EAAc,0BAAe,EAA/D,aAA0H,EAAtG,UAAc,EAAc,UAAe,GAA3C,0BAAc,EAA8B,oBAAkC,uBAAlG,aAA0H,EAAtG,UAAc,EAA8B,UAAkC,GAE9E,0BAAc,EAAc,0BAAe,EAA/D,aAAsJ,EAAlI,UAAc,EAAc,UAAe,GAA3C,0BAAc,EAA8B,oBAAkC,uBAAlG,aAAsJ,EAAlI,UAAc,EAA8B,UAAkC,GAE9E,0BAAc,EAAc,0BAAe,EAA/D,aAAgJ,EAA5H,UAAc,EAAc,UAAe,GAA3C,0BAAc,EAA8B,oBAAkC,uBAAlG,aAAgJ,EAA5H,UAAc,EAA8B,UAAkC,GAM/E,oBAAkC,yBAElC,oBAAyB,aAOzB,oBAAyC,qBANzC,oBAAwD,yCAOxD,uBAA2B,GAN3B,qBAAkC,EAIlC,sBAA8B,EAH9B,qBAAgC,EAEhC,qBAAoB,EADpB,qBAA6B,EAP9C,aAYqD,EAXpC,UAAkC,EAElC,UAAyB,EAOzB,UAAyC,EANzC,UAAwD,EAOxD,UAA2B,EAN3B,UAAkC,EAIlC,UAA8B,EAH9B,UAAgC,EAEhC,UAAoB,EADpB,UAA6B,mDAvBsD,+DAAsB,GAAmB,iEAAuB,GAKtK,stBAAkI,GAElI,ouBAA0H,GAE1H,ouBAAsJ,GAEtJ,ouBAAgJ;sHAkD5I,+KAAmF,KACjF;;;;;wBAOoE;MAL9C;;wBAA6C;MAE7C;;wBAAuC;MACvC;;wBAA2C;MAC3C;;wBAAyC;MACzC;;wBAA6C;MAPnE,+1EAOoE,iDAP9C,mBAAqB,eAGrB,mBAA6B,mBAHnD,YAOoE,EAP9C,SAAqB,EAGrB,SAA6B,GAF7B,6CAAiC,EACjC,oBAA6C,kCAFnE,YAOoE,EAN9C,UAAiC,EACjC,UAA6C,2BAFnE,m0BAOoE;sHAUtE,+KAAmF,KACjF;;;;;wBAO8D;MALxC;;wBAAgC;MAEhC;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAP7D,+1EAO8D,iDAPxC,mBAAqB,eAGrB,mBAA6B,mBAHnD,YAO8D,EAPxC,SAAqB,EAGrB,SAA6B,GAF7B,gCAAoB,EACpB,oBAAgC,qBAFtD,YAO8D,EANxC,UAAoB,EACpB,UAAgC,2BAFtD,m0BAO8D;sHAvCtE,iOAA4J,KAC1J,4MAA+E,KAC7E,uKAA0C,KACxC,qKAAyC,mKAAwC,wFAAW,8HAAM,gFAAsB,MAAO,8EAAM,8HAAM,iFAAuB,MAClK,uLAA0D,wFAAW,MAIzE,gQAAkI,KAChI,0NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,gGAAmB,MAE5B,0ZAAmF,IAcrF,0NAA6F,KAC3F,0LAA6D,KAC3D,0HAAO,yFAAY,MAErB,0ZAAmF,IAavF,gLAAmD,KACjD,6LAAgE,KAC9D,wKAA2C,KACzC,iTAAiJ,YAAzI;;wBAAsB;MAA9B,wBAAiJ,oFAAO,MAE1J,wKAA2C,KACzC,qUAAqO,YAA7N;;wBAA8B;MAAtC,wBAAqO,mFAErO,mDAvCG,kFAAgC,GAArC,aAAmF,EAA9E,SAAgC,GAkBhC,kFAAgC,GAArC,aAAmF,EAA9E,SAAgC,mDA5B6D,+DAAsB,GAAmB,iEAAuB,GA+CxE,qHAA8D,GAA6C,iFAAiC,cAApO,aAAqO,EAA7I,SAA8D,EAA6C,SAAiC;sHAYlP,uHAA6C,8EAAC;sHAQ1C,oJAAqF,4FAAe,4HAAM;sHAC1G,oJAAqF,2FAAc,4HAAM;sHACzG,oJAAqF,uFAAU,4HAAM;sHACrG,oJAAqF,wFAAW,4HAAM;sHACtG,oJAAqF,+FAAkB,4HAAM;sHAE7G,oJAAqF,6GAAgC,4HAAM;sHAC3H,oJAAqF,4GAA+B,4HAAM;sHAC1H,oJAAqF,wGAA2B,4HAAM;sHACtH,oJAAqF,0GAA6B,4HAAM;sHACxH,oJAAqF,+GAAkC,4HAAM;sHA2BnI,sNAA6F,YAAjF;;wBAA+B;MAA3C,+ZAA6F,MAC3F,gLAAsD,KACpD,wMAA4E,8HAAO,8FAAiB,MACpG,iMAAoE,KAClE,yLAA4D,KAC1D,kKAA4C,kGAAqB,MAAQ,uHAAM,KAE/E,oJAA4B,KAE1B,uHAAI,8HAAM,oGAAuB,MAAO,uHAAM,KAC9C,uHAAI,8HAAM,qGAAwB,MAAO,uHAAM,KAC/C,uHAAI,8HAAM,sGAAyB,MAAO,uHAAM,KAChD,uHAAI,8HAAM,8FAAiB,MAAO,uHAAM,KACxC,uHAAI,8HAAM,4GAA+B,MAAO,uHAAM,KACtD,uHAAI,8HAAM,4GAA+B,MAAO,uHAAM,KACtD,uHAAI,8HAAM,mMAAuH,MAIrI,iLAAoD,KAClD,mVAAqM,YAA7L;;wBAAkC;MAA1C,wBAAqM,iFAErM,mDAtBI,mBAA+B,oBAA3C,YAA6F,EAAjF,SAA+B;sHAkCnC,uMAAmH,KACjH,qJAA+B,mFAAyB,MAAO,sHAAM,gCAAtC,sEAAyB;sHARlE,qNAA0F,YAA9E;;wBAA8B;MAA1C,+ZAA0F,MACxF,mKAA+C,KAC7C,sKAA+C,KAC7C,gKAA0C,qFAAQ,MAAQ,sHAAM,KAChE,uHAAK,6HAAM,sIAAsG,MAAO,yEAAC,MAEzH,qJAA8B,KAC5B,meAAmH,IAIrH,uHAAM,KACN,qJAA8B,0JAA8B,8IAA+D,MAAO,uHAAM,8EAAC,MACzI,qIAAc,yJAA6B,8IAAmF,MAAO,yEAAC,mDAbhI,mBAA8B,mBAA1C,YAA0F,EAA9E,SAA8B,GAOX,mBAAuC,sBAA9D,aAAmH,EAA5F,SAAuC,mDAHrD,oHAAsG,GAStE,0DAAmF;sHAOlI,yMAAyG,KACvG,yHAAO,oFAAO,MAAQ,sHAAM,2HAAM,KAClC,wHAAM,4GAAgC,qJAAyB,gFAAiB,MAAgB,uFAAgB,6HAAM,KACtH,yHAAM,gIAAmD,MAAO,uHAAM,KACtE,yHAAM,uJAA2B,wFAAW,MAAQ,6EAAK,wJAA2B,2FAAc,MAAQ,yEAAC,yDAF5C,qDAAiB;sHAKlF,yMAAwG,KACtG,yHAAO,oFAAO,MAAQ,sHAAM,2HAAM,KAClC,wHAAM,yHAA4C,qJAAyB,gFAAiB,MAAgB,sHAAM,KAClH,yHAAM,gIAAoD,MAAO,uHAAM,KACvE,yHAAM,iFAAI,wJAA2B,wFAAW,MAAQ,6EAAK,wJAA2B,2FAAc,MAAQ,yEAAC,yDAFpC,qDAAiB;sHAVhG,sNAA6F,YAAjF;;wBAA+B;MAA3C,+ZAA6F,MAC3F,sZAAyG,IAOzG,sZAAwG,IAMxG,sKAA6C,KAC3C,4LAAgE,KAC9D,gPAAmG,YAAnC;;wBAAkC;MAAlG,wBAAmG,iFAAI,MAEzG,6KAAgD,KAC9C,6PAA6H,YAArH;;wBAAgD;MAAxD,wBAA6H,+EAAE,mDAnBzH,mBAA+B,oBAA3C,YAA6F,EAAjF,SAA+B,GACpC,oBAAsB,gBAA3B,YAAyG,EAApG,SAAsB,GAOtB,mBAAqB,gBAA1B,YAAwG,EAAnG,SAAqB;sHA6BpB,6xBAAwE,iFAExE,2BAFiD,mHAAsB,GAAvE,YAAwE,EAAvB,+HAAsB,GAAvE,YAAwE,EAAvB,SAAsB,2BAAC,sEAExE;sHAfR,2LAAsE,YAA1D;;wBAA+B;MAA3C,+ZAAsE,MACpE,2NAAwG,oFAAO,MAAQ,mHAAM,wHAAM,KACnI,gNAA6F,KAC3F,wHAAM,mHAAuC,qJAAyB,iFAAiB,MAAQ,oLAA6G,MAAO,uHAAM,4HAAM,KAC/N,yHAAM,8MAAkI,MAE1I,2MAAgF,KAC9E,2NAA8F,KAC5F,0HAAO,+FAAkB,MAE3B,uKAAyC,KACvC;;;;;wBAAuF;MAA/B;;wBAA8B;MAAtF,gtCAAuF,IACrF,21BAA2D,6FAAiB,MAC5E,meAAwE,IAQ9E,0KAAgD,KAC9C,uLAA0D,KACxD,2OAAiH,YAAzG;;wBAAgD;MAAxD,wBAAiH,mFAAM,MAEzH,wLAA2D,KACzD,6PAAuG,YAA/F;;wBAA0B;MAAlC,wBAAuG,qFAAQ,mDA1BzG,mBAA+B,oBAA3C,YAAsE,EAA1D,SAA+B,GAWmB,mBAA8B,mBAAtF,aAAuF,EAA/B,SAA8B,GAC5E,uBAAY,EAApB,aAA2D,EAAnD,oCAAY,EAApB,aAA2D,EAAnD,UAAY,GACZ,oBAAwC,gBAAhD,aAAwE,EAAhE,UAAwC,mDAVkB,sDAAiB,GAQrF,stBAAuF,GAC5C,qBAAiB,EAA1D,aAA2D,EAAlB,UAAiB;sHA2CtD,6xBAA0D,+EAAiB,2BAArC,mHAAmB,GAAzD,YAA0D,EAApB,+HAAmB,GAAzD,YAA0D,EAApB,SAAmB,2BAAC,sEAAiB;sHAtBvF,oNAA0G,YAA9F;;wBAA6B;MAAzC,0bAA0G,MACxG,qKAA2C,KACzC,oKAA8C,8FAAiB,MAAS,sHAAM,2HAAM,KACpF,8JAAwC,0FAAa,MAAO,sHAAM,KAClE,+LAAkE,KAChE,oKAA6C,uMAA0H,MAEzK,uHAAM,KACN,kLAAoD,KAClD,wKAA0C,KACxC,sOAAyG,2JAA+B,sFAAS,MACjJ,oLAAsD,KASpD;;;;;wBAAyD;MAA5B;;wBAA2B;MAAxD,gtCAAyD,IACvD,8yBAAkB,wFAAY,MAC9B,meAA0D,IAMlE,kOAA+F,KAC7F,8NAAgF,YAAnC;;wBAAkC;MAA/E,wBAAgF,mFAAM,MACtF,gQAAuG,YAAxB;;wBAAuB;MAAtG,wBAAuG,+EAAE,mDA9BxB,qBAAkB,EAA7F,mBAA6B,kBAAzC,YAA0G,EAAnB,SAAkB,EAA7F,SAA6B,GAoBF,mBAA2B,gBAAxD,aAAyD,EAA5B,SAA2B,GAC9C,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAA6B,WAArC,aAA0D,EAAlD,UAA6B,2BAFvC,stBAAyD;goBA1iDnE,0LAA6D,KAC3D,qLAAwD,KACtD;;;;;;yxBAA0D,IAExD,+MAAiF,KAC/E,mOAAsG,KACpG,sHAAG,wGAA2B,MAEhC,8NAAiG,KAC/F,yZAAiH,IAajH,yZAAuI,IAWzI,iOAAoG,KAElG,yZAAsN,IA8BtN,yZAA2G,IAgP/G,0ZAA+G,IA8D/G,4LAA8D,KAE5D,0ZAAoJ,IAyXpJ,0ZAAyI,IA8GzI,0ZAAkN,IAgDlN,0ZAAgI,IAIhI,0ZAA6I,IAuJ7I,0ZAA0I,IAgD1I,0ZAAiI,IAoDjI,0ZAA6I,IAuF7I,0ZAAyI,IAkDzI,0ZAC8D,IAmD9D,0ZAA4J,IA8DlK,0ZAA6C,IAG/C,4LAAsE,YAA1D;;wBAAsC;MAAlD,2bAAsE,MAEpE,4IAAuB,KACrB,qKAA8C,kGAAqB,MAAS,uHAAM,KAClF,8IAAsB,KACpB,0ZAAqF,IACrF,0ZAAqF,IACrF,0ZAAqF,IACrF,0ZAAqF,IACrF,0ZAAqF,IAErF,0ZAAqF,IACrF,0ZAAqF,IACrF,0ZAAqF,IACrF,0ZAAqF,IACrF,0ZAAqF,IAEvF,sKAAyC,KACvC,qKAAwC,KACtC,yRAAuJ,YAA/C;;wBAA8C;MAAtJ,wBAAuJ,+EAAE,MAE3J,qKAAwC,KACtC,uRAA0J,YAApD;;wBAAmD;MAAzJ,wBAA0J,mFAAM,MAQxK,0NAAmF,YAAvE;;wBAAyB;MAArC,2bAAmF,MACjF,4IAAuB,KACrB,qKAA8C,8FAAiB,MAAS,uHAAM,KAC9E,qJAA8B,yFAAY,MAAO,uHAAM,KACvD,4JAAqC,KACnC,qJAA8B,0GAA6B,MAAO,wHAAM,KAE1E,2RAAoI,YAAhH;;wBAA0B;MAA9C,wBAAoI,+EAAE,MAK1I,2ZAA6F,IA2B7F,2ZAA0F,IAmB1F,2ZAA6F,IAwB7F,2ZAAsE,IAiCtE,2ZAA0G,iDA7gD3F,oBAAiB,WAAtB,aAAiH,EAA5G,SAAiB,GAajB,mBAAgB,WAArB,aAAuI,EAAlI,SAAgB,GAahB,2IAA2G,YAAhH,aAAsN,EAAjN,SAA2G,GA8B3G,oBAAgB,WAArB,aAA2G,EAAtG,UAAgB,GAgPkE,qBAAmB,aAA9G,aAA+G,EAApB,UAAmB,GAgEvG,2DAA6D,kBAAlE,aAAoJ,EAA/I,UAA6D,GAyX7D,kDAAyC,GAA9C,aAAyI,EAApI,UAAyC,GA8GzC,2KAAiJ,KAAtJ,aAAkN,EAA7M,UAAiJ,GAgDjJ,2DAA4D,iBAAjE,aAAgI,EAA3H,UAA4D,GAI5D,kDAAyC,GAA9C,aAA6I,EAAxI,UAAyC,GAuJzC,kDAAyC,GAA9C,aAA0I,EAArI,UAAyC,GAgDzC,2DAAmE,wBAAxE,aAAiI,EAA5H,UAAmE,GAoDnE,kDAA2C,GAAhD,aAA6I,EAAxI,UAA2C,GAuF3C,kDAA2C,GAAhD,aAAyI,EAApI,UAA2C,GAkD3B,kDAA2C,GAAhE,aAC8D,EADzC,UAA2C,GAoD3D,2DAA6D,kBAAlE,aAA4J,EAAvJ,UAA6D,GA8DnE,oBAAuC,kCAA5C,aAA6C,EAAxC,UAAuC,GAGK,sBAAkB,EAAzD,oBAAsC,2BAAlD,aAAsE,EAAnB,UAAkB,EAAzD,UAAsC,GAKd,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GACtD,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GACtD,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GACtD,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GACtD,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GAEtD,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GACtD,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GACtD,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GACtD,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GACtD,gEAAsD,GAApF,aAAqF,EAAvD,UAAsD,GAe1B,sBAAkB,EAAtE,oBAAyB,cAArC,aAAmF,EAAnB,UAAkB,EAAtE,UAAyB,GAYO,oBAAyB,oBAArE,cAA6F,EAAjD,UAAyB,GA2B1B,oBAAwB,mBAAnE,cAA0F,EAA/C,UAAwB,GAmBvB,oBAAyB,oBAArE,cAA6F,EAAjD,UAAyB,GAwBzB,oBAAyB,oBAArE,cAAsE,EAA1B,UAAyB,GAiC3B,oBAAuB,kBAAjE,cAA0G,EAAhE,UAAuB,2BAphD7D,qtBAA0D;;;;;;;;;;;;;;;;ACR9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0I;AAC1I,8DAA8D;AACF;AACQ;AACzB;AAC4B;AACwC;AACpC;AAChC;AACQ;AACe;AACT;AACK;AACiB;AAEZ;AACU;AAED;AACb;AACC;AAKT;AACU;AAEM;AACpB;AAEnD,8BAA8B;AAC9B;IAwLE,yCAAmB,oBAA0C,EAAU,IAAgB,EAAU,WAAwB,EAAU,iBAAsC,EAAU,MAAqB,EAAU,eAAgC,EAAU,gBAAkC,EAAU,MAAc,EAAE,SAAqB,EAAU,WAAyB,EAAU,KAAqB;QAA5X,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAiC,gBAAW,GAAX,WAAW,CAAc;QAAU,UAAK,GAAL,KAAK,CAAgB;QA/K/Y,2BAAsB,GAAG,EAAE,CAAC;QAO5B,aAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QACnC,gBAAW,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACnC,aAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;QACxC,YAAO,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAC/B,gBAAW,GAAW,CAAC,CAAC;QAExB,sBAAiB,GAAY,KAAK,CAAC;QACnC,mBAAc,GAAiB,EAAE,CAAC;QAClC,eAAU,GAAe,IAAI,qEAAU,EAAE,CAAC;QAC1C,0BAAqB,GAA0B,IAAI,mFAAqB,EAAE,CAAC;QAC3E,cAAS,GAAc,IAAI,2DAAS,EAAE,CAAC;QAKvC,cAAS,GAAG,CAAC,CAAC;QAGd,UAAK,GAAG,EAAE,CAAC;QAEX,SAAI,GAAU,IAAI,mDAAK,EAAE,CAAC;QAC1B,cAAS,GAAc,IAAI,4DAAS,EAAE,CAAC;QACvC,SAAI,GAAoB,IAAI,+EAAe,EAAE,CAAC;QAC9C,WAAM,GAAwB,IAAI,gFAAmB,EAAE,CAAC;QACxD,wBAAmB,GAAwB,IAAI,+EAAmB,EAAE,CAAC;QACrE,cAAS,GAAmB,EAAE,CAAC;QAC/B,qBAAgB,GAAmB,EAAE,CAAC;QACtC,kBAAa,GAAmB,EAAE,CAAC;QACnC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,oBAAe,GAAmB,EAAE,CAAC;QAIrC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QACnB,2BAAsB,GAAG,EAAE,CAAC;QAC5B,wBAAmB,GAAG,EAAE,CAAC;QACzB,gBAAW,GAAG,EAAE,CAAC;QACjB,wBAAmB,GAAG,EAAE,CAAC;QACzB,eAAU,GAAG,EAAE,CAAC;QAChB,qBAAgB,GAAG,EAAE,CAAC;QACtB,qBAAgB,GAAG,EAAE,CAAC;QACtB,8BAAyB,GAAG,EAAE,CAAC;QAC/B,iCAA4B,GAAG,EAAE,CAAC;QAClC,0BAAqB,GAAG,EAAE,CAAC;QAC3B,8BAAyB,GAAY,KAAK,CAAC;QAC3C,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAY,KAAK,CAAC;QAClC,qBAAgB,GAAY,KAAK,CAAC;QAClC,sBAAiB,GAAY,KAAK,CAAC;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,aAAQ,GAAW,EAAE,CAAC;QACtB,gBAAW,GAAG,EAAE,CAAC;QACjB,uBAAkB,GAAG,EAAE,CAAC;QACxB,uBAAkB,GAAG,EAAE,CAAC;QACxB,iBAAY,GAAG,IAAI,CAAC;QACpB,kBAAa,GAAG,KAAK,CAAC;QACtB,iBAAY,GAAG,KAAK,CAAC;QAErB,mBAAc,GAAG,EAAE,CAAC;QACpB,0BAAqB,GAAG,EAAE,CAAC;QAC3B,wBAAmB,GAAG,EAAE,CAAC;QACzB,iBAAY,GAAG,CAAC,CAAC;QACjB,cAAS,GAAG,CAAC,CAAC;QACd,mBAAc,GAAG,CAAC,CAAC;QACnB,kBAAa,GAAmB,EAAE,CAAC;QACnC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,cAAS,GAAG,EAAE,CAAC;QACf,mBAAc,GAAG,EAAE,CAAC;QACpB,qBAAgB,GAAG,EAAE,CAAC;QACtB,YAAO,GAAY,IAAI,CAAC;QACxB,iBAAY,GAAY,IAAI,CAAC;QAC7B,eAAU,GAAY,IAAI,CAAC;QAC3B,mBAAc,GAAY,IAAI,CAAC;QAC/B,gBAAW,GAAY,IAAI,CAAC;QAC5B,qBAAgB,GAAY,IAAI,CAAC;QACjC,aAAQ,GAAY,KAAK,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAC1B,aAAQ,GAAe,wEAAU,CAAC,sBAAsB,CAAC;QACzD,sBAAiB,GAAY,KAAK,CAAC;QACnC,wBAAmB,GAAY,KAAK,CAAC;QACrC,oBAAe,GAAY,IAAI,CAAC;QAChC,sBAAiB,GAAY,IAAI,CAAC;QAClC,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAChC,uBAAkB,GAAY,IAAI,CAAC;QACnC,sBAAiB,GAAY,IAAI,CAAC;QAClC,mBAAc,GAAY,KAAK,CAAC;QAChC,oBAAe,GAAY,KAAK,CAAC;QACjC,sBAAiB,GAAY,KAAK,CAAC;QACnC,cAAS,GAAmB,EAAE,CAAC;QAC/B,0BAAqB,GAAmB,EAAE,CAAC;QAC3C,wBAAmB,GAAmB,EAAE,CAAC;QACzC,wBAAmB,GAAmB,EAAE,CAAC;QACzC,4BAAuB,GAAmB,EAAE,CAAC;QAC7C,mBAAc,GAAmB,EAAE,CAAC;QACpC,kBAAa,GAAmB,EAAE,CAAC;QACnC,mBAAc,GAAmB,EAAE,CAAC;QACpC,iBAAY,GAAmB,EAAE,CAAC;QAC3B,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvG,uBAAkB,GAAY,KAAK,CAAC;QACpC,sBAAiB,GAAW,OAAO,CAAC;QACpC,yBAAoB,GAAW,SAAS,CAAC;QACzC,2BAAsB,GAAW,WAAW,CAAC;QAC7C,qBAAgB,GAAG,OAAO,CAAC;QAE3B,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAcvC,yBAAyB;QACzB,0BAAqB,GAAmB,EAAE,CAAC;QAY3C,6BAAwB,GAAsB,EAAE,CAAC;QAGjD,qBAAgB,GAAmB,EAAE,CAAC;QACtC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,iCAA4B,GAAY,KAAK,CAAC;QAC9C,kBAAa,GAAY,KAAK,CAAC;QAC/B,oBAAe,GAAW,CAAC,CAAC;QAC5B,iBAAY,GAAW,GAAG,CAAC;QAC3B,aAAQ,GAAY,KAAK,CAAC;QAC1B,sBAAiB,GAAY,KAAK,CAAC;QACnC,6BAAwB,GAAY,KAAK,CAAC;QAC1C,mBAAc,GAAY,KAAK,CAAC;QAChC,0BAAqB,GAAY,KAAK,CAAC;QACvC,yBAAoB,GAAY,KAAK,CAAC;QACtC,qBAAgB,GAAY,KAAK,CAAC;QAClC,kBAAa,GAAY,KAAK,CAAC;QAC/B,mCAAmC;QACnC,wBAAmB,GAAY,KAAK,CAAC;QACrC,sBAAiB,GAAY,KAAK,CAAC;QACnC,SAAI,GAAY,KAAK,CAAC;QACtB,gBAAW,GAAY,KAAK,CAAC;QAC7B,sBAAiB,GAAmB,EAAE,CAAC;QACvC,iBAAY,GAAG,EAAE,CAAC;QAClB,sBAAiB,GAAG,EAAE,CAAC;QACvB,oBAAe,GAAY,KAAK,CAAC;QACjC,sBAAiB,GAAY,KAAK,CAAC;QAEnC,kBAAa,GAAW,CAAC,CAAC;QAC1B,aAAQ,GAAG,EAAE,CAAC;QAEd,mBAAc,GAAG,EAAE,CAAC;QACpB,uBAAkB,GAAmB,EAAE,CAAC;QAEtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IACD,0DAAgB,GAAhB;QACE,IAAI,CAAC,eAAe,GAAgB;YAClC,gNAAgN;YAChN,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,2BAA0B;SACxO,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,0DAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,kBAAkB;gBAC9B,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,OAAO;aAEjB;YACD;gBACE,UAAU,EAAE,UAAU;gBACtB,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,OAAO;aACjB;YAED;gBACE,UAAU,EAAE,iBAAiB;gBAC7B,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,KAAK;aACZ;YACD;gBACE,UAAU,EAAE,UAAU;gBACtB,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,UAAU,EAAE,YAAY;gBACxB,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,UAAU,EAAE,mBAAmB;gBAC/B,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBAC/D,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,CAAC,SAAS,GAAG,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;oBAClR,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,KAAK;wBAE7E,yBAAyB;wBACzB,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS;4BAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;6BACxC,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS;4BACnG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;wBAC7F,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBACjC,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACtD,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBAC5D,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,CAAC,SAAS,GAAG,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;oBAChR,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAE9D,yBAAyB;wBACzB,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS;4BAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;6BACtC,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS;4BACnG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC3F,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBACjC,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACtD,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBAC7D,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,CAAC,SAAS,GAAG,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;oBAClR,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAE9D,yBAAyB;wBACzB,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS;4BAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;6BACxC,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS;4BACnG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;wBAC7F,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBACjC,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACtD,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,EAAE,OAAO;aACjB;YACD;gBACE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBAC/D,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,CAAC,SAAS,GAAG,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;oBACtR,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAE9D,yBAAyB;wBACzB,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS;4BAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;6BAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS;4BACnG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;wBACjG,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACtD,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,EAAE,OAAO;aACjB;SACF,CAAC;QAEF,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,kBAAkB,GAAG;gBAC3B,iBAAiB,EAAE,UAAU,MAAM;oBACjC,IAAI,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;oBACnD,IAAI,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3E,OAAO,gBAAgB,CAAC;gBAC1B,CAAC;gBACD,UAAU,EAAE,UAAU;gBACtB,KAAK,EAAE,GAAG;gBAGV,YAAY,YAAC,MAAM;oBAEjB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;wBACxC,oDAAoD;wBACpD,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,sDAAsD;wBACtD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;4BACjC,IAAI,CAAC,SAAS,GAAG,mEAAmE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,wCAAwC,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;yBACjO;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,mEAAmE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,qBAAqB,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;yBAC9M;wBAED,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC9D,uEAAuE;4BACvE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BAE/D,oBAAoB;4BACpB,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;4BAChC,oBAAoB;wBACtB,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAE9D,IAAI,IAAI,GAAG,MAAM,CAAC;4BAClB,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;4BAC5B,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;wBACjF,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;qBACb;yBAEI;wBAEH,oBAAoB;wBACpB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;4BAC7D,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,8CAA8C;4BAC9C,oEAAoE;4BACpE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gCAExC,IAAI,CAAC,SAAS,GAAG,iEAAiE,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,uCAAuC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC;6BAC7O;iCAAM;gCACL,IAAI,CAAC,SAAS,GAAG,iEAAiE,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC;6BAC3N;4BACD,GAAG;4BACH,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC9D,8CAA8C;gCAC9C,8DAA8D;gCAC9D,+CAA+C;gCAC/C,oBAAoB;gCAEpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;gCAC7E,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gCAChC,oBAAoB;4BACtB,CAAC,CAAC,CAAC;4BACH,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAE9D,IAAI,IAAI,GAAG,MAAM,CAAC;gCAClB,+BAA+B;gCAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;gCACpC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BACzE,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;yBACb;wBACD,qCAAqC;wBAErC,6CAA6C;wBAC7C,8KAA8K;wBAE9K,gBAAgB;wBAChB,GAAG;qBACJ;gBACH,CAAC;aACF,CAAC;YACF,qBAAqB;QACvB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,iEAAuB,GAAvB;QAAA,iBAUC;QATC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,CAAC,IAAI,CAAC,UAAC,MAAM;YACxD,KAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;YACnC,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,KAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAG;gBACnC,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3I,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sEAA4B,GAA5B;QAAA,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YACzE,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,2BAA2B,EAA1C,CAA0C,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAI,GAAJ;QAAA,iBAKC;QAJC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC5D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gDAAgD,EAAE,yBAAyB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uDAAa,GAAb,UAAc,GAAG;QAAjB,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC1C,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAe,GAAf,UAAgB,MAAM;QACpB,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;QAGvB,IAAI,cAAc,GAAQ,CAAC,CAAC;QAC5B,IAAI,SAAS,GAAY,KAAK,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAC/B,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YACpD,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3C;aACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;YACzE,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;YAC3D,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SAClD;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,cAAc,EAAlC,CAAkC,CAAC,CAAC,OAAO,CAAC,aAAG;gBACxF,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;gBAClB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;gBACnB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;gBACrB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;SAC5D;aAAM;YACL,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,cAAc,EAAlC,CAAkC,CAAC,CAAC,OAAO,CAAC,aAAG;gBACxF,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;gBACpB,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;gBACnB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;gBACpB,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;gBACtB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;SAC5D;QACD,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,qDAAW,GAAX,UAAY,KAAK;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAE3D,0EAA0E;YAC1E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACjC,+BAA+B;SAChC;aAAM;YAEL,CAAC,CAAC,UAAU,CAAC;gBAEX,mGAAmG;gBACnG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACpD,+BAA+B;YACjC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,qDAAW,GAAX,UAAY,KAAK;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAC3D,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACvB,CAAC,CAAC,UAAU,CAAC;oBAEX,gFAAgF;oBAChF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACjC,+BAA+B;gBACjC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBAAM;gBAEL,sBAAsB;gBACtB,yCAAyC;gBACzC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAClC,+BAA+B;aAChC;SACF;aAAM;YAEL,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACvB,CAAC,CAAC,UAAU,CAAC;oBACX,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBAAM;gBAEL,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aAEtD;SACF;IACH,CAAC;IAED,wDAAc,GAAd,UAAe,KAAK;QAClB,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI;YAC7B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC7C;YACH,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE;gBAClD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC9B;SACF;IACH,CAAC;IAED,mEAAyB,GAAzB,UAA0B,MAAc,EAAE,SAAiB;QAA3D,iBAMC;QALC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,kBAAkB;YAC1F,KAAI,CAAC,sBAAsB,GAAG,kBAAkB,CAAC;YACjD,IAAI,MAAM,IAAI,CAAC;gBACb,KAAI,CAAC,2BAA2B,GAAG,kBAAkB,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAyB,GAAzB,UAA0B,MAAc;QAAxC,iBA8BC;QA7BC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAClE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBACtB,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;oBAC9F,KAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;oBACvC,YAAY,CAAC,OAAO,CAAC,gBAAM;wBACzB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;wBAClD,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,OAAO,CAAC,gBAAM;oBACnB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC7F,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9F,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;aACnC;QAEH,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,8BAA8B;QAC9B,yCAAyC;QACzC,yCAAyC;QACzC,yCAAyC;QACzC,wCAAwC;QACxC,wCAAwC;QACxC,aAAa;QACb,GAAG;IACL,CAAC;IACD,gDAAM,GAAN,UAAO,KAAK;QACV,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACxC;aACI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACjC,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,OAAO,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,wDAAc,GAAd,UAAe,QAAQ;IACvB,CAAC;IACD,kDAAQ,GAAR;QAEE,oDAAoD;QACpD,IAAI,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE;YACpC,sFAAsF;YACtF,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;YAC5E,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC;YAE/E,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC5B;aAAM;YACL,oFAAoF;YAEpF,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,kDAAkD,CAAC,CAAC;YAClF,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;YAEzE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SAChC;IACH,CAAC;IACD,uDAAa,GAAb,UAAc,KAAK;QAAnB,iBAYC;QATC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC;QAErC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC3D,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,qDAAW,GAAX;IACA,CAAC;IAED,+DAAqB,GAArB;QAAA,iBA4BC;QA3BC,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;SAEjB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,uDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,qDAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,uDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,2DAAiB,GAAjB;QAAA,iBA4BC;QA3BC,IAAI,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC5E,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnE,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,+DAAqB,GAArB,UAAsB,gBAAwB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;wBACxB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;wBACxB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;wBACvD,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,UAAU,MAAM;4BAClF,OAAO;gCACL,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAC,IAAI,QAAC,CAAC,QAAQ,EAAV,CAAU,CAAC;gCACpE,WAAW,EAAE,UAAU,KAAK;gCAC5B,CAAC;6BACF,CAAC;wBACJ,CAAC;qBACF,CAAC;iBACH;qBACI;oBACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;wBACxB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,eAAe,GAAG;gBACrB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC3D;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;oBACvD,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,UAAU,MAAM;wBAClF,OAAO;4BACL,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAC,IAAI,QAAC,CAAC,QAAQ,EAAV,CAAU,CAAC;4BACpE,WAAW,EAAE,UAAU,KAAK;4BAC5B,CAAC;yBACF,CAAC;oBACJ,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;wBACjG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,0EAA0E,CAAC;wBAC5F,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;4BAC/B,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;4BACtC,OAAO,CAAC,kBAAkB,EAAE,CAAC;wBAC/B,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC;SACH;IACH,CAAC;IAED,qDAAW,GAAX;QAAA,iBAeC;QAdC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;YACzD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC3E,KAAI,CAAC,eAAe,GAAG,KAAK;gBAC5B,KAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;oBACxC,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC;oBACtB,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;oBACvB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,CAAC,oBAAoB,CAAC,CAAC;SAC7B;IAEH,CAAC;IACD,4DAAkB,GAAlB;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qHAAqH,CAAC,CAAC;QACrK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,4DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC;IACnC,CAAC;IAED,4DAAkB,GAAlB,UAAmB,QAAQ;QAA3B,iBAgEC;QA/DC,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5E,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5E,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACxD,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC;gBAEnB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC;gBAEzC,IAAI,KAAI,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;oBACtC,KAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;iBAC1B;qBAAM;oBACL,KAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC7B,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;iBACzB;YAEH,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,EAAE;gBACrC,+CAA+C;gBAC/C,kCAAkC;gBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;iBACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,EAAE;gBAC1C,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACxD,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAG;oBACtD,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC;oBACnB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC;oBACzC,KAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;oBACtC,KAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;iBACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,EAAE;gBAE1C,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC9C;iBACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,EAAE;gBAE1C,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAEtF;YAED,4CAA4C;SAC7C;aACI;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;gBAC/D,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,EAAE,CAAC;SAEtB;IAEH,CAAC;IAED,uDAAa,GAAb,UAAc,GAAG;QAEf,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;YAC3C,CAAC,CAAC,qBAAqB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SAClE;aAAM;YACL,CAAC,CAAC,qBAAqB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACnE;IACH,CAAC;IACD,2DAAiB,GAAjB,UAAkB,MAAM;QAAxB,iBAmBC;QAjBC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;YACzH,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBAClE,KAAI,CAAC,aAAa,GAAG,UAAU,CAAC;gBAChC,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC;gBAC9B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAApC,CAAoC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBAClE,KAAI,CAAC,aAAa,GAAG,UAAU,CAAC;gBAChC,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC;gBAC9B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAApC,CAAoC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,0EAAgC,GAAhC;QACE,IAAI,CAAC,cAAc,GAAgB;YACjC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG;YAClC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,kEAAwB,GAAxB,UAAyB,gBAAwB;QAE/C,IAAI,CAAC,aAAa,GAAG;YACnB,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;YAC9F,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;YACtF,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;YACvF,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;SAE1F,CAAC;IACJ,CAAC;IAGD,2EAAiC,GAAjC;QACE,IAAI,CAAC,eAAe,GAAgB;YAClC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;SACxO,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG;YACnC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,mEAAyB,GAAzB,UAA0B,gBAAwB;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG;YACpB;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBAC1E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,eAAe,CAAC,YAAY,GAAG,UAAU,CAAC;wBAClD,OAAO,CAAC,gCAAgC,EAAE,CAAC;wBAC3C,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;4BAC3E,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;wBAClC,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;gBAChD,UAAU,EAAE,CAAC;aACd;SACF,CAAC;IACJ,CAAC;IACD,gEAAsB,GAAtB,UAAuB,KAAK;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACZ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,8DAAoB,GAApB;IAEA,CAAC;IAED,6DAAmB,GAAnB;QAAA,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACxF,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,KAAI,CAAC,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/J,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAQ,GAAR;QAAA,iBAuNC;QArNC,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC9D,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YAEzC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBAEX,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC7C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,+CAA+C;QACjD,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAGhD,IAAI,CAAC,IAAI,GAAG,IAAI,mDAAK,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG;YAClC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAC;SACpD,CAAC;QAGF,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAE/D,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACrF,YAAY,CAAC,OAAO,CAAC,sBAAY;YACjC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,YAAY,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACvF,YAAY,CAAC,OAAO,CAAC,sBAAY;YACjC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,eAAe;YAClG,eAAe,CAAC,OAAO,CAAC,yBAAe;YACvC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,mBAAmB;YAC1G,mBAAmB,CAAC,OAAO,CAAC,6BAAmB;YAC/C,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,uBAAuB,GAAG,mBAAmB,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YACxF,UAAU,CAAC,OAAO,CAAC,oBAAU;YAC7B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YACvF,UAAU,CAAC,OAAO,CAAC,oBAAU;YAC7B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YACpF,UAAU,CAAC,OAAO,CAAC,oBAAU;YAC7B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACpF,QAAQ,CAAC,OAAO,CAAC,kBAAQ;YACzB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,gBAAgB;YAChG,gBAAgB,CAAC,OAAO,CAAC,0BAAgB;YACzC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YAC7F,YAAY,CAAC,OAAO,CAAC,sBAAY;YACjC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,kGAAkG;QAClG,qCAAqC;QACrC,KAAK;QAEL,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpF,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,WAAW,CAAC,OAAO,CAAC,aAAG;gBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;YAC1G,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG;YACtB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAC,OAAO;SAEb,CAAC;QAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,gBAAgB,GAAG;YACtB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAE3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,CAAC,yBAAyB,GAAG;YAC/B,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,kBAAkB;YACxB,aAAa,EAAE,YAAY;YAE3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QAEF,IAAI,CAAC,yBAAyB,GAAG;YAC/B,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,sBAAsB;YAC5B,aAAa,EAAE,YAAY;YAE3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;QAClC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC1Z,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,kDAAkD;QAClD,yBAAyB;QACzB,KAAK;QAIL,IAAI,CAAC,QAAQ,GAAG,IAAI,wDAAS,CAAC;YAC5B,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtE,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpE,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpE,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtE,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,yDAAU,CAAC,KAAK,CAAC;YAC3D,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,CAAC;YAC5J,sBAAsB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,yDAAU,CAAC,aAAa,CAAC;YACjG,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,yDAAU,CAAC,aAAa,CAAC;YAC7E,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,yDAAU,CAAC,aAAa,CAAC;YAC1F,cAAc,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC5E,qBAAqB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC1F,mBAAmB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtF,iGAAiG;YACjG,oBAAoB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACxF,oBAAoB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACxF,iBAAiB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClF,gBAAgB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChF,wBAAwB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChG,2BAA2B,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACvG,CAAC,CAAC;QACH,8FAA8F;QAC9F,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpE,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/G,CAAC,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,6CAA6C;QAC7C,KAAK;QAEL,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SACvB;QAED,wCAAwC;QACxC,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC9C,yDAAyD;QACzD,2DAA2D;QAE3D,kBAAkB;QAClB,sCAAsC;QACtC,KAAK;QACL,iCAAiC;QACjC,0EAA0E;QAC1E,mCAAmC;QACnC,8CAA8C;QAC9C,0CAA0C;QAC1C,4BAA4B;QAC5B,OAAO;QACP,KAAK;QACL,KAAK;IAIP,CAAC;IAED,oEAA0B,GAA1B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QACnJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,sDAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAEhC,CAAC;IAED,wDAAc,GAAd,UAAe,KAAK;QAClB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,8CAA8C;QAC9C,yCAAyC;IAC3C,CAAC;IAED,qDAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,uDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,4DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,8CAA8C;QAC9C,yCAAyC;IAC3C,CAAC;IAED,8DAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,8CAA8C;QAC9C,yCAAyC;IAC3C,CAAC;IAED,2DAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,6DAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,iEAAuB,GAAvB,UAAwB,KAAK;QAC5B,iCAAiC;QAChC,8CAA8C;QAC9C,yCAAyC;IAC3C,CAAC;IAED,iEAAuB,GAAvB,UAAwB,KAAK;QAC5B,iCAAiC;QAChC,8CAA8C;QAC9C,yCAAyC;IAE3C,CAAC;IAED,8DAAoB,GAApB,UAAqB,KAAK;QACxB,gCAAgC;QAChC,8CAA8C;QAC9C,yCAAyC;IAC3C,CAAC;IAED,gEAAsB,GAAtB,UAAuB,KAAK;QAC3B,iCAAiC;QAChC,8CAA8C;QAC9C,yCAAyC;IAC3C,CAAC;IAGD,qDAAW,GAAX,UAAY,MAAM;QAAlB,iBAIC;QAHC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAK,IAAI,YAAI,CAAC,KAAK,GAAG,KAAK,EAAlB,CAAkB,CAAC,CAAC;SACnE;IACH,CAAC;IACD,mDAAS,GAAT;QAAA,iBAWC;QAVC,IAAI,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC,SAAS,IAAI,kBAAkB,EAAE;YAC1F,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,GAAG,UAAU,CAAC;SACzD;aAAM;SAEN;QAED,IAAI,CAAC,mBAAmB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC5E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,qBAAqB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAE5B,CAAC;IACD,4DAAkB,GAAlB,UAAmB,EAAE;QACnB,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,wBAAwB;IAE1B,CAAC;IACD,yDAAe,GAAf,UAAgB,QAAQ,EAAE,SAAS,EAAE,MAAM;QAA3C,iBAkBC;QAjBC,IAAI,QAAQ,IAAI,MAAM;YAAE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC5C,IAAI,QAAQ,IAAI,WAAW;YAAE,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;aAC7D,IAAI,QAAQ,IAAI,SAAS;YAAE,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAE9D,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC/G,IAAI,QAAQ,IAAI,MAAM,EAAE;gBACtB,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;aAEnC;iBACI,IAAI,QAAQ,IAAI,WAAW,EAAE;gBAChC,KAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;aAC1C;iBACI,IAAI,QAAQ,IAAI,SAAS,EAAE;gBAC9B,KAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,kDAAQ,GAAR,UAAS,IAAI;QACX,IAAI,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAO,CAAC,CAAC,CAAC;QAClF,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,sCAAsC;IACxC,CAAC;IACD,kDAAQ,GAAR,UAAS,GAAG;QACV,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC7C,+BAA+B;QAC/B,yCAAyC;QACzC,sCAAsC;QACtC,GAAG;IACL,CAAC;IACD,qDAAW,GAAX,UAAY,KAAK;QACf,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAChE;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QACM,gBAAgB,EAAE;QAEzB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;YACvT,8CAA8C;YAC9C,yCAAyC;SAC1C;aACI;YACH,8CAA8C;YAC9C,wCAAwC;SACzC;IAGH,CAAC;IACM,wDAAc,GAArB;QACE,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC;QACF,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC;QACF,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC;QACF,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;YACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC;QACF,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;YACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAEM,4DAAkB,GAAzB;QACE,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,2BAA2B,CAAC;IACjE,CAAC;IAEM,uDAAa,GAApB;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,mDAAK,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,aAAY;IAC7C,CAAC;IAED,uDAAa,GAAb,UAAc,IAAI;QAAlB,iBAaC;QAZC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAM,OAAO,GAAG,IAAI,OAAO,CAAM,UAAC,OAAO,EAAE,MAAM;YAC/C,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACpD,KAAK,CAAC,OAAO,CAAC,eAAK;oBACjB,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE;wBACnC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;wBAC7B,OAAO,EAAE,CAAC;qBACX;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,sDAAY,GAAZ,UAAa,GAAG;QAAhB,iBAoMC;QAnMC,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;QACtE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC9C,KAAI,CAAC,GAAG,GAAG,MAAM,CAAC;YAClB,IAAI,KAAI,CAAC,GAAG,IAAI,IAAI,EAAE;gBACpB,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE,OAAO,CAAC,CAAC;gBACvF,OAAO;aACR;YACD,IAAI,GAAG,IAAI,MAAM,EAAE;gBACjB,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,IAAI,KAAI,CAAC,IAAI,CAAC,EAAE,EAAE;oBACvC,KAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,KAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;oBACrE,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;iBACvE;gBACD,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,KAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC9D,KAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;gBACvC,KAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBACpC,KAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBACrC,IAAI,KAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,SAAS,IAAI,KAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAG;oBACjG,KAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAG;wBAC1C,KAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG;oBACnD,CAAC,CAAC,CAAC;iBACJ;gBACD,IAAI,KAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,SAAS,IAAI,KAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtG,KAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC/F;gBACD,IAAI,KAAI,CAAC,IAAI,CAAC,0BAA0B,IAAI,SAAS,IAAI,KAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxG,KAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAG;wBAC9C,KAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG;oBACjD,CAAC,CAAC,CAAC;iBACJ;gBAED,IAAI,KAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,SAAS,IAAI,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5F,KAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACjF;gBAED,KAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAClD,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;oBACtB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,KAAI,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;wBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACvD,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBACrD;wBACD,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;qBAC9C;oBAED,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAClC,KAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACrF,IAAI,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE;wBAAE,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAAE;yBACzD;wBAAE,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAAE;oBAE/B,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACxC,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;wBAE/D,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACzB,CAAC,CAAC,CAAC;oBAEH,KAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5B,KAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;oBAC7B,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC;aAEJ;YACD,IAAI,GAAG,IAAI,YAAY,EAAE;gBACvB,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,KAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC9D,IAAI,sBAAsB,GAA2B,IAAI,2EAAsB,EAAE,CAAC;gBAClF,sBAAsB,CAAC,kBAAkB,GAAG,KAAI,CAAC,sBAAsB,CAAC;gBACxE,sBAAsB,CAAC,cAAc,GAAG,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,sBAAsB,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpD,KAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACxE,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC;oBACxB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAE7F,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;wBAE/D,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACzB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACvE,KAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,MAAM,CAAC;wBAC5C,KAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,GAAG,MAAM,CAAC;oBACnE,CAAC,CAAC,CAAC;oBAEH,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,KAAI,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;wBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACvD,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBACrD;wBACD,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;qBAC9C;oBAED,KAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;oBACtC,KAAI,CAAC,yBAAyB,CAAC,KAAI,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBACtD,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aACjD;YACD,IAAI,GAAG,IAAI,cAAc,EAAE;gBACzB,KAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAI,CAAC,IAAI,CAAC,iBAAiB,EAAC,KAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;oBAClH,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7F,KAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,KAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACjE,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,GAAG,IAAI,cAAc,EAAE;gBACzB,KAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,KAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACjD,KAAI,CAAC,SAAS,CAAC,aAAa,GAAG,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvD,KAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAI,CAAC,IAAI,CAAC,YAAY,CAAC;gBACrD,KAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC;gBACnD,KAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7C,KAAI,CAAC,SAAS,CAAC,aAAa,GAAG,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvD,KAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,KAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,KAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACjD,KAAI,CAAC,SAAS,CAAC,cAAc,GAAG,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC;gBACzD,KAAI,CAAC,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChF,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC7D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7F,KAAI,CAAC,WAAW,CAAC,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC;oBACxD,KAAI,CAAC,WAAW,CAAC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,aAAa,CAAC;oBAC9D,KAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAI,CAAC,SAAS,CAAC,YAAY,CAAC;oBAC5D,KAAI,CAAC,WAAW,CAAC,WAAW,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC;oBAC1D,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;oBACpD,KAAI,CAAC,WAAW,CAAC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,aAAa,CAAC;oBAC9D,KAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC5C,KAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC5C,KAAI,CAAC,WAAW,CAAC,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC;oBACxD,KAAI,CAAC,WAAW,CAAC,cAAc,GAAG,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC;oBAChE,KAAI,CAAC,WAAW,CAAC,eAAe,GAAG,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC;oBAClE,KAAI,CAAC,WAAW,CAAC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC;oBAE/D,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;aACJ;YACD,QAAQ;iBACH;gBACH,IAAI,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChC,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACzC,OAAO,KAAK,CAAC;qBACV,IAAI,IAAI,IAAI,SAAS;oBACxB,KAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;;oBAE1B,KAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAE5B,IAAI,KAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE;oBACpB,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvC,KAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAC1D,IAAI,sBAAsB,GAA2B,IAAI,2EAAsB,EAAE,CAAC;wBAClF,sBAAsB,CAAC,kBAAkB,GAAG,KAAI,CAAC,sBAAsB,CAAC;wBACxE,sBAAsB,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC;wBAClD,sBAAsB,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;wBAEpD,KAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,gBAAM;4BACxE,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;4BACrB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACvD,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;6BACrD;4BACD,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;4BAE7C,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gCAE/D,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;4BACzB,CAAC,CAAC,CAAC;4BACH,KAAI,CAAC,IAAI,GAAG,IAAI,mDAAK,EAAE,CAAC;4BACxB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;4BAC3B,KAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;4BACrB,KAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;4BACxB,KAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;4BAC5B,KAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;4BAClC,KAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BAC5B,KAAI,CAAC,oBAAoB,EAAE,CAAC;4BAC5B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;4BAC1F,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;4BAC/B,gFAAgF;4BAChF,iCAAiC;4BACjC,KAAK;4BACL,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;4BACxC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;4BAEtB,KAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5B,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;qBACI;oBACH,2DAA2D;iBAC5D;aACF,CAAC,mBAAmB;QACvB,CAAC,CAAC,CAAC,sCAAqC;QACxC,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAEnD,CAAC;IAED,8DAAoB,GAApB;QAEE,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,mDAAS,GAAT,UAAU,IAAI;QACZ,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACpC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;oBACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,CAAC,CAAC;aACH;iBAAM;gBACL,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;oBACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,CAAC,CAAC;aACH;SACF;QACD,IAAI,IAAI,IAAI,KAAK,EAAE;YACjB,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACnC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,CAAC,CAAC;aACH;iBAAM;gBACL,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBACb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,CAAC,CAAC;aACH;SACF;QACD,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACpC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;oBACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,CAAC,CAAC;aACH;iBAAM;gBACL,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;oBACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,CAAC,CAAC;aACH;SAEF;IAEH,CAAC;IACD,qDAAW,GAAX,UAAY,EAAE,EAAE,IAAI;QAClB,IAAI,OAAO,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC;QAC9C,IAAI,IAAI,IAAI,KAAK,EAAE;YACjB,OAAO,GAAG,UAAU,GAAG,EAAE;YACzB,SAAS,GAAG,SAAS,CAAC;YACtB,MAAM,GAAG,gBAAgB,CAAC;SAC3B;aAAM,IAAI,IAAI,IAAI,MAAM,EAAE;YACzB,OAAO,GAAG,WAAW,GAAG,EAAE;YAC1B,SAAS,GAAG,UAAU,CAAC;YACvB,MAAM,GAAG,iBAAiB,CAAC;SAC5B;aAAM;YACL,OAAO,GAAG,WAAW,GAAG,EAAE;YAC1B,SAAS,GAAG,UAAU,CAAC;YACvB,MAAM,GAAG,iBAAiB,CAAC;SAC5B;QACD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAC;QACF,IAAI,OAAO,GAAG,CAAC,EAAE;YACf,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACxC;aAAM;YACL,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACvC;IACH,CAAC;IACD,wDAAc,GAAd,UAAe,EAAE,EAAE,IAAI;QACrB,IAAI,OAAO,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC;QAC9C,IAAI,IAAI,IAAI,KAAK,EAAE;YACjB,OAAO,GAAG,MAAM,GAAG,EAAE;YACrB,SAAS,GAAG,KAAK,CAAC;YAClB,MAAM,GAAG,YAAY,CAAC;SACvB;aAAM,IAAI,IAAI,IAAI,MAAM,EAAE;YACzB,OAAO,GAAG,OAAO,GAAG,EAAE;YACtB,SAAS,GAAG,MAAM,CAAC;YACnB,MAAM,GAAG,aAAa,CAAC;SACxB;aAAM;YACL,OAAO,GAAG,OAAO,GAAG,EAAE;YACtB,SAAS,GAAG,MAAM,CAAC;YACnB,MAAM,GAAG,aAAa,CAAC;SACxB;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAC;QACF,IAAI,OAAO,GAAG,CAAC,EAAE;YACf,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACxC;aAAM;YACL,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACvC;IACH,CAAC;IACD,sDAAY,GAAZ,UAAa,QAAQ;QACnB,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,kDAAQ,GAAR,UAAS,QAAQ;IAEjB,CAAC;IACD,sDAAY,GAAZ;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAE3B,CAAC;IAED,sDAAY,GAAZ;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,mDAAS,GAAT,UAAU,MAAM,EAAE,IAAI,EAAE,QAAQ;QAE9B,IAAI,MAAM,GAAG,CAAC,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,EAArC,CAAqC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC;gBACjF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS,EAAxC,CAAwC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC;gBACzF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,EAA1C,CAA0C,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC;gBAC7F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;SACjE;aACI;YACH,IAAI,QAAQ,IAAI,MAAM,EAAE;gBAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;aAAE;iBACrE,IAAI,QAAQ,IAAI,SAAS,EAAE;gBAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;aAAE;iBACnF,IAAI,QAAQ,IAAI,WAAW,EAAE;gBAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;aAAE;SAC/F;QAED,IAAI,QAAQ,IAAI,MAAM,EAAE;YACtB,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW,GAAG,KAAK;SACzB;aACI,IAAI,QAAQ,IAAI,SAAS,EAAE;YAC9B,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,GAAG,KAAK;SAC5B;aACI,IAAI,QAAQ,IAAI,WAAW,EAAE;YAChC,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,gBAAgB,GAAG,KAAK;SAC9B;IAEH,CAAC;IAED,qBAAqB;IACrB,wBAAwB;IAExB,oCAAoC;IAEpC,gCAAgC;IAChC,0CAA0C;IAC1C,oCAAoC;IAEpC,yDAAyD;IACzD,8FAA8F;IAC9F,wEAAwE;IACxE,8EAA8E;IAC9E,4CAA4C;IAC5C,WAAW;IACX,4CAA4C;IAC5C,SAAS;IACT,SAAS;IACT,uCAAuC;IACvC,oKAAoK;IACpK,0CAA0C;IAC1C,oCAAoC;IAEpC,yDAAyD;IAEzD,oGAAoG;IACpG,wBAAwB;IACxB,8EAA8E;IAC9E,4CAA4C;IAC5C,WAAW;IACX,SAAS;IACT,OAAO;IACP,4LAA4L;IAE5L,kCAAkC;IAClC,qFAAqF;IACrF,4GAA4G;IAC5G,+BAA+B;IAC/B,gCAAgC;IAChC,oCAAoC;IAEpC,oEAAoE;IACpE,yDAAyD;IAEzD,aAAa;IAEb,mFAAmF;IACnF,gBAAgB;IAChB,2CAA2C;IAC3C,6BAA6B;IAC7B,8BAA8B;IAC9B,kCAAkC;IAClC,uBAAuB;IACvB,SAAS;IACT,eAAe;IAEf,KAAK;IACL,gCAAgC;IAChC,yCAAyC;IACzC,mCAAmC;IACnC,0CAA0C;IAC1C,sCAAsC;IACtC,4DAA4D;IAC5D,mGAAmG;IACnG,2EAA2E;IAC3E,8EAA8E;IAC9E,+CAA+C;IAC/C,WAAW;IAEX,SAAS;IACT,SAAS;IACT,4CAA4C;IAC5C,+KAA+K;IAC/K,0CAA0C;IAC1C,sCAAsC;IACtC,4DAA4D;IAC5D,6GAA6G;IAC7G,wBAAwB;IACxB,0EAA0E;IAC1E,+CAA+C;IAC/C,WAAW;IACX,SAAS;IACT,OAAO;IACP,wMAAwM;IAExM,kCAAkC;IAClC,wFAAwF;IACxF,8GAA8G;IAC9G,kCAAkC;IAClC,qCAAqC;IACrC,uCAAuC;IACvC,uEAAuE;IACvE,+DAA+D;IAE/D,aAAa;IACb,sFAAsF;IACtF,gBAAgB;IAChB,2CAA2C;IAC3C,gCAAgC;IAChC,mCAAmC;IACnC,qCAAqC;IACrC,uBAAuB;IACvB,SAAS;IACT,YAAY;IAEZ,KAAK;IACL,kCAAkC;IAElC,sCAAsC;IACtC,2CAA2C;IAE3C,qCAAqC;IAErC,oCAAoC;IAEpC,0DAA0D;IAC1D,+FAA+F;IAC/F,yEAAyE;IACzE,8EAA8E;IAC9E,iDAAiD;IACjD,WAAW;IACX,4CAA4C;IAC5C,SAAS;IACT,SAAS;IAET,8CAA8C;IAC9C,+KAA+K;IAC/K,0CAA0C;IAC1C,oCAAoC;IACpC,0DAA0D;IAC1D,2GAA2G;IAC3G,wBAAwB;IACxB,0EAA0E;IAC1E,iDAAiD;IACjD,WAAW;IACX,SAAS;IACT,OAAO;IACP,kJAAkJ;IAClJ,kCAAkC;IAClC,0FAA0F;IAC1F,gHAAgH;IAChH,oCAAoC;IACpC,uCAAuC;IACvC,yCAAyC;IACzC,qEAAqE;IACrE,mEAAmE;IAEnE,aAAa;IAEb,oFAAoF;IACpF,gBAAgB;IAChB,2CAA2C;IAC3C,kCAAkC;IAClC,qCAAqC;IACrC,uCAAuC;IACvC,uBAAuB;IACvB,SAAS;IACT,SAAS;IAGT,KAAK;IACL,GAAG;IACH,4DAAkB,GAAlB,UAAmB,GAAG;QAEpB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,GAAG,IAAI,MAAM,EAAE;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;SAAE;aACzI,IAAI,GAAG,IAAI,SAAS,EAAE;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;SAAE;aAC1J,IAAI,GAAG,IAAI,WAAW,EAAE;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;SAAE;IAErK,CAAC;IAED,oDAAU,GAAV,UAAW,EAAE,EAAE,MAAM;QACnB,IAAI,MAAM,IAAI,GAAG,EAAE;YACjB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YACvE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC5E,IAAI,IAAI,GAAE,IAAI,CAAC;YACf,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,CAAC,GAAG,OAAO,CAAC,yDAAyD,CAAC,CAAC;gBAC3E,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBACxD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,WAAW,CAAC,CAAC;wBACtE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;oBACJ,8BAA8B;iBAC9B;qBACI;oBACH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;oBAC5F,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;iBAClG;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aACI;YAEH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YACvE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC5E,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,CAAC,CAAC,UAAU,CAAC;gBACb,IAAI,CAAC,GAAG,OAAO,CAAC,mDAAmD,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBACxD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,WAAW,CAAC,CAAC;wBACxE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;iBACF;qBACI;oBACH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;oBAC5F,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;iBAClG;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACD,yDAAe,GAAf,UAAgB,EAAE,EAAE,MAAM;QACxB,IAAI,MAAM,IAAI,GAAG,EAAE;YAEjB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YACxE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC7E,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,CAAC,GAAG,OAAO,CAAC,yDAAyD,CAAC,CAAC;gBAC3E,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBACnD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uCAAuC,EAAE,WAAW,CAAC,CAAC;wBAC1E,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;oBACL,gCAAgC;iBAC/B;qBACI;oBACH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;oBAC7F,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;iBACnG;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;aACI;YACH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YACxE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC7E,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,CAAC,CAAC,UAAU,CAAC;gBACb,IAAI,CAAC,GAAG,OAAO,CAAC,mDAAmD,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBACxD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0CAA0C,EAAE,WAAW,CAAC,CAAC;wBAC7E,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;iBACF;qBACI;oBACH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;oBAC7F,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;iBACnG;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACD,uDAAa,GAAb,UAAc,EAAE,EAAE,MAAM;QACtB,IAAI,MAAM,IAAI,GAAG,EAAE;YACjB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC1E,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC/E,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,CAAC,GAAG,OAAO,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBACnD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,WAAW,CAAC,CAAC;wBACxE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;oBAEJ,iCAAiC;iBACjC;qBACI;oBACH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;oBAC/F,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;iBACnG;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aACI;YACH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC1E,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC/E,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,CAAC,CAAC,UAAU,CAAC;gBACb,IAAI,CAAC,GAAG,OAAO,CAAC,qDAAqD,CAAC,CAAC;gBACvE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBACxD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE,WAAW,CAAC,CAAC;wBACzE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;iBACF;qBACI;oBACH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;oBAC/F,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;iBACrG;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IAED,8CAAI,GAAJ,UAAK,IAAI,EAAE,QAAQ;QAGjB,IAAI,QAAQ,IAAG,cAAc,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE;YACjE,KAAK,CAAC,2CAA2C,CAAC;SACnD;aACG,IAAI,QAAQ,IAAI,eAAe,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE;YACxE,KAAK,CAAC,2CAA2C,CAAC;SACnD;aACG,IAAI,QAAQ,IAAI,iBAAiB,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE;YAC5E,KAAK,CAAC,2CAA2C,CAAC;SACnD;aACI;YAEC,IAAI,QAAQ,IAAI,cAAc,EAAE;gBAChC,IAAI;gBACF,IAAI,IAAI,IAAI,CAAC,EAAE;oBACb,IAAI,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACzD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACrC;gBACD,8DAA8D;gBAC/D,uCAAuC;aACvC;iBACI,IAAI,QAAQ,IAAI,eAAe,EAAE;gBACpC,gEAAgE;gBAChE,IAAI,IAAI,IAAI,CAAC,EAAE;oBACb,IAAI,cAAc,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACjE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACjD;aACF;iBACI,IAAI,QAAQ,IAAI,iBAAiB,EAAE;gBACtC,IAAI,IAAI,IAAI,CAAC,EAAE;oBACb,IAAI,YAAY,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBAC/D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC7C;aACF;YAEA,CAAC,CAAC,UAAU,CAAC;gBAEZ,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;gBACrD,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC;gBAC1F,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC;gBAEjG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBACxD,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC7C,IAAI,IAAI,IAAI,CAAC,EAAE;oBACb,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;iBAC7D;gBAED,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC7B,qDAAqD;gBACrD,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;gBACnE,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;gBAE7E,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,eAAe,EAAE;oBACjE,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;iBAChC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAIV;IAGP,CAAC;IACD,2DAAiB,GAAjB,UAAkB,IAAI,EAAE,QAAQ;QAE9B,IAAI,QAAQ,IAAI,eAAe,EAAE;YAC/B,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;SAC7B;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,8DAAoB,GAApB,UAAqB,QAAQ;QAA7B,iBAoCC;QAnCC,IAAI,CAAC,GAAG,OAAO,CAAC,wDAAwD,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,QAAQ,IAAI,OAAO,EAAE;gBAEvB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0CAA0C,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBAClE,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;aAEpE;iBACI,IAAI,QAAQ,IAAI,OAAO,EAAE;gBAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,4CAA4C,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBACpE,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;aACrE;iBACI,IAAI,QAAQ,IAAI,SAAS,EAAE;gBAC9B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gDAAgD,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBACxE,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;aACvE;YACH,oBAAoB;YAClB,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7E,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpF,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,qCAAqC,EAAE,QAAQ,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAEnH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,kEAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,mDAAS,GAAT,UAAU,GAAG;QAAb,iBA2CC;QA1CC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC9B,IAAI,GAAG,IAAI,MAAM;YACf,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC;aACxD,IAAI,GAAG,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC;aACtF,IAAI,GAAG,IAAI,OAAO;YAAE,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC;QAEvF,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE;YAC3C,OAAO,KAAK,CAAC;QACf,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC1E,IAAI,MAAM,IAAI,IAAI,EAAE;oBAClB,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAE3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC1F,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;wBAC/B,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;wBAC1B,KAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;4BACjE,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;4BAC1B,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAC9B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACnC,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACnC,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;qBACI;oBACH,KAAK,CAAC,KAAI,CAAC,SAAS,CAAC,aAAa,GAAG,iBAAiB,CAAC;iBACxD;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAE3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1F,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC1B,KAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;oBACjE,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBAC1B,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACnC,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,uDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtL,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kHAAkH,CAAC,CAAC;QACjJ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aAAM;YAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAAE;IAExC,CAAC;IAGD,sDAAY,GAAZ,UAAa,IAAI;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;QACxD,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;YAC9C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;aAAM,IAAI,IAAI,IAAI,OAAO,EAAE;YAC1B,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACnD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;YAC/C,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;aAAM;YACL,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACrD,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;YACjD,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;IACH,CAAC;IACD,uDAAa,GAAb,UAAc,IAAI;QAChB,IAAI,IAAI,IAAI,MAAM,EAAE;YAElB,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;;gBAE9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAEjC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;aAAM,IAAI,IAAI,IAAI,OAAO,EAAE;YAE1B,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;;gBAE5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAE/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;aAAM;YAEL,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC/C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;;gBAE9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAEjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;IACH,CAAC;IACD,yDAAe,GAAf,UAAgB,IAAI;QAClB,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;QAC9C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;QACxD,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAE3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,uDAAa,GAAb,UAAc,SAAS,EAAE,IAAI,EAAE,MAAM;QACnC,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,4CAA4C;YAC1C,SAAS,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAChD,GAAG;YACH,QAAQ;YACR,0CAA0C;YAC1C,6CAA6C;YAC7C,GAAG;SACJ;aACI,IAAI,IAAI,IAAI,WAAW,EAAE;YAC5B,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACxC,SAAS,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;aAC/C;iBACI;gBACH,SAAS,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;aAC1C;SACF;aACI,IAAI,IAAI,IAAI,SAAS,EAAE;YAC1B,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBAC1C,SAAS,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;gBACzC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;aAC/C;iBACI;gBACH,SAAS,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;gBACzC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;aAC1C;SACF;IACH,CAAC;IAGD,qDAAW,GAAX,UAAY,KAAK;QAEf,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE/B,qDAAqD;QACrD,6DAA6D;IAC/D,CAAC;IACD,4DAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,gCAAgC,EAAE,CAAC;IAE1C,CAAC;IACD,mDAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,IAAI,OAAO,EAClB;YACE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACvB;aACI,IAAI,GAAG,IAAI,WAAW,EAAE;YAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACvB;aACI;YACH,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;QACD,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED,mDAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,OAAO,CAAC;QAChD,IAAI,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC9C,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YAC1E,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAE/B,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,sBAAsB,GAAG,WAAW,CAAC;YAC/C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;aAAM;YAGL,IAAI,GAAG,IAAI,WAAW,EAAE;gBACtB,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;gBAC1C,IAAI,KAAG,GAAG,IAAI,CAAC;gBACf,CAAC,CAAC,UAAU,CAAC;oBACX,KAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAG,CAAC,WAAW,CAAC,CAAC;gBACxE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI,IAAI,GAAG,IAAI,aAAa,EAAE;gBAC7B,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;gBAC1C,IAAI,KAAG,GAAG,IAAI,CAAC;gBACf,CAAC,CAAC,UAAU,CAAC;oBACX,KAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAG,CAAC,WAAW,CAAC,CAAC;gBACrE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBAAM,IAAI,GAAG,IAAI,YAAY,EAAE;gBAC9B,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;gBAC1C,IAAI,KAAG,GAAG,IAAI,CAAC;gBACf,CAAC,CAAC,UAAU,CAAC;oBACX,KAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAG,CAAC,WAAW,CAAC,CAAC;gBACrE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;IAEH,CAAC;IACD,0DAAgB,GAAhB,UAAiB,GAAG;QAApB,iBA4FC;QA1FC,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACzC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,WAAW,CAAC;QAC1D,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,0BAA0B,EAAE,CAAC;SACnC;QACD,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,GAAG,IAAI,WAAW,EAAE;YACtB,IAAI,CAAC,sBAAsB,GAAG;gBAC5B,eAAe,EAAE,IAAI;gBACrB,IAAI,EAAE,uBAAuB;gBAC7B,aAAa,EAAE,YAAY;gBAE3B,eAAe,EAAE,cAAc;gBAC/B,kBAAkB,EAAE,IAAI;gBACxB,cAAc,EAAE,CAAC;aAClB,CAAC;YACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;gBAC1E,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC/B,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,iBAAiB,GAAG,WAAW,CAAC;gBAC1C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACR;;gBACC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;oBAC9F,YAAY,CAAC,OAAO,CAAC,sBAAY;oBACjC,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;oBACvC,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACnC,CAAC,CAAC,CAAC;YACL,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;gBAC1E,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,yBAAyB,CAAC,SAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACnD,SAAO,CAAC,4BAA4B,EAAE,CAAC;gBACzC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;aACI,IAAI,GAAG,IAAI,YAAY,EAAE;YAE5B,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,OAAO,CAAC;YAChD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;gBAC1E,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC/B,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,iBAAiB,GAAG,WAAW,CAAC;gBAC1C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACR;;gBACC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;SAClC;aACI,IAAI,GAAG,IAAI,QAAQ,EAAE;YAExB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;gBAC1E,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC/B,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,iBAAiB,GAAG,WAAW,CAAC;gBAC1C,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACT;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;gBACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAE5D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;SACF;aACI,IAAI,GAAG,IAAI,WAAW,EAAE;YAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SAC7B;aACI,IAAI,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC9B;QACD,mCAAmC;QACnC,2DAA2D;QAC3D,GAAG;aACE,IAAI,GAAG,IAAI,cAAc,EAAE;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,OAAO,CAAC;YAChD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;SAClC;IAEH,CAAC;IACD,gEAAsB,GAAtB;QACE,IAAI,CAAC,oBAAoB,GAAgB;YACvC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;IAEJ,CAAC;IACD,wEAA8B,GAA9B,UAA+B,gBAAwB;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,mBAAmB,GAAG;YACzB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACxD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC7E;gBACE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,YAAC,MAAM;oBAEtF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,mBAAmB,CAAC;oBAC/E,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;wBACvC,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAEpD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,YAAC,MAAM;oBACrF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,mBAAmB,CAAC;oBAC9E,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;wBACtC,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SAEF,CAAC;IAEJ,CAAC;IAED,2DAAiB,GAAjB,UAAkB,EAAc;QAAhC,iBAsDC;QAtDiB,2BAAc;QAC9B,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACnC,mBAAmB;QACnB,iFAAiF;QACjF,iBAAiB;QAEjB,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,SAAS,EAAE;YAC9C,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;gBAC9F,KAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;gBAEvC,IAAI,KAAK,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;oBAE9B,IAAI,OAAO,GAAG,IAAI,+EAAe,EAAE,CAAC;oBACpC,OAAO,CAAC,eAAe,GAAG,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB;oBAG3E,IAAI,CAAC,IAAI,CAAC;wBACR,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;;wBAErB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAEvB,OAAO,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,cAAc,GAAG,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7C;gBACD,IAAI,KAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5C,KAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAC7E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBAChG,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACjC,CAAC,CAAC,CAAC;iBACJ;YAEH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;YACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAE9B,IAAI,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACtE,IAAI,OAAO,GAAG,IAAI,+EAAe,EAAE,CAAC;gBACpC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnF,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7C;YACD,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC7E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChG,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YACjC,CAAC,CAAC,CAAC;SACJ;QACD,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,EAAE,CAAC;IACnD,CAAC;IACD,wDAAc,GAAd;QAAA,iBAMC;QALC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3F,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,wBAAwB;IAExB,uEAAuE;IACvE,kFAAkF;IAClF,GAAG;IACH,2DAAiB,GAAjB,UAAkB,GAAG;QAArB,iBAqBC;QApBC,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAU;YAC/D,KAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC;YACtC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1B,IAAI,CAAC,GAAG,OAAO,CAAC,oDAAoD,CAAC,CAAC;gBACtE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC9D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC7E,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC9B,CAAC,CAAC,CAAC;iBACJ;aACF;iBACI;gBACH,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChC,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,KAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,+BAA+B;aAChC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,6DAAmB,GAAnB,UAAoB,KAAK,EAAC,MAAM;QAAhC,iBAqBC;QAnBC,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9N,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,EAAC,GAAE,CAAC;QAChL,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,gBAAM;YACrE,IAAI,MAAM,GAAG,CAAC,EAAE;gBACd,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oIAAoI,CAAC,CAAC;gBACnK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBAAM;gBACL,IAAI,CAAC,GAAE,CAAC,MAAM,IAAI,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;gBAC5J,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,KAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAI,CAAC,eAAe,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC1E,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;iBAEJ;aACA;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAe,GAAf,UAAgB,GAAG,IAAK,CAAC;IACzB,4DAAkB,GAAlB,UAAmB,MAAM;QAEnB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAQ;YACjC,IAAI,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC1E,kCAAkC;QACnC,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,8DAAoB,GAApB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uJAAuJ,CAAC,CAAC;QACxM,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,2DAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAC5C,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,mDAAS,GAAT;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;IAEnC,CAAC;IACD,uEAA6B,GAA7B;QACE,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,oBAAoB,CAAC,+BAA+B,EAAE;YAC7D,IAAI,GAAG,IAAI,OAAO;gBAChB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;iBACvB,IAAI,GAAG,IAAI,OAAO;gBACrB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;iBAC7B,IAAI,GAAG,IAAI,OAAO;gBACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;iBACtB,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,IAAI,OAAO;gBACvD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YAEpC,IAAI,CAAC,oBAAoB,CAAC,+BAA+B,GAAG,KAAK,CAAC;YAClE,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAK,CAAC;YAC/C,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,KAAK,CAAC;YAClD,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,KAAK,CAAC;SACnD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,6DAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;aACI,IAAI,GAAG,IAAI,cAAc,EAAE;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aACI;YAEH,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAEhC;IACH,CAAC;IACD,+DAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,GAAG,IAAI,kBAAkB,EAAE;YAC7B,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YAEtC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAEhC;aACI,IAAI,GAAG,IAAI,aAAa,EAAE;YAC7B,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,IAAI,OAAO,EAAE;gBACpD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;aAChC;iBAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,IAAI,OAAO,EAAE;gBAC3D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aAC3B;iBAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,IAAI,OAAO,EAAE;gBAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;YAED,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACvC;IACH,CAAC;IAED,2DAAiB,GAAjB;QAAA,iBAOC;QANC,mEAAmE;QACnE,IAAI,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,IAAI,CAAC,iBAAiB,EAAnC,CAAmC,CAAC,CAAC;QAChG,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEtD,IAAI,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,IAAI,CAAC,qBAAqB,EAAvC,CAAuC,CAAC,CAAC;QAC5G,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5D,CAAC;IACD,wDAAc,GAAd;QACE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;QAEnC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;YAC9B,OAAO,CAAC,IAAI,GAAG,IAAI,mDAAK,EAAE,CAAC;QAC7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,oDAAU,GAAV;QACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,mDAAK,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IACD,8DAAoB,GAApB;QACE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAC/B,CAAC;IACD,6DAAmB,GAAnB;QACE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED,qDAAW,GAAX;QACE,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED,6BAA6B;IAC7B,6BAA6B;IAC7B,2BAA2B;IAC3B,KAAK;IACL,iCAAiC;IACjC,4BAA4B;IAC5B,YAAY;IACZ,4BAA4B;IAC5B,KAAK;IACL,GAAG;IAEH,4DAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE;YACnC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SAEzB;IACH,CAAC;IAED,0DAAgB,GAAhB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,EAAE;YAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,UAAU,CAAC;gBACT,CAAC,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;IACH,CAAC;IACD,wDAAc,GAAd,cAAmB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;IAE9C,6DAAmB,GAAnB,UAAoB,OAAO;QACzB,IAAI,OAAO,IAAI,iBAAiB,EAAE;YAChC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,aAAa,EAAE;YACnC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,YAAY,EAAE;YAClC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;SACvC;QAED,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,gEAAsB,GAAtB,UAAuB,IAAS;QAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,gBAAgB,EAAE;YAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAAE;aAC3D,IAAI,IAAI,CAAC,KAAK,IAAI,4BAA4B,EAAE;YAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SAAE;aAChF,IAAI,IAAI,CAAC,KAAK,IAAI,4BAA4B,EAAE;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAAC;IAEjF,CAAC;IAED,+CAAK,GAAL;QAEE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAE9D,CAAC;IAED,0DAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;YAC9B,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAE7B,IAAI,WAAW,GAAG,IAAI,MAAM,CAAC,gEAAgE,CAAC,CAAC;YAC/F,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;aACtB;SACF;IACH,CAAC;IACD,8DAAoB,GAApB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gIAAgI,CAAC,CAAC;QAClL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,gEAAsB,GAAtB;QACE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,oBAAoB;QACpB,gDAAgD;QAChD,UAAU;IACZ,CAAC;IAED,kDAAQ,GAAR,UAAS,KAAK;QAEZ,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAExB,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC1C;IACH,CAAC;IAED,sDAAY,GAAZ,UAAa,IAAI;QACf,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;YACnC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5C,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACrE,OAAO,CAAC,WAAW,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;gBACjE,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,iEAAuB,GAAvB,UAAwB,IAAS;QAC/B,IAAI,CAAC,MAAM,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC;IACpD,CAAC;IACD,mEAAyB,GAAzB,UAA0B,IAAS;QACjC,IAAI,CAAC,MAAM,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC;IACpD,CAAC;IACD,gDAAM,GAAN;IAEA,CAAC;IACH,sCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGC37FD,kLAAqD,KACnD,2MAA+E,KAG/E,wLAA4D,KAC1D,sLAAgE,uFAAU,MAE5E,uPACsD,YADhC;;wBAA4B;MAAlD,wBACsD,KACpD,8MAAoF,KAEtF,sKAA0C,KACxC,gNAAsF,KAExF,uKAA0C,KAExC,6MAA+E,KAC7E,8IAAuB,KACrB,uIAAgB,wFAAW,MACvB,uHAAM,KACZ,8IAAuB,KACrB;;;;;;;;;;;wBAA0L;MAAtK;;wBAAgC;MAApD,gzCAA0L,IAG9L,6MAA+E,KAC7E,8IAAuB,KACrB,uIAAgB,oFAAO,MACnB,uHAAM,KACZ,8IAAuB,KACrB;;;;;;;;;;;wBAAuL;MAAnK;;wBAA6B;MAAjD,gzCAAuL,IAG3L,6MAA+E,KAC7E,8IAAuB,KACrB,uIAAgB,oFAAO,MACnB,uHAAM,KACZ,8IAAuB,KACrB;;;;;;;;;;;;;;;;;;;;;;;wBAAyM;MAAtL;;wBAA0B;MAA7C,yvBAAyM,GAA3J,gEAA8B,KAA5E,++BAAyM,IAG7M,6MAA+E,KAC7E,8IAAuB,KACrB,uIAAgB,oGAAuB,MACnC,uHAAM,KACZ,8IAAuB,KACrB;;;;;;;;;;;wBAA4F;MAAlF;;wBAAyB;MAAnC,ixCAA4F,4FACpF,MAMd,kLAAoD,KAClD,6IAAsB,KACtB,uKAA0C,KACxC,iLAAoD,2RAA2H,YAA5B;;wBAA2B;MAA1H,wBAA2H,wJAA4B,KAAO,8EAAM,MACxN,iLAAoD,iRAA6G,YAAlB;;wBAAiB;MAA5G,wBAA6G,wJAA4B,KAAO,4EAAI,mDAnC5H,kBAAQ,EAA9D,mBAAgC,qBAApD,aAA0L,EAAhH,SAAQ,EAA9D,SAAgC,GAQmB,mBAAQ,EAA3D,oBAA6B,kBAAjD,aAAuL,EAAhH,UAAQ,EAA3D,UAA6B,GAQH,mCAA8B,aAA5E,aAAyM,EAA3J,UAA8B,GAAzD,oBAA0B,eAA7C,aAAyM,EAAtL,UAA0B,GAQnC,oBAAyB,cAAnC,aAA4F,EAAlF,UAAyB,2BAxBnC,stBAA0L,GAQ1L,kuBAAuL,GAQvL,ouBAAyM,GAQzM,ouBAA4F;;;;;;;;;;;;;;;;AC7CpG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACzB;AACM;AACjB;AACqB;AAChE;IAeE,4BAAmB,oBAA0C,EAAS,WAAwB,EAAU,MAAqB;QAA1G,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAN7H,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,cAAS,GAAc,IAAI,mEAAS,EAAE,CAAC;QAIhC,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAErG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,qCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IACjD,CAAC;IACD,6CAAgB,GAAhB;QACE,8BAA8B;QAC9B,uBAAuB;IACzB,CAAC;IACD,0CAAa,GAAb;QACE,wBAAwB;QACxB,uBAAuB;IAEzB,CAAC;IACD,kCAAK,GAAL,cAAU,CAAC;IAEX,4CAAe,GAAf;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,wCAAwC;IAC1C,CAAC;IACD,iCAAI,GAAJ;QAAA,iBAcC;QAbC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,IAAI,KAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,IAAI,KAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,IAAI,KAAI,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,IAAI,KAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE;gBACpI,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;aACjF;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAEH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GClDG,oKAAqF,wDAApD,mBAAqB,gBAAtD,YAAqF,EAApD,SAAqB;2GACtD,sNAAwH;2GAOjD,wHAAoC,iNAGrG;2GAWgB,qHAAyB,8EAAC;2GAC1C,wHAAoD,8EAAC;2GAyB7D,8MAAwF,YAA5E;;wBAAuB;MAAnC,ubAAwF,MACtF,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,kGAAqB,MAAM,sHAAM,KAC1H,wLAA4D,wGAA2B,MAEzF,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,qKAAwC,KACtC,yRAC6B,YAArB;;wBAAoB;MAD5B,wBAC6B,mFAE7B,MAEF,qKAAwC,KACtC,oXAC4D,YAA3B;;wBAA0B;MAD3D,wBAC4D,qFAE5D,mDAtB2D,qBAAkB,EAA3E,mBAAuB,YAAnC,YAAwF,EAAnB,SAAkB,EAA3E,SAAuB;iZA5DrC,2MAA+E,KAG/E,iLAAqD,KACnD,sLAA0D,0HAAG,4FAAe,MAC5E,yLAA6D,KAC3D,iPAAmF,YAAlB;;wBAAiB;MAAlF,wBAAmF,KAGvF,sHAAK,KACL,2KAA6C,KAC3C,6IAAsB,KACpB,+YAAqF,IACrF,+YAAwH,IAE1H,uLAAyD,KACvD,wHAAK,iFAAuB,MAAM,uHAAM,KACxC,yKAA2C,KACzC,wKAA0C,KACxC,wHAAK,4FAC8D,qZAAoC,IAKvG,wHAAK,mFAEL,MACA,wHAAK,iFAAiB,MACtB,wHAAK,iFAAkB,MACvB,wHAAK,iFAAgB,MACrB,wHAAK,iFAAoB,MACzB,wHAAK,iFAAoB,MACzB,yHAAK,kFACa,qZAAyB,IAAK,iRAC9C,mZAAoD,IAAQ,4MAC9D,IAAM,wHAAK,iFAAmB,MAC9B,uHAAM,KACN,wHAAK,mKAAsE,IAC3E,wHAAK,iKAA0E,IAC/E,wHAAK,2FAAc,MACnB,uHAAM,KACN,wHAAK,wJAAkD,IACvD,wHAAK,2JAAwD,IAC7D,wHAAK,4FAAmC,MACxC,wHAAK,wJAAiD,IACtD,uHAAM,KACN,wHAAK,0FAAgC,MACrC,wHAAK,iGAAyC,MAC9C,wHAAK,6FAAqC,MAC1C,wHAAK,8FAAuC,MAG9C,uKAA0C,KACxC;;;;;;;;;;;wBACyF;MADkC;;wBAAkC;MACnG;;wBAA8B;MADxF,oyCACyF,IAK/F,+YAAwF,iDAhDjF,0CAA2B,GAAhC,aAAqF,EAAhF,SAA2B,GAC3B,0CAA2B,GAAhC,aAAwH,EAAnH,SAA2B,GAO6C,0CAA6B,GAAnC,aAAoC,EAA9B,SAA6B,GAcjF,oBAAqB,gBAAxB,aAAyB,EAAtB,UAAqB,GAClC,gEAA6C,IAAnD,aAAoD,EAA9C,UAA6C,GAmB+C,kCAAsB,EAAC,oBAAkC,uBAA7J,aACyF,EADW,UAAsB,EAAC,UAAkC,GAM/H,oBAAiB,YAArD,aAAwF,EAApD,UAAiB,mDA5C9C,iEAAuB,GAGnB,mKAC8D,GAK9D,qEAEL,GACK,2DAAiB,GACjB,4DAAkB,GAClB,4DAAgB,GAChB,gEAAoB,GACpB,gEAAoB,GACpB,4DACa,GAA8B,gYAC9C,GAA4D,uMAC9D,GAAW,+DAAmB,GAEzB,iOAAsE,GACtE,sOAA0E,GAG1E,wNAAkD,GAClD,2NAAwD,GACxD,oEAAmC,GACnC,uNAAiD,GAEjD,mEAAgC,GAChC,qEAAyC,GACzC,qEAAqC,GACrC,sEAAuC,GAI5C,ouBACyF;;;;;;;;;;;;;;;;ACvDjG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACjC;AACuB;AAC1B;AACe;AAC1D;IAaE,+BAAoB,eAAgC,EAAU,MAAqB;QAA/D,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAPnF,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAEpB,cAAS,GAAG,KAAK,CAAC;QACzB,wBAAmB,GAAY,KAAK,CAAC;QAE3B,WAAM,GAAyB,IAAI,0DAAY,EAAU,CAAC;QACpE,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC4C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAAC,CAAC;IAE5J,wCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/I,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACxJ,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9I,CAAC;IACD,qCAAK,GAAL,cAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtC,wCAAQ,GAAR;QAAA,iBAYC;QAXC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,gBAAgB,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACvD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,0CAAU,GAAV;QACE,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACzB;aACI;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SAC1B;IACH,CAAC;IACD,2CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IACD,wCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE;YACxE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;IACH,CAAC;IAEH,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGCnDK,8LAC2G,YAA/C;;wBAA8C;MAD1G,47BAC2G,mDAD3F,yBAAwB,EAAC,mBAAoD,qCAA7F,YAC2G,EAD3F,SAAwB,EAAC,SAAoD;uGAG7F,oLAAmG,KACjG,kNAAqE,YAA7B;;wBAA4B;MAApE,wBAAqE,KAAC,2LAAiE;uGAL3I,oNAA6G,KAC3G,2YAC2G,IAE3G,2YAAmG,iDAFnF,oBAA2C,qCAD3D,YAC2G,EAA3F,SAA2C,GAErC,mBAA0C,qCAAhE,YAAmG,EAA7E,SAA0C;uGAMhE,6IAA8G,KAC5G,oKAA8C,KAAC,4KAAkC,YAA5B;;wBAA2B;MAAjC,wBAAkC,0OAA2G,KAAO,iFAAS,MAC5M,4KAA8C,YAAxC;;wBAAuC;MAA7C,wBAA8C,6PAA8H;uGAM9K,8bAeqD,YANpC;;wBAAsC;MACtC;;wBAA8C;MAC9C;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAA+C;MAC/C;;wBAAmC;MAfpD,mxDAeqD,mIAdpC,mBAA2B,cAG3B,mBAAuB,cAFvB,mBAAyB,aAMzB,mBAA2C,sBAH3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAyB,EAP1C,YAeqD,EAdpC,SAA2B,EAG3B,SAAuB,EAFvB,SAAyB,EAMzB,SAA2C,EAH3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EACnB,SAAyB;uGAW1C,wHAA4B,KAC1B,2NAA+F,KAC7F,2NAA+F,KAC7F,yHAAO,sFAAS,MAChB,sHAAI,6HAAgD,MAGtD,oOAAgF,YAA1D;;wBAA2B;MAAjD,wBAAgF,KAC9E,yMAA+E,KAGnF,g3BAAiF,iDAArE,mBAAyB,YAAC,yBAAwB,EAA9D,aAAiF,EAArE,SAAyB,EAAC,SAAwB;uGAtClE,wmBAA6T,IAC3T,2YAA8G,IAI9G,kPAAsH,KACpH,mJAA6B,KAC7B;;;;;;;;;;;wBAAiJ;MAAzD;;wBAAkC;MAAC;;wBAAmB;MAA9I,yxCAAiJ,IAEnJ,4YAeqD,IAGrD,4YAA4B,iDA3BzB,sJAA+H,KAApI,YAA6T,EAAxT,SAA+H,GAC3G,wEAAsF,sCAA7G,YAA8G,EAAvF,SAAsF,GAMgB,oBAAmB,QAA9I,YAAiJ,EAAtB,UAAmB,GAE/H,+CAA8C,kBAA/D,aAeqD,EAfpC,UAA8C,GAkB1D,oBAAsB,iBAA3B,aAA4B,EAAvB,UAAsB,mDA3B0K,mGAA2F,GAAlS,YAA6T,EAAtH,SAA2F,GAO9R,qtBAAiJ;uGAkCrJ,gLAAyG,KACvG,+KAAmD,KACjD,4KAA4C,YAAtC;;wBAAqC;MAA3C,wBAA4C,KAC5C,yNAA+F,KAEjG,0LAA8D,KAE5D,m7CAKiC,iDAHlB,mBAAmB,YACnB,yBAAiB,EAEjB,qBAAiB,EAJjB,mBAAuB,EAGvB,uBAAoB,EAJnC,YAKiC,EAHlB,SAAmB,EACnB,SAAiB,EAEjB,SAAiB,EAJjB,SAAuB,EAGvB,SAAoB;wGAMrC,+KAAiF,KAC/E,4KAA4C,YAAtC;;wBAAqC;MAA3C,wBAA4C,KAAC,yNAA+F;uGAFhJ,mkBAA6N,IAC3N,4YAAiF,IAGjF,0LAA4G,YAA7C;;wBAA4C;MAA3G,qjBAA4G,mDAJ5D,sEAA8D,GAAhH,YAA6N,EAA3K,SAA8D,GACvF,mBAA6B,wBAApD,YAAiF,EAA1D,SAA6B,GAGxC,mBAAwB,aAAC,0BAAyB,EAA9D,YAA4G,EAAhG,SAAwB,EAAC,SAAyB,mDAJiF,2FAA2E,IAA5N,YAA6N,EAA5E,SAA2E;wGAM5N,gLAAwE,KACtE,+LAAoF,YAA9C;;wBAA6C;MAAnF,i0BAAoF,mDAAlE,mBAAmB,YAArC,YAAoF,EAAlE,SAAmB;wGAGrC,uMAAgK,YAAlD;;wBAAiD;MAA/J,8xCAAgK,mIAAlH,mBAAwB,YAAC,mBAAkB,OAAC,2BAAmB,EAA7G,YAAgK,EAAlH,SAAwB,EAAC,SAAkB,EAAC,SAAmB;wGAE7G,y7CAAuJ,iDAAnD,6BAA8B,aAAjD,yBAAkB,EAAgC,2BAAmB,EAA3G,mBAAqC,kBAAhF,YAAuJ,EAAnD,SAA8B,EAAjD,SAAkB,EAAgC,SAAmB,EAA3G,SAAqC;wGAHlF,6LAA2F,KACzF,4YAAgK,IAEhK,4YAAuJ,iDAFpI,oBAA0B,oBAA7C,YAAgK,EAA7I,SAA0B,GAE5B,mBAAyB,oBAA1C,YAAuJ,EAAtI,SAAyB;wGAS5C,kNAAwK,YAApI;;wBAA6B;MAAqB;;wBAAoD;MAA1I,0cAAwK,MACtK,oNAA2F,KAE3F,gMAAuE,KACrE,yHAAO,oGAAuB,MAEhC,6LAAoE,KAElE,w5CAIiC,iDAZD,mBAA6B,kBAA0E,uBAA4B,EAAvK,YAAwK,EAApI,SAA6B,EAA0E,SAA4B,GAUpJ,mBAAmB,YACnB,yBAAiB,EACjB,qBAAiB,EAHjB,8BAAkC,EADjD,YAIiC,EAFlB,SAAmB,EACnB,SAAiB,EACjB,SAAiB,EAHjB,SAAkC;wGAoCvD;;;;;;;;;;;wBAAuJ;MAAzD;;wBAAsB;MAApH,2yCAAuJ,iDAAzE,0BAAe,EAAC,mBAAsB,WAApH,YAAuJ,EAAzE,SAAe,EAAC,SAAsB,2BAApH,8sBAAuJ;wGADzJ,8KAAmE,KACjE,4YAAuJ,IACvJ,sKAA0C,KACxC,6SAAgJ,YAAxI;;wBAA8B;MAAtC,wBAAgJ,2JAAgC,KAElL,4KAAgD,KAG9C,mKAAuC,kDAP/B,mBAA4B,uBAAtC,YAAuJ,EAA7I,SAA4B;wGAYxC,uHAAiC;wGAEjC,kNAAwI,YAA5H;;wBAAgC;MAA5C,6dAAwI,MACtI,8LAA6H,YAA7C;;wBAA4C;MAA5H,k+CAA6H,mDADlC,qBAAkB,EAAnG,mBAAgC,qBAAoE,qBAAsB,EAAtI,YAAwI,EAA3C,SAAkB,EAAnG,SAAgC,EAAoE,SAAsB,GAC/F,mBAAuB,YAA/C,mBAAuB,YAAyB,yBAAkB,EAA/E,YAA6H,EAAxF,SAAuB,EAA/C,SAAuB,EAAyB,SAAkB;wGAEjF,2NAAkI,YAAtH;;wBAAqC;MAAjD,0bAAkI,MAChI,4LAAoH,YAA5C;;wBAA2C;MAAnH,mfAAoH,mDADP,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAC7B,mBAA0B,gBAAC,yBAAyB,EAAtE,YAAoH,EAAlG,SAA0B,EAAC,SAAyB;myBA1JxE,qMAAqE,KACrE,yLAAyD,KACzD,oLAAsD,KACpD,+JAAiD,KAC/C,4YAA6G,IAS7G,4YAA6T,IAyC7T,4YAAyG,IAgBzG,4YAA6N,IAM7N,6YAAwE,IAGxE,6YAA2F,IAS3F,8LAA6D,KAC7D,gMAA+D,KAE/D,6YAAwK,IAyC5K,2LAA4C,YAAhC;;wBAA+B;MAA3C,gaAA4C,MAC1C,m4BAA6D,IAE/D,6YAAmE,IAanE,6YAAiC,IAEjC,6YAAwI,IAGxI,6YAAkI,iDArJvG,oBAA0B,oBAAjD,aAA6G,EAAtF,SAA0B,GASkP,mBAAyB,oBAA5T,aAA6T,EAA1B,SAAyB,GAyCxQ,+CAAoD,yBAAxG,aAAyG,EAArD,SAAoD,GAgBnG,mBAA4C,qCAAjD,aAA6N,EAAxN,SAA4C,GAM5C,mBAAmB,YAAxB,aAAwE,EAAnE,SAAmB,GAGnB,mBAAyB,oBAA9B,aAA2F,EAAtF,SAAyB,GAYlB,mBAAuB,kBAAnC,aAAwK,EAA5J,SAAuB,GAyC3B,mBAA+B,oBAA3C,aAA4C,EAAhC,SAA+B,GACxB,mBAAgB,YAAC,oBAA0B,oBAA5D,aAA6D,EAA5C,SAAgB,EAAC,UAA0B,GAEzD,oBAAgB,WAArB,aAAmE,EAA9D,UAAgB,GAahB,oBAA2B,sBAAhC,aAAiC,EAA5B,UAA2B,GAEa,oBAA0B,qBAAvE,aAAwI,EAA3F,UAA0B,GAGrB,oBAA+B,0BAAjF,aAAkI,EAAhF,UAA+B,mDAtJ1E,mBAAuB,eAA5B,aAAiD,EAA5C,SAAuB;;;;;;;;;;;;;;;;ACH9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8I;AAC7F;AACA;AAEN;AACN;AACuC;AACnB;AACW;AACzB;AACM;AACN;AACoC;AAEZ;AACe;AACL;AACtB;AAEwB;AACM;AAGnB;AACF;AAK2B;AAClB;AACK;AAEyB;AAEvG;IAmJE,2BAAoB,aAA4B,EAAS,oBAA0C,EAAU,eAAgC,EAAU,UAAsB,EACnK,QAAmB,EAAU,IAAU,EAAU,iBAAsC,EAAU,KAAqB,EAAU,eAAgC,EAChK,MAAc,EAAU,QAAqB,EAAU,MAAqB,EAAU,gBAAkC;QAF9G,kBAAa,GAAb,aAAa,CAAe;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,eAAU,GAAV,UAAU,CAAY;QACnK,aAAQ,GAAR,QAAQ,CAAW;QAAU,SAAI,GAAJ,IAAI,CAAM;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAChK,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QA/IlI,iBAAY,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QAC5C,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAK5E,UAAK,GAAG,EAAE,CAAC;QACX,iBAAY,GAAG,EAAE,CAAC;QAClB,qBAAgB,GAAG,CAAC,CAAC;QACrB,cAAS,GAAG,CAAC,CAAC;QAEd,SAAI,GAAW,MAAM,CAAC;QACtB,eAAU,GAAG,KAAK,CAAC;QACnB,yBAAoB,GAAG,KAAK,CAAC;QAC7B,iBAAY,GAAG,KAAK,CAAC;QACrB,sBAAiB,GAAG,KAAK,CAAC;QAC1B,oBAAe,GAAG,KAAK,CAAC;QACxB,kBAAa,GAAY,IAAI,CAAC;QAC9B,eAAU,GAAY,KAAK,CAAC;QAG5B,wBAAmB,GAAY,KAAK,CAAC;QACrC,uBAAkB,GAAY,KAAK,CAAC;QACpC,iBAAY,GAAY,KAAK,CAAC;QAC9B,sBAAiB,GAAY,IAAI,CAAC;QAGlC,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAGnB,QAAG,GAAG,EAAE,CAAC;QACT,YAAO,GAAW,UAAU,CAAC;QAC7B,oBAAe,GAAY,IAAI,CAAC;QAChC,qBAAgB,GAAY,IAAI,CAAC;QACjC,kBAAa,GAAY,KAAK,CAAC;QAC/B,cAAS,GAAY,KAAK,CAAC;QAC3B,iBAAY,GAAG,EAAE,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,uBAAuB;QACvB,oBAAe,GAAG,EAAE,CAAC;QACrB,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAC3B,iBAAY,GAAY,KAAK,CAAC;QAC9B,gBAAW,GAAY,KAAK,CAAC;QAC7B,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,IAAI,CAAC;QACjC,aAAQ,GAAG,EAAE,CAAC;QACd,sBAAsB;QACtB,cAAS,GAAG,EAAE,CAAC;QACf,aAAQ,GAAe,wEAAU,CAAC,QAAQ,CAAC;QAC3C,sBAAiB,GAAY,KAAK,CAAC;QACnC,wBAAmB,GAAY,KAAK,CAAC;QASrC,kBAAa,GAAY,IAAI,CAAC;QAC9B,mBAAc,GAAY,KAAK,CAAC;QAUhC,aAAQ,GAAG,KAAK,CAAC;QAAC,UAAK,GAAG,EAAE,CAAC;QACtB,mBAAc,GAAW,GAAG,CAAC;QAKpC,gBAAW,GAAY,IAAI,CAAC;QAC5B,0BAAqB,GAAY,KAAK,CAAC;QAIvC,yBAAoB,GAAU,EAAE,CAAC;QACjC,6GAA6G;QAC7G,gBAAW,GAAmB,EAAE,CAAC;QACjC,oBAAe,GAAmB,EAAE,CAAC;QACrC,YAAO,GAAmB,EAAE,CAAC;QAC7B,cAAS,GAAmB,EAAE,CAAC;QAC/B,eAAU,GAAmB,EAAE,CAAC;QAChC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QAC7B,sBAAiB,GAAmB,EAAE,CAAC;QACvC,eAAU,GAAmB,EAAE,CAAC;QAChC,eAAU,GAAmB,EAAE,CAAC;QAChC,cAAS,GAAmB,EAAE,CAAC;QAM/B,iBAAY,GAAY,KAAK,CAAC;QAC9B,aAAQ,GAAe,EAAE,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAE/B,YAAO,GAAY,IAAI,CAAC;QAExB,cAAS,GAAE,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAGjC,yBAAoB,GAAY,KAAK,CAAC;QACtC,sBAAiB,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAG,EAAE,CAAC;QACf,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,wFAAwF;QAC5O,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAChJ,0BAAqB,GAAS,CAAC,CAAC;QAAC,aAAQ,GAAG,KAAK,CAAC;QAElD,oBAAe,GAAY,KAAK,CAAC;QACjC,sBAAiB,GAAY,KAAK,CAAC;QACnC,eAAU,GAAY,KAAK,CAAC;QAC5B,iBAAY,GAAW,GAAG,CAAC;QAC3B,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAY,KAAK,CAAC;QAClC,iBAAY,GAAmB,EAAE,CAAC;QAClC,4BAAuB,GAAY,KAAK,CAAC;QAGzC,oBAAe,GAAmB,EAAE,CAAC;QACrC,oBAAe,GAAW,CAAC,CAAC;QAE5B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,kBAAa,GAAY,KAAK,CAAC;QAI7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAtB+I,CAAC,CAAE,+CAA+C;IAwBlM,4CAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBA6DC;QA5DC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;YACjO,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI;SAC/I,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;YACjB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC7F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACpG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,KAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YAChI,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;YACpH,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;YACjB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;YACrC,YAAY,EAAE,2FAAqB;YACnC,cAAc,EAAE,iGAAuB;SACxC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;YACjB,wBAAwB,EAAE,KAAK;SAChC,CAAC;IACJ,CAAC;IACD,4CAAgB,GAAhB,UAAiB,gBAAwB,EAAE,YAAY,EAAc,UAA2B;QAAvC,+CAAuC;QAC9F,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE;YACvI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SACpD;QACD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAE1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;oBAEzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAE1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM;4BACtI,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;4BAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gCACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gCACnC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gCAC9F,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;4BACnC,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACpD,CAAC;iBACH;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;wBACtG,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,QAAQ;6BAAE;iCACvC,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,WAAW;6BAAE;iCAAM;gCACxD,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;wBACD,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;wBAC3B,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAClD,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBAEtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAC5J,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAElD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,qHAAqH;gCACrH,wEAAwE;gCACxE,UAAU;gCACR,OAAO,MAAM,CAAC,KAAK,CAAC;gCACtB,GAAG;6BACJ;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAC9J,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,qHAAqH;gCACrH,wEAAwE;gCACxE,UAAU;gCACR,OAAO,MAAM,CAAC,KAAK,CAAC;gCACtB,GAAG;6BACJ;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE;oBACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC7H,qHAAqH;4BACrH,wEAAwE;4BACxE,UAAU;4BACR,OAAO,MAAM,CAAC,KAAK,CAAC;4BACvB,IAAI;wBACL,CAAC;wBACD,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;wBAC5B,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChN;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAChI,qHAAqH;4BACrH,wEAAwE;4BACxE,UAAU;4BACR,OAAO,MAAM,CAAC,KAAK,CAAC;4BACvB,IAAI;wBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAAG,CAAC,CAAC;iBACzF;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,MAAM;4BACzE,qHAAqH;4BACrH,wEAAwE;4BACxE,UAAU;4BACR,OAAO,MAAM,CAAC,KAAK,CAAC;4BACvB,IAAI;wBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjJ,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;oBACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/E,qHAAqH;4BACrH,wEAAwE;4BACxE,UAAU;4BACR,OAAO,MAAM,CAAC,KAAK,CAAC;4BACtB,GAAG;wBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAClJ,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,MAAM;4BAClF,qHAAqH;4BACrH,wEAAwE;4BACxE,UAAU;4BACR,OAAO,MAAM,CAAC,KAAK,CAAC;4BACvB,IAAI;wBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAClJ,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpQ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,MAAM;4BACjE,qHAAqH;4BACrH,wEAAwE;4BACxE,UAAU;4BACR,OAAO,MAAM,CAAC,KAAK,CAAC;4BACvB,IAAI;wBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAG,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAAE,CAAC,CAAC;iBAChL;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,EAAE,YAAY,YAAC,MAAM;4BACtI,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,2EAA2E,CAAC;4BAC7F,8CAA8C;4BAC9C,KAAK;4BACL,OAAO,IAAI,CAAC;wBACd,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBAEL,iIAAiI;oBAC/H,uBAAuB;oBACvB,6BAA6B;oBAC7B,6CAA6C;oBAC7C,kDAAkD;oBAClD,qEAAqE;oBACrE,uDAAuD;oBACvD,4BAA4B;oBAE5B,yDAAyD;oBACzD,4CAA4C;oBAC5C,gBAAgB;oBAChB,8BAA8B;oBAC9B,SAAS;oBAET,OAAO;oBACP,OAAO;oBACP,GAAG;oBACH,QAAQ;oBACN,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;wBAC5F,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;4BACtB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;4BACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;4BAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;4BAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;gCAC9E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;oCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oCAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;oCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;wCACjC,IAAI,GAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;4CACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;yCACvE;6CACI,IAAI,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;4CACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;yCACvE;6CACI;4CACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;yCAClB;qCAEF;oCACD,OAAO,EAAE;iCAEV;qCAAM;oCACL,qHAAqH;oCACrH,wEAAwE;oCACxE,UAAU;oCACR,OAAO,MAAM,CAAC,KAAK,CAAC;oCACtB,GAAG;iCACJ;4BACH,CAAC;yBACF,CAAC,CAAC;qBACJ;yBAAM;wBACL,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;4BACtB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;4BACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;4BAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;gCAC5F,qHAAqH;gCACrH,wEAAwE;gCACxE,UAAU;gCACR,OAAO,MAAM,CAAC,KAAK,CAAC;gCACtB,GAAG;4BACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;4BAC/B,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;yBACjD,CAAC,CAAC;wBACL,GAAG;qBACJ;iBAEF;aACF;SACF;aAAM;YACL,OAAO,CAAC,UAAU,GAAG;gBACnB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;aACF,CAAC;YACF,uCAAuC;YACvC,gCAAgC;YAChC,+BAA+B;YAC/B,8BAA8B;YAC9B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,MAAM;oBACpF,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;wBAAE,OAAO,QAAQ;qBAAE;yBACvC,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;wBAAE,OAAO,WAAW;qBAAE;yBAAM;wBACxD,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;oBACH,GAAG;gBACL,CAAC;gBACD,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;aACvF,CAAC;YACF,eAAe;YACf,UAAU;YACV,2BAA2B;YACnB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC1F,YAAY,EAAE,UAAU,MAAM;oBAC9B,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACtB,GAAG;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;aACtC,CAAC;YACJ,eAAe;YACf,SAAS;YACT,0BAA0B;YAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;gBACvD,YAAY,EAAE,UAAU,MAAM;oBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;4BACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACvE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,uEAAuE;wBACvE,0EAA0E;wBAC1E,YAAY;wBACR,OAAO,MAAM,CAAC,KAAK,CAAC;wBACvB,eAAe;qBACjB;gBACH,CAAC;aACF,CAAC;YACJ,eAAe;YACf,SAAS;YACL,uBAAuB;YACnB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;gBACzD,YAAY,EAAE,UAAU,MAAM;oBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;wBACjC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACvE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,uEAAuE;wBACvE,0EAA0E;wBAC1E,YAAY;wBACR,OAAO,MAAM,CAAC,KAAK,CAAC;wBACtB,gBAAgB;qBACnB;gBACH,CAAC;aACF,CAAC;YAEI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK;gBAC3D,YAAY,EAAE,UAAU,MAAM;oBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACvE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBACF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,uEAAuE;wBACvE,0EAA0E;wBAC1E,YAAY;wBACR,OAAO,MAAM,CAAC,KAAK,CAAC;wBACtB,GAAG;qBAEN;gBACH,CAAC;aACF,CAAC;YACJ,eAAe;YACf,SAAS;YACT,uBAAuB;YACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBAClF,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;aACtC,CAAC;YACJ,eAAe;YACf,SAAS;YACT,4BAA4B;YACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC3F,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;aACrC,CAAC;YACJ,eAAe;YACf,SAAS;YACT,qBAAqB;YACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC1E,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;aAEtC,CAAC;YACJ,eAAe;YACf,SAAS;YACT,qBAAqB;YACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC1E,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;aACrC,CAAC;YACJ,eAAe;YACf,SAAS;YACT,6BAA6B;YACrB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBACtF,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;aACrC,CAAC;YACJ,eAAe;YACf,SAAS;YACT,wBAAwB;YACxB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,MAAM;oBACvE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACtB,GAAG;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAE,CAAC;YAChD,eAAe;YACf,SAAS;YACT,qBAAqB;YACrB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBACjE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAG,CAAC;YAChD,eAAe;YACf,SAAS;YACT,+BAA+B;YAC/B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,MAAM;oBACrF,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACtB,GAAG;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAE,CAAC;YAC/C,eAAe;YACf,SAAS;YACT,uBAAuB;YACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,MAAM;oBACjE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACtB,GAAG;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAE,CAAC;YAC9C,eAAe;YACf,SAAS;YACT,0BAA0B;YAC1B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,MAAM;oBACvE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAE,CAAC;YAC/C,eAAe;YACf,SAAS;YACT,0BAA0B;YAC1B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,MAAM;oBACvE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAE,CAAC;YAC9C,eAAe;YACf,SAAS;YACT,sBAAsB;YACtB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC/D,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACtB,GAAG;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAC,CAAC;YAC9C,eAAe;YACf,SAAS;YACT,uBAAuB;YACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,MAAM;oBACjE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAE,CAAC;YAC/C,eAAe;YACf,SAAS;YACT,yBAAyB;YACzB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,MAAM;oBACjE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;aAAC,CAAC;YAChD,eAAe;YACf,oBAAoB;YACpB,sBAAsB;YACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC3E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;wBAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;gCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACvE;iCACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;gCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACvE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,uEAAuE;wBACvE,wEAAwE;wBACxE,UAAU;wBACR,OAAO,MAAM,CAAC,KAAK,CAAC;wBACtB,GAAG;qBACJ;gBACH,CAAC;aAAE,CAAC;YACd,eAAe;YACf,SAAS;YACT,wBAAwB;YAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;wBAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;gCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACvE;iCACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;gCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACvE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,uEAAuE;wBACvE,wEAAwE;wBACxE,UAAU;wBACR,OAAO,MAAM,CAAC,KAAK,CAAC;wBACtB,GAAG;qBACJ;gBACH,CAAC;aAAE,CAAC;YACd,eAAe;YACf,SAAS;YACT,6BAA6B;YAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC9E,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAG,CAAC;YACjD,eAAe;YACf,SAAS;YACT,0BAA0B;YAC1B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,MAAM;oBACxE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACtB,GAAG;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAC,CAAC;YAC/C,eAAe;YACf,SAAS;YACT,2BAA2B;YAC3B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC1E,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAG,CAAC;YACjD,eAAe;YACf,SAAS;YACT,yBAAyB;YACzB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,MAAM;oBACtE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAE,CAAC;YAC/C,eAAe;YACf,SAAS;YACT,sBAAsB;YACtB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC/D,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAE,CAAC;YAC/C,eAAe;YACf,SAAS;YACT,yBAAyB;YACzB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,MAAM;oBACzE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACtB,GAAG;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAE,CAAC;YAC/C,eAAe;YACf,SAAS;YACT,kCAAkC;YAClC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC/E,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAG,CAAC;YACjD,eAAe;YACf,SAAS;YACT,2BAA2B;YAC3B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC7E,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAG,CAAC;YACjD,eAAe;YACf,SAAS;YACT,oCAAoC;YACpC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,MAAM;oBACjF,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAG,CAAC;YACjD,eAAe;YACf,SAAS;YACT,2BAA2B;YAC3B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC7E,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAG,CAAC;YACjD,eAAe;YACf,SAAS;YACT,oCAAoC;YACpC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,MAAM;oBACjF,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAG,CAAC;YAChD,eAAe;YACf,SAAS;YACT,4BAA4B;YAC5B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC/E,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAG,CAAC;YACjD,eAAe;YACf,SAAS;YACT,qCAAqC;YACrC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,MAAM;oBAClF,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;aAAE,CAAC;YAC/C,eAAe;YACf,SAAS;YAET,yBAAyB;YACzB,4HAA4H;YAC5H,eAAe;YACf,SAAS;YACT,wBAAwB;YACxB,uHAAuH;YACvH,eAAe;YACf,+BAA+B;YAC/B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,MAAM;oBAClF,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAG,CAAC;YAChD,eAAe;YACf,SAAS;YACT,yBAAyB;YACzB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,MAAM;oBACrE,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACvB,IAAI;gBACL,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAG,CAAC;YAChD,eAAe;YACf,gCAAgC;YAChC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,MAAM;oBAChF,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC;oBACtB,KAAK;gBACP,CAAC,EAAC,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;aAAG,CAAC;YAC/C,eAAe;YACf,SAAS;YAGT,OAAO;YACP,YAAY;YACZ,yIAAyI;YACzI,KAAK;YAEL,KAAK;YACL,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;aAC7C,CAAC;YACF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe;aAAC,CAAC;YACrF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;SAEjK;IACH,CAAC;IACD,yCAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,uCAAW,GAAX;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC;IAED,8CAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChF,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,yCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,uCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,yCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,6CAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;;YAEtB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACvC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACtE;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,8CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;oBAChC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC1D;aACF;SACF;IACH,CAAC;IACD,0CAAc,GAAd,UAAe,QAAQ;;QAGrB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,SAAS,IAAI,WAAI,CAAC,OAAO,CAAC,eAAe,EAAE,0CAAE,MAAM,IAAG,CAAC,EAAE;YAC7F,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1E,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC3C;aAAM;YACL,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE;YAC3C,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;gBACpC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;aAC/D;SACF;QAGD,oDAAoD;QACpD,uDAAuD;QACvD,kCAAkC;QAClC,yCAAyC;QACzC,iCAAiC;QACjC,2FAA2F;QAC3F,4CAA4C;QAC5C,OAAO;QACP,+BAA+B;QAC/B,YAAY;QACZ,+CAA+C;QAC/C,wDAAwD;QACxD,cAAc;QACd,yDAAyD;QACzD,OAAO;QACP,qCAAqC;QACrC,+CAA+C;QAC/C,iCAAiC;QACjC,uDAAuD;QACvD,+BAA+B;QAC/B,wCAAwC;QACxC,+CAA+C;QAE/C,KAAK;QACL,yCAAyC;QACzC,kEAAkE;QAClE,GAAG;IAEL,CAAC;IAED,6CAAiB,GAAjB;QACE,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;YAChD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;aACI;YACH,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;SACjD;IACH,CAAC;IACD,6CAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,uCAAW,GAAX,UAAY,QAAQ;IAEpB,CAAC;IACD,6CAAiB,GAAjB,UAAkB,OAAO;QACrB,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE;YAChC,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACL,CAAC;IACD,2CAAe,GAAf,UAAgB,GAAG;QACnB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,sDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,qCAAS,GAAT,UAAU,OAAO;QACf,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,EAChC;YACE,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aACI;YACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAE9B;IACH,CAAC;IACD,8CAAkB,GAAlB,UAAmB,GAAG;QAAtB,iBAuBC;QAtBC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,MAAM,EAAE;gBAC3C,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;gBAChD,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBACI;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvC,IAAI,mBAAmB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC9F,yFAAyF;gBACzF,kBAAkB;gBAChB,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;oBACvF,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAC,KAAI,CAAC,qBAAqB,CAAC,CAAC;oBAC/E,KAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,GAAG;aACJ;SACF;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;IACH,CAAC;IACD,uCAAW,GAAX,UAAY,OAAO;QAEjB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;YAC5E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,UAAU,CAAC;gBACT,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;YAC5K,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;aAAM;YACL,KAAK,CAAC,8DAA8D,CAAC,CAAC;SACvE;IACH,CAAC;IACD,qCAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,8CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,QAAQ;YACzB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;YACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;YACnN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;IACH,CAAC;IACD,0CAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iIAAiI,CAAC,CAAC;QAChK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,sCAAU,GAAV;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uIAAuI,CAAC,CAAC;QAEtK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,4CAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAoBC;QAnBC,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE;YAChC,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aACI;YACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBAC7C,IAAI,KAAI,CAAC,UAAU,IAAI,CAAC,EAAE;oBACxB,KAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,sBAAsB,EAAE,cAAc,EAAE,iCAAiC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;iBAC3J;qBACI;oBACH,KAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,sBAAsB,EAAE,cAAc,EAAE,yBAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;iBACnJ;YACH,CAAC,CAAC,CAAC;SAEJ;IACH,CAAC;IACD,oCAAQ,GAAR;QACE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,UAAU,CAAC;QAC1D,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAEhC,CAAC;IAED,qCAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,gDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YACxB,wBAAwB;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;SACjF;IAEH,CAAC;IACD,sDAA0B,GAA1B;QAAA,iBAKC;QAHC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAa,GAAb;QAAA,iBAGM;QAFJ,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACnF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IAAA,CAAC;IACN,oDAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IACnE,CAAC;IAED,iDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,mDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,0CAAc,GAAd,UAAe,IAAI,EAAE,MAAM,EAAE,qBAA8B;QAA3D,iBA0BC;QAzBC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrG,IAAI,CAAC,iBAAiB,CAAC,mCAAmC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAC/H,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACnG,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;YAEtD,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,EAA/B,CAA+B,CAAC,CAAC;YAE1F,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAE;gBACxG,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC/D,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,SAAS,EAAE;4BACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;yBAC7C;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;iBAAM;gBACH,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;aACvG;QAEJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAe,GAAf,UAAgB,KAAU;IAC1B,CAAC;IACD,0CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC1C,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAY,CAAC,CAAC;SACrH;IACH,CAAC;IAED,yCAAa,GAAb,UAAc,QAAQ;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;IACpC,CAAC;IAED,gCAAI,GAAJ,UAAK,KAAK;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,KAAK,CAAC,EAAE,UAAO,CAAC,CAAC;IAC/E,CAAC;IAED,kCAAM,GAAN,UAAO,QAAQ;QAAf,iBAWC;QAVC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,mBAAmB,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;QACpF,IAAI,CAAC,GAAG,OAAO,CAAC,2BAA2B,GAAG,mBAAmB,GAAG,iBAAiB,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,eAAe,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC7E,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAI,CAAC,qBAAqB,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,0CAAc,GAAd;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClF,CAAC;IACD,yCAAa,GAAb;QACE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,oCAAQ,GAAR;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI,GAAG,CAAC;gBACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,uCAAW,GAAX;QAAA,iBAkBC;QAjBC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvD,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACxD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxB,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;oBACpC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;iBAC3D;qBAAM;oBACL,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;iBAC1D;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAgB,GAAhB,UAAiB,MAAM;QACrB,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAC9H,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACzC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;iBAAM;gBACL,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAC9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;YACD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAET,CAAC;IACD,+CAAmB,GAAnB;QACE,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;QAC9H,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,8CAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,kCAAM,GAAN,UAAO,GAAG;QACR,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,IAAI,CAAC;SAC5C;aACI;YACH,IAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,KAAK,CAAC;SAC7C;IACH,CAAC;IACD,iDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,+CAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClF,CAAC;IACD,gDAAoB,GAApB,UAAqB,QAA6B;QAAlD,iBAwCG;QAtCD,IAAI,QAAQ,CAAC,YAAY,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAAE;QACxD,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE;YAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SAAE;aAAM;YACjE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;YAEzF,IAAI,QAAQ,CAAC,aAAa,IAAI,GAAG,IAAI,QAAQ,CAAC,aAAa,IAAI,SAAS,IAAI,QAAQ,CAAC,aAAa,IAAI,EAAE,EAAE;gBAExG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,aAAa,EAA3C,CAA2C,CAAC,CAAC;aACtG;iBAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,IAAI,QAAQ,CAAC,cAAc,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,IAAI,sBAAsB,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE;gBACvK,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBAC5G,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC9B,CAAC,CAAC,CAAC;aAEJ;iBAAM;gBACL,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;oBAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACvC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC1D,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;wBAC7B,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,EAAE;4BAClC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;yBAC3B;6BAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,EAAE;4BACzC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;yBAC3B;wBAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;qBACjF;iBACF;qBAAM;oBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBACjD,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACvB;aACF;SACF;QACD,IAAI,QAAQ,CAAC,aAAa,IAAI,oBAAoB,EAAE;YAClD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC9B;IACD,CAAC;IACH,2CAAe,GAAf,cAAoB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC;IAElD,oDAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,GAAG,IAAI,UAAU,EAAE;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI;SAAE;aAChD,IAAI,GAAG,IAAI,WAAW,EAAE;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;SAAE;aACnD;YACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;IACH,CAAC;IACD,6CAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC;aACnC;SACF;aACI;YACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE;gBAC3C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC;gBAElC,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,SAAS,EAAE;4BACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;yBAC7C;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;IACH,CAAC;IACD,8CAAkB,GAAlB,UAAmB,UAAU;QAA7B,iBAEC;QADC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,YAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAApD,CAAoD,CAAC,CAAC;IACxG,CAAC;IACD,2CAAe,GAAf;QACE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IACD,kDAAsB,GAAtB;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CACxB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CACvE,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,eAAe,GAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CAAC;QAC1G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IACD,uCAAW,GAAX;QACE,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IACH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gHCzoDO,iWAAyP,KACvP,+LAAqN,YAAhH;;wBAA0C;MAA/I,6+BAAqN,mDAApM,mBAA2B,cAAC,mBAAmB,UAA+H,yBAAqB,EAAnJ,mBAAW,MAAC,mBAAuB,YAA4C,0BAAuB,EAAC,yBAAsB,EAA9L,YAAqN,EAApM,SAA2B,EAAC,SAAmB,EAA+H,SAAqB,EAAnJ,SAAW,EAAC,SAAuB,EAA4C,SAAuB,EAAC,SAAsB;gHAYlL,yMAA+W,YAAlD;;wBAAwB;MAArV,wwBAA+W,GAA9O,wFAAyJ,MAAqF,qKAAyC,kDAAlZ,+HAA0H,GAAhI,YAA+W,EAAzW,SAA0H,GAAC,iJAAyJ,IAA1R,YAA+W,EAA9O,SAAyJ;gHAE1R,4KAAsW,YAAzC;;wBAAwC;MAArW,wwBAAsW,GAArO,wFAAyJ,MAA4E,uKAA2C,kDAA3Y,+HAA0H,GAAhI,YAAsW,EAAhW,SAA0H,GAAC,iJAAyJ,IAA1R,YAAsW,EAArO,SAAyJ;gHAH5R,2LAA4F,KAC1F,mZAA+W,IAE/W,mZAAsW,iDAF3E,yCAAiC,GAA5T,YAA+W,EAApF,SAAiC,GAEjC,yCAAiC,GAA5T,YAAsW,EAA3E,SAAiC;gHAQ1T,sKAAuE,wDAAlE,mBAAgB,WAArB,YAAuE,EAAlE,SAAgB;gHAEnB,kNAA0G;gHAD5G,yNAA+G,KAC7G,mZAA0G,iDAApB,oBAAiB,WAAvG,YAA0G,EAApB,SAAiB;iHAKyB,wHAA2C,qNAAmC;iHAQhN,+QAA6Q,YAA3G;;wBAAwG;MAA1Q,wBAA6Q;iHAE7Q,2NAAoK;iHAKpK,6QAAwQ,YAA1G;;wBAAuG;MAArQ,wBAAwQ;iHACxQ,yNAA+J;iHAG/J,2QAA+P,YAArG;;wBAAkG;MAA5P,wBAA+P;iHAC/P,uNAA4J;iHAG5J,6QAAwQ,YAA3H;;wBAAuG;MAApP,wBAAwQ;iHACxQ,yNAAgK;iHAQhK,4KAAiV,YAAzC;;wBAAwC;MAAhV,wwBAAiV,GAArO,wFAAyJ,MACnQ,0OAA0G,kDADtG,0GAAqG,GAA3G,YAAiV,EAA3U,SAAqG,GAAC,iJAAyJ,IAArQ,YAAiV,EAArO,SAAyJ;iHAFzQ,8LAA+F,KAC7F,qMAAyE,KACvE,oZAAiV,iDAA3E,yCAAiC,GAAvS,YAAiV,EAA3E,SAAiC;iHAoC1Q,qHAAgC,8EAAC;iHAAwF,wHAAkE,8EAAC;iHAiB3N,yLAA4I,kFAE5I,yDAF0F,uDAAiD,GAA3I,YAA4I,EAAlD,SAAiD,GAAC,0EAE5I;iHAgCE,wHAA8G,wNAE9G;iHAUA,wHAAkH,2NAElH;iHARJ,oKAAwF,KACtF,qjBAAkI,IAChI,iJAA2B,6FAAgB,MAE7C,2kBAAwJ,iFAEtJ,0ZAAkH,iDAL/G,mEAAuD,GAA5D,YAAkI,EAA7H,SAAuD,GAGvD,mEAAuD,GAA5D,YAAwJ,EAAnJ,SAAuD,GAEpD,8HAA2G,IAAjH,YAAkH,EAA5G,SAA2G,mDALtD,uDAAiD,GAA9G,YAAkI,EAArE,SAAiD,GAGR,uDAAiD,GAAvJ,YAAwJ,EAAlD,SAAiD,GAAC,yEAEtJ;iHAYA,wHAAqH,0NAAwC;iHAS5H,wHAAiH,2NAElJ;iHAHF,0kBAAkM,gFAC/J,0ZAAiH,iDADpG,mEAAuD,GAAvG,YAAkM,EAAlJ,SAAuD,GAC9D,+HAA0G,IAAhH,YAAiH,EAA3G,SAA0G,mDADH,uDAAiD,GAAjM,YAAkM,EAAlD,SAAiD,GAAC,0EAC/J;iHAoBjC,wHAAgD,saAAyC;iHACJ,wHAA0E,6cAAwC;iHAAvM,wHAA8C,yMAAuC,wZAA0E,iDAApE,qFAAmE,IAAzE,YAA0E,EAApE,SAAmE,mDAAhH,4MAAuC;iHA+F3F,6SAAqL,YAAvC;;wBAAsC;MAApL,wBAAqL,KACnL,qHAAG,KACD,2LAAiE;iHAGrE,iMAAsN,YAA9C;;wBAA6C;MAArN,ivCAAsN,mDAAhK,mBAA4B,YAA4B,oBAA2B,EAAC,mBAA6B,eAApF,yBAA0B,EAA7G,YAAsN,EAAhK,SAA4B,EAA4B,SAA2B,EAAC,SAA6B,EAApF,SAA0B;iHATjH,mOAAwI,KACtI,2PAA4J,KAC1J,mLAAuD,6FAAwC,MAE/F,oZAAqL,IAKrL,oZAAsN,iDALhN,oBAAgB,UAAtB,YAAqL,EAA/K,SAAgB,GAKF,mBAAiC,4BAArD,YAAsN,EAAlM,SAAiC,mDARiD,mBAAmD,kCAA3J,YAA4J,EAApD,SAAmD,GAClG,oEAAwC;iHAyB3G,kLAA8G,KAC5G,8LAAiH,YAAxC;;wBAAuC;MAAhH,k7BAAiH,mDAAhG,mBAA4B,YAAC,yBAA0B,EAAxE,YAAiH,EAAhG,SAA4B,EAAC,SAA0B;iHASlE,sTAAsN,KACpN,yPAAmG,YAA1B;;wBAAuB;MAAhG,wBAAmG;iHAMvG,wLAAuF,KACrF,sTAA0L,KACxL,+OAAyF,YAA1B;;wBAAuB;MAAtF,wBAAyF;iHAG7F,wLAAkL,KAChL,0QAAoJ,KAClJ,qHAAG,KAAC,+OAAmF,YAApB;;wBAAiB;MAAhF,wBAAmF;iHAiBnF,2NAAiI;iHACjI,0NAAiI;iHAFnI,8SAAmM,YAAlK;;wBAAwC;MAAzE,wBAAmM,KACjM,oZAAiI,IACjI,oZAAiI,iDAD5H,8CAA+B,GAApC,YAAiI,EAA5H,SAA+B,GAC/B,+CAAgC,GAArC,YAAiI,EAA5H,SAAgC;iHAarC,sNAAyH;iHACzH,qNAAuH;iHAFzH,kSAAwK,YAAvI;;wBAAyB;MAA1D,wBAAwK,KACtK,oZAAyH,IACzH,oZAAuH,iDADlH,yCAA4B,GAAjC,YAAyH,EAApH,SAA4B,GAC5B,0CAA2B,GAAhC,YAAuH,EAAlH,SAA2B;iHAgBhC,0NAA4H;iHAC5H,yNAA4H;iHAF9H,8SAA2L,YAA1J;;wBAAgC;MAAjE,wBAA2L,KACzL,oZAA4H,IAC5H,oZAA4H,iDADvH,0CAA2B,GAAhC,YAA4H,EAAvH,SAA2B,GAC3B,2CAA4B,GAAjC,YAA4H,EAAvH,SAA4B;iHAYnC,kSAAyK,YAAxI;;wBAA0B;MAA3D,wBAAyK,KAEvK,sNAA4F;iHAkB5F,0NAAkI;iHAClI,yNAAkI;iHAFpI,8SAAoN,YAAnL;;wBAAyD;MAA1F,wBAAoN,KAClN,oZAAkI,IAClI,oZAAkI,iDAD7H,gDAAiC,GAAtC,YAAkI,EAA7H,SAAiC,GACjC,iDAAkC,GAAvC,YAAkI,EAA7H,SAAkC;iHAYvC,6NAAiI;iHACjI,4NAAiI;iHAFnI,kSAAqL,YAApJ;;wBAAsC;MAAvE,wBAAqL,KACnL,oZAAiI,IACjI,oZAAiI,iDAD5H,4CAA6B,GAAlC,YAAiI,EAA5H,SAA6B,GAC7B,6CAA8B,GAAnC,YAAiI,EAA5H,SAA8B;iHAkBnC,sNAA6H;iHAC7H,qNAA6H;iHAF/H,8SAAyM,YAAxK;;wBAA8C;MAA/E,wBAAyM,KACvM,oZAA6H,IAC7H,oZAA6H,iDADxH,+CAAgC,GAArC,YAA6H,EAAxH,SAAgC,GAChC,gDAAiC,GAAtC,YAA6H,EAAxH,SAAiC;iHAiCtC,wNAA2H;iHAC3H,uNAA2H;iHAF7H,8SAA6L,YAA5J;;wBAAkC;MAAnE,wBAA6L,KAC3L,oZAA2H,IAC3H,oZAA2H,iDADtH,2CAA4B,GAAjC,YAA2H,EAAtH,SAA4B,GAC5B,4CAA6B,GAAlC,YAA2H,EAAtH,SAA6B;iHAalC,yNAA6H;iHAC7H,wNAA6H;iHAF/H,kSAAmL,YAAlJ;;wBAAoC;MAArE,wBAAmL,KACjL,oZAA6H,IAC7H,oZAA6H,iDADxH,4CAA6B,GAAlC,YAA6H,EAAxH,SAA6B,GAC7B,6CAA8B,GAAnC,YAA6H,EAAxH,SAA8B;iHA5J7C,+MAAsG,KACpG,qNAAkF,KAChF,8SAA2N,YAA/G;;wBAAwC;MAApJ,wBAA2N,KACzN,gNAA8E,KAC5E,yNAA2H,KACzH,6MAAyJ,KACvJ,oLAAqG,8FAAuC,MAIhJ,oZAAmM,IAOvM,+SAA2M,YAA1B;;wBAAyB;MAA1M,wBAA2M,KACzM,4OAAgJ,KAC9I,0PAA2J,KACzJ,iPAA4L,0FAA6B,MAI3N,qZAAwK,IAQ9K,0OAA4G,KAC1G,2PAAiL,KAC/K,iNAA8E,KAC5E,0NAA2H,KACzH,8MAAyJ,KACvJ,qLAAqG,2FAA+B,MAIxI,qZAA2L,IAO/L,2PAAiL,KAC/K,4OAAgJ,KAC9I,0PAA2J,KACzJ,iPAA4L,oFAAO,MAIrM,qZAAyK,IAS/K,0OAA4G,KAE1G,2PAAiL,KAC/K,iNAA8E,KAC5E,0NAA2H,KACzH,8MAAyJ,KACvJ,qLAAqG,8FAAwC,MAIjJ,qZAAoN,IAQxN,2PAAiL,KAC/K,4OAAgJ,KAC9I,0PAA2J,KACzJ,iPAA4L,8FAAoC,MAElO,qZAAqL,IAU3L,0OAA4G,KAC1G,2PAAiL,KAC/K,iNAA8E,KAC5E,0NAA2H,KACzH,8MAAyJ,KACvJ,qLAAqG,kGAA2C,MAIpJ,qZAAyM,IAO7M,2PAAiL,KAC/K,4OAAgJ,KAiBpJ,2OAA6G,KAC3G,2PAAiL,KAC/K,iNAA8E,KAC5E,0NAA2H,KACzH,8MAAyJ,KACvJ,qLAAqG,4FAAiC,MAI1I,qZAA6L,IAOjM,2PAAiL,KAC/K,4OAAgJ,KAC9I,0PAA2J,KACzJ,iPAA4L,6FAAmC,MAIjO,qZAAmL,iDAhJ9K,wCAA2B,GAAhC,YAAmM,EAA9L,SAA2B,GAc3B,yCAA2B,GAAhC,aAAwK,EAAnK,UAA2B,GAiB3B,yCAA2B,GAAhC,aAA2L,EAAtL,UAA2B,GAc3B,yCAA2B,GAAhC,aAAyK,EAApK,UAA2B,GAmB3B,yCAA2B,GAAhC,aAAoN,EAA/M,UAA2B,GAa3B,yCAA2B,GAAhC,aAAqL,EAAhL,UAA2B,GAmB3B,yCAA2B,GAAhC,aAAyM,EAApM,UAA2B,GAkC3B,yCAA2B,GAAhC,aAA6L,EAAxL,UAA2B,GAc3B,yCAA2B,GAAhC,aAAmL,EAA9K,UAA2B,mDAxJiH,0EAAqE,GAA1N,YAA2N,EAAtE,SAAqE,GAE/I,wDAAmD,GAA1H,YAA2H,EAApD,SAAmD,GAC/E,8DAA2D,GAAC,yDAAmD,GAAxJ,YAAyJ,EAAhH,SAA2D,EAAC,SAAmD,GAC7G,8DAA2D,GAApG,YAAqG,EAA5D,SAA2D,GAAC,kEAAuC,GAWxC,yEAAoE,GAAhL,aAA2M,EAA/F,SAAoE,GAC1F,8DAA2D,GAA/I,aAAgJ,EAA5D,SAA2D,GACtC,wDAAmD,GAA1J,aAA2J,EAApD,SAAmD,GAC5E,0DAAmD,GAAC,+DAA2D,GAA3L,aAA4L,EAAhH,UAAmD,EAAC,UAA2D,GAAC,gEAA6B,GAanH,0EAAoE,GAAhL,aAAiL,EAArE,UAAoE,GAErG,yDAAmD,GAA1H,aAA2H,EAApD,UAAmD,GAC/E,+DAA2D,GAAC,0DAAmD,GAAxJ,aAAyJ,EAAhH,UAA2D,EAAC,UAAmD,GAC7G,+DAA2D,GAApG,aAAqG,EAA5D,UAA2D,GAAC,iEAA+B,GAWhC,0EAAoE,GAAhL,aAAiL,EAArE,UAAoE,GAC1F,+DAA2D,GAA/I,aAAgJ,EAA5D,UAA2D,GACtC,yDAAmD,GAA1J,aAA2J,EAApD,UAAmD,GAC5E,0DAAmD,GAAC,+DAA2D,GAA3L,aAA4L,EAAhH,UAAmD,EAAC,UAA2D,GAerF,0EAAoE,GAAhL,aAAiL,EAArE,UAAoE,GAErG,yDAAmD,GAA1H,aAA2H,EAApD,UAAmD,GAC/E,+DAA2D,GAAC,0DAAmD,GAAxJ,aAAyJ,EAAhH,UAA2D,EAAC,UAAmD,GAC7G,+DAA2D,GAApG,aAAqG,EAA5D,UAA2D,GAAC,uEAAwC,GAYzC,0EAAoE,GAAhL,aAAiL,EAArE,UAAoE,GAC1F,+DAA2D,GAA/I,aAAgJ,EAA5D,UAA2D,GACtC,yDAAmD,GAA1J,aAA2J,EAApD,UAAmD,GAC5E,0DAAmD,GAAC,+DAA2D,GAA3L,aAA4L,EAAhH,UAAmD,EAAC,UAA2D,GAAC,mEAAoC,GAa1H,0EAAoE,GAAhL,aAAiL,EAArE,UAAoE,GAErG,yDAAmD,GAA1H,aAA2H,EAApD,UAAmD,GAC/E,+DAA2D,GAAC,0DAAmD,GAAxJ,aAAyJ,EAAhH,UAA2D,EAAC,UAAmD,GAC7G,+DAA2D,GAApG,aAAqG,EAA5D,UAA2D,GAAC,sEAA2C,GAW5C,0EAAoE,GAAhL,aAAiL,EAArE,UAAoE,GAC1F,+DAA2D,GAA/I,aAAgJ,EAA5D,UAA2D,GAkBrC,0EAAoE,GAAhL,aAAiL,EAArE,UAAoE,GAErG,yDAAmD,GAA1H,aAA2H,EAApD,UAAmD,GAC/E,+DAA2D,GAAC,0DAAmD,GAAxJ,aAAyJ,EAAhH,UAA2D,EAAC,UAAmD,GAC7G,+DAA2D,GAApG,aAAqG,EAA5D,UAA2D,GAAC,kEAAiC,GAWlC,0EAAoE,GAAhL,aAAiL,EAArE,UAAoE,GAC1F,+DAA2D,GAA/I,aAAgJ,EAA5D,UAA2D,GACtC,yDAAmD,GAA1J,aAA2J,EAApD,UAAmD,GAC5E,0DAAmD,GAAC,+DAA2D,GAA3L,aAA4L,EAAhH,UAAmD,EAAC,UAA2D,GAAC,mEAAmC;iHAkBvO,8KAAmE,KACjE,+KAAmD,KACjD,6RAAiK,KAC/J,qHAAG,KAAC,+OAAgG,YAAjC;;wBAA8B;MAA7F,wBAAgG;iHAP5G,+PAA+I,KAC7I,4MAAgF,KAGhF,oZAAmE,IAUnE,iMAAqE,KACnE,w5CAIiC,iDAf9B,mBAAgB,WAArB,YAAmE,EAA9D,SAAgB,GAaJ,mBAAmB,YACnB,yBAAiB,EACjB,qBAAiB,EAHjB,mBAAuB,EADtC,YAIiC,EAFlB,SAAmB,EACnB,SAAiB,EACjB,SAAiB,EAHjB,SAAuB;iHAU1C,wNAA6G,KAC3G,iLAAqD,KACnD,oiCAAwF,iDAA3E,4BAAqB,EAA8B,0BAAuB,EAApD,mBAA4B,YAA/D,YAAwF,EAA3E,SAAqB,EAA8B,SAAuB,EAApD,SAA4B;iHAInE,sNAA4G,KAC1G,gMAAoE,KAClE,oiCAAoF,iDAAvE,yBAAkB,EAA8B,yBAAsB,EAAnD,mBAA4B,YAA5D,YAAoF,EAAvE,SAAkB,EAA8B,SAAsB,EAAnD,SAA4B;iHAIhE,uNAA0G,KACxG,gMAAoE,KAClE,oiCAAgG,iDAAnF,0BAAmB,EAAwC,0BAAuB,EAA9D,mBAAsC,2BAAvE,YAAgG,EAAnF,SAAmB,EAAwC,SAAuB,EAA9D,SAAsC;iHASrE,gLAAqE,KACnE,iLAAqD,KACnD,uRAA8I,YAAjC;;wBAAgC;MAA7I,wBAA8I,KAC5I,+MAAqF;iHAiBrF,0tBAAoE,gFAAe,2BAA3E,sHAAsB,GAA9B,YAAoE,EAA5D,kIAAsB,GAA9B,YAAoE,EAA5D,SAAsB,2BAAsC,mEAAe;iHAHvF,wLAA6E,KAC3E,mOAA0G,YAAlD;;wBAAiD;MAAzG,wBAA0G,KACxG,orBAAQ,wFAAY,MACpB,6dAAoE,iDAArC,mBAAoC,kBAAnE,YAAoE,EAArC,SAAoC;iHAtB7E,gLAAoF,KAClF,kLAAqD,KACnD,oZAAqE,IASrE,2hBAAiI,GAA3D,4EAA0D,MAE9H,uKAA2C,KACzC,wLAAkE,uFAAU,MAIhF,iLAAoD,KAClD,qZAA6E,iDAjB1E,oBAAgB,UAArB,YAAqE,EAAhE,SAAgB,GASiD,+DAA0D,IAAhI,YAAiI,EAA3D,SAA0D,GAQlE,oBAAgB,UAA5E,aAA6E,EAAjB,SAAgB;iHAWhF,iMAAwP,YAAhF;;wBAA6C;MAArN,gxCAAwP,mDAAlM,mBAA4B,YAA4B,oBAA2B,EAAC,mBAA6B,eAApF,yBAA0B,EAAyG,kCAAiC,EAAvP,YAAwP,EAAlM,SAA4B,EAA4B,SAA2B,EAAC,SAA6B,EAApF,SAA0B,EAAyG,SAAiC;iHAjC3P,wOAA4H,KAG1H,oZAAoF,IA6BpF,gLAAoD,KAClD,oZAAwP,iDA9BvM,yCAAgC,WAAnF,YAAoF,EAAjC,SAAgC,GA8B7D,mBAAiC,4BAArD,YAAwP,EAApO,SAAiC;iHAWnD,gLAAqE,KACnE,iLAAqD,KACnD,uRAA8I,YAAjC;;wBAAgC;MAA7I,wBAA8I,KAC5I,+MAAqF;iHAiBrF,0tBAAoE,gFAAe,2BAA3E,sHAAsB,GAA9B,YAAoE,EAA5D,kIAAsB,GAA9B,YAAoE,EAA5D,SAAsB,2BAAsC,mEAAe;iHAHvF,wLAA6E,KAC3E,mOAA0G,YAAlD;;wBAAiD;MAAzG,wBAA0G,KACxG,orBAAQ,wFAAY,MACpB,6dAAoE,iDAArC,mBAAoC,kBAAnE,YAAoE,EAArC,SAAoC;iHAtB7E,gLAAoF,KAClF,kLAAqD,KACnD,oZAAqE,IASrE,+gBAAqH,GAA3D,4EAA0D,MAElH,uKAA2C,KACzC,oJAA8B,+FAAkB,MAIpD,iLAAoD,KAClD,qZAA6E,iDAjB1E,oBAAgB,UAArB,YAAqE,EAAhE,SAAgB,GASqC,+DAA0D,IAApH,YAAqH,EAA3D,SAA0D,GAQtD,oBAAgB,UAA5E,aAA6E,EAAjB,SAAgB;iHAWhF,iMAAqP,YAA7E;;wBAA6C;MAArN,gxCAAqP,mDAA/L,mBAA4B,YAA4B,oBAA2B,EAAC,mBAA6B,eAApF,yBAA0B,EAAyG,+BAA8B,EAApP,YAAqP,EAA/L,SAA4B,EAA4B,SAA2B,EAAC,SAA6B,EAApF,SAA0B,EAAyG,SAA8B;iHAjCxP,uOAA0H,KAGxH,oZAAoF,IA6BpF,gLAAoD,KAClD,oZAAqP,iDA9BpM,yCAAgC,WAAnF,YAAoF,EAAjC,SAAgC,GA8B7D,mBAAiC,4BAArD,YAAqP,EAAjO,SAAiC;iHAKzD,qKAA4D,KAE1D,wMAA4E,0FAA+B,MAE3G,gLAAoD,KAClD,stBAAmF,iDAAxE,mBAAqB,YAAqB,oBAA6B,EAAjD,0BAAmB,EAApD,YAAmF,EAAxE,SAAqB,EAAqB,SAA6B,EAAjD,SAAmB,mDAHsB,8DAA+B;iHAzTjH,ipBAA+Q,IAE7Q,4XAAmS,KACjS,mPAAsH,KAEpH,wLAA4D,KAC1D,oZAAsN,IAIxN,uPAA2H,KACzH,qKAA+C,4FAAe,MAEhE,qZAAuF,IAKvF,qZAAkL,IAQpL,qZAAsG,IAoKtG,qZAA+I,IA0B/I,qZAA6G,IAM7G,qZAA4G,IAM5G,qZAA0G,IAM1G,qZAA4H,IAuC5H,qZAA0H,IAsC1H,qZAA4D,iDAvThB,qGAAmF,IAAnI,YAA+Q,EAA/N,SAAmF,GAMpH,0CAA2B,GAAlC,YAAsN,EAA/M,SAA2B,GAOwB,uCAA0B,GAAtF,aAAuF,EAA3B,SAA0B,GAK1B,uJAAqH,gBAAjL,aAAkL,EAAtH,SAAqH,GAQrI,mBAAyB,oBAAvE,aAAsG,EAAxD,SAAyB,GAoKnD,mBAAiB,YAArC,aAA+I,EAA3H,SAAiB,GA0BZ,mBAAsB,iBAA/C,aAA6G,EAApF,SAAsB,GAMqC,mBAAuB,kBAA3G,aAA4G,EAAxB,SAAuB,GAMtB,oBAAoB,eAAzG,aAA0G,EAArB,UAAoB,GAMjF,oBAAqB,gBAA7C,aAA4H,EAApG,UAAqB,GAuCtB,oBAAoB,eAA3C,aAA0H,EAAnG,UAAoB,GAsCtB,oBAAkB,aAAvC,aAA4D,EAAvC,UAAkB,mDAvT4K,0DAAuD,GAA9Q,YAA+Q,EAAxD,SAAuD,GAEvQ,8DAA8D,GAAnE,YAAmS,EAA9R,SAA8D;iHAqU6D,qHAAgC,8EAAC;iHAG/J,oPAAqH,YAA7B;;wBAA4B;MAApH,wBAAqH;iHAIrH,iPAA+H,YAAzB;;wBAAwB;MAA9H,wBAA+H;iHAVnI,uKAA+D,KAE7D,4IAAsB,4FACL,qJAAyB,0FAAsF,0ZAAgC,IAAK,iFAA8B,MAEnM,4IAAsB,KACpB,qZAAqH,IAEvH,6IAAsB,KAAC,kJAA2B,qGAAwD,MAC1G,6IAAsB,KACpB,qZAA+H,IAEjI,qLAAwD,KACtD,kOAAyE,YAAxB;;wBAAuB;MAAxE,wBAAyE,iLAA+C,KACxH,iQAAuG,YAA5E;;wBAAsB;MAAjD,wBAAuG,qLAAmD,kDAXzB,mBAA4B,uBAA/B,YAAgC,EAA7B,SAA4B,GAG1J,sCAAyB,GAA5B,aAAqH,EAAlH,SAAyB,GAIzB,6CAA0C,iBAA7C,aAA+H,EAA5H,SAA0C,mDAPL,uLAAsF,GAAqC,iEAA8B,GAKjJ,mHAAwD;gHAnpB9G,qOAAkI,KAChI,k7BAA2P,GAA/G,yEAA2D,MACrM,mZAAyP,IAGzP,2MAAuE,KACrE,05BAAuL,GAApG,0EAA6D,MAC9I,oLAAqD,KACnD,oLAAuD,2HAAG,yLAAuD,gGAAoD,MAErK,yNAAoF,KAClF,2hBAA6H,GAAhF,0EAA0D,MACrG,6LAAgE,KAE9D,oZAA4F,IAQ9F,+LAAiE,KAC/D,ujBAAkI,IAChI,0MAA6D,YAA7B;;wBAA4B;MAA5D,wBAA6D,KAC3D,oZAAuE,IACvE,oZAA+G,IAKnH,6jBAAuI,IACrI,qKAA8C,2FAAsF,2ZAA2C,IAC/K,wHAAK,iFAAwB,MAC7B,wHAAK,wFAAgC,MACrC,wHAAK,sFAA4B,MAGnC,0KAA4C,KAC1C,+KAAkD,KAChD,qZAA6Q,IAE7Q,qZAAoK,IAItK,kLAAqD,KACnD,qZAAwQ,IACxQ,qZAA+J,IAEjK,kLAAqD,KACnD,qZAA+P,IAC/P,qZAA4J,IAE9J,kLAAqD,KACnD,qZAAwQ,IACxQ,qZAAgK,IAKtK,wNAAyF,KACvF,qZAA+F,IAQ/F,oKAA6C,KAC3C,skBAAiJ,IAC/I,kJAA2B,0FAAa,MAE1C,4jBAAuI,kFAEvI,MAGF,oKAA6C,KAC3C,ujBAAkI,IAChI,kJAA2B,sFAAS,MAEtC,4jBAAuI,kFAEvI,MAEF,oKAA6C,KAC3C,ujBAAkI,IAChI,kJAA2B,sFAAS,MAEtC,4jBAAuI,kFAEvI,MAEF,qKAA6C,KAC3C,ujBAAkI,IAChI,yHAAM,uJAA2B,oGAAuB,MAE1D,6kBAAuJ,IACrJ,2HAAM,kFAAuB,4ZAAgC,IAAK,kRAAoF,0ZAAkE,IAAQ,gNAAqE,IAIzS,qKAA6C,KAC3C,yjBAAkI,IAChI,0HAAM,wJAA2B,oFAAO,MAE1C,8kBAAuJ,IACrJ,0HAAM,kFAAmC,MAI7C,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,uFAAU,MAEvC,sZAA4I,IAI9I,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,2FAAc,MAE3C,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,iFAAI,MAEjC,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,iFAAI,MAEjC,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,2FAAc,MAE3C,8kBAAuJ,mFAErJ,4ZAA8G,IAMlH,sZAAwF,IAYxF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,4FAAe,MAE5C,8kBAAuJ,mFAErJ,4ZAAqH,IAIzH,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,6FAAgB,MAE7C,sZAAkM,IAOpM,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,0FAAa,MAE1C,8jBAAuI,mFAEvI,MAEF,sKAA6C,KAC3C,wjBAAiI,IAC/H,mJAA2B,4FAAe,MAE5C,8kBAAuJ,mFAErJ,4ZAAgD,IAChD,sZAA8C,IAGlD,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,qFAAQ,MAErC,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,uFAAU,MAEvC,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,uFAAU,MAEvC,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,uFAAU,MAEvC,8jBAAuI,mFAEvI,MAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,sFAAS,MAEtC,8jBAAuI,mFAEvI,MAGF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,wFAAW,MAExC,8jBAAuI,iJAEvI,IAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,uFAAU,MAEvC,8jBAAuI,iJAEvI,IAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,2FAAc,MAE3C,8jBAAuI,iJAEvI,IAEF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,wFAAW,MAExC,8jBAAuI,mFAEvI,MAGF,qKAA6C,KAC3C,yjBAAkI,IAChI,mJAA2B,mFAAM,MAEnC,8jBAAuI,mFAEvI,MAQR,sZAAwI,IA2BhJ,sZAA8G,IAI9G,sZAA+Q,IAoU/Q,sZAA+D,iDA1oB9C,6IAA0H,GAA3I,YAA2P,EAA1O,SAA0H,GAAC,kEAA2D,IAAvM,YAA2P,EAA/G,SAA2D,GAChM,wCAAyB,GAA9B,YAAyP,EAApP,SAAyB,GAIvB,0FAA6E,GAAlF,YAAuL,EAAlL,SAA6E,GAAC,qEAA6D,IAAhJ,aAAuL,EAApG,SAA6D,GAK7F,kEAA0D,IAAvG,aAA6H,EAAhF,SAA0D,GAGpC,mBAA4B,uBAA3F,aAA4F,EAA7B,SAA4B,GAStF,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAEF,oBAAgB,WAAtE,aAAuE,EAAjB,UAAgB,GACuB,qBAAiB,WAA9G,aAA+G,EAAlB,UAAiB,GAK7G,oEAAuD,GAA5D,aAAuI,EAAlI,UAAuD,GACgF,kDAAoC,GAA1C,aAA2C,EAArC,UAAoC,GAQvK,+FAAwE,IAA7E,aAA6Q,EAAxQ,UAAwE,GAExE,+FAAwE,IAA7E,aAAoK,EAA/J,UAAwE,GAKxE,6FAAsE,IAA3E,aAAwQ,EAAnQ,UAAsE,GACtE,6FAAqE,IAA1E,aAA+J,EAA1J,UAAqE,GAGrE,2FAAoE,IAAzE,aAA+P,EAA1P,UAAoE,GACpE,2FAAoE,IAAzE,aAA4J,EAAvJ,UAAoE,GAGpE,6FAAsE,IAA3E,aAAwQ,EAAnQ,UAAsE,GACtE,6FAAsE,IAA3E,aAAgK,EAA3J,UAAsE,GAMnC,qBAA4B,sBAAxE,aAA+F,EAAnD,UAA4B,GASjE,oEAAuD,GAA5D,aAAiJ,EAA5I,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuI,EAAlI,UAAuD,GAMvD,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,aAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,aAAuJ,EAAlJ,UAAuD,GAC1B,oBAA4B,uBAA/B,cAAgC,EAA7B,UAA4B,GAAgG,8EAA2D,IAAjE,cAAkE,EAA5D,UAA2D,GAKpN,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuJ,EAAlJ,UAAuD,GAMvD,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,yDAA2C,GAAhD,cAA4I,EAAvI,UAA2C,GAK3C,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAKvD,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuJ,EAAlJ,UAAuD,GAEpD,2HAAuG,IAA7G,cAA8G,EAAxG,UAAuG,GAM5G,uDAAyC,GAA9C,cAAwF,EAAnF,UAAyC,GAavC,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuJ,EAAlJ,UAAuD,GAEpD,mIAA8G,IAApH,cAAqH,EAA/G,UAA8G,GAKjH,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,wDAA0C,GAA/C,cAAkM,EAA7L,UAA0C,GAQ1C,oEAAuD,GAA5D,cAAkI,EAA7H,UAAuD,GAGvD,oEAAuD,GAA5D,cAAuI,EAAlI,UAAuD,GAKvD,qEAAuD,GAA5D,cAAiI,EAA5H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuJ,EAAlJ,WAAuD,GAEpD,wDAAyC,GAA/C,cAAgD,EAA1C,WAAyC,GACzC,sDAAuC,GAA7C,cAA8C,EAAxC,WAAuC,GAI1C,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAKvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAKvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAKvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAKvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAMvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAKvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAKvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAKvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAMvD,qEAAuD,GAA5D,cAAkI,EAA7H,WAAuD,GAGvD,qEAAuD,GAA5D,cAAuI,EAAlI,WAAuD,GAU/D,qBAAsC,iCAA3C,cAAwI,EAAnI,WAAsC,GA2B9C,iDAAuD,4BAA5D,cAA8G,EAAzG,WAAuD,GAIrC,qBAAwB,mBAA/C,cAA+Q,EAAxP,WAAwB,GAoU1C,qBAAoB,eAAzB,cAA+D,EAA1D,WAAoB,mDA3oBiF,mBAAqB,EAAjI,YAAkI,EAAtB,SAAqB,GAQN,+EAAoD,GAelG,uDAAiD,GAA9G,aAAkI,EAArE,SAAiD,GAQzB,wDAAiD,GAAtI,aAAuI,EAAlD,UAAiD,GACtF,8LAAsF,GAC/H,oEAAwB,GACxB,qEAAgC,GAChC,mEAA4B,GAoC8D,wDAAiD,GAAhJ,aAAiJ,EAAlD,UAAiD,GAG3D,wDAAiD,GAAtI,aAAuI,EAAlD,UAAiD,GAAC,8EAEvI,GAI6D,wDAAiD,GAA9G,aAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,aAAuI,EAAlD,UAAiD,GAAC,uEAEvI,GAG6D,wDAAiD,GAA9G,aAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,aAAuI,EAAlD,UAAiD,GAAC,uEAEvI,GAG6D,wDAAiD,GAA9G,aAAkI,EAArE,UAAiD,GAGT,wDAAiD,GAAtJ,aAAuJ,EAAlD,UAAiD,GAC9I,oEAAuB,GAAqC,iaAAoF,GAA0E,0QAAqE,GAK1O,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGT,wDAAiD,GAAtJ,cAAuJ,EAAlD,UAAiD,GAC9I,gFAAmC,GAKkB,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAQjD,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,cAAuI,EAAlD,UAAiD,GAAC,iFAEvI,GAG6D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,cAAuI,EAAlD,UAAiD,GAAC,2IAEvI,GAG6D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,cAAuI,EAAlD,UAAiD,GAAC,mEAEvI,GAG6D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGT,wDAAiD,GAAtJ,cAAuJ,EAAlD,UAAiD,GAAC,2EAErJ,GAmB2D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGT,wDAAiD,GAAtJ,cAAuJ,EAAlD,UAAiD,GAAC,6EAErJ,GAK2D,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAWjD,wDAAiD,GAA9G,cAAkI,EAArE,UAAiD,GAGzB,wDAAiD,GAAtI,cAAuI,EAAlD,UAAiD,GAAC,6EAEvI,GAG+E,yDAAiD,GAAhI,cAAiI,EAAlD,WAAiD,GAG3B,yDAAiD,GAAtJ,cAAuJ,EAAlD,WAAiD,GAAC,0EAErJ,GAK2D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,sEAEvI,GAG6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,0EAEvI,GAG6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,2EAEvI,GAG6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,0EAEvI,GAG6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,yEAEvI,GAI6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,kPAEvI,GAG6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,iPAEvI,GAG6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,qPAEvI,GAG6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,8EAEvI,GAI6D,yDAAiD,GAA9G,cAAkI,EAArE,WAAiD,GAGzB,yDAAiD,GAAtI,cAAuI,EAAlD,WAAiD,GAAC,uEAEvI;iHAgYlB,iLAAwE,KACtE,gOAAyL,YAA7F;;wBAA0C;MAAC;;wBAAiD;MAAxL,utCAAyL,mDAA3K,mBAAc,KAAwB,mBAAkB,OAAzC,mBAAsB,SAAoB,oBAAoB,EAA3F,YAAyL,EAA3K,SAAc,EAAwB,SAAkB,EAAzC,SAAsB,EAAoB,SAAoB;iHAOvF,yPAA4H,YAAnD;;wBAAyB;MAAlG,wBAA4H;iHAC5H,2PAA8H,YAAnD;;wBAA0B;MAArG,wBAA8H;iHAJpI,2LAAoJ,YAAxI;;wBAA6B;MAAyB;;wBAAoD;MAAtH,0cAAoJ,MAClJ,mPAA0H,KACxH,4MAAgF,KAC9E,oZAA4H,IAC5H,oZAA8H,IAEhI,wLAA4D,KAC5D,qKAA+C,4FAAe,MAIhE,8LAAoE,KAElE,05CAIiC,iDAjBzB,mBAA6B,kBAA8E,uBAA4B,EAAnJ,YAAoJ,EAAxI,SAA6B,EAA8E,SAA4B,GAG1C,oBAAsB,gBAAzH,YAA4H,EAAzB,SAAsB,GACnB,mBAAqB,gBAA3H,YAA8H,EAAxB,SAAqB,GAW9G,mBAAmB,YACnB,yBAAiB,EACjB,qBAAiB,EAHjB,mBAAuB,EADtC,aAIiC,EAFlB,SAAmB,EACnB,SAAiB,EACjB,SAAiB,EAHjB,SAAuB;iHAS1C,0LAA4K,YAAhK;;wBAA8B;MAA0B;;wBAAoD;MAAxH,6dAA4K,MAC1K,iiCAAoF,iDADmC,4BAAqB,EAAlI,mBAA8B,mBAAqG,uBAA4B,EAA3K,YAA4K,EAAnD,SAAqB,EAAlI,SAA8B,EAAqG,SAA4B,GAC5J,4BAAqB,EAA0B,0BAAuB,EAAhD,mBAAwB,aAA3D,YAAoF,EAAvE,SAAqB,EAA0B,SAAuB,EAAhD,SAAwB;gHAhsBjE,sNAAyI,KACvI,mOAAgG,KAE9F,mZAAkI,IAgqBlI,oZAAwE,IAGxE,6LAA6D,KAC7D,+LAA+D,KAC/D,oZAAoJ,IAuBpJ,qZAA4K,IAG5K,4LAAyC,YAA7B;;wBAA4B;MAAxC,gaAAyC,MACvC,oLAA+D,KAC7D,sKAA+C,KAAI,sHAAG,mGAAsB,MAC5E,4KAAoD,KAClD,uHAAM,KACN,yHAAM,wMAGkB,4HAAG,uGAAyB,MAAI,+HAEtD,4HAAG,qFAAM,MAAI,qIAEf,MACA,uHAAM,4HAAM,KAEd,4KAA+C,KAC7C,uKAA0C,KACxC,8RAAuJ,YAAxH;;wBAAyC;MAAxE,wBAAuJ,iGAAoB,MAG7K,6LAAgE,KAC9D,2RAAyI,YAA1G;;wBAA8B;MAA7D,wBAAyI,iFAAI,mDAptBhJ,oBAAmB,aAAxB,YAAkI,EAA7H,SAAmB,GAgqBD,mBAAkB,aAAzC,YAAwE,EAAjD,SAAkB,GAKC,mBAAuB,kBAAjE,YAAoJ,EAA1G,SAAuB,GAuBtB,mBAAwB,mBAAnE,aAA4K,EAAjI,SAAwB,GAGvD,mBAA4B,iBAAxC,aAAyC,EAA7B,SAA4B,mDAlsB+C,qDAA6C,GAAxI,YAAyI,EAA9C,SAA6C;iHAkuBxI,mJAAqD,KACnD,8LAAqH,YAArC;;wBAAoC;MAApH,+zCAAqH,mDAAjF,mBAAuB,YAA1C,mBAAkB,OAAyB,2BAAmB,EAA/E,YAAqH,EAAjF,SAAuB,EAA1C,SAAkB,EAAyB,SAAmB;iHAI/E,iMAAiL,YAA7C;;wBAA4C;MAAhL,69CAAiL,mIAA5G,mBAA2C,2BAAnE,mBAAuB,YAA6C,yBAAkB,EAAnI,YAAiL,EAA5G,SAA2C,EAAnE,SAAuB,EAA6C,SAAkB;iHACnI,mMAA6I,YAAtC;;wBAAqC;MAA5I,69BAA6I,mDAAvF,mBAA6B,aAAC,yBAAkB,EAAtG,YAA6I,EAAvF,SAA6B,EAAC,SAAkB;iHACtG,oMAA2I,YAA3C;;wBAA0C;MAA1I,yrBAA2I,mDAA5F,mBAA6B,aAAC,yBAAkB,EAA/F,YAA2I,EAA5F,SAA6B,EAAC,SAAkB;iHAHjG,kNAAgQ,YAApP;;wBAAgC;MAA5C,6dAAgQ,MAC9P,iZAAiL,IACjL,iZAA6I,IAC7I,iZAA2I,iDAHjD,gGAA+E,GAA/J,mBAAgC,qBAAgI,gGAAmF,GAA/P,YAAgQ,EAApK,SAA+E,EAA/J,SAAgC,EAAgI,SAAmF,GAChP,4CAA+B,GAA5C,YAAiL,EAApK,SAA+B,GACtB,4CAA+B,GAArD,YAA6I,EAAvH,SAA+B,GAC/B,qCAAwB,GAA9C,YAA2I,EAArH,SAAwB;kHAmB9C,iLAAuF,KACrF,oiCAAwF,iDAA3E,4BAAqB,EAA8B,0BAAuB,EAApD,mBAA4B,YAA/D,YAAwF,EAA3E,SAAqB,EAA8B,SAAuB,EAApD,SAA4B;kHAGjE,gMAAuG,KACrG,oiCAAsF,iDAAzE,+BAAwB,EAAyB,0BAAuB,EAA/C,mBAAuB,YAA7D,YAAsF,EAAzE,SAAwB,EAAyB,SAAuB,EAA/C,SAAuB;kHAE/D,gMAAmG,KACjG,oiCAAgG,iDAAnF,0BAAmB,EAAwC,0BAAuB,EAA9D,mBAAsC,2BAAvE,YAAgG,EAAnF,SAAmB,EAAwC,SAAuB,EAA9D,SAAsC;kHAGzE,gMAAiG,KAE/F,w5CAIiC,iDAFlB,mBAAmB,YACnB,yBAAiB,EACjB,qBAAiB,EAHjB,mBAAuB,EADtC,YAIiC,EAFlB,SAAmB,EACnB,SAAiB,EACjB,SAAiB,EAHjB,SAAuB;kHA8B5B,0tBAAoE,gFAAe,2BAA3E,sHAAsB,GAA9B,YAAoE,EAA5D,kIAAsB,GAA9B,YAAoE,EAA5D,SAAsB,2BAAsC,mEAAe;kHAHvF,wLAAwF,KACtF,mOAA0G,YAAlD;;wBAAiD;MAAzG,wBAA0G,KACxG,orBAAQ,wFAAY,MACpB,8dAAoE,iDAArC,mBAAoC,kBAAnE,YAAoE,EAArC,SAAoC;kHAtB7E,gLAAoF,KAClF,kLAAqD,KACnD,gLAAoD,KAClD,iLAAqD,KACnD,uRAA8I,YAAjC;;wBAAgC;MAA7I,wBAA8I,KAC5I,+MAAqF,KAM3F,2hBAAiI,GAA3D,4EAA0D,MAE9H,kLAAsD,KACpD,0LAAmE,uFAAU,MAIjF,iLAAoD,KAClD,sZAAwF,iDARpB,+DAA0D,IAAhI,YAAiI,EAA3D,SAA0D,GAQlE,oBAA2B,qBAAvF,aAAwF,EAA5B,SAA2B;kHAYzF,iMAAwP,YAAhF;;wBAA6C;MAArN,gxCAAwP,mDAAlM,mBAA4B,YAA4B,oBAA2B,EAAC,mBAA6B,eAApF,yBAA0B,EAAyG,kCAAiC,EAAvP,YAAwP,EAAlM,SAA4B,EAA4B,SAA2B,EAAC,SAA6B,EAApF,SAA0B,EAAyG,SAAiC;kHADzP,iLAAiF,KAC/E,qZAAwP,iDAApO,mBAAiC,4BAArD,YAAwP,EAApO,SAAiC;kHAEvD,mLAAkF,KAChF,8LAAiH,YAAxC;;wBAAuC;MAAhH,k7BAAiH,mDAAhG,mBAA4B,YAAC,yBAA0B,EAAxE,YAAiH,EAAhG,SAA4B,EAAC,SAA0B;kHAL5E,gLAAqF,KACnF,qZAAiF,IAGjF,qZAAkF,iDAH7B,oBAA2B,qBAAhF,YAAiF,EAA5B,SAA2B,GAG3E,mBAA0B,qBAA/B,YAAkF,EAA7E,SAA0B;kHAlCnC,iLAAsF,KACpF,qZAAoF,IA6BpF,qZAAqF,iDA7BlC,yCAAgC,WAAnF,YAAoF,EAAjC,SAAgC,GA6B/B,mBAAgC,2BAApF,YAAqF,EAAjC,SAAgC;kHAqC1E,0tBAAoE,gFAAe,2BAA3E,sHAAsB,GAA9B,YAAoE,EAA5D,kIAAsB,GAA9B,YAAoE,EAA5D,SAAsB,2BAAsC,mEAAe;kHAHvF,wLAAwF,KACtF,mOAA0G,YAAlD;;wBAAiD;MAAzG,wBAA0G,KACxG,orBAAQ,wFAAY,MACpB,8dAAoE,iDAArC,mBAAoC,kBAAnE,YAAoE,EAArC,SAAoC;kHAtB7E,gLAAoF,KAClF,kLAAqD,KACnD,gLAAoD,KAClD,iLAAqD,KACnD,uRAA8I,YAAjC;;wBAAgC;MAA7I,wBAA8I,KAC5I,+MAAqF,KAM3F,2hBAAiI,GAA3D,4EAA0D,MAE9H,kLAAsD,KACpD,4LAAqE,0GAA6B,MAItG,iLAAoD,KAClD,sZAAwF,iDARpB,+DAA0D,IAAhI,YAAiI,EAA3D,SAA0D,GAQlE,oBAA2B,qBAAvF,aAAwF,EAA5B,SAA2B;kHAYzF,iMAAqP,YAA7E;;wBAA6C;MAArN,gxCAAqP,mDAA/L,mBAA4B,YAA4B,oBAA2B,EAAC,mBAA6B,eAApF,yBAA0B,EAAyG,+BAA8B,EAApP,YAAqP,EAA/L,SAA4B,EAA4B,SAA2B,EAAC,SAA6B,EAApF,SAA0B,EAAyG,SAA8B;kHADtP,iLAAiF,KAC/E,qZAAqP,iDAAjO,mBAAiC,4BAArD,YAAqP,EAAjO,SAAiC;kHAEvD,mLAAkF,KAChF,8LAAiH,YAAxC;;wBAAuC;MAAhH,k7BAAiH,mDAAhG,mBAA4B,YAAC,yBAA0B,EAAxE,YAAiH,EAAhG,SAA4B,EAAC,SAA0B;kHAL5E,gLAAqF,KACnF,qZAAiF,IAGjF,qZAAkF,iDAH7B,oBAA2B,qBAAhF,YAAiF,EAA5B,SAA2B,GAG3E,mBAA0B,qBAA/B,YAAkF,EAA7E,SAA0B;kHAlCnC,iLAAsF,KACpF,qZAAoF,IA6BpF,qZAAqF,iDA7BlC,yCAAgC,WAAnF,YAAoF,EAAjC,SAAgC,GA6B/B,mBAAgC,2BAApF,YAAqF,EAAjC,SAAgC;kHAYtF,gMAA+F,KAC7F,ojCAA6E,yBAAhE,qBAAc,EAA0B,0BAAuB,EAAhD,kBAAwB,EAApD,YAA6E,EAAhE,SAAc,EAA0B,SAAuB,EAAhD,SAAwB;kHAEtD,iLAAoF,KAClF,oiCAAoF,iDAAvE,yBAAkB,EAA8B,yBAAsB,EAAnD,mBAA4B,YAA5D,YAAoF,EAAvE,SAAkB,EAA8B,SAAsB,EAAnD,SAA4B;kHAcpD,0tBAAqE,iFAErE,2BAFgD,sHAAoB,GAApE,YAAqE,EAArB,kIAAoB,GAApE,YAAqE,EAArB,SAAoB,2BAAC,sEAErE;kHAdV,kLAAsF,KACpF,+KAAmD,KACjD,4LAAgE,KAE9D,sLAA0D,KAG1D,wKAA4C,KAG5C,wKAA4C,KAC1C,oOAAiH,YAAxD;;wBAAuD;MAAhH,wBAAiH,KAC/G,8dAAqE,IAO7E,43CAAmI,iDAPnH,mBAAuC,qBAA/C,YAAqE,EAA7D,SAAuC,GAOI,mBAAoC,YAAhF,iBAAgB,EAAC,qBAA0B,EAAsC,6BAAwB,EAAxH,aAAmI,EAAxE,SAAoC,EAAhF,SAAgB,EAAC,SAA0B,EAAsC,SAAwB;kHAE1H,iLAAkF,KAChF,wMAA4E,0FAA+B,MAG3G,gLAAoD,KAClD,stBAAmF,iDAAxE,mBAAqB,YAAqB,oBAA6B,EAAjD,0BAAmB,EAApD,YAAmF,EAAxE,SAAqB,EAAqB,SAA6B,EAAjD,SAAmB,mDAJsB,8DAA+B;iHAvJ/G,2NAA+H,YAAnH;;wBAAoC;MAAhD,0bAA+H,MAC7H,mNAA0F,KAC1F,+MAAsF,KAKpF,qLAAyD,KACvD,yHAAO,kGAAiC,MAE1C,iKAA2C,KACzC,qVAAwP,YAAnF;;;;wBAAkF;MAAvP,wBAAwP,KACtP,qHAAG,KAAC,4LAAiE,KAI3E,mZAAuF,IAIvF,mZAAuG,IAGvG,mZAAmG,IAInG,mZAAiG,IAUjG,mZAAsF,IA4CtF,mZAAsF,IA0CtF,mZAA+F,IAG/F,mZAAoF,IAGpF,mZAAsF,IAqBtF,mZAAkF,iDAtJwB,qBAAkB,EAAlH,mBAAoC,yBAAhD,YAA+H,EAAnB,SAAkB,EAAlH,SAAoC,GAgBO,mBAAiC,4BAAtF,aAAuF,EAAlC,SAAiC,GAIlB,mBAAkC,6BAAtG,aAAuG,EAAnC,SAAkC,GAGlC,mBAA8B,yBAAlG,aAAmG,EAA/B,SAA8B,GAI9B,mBAA4B,uBAAhG,aAAiG,EAA7B,SAA4B,GAU3C,mBAAgC,2BAArF,aAAsF,EAAjC,SAAgC,GA4ChC,mBAAgC,2BAArF,aAAsF,EAAjC,SAAgC,GA0CjB,mBAA0B,qBAA9F,aAA+F,EAA3B,SAA0B,GAGzC,oBAA8B,yBAAnF,aAAoF,EAA/B,UAA8B,GAG9B,oBAAgC,2BAArF,aAAsF,EAAjC,UAAgC,GAqBhC,oBAA4B,uBAAjF,aAAkF,EAA7B,UAA4B,mDA9ItE,wDAAiC;kHAyJ9C,oNAAiG,YAArF;;wBAAwB;MAApC,0bAAiG,MAC/F,4LAA2G,YAA9C;;wBAA6C;MAA1G,41BAA2G,mDAD/B,qBAAkB,EAApF,mBAAwB,YAApC,YAAiG,EAAnB,SAAkB,EAApF,SAAwB,GAChB,mBAAoB,aAAC,mBAAqB,MAA5D,YAA2G,EAAzF,SAAoB,EAAC,SAAqB;kHAE9D,qOAA8J,YAAlJ;;wBAA6B;MAAyF;;wBAA2B;MAA7J,+dAA8J,MAC5J,mLAAwE,YAA9B;;wBAA6B;MAAvE,ulBAAwE,mDADa,qBAAkB,EAAC,8BAAuB,EAArH,mBAA6B,kBAAzC,YAA8J,EAAvE,SAAkB,EAAC,SAAuB,EAArH,SAA6B,GACxB,mBAA0B,iBAAzC,YAAwE,EAAzD,SAA0B;w5CAl5B3C,0LAAyD,KACzD,oZAAyI,IAkuBzI,qZAAqD,IAIrD,qZAAgQ,IAMhQ,qZAA+H,IAiK/H,sZAAiG,IAGjG,sZAA8J,iDAh5BzJ,mBAAuB,kBAA5B,aAAyI,EAApI,SAAuB,GAkuBvB,mBAAuB,kBAA5B,aAAqD,EAAhD,SAAuB,GAIiB,mBAA0B,qBAAvE,aAAgQ,EAAnN,SAA0B,GAMtB,mBAA8B,yBAA/E,aAA+H,EAA9E,SAA8B,GAiK1C,mBAAkB,YAAvD,aAAiG,EAA5D,SAAkB,GAGb,mBAAuB,kBAAjE,aAA8J,EAApH,SAAuB;;;;;;;;;;;;;;;;ACj5BjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsG;AAC7C;AACY;AACjB;AACA;AAGN;AAIwB;AAC3B;AACM;AACoB;AACN;AAEN;AACU;AAGA;AAC2B;AACW;AAC5C;AAID;AACF;AACzB;AAE4C;AAQ7E;IA+LE,oCAAoB,KAAqB,EAAS,oBAA0C,EAAU,eAAgC,EAAU,WAAwB,EAAU,eAAgC,EAAU,MAAqB,EAAU,gBAAkC,EAAU,MAAc,EAAE,SAAqB,EAAU,WAAyB,EAAU,iBAAsC;QAA/Z,iBAOC;QAPmB,UAAK,GAAL,KAAK,CAAgB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAiC,gBAAW,GAAX,WAAW,CAAc;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAnLxZ,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrE,cAAS,GAAW,CAAC,CAAC;QAG7B,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,mBAAc,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAC1C,aAAQ,GAAY,KAAK,CAAC;QACnB,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAC1C,kBAAa,GAAsB,EAAE,CAAC;QACtC,mBAAc,GAAuB,EAAE,CAAC;QACxC,oBAAe,GAAyB,EAAE,CAAC;QAC3C,iBAAY,GAAoB,EAAE,CAAC;QACnC,iBAAY,GAAoB,EAAE,CAAC;QACnC,qBAAgB,GAAU,EAAE,CAAC;QAC7B,6BAAwB,GAAU,EAAE,CAAC;QACrC,mBAAc,GAAU,EAAE,CAAC;QAC3B,cAAS,GAAiB,EAAE,CAAC;QAC7B,eAAU,GAAkB,EAAE,CAAC;QAC/B,gBAAW,GAAmB,EAAE,CAAC;QACjC,iBAAY,GAAoB,EAAE,CAAC;QACnC,gBAAW,GAAmB,EAAE,CAAC;QACjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,4BAAuB,GAAY,KAAK,CAAC;QACzC,qBAAgB,GAAY,KAAK,CAAC;QAClC,mBAAc,GAAY,KAAK,CAAC;QAChC,oBAAe,GAAY,KAAK,CAAC;QACjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,uBAAkB,GAAY,KAAK,CAAC;QAEpC,oBAAe,GAAY,IAAI,CAAC;QAChC,sBAAiB,GAAY,IAAI,CAAC;QAClC,sBAAiB,GAAY,IAAI,CAAC;QAClC,uBAAkB,GAAY,IAAI,CAAC;QACnC,iBAAY,GAAY,KAAK,CAAC;QAC9B,mBAAc,GAAY,KAAK,CAAC;QAChC,mBAAc,GAAY,IAAI,CAAC;QAC/B,kBAAa,GAAW,CAAC,CAAC;QAC1B,WAAM,GAAY,IAAI,CAAC;QACvB,gBAAW,GAAmB,EAAE,CAAC;QACjC,oBAAe,GAAmB,EAAE,CAAC;QACrC,YAAO,GAAmB,EAAE,CAAC;QAC7B,cAAS,GAAmB,EAAE,CAAC;QAC/B,eAAU,GAAmB,EAAE,CAAC;QAChC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QACtB,cAAS,GAAG,EAAE,CAAC;QACtB,sBAAiB,GAAmB,EAAE,CAAC;QACvC,eAAU,GAAmB,EAAE,CAAC;QAChC,eAAU,GAAmB,EAAE,CAAC;QAChC,cAAS,GAAmB,EAAE,CAAC;QAE/B,iBAAY,GAAY,IAAI,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAY,IAAI,CAAC;QAC/B,uBAAkB,GAAY,KAAK,CAAC;QACpC,SAAI,GAAY,KAAK,CAAC;QACtB,sBAAiB,GAAY,KAAK,CAAC;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,uBAAkB,GAAY,KAAK,CAAC;QAGpC,yBAAoB,GAAY,KAAK,CAAC;QACtC,mBAAc,GAAY,KAAK,CAAC;QAEhC,oBAAe,GAAG,KAAK,CAAC;QACxB,cAAS,GAAW,CAAC,CAAC;QAEtB,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAM3C,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAEnB,SAAI,GAAiB,EAAE,CAAC;QACzB,WAAM,GAAW,CAAC,CAAC;QAC1B,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAW,CAAC,CAAC;QACxB,gBAAW,GAAW,CAAC,CAAC;QAExB,yBAAoB,GAAW,CAAC,CAAC;QACjC,yBAAoB,GAAY,KAAK,CAAC;QAatC,iBAAY,GAAmB,EAAE,CAAC;QAC3B,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAY9H,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAG1C,aAAQ,GAAG,KAAK,CAAC;QACjB,yBAAoB,GAAY,IAAI,CAAC;QAErC,qBAAgB,GAAY,IAAI,CAAC;QACjC,kBAAa,GAAkB,IAAI,8DAAa,EAAE,CAAC;QACnD,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAC5B,iCAA4B,GAAY,KAAK,CAAC;QAC9C,mCAA8B,GAAY,KAAK,CAAC;QAChD,8BAAyB,GAAY,IAAI,CAAC;QAC1C,wBAAmB,GAAY,KAAK,CAAC;QAErC,aAAQ,GAAG,EAAE,CAAC;QACd,YAAO,GAAY,KAAK,CAAC;QACzB,gBAAW,GAAY,IAAI,CAAC;QAC5B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,sBAAiB,GAAQ,CAAC;QAC1B,cAAS,GAAG,GAAG,CAAC;QAChB,oCAA+B,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACxD,gBAAW,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ;QACjD,cAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QACvC,eAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QACnC,eAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QACtC,eAAU,GAAG,GAAG,CAAC;QACjB,mBAAc,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1C,WAAM,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QACjC,8BAAyB,GAAY,KAAK,CAAC;QAC3C,eAAU,GAAY,KAAK,CAAC;QAC5B,iBAAY,GAAW,MAAM,CAAC;QAC9B,qBAAgB,GAAW,CAAC,CAAC;QAC7B,cAAS,GAAY,KAAK,CAAC;QAC3B,cAAS,GAAW,KAAK,CAAC;QAC1B,kBAAa,GAAW,CAAC,CAAC;QAG1B,sBAAiB,GAAY,IAAI,CAAC;QAClC,cAAS,GAAY,KAAK,CAAC;QAC3B,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAY,KAAK,CAAC;QAC9B,eAAU,GAAY,KAAK,CAAC;QACrB,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAY,KAAK,CAAC;QACrC,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAC7C,2BAAsB,GAAY,KAAK,CAAC;QACxC,8BAAyB,GAAY,KAAK,CAAC;QAC3C,yBAAoB,GAAY,KAAK,CAAC;QACtC,yBAAoB,GAAY,KAAK,CAAC;QACtC,6BAAwB,GAAY,KAAK,CAAC;QAC1C,6BAAwB,GAAY,KAAK,CAAC;QAC1C,2BAAsB,GAAY,KAAK,CAAC;QACxC,+BAA0B,GAAY,KAAK,CAAC;QAC5C,2BAAsB,GAAY,KAAK,CAAC;QACxC,6BAAwB,GAAY,KAAK,CAAC;QAC1C,uBAAkB,GAAY,KAAK,CAAC;QACpC,kBAAa,GAAY,KAAK,CAAC;QAExB,iBAAY,GAAY,IAAI,CAAC;QACpC,qBAAgB,GAAG,KAAK,CAAC;QACzB,oBAAe,GAAG,KAAK,CAAC;QACxB,cAAS,GAAG,KAAK,CAAC;QAClB,QAAG,GAAG,EAAE,CAAC;QAAC,gBAAW,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,oDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAED,yDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;SAC9B;aACI,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,aAAa,CAAC,cAAc,CAAC,SAAO,CAAC,SAAS,CAAC,CAAC;gBACxD,SAAO,CAAC,aAAa,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aACI,IAAI,GAAG,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;aAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;aACI,IAAI,GAAG,IAAI,kBAAkB,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;aAAM,IAAI,GAAG,IAAI,mBAAmB,EAAE;YACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;IACH,CAAC;IAGD,mDAAc,GAAd,UAAe,SAAS;QACtB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC,kBAAkB,CAAC;YAC1D,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;YACvC,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uDAAuD,CAAC,CAAC;YAEjG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;SAC5C;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE;YAEnD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;YACvF,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4CAA4C,CAAE,CAAC;YACtF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6CAA6C,CAAE,CAAC;YACxF,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;SACtF;aAEI,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aAEI,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;YAC3C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,mBAAmB,CAAC;YAEtE,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;SAEvB;QACD,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,SAAS,IAAI,CAAC;YAChB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACb,CAAC;IACD,oDAAe,GAAf;QACE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IACD,mDAAc,GAAd;QACE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;IACD,oDAAe,GAAf,UAAgB,SAAS;QAAzB,iBA0JC;QAzJC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE;YAC3B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAE/B;QACD,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxD,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAE7B,KAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,oCAAM,CAAC,KAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnG,KAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvG,KAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG,oCAAM,CAAC,KAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzG,KAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvG,KAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACzH,KAAI,CAAC,cAAc,CAAC,OAAO,GAAG,KAAI,CAAC,cAAc,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACtH,KAAI,CAAC,cAAc,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,CAAC,WAAW,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAClI,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAG;gBACtD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;gBAC1B,KAAI,CAAC,cAAc,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,IAAI,KAAI,CAAC,cAAc,CAAC,IAAI,IAAI,IAAI,EAAE;gBACpC,IAAI,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,IAAI,OAAO,IAAI,EAAE,EAAE;wBACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;qBACvF;yBACI;wBACH,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;qBACvG;iBACF;gBACH,KAAI,CAAC,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC;aACpC;YAED,KAAI,CAAC,cAAc,CAAC,KAAK,GAAG,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAEtD,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC7E,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAErS,IAAI,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;iBAElI;qBAAM;oBACL,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;wBACpC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;wBAC5B,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;wBACpD,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBAC3C,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;qBAC5C;yBACI;wBACH,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;wBACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBAC7C,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;qBAC9C;iBACF;gBACD,IAAI,KAAI,CAAC,OAAO,IAAI,IAAI,EAAE;oBACxB,KAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAS;wBAC5F,KAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBAC/C,CAAC,CAAC,CAAC;iBACJ;gBACD,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAI;oBAC/C,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC/B,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;4BACpC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;yBAC5C;6BAAM;4BAEL,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;yBAC9C;qBACF;iBACF;gBAED,IAAI,KAAI,CAAC,IAAI,EAAE;oBACb,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;iBACxD;gBAED,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,IAAE,IAAI,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC3E,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjE;gBACO,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE;oBAEzC,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;oBACpD,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;iBAC9C;YACH,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACvE,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,SAAS,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBAC5G,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBAEzB,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;YAEnC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACpG,KAAK,CAAC,OAAO,CAAC,eAAK;oBACjB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;oBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;oBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAE,SAAS,EAArC,CAAqC,CAAC,CAAC;gBAC1E,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC;YAEjC,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACzG,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;gBACzC,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;gBAC5E,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBAC1E,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;gBACzE,KAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAA7C,CAA6C,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;gBACpF,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,iBAAiB,CAAC,yCAAyC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC/F,QAAQ,CAAC,OAAO,CAAC,UAAC,QAAQ;oBACxB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBACnG,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;YAElC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,UAAC,UAAU;YACtD,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,OAAO,CAAC,oBAAU;gBAC3B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,UAAC,OAAO;YACpD,OAAO,CAAC,OAAO,CAAC,iBAAO;YACvB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAEhC,CAAC;IAED,4CAAO,GAAP,UAAQ,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAC,KAAK;QAC3G,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,OAAO,IAAI,EAAE,EAAE;oBACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvF;qBACI;oBACH,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvG;aACF;SACF;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QAGD,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,gDAAW,GAAX,UAAY,KAAK;QAEf,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,IAAI,IAAI,CAAC,QAAQ,IAAI,gBAAgB,EAAE;YACrC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;aAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,mBAAmB,EAAE;YAC/C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,kBAAkB,EAAE;YAC9C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,mBAAmB,EAAE;YAC/C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;QACD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;aACf;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QAAQ,gBAAgB,EAAE;QAC3B,IAAI,MAAM,EAAE;YAEV,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC3B;aAAM;YACL,mBAAmB;YACnB,oBAAoB;SACrB;IACH,CAAC;IACD,+CAAU,GAAV;IACA,CAAC;IACD,kDAAa,GAAb;QACE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,kDAAa,GAAb,UAAc,GAAG;QAEb,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,0CAAK,GAAL;QAAA,iBAiCC;QAhCC,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;YAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvG,KAAK,CAAC,OAAO,CAAC,eAAK;gBACjB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACrE,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YACJ,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEtB,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACxH,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;YACzC,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;YAC5E,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IACD,2CAAM,GAAN,UAAO,GAAG;QACR,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,gBAAgB,EAAE;SACxB;aAAM;YACL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC5B,mCAAmC;gBACnC,2BAA2B;gBAC3B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK;gBACtC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;iBAAM;gBAEL,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;YAED,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACzC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACD,kDAAa,GAAb;QAAA,iBA0FC;QAxFC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACjD,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEzB,CAAC,CAAC,CAAC;QAGH,sFAAsF;QACtF,wCAAwC;QACxC,OAAO;QACP,0CAA0C;QAC1C,KAAK;QACL,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAChG,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9E,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC3D,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAC9B,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAE/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAClF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACvD,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACrF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAClF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE;QACf;YACE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC;YACb,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;IACH,CAAC;IACD,oDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IACD,oDAAe,GAAf;IAGA,CAAC;IACD,6CAAQ,GAAR;QAAA,iBA6DC;QA5DC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,CAAC,CAAC;QACrD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;YAClM,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;SAErD;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACrC,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,KAAI,CAAC,GAAG,IAAI,WAAW,IAAI,KAAI,CAAC,GAAG,IAAI,QAAQ,EAAG;gBACpD,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;aACrC;YACC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;gBACrF,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;aAErC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1E,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAClC,CAAC,CAAC,CAAC;QAIH,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YAEjC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;SAC1B;QACF,6DAA6D;QAC7D,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,sCAAsC;QACtC,qEAAqE;QACrE,GAAG;QAEH,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;YAClC,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC7C,iEAAiE;YAEjE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wDAAwD,CAAC,CAAC;YAClG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;SACvB;QACD,iGAAiG;QACjG,0DAA0D;QAC1D,GAAG;QACH,QAAQ;QACR,yDAAyD;QACzD,GAAG;QAEH,yDAAyD;IAC3D,CAAC;IAED,oBAAoB;IACpB,mBAAmB;IACnB,wBAAwB;IACxB,wCAAwC;IACxC,qCAAqC;IACrC,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IACT,KAAK;IACL,gCAAgC;IAChC,GAAG;IACH,sBAAsB;IACtB,mBAAmB;IACnB,wBAAwB;IACxB,wCAAwC;IACxC,qCAAqC;IACrC,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IACT,kCAAkC;IAClC,KAAK;IAEL,mBAAmB;IACnB,yFAAyF;IACzF,+CAA+C;IAC/C,wCAAwC;IACxC,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IAET,KAAK;IACL,qEAAqE;IACrE,GAAG;IACH,sBAAsB;IACtB,mBAAmB;IACnB,wBAAwB;IACxB,wCAAwC;IACxC,qCAAqC;IACrC,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IACT,KAAK;IACL,iCAAiC;IAEjC,mBAAmB;IACnB,6FAA6F;IAC7F,+CAA+C;IAC/C,wCAAwC;IACxC,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IACT,KAAK;IACL,iFAAiF;IACjF,wEAAwE;IAExE,GAAG;IACH,uBAAuB;IACvB,mBAAmB;IACnB,6FAA6F;IAC7F,gDAAgD;IAChD,wCAAwC;IACxC,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,SAAS;IACT,KAAK;IAEL,iFAAiF;IACjF,iFAAiF;IACjF,sEAAsE;IACtE,GAAG;IAEH,mDAAc,GAAd;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACtC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;YAC9G,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5B,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9C,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC3C,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC5D,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBACtC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aACxD;SACF;IAEH,CAAC;IACD,kDAAa,GAAb,UAAc,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;QAC5C,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,GAAG,GAAG,0BAA0B,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;gBACL,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,UAAU,IAAI;oBAErB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC9C,IAAI,KAAK,IAAI,YAAY,EAAE;wBACzB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;qBAC/B;oBACD,IAAI,KAAK,IAAI,gBAAgB,EAAE;wBAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;qBACnC;oBACD,IAAI,KAAK,IAAI,SAAS,EAAE;wBACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;qBAE/B;gBACH,CAAC;aAEF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,8CAAS,GAAT,UAAU,KAAK,EAAE,OAAO,EAAE,QAAQ;QAEhC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,CAAC,EAAE;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE;oBAC1D,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;iBAC5B;aACF;SACF;aAAM;YAEL,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE5B,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACpC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;aAE5B;YACD,IAAI,OAAO,IAAI,kBAAkB,EAAE;gBACjC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;aAEhC;YACD,IAAI,OAAO,IAAI,cAAc,EAAE;gBAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;aAC5B;SACF;IACH,CAAC;IACD,uDAAkB,GAAlB;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;YAC9G,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5B,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9C,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC3C,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACxD,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aAC5D;SACF;IACH,CAAC;IACD,0CAAK,GAAL,UAAM,GAAG;QACP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,qDAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAC9B,mGAAmG;QACnG,kCAAkC;QAClC,8CAA8C;QAC9C,+NAA+N;QAC/N,uCAAuC;QACvC,oFAAoF;QACpF,OAAO;QACP,iCAAiC;QACjC,eAAe;QACf,gCAAgC;QAChC,KAAK;QACL,uEAAuE;IACzE,CAAC;IAED,2BAA2B;IAE3B,0CAA0C;IAC1C,iNAAiN;IACjN,MAAM;IACN,iCAAiC;IAEjC,wBAAwB;IACxB,mCAAmC;IACnC,wCAAwC;IACxC,4BAA4B;IAC5B,sEAAsE;IACtE,KAAK;IACL,+CAA+C;IAC/C,kCAAkC;IAClC,4EAA4E;IAC5E,iBAAiB;IACjB,OAAO;IACP,GAAG;IACH,2BAA2B;IAC3B,uBAAuB;IACvB,4BAA4B;IAC5B,OAAO;IAEP,qFAAqF;IACrF,2CAA2C;IAC3C,2EAA2E;IAC3E,WAAW;IACX,4EAA4E;IAC5E,2GAA2G;IAC3G,sEAAsE;IACtE,WAAW;IACX,8EAA8E;IAC9E,sGAAsG;IACtG,oEAAoE;IACpE,WAAW;IACX,8EAA8E;IAC9E,mGAAmG;IACnG,WAAW;IACX,gFAAgF;IAChF,yHAAyH;IACzH,wEAAwE;IACxE,kXAAkX;IAClX,sGAAsG;IACtG,0EAA0E;IAC1E,WAAW;IACX,gBAAgB;IAChB,uGAAuG;IACvG,kEAAkE;IAClE,WAAW;IAEX,SAAS;IACT,QAAQ;IACR,OAAO;IACP,8NAA8N;IAC9N,mDAAmD;IACnD,wCAAwC;IACxC,sDAAsD;IACtD,uBAAuB;IACvB,6CAA6C;IAC7C,aAAa;IACb,sBAAsB;IACtB,SAAS;IACT,QAAQ;IACR,qKAAqK;IACrK,gOAAgO;IAChO,OAAO;IACP,qKAAqK;IACrK,8BAA8B;IAC9B,wNAAwN;IACxN,uCAAuC;IAEvC,SAAS;IACT,QAAQ;IACR,6NAA6N;IAC7N,uNAAuN;IACvN,kRAAkR;IAElR,MAAM;IACN,8BAA8B;IAC9B,SAAS;IACT,uFAAuF;IACvF,4CAA4C;IAC5C,qHAAqH;IACrH,aAAa;IACb,gFAAgF;IAChF,oHAAoH;IACpH,aAAa;IACb,gFAAgF;IAChF,6BAA6B;IAC7B,aAAa;IACb,kFAAkF;IAClF,uHAAuH;IACvH,oXAAoX;IACpX,qHAAqH;IACrH,aAAa;IACb,kBAAkB;IAClB,8EAA8E;IAC9E,aAAa;IACb,WAAW;IACX,UAAU;IACV,SAAS;IACT,gOAAgO;IAChO,qDAAqD;IACrD,0CAA0C;IAC1C,wDAAwD;IACxD,6DAA6D;IAC7D,qDAAqD;IACrD,+CAA+C;IAC/C,eAAe;IACf,wBAAwB;IACxB,aAAa;IACb,qEAAqE;IACrE,oEAAoE;IACpE,iKAAiK;IACjK,iEAAiE;IACjE,0DAA0D;IAE1D,QAAQ;IACR,2CAA2C;IAC3C,4EAA4E;IAC5E,MAAM;IACN,GAAG;IAEH,6BAA6B;IAE7B,uBAAuB;IACvB,8BAA8B;IAC9B,iCAAiC;IACjC,gCAAgC;IAChC,mCAAmC;IACnC,gBAAgB;IAChB,cAAc;IACd,GAAG;IACH,sBAAsB;IACtB,0BAA0B;IAC1B,mEAAmE;IACnE,oEAAoE;IACpE,4BAA4B;IAC5B,2CAA2C;IAC3C,+CAA+C;IAC/C,WAAW;IACX,OAAO;IACP,oEAAoE;IACpE,yFAAyF;IACzF,KAAK;IACL,GAAG;IAEH,+CAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,CAAC;IACD,6CAAQ,GAAR;QAAA,iBAeC;QAdC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAGrD,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,uEAAuE;IACzE,CAAC;IACD,+CAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QAEzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5D,uEAAuE;IACzE,CAAC;IACD,gDAAW,GAAX,UAAY,SAAS;QACnB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAE,MAAM,EAAE;YAChF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YAEH,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChC;YACD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAE5B;IAEH,CAAC;IACD,kDAAa,GAAb;QAEE,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAE9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,gDAAW,GAAX;QAAA,iBA+DC;QA9DC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/B,wEAAwE;YACxE,uEAAuE;YACvE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC9D,IAAI,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE;gBAC3B,2DAA2D;aAC5D;YACD,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yDAAyD,CAAC;YAC3F,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAE9C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACvD,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;oBACzD,IAAI,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;wBACvE,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;wBAC9B,KAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,oCAAM,CAAC,KAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACnG,KAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACvG,KAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG,oCAAM,CAAC,KAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACzG,KAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;qBACxG;yBAAM;wBACL,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;wBACvB,KAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,oCAAM,CAAC,KAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACrF,KAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACzF,KAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,oCAAM,CAAC,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC3F,KAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;qBAC1F;oBACD,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;gBAE9B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,IAAI,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC9B,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC1C,IAAI,QAAQ,IAAI,EAAE,EAAE;4BAClB,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;yBAC1F;6BAAM;4BACL,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;yBAC3G;qBACF;oBACD,KAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;oBAE7B,IAAI,MAAM,GAAG,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC;oBAChC,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACnF,KAAI,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC;gBAEpC,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAExF,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IACH,CAAC;IACD,4DAAuB,GAAvB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mJAAmJ,CAAC,CAAC;QAClL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,uDAAkB,GAAlB;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,6CAAQ,GAAR;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,IAAI,CAAC;QACb,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAGD,sDAAiB,GAAjB,UAAkB,GAAG;QAArB,iBAoBC;QAnBC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACnE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;YAC7B,KAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;YAC1B,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;gBACnF,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACpC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACrC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;aAE9D;iBAAM;gBACL,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;gBACnC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACpC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aAE7D;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,kDAAa,GAAb;QACE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;SAEjC;IACH,CAAC;IACD,mDAAc,GAAd,UAAe,GAAG,EAAE,IAAI;QACtB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACpC,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE;gBAC1F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,GAAG,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1G;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,EAAE;gBAE3F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,GAAG,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9G;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC1C,IAAI,IAAI,IAAI,KAAK,EAAE;wBACjB,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;4BAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iGAAiG,EAAE,eAAe,CAAC,CAAC;4BACxI,OAAO;yBACR;6BACI;4BACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,GAAG,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;4BAC7G,0EAA0E;4BAC1E,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;yBAEpD;qBAEF;oBAED,IAAI,IAAI,IAAI,MAAM,EAAE;wBAClB,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE;4BAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iGAAiG,EAAE,eAAe,CAAC,CAAC;4BACxI,OAAO;yBACR;6BACI;4BACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,GAAG,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;4BAC7G,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;yBAEpD;qBACF;iBACF;aAEF;YAED,6DAA6D;SAC9D;IACH,CAAC;IACD,wDAAmB,GAAnB,UAAoB,EAAE,EAAE,IAAI;QAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,0DAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACvE,CAAC;IACD,0DAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACtE,CAAC;IACD,uDAAkB,GAAlB,UAAmB,EAAE;QAEnB,IAAI,iBAAiB,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3D,IAAI,EAAE,IAAI,CAAC,EAAE;YACX,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAChC,iBAAiB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YAC7D,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC9D,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAE1C,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;aACI,IAAI,EAAE,IAAI,CAAC,EAAE;YAChB,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAChC,iBAAiB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YAC7D,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAC/D,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;IACH,CAAC;IACD,qDAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAQC;QAPC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvD,KAAK,CAAC,OAAO,CAAC,qBAAW;YACzB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,QAAQ;YACzB,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;SAC3D;aAAM;YACL,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gBAC9B,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;gBAChF,4BAA4B;gBAC5B,kMAAkM;gBAClM,SAAS;aACV;iBAAM;gBACL,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;aACzD;SACF;IACH,CAAC;IAED,qDAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aAAM;YACL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC5B,mCAAmC;gBACnC,2BAA2B;gBAC3B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,yBAAyB,GAAG,IAAI;gBACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK;aAC1B;YACD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC/D;IACH,CAAC;IACD,4CAAO,GAAP;QACE,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACpC,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC/D,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;SAC/D;IAGH,CAAC;IACD,gDAAW,GAAX,UAAY,GAAG;QAAf,iBAaC;QAZC,IAAI,GAAG,IAAI,QAAQ,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBAEjH,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC7D,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;SACjE;aACI;YACH,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC7D,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;SACjE;IACH,CAAC;IAED,oDAAe,GAAf;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,gDAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,gDAAW,GAAX,UAAY,GAAG;QACb,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,GAAG,IAAI,UAAU,EAAE;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;SAAE;aAAM;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;SAAE;IACjF,CAAC;IAED,4BAA4B;IAC5B,KAAK;IACL,8CAA8C;IAC9C,mCAAmC;IACnC,oDAAoD;IACpD,kCAAkC;IAClC,uCAAuC;IACvC,UAAU;IACV,mCAAmC;IAEnC,uDAAuD;IACvD,qDAAqD;IACrD,uDAAuD;IACvD,wCAAwC;IACxC,8BAA8B;IAC9B,8BAA8B;IAC9B,OAAO;IACP,qDAAqD;IACrD,4CAA4C;IAC5C,gDAAgD;IAChD,iDAAiD;IACjD,0DAA0D;IAC1D,yDAAyD;IACzD,kDAAkD;IAClD,mDAAmD;IACnD,uDAAuD;IACvD,mDAAmD;IACnD,cAAc;IACd,mDAAmD;IACnD,uDAAuD;IACvD,OAAO;IACP,qCAAqC;IACrC,WAAW;IACX,GAAG;IAEH,qDAAgB,GAAhB,UAAiB,MAAM;QACrB,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+GAA+G,CAAC,CAAC;QACvJ,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjC,4CAA4C;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAE1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YAEX,iDAAiD;YACjD,oDAAoD;YACpD,2CAA2C;YAC3C,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,4CAA4C;gBAC5C,+CAA+C;gBAC/C,oEAAoE;gBACpE,4DAA4D;gBAC5D,oEAAoE;gBACpE,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+GAA+G,CAAC,CAAC;gBAEvJ,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;iBAAM;gBACL,iCAAiC;gBACjC,8CAA8C;gBAC9C,8CAA8C;gBAC9C,UAAU;gBACV,8CAA8C;gBAC9C,GAAG;gBACH,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1C,qDAAqD;gBACrD,+CAA+C;gBAC/C,6CAA6C;gBAE7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+GAA+G,CAAC,CAAC;gBAEvJ,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC9C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;YACD,sDAAsD;YACtD,qDAAqD;YACrD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,uDAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,6CAAQ,GAAR;QACE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IACD,oDAAe,GAAf,UAAgB,GAAG;QAAnB,iBAgBC;QAfC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK;QACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACtF,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IACD,4DAAuB,GAAvB,UAAwB,MAAM;QAC5B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC;IAC5D,CAAC;IACD,oDAAe,GAAf,UAAgB,GAAG,EAAC,UAAU;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aAAM;YACL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAE5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBAEtC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK;gBACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,GAAG,IAAI,eAAe,EAAE;oBAC1B,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;oBACtC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;iBACtC;qBAAM;oBACL,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;oBACrC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;iBACvC;gBAED,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aACjC;iBAAM;gBACL,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAE1B,IAAI,GAAG,IAAI,eAAe,EAAE;oBAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBAC1B;qBAAM;oBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;iBAC3B;aAEF;YACD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;SACvC;IACH,CAAC;IAGD,0DAAqB,GAArB,UAAsB,GAAG;QAAzB,iBAwBC;QAvBC,IAAI,GAAG,IAAI,eAAe,EAAE;YAE1B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,EAAd,CAAc,CAAC,CAAC,CAAC;iBACrF,GAAG,CAAC,qBAAW;gBACd,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,MAAM,GAAG,GAAG;oBAC3Q,KAAK,EAAE,WAAW;iBACnB;YACH,CAAC,CAAC,CAAC;SAEN;aAAM;YAEL,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,EAAd,CAAc,CAAC,CAAC,CAAC;iBACvF,GAAG,CAAC,qBAAW;gBACd,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,WAAW,EAA7B,CAA6B,CAAC,CAAC,MAAM,GAAG,GAAG;oBACjR,KAAK,EAAE,WAAW;iBACnB;YACH,CAAC,CAAC,CAAC;SAEN;IAGH,CAAC;IAGD,sDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,8CAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK;QACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IACD,kDAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YACH,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK;gBACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;YACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SAErC;IAEH,CAAC;IACD,iDAAY,GAAZ,UAAa,GAAG;QACd,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aAAM;YACL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK;gBACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;gBACxC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;SAEF;IAEH,CAAC;IAED,wDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aAAM;YACL,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK;gBACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;aACxC;iBAAM;gBAEL,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;YAED,gEAAgE;SACjE;IACH,CAAC;IACD,mDAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;YAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK;YACtC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;IAEH,CAAC;IAGD,+DAA0B,GAA1B;QAEE,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,mDAAc,GAAd,UAAe,YAAY;QAEzB,IAAI,QAAQ,GAAG,aAAa,CAAC;QAC7B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC,cAAc,CAAC,CAAC;QAC7C,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAG1D,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAItC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,0DAA0D,CAAC;QAC7G,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yKAAyK,CAAC,CAAC;QAC1M,EAAE;QACE,UAAU,CAAC;YACT,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,mDAAc,GAAd;QACE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aACxD;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;QACH,mCAAmC;IACrC,CAAC;IACD,qDAAgB,GAAhB;QACE,sBAAsB;QACtB,0CAA0C;QAC1C,uCAAuC;QACvC,8BAA8B;QAC9B,4BAA4B;QAC5B,qBAAqB;QACrB,4BAA4B;QAC5B,2CAA2C;QAC3C,uFAAuF;QACvF,WAAW;QACX,sCAAsC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAE5B,CAAC;IACD,uDAAkB,GAAlB;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;QACnN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,6CAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACpC,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aAAM;YACL,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACzB;YACH,2BAA2B;SAC1B;IACH,CAAC;IAED,iDAAY,GAAZ,UAAa,IAAI;QAEf,IAAI,OAAO,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAC7B,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5B,iCAAiC;QAChC,wEAAwE;QAExE,GAAG;QACH,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;YAC/B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7C,0RAA0R;YAE1R,qCAAqC;YACpC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACvD,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,qBAAqB;QACrB,4BAA4B;QAC5B,mGAAmG;QACnG,YAAY;QACZ,YAAY;QACZ,WAAW;IAEb,CAAC;IACD,8CAAS,GAAT;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAGD,iDAAY,GAAZ;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,8IAA8I,CAAC,CAAC;QAC7K,CAAC,EAAE,CAAC,CAAC;IAEP,CAAC;IACD,qDAAgB,GAAhB;QACE,IAAI,QAAQ,GAAG,aAAa,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,GAAG,0DAA0D,CAAC;IACjK,CAAC;IACD,iDAAY,GAAZ;QACE,IAAI,QAAQ,GAAG,aAAa,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,GAAG,0DAA0D,CAAC;IACjK,CAAC;IACD,yDAAoB,GAApB,UAAqB,GAAG;QAAxB,iBAyBC;QAxBC,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAE3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;YACrC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAChE,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;YAElC,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,GAAG,IAAE,OAAO,EAAE;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;aAAM,IAAI,GAAG,IAAI,SAAS,EAAE;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;aAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;aACI;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAC1B;IACH,CAAC;IACD,mDAAc,GAAd,UAAe,GAAG;QAEhB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAEzG,sCAAsC;gBACtC,IAAI,gBAAgB,GAAQ,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,QAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAA/C,CAA+C,CAAC,CAAC;gBAEtG,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC9C,IAAI,gBAAgB,GAAQ,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,QAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAA/C,CAA+C,CAAC,CAAC;gBACtG,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAEhD,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAGX,CAAC;IACM,8CAAS,GAAhB,UAAiB,KAAa;QAC5B,eAAe;QACf,cAAc;QACd,UAAU;QACV,gDAAgD;QAChD,GAAG;QACH,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;aACI;YACH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IACD,yDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,gDAAW,GAAX;QACE,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,IAAI,WAAW,EAAE;YAC9D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;YACzD,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SAC3C;aAAM;YACL,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACzD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;YAC1D,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SAC5C;IACH,CAAC;IACD,+CAAU,GAAV;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;IAC3D,CAAC;IACD,6CAAQ,GAAR,UAAS,SAAS,EAAE,MAAM,EAAE,IAAI;QAC9B,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,sDAAiB,GAAjB,UAAkB,GAAG,IAAK,CAAC;IAC3B,uDAAkB,GAAlB,UAAmB,OAAgB;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC5B,CAAC;IACD,oDAAe,GAAf,UAAgB,GAAa;QAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IACD,mDAAc,GAAd;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,wDAAmB,GAAnB;QACI,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kKAAkK,CAAC,CAAC;QACjM,CAAC,EAAE,CAAC,CAAC;IAET,CAAC;IACD,eAAe;IACf,0CAA0C;IAC1C,2BAA2B;IAC3B,4BAA4B;IAC5B,+BAA+B;IAC/B,gEAAgE;IAChE,4DAA4D;IAC5D,6EAA6E;IAC7E,YAAY;IACZ,2BAA2B;IAC3B,+DAA+D;IAC/D,6DAA6D;IAC7D,uDAAuD;IACvD,+BAA+B;IAE/B,KAAK;IAEL,GAAG;IAEH,+DAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;IACH,CAAC;IACD,6CAAQ,GAAR,UAAS,GAAG;QAEV,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IAEpC,CAAC;IACD,+CAAU,GAAV,UAAW,GAAG;QAEZ,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,YAAY,EAAE,CAAC;SAAE;aACnB;YACH,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;IACH,CAAC;IACD,iDAAY,GAAZ;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4IAA4I,CAAC,CAAC;QACtL,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,4CAAO,GAAP;IAEA,CAAC;IAED,0DAAqB,GAArB;QACE,UAAU,CAAC;YAET,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,wDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,yFAAyF;IAC3F,CAAC;IACD,iDAAY,GAAZ,UAAa,KAAK;QAEhB,IAAI,KAAK,IAAI,uBAAuB,IAAI,KAAK,IAAI,yBAAyB,EAAE;YAC1E,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;gBACvB,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,cAAc,CAAC,SAAO,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;IACH,CAAC;IAED,+DAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IAGD,qDAAgB,GAAhB,UAAiB,WAAW;QAE1B,IAAI,WAAW,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM,IAAI,WAAW,IAAI,MAAM,EAAE;YAChC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IAEH,CAAC;IACD,gDAAW,GAAX;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE;YAC3B,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;gBACxC,qBAAqB;gBACrB,4BAA4B;gBAC5B,6DAA6D;gBAC7D,WAAW;gBACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACvC;iBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;gBACxF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACvC;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACvC;SACF;aAAM;YAEL,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE;gBAC3M,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;oBAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0CAAwC,IAAI,CAAC,OAAO,CAAC,EAAI,CAAC,CAAC;iBACtF;qBAAM,IAAI,IAAI,CAAC,GAAG,IAAI,WAAW,IAAI,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE;oBAE1D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,IAAI,SAAO,GAAG,IAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,SAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;qBAAM;oBACL,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACjD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,GAAG,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBACjH;aACF;SACF;IACH,CAAC;IACD,qDAAgB,GAAhB,UAAiB,KAAK;QAEpB,IAAI,KAAK,CAAC,OAAO,IAAI,aAAa,EAAE;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;SACpB;aAAM,IAAI,KAAK,CAAC,OAAO,IAAI,UAAU,EAAE;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;YAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAClC;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;YAErC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;YACxC,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IACD,mDAAc,GAAd;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,8CAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,6CAAQ,GAAR,UAAS,YAAY;QACnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAE5B,CAAC;IACD,uDAAkB,GAAlB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QAC1J,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,oDAAe,GAAf,UAAgB,GAAG,EAAE,QAAQ;QAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;IAC9B,CAAC;IACD,6CAAQ,GAAR,UAAS,MAAM;QACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,gDAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACH,iCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHCjuEmF,wHAAoD,kcAA6B;iHAGzJ,wHAAuD,2MAAyB;iHAChF,wHAAmG,+EAAE;iHACrG,wHAAmD,sMAAoB;iHAGvE,wHAA6D,kNAAgC;iHAC7F,wHAA8C,mGAAsB;iHACpE,wHAA8C,oGAAuB;iHA3BjF,wLAA2D,KACzD,0OAA8G,KAC5G,wHAAM,yFAAY,MAEpB,6QAA0I,KACxI,wHAAK,KACH,6MAAgF,KAC9E,6IAAuB,KACrB,uLAA2D,gFAAuB,MAClF,8NAAiG,sFACvF,oJAAuB,kFAA+B,MAGlE,mLAAqD,KACnD,kJAA2B,uFAA0B,MACrD,wHAAK,iFAAoB,MACzB,wHAAK,KACH,yHAAM,sNAAkE,yZAAoD,IAAoC,8EAAqB,MAEvL,wHAAK,KACH,qZAAuD,IACvD,qZAAmG,IACnG,qZAAmD,IAErD,wHAAK,KACH,qZAA6D,IAC7D,qZAA8C,IAC9C,qZAA8C,IAUxD,oNAAiF,KAC/E,kNAAqF,KACnF,uMAA0E,8FAA2C,MAEvH,sKAAyC,KACvC,2PAM6D,YAA5C;;wBAA2C;MAN5D,y7CAM6D,mDA/BuB,+DAA6C,IAAnD,aAAoD,EAA9C,SAA6C,GAGrH,wEAAgD,IAAtD,aAAuD,EAAjD,SAAgD,GAChD,oIAA4F,KAAlG,aAAmG,EAA7F,UAA4F,GAC5F,qEAA4C,IAAlD,aAAmD,EAA7C,UAA4C,GAG5C,6EAAsD,IAA5D,aAA6D,EAAvD,UAAsD,GACtD,qDAAuC,GAA7C,aAA8C,EAAxC,UAAuC,GACvC,qDAAuC,GAA7C,aAA8C,EAAxC,UAAuC,GAiBlC,oBAAmC,sBAGnC,oBAAgC,uBAFhC,oBAAiC,qBACjC,oBAAwD,yCAJzE,aAM6D,EAJ5C,UAAmC,EAGnC,UAAgC,EAFhC,UAAiC,EACjC,UAAwD,mDAtCV,gEAAuB,GAEjD,kEAA+B,GAIrC,8DAA0B,GAChD,8DAAoB,GAEjB,+RAAkE,GAAwF,6DAAqB,GAsBjH,0EAA2C;;;;;;;;;;;;;;;;ACvC3H;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0F;AACzC;AAEiB;AACQ;AACP;AACH;AAGhE;IAiBE,qCAAoB,eAAgC,EAAS,oBAA0C,EAAU,iBAAsC;QAAnI,oBAAe,GAAf,eAAe,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAXvJ,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAGnC,+BAA0B,GAAG,CAAC,CAAC;QAO/B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAG1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,8CAAQ,GAAR;QACE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,2DAAqB,GAArB,UAAsB,SAAS;QAA/B,iBAaC;QAZC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAChG,QAAQ,CAAC,OAAO,CAAC,kBAAQ;YACzB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YACrC,KAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC,MAAM,CAAC;YAClD,sDAAsD;YACtD,mFAAmF;QACrF,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,2DAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC9B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,yDAAmB,GAAnB,cAAwB,CAAC;IACzB,sDAAgB,GAAhB;QAAA,iBAmBC;QAjBC,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;SACzO,CAAC;QAEF,IAAI,gBAAwB,CAAC;QAE7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG;YACvC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAEH,CAAC;IACD,8DAAwB,GAAxB,UAAyB,gBAAwB;QAC/C,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAO;oBACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG;gBACxB,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC3D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBACnF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;wBAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;4BACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;4BACnC,IAAI,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;4BACvB,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC3B,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;4BACnD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;aACxD,CAAC;SACH;IAEH,CAAC;IAEH,kCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mHCjKK,iJAA2C,4GAA+B,4HAAM;mHAChF,iJAA2C,qGAAyB;mHAMpE,iUAAoL,YAAhK;;wBAAkB;MAAtC,wBAAoL,mFAAM;mHAdhM,uKAA0C,KACxC,gLAAoD,yKAA8C,8FAAiB,MACnH,gLAAoD,KAClD,yKAAmD,yFAAY,MAEjE,iLAAoD,KAClD,ijBAAkF,IAChF,uZAA2C,IAC3C,uZAA2C,IAA6B,uHAAM,KAGhF,mjBAAoF,IAClF,8RAAuI,YAA1B;;wBAAyB;MAAtI,wBAAuI,+EAAE,MAEzI,uZAAoL,iDARnJ,0DAA8C,GAAjF,YAAkF,EAA/C,SAA8C,GACpD,8BAAe,GAA1C,aAA2C,EAAhB,SAAe,GACf,8BAAe,GAA1C,aAA2C,EAAhB,SAAe,GAGP,0DAA8C,GAAnF,aAAoF,EAA/C,SAA8C,GAGmF,8BAAe,GAAnL,aAAoL,EAAhB,SAAe;;;;;;;;;;;;;;;;ACfzL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACX;AACX;AACR;AACiB;AAElE;IAmBE,uCAAoB,eAAgC,EAAU,MAAc,EAAS,oBAA0C;QAA3G,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAR/H,gBAAW,GAAY,KAAK,CAAC;QAEpB,aAAQ,GAAG,IAAI,CAAC;QAEf,kBAAa,GAA0B,IAAI,0DAAY,EAAW,CAAC;QAC7E,aAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAKnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,gDAAQ,GAAR;IAEA,CAAC;IAED,mDAAW,GAAX,UAAY,EAAE;QAEZ,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;YAClB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAE5E,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iCAA+B,EAAE,YAAS,CAAC,CAAC;IACxE,CAAC;IAED,8CAAM,GAAN;QAEE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;QAC1D,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;QACtB,gEAAgE;IAElE,CAAC;IACH,oCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGCEiF,wHAAoD,kcAA6B;uGAe7J,uHAAsC,KACpC,sJAAgC,4FAEhC;uGAGA,gLAAqH,KACnH,iJAA0B,KACxB,kLAAsD,KACpD,4IAAsB,qFAAQ,MAAK,yQAAuH,YAAlF;;wBAA6B;MAAlE,wBAAuH,KAE5J,qNAAyF,2FAEzF,MACA,qNAAyF,2FAEzF,MACA,sNAAyF,4GAEzF,MACA,sNAAyF,yFAEzF,MACA,qQAAwI,uFAExI,iCAnBC,2HAA6B,GAAlC,YAAqH,EAAhH,SAA6B,GAK2D,sEAEzF,GACyF,sEAEzF,GACyF,+KAEzF,GACyF,oEAEzF,GACwI,kEAExI;uGApBN,uHAAqC,KACnC,mdAAqH,iDAAjE,mBAA6C,sBAAjG,YAAqH,EAAjE,SAA6C;uGA4GrG;;;;;;;;;;;wBAAuJ;MAAzD;;wBAAsB;MAApH,iyCAAuJ,iDAAzE,0BAAe,EAAC,mBAAsB,WAApH,YAAuJ,EAAzE,SAAe,EAAC,SAAsB,2BAApH,8sBAAuJ;uGAOrJ,wNAAqF,YAAtC;;wBAAoB;MAAnE,wBAAqF,iFAAI;uGACzF,6LAAsE,YAAxC;;wBAA0B;MAAxD,wBAAsE,iFAAI;uGAT9E,+KAAmE,KACjE,0YAAuJ,IAEvJ,sKAA0C,KACxC,6SAAgJ,YAAxI;;wBAA8B;MAAtC,wBAAgJ,2JAAgC,KAGlL,4KAAgD,KAC9C,0YAAqF,IACrF,2YAAsE,IACtE,oKAAuC,kDAT/B,mBAA4B,uBAAtC,YAAuJ,EAA7I,SAA4B,GAO9B,mBAAuB,kBAA7B,YAAqF,EAA/E,SAAuB,GACvB,mBAAuB,kBAA7B,aAAsE,EAAhE,SAAuB;uGA/LnC,yLAAyD,KACzD,+IAAuB,KACrB,iOAA8F,KAC5F,2LAA8D,KAC5D,yLAA6D,KAC3D,qJAA+B,sFAAS,MAE1C,gNAAmF,KACjF;;;;;wBAK8D;MALlB;;wBAA2B;MAEjD;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAL7D,+wEAK8D,IAIlE,2OAA6G,KAC3G,2MAA8E,KAC5E,mSAAwM,YAAhF;;wBAAkC;MAA1J,umDAAwM,MAE1M,oOAAuG,KACrG,4QAAmL,YAAhF;;wBAAkC;MAArI,umDAAmL,MAGrL,4MAA+E,KAC7E,uNAA0F,iFAAI,MAC9F,+KAAkD,KAChD;;;;;;;;;;;wBAAyJ;MAA1E;;wBAAsB;MAAC;;wBAAkD;MAAxJ,oyCAAyJ,IAKjK,icAYqD,YALpC;;wBAAsC;MACtC;;wBAAiD;MACjD;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAZpD,0qDAYqD,MAGrD,6LAAqD,YAAzC;;wBAAwC;MAApD,gaAAqD,MACnD,oLAAyD,KACvD,4KAA8C,KAC5C,kJAA2B,uFAA0B,MACrD,wHAAK,iFAAoB,MACzB,wHAAK,KACH,yHAAM,sNAAkE,+YAAoD,IAAoC,8EAAqB,MAIzL,6IAAsB,KACpB,wHAAK,mLAAiD,iFAAuB,MAE/E,4KAA+C,KAC7C,oJAA6B,2MAAmD,YAAxB;;wBAAuB;MAAlD,wBAAmD,6FAAgB,MAGpG,wKAA8C,KAG9C,8RAAwK,KACtK,2YAAsC,IAKtC,2YAAqC,IA0BvC,4JAAmD,KACjD,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,+FAAkB,MAE3B,6IAAsB,KACpB;;;;;;;;;;;wBAA6I;MAApF;;wBAAuC;MAAhG,oyCAA6I,IAE/I,6IAAsB,KACpB;;;;;;;;;;;wBAA6I;MAApF;;wBAAuC;MAAhG,oyCAA6I,IAGjJ,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,4FAAe,MAExB,+IAAuB,KACrB,4LAA+D,KAC7D;;;;;;;;;;;wBAAgI;MAA3E;;wBAAmC;MAAxF,uyCAAgI,IAElI,4KAA8C,KAC5C;;;;;;;;;;;wBAAoI;MAA9E;;wBAAoC;MAA1F,uyCAAoI,IAEtI,4KAA8C,KAC5C;;;;;;;;;;;;;;;;;;;;;;;wBAAyJ;MAArG;;wBAAkC;MAAtF,4vBAAyJ,GAA/B,iEAA4B,KAAtJ,qgCAAyJ,IAI/J,oMAAqE,KACnE,8IAAsB,KACpB,2HAAO,uFAAU,MAEnB,gJAAuB,KACrB,4LAA8D,KAC5D;;;;;;;;;;;;;;;;;;;;;;;wBAAoK;MAA9G;;wBAAoC;MAA1F,4vBAAoK,GAA9C,iEAA8B,KAApJ,qgCAAoK,IAEtK,4KAA8C,KAC5C;;;;;;;;;;;;;;;;;;;;;;;wBAA4J;MAAxG;;wBAAkC;MAAtF,4vBAA4J,GAA5C,iEAA8B,KAA9I,qgCAA4J,IAIlK,mPAAoH,KAClH,8IAAsB,KACpB,2HAAO,yFAAY,MAErB,gJAAuB,KACrB,4LAA8D,KAC5D;;;;;;;;;;;;;;;;;;;;;;;wBAAkM;MAAtI;;wBAA0C;MAAtG,4vBAAkM,GAApD,iEAA8B,KAA5K,qgCAAkM,IAEpM,4KAA8C,KAC5C;;;;;;;;;;;;;;;;;;;;;;;wBAAkM;MAAtI;;wBAA0C;MAAtG,4vBAAkM,GAApD,iEAA8B,KAA5K,qgCAAkM,IAIxM,mMAA+D,KAC7D,uKAAyC,KACvC,uRAAkH,YAAvF;;wBAAkB;MAA7C,wBAAkH,mFAAM,MAE1H,wKAA0C,KACxC,uRAAwH,YAA3F;;wBAAwB;MAArD,wBAAwH,iFAAI,MAOpI,+LAA6D,KAC7D,iMAA+D,KAC/D,4LAA0C,YAA9B;;wBAA6B;MAAzC,iaAA0C,MACxC;;;o6CAU8B,IAGhC,4YAAmE,iDA9KvC,mBAAqB,eACrB,mBAA4B,kBADlD,YAK8D,EALxC,SAAqB,EACrB,SAA4B,GADN,oBAA2B,gBAAvE,aAK8D,EALlB,UAA2B,GAWvB,oBAAkC,yBAAC,oBAAoC,uBAAvH,aAAwM,EAAxJ,UAAkC,EAAC,UAAoC,GAGxF,oBAAgC,uBAAC,oBAAkC,qBAAlG,aAAmL,EAApJ,UAAgC,EAAC,UAAkC,GAMlC,4BAAgB,EAAC,oBAAsB,WAArG,aAAyJ,EAA3F,UAAgB,EAAC,UAAsB,GAM5F,oBAA2B,cAG3B,oBAAwB,eAFxB,oBAAyB,aAIzB,oBAA2C,sBAD3C,oBAAmB,UAFnB,oBAAwD,yCAHzE,aAYqD,EAXpC,UAA2B,EAG3B,UAAwB,EAFxB,UAAyB,EAIzB,UAA2C,EAD3C,UAAmB,EAFnB,UAAwD,GAY7D,oBAAwC,6BAApD,aAAqD,EAAzC,UAAwC,GAMkC,gEAA6C,IAAnD,aAAoD,EAA9C,UAA6C,GAe1H,8CAAgC,GAArC,aAAsC,EAAjC,UAAgC,GAKhC,8CAA+B,GAApC,aAAqC,EAAhC,UAA+B,GAgCQ,4BAAgB,EAAC,oBAAuC,4BAAhG,aAA6I,EAArG,UAAgB,EAAC,UAAuC,GAGxD,4BAAgB,EAAC,oBAAuC,4BAAhG,aAA6I,EAArG,UAAgB,EAAC,UAAuC,GAStD,wBAAY,EAAC,oBAAmC,wBAAxF,cAAgI,EAAxF,UAAY,EAAC,UAAmC,GAGhD,yBAAa,EAAC,oBAAoC,yBAA1F,cAAoI,EAA5F,UAAa,EAAC,UAAoC,GAGgC,oCAA4B,WAAtJ,cAAyJ,EAA/B,UAA4B,GAA9G,uBAAW,EAAC,oBAAkC,uBAAtF,cAAyJ,EAAjH,UAAW,EAAC,UAAkC,GAUgC,oCAA8B,aAApJ,cAAoK,EAA9C,UAA8B,GAA5G,yBAAa,EAAC,oBAAoC,yBAA1F,cAAoK,EAA5H,UAAa,EAAC,UAAoC,GAGsB,qCAA8B,aAA9I,cAA4J,EAA5C,WAA8B,GAAtG,wBAAW,EAAC,qBAAkC,uBAAtF,cAA4J,EAApH,WAAW,EAAC,WAAkC,GAUwD,qCAA8B,aAA5K,cAAkM,EAApD,WAA8B,GAApI,gCAAmB,EAAC,qBAA0C,+BAAtG,cAAkM,EAA1J,WAAmB,EAAC,WAA0C,GAGwC,qCAA8B,aAA5K,cAAkM,EAApD,WAA8B,GAApI,gCAAmB,EAAC,qBAA0C,+BAAtG,cAAkM,EAA1J,WAAmB,EAAC,WAA0C,GAkBpG,qBAA6B,kBAAzC,cAA0C,EAA9B,WAA6B,GAK5B,qBAAqB,WAGrB,qBAAmB,UALnB,qBAAmB,UAInB,qBAAmC,kBAHnC,qBAAqC,mBAErC,qBAAmB,UAJnB,4BAAqB,EAOrB,2BAAqB,EACrB,qBAAe,QACf,4BAAkB,EAV7B,cAU8B,EANnB,WAAqB,EAGrB,WAAmB,EALnB,WAAmB,EAInB,WAAmC,EAHnC,WAAqC,EAErC,WAAmB,EAJnB,WAAqB,EAOrB,WAAqB,EACrB,WAAe,EACf,WAAkB,GAG1B,qBAAgB,WAArB,cAAmE,EAA9D,WAAgB,mDA9Kf,m0BAK8D,GAe5D,ouBAAyJ,GAKhJ,oBAAgC,eAAjD,aAYqD,EAZpC,UAAgC,GAkBhB,gEAA0B,GAChD,gEAAoB,GAEjB,qSAAkE,GAAwF,+DAAqB,GAKjI,mEAAuB,GAS+D,oBAAuB,eAAvK,aAAwK,EAAxB,UAAuB,GAgC9I,oBAAyB,iBAAlD,aAAmD,EAA1B,UAAyB,GAM5C,ouBAA6I,GAG7I,ouBAA6I,GAS3I,4uBAAgI,GAGhI,4uBAAoI,GAGpI,4uBAAyJ,GAUzJ,4uBAAoK,GAGpK,0vBAA4J,GAU5J,0vBAAkM,GAGlM,0vBAAkM,GAmB/L,uCAA+B,EAA1C,cAU8B,EAVnB,WAA+B;;;;;;;;;;;;;;;;ACzK9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkI;AACzE;AACS;AACQ;AACR;AACjB;AACU;AACtB;AAC0C;AACpC;AACA;AACa;AAC0B;AACL;AAElC;AAC8B;AAET;AAChC;AAGhC;IAsEE,2BAAmB,oBAA0C,EAAU,UAAsB,EAAU,QAAmB,EAAU,IAAU,EAAU,iBAAsC,EAAU,KAAqB,EAAU,cAA+B,EAAU,eAAgC,EAAU,MAAc,EAAU,MAAqB,EAAU,gBAAkC;QAAhY,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,eAAU,GAAV,UAAU,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAAU,SAAI,GAAJ,IAAI,CAAM;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAiB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QA9DnZ,iBAAY,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QAInD,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,CAAC,CAAC;QAEd,iBAAY,GAAG,EAAE,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QACnB,SAAI,GAAW,EAAE,CAAC;QAClB,+BAA0B,GAAG,KAAK,CAAC;QAEnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,UAAK,GAAU,IAAI,oDAAK,EAAE,CAAC;QAC3B,qBAAgB,GAAqB,IAAI,mEAAgB,EAAE,CAAC;QACrD,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,oBAAe,GAAG,EAAE,CAAC;QACrB,iBAAY,GAAY,IAAI,CAAC;QAC7B,mBAAc,GAAY,IAAI,CAAC;QAC/B,gBAAW,GAAY,KAAK,CAAC;QAC7B,aAAQ,GAAY,IAAI,CAAC;QACzB,SAAI,GAAW,EAAE,CAAC;QAAC,QAAG,GAAG,EAAE,CAAC;QAC5B,aAAQ,GAAe,uEAAU,CAAC,QAAQ,CAAC;QAC3C,sBAAiB,GAAY,KAAK,CAAC;QACnC,iBAAY,GAAY,KAAK,CAAC;QAC9B,oBAAe,GAAG,KAAK,CAAC;QACxB,eAAU,GAAG,EAAE,CAAC;QAEhB,mBAAc,GAAG,CAAC,CAAC;QAEnB,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAO3C,aAAQ,GAAW,MAAM,CAAC;QAG1B,iBAAY,GAAW,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvC,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAE9H,yBAAoB,GAAU,EAAE,CAAC;QAEpB,aAAQ,GAAG,KAAK,CAAC;QAE9B,yBAAoB,GAAY,KAAK,CAAC;QAC/B,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1O,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC1O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAExN,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QACtO,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEjN,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAG1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC1C,yDAAyD;IAC1D,CAAC;IAlB+I,CAAC,CAAE,6CAA6C;IACiB,CAAC;IAkBlN,4CAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,uBAAuB,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;iBACvJ;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;iBAC9I;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/K,8MAA8M;iBAC/M;qBAAO,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;iBAC5K;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBACzD,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC5C,CAAC,CAAC;iBACJ;aACF;SACF;aACI;YACH,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7C,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAC;gBAC5D,6FAA6F;gBAC7F,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;aACxG,CAAC;SACH;IAEH,CAAC;IACD,2CAAe,GAAf;IAGA,CAAC;IAED,yCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,uCAAW,GAAX;IACA,CAAC;IACD,8CAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,yCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,uCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,yCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,6CAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,4CAAgB,GAAhB;QAAA,iBAkCC;QAjCC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;SACvQ,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5D,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YAED,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;YACrC,YAAY,EAAE,qFAAmB;SAClC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IACD,0CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,gDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wCAAsC,QAAQ,CAAC,IAAI,CAAC,EAAI,CAAC,CAAC;IACtF,CAAC;IACD,6CAAiB,GAAjB,UAAkB,OAAO;QAAzB,iBAkCC;QAjCC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAE7C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;QAExB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEzC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,CAAC;gBACpC,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEhD,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACrC;YACD,IAAI,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACxD,8FAA8F;YAC9F,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACrF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAGX,CAAC;IACD,wDAA4B,GAA5B,UAA6B,OAAO;QAApC,iBASC;QARC,IAAI,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,0BAA0B;QAClE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,qCAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wCAAsC,OAAO,CAAC,EAAI,CAAC,CAAC;IAChF,CAAC;IAED,iDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACvO,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,iDAAqB,GAArB,UAAsB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QACrF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACrP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK;gBACjM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACrP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAElT,CAAC;QAEF,0BAA0B;QAC1B,KAAK;QACL,mFAAmF;QACnF,wCAAwC;QACxC,iHAAiH;QACjH,SAAS;QACT,4EAA4E;QAC5E,gHAAgH;QAChH,SAAS;QACT,4EAA4E;QAC5E,yBAAyB;QACzB,SAAS;QACT,8EAA8E;QAC9E,mHAAmH;QACnH,gXAAgX;QAChX,iHAAiH;QACjH,SAAS;QACT,cAAc;QACd,0EAA0E;QAC1E,SAAS;QACT,OAAO;QACP,MAAM;QACN,KAAK;QACL,4NAA4N;QAC5N,iDAAiD;QACjD,sCAAsC;QACtC,oDAAoD;QACpD,yDAAyD;QACzD,iDAAiD;QACjD,2CAA2C;QAC3C,WAAW;QACX,oBAAoB;QACpB,OAAO;QACP,OAAO;QACP,gEAAgE;QAChE,6JAA6J;QAC7J,6DAA6D;QAC7D,sDAAsD;QAEtD,IAAI;IACN,CAAC;IACD,8CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,4CAAgB,GAAhB;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9D,mFAAmF;SACpF;IAEH,CAAC;IACM,oCAAQ,GAAf;QAAA,iBAkJC;QAjJC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,SAAS,EAAE;YAC5J,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBAAC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YACjC,CAAC,CAAC;SACH;aACI;YACH,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;YAC7C,yCAAyC;SAC1C;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,wBAAwB;YACxB,IAAI,KAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBAC3B,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,KAAI,CAAC,IAAI,IAAI,SAAS,EAAE;oBAE1B,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;iBAC7C;qBAAM;oBAEL,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;iBAC7C;gBACD,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC3C,+CAA+C;gBAC/C,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI;oBAC7F,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC5D,oDAAoD;gBACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAC7C,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAC7C,iDAAiD;gBAGjD,IAAI,KAAI,CAAC,WAAW,IAAI,KAAI,CAAC,WAAW,CAAC,SAAS;oBAChD,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;qBACrD;oBACH,IAAI,SAAO,GAAsB,KAAI,CAAC;oBACtC,CAAC,CAAC,UAAU,CAAC;wBAEX,IAAI,SAAO,CAAC,WAAW,IAAI,SAAO,CAAC,WAAW,CAAC,SAAS;4BACtD,SAAO,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;oBAC/D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;aACF;YACD,mCAAmC;YACnC,+FAA+F;YAC/F,sCAAsC;YACtC,+DAA+D;YAC/D,0JAA0J;YAC1J,mBAAmB;YACnB,KAAK;YAEL,4BAA4B;YAC5B,0BAA0B;YAC1B,yCAAyC;YACzC,wDAAwD;YACxD,oDAAoD;YACpD,oDAAoD;YACpD,mDAAmD;YACnD,KAAK;YACL,KAAK;YACL,sCAAsC;YACtC,+FAA+F;YAC/F,sCAAsC;YACtC,+DAA+D;YAC/D,0JAA0J;YAC1J,mBAAmB;YACnB,KAAK;YAEL,4BAA4B;YAC5B,0BAA0B;YAC1B,yCAAyC;YACzC,wDAAwD;YACxD,oDAAoD;YACpD,oDAAoD;YACpD,sDAAsD;YACtD,KAAK;YACL,GAAG;iBACI;gBAEL,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,KAAI,CAAC,IAAI,IAAI,SAAS,EAAE;oBAE1B,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;iBAC7C;qBAAM;oBAEL,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;iBAC7C;gBAED,iEAAiE;gBACjE,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI;oBAC7F,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAE5D,uCAAuC;gBACvC,8CAA8C;gBAC9C,sDAAsD;gBACtD,sCAAsC;gBACtC,kDAAkD;gBAClD,kDAAkD;gBAClD,8CAA8C;gBAC9C,GAAG;gBAEH,IAAI,KAAI,CAAC,UAAU,IAAI,KAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,KAAI,CAAC,YAAY,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtG,IAAI,KAAI,CAAC,WAAW,IAAI,KAAI,CAAC,WAAW,CAAC,SAAS;wBAChD,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;oBACxD,6EAA6E;yBAC1E;wBACH,IAAI,SAAO,GAAsB,KAAI,CAAC;wBACtC,CAAC,CAAC,UAAU,CAAC;4BACX,IAAI,SAAO,CAAC,WAAW,IAAI,SAAO,CAAC,WAAW,CAAC,SAAS;gCACtD,SAAO,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;4BAC3D,gFAAgF;wBACpF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;iBACF;aACF;QACH,CAAC,CAAC,CAAC;QACH,4CAA4C;QAC5C,6CAA6C;QAC7C,0DAA0D;QAE1D,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAE7C,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,kBAAkB;YACjC,eAAe,EAAE,oBAAoB;YACrC,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,oDAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED,4CAAgB,GAAhB,UAAiB,IAAI,EAAE,IAAI;QAA3B,iBAaC;QAXC,IAAI,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC;QAClD,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC9I,OAAO,CAAC,OAAO,CAAC,iBAAO;YACvB,CAAC,CAAC,CAAC;YACL,+KAA+K;YAC/K,gCAAgC;YAChC,OAAO;YACL,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAE9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAc,GAAd,UAAe,IAAI,EAAE,OAAO;QAA5B,iBAWC;QAVC,oCAAoC;QACpC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACvG,OAAO,CAAC,OAAO,CAAC,iBAAO;YACvB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YAChC,qDAAqD;YACrD,kEAAkE;YAClE,wCAAwC;YACxC,gCAAgC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAQ,GAAR,UAAS,OAAO;QACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,uBAAuB;IACvB,yCAAyC;IACzC,wEAAwE;IACxE,KAAK;IACL,GAAG;IACH,wCAAY,GAAZ,UAAa,IAAS;QAEpB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAErG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,0CAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;SACtG;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,uCAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAErG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,yCAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,iCAAK,GAAL,UAAM,UAAU;QACd,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1D,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAO,CAAC,CAAC,CAAC;QAC5E,2CAA2C;IAC7C,CAAC;IACD,kCAAkC;IAClC,sEAAsE;IACtE,8BAA8B;IAC9B,+BAA+B;IAC/B,uEAAuE;IACvE,4BAA4B;IAC5B,2CAA2C;IAC3C,OAAO;IAEP,GAAG;IACH,8CAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAOC;QANC,kCAAkC;QAClC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC5D,MAAM,CAAC,OAAO,CAAC,eAAK;YACpB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAW,GAAX;QAEE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC/D,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACpE,CAAC;IACD,wCAAY,GAAZ;QACE,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAChE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACnE,CAAC;IACD,kCAAM,GAAN;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAChE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACnE,CAAC;IAED,4CAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAAhC,iBAYC;QAVC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACzF,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAAC,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5D,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,YAAY;IACZ,GAAG;IACH,cAAc;IACd,oCAAoC;IACpC,+FAA+F;IAC/F,sCAAsC;IACtC,qDAAqD;IACrD,WAAW;IACX,8DAA8D;IAC9D,SAAS;IACT,YAAY;IACZ,kDAAkD;IAClD,KAAK;IACL,GAAG;IACH,sCAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,CAAC;IACD,oCAAQ,GAAR;QAAA,iBAYC;QAXC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9D,CAAC;IAGD,sCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,iDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,mDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IAED,4CAAgB,GAAhB,UAAiB,MAAM;QACtB,6CAA6C;QAC5C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC;YAEX,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC/C,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;YAClD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,CAAC,CAAC;YAClE,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACnD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC5C;iBAAM;gBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAC/C;YACD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,8CAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,oCAAQ,GAAR;QACE,gDAAgD;QAChD,iDAAiD;QACjD,2DAA2D;QAC3D,yDAAyD;QACzD,wCAAwC;QACxC,UAAU;QACV,0BAA0B;QAC1B,GAAG;QAGH,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAIpB,CAAC;IACD,0CAAc,GAAd;QAGE,GAAG;QACH,iDAAiD;QACjD,qBAAqB;QACrB,2FAA2F;QAC3F,kBAAkB;QAClB,2EAA2E;QAC3E,mCAAmC;QACnC,0DAA0D;QAC1D,YAAY;QACZ,oFAAoF;QACpF,KAAK;QACL,KAAK;QACL,qCAAqC;QAErC,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACpD,OAAO,CAAC,kBAAkB,EAAE,CAAC;aAE9B;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+GCn6BG,qOAAsJ,KACpJ,8LAA6H,YAA/C;;wBAA8C;MAA5H,g8BAA6H,mDAA7G,8BAA6B,EAAC,mBAA+B,gBAA7E,YAA6H,EAA7G,SAA6B,EAAC,SAA+B;+GAQ7E,+JAA2F,KACzF,4KAAkC,YAA5B;;wBAA2B;MAAjC,wBAAkC,0OAA2G,KAC7I,qKAA+C,+FAAkB,MACjE,4KAA8C,YAAxC;;wBAAuC;MAA7C,wBAA8C,6PAA8H;+GAJhL,ojBAAyK,IACvK,mZAA2F,IAM3F,qcAiBqD,YATpC;;wBAAsC;MACtC;;wBAA+C;MAC/C;;wBAA+C;MAE/C;;wBAAuC;MACvC;;wBAAmC;MAEnC;;wBAA+C;MAC/C;;wBAAuC;MACvC;;wBAAmC;MAjBpD,k5DAiBqD,mDAxBlD,2HAAyG,IAA9G,YAAyK,EAApK,SAAyG,GACnE,gDAAiD,qBAA1F,YAA2F,EAAlD,SAAiD,GAOzE,mBAA2B,cAG3B,mBAAuB,cAFvB,mBAAyB,aAKzB,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAQnB,oBAAkC,EAHlC,qBAAsC,EAXvD,YAiBqD,EAhBpC,SAA2B,EAG3B,SAAuB,EAFvB,SAAyB,EAKzB,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EAQnB,SAAkC,EAHlC,UAAsC;+GAWzD,gLAA+E,KAC7E,+KAAmD,KACjD,4KAA4C,YAAtC;;wBAAqC;MAA3C,wBAA4C,KAAC,yNAA+F,KAE9I,0LAA8D,KAE5D,m7CAKiC,iDAHlB,mBAAmB,YACnB,yBAAiB,EAEjB,qBAAiB,EAJjB,mBAAuB,EAGvB,uBAAoB,EAJnC,YAKiC,EAHlB,SAAmB,EACnB,SAAiB,EAEjB,SAAiB,EAJjB,SAAuB,EAGvB,SAAoB;+GAKvC,kLAAmG,KACjG,+nBAA+D,iDAAnD,mBAAwB,aAAC,0BAAyB,EAA9D,YAA+D,EAAnD,SAAwB,EAAC,SAAyB;+GAI9D,uMAAiK,YAAlD;;wBAAiD;MAAhK,yzCAAiK,mIAA9I,mBAAwB,YAAC,0BAAmB,EAAC,2BAAmB,EAAnF,YAAiK,EAA9I,SAAwB,EAAC,SAAmB,EAAC,SAAmB;+GAGnF,y7CAAkJ,iDAApD,6BAA+B,aAAlD,yBAAkB,EAAiC,2BAAmB,EAAtG,mBAA+B,YAA1E,YAAkJ,EAApD,SAA+B,EAAlD,SAAkB,EAAiC,SAAmB,EAAtG,SAA+B;+GAJ5E,sLAAuF,KACrF,mZAAiK,IAGjK,mZAAkJ,iDAH9D,oBAA0B,oBAA9G,YAAiK,EAA7E,SAA0B,GAG7F,mBAAyB,oBAA1C,YAAkJ,EAAjI,SAAyB;gHAStC,yPAA4H,YAAnD;;wBAAyB;MAAlG,wBAA4H;gHAC5H,2PAA8H,YAAnD;;wBAA0B;MAArG,wBAA8H;+GAJpI,2LAA+F,YAAnF;;wBAA6B;MAAzC,0cAA+F,MAC7F,oOAA2G,KACzG,4MAAgF,KAC9E,oZAA4H,IAC5H,oZAA8H,IAEhI,wLAA4D,8HAAO,4FAAe,MAEpF,8LAAoE,KAClE,05CAIiC,iDAbzB,mBAA6B,kBAAyB,uBAA4B,EAA9F,YAA+F,EAAnF,SAA6B,EAAyB,SAA4B,GAGW,oBAAsB,gBAAzH,YAA4H,EAAzB,SAAsB,GACnB,mBAAqB,gBAA3H,YAA8H,EAAxB,SAAqB,GAO9G,mBAAmB,YACnB,yBAAiB,EACjB,qBAAiB,EAHjB,8BAAkC,EADjD,aAIiC,EAFlB,SAAmB,EACnB,SAAiB,EACjB,SAAiB,EAHjB,SAAkC;gHAiBvD;;;;;;;;;;;wBAAuJ;MAAzD;;wBAAsB;MAApH,2yCAAuJ,iDAAzE,0BAAe,EAAC,mBAAsB,WAApH,YAAuJ,EAAzE,SAAe,EAAC,SAAsB,2BAApH,8sBAAuJ;gHAOrJ,wNAAqF,YAAtC;;wBAAoB;MAAnE,wBAAqF,iFAAI;gHACzF,6LAAsE,YAAxC;;wBAA0B;MAAxD,wBAAsE,iFAAI;gHAT9E,+KAAmE,KACjE,oZAAuJ,IAEvJ,sKAA0C,KACxC,6SAAgJ,YAAxI;;wBAA8B;MAAtC,wBAAgJ,2JAAgC,KAGlL,4KAAgD,KAC9C,oZAAqF,IACrF,qZAAsE,IACtE,oKAAuC,kDAT/B,mBAA4B,uBAAtC,YAAuJ,EAA7I,SAA4B,GAO9B,mBAAuB,kBAA7B,YAAqF,EAA/E,SAAuB,GACvB,mBAAuB,kBAA7B,aAAsE,EAAhE,SAAuB;gHAKjC,uHAAiC;gHACjC,2NAAkI,YAAtH;;wBAAqC;MAAjD,0bAAkI,MAChI,4LAAuQ,YAA5C;;wBAA2C;MAAtQ,smBAAuQ,mDAD1J,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAC7B,iBAAY,EAAC,yBAAmB,EAAC,2GAAkG,GAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAAxM,YAAuQ,EAArP,SAAY,EAAC,SAAmB,EAAC,SAAkG,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;gHAK1M,kNAAsI,YAA1H;;wBAAgC;MAA5C,6dAAsI,MACpI,8LAA6H,YAA7C;;wBAA4C;MAA5H,89CAA6H,mDADnC,qBAAkB,EAAlG,mBAAgC,qBAAmE,qBAAsB,EAArI,YAAsI,EAA1C,SAAkB,EAAlG,SAAgC,EAAmE,SAAsB,GAC9F,mBAAuB,YAA/C,mBAAuB,YAAyB,yBAAkB,EAA/E,YAA6H,EAAxF,SAAuB,EAA/C,SAAuB,EAAyB,SAAkB;ktBAtHjF,yLAAyD,KACzD,qMAAqE,KACrE,sKAAyC,KACvC,yKAA2D,KACzD,oZAAsJ,IAGtJ,mPAAsH,KACpH,oJAA6B,KAC7B;;;;;;;;;;;wBAAiJ;MAAzD;;wBAAkC;MAAC;;wBAAmB;MAA9I,2xCAAiJ,IAGnJ,oZAAyK,IA6BzK,oZAA+E,IAe/E,oZAAmG,IAInG,oZAAuF,IAOvF,8LAA6D,KAC7D,gMAA+D,KAE/D,oZAA+F,IAuBnG,2LAA4C,YAAhC;;wBAA+B;MAA3C,gaAA4C,MAC1C,m4BAA6D,IAE/D,qZAAmE,IAcnE,qZAAiC,IACjC,qZAAkI,IAMlI,qZAAsI,iDAjH/B,sEAAkD,IAArJ,aAAsJ,EAAnD,SAAkD,GAKxB,mBAAmB,QAA9I,aAAiJ,EAAtB,SAAmB,GAGD,oBAAyB,oBAAxK,aAAyK,EAA1B,UAAyB,GA6BpH,qBAA0B,oBAA9E,aAA+E,EAA3B,UAA0B,GAezE,oBAA4C,qCAAjD,aAAmG,EAA9F,UAA4C,GAI3B,oBAA4B,uBAAlD,aAAuF,EAAjE,UAA4B,GAUR,oBAAuB,kBAAjE,aAA+F,EAArD,UAAuB,GAuBzD,oBAA+B,oBAA3C,aAA4C,EAAhC,UAA+B,GACxB,oBAAgB,YAAC,oBAA0B,oBAA5D,aAA6D,EAA5C,UAAgB,EAAC,UAA0B,GAEzD,oBAAgB,WAArB,aAAmE,EAA9D,UAAgB,GAchB,oBAA2B,sBAAhC,aAAiC,EAA5B,UAA2B,GACkB,oBAA+B,0BAAjF,aAAkI,EAAhF,UAA+B,GAMpC,oBAA0B,qBAAvE,aAAsI,EAAzF,UAA0B,mDAlHhE,mBAAuB,eAA5B,aAA2D,EAAtD,SAAuB,GAMxB,stBAAiJ;;;;;;;;;;;;;;;;ACVvJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0I;AACzF;AACA;AACN;AACN;AACuC;AACnB;AACW;AACzB;AACM;AACN;AAAA,CAAC;AACmC;AAEZ;AACe;AACL;AACtB;AAE8B;AAElB;AACD;AACF;AAChC;AAGyC;AAE8B;AAIlB;AACrF;IA2IE,mCAAoB,aAA4B,EAAS,oBAA0C,EAAU,eAAgC,EAAU,UAAsB,EAAU,QAAmB,EAAU,IAAU,EAAU,iBAAsC,EAAU,KAAqB,EAAU,eAAgC,EAAU,MAAc,EAAU,QAAqB,EAAU,MAAqB,EAAU,gBAAkC;QAArc,kBAAa,GAAb,aAAa,CAAe;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,eAAU,GAAV,UAAU,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAAU,SAAI,GAAJ,IAAI,CAAM;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QApIzd,iBAAY,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QAC5C,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAI5E,UAAK,GAAG,EAAE,CAAC;QACX,iBAAY,GAAG,EAAE,CAAC;QAClB,qBAAgB,GAAG,CAAC,CAAC;QACrB,cAAS,GAAG,CAAC,CAAC;QAEd,SAAI,GAAW,EAAE,CAAC;QAClB,eAAU,GAAG,KAAK,CAAC;QACnB,yBAAoB,GAAG,KAAK,CAAC;QAC7B,sBAAiB,GAAG,KAAK,CAAC;QAE1B,oBAAe,GAAG,KAAK,CAAC;QAOxB,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAEnB,QAAG,GAAG,EAAE,CAAC;QACT,YAAO,GAAW,EAAE,CAAC;QACrB,oBAAe,GAAY,IAAI,CAAC;QAChC,qBAAgB,GAAY,IAAI,CAAC;QACjC,iBAAY,GAAG,EAAE,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QACrB,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAC3B,iBAAY,GAAY,KAAK,CAAC;QAC9B,gBAAW,GAAY,KAAK,CAAC;QAC7B,kBAAa,GAAY,IAAI,CAAC;QAC9B,aAAQ,GAAG,EAAE,CAAC;QACd,mBAAc,GAAG,EAAE,CAAC;QACpB,cAAS,GAAG,EAAE,CAAC;QACf,iBAAY,GAAmB,EAAE,CAAC;QAClC,aAAQ,GAAe,wEAAU,CAAC,QAAQ,CAAC;QAC3C,sBAAiB,GAAY,KAAK,CAAC;QACnC,wBAAmB,GAAY,KAAK,CAAC;QAMrC,kBAAa,GAAY,IAAI,CAAC;QAQ9B,aAAQ,GAAW,MAAM,CAAC;QAE1B,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAY,KAAK,CAAC;QAGlC,gBAAW,GAAY,IAAI,CAAC;QAI5B,yBAAoB,GAAU,EAAE,CAAC;QAC1B,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAC9H,gBAAW,GAAmB,EAAE,CAAC;QACjC,oBAAe,GAAmB,EAAE,CAAC;QACrC,YAAO,GAAmB,EAAE,CAAC;QAC7B,cAAS,GAAmB,EAAE,CAAC;QAC/B,eAAU,GAAmB,EAAE,CAAC;QAChC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QAC7B,sBAAiB,GAAmB,EAAE,CAAC;QACvC,eAAU,GAAmB,EAAE,CAAC;QAChC,eAAU,GAAmB,EAAE,CAAC;QAChC,cAAS,GAAmB,EAAE,CAAC;QAM/B,iBAAY,GAAY,KAAK,CAAC;QAC9B,oBAAe,GAAmB,EAAE,CAAC;QACrC,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,YAAO,GAAY,IAAI,CAAC;QACxB,kBAAa,GAAY,IAAI,CAAC;QAC9B,cAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAElC,yBAAoB,GAAY,KAAK,CAAC;QAC/B,cAAS,GAAG,EAAE,CAAC;QACf,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC1O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAExN,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClL,aAAQ,GAAG,KAAK,CAAC;QAEhD,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAC5B,iBAAY,GAAW,GAAG,CAAC;QAC3B,uBAAkB,GAAY,KAAK,CAAC;QACpC,6BAAwB,GAAY,KAAK,CAAC;QAC1C,4BAAuB,GAAY,KAAK,CAAC;QAIzC,sBAAiB,GAAY,IAAI,CAAC;QAGlC,iBAAY,GAAY,KAAK,CAAC;QAAC,UAAK,GAAG,EAAE,CAAC;QAC1C,sBAAiB,GAAY,KAAK,CAAC;QAEnC,uBAAkB,GAAY,KAAK,CAAC;QACpC,kBAAa,GAAY,KAAK,CAAC;QACxB,mBAAc,GAAW,GAAG,CAAC;QAElC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAAE;aAAM;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAAE;QAC9G,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IA1B+I,CAAC,CAAE,6CAA6C;IACiB,CAAC;IA0BlN,mDAAe,GAAf;QACE,qBAAqB;IACvB,CAAC;IACD,uDAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBAyDC;QAxDC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,EAAE;gBAChI,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QAED,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAE5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,iBAAO;gBACjB,IAAI,OAAO,CAAC,MAAM,IAAI,kBAAkB,EAAE;oBACxC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;iBACvG;gBACD,2EAA2E;gBAC3E,4DAA4D;gBAC5D,GAAG;gBACH,QAAQ;gBACR,2DAA2D;gBAC3D,GAAG;YACL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SAEH;aACI;YACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAC1F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,kBAAuB,CAAC;oBAC5B,kBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,kBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEhH,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;wBAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;wBAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;qBAChD,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,0DAA0D;SAC3D;IACH,CAAC;IACD,oDAAgB,GAAhB;QAAA,iBAqDC;QApDC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;SACxO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE3F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,KAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YAChI,KAAI,CAAC,oBAAoB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClM,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;YACpH,KAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxL,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAC,IAAI,CAAC,CAAC;YAC7C,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC3C,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAErC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;YACrC,sCAAsC;YACtC,cAAc,EAAE,iGAAuB;SACxC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAElB,CAAC;IACJ,CAAC;IACD,oDAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QAChF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE;YACvI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SACpD;QAED,IAAI,YAAY,GAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY;QACxD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAE1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBACzG,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAElD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;oCAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;iCACrE;qCAAM;oCACL,OAAO,MAAM,CAAC,KAAK,CAAC;iCACrB;6BACF;wBACH,CAAC;qBACF,CAAC;oBACF,gGAAgG;iBACjG;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAC3G,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAElD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;oCAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;iCACrE;qCAAM;oCACL,OAAO,MAAM,CAAC,KAAK,CAAC;iCACrB;6BACF;wBACH,CAAC;qBACF,CAAC;oBACF,gGAAgG;iBACjG;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAC7I,YAAY,EAAE,UAAU,MAAM;4BAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gCAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6BACrE;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACL,CAAC;qBACF,CAAC;oBACF,gGAAgG;iBACjG;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM;4BACnK,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;4BAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gCACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gCACnC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gCAC9F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;4BACzD,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACpD,CAAC;iBACH;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;wBACzJ,YAAY,YAAC,MAAM;4BACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,gBAAgB;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCACnG,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;wBAC5D,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACpD,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,YAAC,MAAM;4BAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gCAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6BACrE;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACf,CAAC;wBACW,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACzJ,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oBAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;4BAC/F,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACxB,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;6BAChD;iCAAM;gCACL,OAAO,OAAO,CAAC;6BAChB;wBACH,CAAC;qBACJ,CAAC,CAAC;iBACF;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChN;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpQ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACxM;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAChD,YAAY,EAAE,UAAU,MAAM;4BAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gCAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6BACrE;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACL,CAAC;qBACF,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;oBAC1J,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,gBAAgB;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACrK,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,YAAC,MAAM;wBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;iBAC1G;gBACD,0EAA0E;gBAC1E;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;oBACvD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAElD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gCAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6BACrE;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;yBACF;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;oBACzD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAElD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gCAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6BACrE;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;yBACF;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,YAAC,MAAM;wBACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC7C;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;wBAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC7C;gBACD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,YAAC,MAAM;wBACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC7C;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC7C;gBACD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBACjH,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;wBAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;4BACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;4BACnC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BAC9F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;wBACzD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAC7F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,YAAC,MAAM;wBACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC7C;gBACD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;gBAEvI;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,YAAC,MAAM;wBACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;iBAC5C;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAC/F,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACxB,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;yBAChD;6BAAM;4BACL,OAAO,OAAO,CAAC;yBAChB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC/E;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,YAAC,MAAM;wBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;iBAAE;gBAC/C;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;wBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;iBAAE;gBAC/C;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,YAAC,MAAM;wBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,YAAC,MAAM;wBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;iBAAE;gBAC/C;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,YAAC,MAAM;wBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;wBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;oBACjC,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAElD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gCAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6BACrE;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;yBACF;oBACH,CAAC,EAAE,IAAI,EAAE,IAAI;iBAAE;gBACjB;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ;oBACrC,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAElD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;gCAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;6BACrE;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;yBACF;oBACH,CAAC,EAAE,IAAI,EAAE,IAAI;iBAAE;gBACjB;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,YAAC,MAAM;wBACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;iBAAE;gBAC/C;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,YAAC,MAAM;wBAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,YAAC,MAAM;wBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,YAAC,MAAM;wBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,YAAC,MAAM;wBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,YAAC,MAAM;wBAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,YAAC,MAAM;wBACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,YAAC,MAAM;wBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,YAAC,MAAM;wBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,YAAC,MAAM;wBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,YAAC,MAAM;wBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,YAAC,MAAM;wBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,YAAC,MAAM;wBACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;gBAC9C;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;wBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,eAAe,EAAE,IAAI;iBAAE;gBACtE;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,YAAC,MAAM;wBAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE;4BAChH,OAAO,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,gBAAgB;yBACrE;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBAAE;aAE/C,CAAC;YAEF,IAAI,CAAC,aAAa,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SACzC;IACH,CAAC;IAEA,qDAAiB,GAAjB,UAAkB,QAAQ,EAAE,IAAI;QACjC,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,IAAI,IAAG,KAAG,SAAW,EAAC;IAC/B,CAAC;IACC,iDAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,+CAAW,GAAX;IAEA,CAAC;IACD,iDAAa,GAAb;QAAA,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACnF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAkB,GAAlB,UAAmB,QAAQ;QACzB,+DAA+D;QAC/D,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,iDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,+CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,iDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,qDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QAEtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,sDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrF,8CAA8C;iBAC/C;aAEF;SACF;IACH,CAAC;IACD,kDAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;aAC1B;QACH,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE;YAC3C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;SAC/D;IACH,CAAC;IACD,qDAAiB,GAAjB,UAAkB,QAAQ;QAExB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAEzC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACjb,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE/D,CAAC;IACD,sDAAkB,GAAlB,UAAmB,MAAM;IAEzB,CAAC;IACD,6CAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,sDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,QAAQ;YACzB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kIAAkI,CAAC,CAAC;YACjK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iIAAiI,CAAC,CAAC;YAChK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;IAEH,CAAC;IAED,kDAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iIAAiI,CAAC,CAAC;QAChK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,qDAAiB,GAAjB,UAAkB,OAAO;QAEvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;IAExB,CAAC;IAED,6CAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAE/B,CAAC;IACD,yDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,uDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,kFAAkF;QAClF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnH,CAAC;IAED,+CAAW,GAAX,UAAY,OAAO;QACjB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,OAAO;QAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;QAC9E,0BAA0B;QAC1B,8KAA8K;QAC9K,QAAQ;IAEV,CAAC;IACD,sDAAkB,GAAlB,UAAmB,GAAG;QAAtB,iBASC;QARC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACvF,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,qBAAqB,CAAC,CAAC;YACnH,CAAC,CAAC,CAAC;SACF;QACD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACzC,CAAC;IACD,oDAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAeC;QAdC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;QAClC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YAC7C,IAAI,KAAI,CAAC,UAAU,IAAI,CAAC,EAAE;gBACxB,KAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,sBAAsB,EAAE,cAAc,EAAE,iCAAiC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;aAC3J;iBACI;gBACH,KAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,sBAAsB,EAAE,cAAc,EAAE,yBAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;aACnJ;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,yDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI;SACzP,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,yDAAqB,GAArB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB;gBAChJ,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;gBACpE,8BAA8B;gBAC9B,mCAAmC;gBACnC,IAAI;gBACJ,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBAC9B,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,KAAK;gBAChM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACpP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAElT,CAAC;QACF,mCAAmC;QACnC,eAAe;QACf,IAAI;QACJ,yCAAyC;QACzC,4EAA4E;QAC5E,kBAAkB;QAClB,IAAI;IACN,CAAC;IAED,4CAAQ,GAAR;QAAA,iBAgGC;QA/FC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;QAChD,IAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,UAAU,EAAE;YAC3B,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,UAAU,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;SAC3C;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACrC,KAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,UAAU,EAAxB,CAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,OAAO,CAAC,QAAQ,GAAG,mEAAmE,EAAE,eAAe,CAAC,CAAC;YAC5J,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,UAAU,GAAG,gHAAgH,CAAC;YAElI,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;YAC3B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,GAAG,CAAC,OAAO,GAAG;gBACZ,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU;oBACxC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;oBAEjC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE1D,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAEpI,CAAC,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACpD,4CAA4C;QAC5C,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAE7C,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;YAClC,IAAI,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC;YACzB,KAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACtF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,SAAS,EAAE;gBAC5J,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;oBACnB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBAGH,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;gBACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAC7C,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAG7C,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aACpC;QAEH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IAED,4DAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC9C,CAAC;IAGD,yDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,2DAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,uDAAmB,GAAnB,UAAoB,MAAM,EAAE,aAAa;QAAzC,iBAIC;QAHC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YACrE,KAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAc,GAAd,UAAe,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAA8B;QAA7E,iBAsEC;QArEC,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;SACzD;aAAM;YACL,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,EAAE;gBACnD,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,kBAAkB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,kBAAkB,EAAlF,CAAkF,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpJ,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;oBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,8GAA8G,EAAE,eAAe,CAAC,CAAC;oBACrJ,OAAO,KAAK,CAAC;iBACd;aACF;YACD,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;gBAE3B,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;oBACtM,OAAO,CAAC,OAAO,CAAC,iBAAO;wBACrB,OAAO,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;wBACzE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClF,CAAC,CAAC,CAAC;oBACH,IAAI,KAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;wBAC3C,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;qBACpC;yBAAM;wBACL,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;qBACpC;oBAED,IAAI,CAAC,KAAI,CAAC,aAAa,EAAE;wBACvB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAhC,CAAgC,CAAC,CAAC;qBAC3F;oBACD,IAAI,KAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,EAAE;wBACtC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,EAA/B,CAA+B,CAAC,CAAC;qBAC1F;oBACD,IAAI,KAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE;wBAC5D,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;qBACvB;yBAAM,IAAI,KAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,IAAI,KAAI,CAAC,YAAY,EAAE;wBAElE,IAAI,KAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAI,CAAC,KAAK,IAAI,EAAE,EAAE;4BAC1C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,mBAAmB,CAAC;yBAC7C;qBACF;yBACI;wBACH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,mBAAmB,CAAC;qBAC7C;oBACD,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,EAA/B,CAA+B,CAAC,CAAC;oBACzF,IAAI,OAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC9C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACT,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAE;wBAEvG,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBACjC,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;wBAC/D,IAAI,SAAO,GAAG,KAAI,CAAC;wBACnB,CAAC,CAAC,UAAU,CAAC;4BACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gCACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,SAAS,EAAE;oCACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oCAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;iCAC7C;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;gBACH,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aACvB;YAED,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YAC5Y,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACnD;IAEH,CAAC;IACD,gDAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,kDAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,8CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnH,CAAC;IAGD,+CAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,iDAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;IACjD,CAAC;IACD,4CAAQ,GAAR,UAAS,OAAO;QAAhB,iBA8BC;QA5BC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;YACzD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAEjC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mBAAS;gBAChE,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mBAAS;oBACrE,KAAI,CAAC,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;oBACxD,KAAI,CAAC,YAAY;oBACjB,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC5E,IAAI,OAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;4BACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE;gCACrC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gCAC/C,OAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;6BAC7C;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SAEJ;aAEI;YACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SAC7E;IACH,CAAC;IACD,4CAAQ,GAAR,UAAS,QAAQ;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YACjD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,kDAAc,GAAd,UAAe,QAAQ;QAGrB,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACrb,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAI,QAAQ,CAAC,IAAI,CAAC,UAAY,CAAC,CAAC;IAClH,CAAC;IAED,iDAAa,GAAb,UAAc,QAAQ;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;IACpC,CAAC;IACD,+CAAW,GAAX,UAAY,EAAE;QAAd,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC1E,KAAI,CAAC,UAAU,GAAG,CAAC,KAAI,CAAC,UAAU;YAClC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAsB,EAAI,CAAC,CAAC;QAExD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wCAAI,GAAJ,UAAK,KAAK;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,KAAK,CAAC,EAAE,UAAO,CAAC,CAAC;IAC/E,CAAC;IAED,0CAAM,GAAN,UAAO,QAAQ;QAAf,iBAWC;QAVC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,mBAAmB,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;QACpF,IAAI,CAAC,GAAG,OAAO,CAAC,2BAA2B,GAAG,mBAAmB,GAAG,iBAAiB,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,eAAe,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC7E,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,qBAAqB,CAAC,CAAC;YACnH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,kDAAc,GAAd;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnH,CAAC;IACD,2DAAuB,GAAvB;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE7D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjH,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,6CAAS,GAAT,UAAU,GAAG;QACX,IAAI,YAAY,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,YAAY,CAAC;IACtB,CAAC;IACM,+CAAW,GAAlB,UAAmB,SAAS,EAAE,IAAI;QAAlC,iBAeC;QAdC,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACnF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACjB,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;YACnC,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QAE9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAgB,GAAhB,UAAiB,WAAW;QAA5B,iBAIC;QAHC,IAAI,IAAI,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,oBAAU,IAAI,YAAI,CAAC,UAAU,GAAG,UAAU,EAA5B,CAA4B,CAAC,CAAC;SAC5F;IACH,CAAC;IAED,iDAAa,GAAb;QAAA,iBAgFC;QA/EC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACjD,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAChG,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9E,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC3D,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAC9B,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAE/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAClF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACvD,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACrF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAClF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE;QACf;YACE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC;YACb,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,iDAAa,GAAb;QACE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,4CAAQ,GAAR;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI,GAAG,CAAC;gBACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,+CAAW,GAAX;QAAA,iBAmBC;QAlBC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvD,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACxD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxB,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE;gBAChC,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;oBACpC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;iBAC3D;qBAAM;oBACL,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;iBAC1D;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAgB,GAAhB,UAAiB,MAAM;QACrB,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjC,gCAAgC;QAEhC,4CAA4C;QAE5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAE1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,iDAAiD;YACjD,oDAAoD;YAEpD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,4CAA4C;gBAC5C,+CAA+C;gBAC/C,oEAAoE;gBACpE,8CAA8C;gBAC9C,oEAAoE;gBAEpE,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAC9H,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC,2BAA2B,CAAC;gBAC1D,qDAAqD;gBACrD,2CAA2C;gBAE3C,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;iBAAM;gBAEL,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1C,qDAAqD;gBACrD,+CAA+C;gBAC/C,6CAA6C;gBAE7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;YACD,sDAAsD;YACtD,qDAAqD;YACrD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAET,CAAC;IAED,sDAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,4CAAQ,GAAR;QAEE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpB,CAAC;IACD,kDAAc,GAAd;QAEE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAClD,OAAO,CAAC,kBAAkB,EAAE,CAAC;aAE9B;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,yCAAK,GAAL;QAEE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnH,CAAC;IACD,wCAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAClH;IACH,CAAC;IACD,wCAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAClH;IAEH,CAAC;IACD,wCAAI,GAAJ;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnH,CAAC;IACD,iDAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjH,gGAAgG;QAChG,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACD,wDAAoB,GAApB,UAAqB,GAAG,EAAE,GAAG;QAE3B,IAAI,GAAG,IAAI,gBAAgB;YACzB,IAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC;QACtC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjB;aACI;YACH,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK;gBACnC,OAAO,KAAK,IAAI,GAAG,CAAC;YACtB,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjB;aACI;YACH,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK;gBACnC,OAAO,KAAK,IAAI,GAAG,CAAC;YACtB,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnH,CAAC;IAED,qDAAiB,GAAjB;QACE,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;SAEjD;aAAM;YAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;SAAE;IAC7D,CAAC;IAED,sDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,iBAAiB,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;SAC5D;QACD,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC1E,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wDAAoB,GAApB,UAAqB,QAA6B;QAAlD,iBAqCC;QAnCC,IAAI,QAAQ,CAAC,YAAY,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAAE;QACxD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnF,IAAI,QAAQ,CAAC,aAAa,IAAI,oBAAoB,EAAE;YAClD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;aAAM,IAAI,QAAQ,CAAC,aAAa,IAAI,qBAAqB,EAAE;YAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAAE;QAC1F,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,cAAc,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClG,QAAQ,CAAC,cAAc,CAAC;QAC1B,IAAI,QAAQ,CAAC,aAAa,IAAI,GAAG,IAAI,QAAQ,CAAC,aAAa,IAAI,SAAS,IAAI,QAAQ,CAAC,aAAa,IAAI,EAAE,EAAE;YACxG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,aAAa,EAA3C,CAA2C,CAAC;SACrG;aAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,IAAI,QAAQ,CAAC,cAAc,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,IAAI,cAAc,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE;YAC/J,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAC1G,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,GAAG,EAArB,CAAqB,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;SAEJ;aAAM;YACL,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;gBAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;oBAC7B,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE;wBACnC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAC5C;oBACD,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,EAAE;wBAClC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;qBAC3B;yBAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,GAAG,EAAE;wBACzC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;qBAC3B;oBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;iBACzF;aACF;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACvB;SACF;IACH,CAAC;IAED,qDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC;SACnC;aACI;YACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC;YAClC,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,SAAS,EAAE;wBACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;qBAC7C;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACD,mDAAe,GAAf;QACE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAAE;aAAM;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAAE;IAChH,CAAC;IAED,4DAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,0DAAsB,GAAtB;QAAA,iBAWC;QAVC,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;YAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,EAAjE,CAAiE,CAAC,CAAC;SAC5H;QACD,IAAI,CAAC,OAAO,CAAC,cAAc,CACxB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CACvE,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,eAAe,GAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CAAC;QAC1G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAE5B,CAAC;IACD,+CAAW,GAAX;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;aAAM;YACL,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,EAAE;gBAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aAAE;YACpE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SACzB;IACH,CAAC;IACH,gCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gHCt6DD,iLAAsF,KACpF,iSAMiE,YAAhD;;wBAA+C;MANhE,+9CAMiE,mDALhD,mBAA2B,cAE3B,mBAAwB,eADxB,mBAAyB,aAGzB,mBAAwD,yCADxD,mBAAmB,UAJpC,YAMiE,EALhD,SAA2B,EAE3B,SAAwB,EADxB,SAAyB,EAGzB,SAAwD,EADxD,SAAmB;gHAOtC,6IAAuD,KAErD,mMAA0I,YAA/C;;wBAAoC;MAA/H,svCAA0I,mDAA3H,mBAAyB,aAAC,qBAA0B,EAAC,2BAAsB,EAA1F,YAA0I,EAA3H,SAAyB,EAAC,SAA0B,EAAC,SAAsB;uMAd5F,mZAAsF,IAYtF,mZAAuD,iDAZF,oBAAgC,0BAArF,YAAsF,EAAjC,SAAgC,GAY9D,mBAA+B,0BAAtD,YAAuD,EAAhC,SAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZR;AACwC;AACrC;AACD;AAEqB;AACA;AACN;AACc;AAChB;AACM;AACM;AAEzE;IAsBE,oCAAmB,oBAA0C,EAAU,KAAqB,EAAS,WAAwB,EAAU,eAAgC,EAAU,YAA0B,EAAc,iBAAsC,EAAU,WAAwB,EAAU,gBAAkC,EAAU,eAAgC;QAApW,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAS,gBAAW,GAAX,WAAW,CAAa;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAc,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QARvX,aAAQ,GAAW,MAAM,CAAC;QAI1B,4BAAuB,GAAY,KAAK,CAAC;QAMvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAAA,CAAC;IAEtE,6CAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAGD,qDAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAqCC;QApCC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YAED,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,KAAI,CAAC,QAAQ,GAAG,CAAC,KAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC;YAC/D,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC1C,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;QAEnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,8BAA8B;QAC9B,mCAAmC;QACnC,IAAI;IAEN,CAAC;IAED,qDAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAA3B,+CAA2B;QAChF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;YAChD,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACtE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF;QACD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE/E,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;iBAClG;qBACK;oBACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aACI;YACH,IAAI,CAAC,UAAU,GAAG;gBAChB,GAAG;gBACH,eAAe;gBACf,oBAAoB;gBACpB,cAAc;gBACd,4BAA4B;gBAC5B,0BAA0B;gBAC1B,uBAAuB;gBACvB,iBAAiB;gBACjB,gBAAgB;gBAChB,kBAAkB;gBAClB,kCAAkC;gBAClC,kEAAkE;gBAClE,IAAI;gBACJ,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC9D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnE,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACvE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1E,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC9D,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;aAe7D,CAAC;YAEF,IAAI,eAAe,GAAG,UAAU,MAAM;gBACpC,OAAO,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1E,CAAC,CAAC;SACH;IACH,CAAC;IAGD,kDAAa,GAAb,UAAc,MAAM;QAApB,iBA4BC;QA3BC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;YAEhE,aAAa,CAAC,OAAO,CAAC,aAAG;gBACvB,IAAI,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3F,IAAI,UAAU,GAAG,uBAAuB,GAAG,GAAG,CAAC,YAAY,CAAC;gBAE5D,GAAG,CAAC,uBAAuB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;oBAC3D,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBACnC,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;oBAC9C,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAExB,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;YAC1C,IAAI,KAAI,CAAC,IAAI,IAAI,MAAM,EAAE;gBACvB,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,MAAM,EAA1B,CAA0B,CAAC,CAAC;aACvF;iBAAM,IAAI,KAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;gBAChC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,QAAQ,EAA5B,CAA4B,CAAC,CAAC;aACzF;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC;aAC/C;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YACjB,qEAAqE;YAEpE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,cAAc,CAAC;YAC9D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC3D,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;SACxG;IACH,CAAC;IACD,gDAAW,GAAX,UAAY,GAAG;QACb,IAAI,GAAG,IAAI,aAAa,EAAE;YACxB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;IACH,CAAC;IACD,8CAAS,GAAT;QACE,UAAU,CAAC;YACT,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QAC9L,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAjID;QAA4C,iHAAQ,EAAE;;;;sEA6ErD;IAqDH,iCAAC;CAAA;AAnMsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGCsCzB,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;wGAWmC,qJAAuD,sNAAyC;wGAP7I,uMAA0I,KACxI,qKAAyC,KACvC,+QAA2I,YAAnG;;wBAA2C;MAAnF,wBAA2I,4FAAe,MAE5J,sLAA0D,KACxD,mQAA+H,YAAvF;;wBAA2C;MAAnF,wBAA+H,KAC7H,wKAA4C,kFACL,iZAAuD,iDAAjD,sCAAuB,GAA7B,YAAuD,EAAjD,SAAuB,mDADxB,wEACL;wGAOzC,2NAAgJ,wFAAW;yGAKrH,qJAAuD,+MAAkC;wGAD7H,wKAA6F,kFACzD,kZAAuD,iDAAjD,sCAAuB,GAA7B,YAAuD,EAAjD,SAAuB,mDAD4B,qEACzD;yGAGlC,kJAAoD,8EAAC;yGADvD,wKAAuE,KACrE,4YAAoD,iDAA9C,sCAAuB,GAA7B,YAAoD,EAA9C,SAAuB;wGAVrC,4LAAuI,KACrI,qKAAyC,KACvC,2YAAgJ,IAElJ,sLAA0D,KACxD,+MAAmF,KACjF,2YAA6F,IAG7F,4YAAuE,iDAPrE,gEAAgD,IAApD,YAAgJ,EAA5I,SAAgD,GAI/C,gEAAgD,IAAnD,YAA6F,EAA1F,SAAgD,GAGhD,qCAA0B,GAA7B,YAAuE,EAApE,SAA0B;yGAMnC,8KAAyH,KAEvH,oKAAwC,KACvC,ukBAAuG,IAIxG,sLAA0D,KACxD,qKAAyC,KACvC,8OAAkH,gFAAuB,MAE3I,qKAAyC,KACvC,oXAAqQ,YAAjP;;wBAAoD;MAAxE,wBAAqQ,kDAT1P,mBAAkD,mCAAC,mBAAqC,8BAAtG,YAAuG,EAAzF,SAAkD,EAAC,SAAqC,mDAMe,gEAAuB,GAGkG,2GAAuB,GAAlQ,YAAqQ,EAA1B,SAAuB;yGAOrQ,ukBAAoJ,iDAApF,mBAA+C,gCAAC,mBAAmC,4BAAnJ,YAAoJ,EAApF,SAA+C,EAAC,SAAmC;yGAEnJ,ukBAA6F,iDAAnD,iBAAc,EAAC,mBAAmC,4BAA5F,YAA6F,EAAnD,SAAc,EAAC,SAAmC;yGAL/F,+KAAyH,KAEvH,oKAAwC,KACvC,4YAAoJ,IAEpJ,4YAA6F,IAI9F,sLAA0D,KAExD,qKAAyC,KACvC,8OAAkH,gFAAmB,MAEvI,sKAAyC,KACvC,oXAAqQ,YAAjP;;wBAAqD;MAAzE,wBAAqQ,kDAZ1P,gEAAiD,IAA/D,YAAoJ,EAAtI,SAAiD,GAEjD,qCAA2B,GAAzC,YAA6F,EAA/E,SAA2B,mDAO4E,4DAAmB,GAGsG,2GAAuB,GAAlQ,aAAqQ,EAA1B,SAAuB;wGA5D1Q,uNAAqH,KAEnH,2YAA0I,IAY1I,2YAAuI,IAevI,4YAAyH,IAgBzH,4YAAyH,iDA3CpH,4FAAuE,IAA5E,YAA0I,EAArI,SAAuE,GAYvE,4FAAsE,IAA3E,YAAuI,EAAlI,SAAsE,GAetE,4FAAsE,IAA3E,YAAyH,EAApH,SAAsE,GAgBtE,4FAAsE,IAA3E,YAAyH,EAApH,SAAsE;yGAiC7E,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;yGAON,8NAA6H,+FAAkB;yGAC/I,8NAA6H,oGAAuB;yGACpJ,8NAAkJ,2FAAc;yGAHlK,qKAAwJ,KACtJ,4YAA6H,IAC7H,4YAA6H,IAC7H,4YAAkJ,iDAF9I,qCAA0B,GAA9B,YAA6H,EAAzH,SAA0B,GAC1B,qCAA0B,GAA9B,YAA6H,EAAzH,SAA0B,GAC1B,gEAA+C,IAAnD,YAAkJ,EAA9I,SAA+C;yGAErD,qKAAoE,KAClE,4MAAgF,uFAAU;yGAOtF,qJAAuD,4NAA+C;yGAJ5G,sLAAqF,KACnF,gOAAoG,KAClG,wKAA4C,kFAE1C,kZAAuD,iDAAjD,sCAAuB,GAA7B,YAAuD,EAAjD,SAAuB,mDAFa,mFAE1C;yGAUA,qJAAuD,oNAAuC;yGAJpG,qLAAoF,KAClF,+NAAmG,KACjG,uLAA2D,kFAEzD,kZAAuD,iDAAjD,sCAAuB,GAA7B,YAAuD,EAAjD,SAAuB,mDAF4B,2EAEzD;yGAWA,oJAAsD,sNAAyC;yGALrG,qKAAoE,KAClE,gOAAoG,KAElG,wKAA4C,kFAE1C,kZAAsD,iDAAhD,sCAAuB,GAA7B,YAAsD,EAAhD,SAAuB,mDAFa,wEAE1C;yGAUA,oJAAsD,kNAAqC;yGAJ/F,gOAAoJ,KAElJ,wKAA4C,kFAE1C,kZAAsD,iDAAhD,sCAAuB,GAA7B,YAAsD,EAAhD,SAAuB,mDAFa,wEAE1C;yGAQA,iJAAmD,kNAAqC;yGAJ5F,gOAA+H,KAE7H,wKAA4C,KAE1C,4YAAmD,iDAA7C,sCAAuB,GAA7B,YAAmD,EAA7C,SAAuB;yGAbnC,qKAA8G,KAC5G,4YAAoJ,IAQpJ,4YAA+H,iDAR3H,gEAA+C,IAAnD,YAAoJ,EAAhJ,SAA+C,GAQ/C,qCAA0B,GAA9B,YAA+H,EAA3H,SAA0B;yGAiB/B,ukBAAgJ,iDAA1G,mBAAwD,8CAAC,mBAAgD,yCAA/I,YAAgJ,EAA1G,SAAwD,EAAC,SAAgD;yGAJlJ,8KAA6E,KAE3E,qKAAyC,KAExC,4YAAgJ,IAGjJ,sLAA0D,KAExD,qKAAyC,KACvC,8OAAkH,gFAAuB,MAE3I,qKAAyC,KACvC,mXAA8Q,YAA1P;;wBAA8D;MAAlF,wBAA8Q,kDATnQ,sCAAuB,GAArC,YAAgJ,EAAlI,SAAuB,mDAMgF,gEAAuB,GAG2G,2GAAuB,GAA3Q,YAA8Q,EAA1B,SAAuB;yGAW7Q,ukBAAgI,iDAA1F,mBAAgD,sCAAC,mBAAwC,iCAA/H,YAAgI,EAA1F,SAAgD,EAAC,SAAwC;yGAFnI,8KAA6E,KAC3E,qKAAyC,KACvC,4YAAgI,IAGlI,sLAA0D,KACxD,qKAAyC,KACvC,8OAAkH,gFAAuB,MAE3I,qKAAyC,KACvC,oXAAgQ,YAA5O;;wBAA+C;MAAnE,wBAAgQ,kDARpP,sCAAuB,GAArC,YAAgI,EAAlH,SAAuB,mDAK+E,gEAAuB,GAG6F,2GAAuB,GAA7P,YAAgQ,EAA1B,SAAuB;yGAQ/P,ukBAA0H,iDAApF,mBAA6C,mCAAC,mBAAqC,8BAAzH,YAA0H,EAApF,SAA6C,EAAC,SAAqC;yGAF7H,8KAA6E,KAC3E,qKAAyC,KACvC,4YAA0H,IAG5H,sLAA0D,KACxD,qKAAyC,KACvC,8OAAkH,gFAAuB,MAE3I,qKAAyC,KACvC,oXAA+Q,YAA3P;;wBAA8D;MAAlF,wBAA+Q,kDARnQ,sCAAuB,GAArC,YAA0H,EAA5G,SAAuB,mDAK+E,gEAAuB,GAG4G,2GAAuB,GAA5Q,YAA+Q,EAA1B,SAAuB;yGAQhR,ukBAA2H,iDAArF,mBAA6C,mCAAC,mBAAsC,+BAA1H,YAA2H,EAArF,SAA6C,EAAC,SAAsC;yGAF5H,8KAAwH,KACtH,qKAAyC,KACzC,4YAA2H,IAG3H,sLAA0D,KAExD,qKAAyC,KACvC,8OAAkH,gFAAsB,MAE1I,qKAAyC,KACvC,oXAAqQ,YAAjP;;wBAAoD;MAAxE,wBAAqQ,kDAT3P,sCAAuB,GAArC,YAA2H,EAA7G,SAAuB,mDAMiF,+DAAsB,GAGmG,2GAAuB,GAAlQ,YAAqQ,EAA1B,SAAuB;yGAlI1Q,wNAAqH,KAGnH,6LAAgE,KAC9D,4YAAwJ,IAKxJ,4YAAoE,IAIpE,4YAAqF,IAUrF,4YAAoF,IAUpF,6YAAoE,IAUpE,6YAA8G,IAsBhH,6YAA6E,IAsB7E,6YAA6E,IAgB7E,6YAA6E,IAgB7E,6YAAwH,iDAnH7E,oJAA8G,IAAvJ,YAAwJ,EAA/G,SAA8G,GAK9G,qCAA0B,GAAnE,YAAoE,EAA3B,SAA0B,GAI9D,qCAA0B,GAA/B,YAAqF,EAAhF,SAA0B,GAU1B,qCAA0B,GAA/B,YAAoF,EAA/E,SAA0B,GAU1B,qCAA0B,GAA/B,aAAoE,EAA/D,SAA0B,GAU1B,4FAAoE,IAAzE,aAA8G,EAAzG,SAAoE,GAsBtE,qCAA0B,GAA/B,aAA6E,EAAxE,SAA0B,GAsB1B,qCAA0B,GAA/B,aAA6E,EAAxE,SAA0B,GAgB1B,qCAA0B,GAA/B,aAA6E,EAAxE,SAA0B,GAgB1B,4FAAqE,IAA1E,aAAwH,EAAnH,SAAqE;yGAyB5E,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;yGAON,4NAA2H,8FAAkB;yGAC7I,6NAA4H,mGAAsB;yGAFpJ,qKAA0F,KACxF,4YAA2H,IAC3H,4YAA4H,iDADxH,qCAA0B,GAA9B,YAA2H,EAAvH,SAA0B,GAC1B,qCAA0B,GAA9B,YAA4H,EAAxH,SAA0B;yGAEhC,qKAAoE,KAClE,2NAA+F,wFAAW;yGAOtG,oJAAsD,gNAA8B;yGAL1F,wLAAuF,KACrF,gOAAoG,KAElG,wKAA4C,kFAE1C,kZAAsD,iDAAhD,sCAAuB,GAA7B,YAAsD,EAAhD,SAAuB,mDAFa,uEAE1C;yGASA,oJAAsD,mNAAiC;yGAJ7F,uLAAsF,KACpF,+NAAmG,KACjG,uLAA2D,kFAEzD,kZAAsD,iDAAhD,sCAAuB,GAA7B,YAAsD,EAAhD,SAAuB,mDAF4B,0EAEzD;yGASA,oJAAsD,oNAAkC;yGAJ9F,uKAAsE,KACpE,gOAAoG,KAClG,wKAA4C,kFAE1C,kZAAsD,iDAAhD,sCAAuB,GAA7B,YAAsD,EAAhD,SAAuB,mDAFa,gFAE1C;yGAOF,+QAAsK,YAAnG;;wBAA2C;MAA9G,wBAAsK,4FAAe;yGAK5I,qJAAuD,sNAAyC;yGAFzI,mQAA0J,YAAvF;;wBAA2C;MAA9G,wBAA0J,KACxJ,wKAA4C,kFACL,kZAAuD,iDAAjD,sCAAuB,GAA7B,YAAuD,EAAjD,SAAuB,mDADxB,wEACL;yGAKtC,kJAAoD,sNAAyC;yGAFhG,mQAA0J,YAAvF;;wBAA2C;MAA9G,wBAA0J,KACxJ,wKAA4C,KAC3C,4YAAoD,iDAA9C,sCAAuB,GAA7B,YAAoD,EAA9C,SAAuB;yGAZpC,6LAAiH,KAC/G,qKAAyC,KACvC,4YAAsK,IAExK,sLAA0D,KACxD,4YAA0J,IAK1J,4YAA0J,IAM5J,8KAAkD,KAEhD,qKAAwC,KACvC,ykBAAuG,IAIxG,uLAA0D,KAExD,sKAAyC,KACvC,+OAAkH,iFAAuB,MAE3I,sKAAyC,KACvC,qXAAqQ,YAAjP;;wBAAoD;MAAxE,wBAAqQ,kDA3BrQ,qCAA0B,GAA9B,YAAsK,EAAlK,SAA0B,GAG1B,qCAA0B,GAA9B,YAA0J,EAAtJ,SAA0B,GAK1B,qCAA0B,GAA9B,YAA0J,EAAtJ,SAA0B,GASf,mBAAkD,mCAAC,mBAAqC,8BAAtG,aAAuG,EAAzF,SAAkD,EAAC,SAAqC,mDAOe,iEAAuB,GAGkG,2GAAuB,GAAlQ,aAAqQ,EAA1B,SAAuB;yGAczQ,ukBAA6H,iDAAvF,mBAAiD,kCAAC,mBAAoC,6BAA5H,YAA6H,EAAvF,SAAiD,EAAC,SAAoC;yGAH/H,8KAA6E,KAE3E,qKAAyC,KACxC,4YAA6H,IAG9H,sLAA0D,KAGxD,qKAAyC,KACvC,8OAAkH,gFAAoB,MAExI,qKAAyC,KACvC,oXAA4Q,YAAxP;;wBAA2D;MAA/E,wBAA4Q,kDAVjQ,sCAAuB,GAArC,YAA6H,EAA/G,SAAuB,mDAOgF,6DAAoB,GAG4G,2GAAuB,GAAzQ,YAA4Q,EAA1B,SAAuB;yGAS/Q,8KAA6E,KAE3E,qKAAyC,KACvC,ukBAA2G,IAG7G,sLAA0D,KAExD,qKAAyC,KACvC,8OAAkH,gFAAuB,MAE3I,qKAAyC,KACvC,oXAA+P,YAA3O;;wBAA8C;MAAlE,wBAA+P,kDATnP,mBAAoD,qCAAC,mBAAuC,gCAA1G,YAA2G,EAA7F,SAAoD,EAAC,SAAuC,mDAMU,gEAAuB,GAG4F,2GAAuB,GAA5P,YAA+P,EAA1B,SAAuB;yGASlQ,8KAA6E,KAE3E,qKAAyC,KACxC,ukBAAuH,IAGxH,sLAA0D,KAExD,qKAAyC,KACvC,8OAAkH,gFAAwB,MAE5I,qKAAyC,KACvC,oXAA2Q,YAAvP;;wBAA0D;MAA9E,wBAA2Q,kDAThQ,mBAA0D,2CAAC,mBAA6C,sCAAtH,YAAuH,EAAzG,SAA0D,EAAC,SAA6C,mDAMD,iEAAwB,GAGuG,2GAAuB,GAAxQ,YAA2Q,EAA1B,SAAuB;yGAtIhR,wNAAqH,KAGnH,8KAAiD,KAC/C,4YAA0F,IAI1F,4YAAoE,IAGpE,4YAAuF,IAUvF,4YAAsF,IAStF,6YAAsE,IAStE,6YAAiH,IAwCnH,6YAA6E,IAsB7E,6YAA6E,IAqB7E,6YAA6E,iDAtHlC,gEAAgD,IAAzF,YAA0F,EAAjD,SAAgD,GAIhD,qCAA0B,GAAnE,YAAoE,EAA3B,SAA0B,GAG9D,qCAA0B,GAA/B,YAAuF,EAAlF,SAA0B,GAU1B,qCAA0B,GAA/B,YAAsF,EAAjF,SAA0B,GAS1B,qCAA0B,GAA/B,aAAsE,EAAjE,SAA0B,GAS1B,gEAAgD,IAArD,aAAiH,EAA5G,SAAgD,GAwClD,qCAA0B,GAA/B,aAA6E,EAAxE,SAA0B,GAsB1B,qCAA0B,GAA/B,aAA6E,EAAxE,SAA0B,GAqB1B,qCAA0B,GAA/B,aAA6E,EAAxE,SAA0B;yGA0BjC,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;yGAMN,4MAA2G,4FAAe;yGAC1H,4NAA2H,oGAAuB;yGAFpJ,qKAA0F,KACxF,4YAA2G,IAC3G,4YAA2H,iDADvH,qCAA0B,GAA9B,YAA2G,EAAvG,SAA0B,GAC1B,qCAA0B,GAA9B,YAA2H,EAAvH,SAA0B;yGAMgD,qJAAuD,0NAAwC;yGAH/K,qKAA0F,KACxF,gOAAoG,KAElG,wKAA4C,gFAAgC,kZAAuD,iDAAjD,sCAAuB,GAA7B,YAAuD,EAAjD,SAAuB,mDAA7D,yEAAgC;yGAIhF,kMAAgG,KAC9F,8MAAkF,yGAElF,MACA,wLAA2D,KACzD,wKAA4C,4JAAiC,kFAAK,MAAO,wIAAuC,IAChI,wKAA4C,6JAAiC,iFAAI,MAAO,0IAAsC,IAC9H,yKAA4C,6JAAiC,kFAAK,MAAO,0IAAuC,IAChI,yKAA4C,6JAAiC,gFAAG,MAAO,0IAAqC,uDAHnC,wOAAuC,GACxC,2OAAsC,GACrC,2OAAuC,GACzC,0OAAqC;yGAMlI,8KAA6E,KAE3E,qKAAyC,KACxC,ukBAAkH,IAGnH,sLAA0D,KAGxD,qKAAyC,KACvC,8OAAkH,gFAAuB,MAE3I,qKAAyC,KACvC,oXAAsQ,YAAlP;;wBAAqD;MAAzE,wBAAsQ,kDAV3P,mBAAmD,oCAAC,mBAA+C,wCAAjH,YAAkH,EAApG,SAAmD,EAAC,SAA+C,mDAOI,gEAAuB,GAGmG,2GAAuB,GAAnQ,YAAsQ,EAA1B,SAAuB;yGASzQ,8KAA6E,KAE3E,qKAAyC,KACvC,ukBAAyG,IAG3G,sLAA0D,KAExD,qKAAyC,KACvC,8OAAkH,gFAAuB,MAE3I,qKAAyC,KACvC,oXAAsQ,YAAlP;;wBAAqD;MAAzE,wBAAsQ,kDAT1P,mBAAmD,oCAAC,mBAAsC,+BAAxG,YAAyG,EAA3F,SAAmD,EAAC,SAAsC,mDAMY,gEAAuB,GAGmG,2GAAuB,GAAnQ,YAAsQ,EAA1B,SAAuB;yGA/D3Q,wNAAqH,KAEnH,4KAAgD,KAC9C,4YAA0F,IAK1F,4YAA0F,IAO1F,4YAAgG,IAclG,4YAA6E,IAsB7E,6YAA6E,iDAhDlC,gEAAgD,IAAzF,YAA0F,EAAjD,SAAgD,GAKpF,gEAAgD,IAArD,YAA0F,EAArF,SAAgD,GAO9B,qCAA0B,GAAjD,YAAgG,EAAzE,SAA0B,GAc9C,qCAA0B,GAA/B,YAA6E,EAAxE,SAA0B,GAsB1B,qCAA0B,GAA/B,aAA6E,EAAxE,SAA0B;wGAxbvC,mLAAgN,KAC9M,6LAAiE,KAC/D,iLAAqD,KACnD,2YAA2I,IAI3I,2YAAqH,IA4EzH,6LAAiE,KAC/D,iLAAqD,KACnD,6YAA2I,IAI3I,6YAAqH,IA8IzH,8LAAiE,KAC/D,kLAAqD,KACnD,6YAA2I,IAI3I,6YAAqH,IAkJzH,yLAA4D,KAC1D,kLAAqD,KACnD,6YAA2I,IAI3I,6YAAqH,iDAlYhH,oCAAyB,GAA9B,YAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,YAAqH,EAAhH,SAAyB,GA8EzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GAgJzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GAoJzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB;yGA0EhC,mgBAAqI,GAAzF,oFAA4D,MACtG,wRAA4J,KAC1J,uKAA2C,KACzC,mOAAuG,KACrG,uJAAiC,wFAAW,MAC5C,uNAAwF,YAA3C;;wBAA0C;MAAvF,wBAAwF,gFAAyD,MAOvJ,6MAAgF,KAC9E,spBAA0E,iDAblC,sDAA4D,GAAxG,YAAqI,EAAzF,SAA4D,GAaxE,mBAA4B,mBAAxD,aAA0E,EAA9C,SAA4B,mDARoC,sGAAyD;yGAkBjJ,uJAA4D,4HAG5D;yGACA,uJAA4D,4FAAe;yGAI3E,yHAAuD,kMAAgB;yGAGnE,wtBAA+D,iFAE/D,2BAF8C,mHAAgB,GAA9D,YAA+D,EAAjB,+HAAgB,GAA9D,YAA+D,EAAjB,SAAgB,2BAAC,sEAE/D;yGAJJ,gMAAsG,KACpG,mSAAwK,YAA1I;;wBAAqD;MAAnF,wBAAwK,KACtK,qdAA+D,iDAAvD,mBAAqC,oBAA7C,YAA+D,EAAvD,SAAqC;yGAoBnD,uHAAmC,KACjC,gdAA4E,GAAvE,oGAAsE,MAAO,sHAAM,0BAAnF,kEAAsE,GAA3E,YAA4E,EAAvE,SAAsE;yGAF/E,8MAA4G,KAC1G,qdAAmC,iDAA9B,mBAA6B,YAAlC,YAAmC,EAA9B,SAA6B;yGAKlC,sKAAsF,KACpF,qKAAyC,KACvC,+JAAyC,gFAAY,MAEvD,qKAAyC,KACvC,8KAAwD,gFAAkB,iCAHjC,kEAAY,GAGG,wEAAkB;yGArBlF,0NAAmG,YAA9B;;wBAA6B;MAAlG,wBAAmG,KACjG,wMAA4E,KAC1E,oMAM4C,YAApC;;wBAAmC;MAN3C,0aAM4C,MAE9C,4YAA4G,IAK5G,uKAA2C,KACzC,qdAAsF,iDAb9E,mBAA6B,uBAG7B,mBAAiC,yBAFjC,mBAAkC,uBAClC,mBAAiC,yBAEjC,qBAAgB,EALxB,YAM4C,EALpC,SAA6B,EAG7B,SAAiC,EAFjC,SAAkC,EAClC,SAAiC,EAEjC,SAAgB,GAGrB,oCAAyB,GAA9B,YAA4G,EAAvG,SAAyB,GAMvB,mBAA2C,0BAAhD,YAAsF,EAAjF,SAA2C;yGAUpD,gMAA+F,KAE7F,uWAW4D,YAL3C;;wBAAwD;MACxD;;wBAAuC;MACvC;;wBAAmC;MAEnC;;wBAAuC;MACvC;;wBAA0C;MAX3D,wpDAW4D,mDAV3C,mBAAkC,qBAGlC,mBAA0B,iBAF1B,mBAA+B,mBAC/B,mBAAwD,yCAExD,qBAAiB,EAIjB,oBAAkC,EATnD,YAW4D,EAV3C,SAAkC,EAGlC,SAA0B,EAF1B,SAA+B,EAC/B,SAAwD,EAExD,SAAiB,EAIjB,SAAkC;yGA9DvD,ieAAkH,GAAhD,oFAA+C,MAC/G,uRAA0J,KAExJ,2KAA8C,KAC5C,kLAAsD,KACpD,4YAA4D,IAI5D,4YAA4D,IAG9D,+LAAkE,KAChE,6YAAuD,IACvD,6YAAsG,IAW5G,6YAAmG,IA0BnG,6YAA+F,iDAnD/B,yCAA+C,GAAjH,YAAkH,EAAhD,SAA+C,GAKxE,qCAA0B,GAA3D,YAA4D,EAA3B,SAA0B,GAI1B,qCAA0B,GAA3D,YAA4D,EAA3B,SAA0B,GAIpD,+DAA+C,IAAtD,aAAuD,EAAhD,SAA+C,GACoB,qCAA2B,GAArG,aAAsG,EAA5B,SAA2B,GAWtG,qCAA0B,GAA/B,aAAmG,EAA9F,SAA0B,GA0B1B,qCAA0B,GAA/B,aAA+F,EAA1F,SAA0B;yGAqB7B,2NAC+F,6FAAgB;yGAC/G,2QAC4D;yGAE9D,iLAAsG,KACpG,k9BAAmI,yBAA9B,oCAA6B,EAA1G,2BAAwB,EAAC,8BAA6B,EAAC,sBAAqB,EAApG,YAAmI,EAA9B,SAA6B,EAA1G,SAAwB,EAAC,SAA6B,EAAC,SAAqB;yGAEtG,iLAAgF;yGAXlF,ueAAqL,GAAxF,mHAAuF,MAElL,sNAA0F,KACxF,4YAC+F,IAC/F,4YAC4D,IAE9D,4YAAsG,IAGtG,6YAAgF,iDAXW,wDAAuF,GAApL,YAAqL,EAAxF,SAAuF,GAG1K,gEAAgD,IAAtD,YAC+F,EADzF,SAAgD,GAEhD,qCAA0B,GAAhC,YAC4D,EADtD,SAA0B,GAG7B,gEAAgD,IAArD,YAAsG,EAAjG,SAAgD,GAGhD,qCAA0B,GAA/B,aAAgF,EAA3E,SAA0B;yGAMjC,2NAAyH,KACvH,4eAA8E,GAAjD,oFAAgD,MAC3E,wNAA4F,KAC1F,yQAA6I,wGAE3I,iaAAwT,YAAzH;;wBAAsE;MAArQ,wBAAwT,KAG5T,iLAAqD,KAEnD,qMAAoL,YAAtC;;wBAAqC;MAAnL,m0BAAoL,mDAT3J,2CAAgD,GAA7E,YAA8E,EAAjD,SAAgD,GASlD,mCAAuC,EAAgB,mBAAiC,mBAAC,mBAA6B,iBAA9E,qBAAc,EAA7E,aAAoL,EAA7J,SAAuC,EAAgB,SAAiC,EAAC,SAA6B,EAA9E,SAAc,mDAL2L,2GAAuB,GAA7R,YAAwT,EAAlD,SAAuB;yGAoBzR,ksBAAuD,+EAAK,yDAA5B,8BAAsB,qBAAtD,YAAuD,EAAvB,SAAsB,GAAC,6DAAK;yGAmBhE,uHAA+C,KAC7C,4JAAsC,gFAAqB,MAC3D,2IAAqB,gFAAsB,MAC3C,2IAAqB,gFAAsB,MAC3C,2IAAqB,gFAAsB,MAC3C,2IAAqB,iFAAwB,MAC7C,4IAAqB,iFAAsB,MAC3C,4IAAqB,iFAAsB,MAC3C,4IAAqB,iFAAsB,MAC3C,4IAAqB,iFAAsB,MAC3C,4IAAqB,iFAAsB,MAC3C,4IAAqB,iFAAsB,MAC3C,4IAAqB,iFAAsB,MAC3C,uHAAI,iFAAsB,iCAZY,0EAAqB,GACtC,2EAAsB,GACtB,2EAAsB,GACtB,2EAAsB,GACtB,8EAAwB,GACxB,4EAAsB,GACtB,4EAAsB,GACtB,4EAAsB,GACtB,4EAAsB,GACtB,4EAAsB,GACtB,8EAAsB,GACtB,8EAAsB,GACvC,8EAAsB;yGA1CpC,0NAAwH,KACtH,ieAAqF,GAApE,mGAAmE,MAClF,8RAAkK,KAEhK,kLAAsD,KACpD,8OAAkH,KAChH,uJAAiC,kGAAqB,MAExD,mPAAuH,KACrH,+VAAiN,YAAlK;;wBAAkD;MAAjG,wBAAiN,KAC/M,sdAAuD,IAK/D,4MAA6F,KAC3F,8LAAiE,KAC/D,iiBAMmC,IAIvC,4MAAyE,KACvE,0HAAO,KACL,sdAA+C,iDA5BpC,mDAAmE,GAApF,YAAqF,EAApE,SAAmE,GASlE,mBAAuB,QAA/B,aAAuD,EAA/C,SAAuB,GAU3B,mBAAsC,4BACtC,mBAA2C,mCAC3C,mBAAwC,+BACxC,mBAA0B,eANlC,aAMmC,EAH3B,SAAsC,EACtC,SAA2C,EAC3C,SAAwC,EACxC,SAA0B,GAM9B,mBAA0C,wBAA9C,aAA+C,EAA3C,SAA0C,mDAdY,mBAA8B,aAA5F,aAA6F,EAA/B,SAA8B;yGAvIlG,gmBAA0J,IACxJ,4YAAqI,IAkBrI,4YAAkH,IAqElH,4YAAqL,IAiBrL,4YAAyH,IAezH,6YAAwH,iDAxHZ,8CAA2C,EAAzJ,YAA0J,EAA5C,SAA2C,GACtI,qCAA0B,GAA3C,YAAqI,EAApH,SAA0B,GAkBtC,gEAAgD,IAArD,YAAkH,EAA7G,SAAgD,GAqEhD,4FAAqE,IAA1E,YAAqL,EAAhL,SAAqE,GAiBrE,qCAA0B,GAA/B,YAAyH,EAApH,SAA0B,GAe1B,qCAA0B,GAA/B,aAAwH,EAAnH,SAA0B,2BAxHe,0BAA4B,EAA5E,YAA0J,EAA1G,SAA4B;yGAkLlE,qLAAwE,oPAAgH,YAAjD;;wBAAgD;MAA/G,wBAAgH;yGALhM,w4BAA0P,GAA5H,oFAA+F,MAC3N,ghCAAwO,GAAvK,qEAA+C,MAC9G,uKAA2C,KACzC,mOAAuG,KACrG,6OAAoH,YAAxD;;wBAAuD;MAAnH,wBAAoH,iGAAoB,MACxI,6YAAwE,IAM9E,6MAAgF,KAC9E,y5BAAoJ,iDAZnJ,iDAAwC,GAA7C,YAA0P,EAArP,SAAwC,GAAiF,gGAA+F,IAA7N,YAA0P,EAA5H,SAA+F,GAC7K,4BAAkB,EAA3D,iDAAwC,GAA7C,YAAwO,EAA1L,SAAkB,EAA3D,SAAwC,GAAoB,wDAA+C,IAAhH,YAAwO,EAAvK,SAA+C,GAIpG,mBAAc,SAApB,aAAwE,EAAlE,SAAc,GAOD,oCAAwC,EAAqB,mBAAiC,mBAAC,mBAA6B,iBAAnF,0BAAmB,EAAnF,aAAoJ,EAA7H,SAAwC,EAAqB,SAAiC,EAAC,SAA6B,EAAnF,SAAmB;0GAYzE,qQAA6I,YAAhC;;wBAA+B;MAA5I,wBAA6I;0GAC7I,uQAA+I,YAAjC;;wBAAgC;MAA9I,wBAA+I;yGAR7J,ueAAkL,GAA7G,qHAA4G,MAE/K,yQAA4I,KAC1I,wKAA2C,KACzC,gQAAoI,KAElI,uJAAiC,qFAAQ,MACzC,wHAAM,mZAA6I,IACnJ,yHAAM,mZAA+I,IAIvJ,6IAAsB,KAK1B,6LAAgE,KAC9D,spBAA0E,iDAlBT,gFAA4G,GAAjL,YAAkL,EAA7G,SAA4G,GAO9G,oBAAuB,iBAA5E,aAA6I,EAAxF,SAAuB,GACrB,mBAAsB,iBAA7E,aAA+I,EAAxF,SAAsB,GAU3D,mBAA4B,mBAAxD,aAA0E,EAA9C,SAA4B;0GAYpD,qLAAwE,oPAA0G,YAA3C;;wBAA0C;MAAzG,wBAA0G;0GALtL,g4BAAgL,GAA7H,oEAAmD,MACpG,miBAA8H,GAAvG,qEAA+C,MACpE,4TAA8L,YAAlD;;wBAAiD;MAA7L,wBAA8L,2FAE9L,MACA,8YAAwE,IAE1E,kLAAqD,KACnD,iyCAAkG,iDARjG,sDAA6C,GAAlD,YAAgL,EAA3K,SAA6C,GAAC,6DAAmD,IAAtG,YAAgL,EAA7H,SAAmD,GAC7E,wDAA+C,IAAtE,YAA8H,EAAvG,SAA+C,GAI9D,mBAAc,SAApB,aAAwE,EAAlE,SAAc,GAGH,2BAAwB,EAAC,8BAAiC,EAAC,sBAAqB,EAAjG,aAAkG,EAAjF,SAAwB,EAAC,SAAiC,EAAC,SAAqB;0GASjG,qLAAwE,oPAA6G,YAA9C;;wBAA6C;MAA5G,wBAA6G;0GANzL,i4BAAuJ,GAApG,oEAAmD,MAEpG,qiBAAgI,GAAzG,qEAA+C,MACpE,4TAAiM,YAArD;;wBAAoD;MAAhM,wBAAiM,+FAEjM,MACA,8YAAwE,IAE1E,kLAAqD,KACnD,s5BAA0E,iDATzE,sDAA6C,GAAlD,YAAuJ,EAAlJ,SAA6C,GAAC,6DAAmD,IAAtG,YAAuJ,EAApG,SAAmD,GAE7E,wDAA+C,IAAtE,YAAgI,EAAzG,SAA+C,GAI9D,mBAAc,SAApB,aAAwE,EAAlE,SAAc,GAG4B,gCAAyB,EAAlD,2BAAwB,EAA/C,aAA0E,EAA1B,SAAyB,EAAlD,SAAwB;0GAM/C,mPAA6J,yHAE7J;0GACA,mPAA6J,mHAE7J;0GACA,mPAA6J,wHAE7J;0GACA,mPAA6J,uHAE7J;0GAdJ,kLAA2L,KAEzL,0MAA8E,KAC5E,6YAA6J,IAG7J,6YAA6J,IAG7J,6YAA6J,IAG7J,6YAA6J,IAK/J,kLAAqD,KACnD,g6BAA0E,iDAfpE,oDAAqC,GAA3C,YAA6J,EAAvJ,SAAqC,GAGrC,oDAAqC,GAA3C,YAA6J,EAAvJ,SAAqC,GAGrC,oDAAqC,GAA3C,YAA6J,EAAvJ,SAAqC,GAGrC,oDAAqC,GAA3C,YAA6J,EAAvJ,SAAqC,GAMpB,mBAA+B,gBAAC,yBAAkB,EAAzE,aAA0E,EAAnD,SAA+B,EAAC,SAAkB;0GA1C/E,ggBAA4H,GAArG,qEAA+C,MACpE,6YAAgL,IAWhL,6YAAuJ,IAYvJ,6YAA2L,iDAxBtK,wDAA+C,IAAtE,YAA4H,EAArG,SAA+C,GACuD,6DAAoD,eAA/K,YAAgL,EAArD,SAAoD,GAWnD,mBAA0B,qBAAtJ,YAAuJ,EAA3B,SAA0B,GAYjG,oLAAqI,IAA1L,YAA2L,EAAtI,SAAqI;0GA0BtL,0QAAqL,+FAErL;0GACA,8TAAuO,YAAlD;;wBAAiD;MAAtO,wBAAuO,+FAEvO;0GACA,qLAAwE,oPAA0G,YAA3C;;wBAA0C;MAAzG,wBAA0G;0GAGpL,iLAA4F,KAC1F,o5BAA0E,yBAA1B,gCAAyB,EAAlD,2BAAwB,EAA/C,YAA0E,EAA1B,SAAyB,EAAlD,SAAwB;0GAEjD,iLAA4F,KAC1F,kWASkF,YAHjE;;wBAAsD;MACtD;;wBAAkD;MAClD;;wBAAsD;MACtD;;wBAAgE;MATjF,mkDASkF,mDARjE,mBAA0C,6BAG1C,mBAAsC,6BAFtC,mBAAwC,4BACxC,mBAAwD,yCAExD,qBAAiB,EALlC,YASkF,EARjE,SAA0C,EAG1C,SAAsC,EAFtC,SAAwC,EACxC,SAAwD,EAExD,SAAiB;0GArBtC,mjBAA4K,IAE1K,oiBAA+H,GAAxG,qEAA+C,MACpE,6YAAqL,IAGrL,6YAAuO,IAGvO,8YAAwE,IAG1E,8YAA4F,IAG5F,8YAA4F,iDAfzF,sDAA6C,GAAlD,YAA4K,EAAvK,SAA6C,GAEzB,wDAA+C,IAAtE,YAA+H,EAAxG,SAA+C,GAC9D,oDAAsC,GAA5C,YAAqL,EAA/K,SAAsC,GAGtC,oDAAsC,GAA5C,YAAuO,EAAjO,SAAsC,GAGtC,mBAAc,SAApB,aAAwE,EAAlE,SAAc,GAG+B,oDAAsC,GAA3F,aAA4F,EAAvC,SAAsC,GAGtC,oDAAsC,GAA3F,aAA4F,EAAvC,SAAsC;0GAe7F,wLAAoG,KAElG,0MAA8E,KAC5E,2PAA+H,wGAG/H,MAEF,iLAAqD,KACnD,0+CAA0D,yBAApB,0BAAmB,EAA5C,2BAAwB,EAArC,YAA0D,EAApB,SAAmB,EAA5C,SAAwB;0GAIzC,wLAAuI,KACrI,uNAA2F,KACzF,sPAA0H,4FAE1H,MAEF,iLAAqD,KACnD,i1BAAyE,yBAAjD,+BAAgC,EAAC,sBAAe,EAAxE,YAAyE,EAAjD,SAAgC,EAAC,SAAe;0GAYlE,6xBAAiE,iFAEjE,2BAFgD,mHAAgB,GAAhE,YAAiE,EAAjB,+HAAgB,GAAhE,YAAiE,EAAjB,SAAgB,2BAAC,sEAEjE;0GALJ,sMAAiH,KAC/G;;;;;wBAC4F;MADpF;;wBAA4B;MAAC;;wBAAoD;MAAzF,6sCAC4F,IAC1F,sdAAiE,iDAF3D,mBAA4B,iBAApC,YAC4F,EADpF,SAA4B,GAE1B,mBAAuC,sBAA/C,YAAiE,EAAzD,SAAuC,2BAFjD,8sBAC4F;0GAS1F,6xBAAmE,iFAEnE,2BAFkD,mHAAgB,GAAlE,YAAmE,EAAjB,+HAAgB,GAAlE,YAAmE,EAAjB,SAAgB,2BAAC,sEAEnE;0GALJ,uMAAkH,KAChH;;;;;wBAC6F;MADrF;;wBAAyB;MAAC;;wBAA+C;MAAjF,6sCAC6F,IAC3F,sdAAmE,iDAF7D,mBAAyB,cAAjC,YAC6F,EADrF,SAAyB,GAEvB,mBAAyC,wBAAjD,YAAmE,EAA3D,SAAyC,2BAFnD,8sBAC6F;0GAQjG,qLAAwE,oPAA2G,YAA5C;;wBAA2C;MAA1G,wBAA2G;0GAvBvL,g4BAA8J,GAA3G,oEAAyD,MAE1G,qiBAA+H,GAAxG,qEAA+C,MACpE,6TAAgM,YAAnD;;wBAAkD;MAA/L,wBAAgM,KAC9L,sKAA0C,iGAAoB,MAC9D,8YAAiH,IAQjH,8YAAkH,IAUpH,8YAAwE,IAE1E,kLAAqD,KACnD,27BAAsG,iDA1BrG,sDAA6C,GAAlD,YAA8J,EAAzJ,SAA6C,GAAC,mEAAyD,IAA5G,YAA8J,EAA3G,SAAyD,GAEnF,wDAA+C,IAAtE,YAA+H,EAAxG,SAA+C,GAGQ,oDAAsC,GAAhH,aAAiH,EAAvC,SAAsC,GAQrC,oDAAsC,GAAjH,aAAkH,EAAvC,SAAsC,GAU7G,mBAAc,SAApB,aAAwE,EAAlE,SAAc,GAG4B,mBAAiC,kBAAC,0BAAmB,EAA9E,2BAAwB,EAA/C,aAAsG,EAAtD,SAAiC,EAAC,SAAmB,EAA9E,SAAwB;0GAjFrD,kgBAA+H,GAAxG,qEAA+C,MACpE,6YAA4K,IA8B5K,6YAAoG,IAapG,6YAAuI,IAWvI,8YAA8J,iDAvDzI,wDAA+C,IAAtE,YAA+H,EAAxG,SAA+C,GACc,wGAAyF,eAA3K,YAA4K,EAA1F,SAAyF,GA8B/G,oDAAuC,GAAnG,YAAoG,EAAxC,SAAuC,GAavC,8FAA0E,IAAtI,YAAuI,EAA3E,SAA0E,GAWL,mBAA4B,uBAA7J,aAA8J,EAA7B,SAA4B;0GAvGjK,oiBACuM,GADhL,iFAC0C,MAC/D,6YAA4H,IA8C5H,6YAA+H,iDAhD1G,uIAC0C,IADjE,YACuM,EADhL,SAC0C,GAC4B,oBAAgC,0BAA3H,YAA4H,EAAjC,SAAgC,GA8C/B,oBAAkC,4BAA9H,YAA+H,EAAnC,SAAkC;0GAsFhI,ueAAgO,GAAzM,kIAAiH,MACtI,uKAA0C,KACxC,wLAA4D,KAE1D,0MAA8E,KAC5E,2PAA+H,KAKjI,iLAAqD,KAEnD,wgDAC2C,MAK/C,wLAA2D,KAEzD,2MAA8E,KAC5E,4PAA+H,KAKjI,ygDAC2C,MAI/C,sLAAwD,KACtD,yLAA4D,KAE1D,2MAA8E,KAC5E,4PAA+H,KAKjI,kLAAqD,KACnD,ygDAC2C,MAK/C,wLAA2D,KAEzD,2MAA8E,KAC5E,4PAA+H,KAKjI,kLAAqD,KACnD,ygDAC2C,mDAzD5B,uEAAiH,GAAxI,YAAgO,EAAzM,SAAiH,GAa/G,mBAAyB,gBAD1C,aAC2C,EAA1B,SAAyB,GAc3B,mBAAyB,gBAD1C,aAC2C,EAA1B,SAAyB,GAevB,mBAAyB,gBAD1C,aAC2C,EAA1B,SAAyB,GAezB,mBAAyB,gBAD1C,aAC2C,EAA1B,SAAyB;0GAU5C,4OAAoJ,YAA7D;;wBAA4D;MAAnJ,wBAAoJ,0HAEpJ;0GACA,4OAAoJ,YAA7D;;wBAA4D;MAAnJ,wBAAoJ,yHAEpJ;0GACA,qLAAwE,oPACI,YAAtD;;wBAAqD;MADH,wBACI;0GAC5E,+KAAoF,8EAAC;0GAIzF,8LAA6F,KAC3F,u7BAA4G,yBAA9B,oCAA6B,EAApF,8BAA6B,EAAC,yBAAwB,EAA7E,YAA4G,EAA9B,SAA6B,EAApF,SAA6B,EAAC,SAAwB;0GAG/E,8LAA6F,KAC3F,+xCAAqG,yBAApF,2BAAwB,EAAC,8BAAiC,EAAC,yBAAwB,EAApG,YAAqG,EAApF,SAAwB,EAAC,SAAiC,EAAC,SAAwB;0GAEtG,8LAA6F;0GAtB/F,w2BAA6N,GAAxE,mEAAuE,MAC1N,mRAAsJ,KACpJ,qiBAA+H,GAAxG,qEAA+C,MACpE,6YAAoJ,IAGpJ,8YAAoJ,IAGpJ,8YAAwE,IAExE,8YAAoF,IAIxF,8YAA6F,IAI7F,8YAA6F,IAG7F,8YAA6F,iDAtB1F,iDAAwC,GAA7C,YAA6N,EAAxN,SAAwC,GAAwG,mFAAuE,IAA5N,YAA6N,EAAxE,SAAuE,GAEjM,wDAA+C,IAAtE,YAA+H,EAAxG,SAA+C,GAC5C,qCAA0B,GAAlD,YAAoJ,EAA5H,SAA0B,GAG1B,qCAA0B,GAAlD,aAAoJ,EAA5H,SAA0B,GAG5C,mBAAc,SAApB,aAAwE,EAAlE,SAAc,GAEd,qCAA0B,GAAhC,aAAoF,EAA9E,SAA0B,GAI/B,qCAA0B,GAA/B,aAA6F,EAAxF,SAA0B,GAI1B,qCAA0B,GAA/B,aAA6F,EAAxF,SAA0B,GAG1B,qCAA0B,GAA/B,aAA6F,EAAxF,SAA0B;0GAWvB,qLAAwE,oPAAwG,YAAzC;;wBAAwC;MAAvG,wBAAwG;0GALxL,6jBAAuM,IACrM,6eAA8F,GAAjE,mEAAgE,MAC3F,0mBAAmM,GAA3K,qEAA6C,MACnE,2KAA+C,KAC7C,8OAA8G,YAAhD;;wBAA+C;MAA7G,wBAA8G,wFAAW,MACzH,8YAAwE,IAG5E,kMAAqE,KACnE,u+CAAuE,iDATL,8FAAqF,GAA7J,YAAuM,EAA/H,SAAqF,GAC9H,6EAAgE,IAA7F,YAA8F,EAAjE,SAAgE,GACnE,sDAA6C,IAArE,YAAmM,EAA3K,SAA6C,GAG3D,mBAAc,SAApB,aAAwE,EAAlE,SAAc,GAIuB,4BAAyB,EAAlD,2BAAwB,EAA5C,aAAuE,EAA1B,SAAyB,EAAlD,SAAwB;0GAkB1C,oLAAuE,iQAAyH,YAA7C;;wBAA4C;MAAxH,wBAAyH;0GARlM,uKAA2F,KACzF,gRACuD,YAApD;;wBAAmD;MADtD,wBACuD,gGAEvD,MACA,wPAA4H,KAC1H,waAAqT,YAAzG;;wBAAsD;MAAlQ,wBAAqT,KAEvT,6YAAuE,iDAAjE,mBAAc,SAApB,YAAuE,EAAjE,SAAc,mDAFiP,2GAAuB,GAA1R,YAAqT,EAAlD,SAAuB;0GAI9R,uKAAsE,KACpE,yKAAmD;0GAMrD,y/BAA2N,iDAAhC,sCAA+B,EAAnJ,gCAA+B,EAAC,sBAAqB,EAAC,mBAAgC,kBAAC,mBAA4B,gBAA1L,YAA2N,EAAhC,SAA+B,EAAnJ,SAA+B,EAAC,SAAqB,EAAC,SAAgC,EAAC,SAA4B;0GAvBhM,ylBAEoE,IAClE,0gBAAqH,GAAjE,mEAAgE,MAClH,wnBACgJ,GADxH,qEAA+C,MAErE,6YAA2F,IAU3F,8YAAsE,IAKxE,oLAAuD,KAErD,8YAA2N,iDAtB5N,8FAAqF,GAD1F,YAEoE,EAD/D,SAAqF,GAEpC,6EAAgE,IAApH,YAAqH,EAAjE,SAAgE,GAC1F,wDAA+C,IAAvE,YACgJ,EADxH,SAA+C,GAE1B,gEAA+C,IAA1F,YAA2F,EAAhD,SAA+C,GAU/C,qCAA0B,GAArE,aAAsE,EAA3B,SAA0B,GAO9C,gEAA+C,IAAtE,aAA2N,EAApM,SAA+C;0GAoBhE,qLAAwE,oPAA2G,YAA5C;;wBAA2C;MAA1G,wBAA2G;0GAX7L,qMAAuH,KACrH,ieAAmH,GAAlG,iGAAiG,MAChH,4mBAAoM,GAA5K,qEAA6C,MACnE,wKAA2C,KACzC,mPAAuH,KACrH,oNAA2I,YAAnD;;wBAAkD;MAA1I,ibAA2I,2FAEzI,+HAAM,KACJ,yZAA4R,YAAhG;;wBAA6C;MAAzO,wBAA4R,KAGhS,8YAAwE,IAExE,iPAAoH,mMAA0D,YAAvC;;wBAAsC;MAAzD,wBAA0D,KAEhL,6IAAsB,KAK1B,gLAAmD,KACjD,oWAUiE,YAJhD;;wBAAmD;MACnD;;wBAA+C;MAE/C;;wBAAmD;MACnD;;wBAA+C;MAVhE,mnDAUiE,mDA9BpD,0FAAiG,IAAlH,YAAmH,EAAlG,SAAiG,GACxF,sDAA6C,IAArE,YAAoM,EAA5K,SAA6C,GAGzD,uDAA6C,GAAnD,aAA2I,EAArI,SAA6C,GAM7C,mBAAc,SAApB,aAAwE,EAAlE,SAAc,GAWP,mBAAuC,0BAGvC,mBAA2B,kBAF3B,mBAAyB,aACzB,mBAAwD,yCAExD,qBAAiB,EAGjB,qBAAkC,EARnD,aAUiE,EAThD,SAAuC,EAGvC,SAA2B,EAF3B,SAAyB,EACzB,SAAwD,EAExD,SAAiB,EAGjB,UAAkC,mDArB+L,2GAAuB,GAAjQ,aAA4R,EAAlD,SAAuB;0GA0CrQ,qLAAwE,oPAAkH,YAAnD;;wBAAkD;MAAjH,wBAAkH;0GAXpM,qMAA2H,KACzH,ieAAoH,GAAnG,iGAAkG,MACjH,+RAAmK,KACjK,sKAA0C,KACxC,sKAA0C,KACxC,oNAAmJ,YAA1D;;wBAAyD;MAAlJ,gbAAmJ,uGAEjJ,wPAAqH,KACnH,0aAAkT,YAArG;;wBAAkD;MAA/P,wBAAkT,KAGtT,8YAAwE,IAI9E,iLAAoD,KAClD,yVAUiE,YAJhD;;wBAAkD;MAClD;;wBAA8C;MAE9C;;wBAAkD;MAClD;;wBAA+C;MAVhE,mnDAUiE,mDAzBpD,0FAAkG,IAAnH,YAAoH,EAAnG,SAAkG,GAIrG,uDAA8C,GAApD,YAAmJ,EAA7I,SAA8C,GAM9C,mBAAc,SAApB,aAAwE,EAAlE,SAAc,GAMP,mBAAuC,0BAGvC,mBAA2B,kBAF3B,mBAAqC,yBACrC,mBAAwD,yCAExD,qBAAiB,EAGjB,oBAAkC,EARnD,aAUiE,EAThD,SAAuC,EAGvC,SAA2B,EAF3B,SAAqC,EACrC,SAAwD,EAExD,SAAiB,EAGjB,SAAkC,mDAhBqN,2GAAuB,GAAvR,aAAkT,EAAlD,SAAuB;0GA+B7R,gOAA6M,YAA1D;;wBAAyD;MAA5M,gbAA6M,oGAE7M,mDAFO,qDAA2C,GAAlD,YAA6M,EAAtM,SAA2C;0GAMlD,oLAAuE,iQAA+H,YAAnD;;wBAAkD;MAA9H,wBAA+H;0GAPxM,uKAA2F,KACzF,6YAA6M,IAG7M,+PAAmI,KACjI,uZAA0R,YAA/F;;wBAA4C;MAAvO,wBAA0R,KAE5R,6YAAuE,iDANpB,gEAA+C,IAAlG,YAA6M,EAA1J,SAA+C,GAM5F,mBAAc,SAApB,YAAuE,EAAjE,SAAc,mDAFsN,2GAAuB,GAA/P,YAA0R,EAAlD,SAAuB;0GAInQ,uKAAsE,KACpE,0KAAoD;0GAGxD,gLAAoG,KAClG,wVAUiE,YAJhD;;wBAAkD;MAClD;;wBAA8C;MAE9C;;wBAAkD;MAClD;;wBAA+C;MAVhE,knDAUiE,mDAThD,mBAAuC,0BAGvC,mBAA6B,oBAF7B,mBAAsC,0BACtC,mBAAwD,yCAExD,qBAAiB,EAGjB,oBAAkC,EARnD,YAUiE,EAThD,SAAuC,EAGvC,SAA6B,EAF7B,SAAsC,EACtC,SAAwD,EAExD,SAAiB,EAGjB,SAAkC;0GAKrD,iLAAgF;0GA9BpF,mNAAwL,KACtL,0gBAAqH,GAAjE,mEAAgE,MAClH,wnBAAmN,GAA3L,qEAA+C,MACrE,6YAA2F,IAS3F,8YAAsE,IAIxE,8YAAoG,IAcpG,8YAAgF,iDA7B9B,6EAAgE,IAApH,YAAqH,EAAjE,SAAgE,GAC1F,wDAA+C,IAAvE,YAAmN,EAA3L,SAA+C,GAC1B,gEAA+C,IAA1F,YAA2F,EAAhD,SAA+C,GAS/C,qCAA0B,GAArE,aAAsE,EAA3B,SAA0B,GAIlE,gEAA+C,IAApD,aAAoG,EAA/F,SAA+C,GAc/C,qCAA0B,GAA/B,aAAgF,EAA3E,SAA0B;0GA5GrC,glBAC4D,IAG1D,6YAAuH,IAuCvH,6YAA2H,IAmC3H,6YAAwL,iDA9ErD,4FAAmF,GAAxN,YAC4D,EADyE,SAAmF,GAIjN,8CAA8C,oBAAnD,YAAuH,EAAlH,SAA8C,GAuC9C,8CAAkD,wBAAvD,YAA2H,EAAtH,SAAkD,GAmClD,sGAAiG,2BAAtG,YAAwL,EAAnL,SAAiG;0GAzH1G,6iBAAwS,GAAtF,qEAA8C,MAE9P,6YAAuM,IAavM,6YAEoE,IA0BpE,6YAC4D,iDA5CoJ,wDAA8C,IAAhQ,YAAwS,EAAtF,SAA8C,GAEzP,0EAAkE,iBAAvE,YAAuM,EAAlM,SAAkE,GAalE,sGAA0F,qBAA/F,YAEoE,EAF/D,SAA0F,GA4B1F,8JAA+H,eAApI,YAC4D,EADvD,SAA+H;0GA6HpI,8MAAuG,wFAC1E,4HAAM,2HAAM,sFAChB,4HAAM,2HAAM,4FACR,4HAAM,2HAAM,4FACT,6HAAM,4HAAM,6FAG5C,yDAPuG,6DAC1E,GAAY,2DAChB,GAAY,yDACR,GAAY,6DACT,GAAY,6DAG5C;wGApjCZ,wKAAiW,KAC/V,8gBAA8J,GAAtG,mEAAqG,MAC3J,mLAAsD,KACpD,2YAAgN,IA6chN,0LAA6D,KAC3D,4YAA0J,IA4K1J,umBAAqN,IACnN,6YAA0P,IAiB1P,6YAAkL,IAsBlL,8YACuM,IAqIvM,8YAAgO,IAgEhO,8YAA6N,IA0B7N,8YAAwS,IAsK1S,+JAAkC,KAChC,0MAA6E,KAC3E,8YAAuG,iDA5iCzD,4HAAqG,IAA7J,YAA8J,EAAtG,SAAqG,GAEpJ,4MAAyJ,IAA9J,YAAgN,EAA3M,SAAyJ,GA8cvJ,oBAAuB,iBAA5B,YAA0J,EAArJ,SAAuB,GA4K4D,sGAA6F,GAArL,aAAqN,EAA7H,SAA6F,GACrI,kGAA+E,KAA7H,aAA0P,EAA5M,SAA+E,GAiBxH,8CAA6C,mBAAlD,aAAkL,EAA7K,SAA6C,GAuBwE,wEAA4E,8BADtM,aACuM,EAA7E,SAA4E,GAqI7D,0GAAsF,IAA/N,aAAgO,EAAvF,SAAsF,GAgEjL,kIAAsG,KAApJ,aAA6N,EAA/K,SAAsG,GA0B/I,yNAAsK,KAA3K,aAAwS,EAAnS,UAAsK,GAwKpK,oBAAqB,cAA1B,aAAuG,EAAlG,UAAqB,mDAhbzB,4DAAwD,GAA7D,aAAqN,EAAhN,SAAwD;0GAuc3D,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,wNAAqH,KACnH,wMAAkE,KAChE,sKAA0C,KACxC,mRAA+I,YAAvG;;wBAA2C;MAAnF,wBAA+I,4GAA+B,MAEhL,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,8IAE5C,IAGJ,kMAAqE,KACnE,uLAA0D,KACxD,+OAAkH,iFAAyB,MAE7I,sKAAyC,KACvC,oYAAmR,YAA/P;;wBAAyD;MAA7E,wBAAmR,wDAVvO,mOAE5C,GAKkH,mEAAyB,GAGqG,2GAAuB,GAAvQ,aAAmR,EAAnC,SAAuB;0GAa/Q,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,wNAAqH,KACnH,wMAAkE,KAChE,sKAA0C,KACxC,mRAA+I,YAAvG;;wBAA2C;MAAnF,wBAA+I,8GAAiC,MAElL,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,8IAE5C,IAGJ,kMAAqE,KACnE,uLAA0D,KACxD,+OAAkH,iFAAsB,MAE1I,sKAAyC,KACvC,qXAAuQ,YAAnP;;wBAAsD;MAA1E,wBAAuQ,wDAV3N,gOAE5C,GAKkH,gEAAsB,GAGqG,2GAAuB,GAApQ,aAAuQ,EAA1B,SAAuB;0GAc5Q,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,wNAAqH,KACnH,wMAAkE,KAChE,sKAA0C,KACxC,mRAA+I,YAAvG;;wBAA2C;MAAnF,wBAA+I,6GAAgC,MAEjL,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,8IAE5C,IAGJ,kMAAqE,KACnE,uLAA0D,KACxD,+OAAkH,iFAA0B,MAE9I,sKAAyC,KACvC,qXAA2Q,YAAvP;;wBAA0D;MAA9E,wBAA2Q,wDAV/N,oOAE5C,GAKkH,oEAA0B,GAGqG,2GAAuB,GAAxQ,aAA2Q,EAA1B,SAAuB;0GAWhR,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,wNAAqH,KACnH,wMAAkE,KAChE,sKAA0C,KACxC,mRAA+I,YAAvG;;wBAA2C;MAAnF,wBAA+I,6GAAgC,MAEjL,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,8IAE5C,IAGJ,kMAAqE,KACnE,uLAA0D,KACxD,+OAAkH,iFAA0B,MAE9I,sKAAyC,KACvC,qXAA2Q,YAAvP;;wBAA0D;MAA9E,wBAA2Q,wDAV/N,oOAE5C,GAKkH,oEAA0B,GAGqG,2GAAuB,GAAxQ,aAA2Q,EAA1B,SAAuB;0GAhI1R,yKAAsG,KAEpG,6gBAA6J,GAAtG,mEAAqG,MAC1J,mLAAsD,KACpD,6LAAiE,KAC/D,iLAAqD,KACnD,6YAA2I,IAI3I,8YAAqH,IA4BzH,8LAAiE,KAC/D,kLAAqD,KACnD,8YAA2I,IAI3I,8YAAqH,IA6BzH,8LAAiE,KAC/D,kLAAqD,KACnD,8YAA2I,IAI3I,8YAAqH,IA0BzH,yLAA4D,KAC1D,kLAAqD,KACnD,8YAA2I,IAI3I,8YAAqH,IA4B3H,kLAAoD,KAClD,+NAAiG,KAC/F,ueAAuI,GAAjH,kIAAgH,MAEpI,2NAA8F,KAC5F,sPAAyH,wGAEvH,kaAAwT,YAAzH;;wBAAsE;MAArQ,wBAAwT,KAG5T,kLAAqD,KAEnD,y5BAA8I,IAGlJ,ueAAuI,GAAjH,kIAAgH,MAEpI,2NAA8F,KAC5F,sPAAyH,yGAEvH,maAA0T,YAA1H;;wBAAuE;MAAvQ,wBAA0T,KAG9T,kLAAqD,KACnD,y5BAAgJ,IAItJ,qLAAwD,KACtD,weAAwI,GAAjH,mIAAgH,MAErI,6NAAgG,KAC9F,sPAAyH,yGAGzH,MAEF,kLAAqD,KACnD,y5BAA4I,iDA/K/F,4HAAqG,IAA5J,YAA6J,EAAtG,SAAqG,GAI/I,oCAAyB,GAA9B,YAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GA8BzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GA+BzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GA4BzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GA8BV,wEAAgH,GAAtI,aAAuI,EAAjH,SAAgH,GAU3G,oCAAuC,EAAgB,oBAAiC,mBAAC,oBAA6B,iBAA9E,sBAAc,EAA7E,aAA8I,EAAvH,UAAuC,EAAgB,UAAiC,EAAC,UAA6B,EAA9E,UAAc,GAG3D,yEAAgH,GAAtI,aAAuI,EAAjH,UAAgH,GAS3G,qCAAwC,EAAiB,oBAAiC,mBAAC,oBAA6B,iBAA/E,uBAAe,EAA/E,aAAgJ,EAAzH,UAAwC,EAAiB,UAAiC,EAAC,UAA6B,EAA/E,UAAe,GAK5D,wEAAgH,GAAvI,aAAwI,EAAjH,UAAgH,GAS5G,qCAAwC,EAAiB,oBAA6B,eAAC,oBAA6B,iBAA3E,uBAAe,EAA/E,aAA4I,EAArH,UAAwC,EAAiB,UAA6B,EAAC,UAA6B,EAA3E,UAAe,mDA/ByL,4GAAuB,GAA7R,aAAwT,EAAlD,UAAuB,GAarB,4GAAuB,GAA/R,aAA0T,EAAlD,UAAuB;0GAiCnS,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,uNAAqH,KACnH,uMAAkE,KAChE,sKAA0C,KACxC,iRAA6I,YAArG;;wBAA2C;MAAnF,wBAA6I,0FAAa,MAE5J,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,kNAE5C;0GAUR,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,uNAAqH,KACnH,uMAAkE,KAChE,sKAA0C,KACxC,qSAAiK,YAAhH;;wBAA2C;MAA5F,wBAAiK,4FAAe,MAElL,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,oNAE5C;0GASR,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,wNAAqH,KACnH,wMAAkE,KAChE,sKAA0C,KACxC,mRAA+I,YAAvG;;wBAA2C;MAAnF,wBAA+I,+FAAkB,MAEnK,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,kFAE5C,MAGJ,iMAAqE,KACnE,uLAA0D,KACxD,+OAAkH,iFAA0B,MAE9I,sKAAyC,KACvC,oXAA0Q,YAAtP;;wBAA0D;MAA9E,wBAA0Q,wDAV9N,4EAE5C,GAKkH,oEAA0B,GAGoG,2GAAuB,GAAvQ,aAA0Q,EAA1B,SAAuB;0GAS/Q,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,wNAAqH,KACnH,wMAAkE,KAChE,sKAA0C,KACxC,mRAA+I,YAAvG;;wBAA2C;MAAnF,wBAA+I,+FAAkB,MAEnK,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,kFAE5C,MAGJ,iMAAqE,KACnE,uLAA0D,KACxD,+OAAkH,iFAA0B,MAE9I,sKAAyC,KACvC,qXAA2Q,YAAvP;;wBAA0D;MAA9E,wBAA2Q,wDAV/N,4EAE5C,GAKkH,oEAA0B,GAGqG,2GAAuB,GAAxQ,aAA2Q,EAA1B,SAAuB;0GAmC9Q,qLAAwE,oPAA6G,YAA9C;;wBAA6C;MAA5G,wBAA6G;0GANzL,+gBAAgM,GAAnI,kFAAgG,MAE3J,siBAA8H,GAAzH,qEAA4C,MAC/C,gSAAqK,YAArD;;wBAAoD;MAApK,wBAAqK,8FAErK,MACA,6YAAwE,IAE1E,kLAAqD,KACnD,m1BAA6E,iDATpB,0GAAgG,IAA7J,YAAgM,EAAnI,SAAgG,GAEtJ,sDAA4C,IAAjD,YAA8H,EAAzH,SAA4C,GAIzC,mBAAc,SAApB,YAAwE,EAAlE,SAAc,GAGI,iCAAkC,EAAC,wBAAiB,EAA5E,aAA6E,EAArD,SAAkC,EAAC,SAAiB;0GAY1E,qLAAwE,oPAAgH,YAAjD;;wBAAgD;MAA/G,wBAAgH;0GAP5L,0jBAAuH,IAErH,siBAA8H,GAAvG,qEAA4C,MACjE,gSAAwK,YAAxD;;wBAAuD;MAAvK,wBAAwK,iGAEtK,iaAAwT,YAAzH;;wBAAsE;MAArQ,wBAAwT,KAE1T,6YAAwE,IAE1E,kLAAqD,KACnD,m1BAAmF,iDAVlF,sDAA6C,GAAlD,YAAuH,EAAlH,SAA6C,GAEzB,sDAA4C,IAAnE,YAA8H,EAAvG,SAA4C,GAK3D,mBAAc,SAApB,YAAwE,EAAlE,SAAc,GAGI,oCAAqC,EAAC,2BAAoB,EAAlF,aAAmF,EAA3D,SAAqC,EAAC,SAAoB,mDALsL,2GAAuB,GAA7R,YAAwT,EAAlD,SAAuB;0GAgB/R,qLAAwE,KACtE,+OAAgH,YAAjD;;wBAAgD;MAA/G,wBAAgH;0GARtH,yjBAAsH,IAEpH,siBAA8H,GAAvG,qEAA4C,MACjE,gSAAwK,YAAxD;;wBAAuD;MAAvK,wBAAwK,iGAEtK,iaAAwT,YAAzH;;wBAAsE;MAArQ,wBAAwT,KAE1T,6YAAwE,IAI1E,kLAAqD,KACnD,m1BAAmF,iDAZlF,sDAA6C,GAAlD,YAAsH,EAAjH,SAA6C,GAEzB,sDAA4C,IAAnE,YAA8H,EAAvG,SAA4C,GAK3D,mBAAc,SAApB,YAAwE,EAAlE,SAAc,GAKI,oCAAqC,EAAC,2BAAoB,EAAlF,aAAmF,EAA3D,SAAqC,EAAC,SAAoB,mDAPsL,2GAAuB,GAA7R,YAAwT,EAAlD,SAAuB;0GApBrS,6gBAAkM,GAAnI,kFAAiG,MAC9J,6YAAuH,IAcvH,6YAAsH,iDAfzD,0GAAiG,IAAhK,YAAkM,EAAnI,SAAiG,GACrE,mBAA6B,wBAAtH,YAAuH,EAA9B,SAA6B,GAc9B,mBAA6B,wBAArH,YAAsH,EAA9B,SAA6B;0GA9J/H,yKAAuG,KACrG,6gBAA6J,GAAtG,mEAAqG,MAC1J,mLAAsD,KACpD,6LAAiE,KAC/D,iLAAqD,KACnD,6YAA2I,IAI3I,8YAAqH,IAiBzH,8LAAiE,KAC/D,kLAAqD,KACnD,8YAA2I,IAI3I,8YAAqH,IAgBzH,8LAAiE,KAC/D,kLAAqD,KACnD,8YAA2I,IAI3I,8YAAqH,IAwBzH,yLAA4D,KAC1D,kLAAqD,KACnD,8YAA2I,IAI3I,8YAAqH,IA4B3H,kLAAoD,KAClD,+MAAkF,KAChF,weAAwJ,GAAjI,+IAAgI,MAErJ,wNAA2F,KACzF,sPAAyH,4FAGzH,MAEF,kLAAqD,KACnD,m1BAAyE,IAM/E,qLAAwD,KACtD,8YAAgM,IAahM,8YAAkM,iDA9IjJ,4HAAqG,IAA5J,YAA6J,EAAtG,SAAqG,GAI/I,oCAAyB,GAA9B,YAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GAmBzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GAkBzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GA0BzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GA8BT,+EAAgI,GAAvJ,aAAwJ,EAAjI,SAAgI,GAS3H,gCAAgC,EAAC,uBAAe,EAAxE,aAAyE,EAAjD,UAAgC,EAAC,UAAe,GAOvE,qBAAqC,+BAA1C,aAAgM,EAA3L,UAAqC,GAarC,qBAAuC,iCAA5C,aAAkM,EAA7L,UAAuC;0GA4CxC,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,uNAAqH,KACnH,uMAAkE,KAChE,sKAA0C,KACxC,kQAA8H,YAAtF;;wBAA2C;MAAnF,wBAA8H,+GAAoC,MAEpK,uLAA2D,KACzD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,8aAE5C;0GAUR,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,uNAAqH,KACnH,uMAAkE,KAChE,sKAA0C,KACxC,kQAA8H,YAAtF;;wBAA2C;MAAnF,wBAA8H,8GAAmC,MAEnK,uLAA2D,KACzD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,2aAE5C;0GAWR,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,wNAAqH,KACnH,wMAAkE,KAChE,sKAA0C,KACxC,kQAA8H,YAAtF;;wBAA2C;MAAnF,wBAA8H,iHAAoC,MAEpK,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,8IAE5C,IAGJ,kMAAqE,KACnE,uLAA0D,KACxD,+OAAkH,iFAA0B,MAE9I,sKAAyC,KACvC,qXAA0Q,YAAtP;;wBAAyD;MAA7E,wBAA0Q,wDAV9N,2OAE5C,GAKkH,oEAA0B,GAGoG,2GAAuB,GAAvQ,aAA0Q,EAA1B,SAAuB;0GAW/Q,6OAA2I,KACzI,sHAAM,KACN,qHAAG,oFAAO;0GAEZ,wNAAqH,KACnH,wMAAkE,KAChE,sKAA0C,KACxC,kQAA8H,YAAtF;;wBAA2C;MAAnF,wBAA8H,gHAAmC,MAEnK,sLAA0D,KACxD,+PAA2H,YAAnF;;wBAA2C;MAAnF,wBAA2H,KACzH,wKAA4C,8IAE5C,IAGJ,kMAAqE,KACnE,uLAA0D,KACxD,+OAAkH,iFAA0B,MAE9I,sKAAyC,KACvC,qXAAyQ,YAArP;;wBAAwD;MAA5E,wBAAyQ,wDAV7N,wOAE5C,GAKkH,oEAA0B,GAGmG,2GAAuB,GAAtQ,aAAyQ,EAA1B,SAAuB;0GAYhR,ueAA+J,GAA7G,qHAA4G,MAE5J,wRAA4J,KAC1J,uKAA2C,KACzC,gQAAoI,KACpI,uJAAiC,2FAAc,MAE/C,4IAAsB,KAI1B,4LAAgE,KAE9D,2uCAAwC,iDAbM,gFAA4G,GAA9J,YAA+J,EAA7G,SAA4G,GAalI,sBAAe,EAAvC,aAAwC,EAAhB,SAAe;0GAO3C,ueAA+J,GAA7G,qHAA4G,MAE5J,uRAA2J,KACzJ,uKAA2C,KACzC,gQAAoI,KAClI,uJAAiC,6FAAgB,MAEnD,4IAAsB,KAK1B,4LAAgE,KAE9D,2uCAA0C,iDAdI,gFAA4G,GAA9J,YAA+J,EAA7G,SAA4G,GAclI,wBAAiB,EAAzC,aAA0C,EAAlB,SAAiB;0GAxJvD,yKAAkF,KAChF,8gBAA8J,GAAtG,mEAAqG,MAC3J,mLAAsD,KACpD,mLAAsD,KACpD,6LAAiE,KAC/D,iLAAqD,KACnD,6YAA2I,IAI3I,8YAAqH,IAiBzH,8LAAiE,KAC/D,kLAAqD,KACnD,8YAA2I,IAI3I,8YAAqH,IAkBzH,8LAAiE,KAC/D,kLAAqD,KACnD,8YAA2I,IAI3I,8YAAqH,IA0BzH,yLAA4D,KAC1D,kLAAqD,KACnD,8YAA2I,IAI3I,8YAAqH,IA2B3H,0LAA6D,KAC3D,6lBAAsK,IACpK,8YAA+J,IAmBjK,4OAAyG,KACvG,8YAA+J,iDAzI/G,4HAAqG,IAA7J,YAA8J,EAAtG,SAAqG,GAK9I,oCAAyB,GAA9B,YAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GAmBzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GAoBzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GA4BzB,oCAAyB,GAA9B,aAA2I,EAAtI,SAAyB,GAIzB,oCAAyB,GAA9B,aAAqH,EAAhH,SAAyB,GA4BqC,sGAA8F,GAArK,aAAsK,EAA/F,SAA8F,GAC9J,sCAA0B,GAA/B,aAA+J,EAA1J,UAA0B,GAoB1B,sCAA0B,GAA/B,aAA+J,EAA1J,UAA0B;0GA2BvC,iOAA4I,KAC1I,kLAAqD,KACnD,mQAAuI,KACrI,kLAAsD,KAEpD,kLAAsD,KACpD,sLAAgE,0GAA6B,MAAO,kJAA4B,mFAA6E,MAE/M,iLAAqD,KACnD,iPAAoH,+LAAyD,YAA1C;;wBAAyC;MAAxD,wBAAyD,KAKnL,+LAAkE,wDARoE,qHAA6E;0GAyBvN,gOAAyJ,KACvJ,kLAAqD,KACnD,mQAAuI,KACrI,kLAAsD,KACpD,kLAAsD,KAEpD,oKAA8C,4FAAe,0XAA8P,YAAxE;;wBAA6C;MAAnO,wBAA8P,KAE7T,iLAAqD,KAEnD,gPAAoH,mMAA6D,YAA1C;;wBAAyC;MAA5D,wBAA6D,KAEnL,6IAAsB,KAK1B,iLAAoD,KAClD,oWAUiE,YAJhD;;wBAAmD;MACnD;;wBAA+C;MAE/C;;wBAAmD;MACnD;;wBAA+C;MAVhE,mnDAUiE,mDAThD,mBAAuC,0BAGvC,mBAA2B,kBAF3B,mBAAyB,aACzB,mBAAwD,yCAExD,qBAAiB,EAGjB,oBAAkC,EARnD,aAUiE,EAThD,SAAuC,EAGvC,SAA2B,EAF3B,SAAyB,EACzB,SAAwD,EAExD,SAAiB,EAGjB,SAAkC,mDApBkP,2GAAuB,GAA3P,YAA8P,EAA1B,SAAuB;0GA8BlU,qMAAkH,KAChH,kLAAqD,KACnD,mQAAuI,KACrI,iLAAqD,KACnD,kLAAsD,KACpD,oKAA8C,sGAAyB,MAEzE,iLAAqD,KAEnD,gPAAoH,KAClH,+YAA8R,YAA7E;;wBAAkD;MAAnQ,wBAA8R,KAKtS,iLAAoD,KAClD,yVAUiE,YAJhD;;wBAAkD;MAClD;;wBAA8C;MAE9C;;wBAAkD;MAClD;;wBAA+C;MAVhE,mnDAUiE,mDAThD,mBAAuC,0BAGvC,mBAA2B,kBAF3B,mBAAqC,yBACrC,mBAAwD,yCAExD,qBAAiB,EAGjB,oBAAkC,EARnD,aAUiE,EAThD,SAAuC,EAGvC,SAA2B,EAF3B,SAAqC,EACrC,SAAwD,EAExD,SAAiB,EAGjB,SAAkC,mDAduN,2GAAuB,GAA3R,YAA8R,EAA1B,SAAuB;0GA6B7R,oKAA6F,qHAAwC;0GACrI,oKAAyE,oHAAuC;0GAN1H,uMAA+I,KAC7I,kLAAqD,KACnD,mQAAuI,KACrI,iLAAqD,KACnD,kLAAsD,KACpD,6YAA6F,IAC7F,6YAAyE,IAE3E,iLAAqD,KACnD,iPAAoH,sMAAgE,YAA1C;;wBAAyC;MAA/D,wBAAgE,KAI1L,iLAAoD,KAClD,yVAUiE,YAJhD;;wBAAkD;MAClD;;wBAA8C;MAE9C;;wBAAkD;MAClD;;wBAA+C;MAVhE,mnDAUiE,mDAnBvD,gEAA8C,IAApD,YAA6F,EAAvF,SAA8C,GAC9C,qCAA0B,GAAhC,YAAyE,EAAnE,SAA0B,GASnB,mBAAuC,0BAGvC,mBAA6B,oBAF7B,mBAAsC,0BACtC,mBAAwD,yCAExD,qBAAiB,EAGjB,oBAAkC,EARnD,aAUiE,EAThD,SAAuC,EAGvC,SAA6B,EAF7B,SAAsC,EACtC,SAAwD,EAExD,SAAiB,EAGjB,SAAkC;0GAW3D,6NAAkH,YAAtG;;wBAAsC;MAAlD,+ZAAkH,MAChH,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,wFAEzF,MAAM,sHAAM,KACN,wLAA4D,uGAA0B,MAE9F,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,qKAAwC,KACtC,yRACqC,YAA7B;;wBAA4B;MADpC,wBACqC,iFAErC,MAGF,qKAAyC,KACvC,0WAEoC,YAA5B;;wBAA2B;MAFnC,wBAEoC,mFAAM,mDAxBxC,mBAAsC,2BAAlD,YAAkH,EAAtG,SAAsC;0GAgClD,kNAA0L,YAA9K;;wBAAwB;MAAmF;;wBAAqC;MAA5J,4gBAA0L,MAEtL,yNAA6P,YAAvF;;wBAAoC;MAAC;;wBAAiD;MAA5P,uxCAA6P,mDAFrL,qBAAkB,EAAlF,mBAAwB,aAA2D,oBAAuB,EAAuC,uBAA4B,EAAzL,YAA0L,EAA9G,SAAkB,EAAlF,SAAwB,EAA2D,SAAuB,EAAuC,SAA4B,GAE3K,mBAAS,KAAmB,mBAAa,OAA/B,mBAAiB,SAAe,oBAAmB,EAAqB,qBAAsB,EAA1C,mBAAmB,UAA6C,oBAA6B,eAAlD,qBAAoB,EAAvI,YAA6P,EAAnP,SAAS,EAAmB,SAAa,EAA/B,SAAiB,EAAe,SAAmB,EAAqB,SAAsB,EAA1C,SAAmB,EAA6C,UAA6B,EAAlD,UAAoB;0GAI3I,0OAA0H,YAA9G;;wBAA0B;MAAtC,scAA0H,MACxH,sLAAoD,YAAxC;;wBAAuC;MAAnD,itBAAoD,mDAD1C,mBAA0B,eAAmB,oBAAuB,EAAhF,YAA0H,EAA9G,SAA0B,EAAmB,SAAuB,GAC9E,YAAoD;g4CAlzDxD,mMAAoE,KAClE,+OAAgH,KAC9G,gNAAiF,KAC/E,wKAA0C,KACxC,oKAAuC,KACvC,okBAA6G,IAC3G,ogBAA4F,GAApE,wFAA+C,MACrE;;;;;wBAK8D;MAJxC;;wBAAgD;MAChD;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAL7D,yxEAK8D,IAKpE,6LAA8D,KAC5D;;;;;;;;;;;;;;;;;wBAAgH;MAAvD;;wBAA+B;MAAxF,4zDAAgH,IAChH,yOAAyJ,YAAnC;;wBAAkC;MAAxJ,kXAAyJ,GAAvI,iEAA6D,MAA0E,2EAAG,6HAAM,sFAAS,MAE3K;;;;;;;;;;;;;;;;;wBAAiH;MAAxD;;wBAA+B;MAAxF,4zDAAiH,IACjH,4OAAiK,YAAnC;;wBAAkC;MAAhK,kXAAiK,GAA/I,iEAAkE,MAA6E,+EAAO,6HAAM,uFAAU,MAExL;;;;;;;;;;;;;;;;;wBAAsI;MAA7E;;wBAA+B;MAAxF,4zDAAsI,IACtI,4OAAiK,YAAnC;;wBAAkC;MAAhK,kXAAiK,GAA/I,iEAAkE,MAA6E,+EAAO,6HAAM,uFAAU,MAExL;;;;;;;;;;;;;;;;;wBAAiH;MAAxD;;wBAA+B;MAAxF,4zDAAiH,IACjH,4OAAkK,YAAnC;;wBAAkC;MAAjK,kXAAkK,GAAhJ,iEAAmE,MAA6E,gFAAQ,6HAAM,uFAAU,MAG1L;;;;;;;;;;;;;;;;;wBAA4I;MAAnF;;wBAA+B;MAAxF,4zDAA4I,IAC5I,4OAA6J,YAAnC;;wBAAkC;MAA5J,kXAA6J,GAA3I,iEAA8D,MAA6E,2EAAG,6HAAM,uFAAU,MAEhL;;;;;;;;;;;;;;;;;wBAAgH;MAAvD;;wBAA+B;MAAxF,+zDAAgH,IAChH,6OAA+J,YAAnC;;wBAAkC;MAA9J,mXAA+J,GAA7I,kEAAgE,MAA6E,6EAAK,8HAAM,uFAAU,MAEpL;;;;;;;;;;;;;;;;;wBAAiH;MAAxD;;wBAA+B;MAAxF,g0DAAiH,IACjH,6OAAiK,YAAnC;;wBAAkC;MAAhK,mXAAiK,GAA/I,kEAAkE,MAA6E,+EAAO,8HAAM,uFAAU,MAExL;;;;;;;;;;;;;;;;;wBAAiH;MAAlC;;wBAA+B;MAA9G,g0DAAiH,IACjH,8OAA+F,YAAnC;;wBAAkC;MAA9F,wBAA+F,wFAAW,8HAAM,wFAAW,MAE3H;;;;;;;;;;;;;;;;;wBAAiH;MAAlC;;wBAA+B;MAA9G,g0DAAiH,IACjH,8OAA+F,YAAnC;;wBAAkC;MAA9F,wBAA+F,wFAAW,8HAAM,wFAAW,MAI/H,iMAAyG,YAAvF;;wBAAwC;MAA1D,skBAAyG,MACzG,+gBAA2H,GAAtH,uEAAqE,MAC5E,6YAAiW,IA8jCjW,+YAAsG,IA2LtG,+YAAuG,IAqLvG,+YAAkF,IAoKlF,+NAA2F,YAA/E;;wBAA4B;MAAxC,4bAA2F,MACzF,4YAA4I,IA+B5I,4YAAyJ,IAoCzJ,4YAAkH,IAkClH,4YAA+I,IAiCjJ,+YAAkH,IAgClH,+YAA0L,IAM1L,+YAA0H,IAI1H,8KAA+C,KAC7C,2JAAkC,KAChC,wHAAI,6FAAgB,MACpB,8IAAsB,uFAAU,MAChC,8IAAsB,uFAAU,MAChC,8IAAsB,uFAAU,MAChC,8IAAsB,uFAAU,MAChC,8IAAsB,uFAAU,MAElC,uHAAG,KACD,8LAA4D,KAC5D,iJAAyB,8FAAiB,mDA3zDnC,gEAAyD,GAA9D,aAA6G,EAAxG,SAAyD,GACpC,sCAA+C,GAAvE,aAA4F,EAApE,SAA+C,GAC/C,oBAA0C,oCACqB,oBAA4B,kBADjH,aAK8D,EALxC,UAA0C,EACqB,UAA4B,GAA3F,oBAAgD,qCADtE,aAK8D,EAJxC,UAAgD,GAUtD,yBAAa,EAAW,uBAAY,EAAxD,aAAgH,EAA5F,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAAxF,aAAgH,EAA5F,UAAa,EAAwB,UAA+B,GACtE,sEAA6D,IAA/E,aAAyJ,EAAvI,UAA6D,GAE3D,yBAAa,EAAW,uBAAY,EAAxD,aAAiH,EAA7F,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAAxF,aAAiH,EAA7F,UAAa,EAAwB,UAA+B,GACtE,2EAAkE,IAApF,aAAiK,EAA/I,UAAkE,GAEhE,yBAAa,EAAW,uBAAY,EAAxD,aAAsI,EAAlH,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAAxF,aAAsI,EAAlH,UAAa,EAAwB,UAA+B,GACtE,2EAAkE,IAApF,aAAiK,EAA/I,UAAkE,GAEhE,yBAAa,EAAW,uBAAY,EAAxD,aAAiH,EAA7F,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAAxF,aAAiH,EAA7F,UAAa,EAAwB,UAA+B,GACtE,4EAAmE,IAArF,aAAkK,EAAhJ,UAAmE,GAGjE,yBAAa,EAAW,uBAAY,EAAxD,aAA4I,EAAxH,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAAxF,aAA4I,EAAxH,UAAa,EAAwB,UAA+B,GACtE,uEAA8D,IAAhF,aAA6J,EAA3I,UAA8D,GAE5D,yBAAa,EAAW,uBAAY,EAAxD,cAAgH,EAA5F,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAAxF,cAAgH,EAA5F,UAAa,EAAwB,UAA+B,GACtE,0EAAgE,IAAlF,cAA+J,EAA7I,UAAgE,GAE9D,yBAAa,EAAW,uBAAY,EAAxD,cAAiH,EAA7F,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAAxF,cAAiH,EAA7F,UAAa,EAAwB,UAA+B,GACtE,4EAAkE,IAApF,cAAiK,EAA/I,UAAkE,GAEhE,0BAAa,EAAW,wBAAY,EAAxD,cAAiH,EAA7F,WAAa,EAAW,WAAY,GAApC,0BAAa,EAA8C,qBAA+B,oBAA9G,cAAiH,EAA7F,WAAa,EAA8C,WAA+B,GAG1F,0BAAa,EAAW,wBAAY,EAAxD,cAAiH,EAA7F,WAAa,EAAW,WAAY,GAApC,0BAAa,EAA8C,qBAA+B,oBAA9G,cAAiH,EAA7F,WAAa,EAA8C,WAA+B,GAKvD,qBAA6C,uBAAxG,cAAyG,EAA9C,WAA6C,GACnG,sFAAqE,IAA1E,cAA2H,EAAtH,WAAqE,GACpD,oXAAqT,iBAA7U,cAAiW,EAAzU,WAAqT,GA8jCrT,2DAAyD,oBAAjF,cAAsG,EAA9E,WAAyD,GA2LzD,2DAA0D,qBAAlF,cAAuG,EAA/E,WAA0D,GAqL1D,kDAAqC,GAA7D,cAAkF,EAA1D,WAAqC,GAoKW,uBAAkB,EAA9E,qBAA4B,iBAAxC,cAA2F,EAAnB,WAAkB,EAA9E,WAA4B,GACjC,gDAA6C,mBAAlD,cAA4I,EAAvI,WAA6C,GA+B7C,qEAA2D,kBAAhE,cAAyJ,EAApJ,WAA2D,GAoC3D,gDAAyC,eAA9C,cAAkH,EAA7G,WAAyC,GAkCzC,8FAAoE,IAAzE,cAA+I,EAA1I,WAAoE,GAiCxB,qBAAgC,2BAAnF,cAAkH,EAA/D,WAAgC,GAgC9C,qBAAkB,aAAvD,cAA0L,EAArJ,WAAkB,GAM8C,qBAAoB,eAAzH,cAA0H,EAArB,WAAoB,2BA1yD/G,q0BAK8D,GAMlE,ouBAAgH,GAGhH,ouBAAiH,GAGjH,ouBAAsI,GAGtI,ouBAAiH,GAIjH,ouBAA4I,GAG5I,2uBAAgH,GAGhH,4uBAAiH,GAGjH,ovBAAiH,GAGjH,0vBAAiH;;;;;;;;;;;;;;;;AC1CzH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4D;AACJ;AACkB;AACN;AAEzB;AAEQ;AACS;AAEH;AACwB;AACb;AACZ;AACxD,8DAA8D;AACE;AAEa;AAEE;AACT;AACqB;AACJ;AACnC;AAEpB;AAC4B;AACoB;AAE9B;AAElD,gEAAgE;AAChE,0DAA0D;AACe;AAElB;AACqB;AAEjC;AACA;AACiD;AAEnC;AAEsC;AAEtC;AACsC;AACH;AAGjB;AAC3C;AAEhC;IAgSE,4BAAoB,KAAqB,EAAS,oBAA0C,EAAU,WAAwB,EAAU,gBAAkC,EAChK,WAAyB,EAAU,iBAAsC,EAAU,eAAgC,EAAU,MAAqB,EAAU,MAAc,EAAW,gBAAqC,EAC1N,SAAgC,EAAU,IAAgB;QAFhD,UAAK,GAAL,KAAK,CAAgB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAChK,gBAAW,GAAX,WAAW,CAAc;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAW,qBAAgB,GAAhB,gBAAgB,CAAqB;QAC1N,cAAS,GAAT,SAAS,CAAuB;QAAU,SAAI,GAAJ,IAAI,CAAY;QA5RpE,oBAAe,GAAoB,EAClC,CAAC;QACF,qBAAgB,GAAoB,EAEnC,CAAC;QACF,qBAAgB,GAAoB,EAEnC,CAAC;QAQF,aAAQ,GAAW,MAAM,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAE1B,gBAAW,GAAG,KAAK,CAAC;QACpB,aAAQ,GAAY,KAAK,CAAC;QAC1B,2BAAsB,GAAY,IAAI,CAAC;QACvC,mBAAc,GAAY,IAAI,CAAC;QAC/B,oBAAe,GAAY,IAAI,CAAC;QAChC,uBAAkB,GAAY,IAAI,CAAC;QACnC,gBAAW,GAAY,IAAI,CAAC,eAAc;QAC1C,iBAAY,GAAY,IAAI,CAAC,eAAc;QAC3C,mBAAc,GAAY,IAAI,CAAC,eAAc;QAC7C,cAAS,GAAY,IAAI,CAAC,eAAc;QAExC,kBAAa,GAAY,IAAI,CAAC;QAC9B,sBAAiB,GAAmB,EAAE,CAAC;QACvC,YAAO,GAAc,IAAI,2DAAS,EAAE,CAAC;QAGrC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAU3C,0BAAqB,GAAgB,EAAE,CAAC;QAGxC,oBAAe,GAAG,GAAG,CAAC;QACtB,iBAAY,GAAW,KAAK,CAAC;QAY7B,cAAS,GAAkB,IAAI,oEAAa,EAAE,CAAC;QAC/C,iBAAY,GAAiB,IAAI,kEAAY,EAAE,CAAC;QAChD,cAAS,GAAG,EAAE,CAAC;QACf,gCAA2B,GAAG,EAAE,CAAC;QACjC,cAAS,GAAG,EAAE,CAAC;QACf,gCAA2B,GAAG,EAAE,CAAC;QACjC,gCAA2B,GAAG,SAAS,CAAC;QACxC,2CAAsC,GAAG,SAAS,CAAC;QACnD,yCAAoC,GAAG,SAAS,CAAC;QACjD,mCAA8B,GAAG,SAAS,CAAC;QAC3C,kCAA6B,GAAG,SAAS,CAAC;QAC1C,wCAAmC,GAAG,SAAS,CAAC;QAChD,iCAA4B,GAAG,SAAS,CAAC;QACzC,+BAA0B,GAAG,SAAS,CAAC;QACvC,8BAAyB,GAAG,SAAS,CAAC;QACtC,iCAA4B,GAAG,SAAS,CAAC;QACzC,0CAAqC,GAAG,SAAS,CAAC;QAElD,iBAAY,GAAW,CAAC,CAAC;QAIzB,UAAK,GAAY,IAAI,CAAC;QACtB,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QAmBnB,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAInB,aAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QACnC,cAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACnC,eAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QACtC,eAAU,GAAG,GAAG,CAAC;QACjB,eAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QACzC,eAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QACxC,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QACrC,UAAK,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;QAKnC,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,iBAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QACpC,UAAK,GAAa,EAAE,CAAC;QAC5B,sBAAiB,GAAW,OAAO,CAAC;QACpC,uBAAkB,GAAG,KAAK,CAAC;QAC3B,mBAAc,GAAG,KAAK,CAAC;QACvB,mBAAc,GAAY,KAAK,CAAC;QAChC,oBAAe,GAAY,KAAK,CAAC;QACjC,kBAAa,GAAG,EAAE,CAAC;QAEnB,cAAS,GAAW,CAAC,CAAC;QACtB,uBAAkB,GAAY,IAAI,CAAC;QACnC,gBAAW,GAAY,IAAI,CAAC;QAC5B,sBAAiB,GAAY,IAAI,CAAC;QAClC,4BAAuB,GAAY,IAAI,CAAC;QACxC,qBAAgB,GAAY,IAAI,CAAC;QACjC,yBAAoB,GAAY,IAAI,CAAC;QACrC,gBAAW,GAAY,IAAI,CAAC;QAC5B,0BAAqB,GAAY,IAAI,CAAC;QACtC,0BAAqB,GAAY,IAAI,CAAC;QACtC,kBAAa,GAAY,IAAI,CAAC;QAC9B,yBAAoB,GAAY,IAAI,CAAC;QACrC,WAAM,GAAY,KAAK,CAAC;QAExB,4BAAuB,GAAY,KAAK,CAAC;QACzC,8BAAyB,GAAY,KAAK,CAAC;QAE3C,iCAA4B,GAAY,KAAK,CAAC;QAC9C,mCAA8B,GAAY,KAAK,CAAC;QAEhD,iCAA4B,GAAY,KAAK,CAAC;QAC9C,mCAA8B,GAAY,KAAK,CAAC;QAEhD,6BAAwB,GAAY,KAAK,CAAC;QAE1C,yBAAoB,GAAY,KAAK,CAAC;QAC/B,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACrJ,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjO,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAY,KAAK,CAAC;QAChC,gBAAW,GAAgB,IAAI,gEAAW,EAAE;QAC5C,UAAK,GAAU,IAAI,oDAAK,EAAE,CAAC;QAWpB,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAGxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1M,2BAAsB,GAAG,EAAE,CAAC;QAC5B,4BAAuB,GAAG,EAAE,CAAC;QAC7B,yBAAoB,GAAW,KAAK,CAAC;QACrC,yBAAoB,GAAG,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,2BAAsB,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QACxG,cAAS,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACpE,wBAAmB,GAAG,EAAE,CAAC;QACzB,qCAAgC,GAAG,EAAE,CAAC;QAC7C,kBAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QACpB,UAAK,GAAG,SAAS,CAAC;QAClB,eAAU,GAAY,KAAK,CAAC;QACnC,oBAAe,GAAG,EAAE,CAAC;QACd,oBAAe,GAAQ;YAC5B,sBAAsB,EAAE,KAAK;YAC7B,UAAU,EAAE,IAAI;SACjB,CAAC;QAEK,mBAAc,GAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACpF,iBAAY,GAAW,KAAK,CAAC;QAC7B,mBAAc,GAAY,IAAI,CAAC;QAC/B,iBAAY,GAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,8BAAyB,GAAU;YACxC,EAAC,uCAAuC,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE;YACrF,EAAC,uCAAuC,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE;SAClG,CAAC;QAMK,WAAM,GAAG;YACd;gBACE,eAAe,EAAE,SAAS;aAC3B;YACD;gBACE,eAAe,EAAE,yBAAyB;aAC3C;SACF;QACM,gBAAW,GAAe,CAAC;gBAChC,SAAS,EAAE,wBAAwB;gBACnC,WAAW,EAAE,wBAAwB;gBACrC,aAAa,EAAE,wBAAwB;gBACvC,eAAe,EAAE,wBAAwB;aAC1C,CAAC,CAAC;QACI,SAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,WAAM,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAClE,iCAA4B,GAAQ;YACzC,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;SACxB,CAAC;QAEK,uBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;QACjE,gBAAW,GAAY,KAAK,CAAC;QAC7B,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAY,KAAK,CAAC;QAClC,qBAAgB,GAAY,KAAK,CAAC;QAClC,sBAAiB,GAAY,KAAK,CAAC;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,gCAA2B,GAAY,KAAK,CAAC;QAEpD,+BAA0B,GAAY,KAAK,CAAC;QAC5C,6BAAwB,GAAY,KAAK,CAAC;QAI1C,UAAK,GAAG,EAAE,CAAC;QACX,sBAAiB,GAAmB,EAAE,CAAC;QACvC,0BAAqB,GAAmB,EAAE,CAAC;QAC3C,wBAAmB,GAAmB,EAAE,CAAC;QACzC,UAAK,GAAG,KAAK,CAAC;QACd,iBAAY,GAAG,YAAY,CAAC;QAC5B,oBAAe,GAAG,EAAE,CAAC;QAGrB,WAAM,GAAW,cAAc,CAAC;QAEhC,yBAAoB,GAAG,EAAE,CAAC;QAC1B,2CAA2C;QAC3C,YAAO,GAAiB,IAAI,iEAAY,EAAE,CAAC;QAC3C,kBAAa,GAAiB,IAAI,iEAAY,EAAE,CAAC;QAEjD,mBAAc,GAAG,CAAC,CAAC;QACnB,mBAAc,GAAG,CAAC,CAAC;QACnB,mBAAc,GAAG,CAAC,CAAC;QACnB,kBAAa,GAAG,CAAC,CAAC;QAElB,QAAG,GAAG,EAAE,CAAC;QACT,0BAAqB,GAAY,KAAK,CAAC;QACvC,oBAAe,GAAY,KAAK,CAAC;QAEjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,YAAO,GAAY,KAAK,CAAC;QACzB,qBAAgB,GAAW,EAAE,CAAC;QAC9B,mBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAa,GAAW,EAAE,CAAC;QAK3B,aAAQ,GAAiB,IAAI,kEAAY,EAAE,CAAC;QAC5C,6BAAwB,GAAG,EAAE,CAAC;QAC9B,+BAA0B,GAAW,CAAC,CAAC;QAKrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAC3D,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3J,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SAC/C;IAEH,CAAC;IA7H+I,CAAC,CAAE,6CAA6C;IACiB,CAAC;IAmD3M,yCAAY,GAAnB,UAAoB,CAAM,IAAU,CAAC;IA0ErC,oDAAuB,GAAvB;QAAA,iBA2BC;QAzBC,sDAAQ,CAAC;YACP,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrF,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAChG,CAAC;aACC,SAAS,CAAC,UAAC,EAAc;gBAAZ,cAAI,EAAE,cAAI;YACtB,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAElC,IAAI,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5D,IAAI,cAAc,IAAI,IAAI,EAAE;gBAC1B,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;aAE7C;iBAAM;gBACL,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;aACxB;YACD,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAEhC,IAAI,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACxE,IAAI,oBAAoB,IAAI,IAAI,EAAE;gBAChC,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACzD;iBAAM;gBACL,KAAI,CAAC,cAAc,GAAG,CAAC,CAAC;aACzB;QAEH,CAAC,CAAC,CAAC;IAEP,CAAC;IACD,yDAA4B,GAA5B;QAAA,iBAsBC;QApBC,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAChF,KAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC;YACvC,KAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC,uCAAsC;YAC1E,IAAI,KAAI,CAAC,0BAA0B,IAAI,CAAC,EAAE;gBACxC,KAAI,CAAC,aAAa,GAAG,EAAE;gBACvB,KAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;aACjD;iBACI,IAAI,KAAI,CAAC,0BAA0B,IAAI,CAAC,EAAE;gBAAE,KAAI,CAAC,aAAa,GAAG,CAAC;aAAE;iBACpE,IAAI,KAAI,CAAC,0BAA0B,IAAI,CAAC,EAAE;gBAAE,KAAI,CAAC,aAAa,GAAG,CAAC;aAAE;iBACpE,IAAI,KAAI,CAAC,0BAA0B,IAAI,CAAC,EAAE;gBAAE,KAAI,CAAC,aAAa,GAAG,CAAC;aAAE;iBACpE,IAAI,KAAI,CAAC,0BAA0B,IAAI,CAAC,EAAE;gBAC7C,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,KAAI,CAAC,YAAY,GAAG,oCAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACzE,KAAI,CAAC,UAAU,GAAG,oCAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAEtE;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAO,GAAP;QACE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,cAAc,GAAG,UAAU,CAAC,EAAE,CAAC;YACjC,IAAI,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC5C,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;YACrD,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;YACtD,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI;mBACf,CAAC,IAAI,MAAM,CAAC,GAAG;mBACf,CAAC,IAAI,MAAM,CAAC,KAAK;mBACjB,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;gBAAE,OAAO,IAAI,CAAC;aAAE;YACzC,OAAO,KAAK,CAAC;QAEf,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG;YACtB,OAAO,EAAE,CAAC,+DAAc,CAAC;YACzB,WAAW,EAAE,cAAc;YAC3B,KAAK,EAAE;gBAEL,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,cAAc;oBACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;oBACtB,gBAAgB,EAAE,UAAC,EAAQ;4BAAN,cAAI;wBACvB,OAAO,oCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;oBACzC,CAAC;iBAEF;aACF;YACD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,UAAU;YACxB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,eAAe,EACf;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS;gBACjB,cAAc,EAAE,KAAK;aACtB;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,SAAS;aACnB;YACD,aAAa,EACb;gBACE,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,+CAA+C;aACvD;YACD,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1C,aAAa,EAAE,UAAU,KAAK;YAC9B,CAAC;YACD,UAAU,EAAE,UAAU,KAAK;gBACzB,CAAC,CAAC,UAAU,CAAC;oBACX,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACxG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;wBAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;wBACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;wBAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBAClC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,SAAS,EAAE;4BACpH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;yBACrB;wBAED,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;4BACtC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;yBACrC;wBACD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;4BAC5B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;4BACnC,IAAI,CAAC,aAAa,EAAE,CAAC;4BACrB,CAAC,CAAC,UAAU,CAAC;gCAEX,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gCACnD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gCAC9D,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;4BACjF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;yBACV;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAEX,CAAC;YACD,eAAe,EAAE,UAAU,KAAK;gBAAf,iBAuBhB;gBAtBC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACvF,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAC,GAAG;wBAChC,OAAO,IAAI,UAAU,GAAG,GAAG,CAAC,eAAe,GAAG,eAAe,CAAC;oBAChE,CAAC,CAAC,CAAC;gBAEL,CAAC,CAAC,CAAC;gBAGH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAQ;oBAC1G,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;oBAE5B,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;oBACxC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACrI,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAChI,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzJ,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzJ,IAAI,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;gBAEjC,CAAC,CAAC,CAAC;YAEL,CAAC;YACD,eAAe,EAAE,UAAU,IAAI;gBAC7B,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC1B,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACX,CAAC;YACD,SAAS,EAAE,UAAU,KAAK;gBACxB,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3E,CAAC;YACD,WAAW,EAAE,UAAU,KAAK;gBAC1B,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE7E,CAAC;YACD,YAAY,EAAE,UAAU,KAAK;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClF,CAAC;YAED,cAAc,EAAE,UAAU,KAAK;gBAC7B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,cAAc,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;gBAC1C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5C,+DAA+D;YACjE,CAAC;YAED,aAAa,EAAE,UAAU,KAAK;gBAC5B,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAChE,+DAA+D;oBAC/D,IAAI,EAAE,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAClG,EAAE,CAAC,SAAS,CAAC;wBACX,MAAM,EAAE,GAAG;wBACX,MAAM,EAAE,IAAI;wBACZ,cAAc,EAAE,CAAC;qBAClB,CAAC,CAAC;oBACH,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBAEjF;gBAED,sBAAsB;YAExB,CAAC;SAGF,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG;YACtB,OAAO,EAAE,CAAC,+DAAc,CAAC;YACzB,WAAW,EAAE,SAAS;YACtB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,UAAU;YACxB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,eAAe,EACf;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS;gBACjB,cAAc,EAAE,KAAK;aACtB;YACD,aAAa,EACb;gBACE,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,iBAAiB;aACzB;YACD,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1C,aAAa,EAAE,UAAU,KAAK;YAC9B,CAAC;YACD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,UAAU,EAAE,UAAU,KAAK;gBAEzB,CAAC,CAAC,UAAU,CAAC;oBACX,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACxG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;wBAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;wBACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;wBAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBAClC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,SAAS,EAAE;4BACpH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;yBACrB;wBAED,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;4BACtC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;yBACrC;wBACD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;4BAC5B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;4BACnC,IAAI,CAAC,aAAa,EAAE,CAAC;4BACrB,CAAC,CAAC,UAAU,CAAC;gCAEX,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gCACnD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gCAC9D,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;4BACjF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;yBACV;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAEX,CAAC;YACD,eAAe,EAAE,UAAU,KAAK;gBAAf,iBAiChB;gBAhCC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACvF,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAC,GAAG;wBAChC,OAAO,IAAI,UAAU,GAAG,GAAG,CAAC,eAAe,GAAG,eAAe,CAAC;oBAChE,CAAC,CAAC,CAAC;gBAEL,CAAC,CAAC,CAAC;gBAGH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAQ;oBAC1G,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;oBAE5B,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;oBACxC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACrI,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAChI,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzJ,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzJ,IAAI,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;gBAEjC,CAAC,CAAC,CAAC;gBAEH,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;oBAC3B,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAE1B,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACtC,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;oBACtB,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;oBACjD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;YAEL,CAAC;YACD,eAAe,EAAE,UAAU,IAAI;gBAC7B,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC1B,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACX,CAAC;YACD,SAAS,EAAE,UAAU,KAAK;gBACxB,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3E,CAAC;YACD,WAAW,EAAE,UAAU,KAAK;gBAC1B,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE7E,CAAC;YACD,YAAY,EAAE,UAAU,KAAK;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClF,CAAC;YAED,cAAc,EAAE,UAAU,KAAK;gBAC7B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,cAAc,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;gBAC1C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,aAAa,EAAE,UAAU,KAAK;gBAC5B,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAChE,IAAI,EAAE,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAClG,EAAE,CAAC,SAAS,CAAC;wBACX,MAAM,EAAE,GAAG;wBACX,MAAM,EAAE,IAAI;wBACZ,cAAc,EAAE,CAAC;qBAClB,CAAC,CAAC;oBACH,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;iBAEzG;YACH,CAAC;SAGF,CAAC;QACF,2BAA2B;QAE3B,2BAA2B;QAC3B,4DAA4D;QAC5D,qBAAqB;QACrB,6BAA6B;QAC7B,wBAAwB;QACxB,yBAAyB;QACzB,uBAAuB;QACvB,qBAAqB;QACrB,mBAAmB;QACnB,oBAAoB;QACpB,oBAAoB;QACpB,KAAK;QACL,sBAAsB;QACtB,wBAAwB;QACxB,4BAA4B;QAC5B,MAAM;QACN,kBAAkB;QAClB,KAAK;QACL,eAAe;QACf,sBAAsB;QACtB,eAAe;QACf,MAAM;QACN,+CAA+C;QAC/C,qCAAqC;QACrC,MAAM;QACN,kCAAkC;QAClC,gCAAgC;QAChC,uHAAuH;QACvH,oCAAoC;QACpC,+CAA+C;QAC/C,4CAA4C;QAC5C,4CAA4C;QAC5C,iIAAiI;QACjI,gCAAgC;QAChC,WAAW;QAEX,yCAAyC;QACzC,mDAAmD;QACnD,gDAAgD;QAChD,WAAW;QACX,yCAAyC;QACzC,+CAA+C;QAC/C,iCAAiC;QACjC,sCAAsC;QACtC,uEAAuE;QACvE,kFAAkF;QAClF,mGAAmG;QAEnG,iEAAiE;QACjE,4EAA4E;QAC5E,6FAA6F;QAC7F,qBAAqB;QACrB,WAAW;QACX,WAAW;QACX,eAAe;QAEf,MAAM;QACN,uCAAuC;QACvC,uBAAuB;QACvB,qGAAqG;QACrG,sCAAsC;QACtC,gDAAgD;QAChD,wEAAwE;QACxE,WAAW;QAEX,SAAS;QAGT,uHAAuH;QACvH,oCAAoC;QAEpC,gDAAgD;QAChD,6IAA6I;QAC7I,wIAAwI;QACxI,iKAAiK;QACjK,iKAAiK;QACjK,uCAAuC;QACvC,0OAA0O;QAC1O,gFAAgF;QAChF,sFAAsF;QACtF,iDAAiD;QACjD,mBAAmB;QACnB,mBAAmB;QACnB,uEAAuE;QACvE,gDAAgD;QAChD,qBAAqB;QACrB,wCAAwC;QACxC,2DAA2D;QAC3D,4DAA4D;QAC5D,WAAW;QACX,wCAAwC;QACxC,2DAA2D;QAC3D,4DAA4D;QAC5D,WAAW;QACX,kCAAkC;QAClC,SAAS;QAET,sCAAsC;QACtC,kCAAkC;QAElC,8CAA8C;QAC9C,kDAAkD;QAClD,iCAAiC;QACjC,yDAAyD;QACzD,0DAA0D;QAC1D,SAAS;QAET,MAAM;QACN,sCAAsC;QACtC,gCAAgC;QAChC,kCAAkC;QAClC,yCAAyC;QACzC,eAAe;QACf,MAAM;QACN,iCAAiC;QACjC,+EAA+E;QAC/E,MAAM;QACN,oCAAoC;QACpC,iFAAiF;QAEjF,MAAM;QACN,oCAAoC;QACpC,sFAAsF;QACtF,MAAM;QAEN,sCAAsC;QACtC,6BAA6B;QAC7B,gDAAgD;QAChD,kDAAkD;QAClD,kDAAkD;QAClD,qEAAqE;QACrE,MAAM;QACN,qCAAqC;QACrC,yEAAyE;QACzE,uEAAuE;QACvE,0GAA0G;QAC1G,sBAAsB;QACtB,sBAAsB;QACtB,uBAAuB;QACvB,2BAA2B;QAC3B,WAAW;QACX,wFAAwF;QAExF,OAAO;QACP,MAAM;QAGN,IAAI;IACN,CAAC;IAGD,gDAAmB,GAAnB,UAAoB,SAAS,EAAE,OAAO,EAAE,IAAI;QAA5C,iBA+DC;QA9DC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;gBACpB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,KAAK,EAAE,IAAI,CAAC,oEAAoE;aACjF,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,CAAC,CAAE,oCAAoC;aACxD,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;gBACxD,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC9C,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE;oBACvE,qDAAqD;oBAErD,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,oCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;iBACxE;gBACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,EAAE;oBACnC,qDAAqD;oBACrD,IAAI,UAAU,GAAG,gDAAe,CAAC,oCAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,oCAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtG,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC;oBACxE,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;iBACzE;gBACD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAG3D,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;oBAChC,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,IAAI,cAAc,EAAE;wBAC3D,CAAC,CAAC,UAAU,CAAC;4BACX,qDAAqD;4BACrD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;wBACrD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;oBAGD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,gBAAgB,GAAG,oCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBAE1F,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAC/D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;wBAEpB,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;wBACtC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAGD,wCAAW,GAAX,UAAY,IAAI;QACd,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAI,IAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,OAAU,IAAI,SAAI,GAAG,SAAI,IAAM,CAAC;IAClC,CAAC;IACD,wCAAW,GAAX,UAAY,GAAG,EAAE,OAAO;QAAxB,iBA4HC;QA3HC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;QACtC,IAAI,OAAO,IAAI,OAAO,IAAI,IAAI,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBACvK,WAAW,CAAC,OAAO,CAAC,qBAAW;oBAC7B,IAAI,WAAW,CAAC,MAAM,IAAI,MAAM,EAAE;wBAChC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;4BAEtE,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;gCAClK,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCACxH,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCAClH,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC3D,eAAe,EAAE,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;6BAC3L,CAAC,CAAC;4BACH,CAAC,KAAI,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC;gCACtC,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,8XAA8X,GAAG,WAAW,CAAC,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,aAAa,GAAG,WAAW,CAAC,WAAW,GAAG,aAAa;oCACxqB,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,uDAAuD,GAAG,WAAW,CAAC,KAAK,GAAI,eAAe;gCAC5K,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCACxH,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCAClH,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC3D,eAAe,EAAE,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;6BAC3L,CAAC,CAAC;yBAEJ;6BACI;4BACH,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;gCAClK,KAAK,EAAE,WAAW,CAAC,gBAAgB;gCACnC,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC3D,eAAe,EAAE,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;6BAC3L,CAAC,CAAC;yBACJ;qBACF;yBACI,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,mBAAmB,IAAI,WAAW,CAAC,MAAM,IAAI,yBAAyB,IAAI,WAAW,CAAC,MAAM,IAAI,mBAAmB,IAAI,WAAW,CAAC,MAAM,IAAI,eAAe,EAAE;wBAChO,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;4BACtE,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC;gCAC5L,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCACxH,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCAClH,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;gCAC/D,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW;6BACjD,CAAC,CAAC;4BACH,CAAC,KAAI,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC;gCACtC,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,0YAA0Y,GAAG,WAAW,CAAC,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,aAAa,GAAG,WAAW,CAAC,WAAW,GAAG,aAAa;oCACprB,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,uDAAuD,GAAG,WAAW,CAAC,KAAK,GAAG,eAAe;gCAChL,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCACxH,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCAClH,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;gCAC/D,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW;6BACjD,CAAC,CAAC;yBAEJ;6BAAM;4BACL,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;gCAC/D,OAAO,EAAE,WAAW,CAAC,WAAW;gCAChC,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,KAAK;gCACrD,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW;6BAEjD,CAAC,CAAC;yBACJ;qBACF;yBACI;wBACH,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;4BACtE,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC;gCAC5L,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCACxH,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCAClH,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC3D,eAAe,EAAE,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;6BAE3L,CAAC,CAAC;4BACH,CAAC,KAAI,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC;gCACtC,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,+XAA+X,GAAG,WAAW,CAAC,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,aAAa,GAAG,WAAW,CAAC,WAAW,GAAG,aAAa;oCACzqB,WAAW,CAAC,YAAY,GAAG,EAAE,GAAG,uDAAuD,GAAG,WAAW,CAAC,KAAK,GAAG,eAAe;gCAC/H,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCACxH,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCAClH,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC3D,eAAe,EAAE,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;6BAC3L,CAAC,CAAC;yBAEJ;6BAAM;4BACL,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,cAAc,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,EAAE,EAAE,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;yBACliB;qBACF;gBAEH,CAAC,CAAC,CAAC;gBACH,IAAI,KAAI,CAAC,KAAK,IAAI,IAAI,EAAE;oBACtB,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;oBAChC,KAAI,CAAC,2BAA2B,GAAG,KAAI,CAAC,2BAA2B,CAAC;oBACpE,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,CAAC;oBAClC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,CAAC;oBAClC,qCAAqC;oBAErC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC;oBAC9C,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAI,CAAC,2BAA2B,CAAC;oBAChE,CAAC,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;oBACxC,UAAU,CAAC;wBACT,CAAC,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC7C,CAAC,EAAE,GAAG,CAAC,CAAC;oBAEV,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;iBACrB;gBAED,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,CAAC;YAElC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;SAE/C;IACH,CAAC;IACD,oCAAO,GAAP;QACE,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpB;IACH,CAAC;IAED,2CAAc,GAAd;QACE,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM;YAClC,OAAO,IAAI,CAAC,WAAW,CAAC;aACrB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM;YACvC,OAAO,IAAI,CAAC,cAAc,CAAC;aACxB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM;YACvC,OAAO,IAAI,CAAC,YAAY,CAAC;aACtB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM;YACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC;aAC1B,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM;YACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC;aAC1B,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM;YACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC3B,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM;YACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC;aAC1B,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM;YACvC,OAAO,IAAI,CAAC,2BAA2B,CAAC;aACrC,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO;YACxC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,qCAAQ,GAAR;QAAA,iBA0KC;QAzKC,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAAE;qBACzD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAAE;qBAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAAE;qBAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAAE;qBAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAAE;qBAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAAE;qBAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAAE;qBAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAAE;gBACnE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAGH,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAC/E,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,EAAjB,CAAiB,CAAC,CAAC;gBAC7C,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,CAAC,OAAO,CAAC,gBAAM;oBACnB,IAAI,MAAM,CAAC,eAAe,IAAI,GAAG,EAAE;wBACjC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;qBAC3D;yBAAM,IAAI,MAAM,CAAC,eAAe,IAAI,GAAG,EAAE;wBACxC,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;qBAC9D;yBAAM,IAAI,MAAM,CAAC,eAAe,IAAI,GAAG,EAAE;wBACxC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;qBAC5D;yBAAM,IAAI,MAAM,CAAC,eAAe,IAAI,GAAG,EAAE;wBACxC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;qBAChE;yBAAM,IAAI,MAAM,CAAC,eAAe,IAAI,GAAG,EAAE;wBACxC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;qBAChE;yBAAM,IAAI,MAAM,CAAC,eAAe,IAAI,GAAG,EAAE;wBACxC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;qBACjE;yBAAM,IAAI,MAAM,CAAC,eAAe,IAAI,GAAG,EAAE;wBACxC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;qBAChE;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;oBACtB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC3B,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC/B,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC7B,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBACjC,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBACjC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAClC,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBACjC,OAAO,CAAC,2BAA2B,GAAG,KAAK,CAAC;oBAC5C,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC;iBACpC;gBAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,2BAA2B,EAAE;oBACjO,YAAY;iBACb;qBAAM;oBACL,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC;iBACrC;YAEH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAChF,GAAG,CAAC,OAAO,CAAC,qBAAW;YACvB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;QAE3D,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;QAC7C,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACvH,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SACpC;QAED,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAChE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE;oBACjC,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC;iBAC/C;qBAAM;oBACL,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC5C,IAAI,CAAC,OAAO,CAAC,iBAAO;wBAClB,IAAI,OAAO,IAAI,EAAE,EAAE;4BACjB,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC;yBAC9C;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,4BAA4B;QAC5B,qCAAqC;QACrC,WAAW;QAEX,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;YAE1B,QAAQ,CAAC,eAAe,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;YACrD,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,EAAE;gBACpC,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aACrD;iBAAM;gBACL,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aACpD;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,GAAG,UAAU,KAAK;YAC9B,IAAI,OAAO,GAAG,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC9B,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;aAClC;YAED,IAAI,IAAI,GAAG,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,KAAK,GAAG,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,0DAA0D,CAAC,CAAC,OAAM;YAC/G,IAAI,SAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,2CAA2C,CAAC,CAAC,QAAO;YACpG,IAAI,YAAY,GAAG,QAAQ,CAAC,sBAAsB,CAAC,8CAA8C,CAAC,CAAC,QAAO;YAC1G,IAAI,aAAa,GAAG,QAAQ,CAAC,sBAAsB,CAAC,+BAA+B,CAAC,CAAC;YACrF,IAAI,IAAI,GAAG,QAAQ,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;YAE5D,IAAI,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;YACvE,IAAI,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC/D,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAC7D,IAAI,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACjE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,IAAI,KAAK,CAAC,MAAM,IAAI,eAAe,IAAI,KAAK,CAAC,MAAM,IAAI,kBAAkB,IAAI,KAAK,CAAC,MAAM,IAAI,cAAc,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,EAAE;aAC7iB;iBAAM;gBACL,IAAI,QAAQ,CAAC,0BAA0B,IAAI,IAAI,EAAE;oBAC/C,QAAQ,CAAC,wBAAwB,GAAG,IAAI,CAAC;oBACzC,QAAQ,CAAC,2BAA2B,EAAE,CAAC;oBACvC,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBACrD;aAEF;QAEH,CAAC;QAED,iCAAiC;QACjC,+BAA+B;QAC/B,IAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,KAAK,CAAC;QACnE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEpC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,UAAU,CAAC;YACX,QAAQ,CAAC,uBAAuB,EAAE,CAAC;QACrC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,wCAAW,GAAX,UAAY,GAAG;QACb,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACpD;QACD,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/C,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;SAC/C;IACH,CAAC;IAED,wDAA2B,GAA3B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACnM,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,gDAAmB,GAAnB,UAAoB,GAAG;QACrB,6DAA6D;QAC7D,wCAAwC;QACxC,oDAAoD;QACpD,uGAAuG;QACvG,mBAAmB;QACnB,8DAA8D;QAC9D,yBAAyB;QACzB,SAAS;QAET,mCAAmC;QACnC,uCAAuC;QACvC,uDAAuD;QACvD,YAAY;QACZ,6JAA6J;QAC7J,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;YACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;SAC5G,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACvC,KAAK;QACL,KAAK;IACP,CAAC;IAED,kDAAqB,GAArB;QAEE,IAAI,KAAK,GAAG,QAAQ,CAAC,sBAAsB,CAAC,2CAA2C,CAAC,CAAC;QACzF,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC;QACxB,SAAS,CAAC,SAAS,GAAG,0BAA0B,CAAC;QACjD,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAEtE,IAAI,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;QACpF,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,2BAA2B;QAC/D,aAAa,CAAC,EAAE,GAAG,UAAU,CAAC;QAC9B,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnC,gGAAgG;QAEhG,IAAI,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,UAAU,CAAC,EAAE,GAAG,YAAY,CAAC;QAC7B,UAAU,CAAC,SAAS,GAAG,2BAA2B,CAAC;QACnD,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAEvE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC;QAC3B,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC;QACjC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEnC,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;QACvB,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC;QAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEjC,IAAI,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,YAAY,CAAC,WAAW,GAAG,QAAQ,CAAC;QAAC,YAAY,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;QAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;QAAC,YAAY,CAAC,EAAE,GAAG,iBAAiB;QAC1L,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAErC,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnD,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC;QAAC,WAAW,CAAC,SAAS,GAAG,uBAAuB,CAAC;QAAC,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC;QAAC,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,GAAG,eAAe;QAC3K,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAClC,2HAA2H;QAG3H,IAAI,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,kBAAkB,CAAC,EAAE,GAAG,oBAAoB,CAAC;QAC7C,kBAAkB,CAAC,SAAS,GAAG,kBAAkB,CAAC;QAClD,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAG/E,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC;QAC3B,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC;QACjC,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B;QAC7E,WAAW,CAAC,EAAE,GAAG,aAAa,CAAC;QAC/B,WAAW,CAAC,SAAS,GAAG,UAAU,CAAC;QACnC,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE7C,IAAI,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B;QAC5E,UAAU,CAAC,EAAE,GAAG,YAAY,CAAC;QAC7B,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC;QAClC,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAG5C,IAAI,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B;QACnF,cAAc,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,4BAA4B;QAC9D,cAAc,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC/B,cAAc,CAAC,KAAK,GAAG,QAAQ,CAAC;QAChC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,cAAc,CAAC,EAAE,GAAG,QAAQ,CAAC;QAC7B,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;QAClF,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,2BAA2B;QAC3D,WAAW,CAAC,EAAE,GAAG,aAAa,CAAC;QAC/B,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAE,kCAAkC;QAEnG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAGpC,IAAI,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B;QACrF,gBAAgB,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,4BAA4B;QAChE,gBAAgB,CAAC,IAAI,GAAG,UAAU,CAAC;QACnC,gBAAgB,CAAC,KAAK,GAAG,UAAU,CAAC;QACpC,gBAAgB,CAAC,EAAE,GAAG,UAAU,CAAC;QACjC,IAAI,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;QACpF,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,2BAA2B;QAC/D,aAAa,CAAC,EAAE,GAAG,eAAe,CAAC;QACnC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAE,kCAAkC;QAEvG,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAGxC,IAAI,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B;QACtF,iBAAiB,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,4BAA4B;QACjE,iBAAiB,CAAC,IAAI,GAAG,WAAW,CAAC;QACrC,iBAAiB,CAAC,KAAK,GAAG,WAAW,CAAC;QACtC,iBAAiB,CAAC,EAAE,GAAG,WAAW,CAAC;QACnC,IAAI,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;QACrF,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,2BAA2B;QACjE,cAAc,CAAC,EAAE,GAAG,gBAAgB,CAAC;QACrC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAE,kCAAkC;QAEtG,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC3C,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAExC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/C,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC7C,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QACxD,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;QACpE,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;QAEpE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAClD,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAErD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,SAAS,aAAa;YAChE,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;QAED,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,GAAG,SAAS,aAAa;YAClE,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;QAED,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,GAAG,SAAS,aAAa;YACnE,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;QAED,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,OAAO,GAAG,SAAS,kBAAkB;YAC5E,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE9B,CAAC;QACD,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,OAAO,GAAG,SAAS,kBAAkB;YAC9E,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEhC,CAAC;IACH,CAAC;IACD,mDAAsB,GAAtB;QACE,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3J,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,CAAC;YACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAEjC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,iDAAoB,GAApB;QAEE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,uDAA0B,GAA1B;QAAA,iBAQC;QAPC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC3G,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAK,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,yCAAY,GAAnB,UAAoB,CAAM,IAAU,CAAC;IAErC,wCAAW,GAAX;QACE,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,EAAE,GAAG,EAAE,EAAE;YACX,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;YACjD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB;gBAC/M,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,GAAG,oCAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAE/P;aACI;YACH,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;YAChD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,oCAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACjd;IAEH,CAAC;IACD,kDAAqB,GAArB,UAAsB,cAAc,EAAE,SAAS,EAAE,IAAI;QAArD,iBAuBC;QAtBC,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAe;YAElG,KAAI,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,KAAI,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACtG,KAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9H,KAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3G,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE;gBAE3G,KAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;aAC5C;iBACI,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE;gBAGjH,KAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC;aAC3C;iBACI;gBAEH,KAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;aAC5C;QAGH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAwB,GAAxB,UAAyB,cAAc,EAAE,SAAS,EAAE,IAAI;QAAxD,iBAuBC;QAtBC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAe;YAEhG,KAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,KAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACzG,KAAI,CAAC,SAAS,CAAC,sBAAsB,GAAG,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACjI,KAAI,CAAC,SAAS,CAAC,sBAAsB,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACxK,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE;gBAEjH,KAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;aAC/C;iBACI,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE;gBAGvH,KAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC;aAC9C;iBACI;gBAEH,KAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;aAC/C;QAGH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,qDAAwB,GAAxB,UAAyB,cAAc,EAAE,SAAS,EAAE,IAAI;QAAxD,iBAwBC;QAvBC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvF,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,SAAS,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtF,KAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9G,KAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,qBAAqB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/J,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE;oBAE/G,KAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;iBAC7C;qBACI,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE;oBAErH,KAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC;iBAC5C;qBACI;oBAEH,KAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;iBAC7C;aAEF;QAGH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAA2B,GAA3B,UAA4B,cAAc,EAAE,SAAS,EAAE,IAAI;QAA3D,iBAsBC;QArBC,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1F,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,EAAE;gBAC5B,KAAI,CAAC,SAAS,CAAC,2BAA2B,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrF,KAAI,CAAC,SAAS,CAAC,4BAA4B,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClG,KAAI,CAAC,SAAS,CAAC,iCAAiC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC1H,KAAI,CAAC,SAAS,CAAC,iCAAiC,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,iCAAiC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACnM,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,IAAI,EAAE,EAAE;oBAEvI,KAAI,CAAC,sCAAsC,GAAG,SAAS,CAAC;iBACzD;qBACI,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,IAAI,EAAE,EAAE;oBAE7I,KAAI,CAAC,sCAAsC,GAAG,QAAQ,CAAC;iBACxD;qBACI;oBAEH,KAAI,CAAC,sCAAsC,GAAG,SAAS,CAAC;iBACzD;aAEF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAoB,GAApB,UAAqB,cAAc,EAAE,SAAS,EAAE,IAAI;QAApD,iBAuBC;QAtBC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnF,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,KAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvF,KAAI,CAAC,SAAS,CAAC,sBAAsB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/G,KAAI,CAAC,SAAS,CAAC,sBAAsB,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAElK,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE;oBAEjH,KAAI,CAAC,2BAA2B,GAAG,SAAS,CAAC;iBAC9C;qBACI,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE;oBAEvH,KAAI,CAAC,2BAA2B,GAAG,QAAQ,CAAC;iBAC7C;qBACI;oBAEH,KAAI,CAAC,2BAA2B,GAAG,SAAS,CAAC;iBAC9C;aACF;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,wCAAW,GAAX,UAAY,GAAG;QACb,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACjI,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,QAAQ,IAAE,CAAC,EAAC,IAAG,EAAC,EAAC,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEjG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE;YAEvH,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;SACjD;aACI,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE;YAE7H,IAAI,CAAC,8BAA8B,GAAG,QAAQ,CAAC;SAChD;aACI;YACH,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;SACjD;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAChI,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACrJ,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAClG,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,IAAI,OAAO,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,GAAG,GAAG,CAAC;SAAE;aAAM;YACxE,IAAI,CAAC,SAAS,CAAC,wBAAwB,GAAG,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnF;QAEC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;YAEvJ,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC;SAChD;aACI,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;YAE7J,IAAI,CAAC,6BAA6B,GAAG,QAAQ,CAAC;SAC/C;aACI;YACH,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC;SAChD;IAEL,CAAC;IACD,yCAAY,GAAZ,UAAa,cAAc,EAAE,SAAS,EAAE,IAAI;QAA5C,iBAQC;QAPC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3E,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;aAEhJ;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wCAAW,GAAX,UAAY,cAAc,EAAE,SAAS,EAAE,IAAI;QAA3C,iBAUC;QATC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC1E,IAAI,MAAM,EAAE;oBACV,KAAI,CAAC,SAAS,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;iBAE/I;YAEH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,0DAA6B,GAA7B,UAA8B,cAAc,EAAE,SAAS,EAAE,IAAI;QAA7D,iBAyBC;QAxBC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC5F,IAAI,MAAM,EAAE;oBACV,KAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnF,KAAI,CAAC,SAAS,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxF,KAAI,CAAC,SAAS,CAAC,uBAAuB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAChH,KAAI,CAAC,SAAS,CAAC,uBAAuB,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBACpK,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE;wBAEnH,KAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;qBAC/C;yBACI,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE;wBAEzH,KAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC;qBAC9C;yBACI;wBAEH,KAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;qBAC/C;iBAEF;YAEH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,oDAAuB,GAAvB,UAAwB,cAAc,EAAE,KAAK,EAAE,IAAI;QAAnD,iBAQC;QAPC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;gBACpG,KAAI,CAAC,eAAe,GAAG,YAAY,CAAC;YACtC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC3B;IACH,CAAC;IACD,4DAA+B,GAA/B,UAAgC,cAAc,EAAE,KAAK,EAAE,IAAI;QAA3D,iBAoBC;QAlBC,IAAI,CAAC,iBAAiB,CAAC,kCAAkC,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YACjG,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,KAAI,CAAC,SAAS,CAAC,0BAA0B,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChG,KAAI,CAAC,SAAS,CAAC,+BAA+B,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxH,KAAI,CAAC,SAAS,CAAC,+BAA+B,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5L,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,IAAI,EAAE,EAAE;oBACnI,KAAI,CAAC,oCAAoC,GAAG,SAAS,CAAC;iBACvD;qBACI,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,IAAI,EAAE,EAAE;oBACzI,KAAI,CAAC,oCAAoC,GAAG,QAAQ,CAAC;iBACtD;qBACI;oBACH,KAAI,CAAC,oCAAoC,GAAG,SAAS,CAAC;iBACvD;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAAgC,GAAhC,UAAiC,cAAc,EAAE,KAAK,EAAE,IAAI;QAA5D,iBA0BC;QAxBC,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE1F,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,SAAS,CAAC,0BAA0B,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpF,KAAI,CAAC,SAAS,CAAC,2BAA2B,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjG,KAAI,CAAC,SAAS,CAAC,gCAAgC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACzH,KAAI,CAAC,SAAS,CAAC,gCAAgC,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,gCAAgC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,gCAAgC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/L,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,gCAAgC,CAAC,IAAI,EAAE,EAAE;oBAErI,KAAI,CAAC,qCAAqC,GAAG,SAAS,CAAC;iBACxD;qBACI,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,gCAAgC,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,gCAAgC,CAAC,IAAI,EAAE,EAAE;oBAE3I,KAAI,CAAC,qCAAqC,GAAG,QAAQ,CAAC;iBACvD;qBACI;oBAEH,KAAI,CAAC,qCAAqC,GAAG,SAAS,CAAC;iBACxD;aACF;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAErB,CAAC;IAED,2DAA8B,GAA9B,UAA+B,cAAc,EAAE,KAAK,EAAE,IAAI;QAA1D,iBAsBC;QArBC,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC9F,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,KAAI,CAAC,SAAS,CAAC,yBAAyB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/F,KAAI,CAAC,SAAS,CAAC,8BAA8B,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACvH,KAAI,CAAC,SAAS,CAAC,8BAA8B,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACzL,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,EAAE,EAAE;oBAEjI,KAAI,CAAC,mCAAmC,GAAG,SAAS,CAAC;iBACtD;qBACI,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,EAAE,EAAE;oBAEvI,KAAI,CAAC,mCAAmC,GAAG,QAAQ,CAAC;iBACrD;qBACI;oBAEH,KAAI,CAAC,mCAAmC,GAAG,SAAS,CAAC;iBACtD;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAgB,GAAhB,UAAiB,SAAS,EAAE,OAAO;QAAnC,iBAIC;QAHC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YAChG,KAAI,CAAC,eAAe,GAAG,YAAY,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAwB,GAAxB,UAAyB,SAAS,EAAE,OAAO;QAA3C,iBAIC;QAHC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpI,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAgB,GAAhB,UAAiB,cAAc;QAA/B,iBA4BC;QA3BC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACzG,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACrB,qJAAqJ;gBACrJ,IAAI,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACzG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACnC,gBAAgB;gBAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC;YACvC,KAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;YACzC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACtC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAEX,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC/E,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACrB,uGAAuG;gBACvG,KAAI,CAAC,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,uDAA0B,GAA1B,UAA2B,cAAc,EAAE,YAAY;QAAvD,iBAkBC;QAjBC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YAC7F,KAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACtgB,KAAI,CAAC,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3G,KAAI,CAAC,uBAAuB,GAAG,YAAY,CAAC;YAC5C,qIAAqI;YACrI,KAAI,CAAC,eAAe,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QAEH,4HAA4H;QAC5H,gDAAgD;QAChD,uIAAuI;QACvI,KAAK;IAIP,CAAC;IAED,sDAAyB,GAAzB,UAA0B,cAAc,EAAE,YAAY;QAAtD,iBAkBC;QAjBC,IAAI,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,qBAAqB;YAClG,qBAAqB,CAAC,OAAO,CAAC,sBAAY;YAC1C,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,CAAC,IAAI,CAAC,EAAE;oBACV,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;iBAC/e;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;iBAChf;aACF;YACD,KAAI,CAAC,yBAAyB,GAAG;gBAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE;gBACpE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,eAAe,EAAE,kBAAkB,EAAE;aACzF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAgB,GAAhB;QAAA,iBAyBC;QAxBC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,uBAAuB,GAAgB;YAC1C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAgB;YAC1C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QAEF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAE1C,CAAC,CAAC,CAAC;QAEH,IAAI,4BAAoC,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,4BAA4B,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAClH,KAAI,CAAC,2BAA2B,CAAC,4BAA4B,CAAC,CAAC;QAEjE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IACD,yDAA4B,GAA5B;QACE,IAAI,CAAC,uBAAuB,GAAG;YAC7B,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;SACpE,CAAC;IACJ,CAAC;IACD,wDAA2B,GAA3B,UAA4B,gBAAwB;QAClD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;oBAC/B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;iBACjD,CAAC,CAAC;aAEJ;SACF;aAAM;YACL,IAAI,CAAC,sBAAsB,GAAG;gBAC5B,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC3D,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;aACrE,CAAC;SACH;IACH,CAAC;IAGD,6CAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;iBACjD,CAAC,CAAC;aAEJ;SACF;aAAM;YAEL,IAAI,CAAC,UAAU,GAAG;gBAChB,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACnE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;aACpD,CAAC;SACH;IACH,CAAC;IAED,0CAAa,GAAb,UAAc,KAAK;QACjB,uDAAuD;QACvD,sBAAsB;QACtB,6BAA6B;QAC7B,2BAA2B;QAC3B,+BAA+B;QAC/B,6BAA6B;QAC7B,cAAc;QACd,YAAY;IACd,CAAC;IACD,8CAAiB,GAAjB,UAAkB,KAAK;QACrB,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAClD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACnC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,mDAAsB,GAAtB;QACE,IAAI,IAAI,CAAC,2BAA2B,IAAI,IAAI,CAAC,2BAA2B,CAAC,SAAS,IAAI,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,SAAS,EAAE;YAC7J,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,UAAC,MAAM;gBACxE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC1E;IACH,CAAC;IACD,iBAAiB;IACjB,oHAAoH;IACpH,4BAA4B;IAC5B,sEAAsE;IACtE,6CAA6C;IAC7C,SAAS;IACT,+DAA+D;IAC/D,KAAK;IACL,GAAG;IACH,4CAAe,GAAf,UAAgB,GAAG;IACnB,CAAC;IACD,uCAAU,GAAV,UAAW,GAAG;QACZ,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,IAAI;SACvB;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;QACD,OAAO,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAEnD,CAAC;IACD,yCAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC1B,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SACzB;aAAM;YACL,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;QACD,yEAAyE;QACzE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtC,+DAA+D;QAE/D,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACxE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAC1C;aAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,mBAAmB,CAAC;SACxD;aACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3F,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAClD;aACI;YACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChD;YACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;aAC/E;SACF;QACD,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAChD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE9B,CAAC;IACD,2CAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAE7C,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjI,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7C,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAf,CAAe,CAAC;aAC3D;iBAAM;gBACL,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;YACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;gBACxE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;aAC9C;iBACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;gBACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3F,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClD;iBACI;gBACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC9C,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;iBACvD;gBACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;iBAC/E;aACF;YACD,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAChD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAE9C,IAAI,GAAG,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,GAAG,IAAI,IAAI,EAAE;gBAEf,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACnC,sDAAsD;aAEvD;YACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SAEpC;aACI;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,iDAAiD;YACjD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;YAC/C,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;gBACxE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;gBACtD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;aACxC;iBAAM;gBACL,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;iBACrC;gBACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;iBAC7D;aAGF;YACD,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAChD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAC9C,IAAI,GAAG,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACnC,sDAAsD;aAEvD;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAEtD;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QACf,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAEvC,iEAAiE;QACjE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAG7C,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3F,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAClD;QAED,+DAA+D;QAE/D,6EAA6E;QAC7E,mCAAmC;QACnC,UAAU;QACV,0DAA0D;QAC1D,kFAAkF;QAClF,GAAG;QACH,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAChD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IACD,0CAAa,GAAb,UAAc,KAAU;QAEtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;QAC/C,6EAA6E;QAC7E,mCAAmC;QACnC,mCAAmC;QAEnC,UAAU;QACV,wCAAwC;QACxC,gEAAgE;QAChE,GAAG;QACH,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAChD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC9C,IAAI,GAAG,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,GAAG,IAAI,IAAI,EAAE;YAEf,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,sDAAsD;SAEvD;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3F,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAClD;QAGD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEvD,CAAC;IACD,qCAAQ,GAAR,UAAS,OAAO;QACd,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,MAAM,GAAG,GAAG,CAAC;YACjB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAExB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;aAC/C;iBAAM;gBAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aAAE;YACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAEvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,MAAM,GAAG,OAAO,CAAC;SACtB;QACD,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC;QAClD,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1I,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7I,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACrJ,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAChJ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7I,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7H,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACrI,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAClJ,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAClJ,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACnJ,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpJ,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7D,IAAI,CAAC,gCAAgC,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACjI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAEhI,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACzE,IAAI,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACpD,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QAEhD,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEpD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,uHAAuH;YACvH,IAAI,OAAO,CAAC,kBAAkB,IAAI,SAAS,EAAE;gBAC3C,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAC5D;QAEH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACpG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,sEAAsE;IACxE,CAAC;IACD,uCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAErC,CAAC;IACD,yCAAY,GAAZ;QACE,uEAAuE;IAEzE,CAAC;IACD,6CAAgB,GAAhB,UAAiB,GAAG;QAApB,iBAyCC;QAxCC,IAAI,GAAG,IAAI,GAAG,EAAE;YACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAE1B;aAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnC,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACnD;aACI,IAAI,GAAG,IAAI,QAAQ,EAAE;YACxB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,KAAK;YAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,eAAc;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAc;YACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,eAAc;YAE1C,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,eAAc;YAC1E,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,eAAc;YACxE,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,eAAc;SAEvE;aAAM,IAAI,GAAG,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAc;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAc;YACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAc;YACzC,6EAA6E;YAC7E,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;YACtE,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;YAClE,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC,eAAc;YAC3E,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,eAAc;YACzE,6EAA6E;YAC3E,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC,eAAc;YAEzF,8BAA8B;SAC/B;aACI;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,+CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,WAAW,EAAE;YACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IAEH,CAAC;IACD,oCAAO,GAAP;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,kDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,oDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,yCAAY,GAAZ,UAAa,EAAE;QACb,IAAI,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC;QACP,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,qCAAQ,GAAR,UAAS,EAAE;QACT,IAAI,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC;QACP,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;IACD,0CAAa,GAAb,UAAc,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY;QAChE,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC3D,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACrD,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAClE,IAAI,UAAU,IAAI,eAAe,EAAE;YACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;SACtF;aAAM;YACL,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;SAC/F;IACH,CAAC;IACD,6CAAgB,GAAhB,UAAiB,UAAU;QACzB,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9D,CAAC;IACD,iDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,mBAAmB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,CAAC;IACD,kDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,eAAe,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,CAAC;IACD,iDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,kBAAkB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,CAAC;IACD,kDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,mBAAmB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpH,CAAC;IACD,0CAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,CAAC;IACD,yDAA4B,GAA5B,UAA6B,GAAG;QAC9B,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvH,CAAC;IACD,2DAA8B,GAA9B,UAA+B,GAAG;QAChC,IAAI,CAAC,mBAAmB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC;IACD,wDAA2B,GAA3B,UAA4B,GAAG;QAC7B,IAAI,CAAC,gBAAgB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,CAAC;IACD,uDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,CAAC,oBAAoB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtH,CAAC;IACD,kDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClH,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC;IACD,2CAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,mBAAmB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,4CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,mBAAmB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpG,CAAC;IACD,+CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,sDAAyB,GAAzB,UAA0B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY;QAA9D,iBAwBC;QAvBC,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAC5F,MAAM,CAAC,OAAO,CAAC,oCAA0B;oBACvC,0BAA0B,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,0BAA0B,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACvH,0BAA0B,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;gBACnI,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC;gBACzC,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC9D,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACtD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE;4BAC7B,OAAO,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC9D,OAAO,CAAC,0BAA0B,CAAC,YAAY,GAAG,QAAQ,CAAC;yBAC5D;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACT,KAAI,CAAC,SAAS,CAAC,2BAA2B,GAAG,KAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;YACtF,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;SACtC;IACH,CAAC;IACM,2CAAc,GAArB,UAAsB,QAAQ;QAC5B,IAAI,MAAM,GAAG;YACX,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;YAC9C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW;YACrC,SAAS,EAAE,UAAU,EAAE,UAAU;SAClC,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,8CAAiB,GAAjB;QACE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjE,CAAC;IACD,mDAAsB,GAAtB;QACE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC;QAC/E,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,yCAAY,GAAZ,UAAa,OAAO;QAClB,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,6CAAgB,GAAhB,UAAiB,WAAW;QAA5B,iBAiGC;QA/FD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAClB,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,WAAW,IAAI,MAAM,EAAE;YACzB,IAAI,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACnE,IAAI,iBAAiB,IAAI,IAAI,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC;aACnD;YACD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACrI,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;aACI,IAAI,WAAW,IAAI,MAAM,EAAE;YAC9B,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC/D,IAAI,eAAe,IAAI,IAAI,EAAE;gBAC3B,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC;aACjD;YACD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,CAAC,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC5F,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;YACvC,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,WAAW,IAAI,MAAM,IAAI,WAAW,IAAI,MAAM,EAAE;YACvD,IAAI,WAAW,IAAI,MAAM,EAAE;gBACzB,IAAI,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBACvE,IAAI,mBAAmB,IAAI,IAAI,EAAE;oBAC/B,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC;iBACrD;aACF;iBAAM;gBACL,IAAI,uBAAuB,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAC3E,IAAI,uBAAuB,IAAI,IAAI,EAAE;oBACnC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,QAAQ,EAAE,IAAI,CAAC;iBACzD;aACF;YACD,IAAI,CAAC,eAAe,GAAG,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACpD,IAAI,CAAC,wBAAwB,CAAC,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YAC3G,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;SAC1E;aACI,IAAI,WAAW,IAAI,MAAM,EAAE;YAC9B,IAAI,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACvE,IAAI,mBAAmB,IAAI,IAAI,EAAE;gBAC/B,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC;aACrD;YACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAE9F;aAAM,IAAI,WAAW,IAAI,MAAM,EAAE;YAChC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAElC;aAAM,IAAG,WAAW,IAAI,MAAM,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAE5F;aACI,IAAI,WAAW,IAAI,MAAM,EAAE;YAC9B,IAAI,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC9D,IAAI,cAAc,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC;aAChD;YACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,UAAU,CAAC;gBACT,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK;oBAChD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;wBACzC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;qBAC9B;gBACH,CAAC,CAAC,CAAC;YAEL,CAAC,EAAE,GAAG,CAAC,CAAC;SAET;QAED,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YACvD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aACrC;YACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;aAC3D;SAGF;QAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,4CAAe,GAAf,UAAgB,MAAM,EAAE,GAAG,EAAE,IAAI;QAAjC,iBAKC;QAJC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5E,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QAEzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAa,GAAb,UAAc,MAAM,EAAE,GAAG,EAAE,IAAI;QAA/B,iBAMC;QALC,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC9E,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC3B,KAAI,CAAC,YAAY,CAAC,sBAAsB,GAAI,CAAC,MAAM,CAAC,KAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;gBAC3F,MAAM,CAAC,KAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,iDAAoB,GAApB;QAAA,iBAgBC;QAfC,IAAI,CAAC,kBAAkB,GAAgB;YACrC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YAED,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,KAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAwB,GAAxB,UAAyB,gBAAwB;QAC/C,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBACzB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;iBACjD,CAAC,CAAC;aAEJ;SACF;aAAM;YACL,IAAI,EAAE,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,gBAAgB,GAAG;gBACtB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG;gBAC1D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBAC/K;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM;wBAChG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;6BAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxO,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACjF,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBAE1J,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;aAClK,CAAC;SACH;IAEH,CAAC;IAED,iDAAoB,GAApB,UAAqB,YAAY,EAAE,UAAU;QAA7C,iBAiBC;QAhBC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9F,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;YAClC,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,SAAS,EAAE;gBACvG,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC9D,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE;4BAC7B,SAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BACtD,SAAO,CAAC,kBAAkB,CAAC,YAAY,GAAG,QAAQ,CAAC;yBACpD;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,yDAA4B,GAA5B,UAA6B,KAAK;QAChC,IAAI,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,uDAA0B,GAA1B,UAA2B,KAAK;QAC9B,IAAI,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,yDAA4B,GAA5B,UAA6B,KAAK;QAChC,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,sDAAyB,GAAzB,UAA0B,KAAK;QAC7B,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,oDAAuB,GAAvB,UAAwB,KAAK;QAC3B,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,sDAAyB,GAAzB,UAA0B,KAAK;QAC7B,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,qDAAwB,GAAxB,UAAyB,KAAK;QAC5B,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,mDAAsB,GAAtB,UAAuB,KAAK;QAC1B,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,qDAAwB,GAAxB,UAAyB,KAAK;QAC5B,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,6DAAgC,GAAhC,UAAiC,UAAU;QAEzC,IAAI,OAAO,GAAa,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAAA,CAAC;QACvF,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAE/B,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACtE;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,wDAA2B,GAA3B,UAA4B,UAAU;QACpC,IAAI,OAAO,GAAa,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,CAAC;QAC1N,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAE/B,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACtE;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,gEAAmC,GAAnC,UAAoC,QAAQ;QAC1C,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1F,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,iDAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9C,CAAC;IACD,sDAAyB,GAAzB,UAA0B,KAAK;QAC7B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,SAAS,CAAC;IACnD,CAAC;IACD,sDAAyB,GAAzB,UAA0B,KAAK;QAC7B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,SAAS,CAAC;IACnD,CAAC;IACD,uCAAU,GAAV,UAAW,GAAG;QAAd,iBA4BC;QA3BC,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC7F,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAE1B,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAC5C,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAClC,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACrD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACjD,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iCAAiC,GAAG,KAAI,CAAC,IAAI,GAAG,GAAG,GAAG,KAAI,CAAC,SAAS,GAAG,GAAG,GAAG,KAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;YAC9H,qCAAqC;YACrC,uBAAuB;YACvB,wDAAwD;QAE1D,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACrF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAIX,CAAC;IACD,+CAAkB,GAAlB,UAAmB,OAAgB;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,0CAAa,GAAb;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+GAA+G,CAAC,CAAC;QAC9J,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,wCAAW,GAAX,UAAY,GAAG;QAEb,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,MAAM,GAAG,OAAO,CAAC;QAErB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAChJ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7I,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpJ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACzI,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACpG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACvJ,CAAC;IACD,4DAA+B,GAA/B;QAAA,iBAwBC;QAtBC,IAAI,CAAC,0BAA0B,GAAgB;YAC7C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QAEF,IAAI,CAAC,0BAA0B,CAAC,aAAa,GAAG;YAC9C,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,yEAAyE;YACzE,+EAA+E;YAC/E,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,GAAG;YAEH,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,KAAI,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,4DAA+B,GAA/B,UAAgC,gBAAwB;QAEtD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,OAAO,CAAC,yBAAyB,GAAG,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC;oBACrC,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;oBAC/F,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;iBACjD,CAAC,CAAC;aAEJ;SACF;aAAM;YACL,IAAI,CAAC,yBAAyB,GAAG;gBAC/B,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAClG,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACzG,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAClG,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC3F,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACvF,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBACrJ,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAClG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACjG,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACxF,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACpF,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;aAEzF,CAAC;SACH;IACH,CAAC;IAED,wDAA2B,GAA3B,UAA4B,QAAQ;QAElC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBACzD,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,UAAU,CAAC;YACrD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAGV,CAAC;IACD,iDAAoB,GAApB,UAAqB,aAAa;QAChC,IAAI,aAAa,IAAI,KAAK,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;SACrE;aACI,IAAI,aAAa,IAAI,KAAK,EAAE;YAC/B,IAAI,WAAW,GAAG,oCAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YACpD,IAAI,SAAS,GAAG,oCAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YAEhD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;SAEpE;aACI,IAAI,aAAa,IAAI,KAAK,EAAE;YAC/B,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAC5G,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;SAC/G;aACI,IAAI,aAAa,IAAI,KAAK,EAAE;YAC/B,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;SAEjD;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IACD,4CAAe,GAAf,UAAgB,GAAG;QACjB,YAAY;IACd,CAAC;IACD,mDAAsB,GAAtB;IAEA,CAAC;IAED,sBAAsB;IACtB,+CAA+C;IAC/C,GAAG;IAGH,wCAAW,GAAX,UAAY,KAAa;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,6CAAgB,GAAhB,UAAiB,KAAa;QAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,gDAAmB,GAAnB;QACE,IAAM,QAAQ,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAErD,IAAI,CAAC,cAAc,GAAG,IAAI,uFAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,+CAAkB,GAAlB,UAAmB,GAAG;QAAtB,iBA6CC;QA5CC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,GAAG,CAAC;QAC9C,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,EAAE;YACpG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACrI,IAAI,QAAQ,GAAG,IAAI,CAAC;gBACpB,QAAQ,CAAC,OAAO,CAAC,aAAG;oBAClB,IAAI,GAAG,IAAI,IAAI,EAAE;wBACf,KAAI,CAAC,cAAc,IAAI,GAAG,CAAC,SAAS,CAAC;qBACtC;gBACH,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACxI,QAAQ,CAAC,OAAO,CAAC,aAAG;oBAClB,IAAI,GAAG,IAAI,IAAI,EAAE;wBACf,KAAI,CAAC,cAAc,IAAI,GAAG,CAAC,SAAS,CAAC;qBACtC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACtI,KAAK,CAAC,OAAO,CAAC,aAAG;oBACf,IAAI,GAAG,IAAI,IAAI,EAAE;wBACf,KAAI,CAAC,cAAc,IAAI,GAAG,CAAC,SAAS,CAAC;qBACtC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACpI,IAAI,CAAC,OAAO,CAAC,aAAG;oBACd,IAAI,GAAG,IAAI,IAAI,EAAE;wBACf,KAAI,CAAC,aAAa,IAAI,GAAG,CAAC,SAAS,CAAC;qBACrC;gBACH,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;SAEJ;IAGH,CAAC;IACD,4BAA4B;IAC5B,2FAA2F;IAC3F,oCAAoC;IACpC,OAAO;IACP,GAAG;IAEH,2CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC5C;IACH,CAAC;IAKD,4CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;QAChC,sCAAsC;QACtC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,yCAAY,GAAZ,UAAa,KAAqB;QAChC,UAAU,CAAC;YACT,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK;gBAChD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QAEL,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,4CAAe,GAAf;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QAClO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,2CAAc,GAAd,UAAe,GAAG;QAChB,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjB;aAAM;YACL,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,kEAAkE;gBAClE,0EAA0E;gBAC1E,2FAA2F;gBAE3F,SAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAO,CAAC,EAAE,EAAE,SAAO,CAAC,IAAI,CAAC,CAAC;gBAC5D,SAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAO,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACpE,SAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,SAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IAED,+CAAkB,GAAlB,UAAmB,KAAK,EAAE,IAAI;QAC5B,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,QAAQ,GAAG,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,MAAM,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK,EAAE,IAAI;QACvB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,QAAQ,GAAG,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,MAAM,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;IACD,yCAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,QAAQ,GAAG,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,MAAM,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,+CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,QAAQ,GAAG,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,MAAM,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,wCAAW,GAAX;QACE,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,GAAG,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,sDAAyB,GAAzB;QACE,IAAI,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACvO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,qGAAqG;QAErG,2EAA2E;QAC3E,oEAAoE;QACpE,iDAAiD;QACjD,KAAK;QAEL,0CAA0C;QAC1C,8CAA8C;QAC9C,mDAAmD;QACnD,oDAAoD;QACpD,+EAA+E;QAC/E,OAAO;QACP,KAAK;QAEL,uEAAuE;QACvE,KAAK;QAEL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,8BAA8B;QAC9B,yCAAyC;QACzC,IAAI;QAEJ,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QAEF,qBAAqB;QACrB,4BAA4B;QAC5B,mDAAmD;QACnD,2CAA2C;QAC3C,uDAAuD;QACvD,oDAAoD;QACpD,OAAO;QACP,OAAO;QACP,WAAW;IAEb,CAAC;IAED,kDAAqB,GAArB;QACE,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;YAChD,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACtE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF;QACD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QAGzC,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBACrF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBACvF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;YACxD;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBACvF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACnE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACtF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBACnG,CAAC;aACF;YACD;gBAEE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAC3D,UAAU,MAAM;oBACd,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBACvF,CAAC,EAAE,YAAY,YAAC,MAAM;oBACpB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE;wBAAE,OAAO,GAAG;qBAAE;yBAAM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBACpJ,CAAC;aAEJ;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBAChF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;wBAAE,OAAO,UAAU;qBAAE;yBACrD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;wBAAE,OAAO,yBAAyB;qBAAE;yBAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,yBAAyB,EAAE;wBAAE,OAAO,iBAAiB;qBAAE;yBACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;wBAAE,OAAO,mBAAmB;qBAAE;yBAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,EAAE;wBAAE,OAAO,uBAAuB;qBAAE;yBACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,uBAAuB,EAAE;wBAAE,OAAO,iBAAiB;qBAAE;yBACnF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;wBAAE,OAAO,eAAe;qBAAE;yBAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE;wBAAE,OAAO,kBAAkB;qBAAE;gBACnF,CAAC;aACF;YACD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;YACpD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YACnE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;SAGpE,CAAC;QAEF,IAAI,eAAe,GAAG,UAAU,MAAM;YACpC,OAAO,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;QAC1E,CAAC,CAAC;IAEJ,CAAC;IAED,wCAAW,GAAX,UAAY,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM;QAArD,iBAoEC;QAnEC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,GAAG,IAAI,YAAY,EAAE;YACvB,SAAS,GAAG,WAAW,CAAC;SACzB;aAAM,IAAI,GAAG,IAAI,WAAW,EAAE;YAC7B,SAAS,GAAG,aAAa,CAAC;SAC3B;aAAM,IAAI,GAAG,IAAI,KAAK,EAAE;YACvB,SAAS,GAAG,UAAU,CAAC;SACxB;aACI;YACH,SAAS,GAAG,WAAW,CAAC;SACzB;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,EAAxD,CAAwD,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,KAAK,GAAG,mEAAmE,EAAE,eAAe,CAAC,CAAC;gBACjJ,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACvL,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,IAAI,EAAE;oBACnE,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,CAAC,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC;oBACvG,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;iBAErD;gBACD,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACnF,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBACnG,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,GAAQ,QAAQ,CAAC;gBAC1B,IAAI,GAAG,IAAI,MAAM,EAAE;oBACjB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,EAA7C,CAA6C,CAAC,CAAC;iBAC/E;gBACD,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE;oBACxE,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wBAC9B,KAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACtE,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACjF,6CAA6C;wBAC7C,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,KAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACpG;oBACD,KAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,uDAAuD;oBAChG,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpE,KAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAE7B;qBACI;oBACH,KAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,EAAE,CAAC;oBACpC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5B,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,EAAE,CAAC;oBAC5C,KAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;oBAChD,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBACnD;aAEF;QACH,CAAC,CAAC,CAAC;QAEH,0BAA0B;IAC5B,CAAC;IACD,2CAAc,GAAd;QAAA,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC7G,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAyB,GAAzB,UAA0B,GAAG;QAE3B,IAAI,CAAC,sBAAsB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErG,CAAC;IACD,qDAAwB,GAAxB,UAAyB,GAAG;QAE1B,IAAI,CAAC,sBAAsB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErG,CAAC;IACD,2CAAc,GAAd,UAAe,GAAG,EAAE,IAAI;QAAxB,iBA6BC;QA5BC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,QAAQ,GAAG,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,MAAM,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,CAAC,qBAAqB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC9D;aAAM,IAAI,IAAI,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,kBAAkB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC3D;aAAM,IAAI,IAAI,IAAI,WAAW,EAAE;YAC9B,IAAI,CAAC,sBAAsB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,sBAAsB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAClG,IAAI,IAAI,IAAI,UAAU,EAAE;gBACtB,KAAI,CAAC,OAAO,CAAC,wBAAwB,GAAG,QAAQ,CAAC,wBAAwB,CAAC;aAC3E;iBAAM,IAAI,IAAI,IAAI,OAAO,EAAE;gBAC1B,KAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;aACrE;iBAAM,IAAI,IAAI,IAAI,WAAW,EAAE;gBAC9B,KAAI,CAAC,OAAO,CAAC,yBAAyB,GAAG,QAAQ,CAAC,yBAAyB,CAAC;aAC7E;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,yBAAyB,GAAG,QAAQ,CAAC,yBAAyB,CAAC;aAC7E;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,GAAG,oCAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC;IACD,oDAAuB,GAAvB;QAAA,iBAyBC;QAxBC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YACxE,GAAG,CAAC,OAAO,CAAC,WAAC;gBACX,IAAI,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACvE,IAAI,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;gBACpE,IAAI,SAAS,CAAC;gBACd,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE;oBACvB,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAxB,CAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7E;gBACD,IAAI,WAAW,IAAI,WAAW,IAAI,CAAC,SAAS,EAAE;oBAC5C,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;oBAC5B,KAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;oBAC5B,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClC,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC;oBAC3E,wCAAwC;iBACzC;qBACI;oBACH,yCAAyC;iBAE1C;YAEH,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAmB,GAAnB,UAAoB,IAAI;QACtB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,mBAAmB;IAC1B,CAAC;IAED,yDAA4B,GAA5B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6GAA6G,CAAC,CAAC;QACxK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,4CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE;YACzB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;YACnB,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SACtC;aAAM;YACL,GAAG,CAAC,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAC5C;QAED,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;IACnC,CAAC;IAED,oDAAuB,GAAvB,UAAwB,YAAY;QAApC,iBAMC;QAJC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YACnE,KAAI,CAAC,uBAAuB,EAAE;QAEhC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAa,GAAb;IAEA,CAAC;IACD,gDAAmB,GAAnB,UAAoB,QAAQ;QAC1B,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iCAA+B,QAAQ,CAAC,IAAI,CAAC,SAAS,SAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAO,CAAC,CAAC;IAC/G,CAAC;IAED,0CAAa,GAAb;QAEE,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;aAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE9C,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,UAAU,CAAC;YAC9B,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,aAAa;YAC1B,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,OAAO;SACrB,CAAC,CAAC;IAGL,CAAC;IACD,2CAAc,GAAd,UAAe,KAAK;QAElB,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9E,CAAC;IAED,iDAAoB,GAApB,UAAqB,KAAK;QAExB,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9E,CAAC;IAED,8CAAiB,GAAjB,UAAkB,KAAK,EAAE,IAAI;QAC3B,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,QAAQ,GAAG,oCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,MAAM,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,uCAAU,GAAV,UAAW,QAAQ,EAAE,GAAG,EAAE,SAAS;QACjC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,QAAQ,IAAI,aAAa,IAAI,QAAQ,IAAI,gBAAgB,IAAI,QAAQ,IAAI,aAAa,IAAI,QAAQ,IAAI,cAAc,EAAE;YACxH,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;SACpD;QACA,IAAI,QAAQ,IAAI,wBAAwB,IAAI,QAAQ,IAAI,eAAe,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YAC7G,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;SACxD;QACA,IAAI,QAAQ,IAAI,wBAAwB,IAAI,QAAQ,IAAI,eAAe,IAAI,QAAQ,IAAG,qBAAqB,EAC5G;YACE,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;SACxD;QACA,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YACvG,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;SACxD;QACA,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YACpG,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;SACpD;QACD,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,IAAI,cAAc,EAAE;YAC5F,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;SACtD;QACD,IAAI,QAAQ,IAAI,aAAa,EAAE;YAC7B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;SACvC;aACI,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YACrC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;SACvC;aACI,IAAI,QAAQ,IAAI,aAAa,EAAE;YAClC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACnC;aACI,IAAI,QAAQ,IAAI,cAAc,EAAE;YACnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;aACI,IAAI,QAAQ,IAAI,wBAAwB,IAAI,QAAQ,IAAI,wBAAwB,EAAE;YACrF,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;SAC5C;aACI,IAAI,QAAQ,IAAI,eAAe,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YACzE,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;YACzC,IAAI,QAAQ,IAAI,qBAAqB,EAAE;gBACrC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;aAChC;iBACI,IAAI,QAAQ,IAAI,eAAe,EAAE;gBACpC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;aACtC;SACF;aACI,IAAI,QAAQ,IAAI,mBAAmB,EAAE;YAAE,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;SAAE;aACpF,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YACrC,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;SAC5C;aAAM,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,mBAAmB,EAAE;YAC7E,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;YACzC,IAAI,QAAQ,IAAI,mBAAmB,EAAE;gBAAE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aAAE;iBACvE,IAAI,QAAQ,IAAI,mBAAmB,EAAE;gBAAE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aAAE;SAClF;aAAM,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YACvE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,QAAQ,IAAI,qBAAqB,EAAE;gBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAAE;iBACjE,IAAI,QAAQ,IAAI,WAAW,EAAE;gBAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;SACF;aAAM,IAAI,QAAQ,IAAI,qBAAqB,EAAE,GAAG;aAC5C,IAAI,QAAQ,IAAI,cAAc,EAAE;YACnC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;IAEH,CAAC;IACD,wCAAW,GAAX,UAAY,QAAQ,EAAE,SAAS;QAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;QACzC,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC3C,IAAI,QAAQ,IAAI,aAAa,IAAI,QAAQ,IAAI,gBAAgB,IAAI,QAAQ,IAAI,aAAa,IAAI,QAAQ,IAAI,cAAc,EAAE;YACxH,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;SAC7C;QACD,IAAI,QAAQ,IAAI,wBAAwB,IAAI,QAAQ,IAAI,eAAe,IAAI,QAAQ,IAAG,qBAAqB,EAAE;YAC3G,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;SACjD;QACA,IAAI,QAAQ,IAAI,wBAAwB,IAAI,QAAQ,IAAI,eAAe,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YAC7G,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;SACjD;QACA,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YACvG,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;SACjD;QACA,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YACpG,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;SAC7C;QACD,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,IAAI,cAAc,EAAE;YAC5F,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;SAC/C;QACD,IAAI,QAAQ,IAAI,aAAa,EAAE;YAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;aACI,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAEzB;aACI,IAAI,QAAQ,IAAI,aAAa,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;aACI,IAAI,QAAQ,IAAI,cAAc,EAAE;YACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;aACI,IAAI,QAAQ,IAAI,wBAAwB,IAAI,QAAQ,IAAI,wBAAwB,EAAE;YACrF,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;aACI,IAAI,QAAQ,IAAI,eAAe,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YACzE,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;YAC1C,IAAI,QAAQ,IAAI,qBAAqB,EAAE;gBAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAAE;iBACpE,IAAI,QAAQ,IAAI,eAAe,EAAE;gBACpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;aACrC;SACF;aACI,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YACrC,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAC7C;aACI,IAAI,QAAQ,IAAI,mBAAmB,IAAI,QAAQ,IAAI,mBAAmB,EAAE;YAC3E,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;YAC1C,IAAI,QAAQ,IAAI,mBAAmB,EAAE;gBAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aAAE;iBACtE,IAAI,QAAQ,IAAI,mBAAmB,EAAE;gBAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aAAE;SACjF;aACI,IAAI,QAAQ,IAAI,WAAW,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YACrE,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,QAAQ,IAAI,qBAAqB,EAAE;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAAE;iBAChE,IAAI,QAAQ,IAAI,WAAW,EAAE;gBAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;SACF;aACI,IAAI,QAAQ,IAAI,mBAAmB,EAAE;YAAE,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAAE;aAErF,IAAI,QAAQ,IAAI,cAAc,EAAE;YACnC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;IACH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gHCtnHC,6SAQiE,YADhD;;wBAA+C;MAC/C;;wBAA+C;MARhE,giDAQiE,mIAPhD,mBAA+B,kBAG/B,mBAA4B,mBAF5B,mBAAyB,aAIzB,mBAAmB,UAHnB,mBAAwD,yCAExD,mBAAmB,UALpC,YAQiE,EAPhD,SAA+B,EAG/B,SAA4B,EAF5B,SAAyB,EAIzB,SAAmB,EAHnB,SAAwD,EAExD,SAAmB;gHAMpC,+SAQiE,YADhD;;wBAA+C;MAC/C;;wBAA+C;MARhE,giDAQiE,mIAPhD,mBAAqC,wBAGrC,mBAA8B,qBAF9B,mBAAyB,aAIzB,mBAAmB,UAHnB,mBAAwD,yCAExD,mBAAmB,UALpC,YAQiE,EAPhD,SAAqC,EAGrC,SAA8B,EAF9B,SAAyB,EAIzB,SAAmB,EAHnB,SAAwD,EAExD,SAAmB;gHAMpC,kTAQiE,YADhD;;wBAA+C;MAC/C;;wBAA+C;MARhE,giDAQiE,mIAPhD,mBAAwC,2BAGxC,mBAAiC,wBAFjC,mBAAyB,aAIzB,mBAAmB,UAHnB,mBAAwD,yCAExD,mBAAmB,UALpC,YAQiE,EAPhD,SAAwC,EAGxC,SAAiC,EAFjC,SAAyB,EAIzB,SAAmB,EAHnB,SAAwD,EAExD,SAAmB;gHAMpC,kTAQiE,YADhD;;wBAA+C;MAC/C;;wBAA+C;MARhE,giDAQiE,mIAPhD,mBAAwC,2BAGxC,mBAA8B,qBAF9B,mBAAyB,aAIzB,mBAAmB,UAHnB,mBAAwD,yCAExD,mBAAmB,UALpC,YAQiE,EAPhD,SAAwC,EAGxC,SAA8B,EAF9B,SAAyB,EAIzB,SAAmB,EAHnB,SAAwD,EAExD,SAAmB;gHAvCtC,iLAAqD,KACnD,mZAQiE,IAGjE,mZAQiE,IAGjE,mZAQiE,IAGjE,mZAQiE,iDAzCO,mCAAqB,GAA7F,YAQiE,EARO,SAAqB,GAWlB,qCAAuB,GAAlG,YAQiE,EARU,SAAuB,GAWpB,wCAA0B,GAAxG,YAQiE,EARa,SAA0B,GAW1B,wCAA0B,GAAxG,YAQiE,EARa,SAA0B;;;;;;;;;;;;;;;;AC/B1G;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqE;AACF;AACe;AAElD;AACS;AAEzC;IAwBE,oCAAoB,MAAc,EAAQ,oBAA0C,EAAU,eAAgC;QAA1G,WAAM,GAAN,MAAM,CAAQ;QAAQ,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAlBrH,iBAAY,GAAW,eAAe,CAAC;QACvC,SAAI,GAAW,MAAM,CAAC;QAU/B,qBAAgB,GAAe,EAAE,CAAC;QAClC,iBAAY,GAAe,EAAE,CAAC;QAC9B,uBAAkB,GAAe,EAAE,CAAC;QACpC,0BAAqB,GAAe,EAAE,CAAC;QACvC,uBAAkB,GAAe,EAAE,CAAC;QAIlC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3J,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACzG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,6CAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,QAAQ,IAAI,CAAC,YAAY,EAAE;YACzB,KAAK,eAAe,CAAC,CAAC;gBACpB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM;aACP;YACD,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM;aACP;YACD,KAAK,oBAAoB,CAAC,CAAC;gBACzB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAC,IAAI,CAAC,CAAC;gBACrC,MAAM;aACP;YACD,KAAK,oBAAoB,CAAC,CAAC;gBACzB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtC,MAAM;aACP;SACF;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,wDAAmB,GAAnB,UAAoB,GAAG;QAErB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;YACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;SAC5G,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEzC,CAAC;IAED,qDAAgB,GAAhB;QACE,IAAI,CAAC,eAAe,GAAgB;YAClC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAgB;YACxC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAgB;YAC3C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAgB;YAC3C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,0FAAqB;SAEpC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,qDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB,GAAG;YACH,oBAAoB;YACpB,eAAe;YACf,cAAc;YACd,4BAA4B;YAC5B,0BAA0B;YAC1B,uBAAuB;YACvB,iBAAiB;YACjB,+BAA+B;YAC/B,kCAAkC;YAClC,6CAA6C;YAC7C,IAAI;YACJ,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YACzE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YACvE,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;YAE3E,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YACjE,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;YACrE;gBACE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;oBACrG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAExB,OAAO,MAAM,CAAC,KAAK,CAAC;qBAErB;yBAAM;wBACL,OAAO,GAAG,CAAC;qBACZ;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;oBACrG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAExB,OAAO,MAAM,CAAC,KAAK,CAAC;qBAErB;yBAAM;wBACL,OAAO,GAAG,CAAC;qBACZ;gBACH,CAAC;aACF;YACD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;YACzE,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjF,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjF,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,+EAA+E;YAG/E,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;YACzE,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;YACzE,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7D,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7D,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YACjE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;SAEpD,CAAC;IAGJ,CAAC;IACD,mDAAc,GAAd,UAAe,SAAS,EAAE,OAAO;QAAjC,iBAUC;QATC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;YAC/D,GAAG,CAAC,OAAO,CAAC,aAAG;gBACb,GAAG,CAAC,WAAW,GAAG,mCAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAG1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAiB,GAAjB,UAAkB,KAAK;QAErB,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACrD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACxD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,UAAU,CAAC;gBACnD,IAAI,EAAE,CAAC,IAAI,IAAI,MAAM,EAAE;oBACrB,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;oBAC5C,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACzD;qBACI,IAAI,EAAE,CAAC,IAAI,IAAI,QAAQ,EAAE;oBAC5B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;oBAC9C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC/D;qBACI,IAAI,EAAE,CAAC,IAAI,IAAI,WAAW,EAAE;oBAC/B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;oBAChD,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAClE;qBACI,IAAI,EAAE,CAAC,IAAI,IAAI,WAAW,EAAE;oBAC/B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;oBACjD,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAClE;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEV,CAAC;IACD,oDAAe,GAAf;QAAA,iBAUC;QATC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;YAC/D,GAAG,CAAC,OAAO,CAAC,aAAG;gBACb,GAAG,CAAC,WAAW,GAAG,mCAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,MAAM,EAA7B,CAA6B,CAAC;YACtE,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE;gBACjD,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aAC9D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAY,GAAZ,UAAa,SAAS;QACpB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,IAAI,EAAE;gBACvC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;wBACpC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACnD,OAAO,CAAC,eAAe,CAAC,YAAY,GAAG,QAAQ,CAAC;qBACjD;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,0DAAqB,GAArB,UAAsB,SAAS;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI,IAAI,EAAE;gBAChD,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACpD,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;wBACpC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC5D,OAAO,CAAC,wBAAwB,CAAC,YAAY,GAAG,QAAQ,CAAC;qBAC1D;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAGD,uDAAkB,GAAlB,UAAmB,SAAS;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,IAAI,EAAE;gBAC7C,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACjD,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;wBACpC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACzD,OAAO,CAAC,qBAAqB,CAAC,YAAY,GAAG,QAAQ,CAAC;qBACvD;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,sDAAiB,GAAjB;QAAA,iBAUC;QATC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;YAC/D,GAAG,CAAC,OAAO,CAAC,aAAG;gBACb,GAAG,CAAC,WAAW,GAAG,mCAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,QAAQ,EAA/B,CAA+B,CAAC;YAC1E,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE;gBACvD,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAC1E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAoB,GAApB,UAAqB,SAAS,EAAE,OAAO;QAAvC,iBAiBC;QAhBC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;YAC/D,GAAG,CAAC,OAAO,CAAC,aAAG;gBACb,GAAG,CAAC,WAAW,GAAG,mCAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;gBACxC,IAAI,IAAI,GAAG,KAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,MAAM,EAA7B,CAA6B,CAAC;gBACtF,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,KAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;iBAAM;gBACL,KAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,UAAU,EAAjC,CAAiC,CAAC;aAChF;YACD,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;gBAC1D,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;aACvE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAoB,GAApB,UAAqB,SAAS,EAAE,OAAO;QAAvC,iBAiBC;QAfC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;YAC/D,GAAG,CAAC,OAAO,CAAC,aAAG;gBACb,GAAG,CAAC,WAAW,GAAG,mCAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;gBACxC,KAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,EAAxD,CAAwD,CAAC;aACpG;iBACI;gBACH,KAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,WAAW,EAAlC,CAAkC,CAAC;aAC9E;YACD,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;gBAC1D,KAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;aAChF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACpD;SACF;IAEH,CAAC;IAED,0DAAqB,GAArB,UAAsB,IAAI,EAAE,SAAiB,EAAE,OAAe;QAE5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,QAAQ,IAAI,CAAC,YAAY,EAAE;YACzB,KAAK,oBAAoB,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9C,0BAA0B;gBAC1B,MAAM;aACP;YACD,KAAK,oBAAoB,CAAC,CAAC;gBACzB,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9C,MAAM;aACP;SACF;IAEH,CAAC;IACH,iCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+GCpWA,2RAOuE,YAA7C;;wBAA4C;MAPtE,0/CAOuE,mIAN7C,mBAA2B,cAG3B,mBAAgC,uBAFhC,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAN7C,YAOuE,EAN7C,SAA2B,EAG3B,SAAgC,EAFhC,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;+GAI5C,4RAOsE,YAA7C;;wBAA4C;MAPrE,0/CAOsE,mIAN7C,mBAA2B,cAG3B,mBAAiC,wBAFjC,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAN5C,YAOsE,EAN7C,SAA2B,EAG3B,SAAiC,EAFjC,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;+GAI5C,4RAOsE,YAA7C;;wBAA4C;MAPrE,0/CAOsE,mIAN7C,mBAA2B,cAG3B,mBAAiC,wBAFjC,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAN5C,YAOsE,EAN7C,SAA2B,EAG3B,SAAiC,EAFjC,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;+GAI3C,4RAQsE,YAA7C;;wBAA4C;MARrE,0/CAQsE,mIAN7C,mBAA2B,cAG3B,mBAAqC,4BAFrC,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAP5C,YAQsE,EAN7C,SAA2B,EAG3B,SAAqC,EAFrC,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;+GAtC/C,kLAAsD,KACrD,kZAOuE,IAGtE,kZAOsE,IAGtE,kZAOsE,IAGrE,kZAQsE,iDAtCU,kCAAmB,GAArG,YAOuE,EAPW,SAAmB,GAUjB,mCAAoB,GAAvG,YAOsE,EAPa,SAAoB,GAUpB,mCAAoB,GAAvG,YAOsE,EAPa,SAAoB,GAW7E,uCAAwB,GADjD,YAQsE,EAP7C,SAAwB;;;;;;;;;;;;;;;;AChCpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAC8C;AAEZ;AACV;AACnC;AAES;AAEzC;IA6BE,mCAAoB,iBAAsC,EAAS,oBAA0C,EAAU,MAAc;QAAjH,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAXrI,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAG3C,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,eAAU,GAAY,IAAI,CAAC;QAM3B,kBAAa,GAAG,IAAI,0DAAY,EAAU,CAAC;QAEzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,4CAAQ,GAAR;QACE,2BAA2B;QAC3B,yBAAyB;QACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/E,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,mDAAe,GAAf,UAAgB,IAAI,EAAE,cAAc,EAAE,YAAY;QAChD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAE/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;SAC3E;aAAM;YAEL,IAAI,IAAI,CAAC,eAAe,IAAI,mBAAmB,EAAE;gBAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;aACtE;iBAAM,IAAI,IAAI,CAAC,eAAe,IAAI,oBAAoB,EAAE;gBACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;aACvE;iBAAM,IAAI,IAAI,CAAC,eAAe,IAAI,oBAAoB,EAAE;gBACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;aACvE;SAEF;IAEH,CAAC;IAED,oDAAgB,GAAhB;QAAA,iBAmCC;QAlCC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YACtG,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,8DAA8D;aAC/D;YACD,KAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3G,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;QAE/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtB,CAAC;IACD,oDAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QAChF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;YAChD,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACtE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF;QACD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/E,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChN;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC9H,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAC3E,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BAClL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE;oBAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC3L,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC7L,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBACnK,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAC5J,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAC9J,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAY/J,CAAC,CAAC;iBACJ;qBAEI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAY3J,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACjM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;gCAChC,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;wBACD,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBAC7B,IAAI,CAAC,UAAU,GAAG;oBAChB;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;wBAC9D,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;wBACzD,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC/E;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAClC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gCAAE,OAAO,QAAQ,CAAC;6BAAE;wBACpF,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK;qBAC/D;oBAED;wBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;gCAChC,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBAID;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;qBAcrE;oBACD;wBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;qBAYjE;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC/F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBAGD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;iBAElG,CAAC;aACH;iBACI,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;gBAC3B,IAAI,CAAC,UAAU,GAAG;oBAEhB;wBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;gCAChC,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;wBACH,CAAC;qBACF;oBAED;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;wBAC9D,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBAED;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBAED;wBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;wBACzD,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBAID;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;qBAcrE;oBACD;wBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;qBAYjE;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC/F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBAGD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;iBAEpG,CAAC;aACH;iBACI;gBACH,IAAI,CAAC,UAAU,GAAG;oBAEhB;wBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;gCAChC,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;wBAC9D,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBAED;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;wBACzD,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBAED;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACvF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACrF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBAID;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;qBAcrE;oBACD;wBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;qBAYjE;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC/F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBAGD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;iBAEpG,CAAC;aACH;YAED,IAAI,eAAe,GAAG,UAAU,MAAM;gBACpC,OAAO,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1E,CAAC,CAAC;SACH;IACH,CAAC;IAED,kDAAc,GAAd,UAAe,GAAG,EAAE,OAAO,EAAE,SAAS;QAAtC,iBA2BC;QA1BC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACnJ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAEvB,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;gBACrC,IAAI,KAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxC,IAAI,GAAG,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO,IAAK,UAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAhD,CAAgD,EAAE,CAAC,CAAC,CAAC;oBAClH,IAAI,EAAE,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO,IAAK,UAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAA3C,CAA2C,EAAE,CAAC,CAAC,CAAC;oBAC5G,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;iBACzC;gBACD,IAAI,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC1E,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,iBAAiB,EAAE;4BACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;yBAC7C;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI;gBACH,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBAC/B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,mDAAe,GAAf,UAAgB,GAAG,EAAE,OAAO,EAAE,SAAS;QAAvC,iBAYC;QAXC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACnJ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;aACvC;iBACI;gBACH,KAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;aAEjC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,mDAAe,GAAf,UAAgB,GAAG,EAAE,OAAO,EAAE,SAAS;QAAvC,iBAqBC;QApBC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACnJ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;gBACtC,IAAI,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC1E,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,iBAAiB,EAAE;4BACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;yBAC7C;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI;gBACH,KAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;aAEjC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,kDAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC9D,2BAA2B;QAC3B,gEAAgE;QAChE,qCAAqC;QACnC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,GAAG;QAEH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAuC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,SAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,cAAS,QAAQ,CAAC,IAAI,CAAC,EAAI,CAAC,CAAC;IAEtJ,CAAC;IAED,uDAAmB,GAAnB,UAAoB,GAAG,EAAE,OAAO,EAAE,SAAS;QAA3C,iBAqBC;QApBC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC9I,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC;gBAC1C,IAAI,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC1E,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,iBAAiB,EAAE;4BACrC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;yBAC7C;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBACI;gBACH,KAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;aAErC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACH,gCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+GC3/BD,iLAA6E,KAC3E,2qDAMqC,mDALpB,mBAAiC,oBAGjC,mBAAuB,cAFvB,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANpC,YAMqC,EALpB,SAAiC,EAGjC,SAAuB,EAFvB,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;+GAGtC,iLAA8E,KAC5E,6RAQqC,YAHpB;;wBAA+C;MAC/C;;wBAA+C;MANhE,giDAQqC,mDAPpB,mBAA2B,cAG3B,mBAAwB,eAFxB,mBAAyB,aAKzB,mBAAmB,UAJnB,mBAAwD,yCAKxD,mBAAmB,UARpC,YAQqC,EAPpB,SAA2B,EAG3B,SAAwB,EAFxB,SAAyB,EAKzB,SAAmB,EAJnB,SAAwD,EAKxD,SAAmB;+GAGtC,iLAAsF,KACpF,6RAQqC,YAHpB;;wBAA+C;MAC/C;;wBAA+C;MANhE,giDAQqC,mDAPpB,mBAA2B,cAG3B,mBAAwB,eAFxB,mBAAyB,aAKzB,mBAAmB,UAJnB,mBAAwD,yCAKxD,mBAAmB,UARpC,YAQqC,EAPpB,SAA2B,EAG3B,SAAwB,EAFxB,SAAyB,EAKzB,SAAmB,EAJnB,SAAwD,EAKxD,SAAmB;+GAGtC,iLAAoF,KAClF,6RAQqC,YAHpB;;wBAA+C;MAC/C;;wBAA6D;MAN9E,giDAQqC,mDAPpB,mBAA2B,cAG3B,mBAA8B,qBAF9B,mBAAyB,aAKzB,mBAAmB,UAJnB,mBAAwD,yCAKxD,mBAAmB,UARpC,YAQqC,EAPpB,SAA2B,EAG3B,SAA8B,EAF9B,SAAyB,EAKzB,SAAmB,EAJnB,SAAwD,EAKxD,SAAmB;+GAKtC,iLAA0F,KACxF,+TAOqC,YAFpB;;wBAA4D;MAL7E,0/CAOqC,mDANpB,mBAAwC,2BAGxC,mBAA+B,sBAF/B,mBAAgC,oBAIhC,mBAAmB,UAHnB,mBAAwD,yCAIxD,mBAAmB,UAPpC,YAOqC,EANpB,SAAwC,EAGxC,SAA+B,EAF/B,SAAgC,EAIhC,SAAmB,EAHnB,SAAwD,EAIxD,SAAmB;+GAGtC,iLAA4F,KAC1F,qUAOqC,YAFpB;;wBAA8D;MAL/E,0/CAOqC,mDANpB,mBAAwC,2BAGxC,mBAAiC,wBAFjC,mBAAgC,oBAIhC,mBAAmB,UAHnB,mBAAwD,yCAIxD,mBAAmB,UAPpC,YAOqC,EANpB,SAAwC,EAGxC,SAAiC,EAFjC,SAAgC,EAIhC,SAAmB,EAHnB,SAAwD,EAIxD,SAAmB;+GAMtC,iLAA6F,KAC3F,isDAMqC,mDALpB,mBAAwC,2BAGxC,mBAAiC,wBAFjC,mBAAgC,oBAGhC,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANpC,YAMqC,EALpB,SAAwC,EAGxC,SAAiC,EAFjC,SAAgC,EAGhC,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;+GAMtC,iLAA6F,KAC3F,isDAMqC,mDALpB,mBAAwC,2BAGxC,mBAAiC,wBAFjC,mBAAgC,oBAGhC,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANpC,YAMqC,EALpB,SAAwC,EAGxC,SAAiC,EAFjC,SAAgC,EAGhC,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;+GA7FtC,kZAA6E,IAU7E,kZAA8E,IAY9E,kZAAsF,IAYtF,kZAAoF,IAcpF,kZAA0F,IAW1F,mZAA4F,IAc5F,mZAA6F,IAa7F,mZAA6F,iDAtFxC,sCAAuB,GAA5E,YAA6E,EAAxB,SAAuB,GAUvB,uCAAwB,GAA7E,YAA8E,EAAzB,SAAwB,GAYxB,+CAAgC,GAArF,YAAsF,EAAjC,SAAgC,GAYhC,6CAA8B,GAAnF,YAAoF,EAA/B,SAA8B,GAc9B,iDAAoC,GAAzF,YAA0F,EAArC,SAAoC,GAWpC,mDAAsC,GAA3F,aAA4F,EAAvC,SAAsC,GActC,oDAAuC,GAA5F,aAA6F,EAAxC,SAAuC,GAavC,oDAAuC,GAA5F,aAA6F,EAAxC,SAAuC;;;;;;;;;;;;;;;;ACrF5F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACe;AACvB;AAGoC;AACQ;AACV;AACxB;AAE3C;IAgDE,mCAAoB,MAAc,EAAU,eAAgC,EAAS,oBAA0C,EAAU,iBAAsC;QAA3J,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAhC/K,gBAAW,GAAmB,EAAE,CAAC;QAMjC,aAAQ,GAAW,MAAM,CAAC;QAI1B,wBAAmB,GAAmB,EAAE,CAAC;QACzC,0BAAqB,GAAmB,EAAE,CAAC;QAC3C,6BAAwB,GAAmB,EAAE,CAAC;QAE9C,eAAU,GAAW,cAAc,CAAC;QACpC,cAAS,GAAG,KAAK,CAAC;QAElB,eAAU,GAAW,MAAM,CAAC;QAE5B,aAAQ,GAAG,EAAE,CAAC;QACd,SAAI,GAAG,EAAE,CAAC;QACV,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,WAAM,GAAW,iBAAiB,CAAC;QACnC,cAAS,GAAW,MAAM,CAAC;QAM3B,oBAAe,GAAY,KAAK,CAAC;QACjC,sBAAiB,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAW,CAAC,CAAC;QAAQ,gBAAW,GAAS,GAAG,CAAC;QAEhE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,4CAAQ,GAAR;QACE,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;YAC1B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;aACI,IAAI,IAAI,CAAC,IAAI,IAAI,oBAAoB,IAAI,IAAI,CAAC,IAAI,IAAI,sBAAsB,IAAI,IAAI,CAAC,IAAI,IAAI,uBAAuB,EAAE;YACzH,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;aACI;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IAEH,CAAC;IACD,2DAAuB,GAAvB;QAEE,IAAI,CAAC,iBAAiB,GAAgB;YACpC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IACD,oDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;YAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC7I,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BACxI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YAGL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;wBAClF,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACtF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3F,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACpF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACpF,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;4BAC7B,OAAO,KAAK,CAAC;yBAEd;6BAAM;4BACL,OAAO,IAAI,CAAC;yBACb;oBACH,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;iBACzD;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;iBAEnD;aAEF,CAAC;SAEH;IAEH,CAAC;IAED,4DAAwB,GAAxB;QAAA,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC/F,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAC5K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI;SACtI,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QACpH,IAAI,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,cAAc,IAAI,IAAI,EAAE;YAC1B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;SACxB;QAED,IAAI,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACxE,IAAI,oBAAoB,IAAI,IAAI,EAAE;YAChC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,gCAAgC;QAChC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAItB,CAAC;IACD,uDAAmB,GAAnB,UAAoB,gBAAwB,EAAE,SAAiB,EAAE,mBAAmB;QAElF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,UAAU,GAAG;YACnB,IAAI;YACJ,oBAAoB;YACpB,eAAe;YACf,cAAc;YACd,4BAA4B;YAC5B,0BAA0B;YAC1B,uBAAuB;YACvB,iBAAiB;YACjB,+BAA+B;YAC/B,kCAAkC;YAClC,6CAA6C;YAC7C,IAAI;YACJ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7C,2FAA2F;YAC3F,sEAAsE;YACtE,qEAAqE;YACrE,iEAAiE;YACjE;gBAEE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;aAC9D;YACD;gBAEE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;aACvD;YACD;gBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;aAC9D;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;aACvD;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;aACvD;YACD;gBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;aAC/C;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;aACjD;YACD;gBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;aAC7C;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;aACzD;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;aAChD;YACD,GAAG;YACH,wFAAwF;YACxF,+CAA+C;YAC/C,yGAAyG;YACzG,oDAAoD;YACpD,WAAW;YACX,kBAAkB;YAClB,QAAQ;YACR,IAAI;YACJ;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;aACjD;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;aAC/C;YAED;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;aACjD;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;aACjD;SAMF,CAAC;IAEJ,CAAC;IACD,2DAAuB,GAAvB,UAAwB,KAAK,EAAE,UAAU;QACvC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACxD,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8BAA4B,KAAK,CAAC,IAAI,CAAC,SAAS,SAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,kBAAe,CAAC,CAAC;IACpH,CAAC;IACD,sDAAkB,GAAlB,UAAmB,KAAK;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/E,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;oBAChC,IAAI,IAAE,GAAG,IAAI,CAAC;oBACd,CAAC,CAAC,UAAU,CAAC;wBACX,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;wBACpD,CAAC,CAAC,UAAU,CAAC;4BACX,IAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;4BACzD,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;4BACxD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;4BAC7C,IAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,WAAW,CAAC;wBACtD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBACT;aACF;SACF;IACL,CAAC;IACD,qDAAiB,GAAjB,UAAkB,KAAK;QACrB,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;IAEzB,CAAC;IACD,mEAA+B,GAA/B,UAAgC,KAAK;QACnC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,mDAAe,GAAf;QACE,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBACzD,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBACxD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,WAAW,CAAC;YACtD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IACD,mDAAe,GAAf,UAAgB,GAAG,EAAE,SAAS;QAA9B,iBAoDC;QAnDC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACnK,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,GAAG,EAAnB,CAAmB,CAAC,CAAC;YAE5D,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,YAAY,CAAC;YAC5C,IAAI,GAAG,IAAI,GAAG,EAAE;gBACd,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE;oBACpC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,SAAS,EAA7B,CAA6B,CAAC,CAAC;iBACxF;qBACI;oBACH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC;iBAC7C;aACF;iBACI,IAAI,GAAG,IAAI,GAAG,EAAE;gBACnB,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE;oBACpC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,IAAI,SAAS,EAAjE,CAAiE,CAAC,CAAC;iBAC5H;qBACI;oBACH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAhC,CAAgC,CAAC,CAAC;iBAC3F;aACF;iBACI,IAAI,GAAG,IAAI,GAAG,EAAE;gBACnB,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE;oBAAE,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,IAAI,SAAS,EAAlE,CAAkE,CAAC,CAAC;iBAAE;qBACjK;oBACH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAjC,CAAiC,CAAC,CAAC;iBAC5F;aACF;iBACI,IAAI,GAAG,IAAI,GAAG,EAAE;gBACnB,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE;oBAAE,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,IAAI,SAAS,EAAjE,CAAiE,CAAC,CAAC;iBAAE;qBAChK;oBACH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAhC,CAAgC,CAAC,CAAC;iBAC3F;aACF;iBAAM;gBACL,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE;oBACpC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,IAAI,SAAS,EAAjE,CAAiE,CAAC;iBAC3H;qBACI;oBACH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,EAAhC,CAAgC,CAAC,CAAC;iBAC3F;aACF;YACD,IAAI,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC5E,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,kBAAkB,EAAE;wBACtC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,OAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;qBAC7C;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IAEP,CAAC;IACD,yDAAqB,GAArB;QAAA,iBAeC;QAdC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACtG,KAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;YACvC,IAAI,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC5E,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,kBAAkB,EAAE;wBACtC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,OAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;qBAC7C;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAAuB,GAAvB;QAAA,iBA4CC;QA1CC,IAAI,CAAC,wBAAwB,GAAgB;YAC3C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,iHAAiH;QACjH,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,IAAI,KAAI,CAAC,wBAAwB,IAAI,KAAI,CAAC,wBAAwB,CAAC,GAAG;oBACpE,KAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3E,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YACD,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,sDAAsD;YACtD,KAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;YAC/C,IAAI,KAAI,CAAC,UAAU,IAAI,cAAc,EAAE;gBACrC,6CAA6C;gBAE7C,GAAG;gBACH,QAAQ;gBACN,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI;aACJ;iBAAM,IAAI,KAAI,CAAC,UAAU,IAAI,gBAAgB,EAAE;gBAC9C,KAAI,CAAC,uBAAuB,CAAC,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;aAC3D;YACD,4CAA4C;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAGD,2DAAuB,GAAvB,UAAwB,gBAAwB;QAC9C,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;YAChD,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACtE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF;QACD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QAEzC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC7I,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BACxI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAEI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC1D,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;qBAEzD,CAAC,CAAC;iBACJ;qBAEI;oBACH,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,OAAO,CAAC,IAAI,IAAI,oBAAoB,EAAE;gBACxC,OAAO,CAAC,iBAAiB,GAAG;oBAC1B;wBACE,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,IAAI;wBACV,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C;oBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;oBAEvD;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACtF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACpF,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gCAC7B,OAAO,KAAK,CAAC;6BAEd;iCAAM;gCACL,OAAO,IAAI,CAAC;6BACb;wBACH,CAAC;qBACF;oBAED;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC3F,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;4BAClF,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;oBACxD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;oBAEjE;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBAED,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;oBAElE;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;qBAEzD;iBAEF,CAAC;aACH;iBACI,IAAI,OAAO,CAAC,IAAI,IAAI,sBAAsB,EAAE;gBAC/C,OAAO,CAAC,iBAAiB,GAAG;oBAC1B;wBACE,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,IAAI;wBACV,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C;oBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;oBAEvD;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACtF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBAGD;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC3F,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;4BAClF,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;oBAElE;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACpF,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gCAC7B,OAAO,KAAK,CAAC;6BAEd;iCAAM;gCACL,OAAO,IAAI,CAAC;6BACb;wBACH,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;oBACxD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;oBAEjE;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBAGD;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;qBAEzD;iBAEF,CAAC;aACH;iBACI;gBACH,OAAO,CAAC,iBAAiB,GAAG;oBAC1B;wBACE,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,IAAI;wBACV,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C;oBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;oBACvD;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;4BAClF,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACtF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC3F,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;4BACpF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;oBAClE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;oBACxD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACpF,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gCAC7B,OAAO,KAAK,CAAC;6BAEd;iCAAM;gCACL,OAAO,IAAI,CAAC;6BACb;wBACH,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;oBACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnD;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;qBAEzD;oBACD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;4BACrE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE;gCACnC,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gCACzC,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;gCACjG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;oCAC7B,0CAA0C;gCAC5C,CAAC,CAAC,CAAC;gCACH,OAAO,IAAI,CAAC;6BACb;iCACI;gCACH,OAAO,IAAI,CAAC;6BACb;wBAGH,CAAC;qBACF;iBAEF,CAAC;aACH;SACF;QACD,OAAO,CAAC,wBAAwB,CAAC,WAAW,GAAG,UAAU,MAAM;YAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;gBACrI,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;aAClC;QACH,CAAC;IACH,CAAC;IAED,qDAAiB,GAAjB,UAAkB,MAAM,EAAE,SAAS;QAAnC,iBAuDC;QAtDC,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;SACjC;aACI;YACH,IAAI,IAAI,CAAC,UAAU,IAAI,cAAc,EAAE;gBACrC,MAAM,GAAG,iBAAiB;aAC3B;YAED,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBAEzI,OAAO,CAAC,OAAO,CAAC,aAAG;oBACjB,GAAG,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC;oBACxE,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACnB,KAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBACf,IAAI,GAAG,CAAC,kBAAkB,IAAI,IAAI,EAAE;wBAClC,GAAG,CAAC,kBAAkB,GAAG,KAAK,GAAG,GAAG,CAAC,kBAAkB,CAAC;wBACxD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,kBAAkB,CAAC;qBACxC;oBACD,IAAI,GAAG,CAAC,kBAAkB,IAAI,IAAI,EAAE;wBAClC,GAAG,CAAC,kBAAkB,GAAG,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC;wBACzD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,kBAAkB;qBACvC;oBAED,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE;wBACxB,GAAG,CAAC,QAAQ,GAAG,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;wBACpC,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;qBAC1B;oBACD,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;wBACpB,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;wBAC7B,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;qBACrB;gBAEH,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAI,CAAC,UAAU,IAAI,cAAc,EAAE;oBACrC,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;oBACnC,IAAI,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;oBAClE,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;4BACpD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,cAAc,EAAE;gCACxC,SAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gCAC5D,SAAO,CAAC,wBAAwB,CAAC,YAAY,GAAG,QAAQ,CAAC;6BAC1D;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBAEV;YAGH,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IACD,2DAAuB,GAAvB,UAAwB,MAAM,EAAE,SAAS;QAAzC,iBAiDC;QAhDC,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;SAC1B;aACI;YACH,IAAI,IAAI,CAAC,UAAU,IAAI,cAAc,EAAE;gBACrC,MAAM,GAAG,iBAAiB;aAC3B;YAED,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBACzI,OAAO,CAAC,OAAO,CAAC,aAAG;oBAEjB,GAAG,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC;oBACxE,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACnB,KAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBACf,IAAI,GAAG,CAAC,kBAAkB,IAAI,IAAI,EAAE;wBAClC,GAAG,CAAC,kBAAkB,GAAG,KAAK,GAAG,GAAG,CAAC,kBAAkB,CAAC;wBACxD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,kBAAkB,CAAC;qBACxC;oBACD,IAAI,GAAG,CAAC,kBAAkB,IAAI,IAAI,EAAE;wBAClC,GAAG,CAAC,kBAAkB,GAAG,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC;wBACzD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,kBAAkB;qBACvC;oBAED,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE;wBACxB,GAAG,CAAC,QAAQ,GAAG,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;wBACpC,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;qBAC1B;oBACD,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;wBACpB,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;wBAC7B,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;qBACrB;gBAEH,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;gBAErC,4BAA4B;gBAC5B,oEAAoE;gBACpE,+BAA+B;gBAC/B,gDAAgD;gBAChD,QAAQ;gBAER,OAAO;gBAEP,6DAA6D;YAE/D,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,+CAAW,GAAX,UAAY,SAAS,EAAE,OAAO,EAAE,UAAU;QACxC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,0CAA0C;QAC1C,wDAAwD;QACxD,mDAAmD;QACnD,8DAA8D;QAC9D,GAAG;QAEH,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAGD,qDAAiB,GAAjB;QACE,mJAAmJ;QAEnJ,KAAK;IACP,CAAC;IACH,gCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GC/qCK,oKAAqD,KACnD,wRAC0B,YAAlB;;wBAAiB;MADzB,wBAC0B,iFAE1B;0GAEF,oKAAuD,KACrD,wRAC4B,YAApB;;wBAAmB;MAD3B,wBAC4B,mFAE5B;0GAEF,oKAA0D,KACxD,wWAA+M,YAAvB;;wBAAsB;MAA9M,wBAA+M,oFAAO;0GAExN,oKAAyD,KACvD,wWAA8M,YAAtB;;wBAAqB;MAA7M,wBAA8M,mFAAM;0GA3B5N,uKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,gFAAS,MAAM,sHAAM,KAC9G,wLAA4D,gFAAe,MAE7E,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,8YAAqD,IAMrD,8YAAuD,IAMvD,8YAA0D,IAG1D,8YAAyD,iDAfjB,mBAAY,OAApD,aAAqD,EAAb,SAAY,GAMZ,mBAAc,SAAtD,aAAuD,EAAf,SAAc,GAMd,mBAAiB,YAAzD,aAA0D,EAAlB,SAAiB,GAGjB,mBAAgB,WAAxD,aAAyD,EAAjB,SAAgB,mDAvB+B,kDAAS,GACtC,wDAAe;;;;;;;;;;;;;;;;ACJ/E;AAAA;AAAA;AAA+E;AAG/E;IAiBE;QAVA,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;IAU1B,CAAC;IAEjB,uCAAQ,GAAR;IACA,CAAC;IACD,oCAAK,GAAL,cAAU,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,sCAAO,GAAP,cAAY,CAAC;IACb,yCAAU,GAAV,cAAe,CAAC;IAChB,wCAAS,GAAT,cAAc,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IASnD,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qGC3BC,gOAAqI;qGACrI,2NAAgI;qGAFhI,4NAAgF,YAAvD;;wBAAiB;MAA1C,wBAAgF,KAChF,wYAAqI,IACrI,wYAAgI,iDADlC,iDAAoC,GAAlI,YAAqI,EAAvC,SAAoC,GACzC,iDAAoC,GAA7H,YAAgI,EAAvC,SAAoC;qGAT/H,0RAIyD,IAEvD,0DAAY,IACZ,wYAAgF,iDAAxE,mBAAgB,WAAxB,YAAgF,EAAxE,SAAgB,mDAPrB,yBAAS,EACT,iHAA+G,GAC/G,sDAAwD,GAExD,uDAAmD,GAJxD,YAIyD,EAJpD,SAAS,EACT,SAA+G,EAC/G,SAAwD,EAExD,SAAmD;qGAUxD,2KAA6H,YAArC;;wBAAoC;MAA5H,gbAA6H,iDAAxG,yFAAiE,GAAtF,YAA6H,EAAxG,SAAiE;qGAdtF,wYAIyD,IAUzD,wYAA6H,iDAd9G,mBAAe,UAA9B,YAIyD,EAJ1C,SAAe,GAczB,mBAAe,UAApB,YAA6H,EAAxH,SAAe;;;;;;;;;;;;;;;;ACfpB;AAAA;AAAA;AAA0F;AAG1F;IAAA;QAiBW,aAAQ,GAAG,IAAI,CAAC;QAIhB,qBAAgB,GAAW,OAAO,CAAC;QACnC,gBAAW,GAAY,KAAK,CAAC;QAC7B,iBAAY,GAAY,IAAI,CAAC;QAC5B,kBAAa,GAA0B,IAAI,0DAAY,EAAW,CAAC;QACnE,WAAM,GAAyB,IAAI,0DAAY,EAAU,CAAC;IAkDtE,CAAC;IAhDC,kCAAQ,GAAR;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;SAEvC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;SACnC;IAEH,CAAC;IAED,+BAAK,GAAL;QACE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;gBAE9B,IAAM,GAAG,GAAG,OAAO,CAAC,oCAAoC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,qHAAqH,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;gBAC9N,IAAI,GAAG,EAAE;oBACP,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACtC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC1B,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;iBAClC;qBAAM;oBAEL,OAAO,KAAK,CAAC;iBACd;aACF;iBAAM;gBACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B;SAEF;aAAM;YACL,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,EAAE;gBAC7B,IAAI,IAAI,CAAC,IAAI,IAAI,cAAc,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBAClC;qBACG;oBACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACvC;aAEF;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;gBACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B;YAED,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;SAClC;IAEH,CAAC;IACH,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oNC9ED,qLAAyD,KACtD,myCAAuH,yBAA9B,oBAA6B,EAAlG,qCAAsC,EAAC,8BAA6B,EAAxF,YAAuH,EAA9B,SAA6B,EAAlG,SAAsC,EAAC,SAA6B;;;;;;;;;;;;;;;;ACD3F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAGV;AAEU;AACkC;AAEE;AACb;AACN;AACc;AACV;AACS;AACxB;AACS;AAI1D;IA+CE,kDAAoB,YAA0B,EAAU,eAAgC,EAAU,iBAAsC,EAAS,oBAA0C,EAAU,MAAqB,EAAU,WAAwB;QAAxO,iBAAY,GAAZ,YAAY,CAAc;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,gBAAW,GAAX,WAAW,CAAa;QAzC5P,oBAAe,GAAY,IAAI,CAAC;QAChC,gBAAW,GAAY,KAAK,CAAC;QAG7B,qBAAgB,GAAmB,EAAE,CAAC;QAGtC,aAAQ,GAAW,MAAM,CAAC;QAK1B,wBAAmB,GAAmB,EAAE,CAAC;QACzC,iBAAY,GAAW,qBAAqB,CAAC;QAC7C,qBAAgB,GAAG,EAAE,CAAC;QAEtB,sBAAiB,GAAe,EAAE,CAAC;QAEnC,sBAAiB,GAAU,EAAE,CAAC;QAC9B,2BAAsB,GAAY,KAAK,CAAC;QACxC,gCAA2B,GAAY,KAAK,CAAC;QAC7C,qBAAgB,GAAU,EAAE,CAAC;QAC7B,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,sBAAiB,GAAW,CAAC,CAAC;QAC9B,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAChC,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC7O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClO,eAAU,GAAG,EAAE,CAAC;QAAC,oBAAe,GAAG,EAAE,CAAC;QAC/B,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAC1I,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClN,kBAAa,GAAG,EAAE,CAAC;QACnB,cAAS,GAA2B,IAAI,uFAAsB,EAAE,CAAC;QACjE,iBAAY,GAAe,EAAE,CAAC;QAE9B,kBAAa,GAAW,KAAK,CAAC;QAC9B,kBAAa,GAAY,IAAI,CAAC;QAC9B,QAAG,GAAa,IAAI,0DAAQ,EAAE,CAAC;QAEtB,gBAAW,GAAW,IAAI,CAAC;QAElC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAbgJ,CAAC,CAAE,6CAA6C;IAejM,2DAAQ,GAAR;QAAA,iBAcC;QAbC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YAC7F,YAAY,CAAC,OAAO,CAAC,sBAAY;YACjC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;YACrC,4BAA4B;YAC5B,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE;YAC1F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9Z,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACnD;IACH,CAAC;IACD,4DAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,4DAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAG7B,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,oBAAoB,GAAG,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACjb,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,wDAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,qEAAkB,GAAlB;QACE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,iDAAiD;QACjD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC;IACD,sEAAmB,GAAnB,UAAoB,IAAI;QAAxB,iBAaC;QAZC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,IAAI,qBAAqB,EAAE;YACjC,YAAY,GAAG,iBAAiB,CAAC;SAClC;aACI;YACH,YAAY,GAAG,qBAAqB,CAAC;SACtC;QACD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,eAAe;YAC7F,eAAe,CAAC,OAAO,CAAC,yBAAe;YACvC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAgB,GAAhB;QAAA,iBA2CC;QA1CC,IAAI,CAAC,aAAa,GAAgB;YAChC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ;YAC/N,uBAAuB,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI;SAE1F,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAE3B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YACD,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC1C,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC;QACvH,CAAC,CAAC,CAAC;QAIL,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG;YACjC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,oFAAmB;SAClC,CAAC;IACJ,CAAC;IACD,mEAAgB,GAAhB,UAAiB,gBAAwB;QAEvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBAC3C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;oBACtD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC9O;qBACI;oBACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC/D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aAGF;SACF;aAAM;YACL,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,mBAAmB,GAAG;gBAEzB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAC,IAAI;iBAC7E;gBACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnF,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC5D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI;oBAC3F,UAAU,EAAE,wBAAwB;oBACpC,gBAAgB,EAAE,UAAU,MAAM;wBAChC,OAAO;4BACL,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAO,CAAC,mBAAmB,EAAE,WAAC,IAAI,QAAC,CAAC,QAAQ,EAAV,CAAU,CAAC;4BAC9E,WAAW,EAAE,UAAU,KAAK;4BAC5B,CAAC;yBACF,CAAC;oBACJ,CAAC,EAAE,YAAY,YAAC,MAAM;wBACpB,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;oBACzC,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI;oBACjG,IAAI,EAAE,CAAC,SAAO,CAAC,YAAY,KAAK,aAAa,IAAI,SAAO,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM;wBAC1H,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5B,CAAC;oBACD,gBAAgB,EAAE;wBAChB,UAAU,EAAE,EAAE;wBACd,MAAM,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,CAAC;wBACvG,WAAW,EAAE,UAAU,KAAK;wBAC5B,CAAC;qBAEF;iBAEF;gBACD,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,SAAO,CAAC,YAAY,KAAK,aAAa,IAAI,SAAO,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC7K,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,SAAO,CAAC,YAAY,KAAK,SAAS,IAAI,SAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC3J;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;wBACnG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;4BAC/B,IAAI,CAAC,SAAS,GAAG,0EAA0E,CAAC;yBAC7F;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,oGAAoG,CAAC;yBACvH;wBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,gDAAgD;4BAChD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;gCAC/B,SAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAC/C;iCAAM;gCACL,SAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAClC;wBACH,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBAEd,CAAC;iBACF;aACF,CAAC;SACH;IAGH,CAAC;IAED,2EAAwB,GAAxB,UAAyB,IAAI;QAA7B,iBAsBC;QArBC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACnG,wCAAwC;YACxC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBAC1G,QAAQ,CAAC,OAAO,CAAC,aAAG;wBAClB,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;oBAC9G,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,KAAI,CAAC,yBAAyB,EAAE,CAAC;aAClC;iBAAM;gBAEL,KAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;gBACxC,KAAI,CAAC,8BAA8B,EAAE,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,8DAAW,GAAX,UAAY,IAAI;QACd,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,8BAA8B,EAAE,CAAC;IAExC,CAAC;IAED,4EAAyB,GAAzB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kJAAkJ,CAAC,CAAC;QACzM,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,iFAA8B,GAA9B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qHAAqH,CAAC,CAAC;QACjL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAGD,sEAAmB,GAAnB,UAAoB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;QAAxE,iBAuBC;QArBC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;SAAE;aAC9E,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;SACvC;QAGD,IAAI,IAAI,CAAC,YAAY,KAAK,qBAAqB,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE;YACtF,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC1G,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBACjC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBACtD,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;iBAC5D;YAEH,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,+DAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IACD,kEAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IACD,gEAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IACD,kEAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;YACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChF,CAAC;IACD,sEAAmB,GAAnB,UAAoB,QAAQ,EAAE,KAAK,EAAE,GAAG;QACtC,IAAI,OAAO,GAAa,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACzE,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE;YACtB,MAAM,CAAC,QAAQ,GAAE,IAAI,CAAC;;YAEtB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,uEAAoB,GAApB,UAAqB,IAAI;QAAzB,iBAcC;QAbC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;YACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAnB,CAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAErF,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,qEAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAqBC;QAnBC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC,aAAG;YAClB,IAAI,MAAM,GAAG,IAAI,0DAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAClD,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACpD,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,MAAM,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,gEAAa,GAAb,UAAc,KAAK;QAEjB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;YACxC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,4DAAS,GAAT;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,IAAI,0DAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,kEAAe,GAAf;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,gEAAa,GAAb;QAAA,iBA0EC;QAxEC,oCAAoC;QACpC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,eAAe,GAAe,EAAE,CAAC;QAErC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAQ;YAChC,IAAI,UAAU,GAAY,KAAK,CAAC;YAC9B,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,eAAe,IAAI,CAAC;gBAC1I,UAAU,GAAG,IAAI,CAAC;YAEtB,IAAI,UAAU,EAAE;gBAEd,IAAI,MAAM,GAAG,IAAI,0DAAQ,EAAE,CAAC;gBAC5B,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC5C,MAAM,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBACpD,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC5B,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC5C,MAAM,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBAC1D,MAAM,CAAC,eAAe,GAAG,CAAC,KAAI,CAAC,YAAY,KAAK,aAAa,IAAI,KAAI,CAAC,YAAY,KAAK,eAAe,IAAI,KAAI,CAAC,YAAY,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBACtN,MAAM,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC;gBACnC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC5C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACtC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;gBACrB,MAAM,CAAC,IAAI,GAAG,CAAC,KAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC;gBAE9I,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEpC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAEnC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC5E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qDAAqD,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzG,6JAA6J;gBAC7J,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC;gBACrH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,eAAe,CAAC,OAAO,CAAC,kBAAQ;wBAC9B,IAAI,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACtD,IAAI,WAAW,IAAI,CAAC;4BAClB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACN;aACI;YACP,4CAA4C;YACtC,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAE1D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3G,6JAA6J;gBAC7J,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC;gBACrH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,eAAe,CAAC,OAAO,CAAC,kBAAQ;wBAC9B,IAAI,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACtD,IAAI,WAAW,IAAI,CAAC;4BAClB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SAEN;QACD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;YAEzC,6EAA6E;SAC9E;IAGH,CAAC;IAEH,+CAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHC5hBC,2MAAgN,KAC9M,kVAaqD,YANpC;;wBAAsD;MAGtD;;wBAAuC;MACvC;;wBAAmC;MAEnC;;wBAAmC;MAbpD,+vDAaqD,mDAZpC,mBAA2B,cAG3B,mBAA4B,mBAF5B,mBAAkC,sBAMlC,mBAA2C,sBAH3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAMnB,oBAAkC,EAHlC,oBAAsC,EATvD,YAaqD,EAZpC,SAA2B,EAG3B,SAA4B,EAF5B,SAAkC,EAMlC,SAA2C,EAH3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EAMnB,SAAkC,EAHlC,SAAsC,mDAV2D,0GAA2F,IAA/M,YAAgN,EAA5F,SAA2F;iHAoB/M,2MAA6M,wDAArC,mBAAoC,oBAA5M,YAA6M,EAArC,SAAoC;iHAM1M,2TAU6D,YAL5C;;wBAAkD;MAGlD;;wBAAuC;MACvC;;wBAAmC;MATpD,qmDAU6D,mIAT5C,mBAA2B,cAG3B,mBAA4B,mBAF5B,mBAAkC,sBAQlC,mBAA2C,sBAJ3C,mBAAmB,UAHnB,mBAAwD,yCAIxD,mBAAmB,UAPpC,YAU6D,EAT5C,SAA2B,EAG3B,SAA4B,EAF5B,SAAkC,EAQlC,SAA2C,EAJ3C,SAAmB,EAHnB,SAAwD,EAIxD,SAAmB;iHAgB1B,6xBAAiE,+EAAoB,2BAAvC,mHAAkB,GAAhE,YAAiE,EAAnB,+HAAkB,GAAhE,YAAiE,EAAnB,SAAkB,2BAAC,0EAAoB;iHA2DrF,sHAAoC,KAClC,4IAAsB,gFAAmB,MACzC,4IAAsB,gFAAmB,MACzC,4IAAsB,gFAAqB,MAC3C,4IAAsB,gFAAoB,iCAHpB,wEAAmB,GACnB,wEAAmB,GACnB,0EAAqB,GACrB,yEAAoB;iHA1EtD,wKAA2D,KAEzD,uNAA0F,KACxF,+LAAyE,8HAAO,0FAAa,MAC7F,wNAA2F,KACzF,wLAA4D,KAC1D,wHAAM,4FAAe,MAEvB,6IAAsB,KACpB;;;;;wBAAgH;MAAnF;;wBAA0C;MAAC;;wBAAuC;MAA/G,gtCAAgH,IAC9G,w0BAAsC,kFAAM,MAC5C,8dAAiE,IAIvE,yNAA2F,KACzF,sKAAyC,KACvC,yHAAM,oGAAuB,MAE/B,6IAAsB,KACpB;;;;;;;;;;;wBAAkI;MAA9E;;wBAAqC;MAAC;;wBAAuC;MAAjI,ixCAAkI,IAGtI,uNAA0F,KACxF,sKAAyC,KACvC,yHAAM,4FAAe,MAEvB,6IAAsB,mFAEpB,MAKJ,uNAA0F,KACxF,sKAAyC,KACvC,yHAAM,uFAAU,MAElB,6IAAsB,mFAEpB,MAGJ,uNAA0F,KACxF,sKAAyC,KACvC,yHAAM,yFAAY,MAEpB,6IAAsB,gJAEtB,IAEF,uNAA0F,KACxF,sKAAyC,KACvC,yHAAM,yFAAY,MAEpB,6IAAsB,gJAEtB,IAGF,oNAAsF,KACpF,iMAAoE,+HAAO,kGAAqB,MAChG,kMAAoE,KAClE,kJAA0B,KACxB,uHAAI,KACF,6IAAsB,iFAAI,MAC1B,6IAAsB,iFAAI,MAC1B,6IAAsB,iFAAI,MAC1B,6IAAsB,yFAAY,MAEpC,8dAAoC,IAW1C,uLAA0D,KACxD,6IAAsB,KAEtB,6IAAsB,KACpB,uKAA0C,KACxC,uPAAyF,YAAzD;;wBAAkB;MAAlD,wBAAyF,mFAAM,MAEjG,6KAAgD,KAC9C,wPAAuF,YAAtB;;wBAAqB;MAAtF,wBAAuF,iFAAI,mDAhFhE,mBAA0C,+BAAvE,aAAgH,EAAnF,SAA0C,GACzC,mBAAS,EAArC,aAAsC,EAAV,+BAAS,EAArC,aAAsC,EAAV,SAAS,GAC7B,oBAAqC,oBAA7C,aAAiE,EAAzD,UAAqC,GASK,oBAAqC,0BAAzF,aAAkI,EAA9E,UAAqC,GAkDnF,oBAA+B,aAAnC,aAAoC,EAAhC,UAA+B,mDA7DrC,stBAAgH,GAWhH,ouBAAkI,GAO9G,wDAEpB,GASoB,2DAEpB,GAOoB,4OAEtB,GAMsB,yOAEtB;iHAvER,uPACgC,KAC9B,oZAU6D,IAE7D,oZAA2D,iDAZc,oBAAgB,UAAzF,YAU6D,EAVY,SAAgB,GAY9C,mBAAe,UAA1D,YAA2D,EAAhB,SAAe,mDAdwH,wFAAoF,IAAxQ,YACgC,EADoJ,SAAoF;kHAkHtQ,wHAAoC,KAClC,sHAAG,KACD,qHAAG,2FAAc,MAAI,sHAAM,2HAAM,wHACS,4HAAM,KAChD,qHAAG,yFAAiE,MAAI,uHAAM,4HAAM,KACpF,gJAAyB,oHAEzB,MAAQ,uHAAM,4HAAM,KACpB,8KAAsC,YAA/B;;wBAA8B;MAArC,wBAAsC,mGAAsB,yDAJzD,wHAAiE,GAC3C,kEAEzB;kHAIJ,yLAAkG,KAChG,sHAAG,gJACiE,4HAAM,2HAAM,KAC9E,qHAAG,gFAA6B,MAAI,sHAAM,2HAAM,+OAEpB,6HAAM,4HAAM,yKAE1C,yDAJK,iEAA6B;kHAShC,yHAA2D,KACzD,8MAAkG,YAAxD;;wBAAuD;MAAjG,wBAAkG,KAChG,sHAAI,yNAA4E,KAChF,sHAAI,gFAAoB,iCAFtB,mHAAe,GAAnB,YAAkG,EAA9F,SAAe,GAEb,0EAAoB;kHAK9B,uHAA6B,KAC3B,0MAA6D,YAA7B;;wBAA4B;MAA5D,wBAA6D,mFAAM,MACnE,yMAAsD,YAAvB;;wBAAsB;MAArD,wBAAsD,iFAAI;kHAb9D,wLAAkG,KAEhG,0JAAoC,KAClC,8dAA2D,IAO7D,sHAAM,2HAAM,KACZ,qZAA6B,iDARpB,mBAAmD,mBAA1D,YAA2D,EAApD,SAAmD,GAQvD,sCAAuB,GAA5B,YAA6B,EAAxB,SAAuB;iHAjChC,0LAAkL,KAChL,uKAAiD,8FAAiB,MAClE,qZAAoC,IAWpC,qZAAkG,IASlG,qZAAkG,iDApB7F,mBAA8B,uBAAnC,YAAoC,EAA/B,SAA8B,GAW9B,oBAA+B,uBAApC,YAAkG,EAA7F,SAA+B,GAS/B,oBAA+B,uBAApC,YAAkG,EAA7F,SAA+B;kHAmBtC,qLAAqF,KACjF,sKAA0C,KACxC,+IAAyB,KACvB,+KAAyD,qHAAwC,MAGvG,+KAAmD,KACjD,qKAAyC,KACvC,oKAAwC,KACtC,gQAA6G,YAA7B;;wBAA0B;MAA1G,wBAA6G,KAMnH,gLAAoD,KAClD,wWAcqD,YALpC;;wBAAmC;MACnC;;wBAAyC;MACzC;;wBAAqC;MAErC;;wBAA+C;MAC/C;;wBAAmC;MAdpD,guDAcqD,mDAbpC,mBAA8B,gBAG9B,mBAA4B,mBAF5B,mBAAkC,sBAUlC,mBAA2C,sBAP3C,mBAAmB,UAFnB,mBAAwD,yCAIxD,mBAAmB,UACnB,oBAAoB,EAFpB,oBAAuB,EANxC,aAcqD,EAbpC,SAA8B,EAG9B,SAA4B,EAF5B,SAAkC,EAUlC,SAA2C,EAP3C,SAAmB,EAFnB,SAAwD,EAIxD,SAAmB,EACnB,SAAoB,EAFpB,SAAuB;kHAoBtC,+KAAgF;kHAEhF,+IAA+C,KAC7C,wLAA4D,KAC1D,yHAAO,0GAA6B,MAAQ,sHAAM,2HAAM,KAG1D,uKAA0C,KACxC,4MAA+E,KAC7E,iNAAoF,KAClF,4IAAsB,KACpB,0HAAO,2FAAc,MAEvB,8IAAsB,KACpB;;;;;;;;;;;wBAAsE;MAA1C;;wBAAoB;MAAhD,ixCAAsE,IACtE;;;;;;;;;;;wBAAmE;MAAvC;;wBAA6B;MAAzD,ixCAAmE,IACnE;;;;;;;;;;;wBAA4F;MAAhE;;wBAA0C;MAAtE,ixCAA4F,IAGhG,kNAAoF,KAClF,6IAAsB,KACpB,0HAAO,4FAAe,MAExB,6IAAsB,KACpB;;;;;;;;;;;wBAA2D;MAA/B;;wBAA8B;MAA1D,ixCAA2D,IAG/D,kNAAoF,KAClF,6IAAsB,KACpB,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAA+D;MAAnC;;wBAAyB;MAArD,ixCAA+D,IAKnE,kNAAoF,KAClF,6IAAsB,KACpB,0HAAO,+FAAkB,MAE3B,6IAAsB,KACpB;;;;;;;;;;;wBAA2E;MAA/C;;wBAAqC;MAAjE,ixCAA2E,IAG/E,kNAAoF,KAClF,6IAAsB,KACpB,0HAAO,gGAAmB,MAE5B,6IAAsB,KACpB;;;;;;;;;;;wBAAsE;MAA1C;;wBAAgC;MAA5D,ixCAAsE,IAI1E,kNAAoF,KAClF,6IAAsB,KACpB,0HAAO,gGAAmB,MAE5B,6IAAsB,KACpB;;;;;;;;;;;wBAAmE;MAAvC;;wBAA6B;MAAzD,ixCAAmE,iDA7CvC,mBAAoB,SAAhD,aAAsE,EAA1C,SAAoB,GACpB,oBAA6B,kBAAzD,aAAmE,EAAvC,UAA6B,GAC7B,oBAA0C,+BAAtE,aAA4F,EAAhE,UAA0C,GAQ1C,oBAA8B,mBAA1D,aAA2D,EAA/B,UAA8B,GAQ9B,oBAAyB,cAArD,aAA+D,EAAnC,UAAyB,GAUzB,oBAAqC,0BAAjE,aAA2E,EAA/C,UAAqC,GAQrC,oBAAgC,qBAA5D,aAAsE,EAA1C,UAAgC,GAShC,oBAA6B,kBAAzD,aAAmE,EAAvC,UAA6B,2BA7CzD,stBAAsE,GACtE,guBAAmE,GACnE,ouBAA4F,GAQ5F,ouBAA2D,GAQ3D,ouBAA+D,GAU/D,ouBAA2E,GAQ3E,ouBAAsE,GAStE,ouBAAmE;kHAWvE,sLAAiF,KAC/E;;;;;;;;;;;wBAAiG;MAApC;;wBAAiC;MAA9F,8wCAAiG,yBAApC,kBAAiC,wCAA9F,YAAiG,EAApC,SAAiC,2BAA9F,8sBAAiG;kHAW/F,6xBAAmE,+EAAgB,2BAAnC,mHAAkB,GAAlE,YAAmE,EAAnB,+HAAkB,GAAlE,YAAmE,EAAnB,SAAkB,2BAAC,sEAAgB;kHAHvF,uKAAuE,KACrE;;;;;wBAAkE;MAArC;;wBAAoC;MAAjE,6sCAAkE,IAChE,q0BAAsC,kFAAM,MAC5C,+dAAmE,iDAFxC,kBAAoC,2CAAjE,YAAkE,EAArC,SAAoC,GACnC,mBAAS,EAArC,YAAsC,EAAV,+BAAS,EAArC,YAAsC,EAAV,SAAS,GAC7B,oBAAuC,sBAA/C,aAAmE,EAA3D,UAAuC,2BAFjD,8sBAAkE;kHAQhE,6xBAAiE,+EAAoB,2BAAvC,mHAAkB,GAAhE,YAAiE,EAAnB,+HAAkB,GAAhE,YAAiE,EAAnB,SAAkB,2BAAC,0EAAoB;kHAHzF,uKAAwE,KACtE;;;;;wBAA2E;MAA9C;;wBAA6C;MAA1E,6sCAA2E,IACzE,q0BAAsC,kFAAM,MAC5C,+dAAiE,iDAFtC,kBAA6C,oDAA1E,YAA2E,EAA9C,SAA6C,GAC5C,mBAAS,EAArC,YAAsC,EAAV,+BAAS,EAArC,YAAsC,EAAV,SAAS,GAC7B,oBAAqC,oBAA7C,aAAiE,EAAzD,UAAqC,2BAF/C,8sBAA2E;kHAOjF,sKAAwE,KACtE,qKAAyC,0FAAa,MACtD,qKAAyC,KACvC,mMAAiF,gFAA2B,MAAQ,wXAA6e,YAAjC;;wBAAgC;MAA5e,wBAA6e,KACjmB,gWAA0O,YAAhK;;wBAAiC;MAA3G,wBAA0O,gCADnO,0HAAwB,GAA/B,YAAiF,EAA1E,SAAwB,GAAkD,qFAA2B,GAA+E,oBAAiB,EAAC,6EAA6D,GAAC,6EAA8D,GAAC,iJAAsG,IAAC,qNAA8I,IAA3c,YAA6e,EAAta,SAAiB,EAAC,SAA6D,EAAC,SAA8D,EAAC,SAAsG,EAAC,SAA8I,GACxjB,0HAAuB,GAAC,+HAA8B,GAA7D,YAA0O,EAAnO,SAAuB,EAAC,SAA8B;kHAIjE,sKAAwE,KACtE,qKAAyC,sFAAS,MAClD,qKAAyC,KAAC,gJAA0B,0LAAe;kHArCvF,uKAAiG,KAC/F,+KAAmD,KACjD,qKAAyC,0FAAa,MACtD,qKAAyC,KACvC,qZAAiF,IAMrF,mLAAuD,KACrD,qKAAyC,6FAAgB,MACzD,sKAAyC,KACvC,sZAAuE,IAMvE,sZAAwE,IAQ5E,sZAAwE,IAQxE,sZAAwE,iDA/B1B,mBAA4B,uBAAtE,YAAiF,EAAvC,SAA4B,GAS5B,mBAA4B,uBAAtE,aAAuE,EAA7B,SAA4B,GAM5B,oBAA6B,uBAAvE,aAAwE,EAA9B,SAA6B,GAQjC,oBAA6B,uBAAvE,aAAwE,EAA9B,SAA6B,GAQ7B,oBAA6B,uBAAvE,aAAwE,EAA9B,SAA6B;kHAxG7E,sLAAqK,KAEnK,wMAA4E,KAC1E,qZAAgF,IAEhF,qZAA+C,IAgE/C,8dAAiG,iDAlE9C,mBAA4B,uBAA/E,YAAgF,EAA7B,SAA4B,GAE1E,mBAAsB,iBAA3B,YAA+C,EAA1C,SAAsB,GAgEe,mBAAsD,eAAhG,YAAiG,EAAvD,SAAsD;kHAuD9F,sQAAsL,YAA7D;;wBAAyB;MAAlJ,wBAAsL,iFAAI;kHAN9L,iLAAkF,KAChF,4IAAsB,KACtB,4IAAsB,KACpB,uPAAmG,YAA5B;;wBAA2B;MAAlG,wBAAmG,mFAAM,MAGzG,qZAAsL,iDAA9K,sFAA2E,iBAAnF,YAAsL,EAA9K,SAA2E;kHAVzF,sLAAyH,KAIvH,qZAAkF,iDAA7E,mBAA4B,uBAAjC,YAAkF,EAA7E,SAA4B,mDAJS,mBAAkB,UAA9D,YAAyH,EAA7E,SAAkB;kHApHhE,msBAAuY,IAErY,qZAAqK,IAkHrK,qZAAyH,iDApH+G,wEAAyD,GAAnS,YAAuY,EAA7J,SAAyD,GAEvO,uIAA0G,KAApK,YAAqK,EAA3G,SAA0G,GAkHrG,2EAAyD,IAAxH,YAAyH,EAA1D,SAAyD,mDApHrH,mBAAuC,uBAAC,mBAAuC,uBAAC,iDAAiE,wBAAC,oBAAyC,uBAAC,mBAAwC,uBAA2D,mBAAmC,kBAAvU,YAAuY,EAAlY,SAAuC,EAAC,SAAuC,EAAC,SAAiE,EAAC,SAAyC,EAAC,SAAwC,EAA2D,SAAmC;iHAxNzU,6MAA4I,KAE1I,oZAAgN,IAoBhN,oZAA6M,IAI7M,oZACgC,IA+GhC,oZAAkL,IAyClL,sZAAqF,IAqCrF,sZAAuY,iDAtNlY,kDAAoD,sBAAzD,YAAgN,EAA3M,SAAoD,GAoBpD,qIAAwG,KAA7G,YAA6M,EAAxM,SAAwG,GAIxG,sIAAyG,KAA9G,YACgC,EAD3B,SAAyG,GAgHzG,yIAA6G,KAAlH,YAAkL,EAA7K,SAA6G,GAyC7G,mBAA4B,uBAAjC,aAAqF,EAAhF,SAA4B,GAqC2T,oBAA2B,qBAAvX,aAAuY,EAA3C,SAA2B,mDAxNzT,gEAA0D,GAA1H,YAA4I,EAA5E,SAA0D;kHAoWhH,8QAAyI,YAA7B;;wBAA4B;MAAxI,wBAAyI;kHAEzI,2QAAoJ,YAA7C;;wBAAwB;MAA/H,wBAAoJ;kHAgB5J,gKAAoD;kHAxBtD,gMAAmF,KACjF,gLAAmD,KAEjD,kLAAqD,KACnD,+KAAmD,KACjD,iJAA2B,KACzB,qZAAyI,IAAI,qFAE7I,2ZAAoJ,IAIxJ,gLAAmD,KACjD,0HAAO,sFAAkE,MAI7E,6OAAgH,KAC9G,0KAAqB,YAAlB;;wBAAiB;MAApB,wBAAqB,KACnB,4LAAiE,KAKvE,sZAAoD,iDAlBzC,sCAAyB,GAA5B,YAAyI,EAAtI,SAAyB,GAEzB,+DAA2C,IAA9C,YAAoJ,EAAjJ,SAA2C,GAgBlB,mBAAe,UAAnD,aAAoD,EAAhB,SAAe,mDAlBkG,kHAE7I,GAKK,uIAAkE;kHAwCrE,6xBAAiE,+EAAoB,2BAAvC,mHAAkB,GAAhE,YAAiE,EAAnB,+HAAkB,GAAhE,YAAiE,EAAnB,SAAkB,2BAAC,0EAAoB;kHA4CrF,6xBAAyD,iFAEzD,2BAFwC,mHAAgB,GAAxD,YAAyD,EAAjB,+HAAgB,GAAxD,YAAyD,EAAjB,SAAgB,2BAAC,sEAEzD;kHAlEZ,8OAAwG,YAA5F;;wBAA4B;MAAxC,4ZAAwG,MACtG,4IAAuB,KACrB,mMAAqE,KACnE,kMAAqE,KACnE,4IAAsB,KACpB,yHAAO,2FAAc,MAEvB,6IAAsB,KACpB;;;;;;;;;;;wBAAsE;MAA1C;;wBAAoB;MAAhD,ixCAAsE,IACtE;;;;;;;;;;;wBAAmE;MAAvC;;wBAA6B;MAAzD,gzCAAmE,IACnE;;;;;;;;;;;wBAA4F;MAAhE;;wBAA0C;MAAtE,ixCAA4F,IAGhG,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,2FAAc,MAEvB,8IAAsB,KACpB;;;;;wBAAiF;MAAlC;;wBAAiC;MAAhF,gtCAAiF,IAC/E,w0BAAsC,kFAAM,MAC5C,+dAAiE,IAIvE,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAA+D;MAAnC;;wBAAyB;MAArD,gzCAA+D,IAInE,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,mFAAM,MAEf,6IAAsB,KACpB;;;;;;;;;;;wBAA4D;MAAhC;;wBAAsB;MAAlD,gzCAA4D,IAGhE,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,iGAAoB,MAE7B,6IAAsB,KACpB;;;;;;;;;;;wBAA2E;MAA/C;;wBAAqC;MAAjE,gzCAA2E,IAG/E,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,6FAAgB,MAEzB,6IAAsB,KACpB;;;;;;;;;;;wBAAiE;MAArC;;wBAA2B;MAAvD,gzCAAiE,IAIrE,mMAAqE,KACnE,6IAAsB,KACpB,0HAAO,2FAAc,MAEvB,6IAAsB,KACpB;;;;;wBAAqD;MAAxB;;wBAAuB;MAApD,gtCAAqD,IACnD,geAAyD,IAM/D,oMAAqE,KACnE,8IAAsB,KACpB,2HAAO,mGAAsB,MAE/B,8IAAsB,KACpB;;;;;;;;;;;wBAAkE;MAAtC;;wBAAqC;MAAjE,oxCAAkE,IAItE,8KAAgD,KAC9C,8IAAsB,KAEtB,8IAAsB,KACpB,wKAA0C,KACxC,wPAAyF,YAAzD;;wBAAkB;MAAlD,wBAAyF,mFAAM,MAEjG,8KAAgD,KAC9C,yPAAuF,YAAtB;;wBAAqB;MAAtF,wBAAuF,iFAAI,mDAvF3F,mBAA4B,iBAAxC,YAAwG,EAA5F,SAA4B,GAQF,mBAAoB,SAAhD,aAAsE,EAA1C,SAAoB,GACU,mBAAQ,EAAtC,oBAA6B,kBAAzD,aAAmE,EAAT,UAAQ,EAAtC,UAA6B,GAC7B,oBAA0C,+BAAtE,aAA4F,EAAhE,UAA0C,GAQvB,oBAAiC,sBAAhF,aAAiF,EAAlC,UAAiC,GAClD,oBAAS,EAArC,aAAsC,EAAV,iCAAS,EAArC,aAAsC,EAAV,UAAS,GAC7B,oBAAqC,oBAA7C,aAAiE,EAAzD,UAAqC,GASO,mBAAQ,EAAlC,oBAAyB,cAArD,aAA+D,EAAT,UAAQ,EAAlC,UAAyB,GASF,mBAAQ,EAA/B,oBAAsB,WAAlD,aAA4D,EAAT,UAAQ,EAA/B,UAAsB,GAQgB,mBAAQ,EAA9C,oBAAqC,0BAAjE,aAA2E,EAAT,UAAQ,EAA9C,UAAqC,GAQT,mBAAQ,EAApC,oBAA2B,gBAAvD,aAAiE,EAAT,UAAQ,EAApC,UAA2B,GAS1B,oBAAuB,YAApD,aAAqD,EAAxB,UAAuB,GAC1C,oBAA+B,aAAvC,cAAyD,EAAjD,UAA+B,GAWb,oBAAqC,0BAAjE,cAAkE,EAAtC,UAAqC,2BAnEjE,qtBAAsE,GACtE,kuBAAmE,GACnE,ouBAA4F,GAQ5F,ouBAAiF,GAWjF,ouBAA+D,GAS/D,ouBAA4D,GAQ5D,ouBAA2E,GAQ3E,ouBAAiE,GASjE,ouBAAqD,GAYrD,4uBAAkE;kHAoB5E,+NAA8I,YAAlI;;wBAAyC;MAArD,ubAA8I,MAC5I,4LAA+T,YAAtC;;wBAAqC;MAA9T,4kBAA+T,mDADtM,qBAAkB,EAAjI,mBAAyC,8BAArD,YAA8I,EAAnB,SAAkB,EAAjI,SAAyC,GACjC,qGAAsF,GAAC,mHAA0G,GAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAAtQ,YAA+T,EAA7S,SAAsF,EAAC,SAA0G,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;kHAIxQ,2NAA4G,YAAhG;;wBAAoC;MAAhD,4ZAA4G,MAC1G,+KAAqD,KACnD,sKAA0C,KACxC,yLAAmE,8FAAiB,MAEtF,2MAA+E,KAC7E,oJAA8B,iIAAoD,MAAO,uLAAiE,kFAA4B,MAAO,uHAAM,KAGrM,6MAAgF,KAC9E,yHAAM,8IAAiE,MAAO,uHAAM,KACpF,yHAAM,mIAAsD,MAAO,uHAAM,KACzE,yHAAM,2HAA8C,MAAO,uHAAM,KAEnE,yLAA2D,KACzD,iLAAoD,KAClD,qJAA8B,oIAAuD,MAEvF,kLAAoD,KAClD,mNAAqF,KAEnF;;;;;wBACmD;MADH;;wBAAyB;MAAzE,4qEACmD,IAIrD,iLAAoD,KAClD,uKAA0C,KAC1C,uKAA0C,KACxC,6IAAsB,yUAAiL,YAAzK;;wBAA6B;MAArC,wBAAiL,mFAAM,MAE7M,6IAAsB,sPAAgG,YAAhC;;wBAA+B;MAA/F,wBAAgG,iFAAI,mDA/B1H,mBAAoC,yBAAhD,YAA4G,EAAhG,SAAoC,GAqBhB,oBAAyB,mBACzB,oBAA4B,kBADlD,aACmD,EAD7B,UAAyB,EACzB,UAA4B,GADF,oBAAyB,cAAzE,aACmD,EADH,UAAyB,mDAf6E,qEAA4B,GAelL,q0BACmD;kHAmB7D,wNAAmG,YAAvF;;wBAAiC;MAA7C,4ZAAmG,MACjG,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,0FAAa,MAAM,sHAAM,KAChH,wLAA4D,gHAAmC,MAEnG,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,qKAAwC,KACtC,yRAC8C,YAAtC;;wBAAqC;MAD7C,wBAC8C,iFAE9C,mDAhBE,mBAAiC,sBAA7C,YAAmG,EAAvF,SAAiC;6RA5gB7C,oZAA4I,IA8V5I,qZAAmF,IA4BnF,2NAAkG,YAAtF;;wBAAqC;MAAjD,ubAAkG,MAChG,4LAAgQ,YAA5C;;wBAA2C;MAA/P,4kBAAgQ,MAIlQ,sZAAwG,IA+FxG,sZAA8I,IAK9I,sZAA4G,IAyC5G,sZAAmG,iDA5gBwB,oBAAgB,UAA3I,YAA4I,EAAjB,SAAgB,GA8VpH,mBAAe,UAAtC,YAAmF,EAA5D,SAAe,GA4ByC,qBAAkB,EAArF,mBAAqC,0BAAjD,YAAkG,EAAnB,SAAkB,EAArF,SAAqC,GAC5B,0BAAoB,EAAC,iHAAsG,GAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAAjM,YAAgQ,EAA7O,SAAoB,EAAC,SAAsG,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB,GAI1J,oBAAsB,iBAA/D,aAAwG,EAA/D,UAAsB,GA+FT,oBAAmC,8BAAzF,aAA8I,EAAxF,UAAmC,GAKxC,oBAA8B,yBAA/E,aAA4G,EAA3D,UAA8B,GAyCjC,oBAA2B,sBAAzE,aAAmG,EAArD,UAA2B;;;;;;;;;;;;;;;;AC5gBzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAC9B;AACkB;AACD;AACR;AACf;AACyC;AACzC;AAEqB;AAChC;AACuB;AACE;AACgB;AAEI;AACD;AACzB;AAC8B;AACnB;AACC;AAE/D;IAiGE,qCAAoB,YAA0B,EAAU,MAAc,EAAS,oBAA0C,EAAU,QAAqB,EAAU,eAAgC,EAAU,WAAwB,EAAU,MAAqB,EAAU,aAA4B,EAAU,iBAAsC;QAArU,iBAAY,GAAZ,YAAY,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QA1FzV,cAAS,GAAW,CAAC,CAAC;QAEtB,uBAAkB,GAAY,KAAK,CAAC;QAEpC,iBAAY,GAAY,KAAK,CAAC;QAE9B,yBAAoB,GAAY,KAAK,CAAC;QAGtC,sBAAiB,GAAW,GAAG,CAAC;QAGhC,kBAAa,GAAY,KAAK,CAAC;QAAC,yBAAoB,GAAG,CAAC,CAAC;QAEzD,YAAO,GAAY,KAAK,CAAC;QAEzB,oBAAe,GAAW,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACjD,sBAAiB,GAAW,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QACpD,iBAAY,GAAe,EAAE,CAAC;QAC9B,sBAAiB,GAAe,EAAE,CAAC;QACnC,QAAG,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAC/B,eAAU,GAAsB,EAAE,CAAC;QACnC,wBAAmB,GAAmB,EAAE,CAAC;QACzC,aAAQ,GAAW,MAAM,CAAC;QAE1B,aAAQ,GAAG,GAAG,CAAC;QAEf,wBAAmB,GAAW,MAAM,CAAC;QAIrC,qBAAgB,GAAU,EAAE,CAAC;QAC7B,6BAAwB,GAAU,EAAE,CAAC;QACrC,4BAAuB,GAAU,EAAE,CAAC;QACpC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAKhC,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC7O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClO,eAAU,GAAG,EAAE,CAAC;QAAC,oBAAe,GAAG,EAAE,CAAC;QAC/B,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAC1I,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClN,kBAAa,GAAG,EAAE,CAAC;QACnB,iBAAY,GAAG,EAAE,CAAC;QAClB,cAAS,GAAG,KAAK,CAAC;QAClB,yBAAoB,GAAG,KAAK,CAAC;QAC7B,mBAAc,GAAG,KAAK,CAAC;QACvB,aAAQ,GAAG,KAAK,CAAC;QACjB,YAAO,GAAG,KAAK,CAAC;QAChB,YAAO,GAAG,KAAK,CAAC;QAChB,uBAAkB,GAAG,KAAK,CAAC;QAC3B,sBAAiB,GAAU,EAAE,CAAC;QAE9B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,qBAAgB,GAAG,EAAE,CAAC;QACtB,kBAAa,GAAW,KAAK,CAAC;QAC9B,mBAAc,GAAG,KAAK,CAAC;QACvB,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAG/B,eAAU,GAAmB,EAAE,CAAC;QAChC,YAAO,GAAmB,EAAE,CAAC;QAE7B,QAAG,GAAG,EAAE,CAAC;QACT,iBAAY,GAAG,EAAE,CAAC;QAClB,qBAAgB,GAAmB,EAAE,CAAC;QAEtC,cAAS,GAA2B,IAAI,+FAAsB,EAAE,CAAC;QACjE,4BAAuB,GAAG,KAAK,CAAC;QAKhC,kBAAa,GAAW,CAAC,CAAC;QAE1B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,gCAA2B,GAAY,KAAK,CAAC;QAC7C,2BAAsB,GAAY,KAAK,CAAC;QACvB,gBAAW,GAAG,EAAE,CAAC;QAClC,wBAAmB,GAAY,KAAK,CAAC;QAGnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IA/CgJ,CAAC,CAAE,6CAA6C;IACiB,CAAC;IAgDnN,iDAAW,GAAX;QACE,IAAI,QAAQ,GAAY,KAAK,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,wBAAwB,IAAI,SAAS,IAAI,CAAC,CAAC,wBAAwB,IAAI,IAAI,IAAI,CAAC,CAAC,wBAAwB,IAAI,CAAC,CAAC,EAAlH,CAAkH,CAAC,IAAI,IAAI,CAAC;SACpK;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,EAAlH,CAAkH,CAAC,IAAI,IAAI,CAAC;SACpK;QACD,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,sDAAgB,GAAhB;QAAA,iBA6EC;QA5EC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ;SACzO,CAAC;QAEF,IAAI,CAAC,aAAa,GAAgB;YAChC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ;YAC5M,uBAAuB,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;SAEzG,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;oBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBAC5C;gBACD,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;gBACtC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAE5C,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;oBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBAC5C;gBACD,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;gBACtC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAE5C,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG;YACjC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,qFAAmB;SAClC,CAAC;QAEF,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;YACxC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YACjD,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;SACzD;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;YACjC,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;SACzD;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE;YAE7C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;SACrB;IAEH,CAAC;IACD,sDAAgB,GAAhB,UAAiB,gBAAwB;QAEvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBAC3C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;oBACtD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC9O;qBACI;oBACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC/D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aAGF;SACF;aAAM;YACL,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,mBAAmB,GAAG;gBAEzB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;iBACpH;gBACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACvH,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,SAAO,CAAC,YAAY,KAAK,aAAa,IAAI,SAAO,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC7K;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI;oBACjG,IAAI,EAAE,CAAC,SAAO,CAAC,YAAY,KAAK,aAAa,IAAI,SAAO,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM;wBAC1H,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5B,CAAC;oBACD,gBAAgB,EAAE;wBAChB,UAAU,EAAE,EAAE;wBACd,MAAM,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,CAAC;wBACvG,WAAW,EAAE,UAAU,KAAK;wBAC5B,CAAC;qBACF;iBAEF;gBACD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC5D;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI;oBAC3F,UAAU,EAAE,wBAAwB;oBACpC,gBAAgB,EAAE,UAAU,MAAM;wBAChC,OAAO;4BACL,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAO,CAAC,mBAAmB,EAAE,WAAC,IAAI,QAAC,CAAC,QAAQ,EAAV,CAAU,CAAC;4BAC9E,WAAW,EAAE,UAAU,KAAK;4BAC5B,CAAC;yBACF,CAAC;oBACJ,CAAC,EAAE,YAAY,YAAC,MAAM;wBACpB,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;oBACzC,CAAC;iBACF;gBAED,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAC,MAAM;wBAC1D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;4BAC7B,OAAO,MAAM,CAAC;yBACf;6BACI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;4BAClC,OAAO,aAAa,CAAC;yBACtB;6BAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;4BACpC,OAAO,cAAc,CAAC;yBACvB;6BAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;4BACpC,OAAO,iBAAiB,CAAC;yBAC1B;oBACH,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBAErF;oBACE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,YAAC,MAAM;wBACjI,IAAI,kBAAkB,GAAG,SAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC;wBAC/D,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;wBACrD,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;4BACjD,IAAI,CAAC,SAAS,GAAG,iGAAiG,CAAC;yBACpH;6BAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;4BACxD,IAAI,CAAC,SAAS,GAAG,gGAAgG,CAAC;yBACnH;6BAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;4BAC1G,IAAI,CAAC,SAAS,GAAG,iGAAiG,CAAC;yBACpH;6BAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;4BAC3J,IAAI,CAAC,SAAS,GAAG,kGAAkG,CAAC;yBACrH;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,4FAA4F,CAAC;yBAC/G;wBAED,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,SAAO,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;4BACtC,SAAO,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;4BACxC,IAAI,SAAO,CAAC,YAAY,KAAK,SAAS,IAAI,SAAO,CAAC,YAAY,KAAK,SAAS,EAAE;gCAC5E,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,SAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE;oCAChF,SAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iCAElF;qCAAM;oCACL,SAAO,CAAC,sBAAsB,EAAE,CAAC;iCAClC;6BAEF;iCACI,IAAI,SAAO,CAAC,YAAY,KAAK,aAAa,IAAI,SAAO,CAAC,YAAY,KAAK,aAAa,EAAE;gCACzF,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE;oCAC3C,IAAI,GAAG,GAAG,SAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;oCAClF,SAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iCAC7B;qCAAM;oCACL,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,SAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE;wCAEpF,SAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qCAClF;yCAAM;wCACL,SAAO,CAAC,sBAAsB,EAAE,CAAC;qCAClC;iCACF;6BACF;iCACI;gCACH,4DAA4D;gCAC5D,SAAO,CAAC,sBAAsB,EAAE,CAAC;6BAClC;wBACH,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,SAAO,CAAC,YAAY,KAAK,SAAS,IAAI,SAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBAE3J,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,SAAO,CAAC,YAAY,KAAK,qBAAqB,IAAI,SAAO,CAAC,YAAY,KAAK,aAAa,IAAI,SAAO,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBAInN,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBACtJ;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;wBACtI,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;4BAC/B,IAAI,CAAC,SAAS,GAAG,0EAA0E,CAAC;yBAC7F;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,oGAAoG,CAAC;yBACvH;wBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;gCAC/B,SAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAC/C;iCAAM;gCACL,SAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;6BAClC;wBACH,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBAEd,CAAC;iBACF;aACF,CAAC;SACH;QAED,IAAI,CAAC,sBAAsB,GAAG;YAC5B,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;SAEhI,CAAC;IACJ,CAAC;IAED,8DAAwB,GAAxB,UAAyB,IAAI;QAA7B,iBAoBC;QAnBC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACnG,KAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;YACtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBAC1G,QAAQ,CAAC,OAAO,CAAC,aAAG;wBAClB,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;oBAC9G,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,KAAI,CAAC,yBAAyB,EAAE,CAAC;aAClC;iBAAM;gBACL,KAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;gBACxC,KAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,sCAAsC,CAAC,CAAC;aACnF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAW,GAAX,UAAY,IAAI;QACd,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,sCAAsC,CAAC,CAAC;IACpF,CAAC;IAED,8BAA8B;IAE9B,wHAAwH;IACxH,0IAA0I;IAC1I,OAAO;IACP,GAAG;IACH,kDAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IACD,0DAAoB,GAApB,UAAqB,IAAI;QAAzB,iBAcC;QAbC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;YACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAnB,CAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAErF,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,wDAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBA0BC;QAxBC,IAAI,QAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACxC,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QACrD,IAAI,iBAAiB,GAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;QAChE,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAlD,CAAkD,CAAC,CAAC;QAC3G,IAAI,aAAa,IAAI,IAAI;YACvB,iBAAiB,GAAG,aAAa,CAAC,EAAE,CAAC;QAEvC,QAAQ,CAAC,eAAe,GAAG,iBAAiB,CAAC;QAG7C,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,qBAAqB,EAAE;gBAChD,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAE1D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wCAAwC,EAAE,0BAA0B,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9G,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAEvD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,uBAAuB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxG,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,8CAAQ,GAAR,UAAS,UAAU,EAAE,QAAQ,EAAE,YAAY;QAA3C,iBAwBC;QAvBC,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YAEnC,IAAI,KAAI,CAAC,YAAY,KAAK,aAAa,EAAE;gBACvC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACtC;iBAAM;gBACL,IAAI,GAAG,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,GAAG,IAAI,OAAO,EAAE;oBAClB,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;iBAGnC;qBACI;oBACH,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;iBAC9B;aAEF;QAGH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,+CAAS,GAAT,UAAU,CAAC;QACT,IAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC;SACrB;aACI,IAAI,IAAI,IAAI,IAAI,EAAE;YACrB,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;SAClB;aAAM;YACL,KAAK,GAAG,CAAC,CAAC;SACX;QAED,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,oDAAc,GAAd,UAAe,YAAY;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAEnD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,0DAA0D,CAAC;YAC9G,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uKAAuK,CAAC,CAAC;QACvM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAIX,CAAC;IAED,kDAAY,GAAZ,UAAa,MAAM,EAAE,IAAiC;QAAjC,wDAAiC;QACpD,IAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC/B;QACD,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,qDAAe,GAAf,UAAgB,YAAY;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0CAA0C,GAAG,YAAY,GAAG,2DAA2D,CAAC;YAC1I,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iMAAiM,CAAC,CAAC;QAChO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,2CAAK,GAAL;QACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,+CAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,IAAI,GAAG,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;SAAE;aACzD;YAAE,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;SAAG;QAC5C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACvI,CAAC;IACD,oDAAc,GAAd,UAAe,MAAM;QACnB,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACvC,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEvC,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;QAC/B,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACxC;QAED,IAAI,eAAe,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,MAAM,CAAC,YAAY,KAAK,yEAAyE;YACnG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;;YAEtE,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAErE,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/E,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAEb,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,yLAAyL;QACzL,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,oMAAoM,GAAG,YAAY,GAAG,0DAA0D,CAAC;QACpS,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yKAAyK,CAAC,CAAC;QACvM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAGD,qDAAe,GAAf,UAAgB,MAAM;QACpB,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACvC,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE/B,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;QAC/B,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACxC;QAED,IAAI,eAAe,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,MAAM,CAAC,YAAY,KAAK,yEAAyE;YACnG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;;YAEtE,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAErE,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/E,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAEb,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,yLAAyL;QACzL,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,oMAAoM,GAAG,YAAY,GAAG,0DAA0D,CAAC;QACpS,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yKAAyK,CAAC,CAAC;QACvM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,kDAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,WAAW,IAAI,CAAC,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,qDAAe,GAAf,UAAgB,QAAQ;QACtB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,mDAAa,GAAb,UAAc,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAAlF,iBAgCC;QA9BC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,QAAQ;YAC1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,aAAa;QAClC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,qBAAqB,EAAE;YAC9D,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,eAAe;gBAClG,eAAe,CAAC,OAAO,CAAC,yBAAe;gBACvC,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC;YAC7C,CAAC,CAAC,CAAC;SACJ;aAEC,IAAI,OAAO,KAAK,aAAa,EAAE;YAC7B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,eAAe;gBACtG,eAAe,CAAC,OAAO,CAAC,yBAAe;gBACvC,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SACtC;QAEH,IAAI,OAAO,IAAI,EAAE,EAAE;YACjB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;SAC9F;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,0DAAoB,GAApB,UAAqB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAEvF,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;IAEpI,CAAC;IACD,gEAA0B,GAA1B,UAA2B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;QAA/E,iBAOC;QALC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACxJ,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;YACrC,KAAI,CAAC,wBAAwB,GAAG,YAAY,CAAC;YAC7C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAmB,GAAnB,UAAoB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;QAAxE,iBAsEC;QArEC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;SAAE;aAC9E,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,qBAAqB,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE;YACtF,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC1G,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBACjC,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;gBACzC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBACtD,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;iBAC5D;YAEH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE;YAC5C,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;gBAC/H,YAAY,CAAC,OAAO,CAAC,sBAAY;oBAC/B,YAAY,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAC/F,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;gBACrC,KAAI,CAAC,wBAAwB,GAAG,YAAY,CAAC;gBAC7C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBACtD,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAElE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACtG,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;YACpC,CAAC,CAAC,CAAC;SAEJ;aACI;YAEH,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC1G,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACjJ,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,IAAI,KAAI,CAAC,UAAU,IAAI,eAAe,EAAE;oBACtC,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,UAAU,EAA5B,CAA4B,CAAC,CAAC;oBAC3E,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,UAAU,EAA5B,CAA4B,CAAC,CAAC;iBACpF;qBAAM,IAAI,KAAI,CAAC,UAAU,IAAI,kBAAkB,EAAE;oBAChD,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;oBAC5E,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;iBACrF;qBAAM;oBACL,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;oBACjC,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;oBACzC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;iBACvD;gBAED,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;iBACjF;YACH,CAAC,CAAC,CAAC;SAEJ;IAEH,CAAC;IAED,uDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,IAAI,uBAAuB,EAAE;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC;SACvD;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,KAAK,EAAvB,CAAuB,CAAC;SAC3F;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAExD,CAAC;IACD,uDAAiB,GAAjB,UAAkB,GAAG;QACnB,IAAI,GAAG,IAAI,GAAG,EAAE;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAE,QAAC,CAAC,IAAI,IAAE,GAAG,EAAX,CAAW,CAAC,CAAC;SAAE;aAC5F,IAAI,GAAG,IAAI,GAAG,EAAE;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,GAAG,EAAb,CAAa,CAAC,CAAC;SAAE;aACrG,IAAI,GAAG,IAAI,GAAG,EAAE;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,GAAG,EAAb,CAAa,CAAC,CAAC;SAAC;aACpG;YACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC;SACvD;IACH,CAAC;IACD,8CAAQ,GAAR;QAAA,iBA2CC;QAzCC,IAAI,IAAI,CAAC,kBAAkB;YACzB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAG1L,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,IAAI,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,IAAI;gBAC3H,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YAExE,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;SAE3D;QAED,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YAC7F,YAAY,CAAC,OAAO,CAAC,sBAAY;YACjC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;YAErC,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,sBAAsB;YAC5B,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;IAEJ,CAAC;IACD,kDAAY,GAAZ,UAAa,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;QACtD,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,mDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;IACD,iDAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;IACD,mDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;YACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IACD,uDAAiB,GAAjB,UAAkB,QAAQ,EAAE,KAAK,EAAE,GAAG;QACpC,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE;YACtB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,qDAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IACD,mDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IACD,qDAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;YACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChF,CAAC;IACD,yDAAmB,GAAnB,UAAoB,QAAQ,EAAE,KAAK,EAAE,GAAG;QACtC,IAAI,OAAO,GAAa,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACzE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE;YACtB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,mDAAa,GAAb,UAAc,KAAK,EAAE,KAAK;QACxB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YACnD,IAAM,QAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YACzB,kCAAI,CAAuB;YAClC,QAAM,CAAC,aAAa,CAAC,MAAI,CAAC,CAAC;YAC3B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,YAAY,CAAC,QAAM,EAAE,KAAK,EAAE,MAAI,CAAC,IAAI,EAAE,MAAI,CAAC,IAAI,EAAE,MAAI,CAAC,IAAI,CAAC,CAAC;YACvE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACD,oDAAc,GAAd,UAAe,KAAK,EAAE,KAAK;QACzB,QAAQ,CAAC,cAAc,CAAC,KAAK,GAAG,wBAAwB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;IAC9E,CAAC;IACD,+CAAS,GAAT;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5L,CAAC;IACD,kCAAkC;IAClC,uBAAuB;IACvB,8BAA8B;IAC9B,qDAAqD;IACrD,gDAAgD;IAChD,yDAAyD;IACzD,gCAAgC;IAChC,6EAA6E;IAC7E,kCAAkC;IAClC,sCAAsC;IACtC,sDAAsD;IACtD,qBAAqB;IACrB,aAAa;IACb,6DAA6D;IAC7D,SAAS;IACT,SAAS;IACT,aAAa;IAEb,GAAG;IAEH,+DAAyB,GAAzB,UAA0B,KAAK;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;YACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACxC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE;wBAC7E,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;wBACzC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;wBAEvC,IAAI,YAAY,GAAG,EAAE,CAAC;wBACtB,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;4BAC3D,YAAY,GAAG,MAAM,CAAC;4BACtB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAC1C,CAAC,CAAC,CAAC;wBACH,oDAAoD;qBACrD;yBAAM;wBACL,OAAO,CAAC,sBAAsB,EAAE,CAAC;qBAElC;iBACF;qBAAM;iBAEN;aACF;iBAAM;aAEN;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,oDAAc,GAAd,UAAe,QAAQ;QAErB,4EAA4E;QAF9E,iBAcC;QAVC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,YAAY,GAAG,MAAM,CAAC;YACtB,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAElD,CAAC;IACD,kDAAY,GAAZ,UAAa,IAAI;QAEf,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,MAAM,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAE5B,CAAC,CAAC,UAAU,CAAC;YACX,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC;YACpC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC/B,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;YAC3B,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YACpC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACnC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC/C,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEzD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IACD,uDAAiB,GAAjB,UAAkB,IAAI,EAAE,MAAM;QAC5B,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE3B,CAAC,CAAC,UAAU,CAAC;YACX,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,2BAA2B;YAC3B,oCAAoC;YACpC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YACpC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YACpC,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,8CAAQ,GAAR,UAAS,KAAK;QAEZ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACzB;YACD,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;IAEH,CAAC;IAED,6CAAO,GAAP,UAAQ,KAAK,EAAE,MAAM;QACnB,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACtC;QACD,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAIxB,CAAC;IAED,iDAAW,GAAX,UAAY,IAAI,EAAE,KAAK;QACrB,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,mDAAa,GAAb;QAAA,iBA8GC;QA7GC,IAAI,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,eAAe,GAAe,EAAE,CAAC;QAErC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAQ;YAChC,IAAI,UAAU,GAAY,KAAK,CAAC;YAChC,IAAI,CAAC,KAAI,CAAC,oBAAoB,EAAE;gBAC9B,IAAI,QAAQ,CAAC,wBAAwB,IAAI,SAAS,IAAI,QAAQ,CAAC,wBAAwB,IAAI,IAAI,IAAI,QAAQ,CAAC,wBAAwB,IAAI,CAAC;oBACvI,UAAU,GAAG,IAAI,CAAC;aACrB;iBAAM;gBACL,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,eAAe,IAAI,CAAC;oBAC1I,UAAU,GAAG,IAAI,CAAC;aACrB;YAED,IAAI,UAAU,EAAE;gBAEd,IAAI,MAAM,GAAG,IAAI,yDAAQ,EAAE,CAAC;gBAC5B,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC5C,MAAM,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBACpD,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC5B,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC5C,MAAM,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBAC1D,MAAM,CAAC,eAAe,GAAG,CAAC,KAAI,CAAC,YAAY,KAAK,aAAa,IAAI,KAAI,CAAC,YAAY,KAAK,eAAe,IAAI,KAAI,CAAC,YAAY,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBACtN,MAAM,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC;gBACnC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC5C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACtC,MAAM,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;gBAClC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC;gBAC9I,IAAI,CAAC,KAAI,CAAC,oBAAoB,EAAE;oBAE9B,MAAM,CAAC,wBAAwB,GAAG,QAAQ,CAAC,wBAAwB,CAAC;iBACrE;gBAED,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEpC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAErC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC9B,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC/D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1F,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oBACjJ,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC9B,eAAe,CAAC,OAAO,CAAC,kBAAQ;4BAC9B,IAAI,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACtD,IAAI,WAAW,IAAI,CAAC;gCAClB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBAC7C,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC5E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qDAAqD,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACzG,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3J,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC9B,eAAe,CAAC,OAAO,CAAC,kBAAQ;4BAC9B,IAAI,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACtD,IAAI,WAAW,IAAI,CAAC;gCAClB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBAC7C,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;aACI;YAEH,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC9B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACvD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iCAAiC,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC9F,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oBACjJ,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC9B,eAAe,CAAC,OAAO,CAAC,kBAAQ;4BAC9B,IAAI,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACtD,IAAI,WAAW,IAAI,CAAC;gCAClB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBAC7C,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,4CAA4C;gBAC5C,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAE1D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3G,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3J,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC9B,eAAe,CAAC,OAAO,CAAC,kBAAQ;4BAC9B,IAAI,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACtD,IAAI,WAAW,IAAI,CAAC;gCAClB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;wBAC7C,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACJ;SAEF;QACD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;YAEzC,6EAA6E;SAC9E;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAC/C,CAAC;IACD,gDAAU,GAAV;QACE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IACD,sDAAgB,GAAhB;QACE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,qDAAe,GAAf;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,kEAAkE;SACnE;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAE/C,CAAC;IACD,+CAAS,GAAT,UAAU,OAAO;QAAjB,iBA+DC;QA9DC,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpE,KAAI,CAAC,GAAG,GAAG,MAAM,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;aACI;YAGH,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE;gBACvC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;gBACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;iBACI;gBACH,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;oBACzE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;iBAE5C;qBAAM;oBACL,IAAI,CAAC,sBAAsB,EAAE,CAAC;iBAC/B;aAEF;YAED,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC1F,WAAW,CAAC,OAAO,CAAC,qBAAW;gBAC/B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;oBACzE,IAAI,MAAM,EAAE;wBAAE,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;qBAAE;iBACtD;gBAED,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBAC1E,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACzB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE;gBACvC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC1D,KAAI,CAAC,GAAG,GAAG,MAAM,CAAC;oBAClB,KAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACjE,MAAM,CAAC,OAAO,CAAC,aAAG;4BAChB,GAAG,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC;4BACpE,GAAG,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAGpF,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;oBAC3B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;SAKF;IACH,CAAC;IAED,sDAAgB,GAAhB;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QACnK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,iDAAW,GAAX,UAAY,OAAO;QACjB,IAAI,WAAW,GAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS;QACjD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,UAAU,CAAC;YACT,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QAClM,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,CAAC;IAED,+DAAyB,GAAzB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kJAAkJ,CAAC,CAAC;QACzM,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,wDAAkB,GAAlB,UAAmB,GAAG;QAAtB,iBAwBC;QAvBC,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;gBAClD,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACpE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChG,KAAI,CAAC,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;oBAChD,IAAI,EAAE,GAAG,KAAI,CAAC;oBACd,CAAC,CAAC,UAAU,CAAC;wBACX,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;oBACzH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;oBACnI,IAAI,KAAI,CAAC,aAAa,KAAK,CAAC,EAAE;wBAC5B,KAAI,CAAC,0BAA0B,CAAC,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;qBAC1K;yBAAM;wBACL,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;qBACnK;gBAEH,CAAC,CAAC,CAAC;aACJ;SACF;QACD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACvC,CAAC;IACD,kDAAY,GAAZ,UAAa,UAAkB;QAA/B,iBAWC;QATC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,KAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC1F,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAChC,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,oDAAc,GAAd,UAAe,UAAkB,EAAE,YAAoB;QAAvD,iBAsCC;QApCC,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK;QACjC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QACjC,IAAI,WAAW,GAAW,gDAAgD,CAAC;QAC3E,IAAI,IAAI,CAAC,oBAAoB;YAC3B,qFAAqF;YAErF,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC9B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAChE,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;qBAC7F;yBACI;wBACH,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,QAAQ,CAAC,CAAC;qBAC7E;oBAED,0CAA0C;oBAE1C,iCAAiC;oBACjC,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACtJ,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC9E,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oDAAoD,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;qBACzG;yBACI;wBACH,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gGAAgG,EAAE,iCAAiC,CAAC,CAAC;qBACxJ;oBACD,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACtJ,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,wDAAkB,GAAlB;QAAA,iBAKC;QAJC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChF,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;YACpJ,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0DAAoB,GAApB,UAAqB,EAAE,EAAE,OAAO;QAE9B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;QACtC,CAAC,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAExC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;IACxD,CAAC;IACD,gDAAU,GAAV,UAAW,MAAM,EAAE,KAAK;QAEtB,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,mDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAET,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;YACxC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;IAC3B,CAAC;IACD,iDAAW,GAAX;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YAClD,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YACzD,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC1D;IAEH,CAAC;IACD,mEAA6B,GAA7B;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;YACtD,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC3D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC5D;IAEH,CAAC;IAGD,2CAAK,GAAL;QAEE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;IACtI,CAAC;IACD,0CAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;SACrI;IACH,CAAC;IACD,0CAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;SACrI;IAEH,CAAC;IACD,0CAAI,GAAJ;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;IACtI,CAAC;IACD,iDAAW,GAAX,UAAY,GAAG;QAEb,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,IAAI,GAAG,EAAR,CAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,+CAAS,GAAT;QAAA,iBAwBC;QAtBC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;YAE/D,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,iBAAiB;gBACjB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1F,KAAI,CAAC,MAAM,EAAE,CAAC;gBACd,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC;aACrI;YACD,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAG;gBAChC,IAAI,GAAG,GAAG,IAAI,wEAAe,EAAE,CAAC;gBAChC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC;gBACxB,GAAG,CAAC,QAAQ,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9C,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,aAAG;gBACpD,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAED,2DAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;YACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACxC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE;wBACzE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;wBACzC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;wBACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;4BAC/C,IAAI,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBAEpD;6BAAM;4BACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;yBAElC;wBACD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;wBACnF,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACrD;yBAAM;wBACL,OAAO,CAAC,sBAAsB,EAAE,CAAC;qBAElC;iBACF;qBAAM;iBAEN;aACF;iBAAM;aAEN;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAGD,4DAAsB,GAAtB;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC;IAC5E,CAAC;IACD,4CAAM,GAAN;QACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,8CAAQ,GAAR,UAAS,GAAG;QAAZ,iBAOC;QANC,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,IAAI,EAAE,GAAG,KAAI;YACb,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAgB,GAAhB;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YAEnG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;SAC9D;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;IACH,CAAC;IACD,kDAAY,GAAZ;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YAEnG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;SAC9D;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;IACH,CAAC;IACD,kDAAY,GAAZ,UAAa,UAAU;QAErB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE3C,CAAC;IACD,wDAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAqBC;QAnBC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC,aAAG;YAClB,IAAI,MAAM,GAAG,IAAI,yDAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAClD,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACpD,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,MAAM,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,kDAAY,GAAZ,UAAa,GAAG;QAEd,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,CAAC,EAAE;gBACtC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;aACxB;YAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;SAKrC;aAAM;YACL,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;SACrC;IACH,CAAC;IACD,yDAAmB,GAAnB;QAAA,iBAeC;QAdC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAG;YAChC,GAAG,CAAC,wBAAwB,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;YAE/D,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACxB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1F,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC;gBACpI,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6DAAuB,GAAvB;IAEA,CAAC;IAED,wDAAkB,GAAlB;QAEE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5L,CAAC;IACH,kCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oHCnsCG,kLAAqM,KACnM,+lCAAqE,iDAA1C,mBAAa,OAAC,mBAA2B,cAApE,YAAqE,EAA1C,SAAa,EAAC,SAA2B;oHAEtE,kLAAkG,KAChG,g1BAA0C,iDAAd,mBAAa,OAAzC,YAA0C,EAAd,SAAa;oHAE3C,mLAAkG,KAChG,orCAAuC;oHAEzC,kLAAiH,KAC/G,q3BAAuC,iDAAd,mBAAa,OAAtC,YAAuC,EAAd,SAAa;oHAExC,kLAAmG,KACjG,0nCAA8C,iDAAd,mBAAa,OAA7C,YAA8C,EAAd,SAAa;oHAE/C,kLAAmG,KACjG,0mCAAiC;oHAEnC,kLAAgI,KAC9H,gkCAA2B;oHAE7B,kLAAqG,KACnG,u6BAA4B;oHAE9B,kLAAqG,KACnG,o/BAAoC;qHAEtC,kLAAqG,KACnG,m6BAAwB;qHAE1B,kLAAqG,KACnG,0/BAA6B;qHAE/B,kLAAoG,KAClG,oxBAA0B;gnCA1chC,qLAAsD,KAOpD,0MAA2E,KAEzE,gNAAiF,KAC/E,kOAAmG,KACjG,yOAAoG,KAClG,6PAA4G,KAE1G,yJAAiC,KAC/B,mNAA0E,KACxE,+IAAwB,KACtB,sZACoK,YAA/H;;wBAA6D;MADlG,wBACoK,KAClK,0HAAO,kGAAqB,MAMlC,sPAA4G,KAC1G,gJAAwB,KACtB,+LAAiE,KAC/D,sPAAqH,YAA7E;;wBAAqD;MAA7F,wBAAqH,oJAAwB,2HAAG,8EAAC,MAAa,gJAAyB,2FAAc,MAErM,mQAAgJ,YAA5H;;wBAAmE;MAAvF,wBAAgJ,KAC9I,+IAAwB,2HAAG,8EAAC,MAAa,gJAAyB,yGAA4B,MAIhG,mRAAgL,YAAzI;;wBAAmF;MAA1H,wBAAgL,KAC9K,+IAAwB,2HAAG,8EAAC,MAAa,gJAAyB,yHAA4C,MAIhH,qRAAoL,YAA7I;;wBAAqF;MAA5H,wBAAoL,KAClL,+IAAwB,2HAAG,8EAAC,MAAa,gJAAyB,2HAA8C,MAU1H,yJAAiC,KAC/B,mNAA0E,KACxE,+IAAwB,KACtB,gZACuJ,YAAxH;;wBAAsD;MADrF,wBACuJ,KACrJ,0HAAO,mGAAsB,MAMnC,+OAAsG,KACpG,+IAAwB,KACtB,6LAAgE,KAC9D,qQAAoI,YAA7E;;wBAAqD;MAA5G,wBAAoI,KAElI,+IAAwB,2HAAG,8EAAC,MAAa,gJAAyB,wFAAW,MAOvF,yJAAiC,KAC/B,mNAA0E,KACxE,+IAAwB,KACtB,0YAC2I,YAAlH;;wBAAgD;MADzE,wBAC2I,KACzI,0HAAO,mGAAsB,MAMnC,0OAAgG,KAC9F,gJAAwB,KACtB,+LAAiE,KAC/D,qQAAmI,YAA5E;;wBAAoD;MAA3G,wBAAmI,KACjI,+IAAwB,2HAAG,8EAAC,MAAa,gJAAyB,2FAAc,MAGlF,wPAAyH,YAAlF;;wBAAuD;MAA9F,wBAAyH,KACvH,+IAAwB,2HAAG,8EAAC,MAAa,gJAAyB,8FAAiB,MAO7F,yJAAiC,KAC/B,mNAA0E,KACxE,+IAAwB,KACtB,yYACyI,YAAjH;;wBAA+C;MADvE,wBACyI,KACvI,0HAAO,oGAAuB,MAMpC,yOAA+F,KAC7F,gJAAwB,KACtB,+LAAiE,KAC/D,qQAAoI,YAA7E;;wBAAqD;MAA5G,wBAAoI,KAClI,+IAAwB,2HAAG,8EAAC,MAAa,iJAAyB,2FAAc,MAGlF,oQAAgJ,YAAzG;;wBAAmE;MAA1G,wBAAgJ,KAC9I,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,yGAA4B,MAGhG,kQAA4I,YAArG;;wBAAiE;MAAxG,wBAA4I,KAC1I,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,uGAA0B,MAQtG,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,+YACmJ,YAAtH;;wBAAoD;MADjF,wBACmJ,KACjJ,2HAAO,0GAA8B,MAM3C,+OAAoG,KAClG,iJAAwB,KACtB,gMAAiE,KAC/D,sQAAkI,YAA3E;;wBAAmD;MAA1G,wBAAkI,KAChI,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,sGAAyB,MAG7F,sPAAkH,YAA3E;;wBAAmD;MAA1F,wBAAkH,KAChH,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,0GAA6B,MAQzG,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,wYACqI,YAA/G;;wBAA6C;MADnE,wBACqI,KACnI,2HAAO,kGAAsB,MAMnC,wOAA6F,KAC3F,iJAAwB,KACtB,gMAAiE,KAC/D,mQAAwH,YAApG;;wBAA4C;MAAhE,wBAAwH,KACtH,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,wFAAW,MAM/E,mPAAwG,YAA7C;;wBAA4C;MAAvG,wBAAwG,KACtG,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,yFAAY,MAOxF,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,0YACiI,YAA7G;;wBAA2C;MAD/D,wBACiI,KAC/H,2HAAO,yGAA6B,MAM1C,sOAA2F,KACzF,iJAAwB,KACtB,gMAAiE,KAC/D,mQAAsH,YAA/D;;wBAA0C;MAAjG,wBAAsH,KAAE,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,0FAAa,MACvM,mPAAsG,YAA3C;;wBAA0C;MAArG,wBAAsG,KACpG,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,kGAAqB,MAQjG,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,sZACqJ,YAAvH;;wBAAqD;MADnF,wBACqJ,KACnJ,2HAAO,wGAA2B,MAMxC,gPAAqG,KACnG,iJAAwB,KACtB,gMAAiE,KAC/D,4QAAkI,YAA3E;;wBAA6C;MAApG,wBAAkI,KAChI,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,iGAAoB,MAGxF,mQAA+H,YAAxF;;wBAAmD;MAA1F,wBAA+H,qJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,wGAA2B,MAOpO,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,2YACgI,YAAxG;;wBAA+C;MADvE,wBACgI,KAC9H,2HAAO,mGAAsB,MAMnC,0OAA+F,KAC7F,iJAAwB,KACtB,gMAAiE,KAC/D,uQAAqI,YAAtD;;wBAAqD;MAApI,wBAAqI,KACnI,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,4FAAe,MAInF,qQAAgJ,YAAzG;;wBAAkE;MAAzG,wBAAgJ,KAC9I,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,0GAA6B,MAIjG,sPAAmH,YAArD;;wBAAoD;MAAlH,wBAAmH,KACjH,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,2FAAc,MAIlF,qPAAiH,YAApD;;wBAAmD;MAAhH,wBAAiH,KAC/G,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,0FAAa,MASzF,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,4YAC6I,YAApH;;wBAAiD;MAD1E,wBAC6I,KAC3I,2HAAO,mGAAsB,MAMnC,2OAAgG,KAC9F,iJAAwB,KACtB,gMAAiE,KAC/D,6QAAoI,YAA5E;;wBAA8C;MAAtG,wBAAoI,KAClI,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,uFAAU,MAG9E,oQAA0H,YAAlF;;wBAA6C;MAArF,wBAA0H,KACxH,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,kFAAK,MAWjF,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,2ZAC2J,YAA3H;;wBAAwD;MADxF,wBAC2J,KACzJ,2HAAO,2GAA8B,MAM3C,kPAAuG,KACrG,iJAAwB,KACtB,gMAAiE,KAC/D,mQAA8H,YAAtE;;wBAAkD;MAA1G,wBAA8H,KAC5H,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,uFAAU,MAG9E,oQAAiI,YAAzF;;wBAAoD;MAA5F,wBAAiI,KAC/H,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,0FAAa,MASzF,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,6YAC6I,YAApH;;wBAAiD;MAD1E,wBAC6I,KAC3I,2HAAO,oGAAuB,MAMpC,2OAAgG,KAC9F,iJAAwB,KACtB,gMAAiE,KAC/D,mQAAkI,YAA1E;;wBAAsD;MAA9G,wBAAkI,KAChI,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,6FAAgB,MAEpF,oQAAkI,YAA1F;;wBAAqD;MAA7F,wBAAkI,KAChI,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,4FAAe,MAS3F,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,6YAC6I,YAApH;;wBAAiD;MAD1E,wBAC6I,KAC3I,2HAAO,sGAAyB,MAMtC,2OAAgG,KAC9F,iJAAwB,KACtB,gMAAiE,KAC/D,mQAA8H,YAAtE;;wBAAkD;MAA1G,wBAA8H,KAC5H,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,wFAAW,MAG/E,oQAAmI,YAA3F;;wBAAsD;MAA9F,wBAAmI,KACjI,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,6FAAgB,MAS5F,0JAAiC,KAC/B,oNAA0E,KACxE,gJAAwB,KACtB,wYACyI,YAAlH;;wBAA+C;MADtE,wBACyI,KACvI,2HAAO,mGAAsB,MAMnC,yOAA8F,KAC5F,iJAAwB,KACtB,gMAAiE,KAC/D,mQAA6H,YAArE;;wBAAiD;MAAzG,wBAA6H,KAC3H,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,2GAA8B,MAElG,oQAA4H,YAApF;;wBAA+C;MAAvF,wBAA4H,KAC1H,gJAAwB,4HAAG,8EAAC,MAAa,iJAAyB,8GAAiC,MAevH,oMAAqE,KAGnE,0ZAAqM,IAGrM,0ZAAkG,IAGlG,0ZAAkG,IAGlG,0ZAAiH,IAGjH,0ZAAmG,IAGnG,0ZAAmG,IAGnG,0ZAAgI,IAGhI,0ZAAqG,IAGrG,0ZAAqG,IAGrG,2ZAAqG,IAGrG,2ZAAqG,IAGrG,2ZAAoG,iDAjC9C,oPAA8I,QAApM,cAAqM,EAA/I,UAA8I,GAG9I,qEAA2C,QAAjG,cAAkG,EAA5C,UAA2C,GAG1C,qEAA0C,QAAjG,cAAkG,EAA3C,UAA0C,GAG3C,8FAA0D,QAAhH,cAAiH,EAA3D,UAA0D,GAG1D,qEAA4C,QAAlG,cAAmG,EAA7C,UAA4C,GAG5C,qEAA4C,QAAlG,cAAmG,EAA7C,UAA4C,GAG5C,uHAAyE,QAA/H,cAAgI,EAA1E,UAAyE,GAGzE,uEAA8C,QAApG,cAAqG,EAA/C,UAA8C,GAG9C,uEAA8C,QAApG,cAAqG,EAA/C,UAA8C,GAG9C,uEAA8C,QAApG,cAAqG,EAA/C,UAA8C,GAG9C,uEAA8C,QAApG,cAAqG,EAA/C,UAA8C,GAG9C,uEAA6C,QAAnG,cAAoG,EAA9C,UAA6C,mDAvbc,mEAAgE,GADnK,aACoK,EAAjE,SAAgE,GAqC7E,mEAAgE,GADtJ,aACuJ,EAAjE,SAAgE,GAuB5E,mEAAgE,GAD1I,aAC2I,EAAjE,SAAgE,GA0BlE,mEAAgE,GADxI,aACyI,EAAjE,SAAgE,GA+BtD,mEAAgE,GADlJ,cACmJ,EAAjE,SAAgE,GA2B9E,mEAAgE,GADpI,cACqI,EAAjE,SAAgE,GA6BpE,mEAAgE,GADhI,cACiI,EAAjE,SAAgE,GAwB5C,mEAAgE,GADpJ,cACqJ,EAAjE,SAAgE,GAyB5E,0DAAuD,GAD/H,cACgI,EAAxD,SAAuD,GAuCpD,oEAAiE,GAD5I,cAC6I,EAAlE,SAAiE,GA8BnD,qEAAiE,GAD1J,cAC2J,EAAlE,UAAiE,GA4B/E,qEAAiE,GAD5I,cAC6I,EAAlE,UAAiE,GA2BjE,qEAAiE,GAD5I,cAC6I,EAAlE,UAAiE,GA4BrE,qEAAiE,GADxI,cACyI,EAAlE,UAAiE;;;;;;;;;;;;;;;;ACvY1J;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4D;AACO;AACC;AACzB;AACgC;AACX;AACkB;AAgBlF;IAqDE,wCAAoB,WAAyB,EAAU,eAAgC,EAAU,MAAqB,EAAS,oBAA0C;QAArJ,gBAAW,GAAX,WAAW,CAAc;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QA9CzK,SAAI,GAAS,KAAK,CAAC;QAcnB,uBAAkB,GAAmB,EAAE,CAAC;QACxC,gBAAW,GAAmB,EAAE,CAAC;QACjC,sBAAiB,GAAmB,EAAE,CAAC;QACvC,oBAAe,GAAmB,EAAE,CAAC;QACrC,kBAAa,GAAmB,EAAE,CAAC;QACnC,oBAAe,GAAkB,EAAE,CAAC;QACpC,YAAO,GAAmB,EAAE,CAAC;QAC7B,kBAAa,GAAmB,EAAE,CAAC;QACnC,mBAAc,GAAmB,EAAE,CAAC;QACpC,qBAAgB,GAAkB,EAAE,CAAC;QACrC,aAAQ,GAAa,IAAI,6DAAQ,EAAE,CAAC;QACpC,0BAAqB,GAA0B,IAAI,mFAAqB,EAAE,CAAC;QAC3E,iBAAY,GAAmC,IAAI,0FAA8B,EAAE,CAAC;QACpF,kBAAa,GAAG,YAAY,CAAC;QAE7B,kBAAa,GAAG,EAAE,CAAC;QAMnB,iBAAY,GAAmB,EAAE,CAAC;QAClC,iBAAY,GAAmB,EAAE,CAAC;QAIzB,gBAAW,GAAW,IAAI,CAAC;QAE7B,eAAU,GAAW,EAAE,CAAC;QAExB,8BAAyB,GAAY,KAAK,CAAC;QAC3C,SAAI,GAAY,IAAI,CAAC;QAG1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAEtE,CAAC;IAEA,iDAAQ,GAAR;QACE,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAE5B,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;YAC5B,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,EAAE;gBAEnD,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,uBAAuB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,uBAAuB,EAA5F,CAA4F,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjM,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,uBAAuB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,uBAAuB,EAA5F,CAA4F,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjM,IAAI,CAAC,YAAY,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,wBAAwB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,wBAAwB,EAA9F,CAA8F,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpM,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,uBAAuB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,uBAAuB,EAA5F,CAA4F,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACjM,IAAI,CAAC,YAAY,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,6BAA6B,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAClK,6BAA6B,EAD8D,CAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,qBAAqB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBACnJ,qBAAqB,EAD+D,CAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,2BAA2B,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC/J,2BAA2B,EAD+D,CAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,0BAA0B,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,6BAA6B,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBACnK,6BAA6B,EAD+D,CAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,wBAAwB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBACzJ,wBAAwB,EAD+D,CAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,wBAAwB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBACzJ,wBAAwB,EAD+D,CAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAEvC,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,iBAAiB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC3I,iBAAiB,EAD+D,CAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAEhC,IAAI,CAAC,YAAY,CAAC,4BAA4B,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,gCAAgC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBACxK,gCAAgC,EAD8D,CAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAE/C,IAAI,CAAC,YAAY,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,yBAAyB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC1J,yBAAyB,EAD8D,CAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAExC,IAAI,CAAC,YAAY,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,yBAAyB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC1J,yBAAyB,EAD8D,CAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAExC,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,sBAAsB,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBACrJ,sBAAsB,EAD+D,CAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAErC,6DAA6D;aAC9D;SACF;IACH,CAAC;IAGD,wDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,QAAQ,IAAI,CAAC,UAAU,EAAE;YACvB,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,WAAW,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;gBACxB,MAAM;aACP;SACF;IAEP,CAAC;IAED,yDAAgB,GAAhB;QAAA,iBASC;QANC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAChG,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACxC,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,wDAAe,GAAf;QAAA,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxE,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAa,GAAb;QAAA,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9E,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAY,GAAZ;QAAA,iBAkCC;QAjCC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC3F,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YAC9F,KAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAChF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAClF,GAAG,CAAC,OAAO,CAAC,aAAG;YACf,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAClF,GAAG,CAAC,OAAO,CAAC,qBAAW;YACvB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YACxF,UAAU,CAAC,OAAO,CAAC,aAAG;YACtB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YAExF,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAgB,GAAhB,UAAiB,YAAY;QAA7B,iBAgDC;QA7CC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAE;YAC3B,IAAI,EAAE,CAAC,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC,IAAI,IAAI,eAAe,IAAI,EAAE,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC,IAAI,IAAI,aAAa,IAAI,EAAE,CAAC,IAAI,IAAI,WAAW,IAAI,EAAE,CAAC,IAAI,IAAI,SAAS,IAAI,EAAE,CAAC,IAAI,IAAI,WAAW,IAAI,EAAE,CAAC,IAAI,IAAI,WAAW,IAAI,EAAE,CAAC,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC,IAAI,IAAI,YAAY,EAAE;gBACvU,IAAI,MAAM,GAAG,IAAI,6DAAQ,EAAE,CAAC;gBAC5B,IAAI,YAAY,IAAI,EAAE,CAAC,IAAI,EAAE;oBAC3B,KAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC;oBACjC,KAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzE,KAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;iBACvD;aACF;QAEH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE;gBACrC,OAAO,KAAK,CAAC;SAChB;QAGD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;YACtE,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAEzD,KAAI,CAAC,QAAQ,GAAG,IAAI,6DAAQ,EAAE,CAAC;oBAC/B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACxF,KAAI,CAAC,gBAAgB,EAAE,CAAC;oBACxB,KAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,KAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,KAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACxC,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,KAAK,CAAC,KAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,iBAAiB,CAAC;aAClD;YAED,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;YACtD,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;YACpD,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;QACtD,CAAC,CAAC,CAAC;IAIP,CAAC;IACD,wDAAe,GAAf,UAAgB,aAAa;QAC3B,CAAC,CAAC,GAAG,GAAG,aAAa,GAAE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC;QACtD,CAAC,CAAC,GAAG,GAAG,aAAa,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;QACtD,CAAC,CAAC,GAAG,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;QACrD,CAAC,CAAC,GAAG,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,6DAAQ,EAAE,CAAC;IACjC,CAAC;IAID,wDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;IAC5B,CAAC;IACD,wDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;IAC5B,CAAC;IACD,sDAAa,GAAb,UAAc,GAAG,EAAE,GAAG,EAAE,IAAI;QAC1B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzE,IAAI,SAAS,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;aACjD;iBACI;gBACH,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;aAEpD;SAEF;aAAM;YAEL,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAChD,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;SACtD;QACD,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;SAClD;aACG,IAAI,GAAG,IAAI,KAAK,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC9C;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;SACnD;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;SAC1D;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAClC;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAClC;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAClC;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACjC;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SAC5C;aAAM,IAAI,GAAG,IAAI,KAAK,EAAE;YACvB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;SACjD;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;SACnE;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;SACrE;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;SACnD;aACI,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;YACrC,IAAI,IAAI,CAAC,MAAM,IAAG,SAAS,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aAC5B;SACF;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SAC7C;aACG,IAAI,GAAG,IAAI,KAAK,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;SAClD;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;SAC7D;aACI,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAC5B;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;SAC9C;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;SAC7C;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC1C;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACrC;aAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;SAC7C;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;SAC/C;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACxC;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACxC;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;SACnD;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;SACxD;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;SAC3C;aACI,IAAI,GAAG,IAAI,MAAM,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;SAC9C;IAEH,CAAC;IACD,2DAAkB,GAAlB,UAAmB,GAAG,EAAE,KAAK;QAC3B,CAAC,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,+BAA+B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC/D,CAAC,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7C,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,yBAAyB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAErC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE9B,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC9C,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE5B,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEtC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjC,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC1D,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAExC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE/B,CAAC,CAAC,GAAG,GAAG,GAAG,GAAC,UAAU,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAChD,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC;IACD,6DAAoB,GAApB,UAAqB,GAAG;QACtB,0DAA0D;QAC1D,iDAAiD;QACjD,sCAAsC;QAEtC,uDAAuD;QACvD,8CAA8C;QAC9C,kCAAkC;QAElC,wDAAwD;QACxD,+CAA+C;QAC/C,mCAAmC;QAEnC,qDAAqD;QACrD,4CAA4C;QAC5C,gCAAgC;QAEhC,6DAA6D;QAC7D,oDAAoD;QACpD,wCAAwC;QAExC,yDAAyD;QACzD,gDAAgD;QAChD,sCAAsC;QAEtC,wDAAwD;QACxD,+CAA+C;QAE/C,uDAAuD;QACvD,8CAA8C;QAC9C,kCAAkC;QAElC,yDAAyD;QACzD,gDAAgD;QAChD,oCAAoC;QAEpC,wDAAwD;QACxD,+CAA+C;QAC/C,mCAAmC;QAEnC,uDAAuD;QACvD,8CAA8C;QAC9C,kCAAkC;QAElC,yDAAyD;QACzD,gDAAgD;QAChD,oCAAoC;QAEpC,2DAA2D;QAC3D,kDAAkD;QAClD,yCAAyC;QAEzC,6DAA6D;QAC7D,oDAAoD;QAEpD,0DAA0D;QAC1D,iDAAiD;QACjD,qCAAqC;QAErC,yDAAyD;QACzD,gDAAgD;QAChD,oCAAoC;QAEpC,iEAAiE;QACjE,wDAAwD;QACxD,4CAA4C;QAE5C,yDAAyD;QACzD,gDAAgD;QAEhD,yDAAyD;QACzD,gDAAgD;QAChD,oCAAoC;QAEpC,mEAAmE;QACnE,0DAA0D;QAE1D,iEAAiE;QACjE,wDAAwD;QAExD,sDAAsD;QACtD,6CAA6C;QAC7C,iCAAiC;QAEjC,+DAA+D;QAC/D,uDAAuD;QAEvD,6DAA6D;QAC7D,oDAAoD;QACpD,2CAA2C;QAE3C,8DAA8D;QAC9D,qDAAqD;QACrD,yCAAyC;QAEzC,yDAAyD;QACzD,gDAAgD;QAChD,oCAAoC;QAEpC,4DAA4D;QAC5D,mDAAmD;QACnD,uCAAuC;QAEvC,8DAA8D;QAC9D,qDAAqD;QACrD,yCAAyC;IAE3C,CAAC;IACD,8CAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;IAC5D,CAAC;IACD,qDAAY,GAAZ,UAAa,YAAY;QAAzB,iBAqBC;QAnBC,IAAI,CAAC,GAAG,OAAO,CAAC,wDAAwD,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,qCAAqC;YACrC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,8BAA8B,GAAG,YAAY,GAAG,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;gBAE9F,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,CAAC,CAAC;YAC9C,GAAG;YACH,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC/E,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,YAAY,CAAC;YACnD,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpF,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,qCAAqC,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAE3H,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAMH,qCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GC3oBK,6MAA0S,YAAjQ;;wBAAuB;MAAhE,iXAA0S,GAAzO,wFAA6M,MAA4B,sKAA0C,kDAAnR,mNAA6M,KAA9Q,YAA0S,EAAzO,SAA6M;6GAC9Q,6MAAuP,YAA9M;;wBAAwB;MAAjE,iXAAuP,GAArL,wFAAyJ,MAA4B,qKAAyC,kDAA9N,2JAAyJ,IAA3N,YAAuP,EAArL,SAAyJ;6GAG3N,+NAAgG,YAA5D;;wBAA4B;MAAhE,wBAAgG,0HAAG,+EAAE;6GAL3G,wHAAM,sNAA6D,YAArD;;wBAAqB;MAA7B,wBAA6D,4KAA2C,KAC9G,wHAAM,qZAA0S,IAChT,wHAAM,qZAAuP,IAG7P,wHAAM,sZAAgG,iDAJxF,+CAAgC,GAAxC,YAA0S,EAAlS,SAAgC,GAChC,+CAAgC,GAAxC,YAAuP,EAA/O,SAAgC,GAGxB,mBAAmB,cAAnC,aAAgG,EAAhF,SAAmB;;;;;;;;;;;;;;;;ACFzC;AAAA;AAAA;IAOE;IAAgB,CAAC;IAEjB,0CAAQ,GAAR;IAEA,CAAC;IAID,wCAAM,GAAN,UAAO,MAAW;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvB,CAAC;IACD,+CAAa,GAAb;QACE,OAAO,IAAI,CAAE;IACf,CAAC;IACD,2CAAS,GAAT;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACM,2CAAS,GAAhB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,6CAAW,GAAlB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IACM,8CAAY,GAAnB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,kDAAgB,GAAvB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,yCAAO,GAAP;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GCnCe,yHAA+B,4FAAe;0GAC9C,yHAA+B,yFAAY;0GAkB/B,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,sEAExF;0GAJF;;;;;wBAA8Y;MAApQ;;wBAAwC;MAA4K;;wBAA+C;MAA7Y,g1DAA8Y,IAC5Y,4yBAAkB,wFAA2B,MAC7C,udAAwF,iDAFwM,gGAA2D,GAA7V,YAA8Y,EAA5G,UAA2D,GAAxP,mBAAoC,6CAAC,gCAAwC,8CAAlL,YAA8Y,EAAzS,UAAoC,EAAC,UAAwC,GACxK,oBAAS,EAAjB,YAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,mBAAmC,uCAA3C,aAAwF,EAAhF,UAAmC,2BAFE,yIAA2B,GAAC,yIAAyB,GAApG,muBAA8Y,EAA/V,SAA2B,EAAC,SAAyB,EAApG,sFAA8Y,GAC1X,wFAA2B;0GAFjD,sKAA0I,KACxI,6YAA8Y,yBAA3N,8LAA8G,IAAjS,YAA8Y,EAA3N,SAA8G;2GAW/R,qzBAA8G,iFAE9G,2BAF4C,uJAA6C,GAAzF,YAA8G,EAAlE,mKAA6C,GAAzF,YAA8G,EAAlE,SAA6C,2BAAqB,sEAE9G;0GAHF;;;;;wBAA8Y;MAApQ;;wBAAwC;MAA4K;;wBAA+C;MAA7Y,g1DAA8Y,IAC5Y,udAA8G,iDADkL,gGAA2D,GAA7V,YAA8Y,EAA5G,UAA2D,GAAxP,mBAAoC,6CAAC,gCAAwC,8CAAlL,YAA8Y,EAAzS,UAAoC,EAAC,UAAwC,GACxK,mBAAmC,uCAA3C,YAA8G,EAAtG,UAAmC,2BADE,yIAA2B,GAAC,yIAAyB,GAApG,muBAA8Y,EAA/V,SAA2B,EAAC,SAAyB,EAApG,sFAA8Y;0GADhZ,sKAA0G,KACxG,6YAA8Y,yBAA3N,8LAA8G,IAAjS,YAA8Y,EAA3N,SAA8G;2GAUnS,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;2GAHF;;;;;wBAA0c;MAApH;;;wBAAoF;MAAC;;wBAA8B;MAAzc,g1DAA0c,IACxc,udAAsF,iDADkM,yFAA2D,GAArV,YAA0c,EAAhL,UAA2D,GAAhP,mBAAoC,sCAAkS,oBAA8B,mBAAzc,YAA0c,EAArW,UAAoC,EAAkS,UAA8B,GAC/b,mBAAmC,gCAA3C,YAAsF,EAA9E,UAAmC,2BADE,kIAA2B,GAAC,kIAAyB,GAApG,muBAA0c,EAA3Z,SAA2B,EAAC,SAAyB,EAApG,sFAA0c;2GAM1c;;;;;;;;;;;wBAAspB;MAAxmB;;wBAAwC;MAA2f;;wBAAwC;MAAznB,i5DAAspB,iDAA/J,kJAAyF,GAAhlB,YAAspB,EAA/J,UAAyF,GAAzf,mBAAoC,sCAA7E,gCAAwC,uCAAtF,YAAspB,EAA/jB,UAAoC,EAA7E,UAAwC,mDAA/E,gJAAsC,GAAkI,uIAAuC,GAAoa,kIAAyB,GAAnpB,uuBAAO,SAAsC,EAAkI,SAAuC,EAAoa,SAAyB,EAAnpB,uFAAspB;2GAEtpB;;;;;;;;;;;wBAA8f;MAAhd;;wBAAwC;MAAmW;;wBAAwC;MAAje,8oEAA8f,iDAA/L,yFAA2D,GAA1X,YAA8f,EAA/L,UAA2D,GAAC,sEAA6D,EAAxb,YAA8f,EAAnI,UAA6D,GAAjW,mBAAoC,sCAA7E,gCAAwC,uCAAtF,YAA8f,EAAva,UAAoC,EAA7E,UAAwC,mDAA/E,gJAAsC,GAAkI,uIAAuC,GAA4Q,kIAAyB,GAA3f,w4BAAO,SAAsC,EAAkI,SAAuC,EAA4Q,SAAyB,EAA3f,mGAA8f;2GAE9f;;;;;;;;;;;;;;;;;;;;;;;wBAAovB;MAAtsB;;wBAAwC;MAAylB;;wBAAwC;MAAvtB,+oCAAovB,GAAhO,uMAA0J,KAA9qB,ytCAAovB,iDAA5R,yFAA2D,GAAnhB,YAAovB,EAA5R,UAA2D,GAAC,iQAA0J,eAA9qB,YAAovB,EAAhO,UAA0J,GAAvlB,mBAAoC,sCAA7E,gCAAwC,uCAAtF,YAAovB,EAA7pB,UAAoC,EAA7E,UAAwC,mDAA/E,gJAAsC,GAAkI,uIAAuC,GAAkgB,kIAAyB,GAAjvB,8uBAAO,SAAsC,EAAkI,SAAuC,EAAkgB,SAAyB,EAAjvB,uFAAovB;2GAGpvB;;;;;;;;;;;wBAA+U;MAAhP;;wBAAwC;MAAkI;;wBAAyC;MAAlT,i5DAA+U,iDAAlI,wFAA2D,GAAxQ,YAA+U,EAAlI,SAA2D,GAA9M,mBAAoC,sCAAC,gCAAwC,uCAAvI,YAA+U,EAArR,UAAoC,EAAC,UAAwC,2BAA4K,kIAAyB,GAA5U,muBAA+U,EAA5B,SAAyB,EAA5U,sFAA+U;2GAI7U,qzBAAsF,iFAEtF,2BAFuC,sHAA0B,GAAjE,YAAsF,EAA/C,kIAA0B,GAAjE,YAAsF,EAA/C,SAA0B,2BAAqB,mEAEtF;2GAHF;;;;;wBAAyU;MAA/L;;wBAAwC;MAAuG;;wBAA+C;MAAxU,g1DAAyU,IACvU,udAAsF,iDADqI,yFAA2D,GAAxR,YAAyU,EAA5G,UAA2D,GAAnL,mBAAoC,sCAAC,gCAAwC,uCAAlL,YAAyU,EAApO,UAAoC,EAAC,UAAwC,GACxK,oBAA8B,QAAtC,YAAsF,EAA9E,UAA8B,2BADO,kIAA2B,GAAC,kIAAyB,GAApG,muBAAyU,EAA1R,SAA2B,EAAC,SAAyB,EAApG,sFAAyU;2GASrU,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,sEAExF;2GALJ,uKAAgF,KAC9E;;;;;wBAAwS;MAArJ;;wBAAwC;MAA6D;;wBAA+C;MAAvS,+2DAAwS,IACtS,kzBAAuB,wFAA2B,MAClD,wdAAwF,iDAFkG,yFAA2D,GAAvP,YAAwS,EAA5G,UAA2D,GAAzI,mBAAoC,sCAA7C,mBAAQ,EAAsC,gCAAwC,uCAA3L,YAAwS,EAA1L,UAAoC,EAA7C,UAAQ,EAAsC,UAAwC,GACjL,yBAAc,EAAtB,aAAuB,EAAf,sCAAc,EAAtB,aAAuB,EAAf,UAAc,GACd,mBAAmC,gCAA3C,aAAwF,EAAhF,UAAmC,2BAFE,kIAA2B,GAAC,kIAAyB,GAApG,muBAAwS,EAAzP,SAA2B,EAAC,SAAyB,EAApG,sFAAwS,GAC/Q,iFAA2B;2GAStD,sKAA8E,kFAE5E;;;;;;;;;;;wBAAqN;MAAxE;;wBAA2B;MAAxK,q5CAAqN,yBAAzH,kBAAoC,sCAAhI,YAAqN,EAAzH,SAAoC,mDAFpD,8DAE5E,itBAAqN;0GA9D7N,wHAAkC,KAChC,0MAA6E,KAC3E,2KAA+C,KAC7C,yHAAO,4IAA+B,IAExC,6IAAsB,KACpB,sKAA0C,KACxC,6YAA0I,IAU1I,8YAA0G,IAU5G,+YAA0c,IAM1c,+YAAspB,IAEtpB,+YAA8f,IAE9f,+YAAovB,IAGpvB,+YAA+U,IAG/U,+YAAyU,IAMzU,+YAAgF,IAWhF,+YAA8E,yBArDlC,4JAA+F,IAAzI,YAA0I,EAAhG,SAA+F,GAU/F,wGAA+D,IAAzG,aAA0G,EAAhE,SAA+D,GAU+B,4NAA+I,IAAzR,aAA0c,EAAhU,SAA+I,GAMlE,ucAA+R,KAAtf,aAAspB,EAA/b,SAA+R,GAE/R,+JAAuG,IAA9T,aAA8f,EAAvS,SAAuG,GAEvG,qZAAgQ,KAAvd,aAAovB,EAA7hB,SAAgQ,GAG/U,2GAAoE,IAA5M,aAA+U,EAAvM,SAAoE,GAGzB,iEAAyC,GAA5N,aAAyU,EAAtJ,SAAyC,GAMlL,6DAAqC,GAA/E,aAAgF,EAAtC,SAAqC,GAWrC,4DAAmC,GAA7E,aAA8E,EAApC,UAAmC,2BAzDtE,6NAA+B;0GArBxD,2MAA2H,KACzH;;;;;wBAA0F;MAA9D;;wBAAyC;MAArE,oxBAA0F,IACxF,qMAAkE,KAChE,4NAA0F,KAGxF,yOACW,KACT,sHAAI,KACF,8YAA+B,IAC/B,8YAA+B,IAC/B,kJAA2B,KACzB,gPAAkJ,YAAvG;;wBAAgF;MAA3H,wBAAkJ,KAIxJ,8TAA0L,KACxL;;;;;;qzBAA4B,IAC1B,udAAkC,IAwElC,8IAAuB,KAErB,6IAAsB,KAEtB,6IAAsB,KACpB,uKAA0C,KACxC,uPAAuJ,YAAvH;;wBAAgF;MAAhH,wBAAuJ,mFAAM,MAE/J,6KAAgD,KAC9C,0RAAuI,YAAvF;;wBAAuB;MAAvE,wBAAuI,iFAAI,mDA1F1I,mCAAuB,GAA9B,aAA+B,EAAxB,SAAuB,GACvB,mCAAuB,GAA9B,aAA+B,EAAxB,SAAuB,GAO1B,oBAAqB,UAA3B,aAA4B,EAAtB,UAAqB,GACpB,oBAA4B,SAAjC,aAAkC,EAA7B,UAA4B,mDAjB3C,8sBAA0F,GAgBlF,kuBAA4B,GAkFoD,qBAA2B,gBAAnG,aAAuI,EAA/D,UAA2B;2GAqEjH,iJAAmD,mGAAsB;2GACzE,iJAAmD,sGAAyB;2GAPpF,gOAA8I,YAAlI;;wBAAyC;MAArD,ubAA8I,MAC5I,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,0MAA6E,KAC3E,qNAAyF,oFAAO,MAAM,sHAAM,KAC5G,wLAA4D,KAC1D,+YAAmD,IAA0B,uHAAM,KACnF,+YAAmD,IAA6B,uHAAM,KAG1F,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,qKAAwC,KACtC,yRACkC,YAA1B;;wBAAyB;MADjC,wBACkC,iFAElC,MAEF,qKAAwC,KACtC,yRACsD,YAA9C;;wBAA6C;MADrD,wBACsD,qFAEtD,mDAzBiH,qBAAkB,EAAjI,mBAAyC,8BAArD,YAA8I,EAAnB,SAAkB,EAAjI,SAAyC,GAMlB,mCAAuB,GAAlD,aAAmD,EAAxB,SAAuB,GACvB,mCAAuB,GAAlD,aAAmD,EAAxB,SAAuB;sTA3K1D,8LAAiE,KAC/D,mLAAsD,KACpD,6YAA2H,IAiI3H,2LAAyC,YAA7B;;wBAA4B;MAAxC,4ZAAyC,MACvC,mLAA+D,KAC7D,qKAA+C,KAAI,sHAAG,mGAAsB,MAC5E,4KAAoD,KAClD,uHAAM,KACN,yHAAM,wMAGkB,4HAAG,uGAAyB,MAAI,+HAEtD,4HAAG,qFAAM,MAAI,qIAEf,MACA,uHAAM,4HAAM,KAEd,4KAA+C,KAC7C,uKAA0C,KACxC,8RAAuJ,YAAxH;;wBAAyC;MAAxE,wBAAuJ,iGAAoB,MAG7K,6LAAgE,KAC9D,2RAAyI,YAA1G;;wBAA8B;MAA7D,wBAAyI,iFAAI,MAYzJ,+YAA8I,iDAlK5D,mEAA4C,IAA1H,YAA2H,EAA7C,SAA4C,GAiI9G,mBAA4B,iBAAxC,YAAyC,EAA7B,SAA4B,GAiCU,mBAAmC,8BAAzF,aAA8I,EAAxF,SAAmC;;;;;;;;;;;;;;;;ACpKzF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiI;AAChF;AACE;AACR;AACO;AACkB;AACA;AACX;AAEC;AACf;AACsC;AAEtC;AAKM;AACW;AACD;AACG;AAIc;AAC3C;AAC+B;AAEhE;IAyIE,8BAAoB,YAAkC,EAAS,MAAc,EAAU,EAAe,EAAU,IAAgB,EAAU,WAAwB,EACxJ,eAAgC,EAAU,KAAqB,EAAU,eAAgC,EACzG,MAAqB,EAAU,gBAAkC,EAAU,QAAkB,EAAU,MAAc,EAC7H,SAAqB,EAAU,WAAyB,EAAU,iBAAsC;QAHtF,iBAAY,GAAZ,YAAY,CAAsB;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAU,OAAE,GAAF,EAAE,CAAa;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,gBAAW,GAAX,WAAW,CAAa;QACxJ,oBAAe,GAAf,eAAe,CAAiB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QACzG,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAAU,WAAM,GAAN,MAAM,CAAQ;QAC9F,gBAAW,GAAX,WAAW,CAAc;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QA3H1G,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAC3B,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAEvH,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChG,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACnC,aAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACpC,qBAAgB,GAAW,EAAE,CAAC;QAC9B,aAAQ,GAAc,IAAI,2DAAS,EAAE,CAAC;QACtC,qBAAgB,GAAqB,IAAI,oEAAgB,EAAE,CAAC;QAC5D,iBAAY,GAAoB,EAAE,CAAC;QACnC,iBAAY,GAAoB,EAAE,CAAC;QACnC,cAAS,GAAiB,EAAE,CAAC;QACtB,eAAU,GAAW,CAAC,CAAC;QAO9B,cAAS,GAAmB,EAAE,CAAC;QAC/B,kBAAa,GAAsB,EAAE,CAAC;QACtC,eAAU,GAAmB,EAAE,CAAC;QAChC,YAAO,GAAmB,EAAE,CAAC;QAC7B,cAAS,GAAmB,EAAE,CAAC;QAC/B,oBAAe,GAAmB,EAAE,CAAC;QACrC,uBAAkB,GAAmB,EAAE,CAAC;QACxC,gBAAW,GAAmB,EAAE,CAAC;QACjC,sBAAiB,GAAmB,EAAE,CAAC;QACvC,eAAU,GAAmB,EAAE,CAAC;QAChC,eAAU,GAAmB,EAAE,CAAC;QAChC,iBAAY,GAAmB,EAAE,CAAC;QAClC,eAAU,GAAmB,EAAE,CAAC;QAGhC,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QACnB,eAAU,GAAG,CAAC,CAAC;QACf,UAAK,GAAG,CAAC,CAAC;QAGV,mBAAc,GAAY,KAAK,CAAC;QAChC,eAAU,GAAG,KAAK,CAAC;QACnB,kBAAa,GAAW,CAAC,CAAC;QAC1B,cAAS,GAAmB,EAAE,CAAC;QAC/B,YAAO,GAAmB,EAAE,CAAC;QACtB,eAAU,GAAW,CAAC,CAAC;QAC9B,mBAAc,GAAuB,EAAE,CAAC;QACxC,iBAAY,GAAoB,EAAE,CAAC;QACnC,gBAAW,GAAmB,EAAE,CAAC;QACjC,eAAU,GAAkB,EAAE,CAAC;QAC/B,gBAAW,GAAmB,EAAE,CAAC;QACjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,WAAM,GAAY,IAAI,CAAC;QACvB,oBAAe,GAAG,KAAK,CAAC;QAEjB,kBAAa,GAAW,CAAC,CAAC;QAC1B,cAAS,GAAG,EAAE,CAAC;QACf,SAAI,GAAiB,EAAE,CAAC;QACxB,YAAO,GAAe;YAC3B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YAC/B,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE;SACvD,CAAC;QACF,QAAG,GAAG,EAAE,CAAC;QACF,SAAI,GAAW,CAAC,CAAC;QACjB,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAW,CAAC,CAAC;QACpB,aAAQ,GAAW,CAAC,CAAC;QACrB,WAAM,GAAW,CAAC,CAAC;QACnB,WAAM,GAAQ;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;SAC/C,CAAC;QACF,iBAAY,GAAY,IAAI,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAY,IAAI,CAAC;QAC/B,uBAAkB,GAAY,KAAK,CAAC;QAEpC,cAAS,GAAW,CAAC,CAAC;QAEtB,mBAAc,GAAW,EAAE,CAAC;QAG5B,gBAAW,GAAG,EAAE,CAAC;QAIjB,kBAAa,GAAa,EAAE,CAAC;QAM7B,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAGnB,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,kBAAa,GAAkB,IAAI,6DAAa,EAAE,CAAC;QAQnD,iBAAY,GAAmB,EAAE,CAAC;QAClC,iBAAY,GAAmB,EAAE,CAAC;QAElC,YAAO,GAAG,IAAI,yDAAS,CAAC,EAAE,CAAC,CAAC;QAE5B,qBAAgB,GAAY,KAAK,CAAC;QAClC,gCAA2B,GAAY,KAAK,CAAC;QAM3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,CAAC;IACD,uCAAQ,GAAR;QAAA,iBAsHC;QArHC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC7D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAG,IAAI,CAAC,EAAC,OAAM,CAAC,KAAK,EAAC,GAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC5V,KAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrE,KAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;oBAEnC,MAAM,CAAC,OAAO,CAAC,aAAG;wBAChB,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,EAAE;4BAChD,KAAK,EAAE,CAAC;4BACR,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,gBAAgB,EAAE,UAAU,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC;yBAE9U;oBAEH,CAAC,CAAC,CAAC;gBAEL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC7D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC7C,KAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACzC,KAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACzC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;oBAChC,KAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;iBAClC;gBACD,KAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBACnC,KAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBAC/B,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,2BAA2B,EAAE,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oBAC1G,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAhC,CAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAChG,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACzD,KAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;gBACpC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;oBACxB,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;iBACrC;gBAED,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACjW,KAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAO;oBACtE,KAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;oBACpC,OAAO,CAAC,OAAO,CAAC,aAAG;wBACjB,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,EAAE;4BAChD,KAAK,EAAE,CAAC;4BACR,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,gBAAgB,EAAE,UAAU,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC;yBAC9U;oBAEH,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC;gBACpD,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,aAAG;YACjF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,GAAG,GAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBACrD,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACrD,MAAM,CAAC,OAAO,CAAC,aAAG;wBACf,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,UAAU,EAAE;4BACpC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC;yBAEhC;6BAAO,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,EAAE;4BAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC;yBAC9B;6BAAM;4BACJ,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,EAAE;gCAC/B,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gCACxB,IAAI,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;gCACjC,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,eAAe,EAAE;oCAC7E,OAAO,GAAG,EAAE,CAAC;oCACb,SAAS,GAAG,mBAAmB,CAAC;iCACjC;qCAAM,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,WAAW,EAAE;oCAChF,OAAO,GAAG,GAAG,CAAC;oCACd,SAAS,GAAG,wBAAwB,CAAC;iCACtC;qCAAM,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,UAAU,EAAE;oCAC1C,OAAO,GAAG,GAAG,CAAC;oCACd,SAAS,GAAG,UAAU,CAAC;iCACxB;qCAAM;oCACL,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;oCACpB,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;iCAC9B;gCACF,wGAAwG;gCACvG,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oCAC3F,IAAI,IAAI,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;oCACxE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gCACxB,CAAC,CAAC,CAAC;6BACJ;yBAEF;oBAEH,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBACrB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;wBACnB,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,2DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC3D,IAAI,KAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,CAAC,UAAU,IAAG,KAAK,CAAC,EAAE;4BAC3F,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC;yBACxB;oBACH,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,2DAAW,CAAC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;oBACvF,IAAI,OAAO,GAAG,KAAI,CAAC;oBACnB,UAAU,CAAC;wBACT,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,SAAS,EAAE;4BACzC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;4BACvC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;4BACzC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;yBACzC;oBACH,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+CAAgB,GAAvB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,EAAE;YACxC,KAAK,CAAC,kHAAkH,CAAC;SAE1H;IACH,CAAC;IACD,8CAAe,GAAf,UAAgB,SAAS;QAAzB,iBA8BC;QA7BC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,oCAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvF,KAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3F,KAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,oCAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7F,KAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3F,KAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAChJ,KAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,WAAW,IAAG,qBAAqB,EAAC,KAAI,EAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACrJ,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7I,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAClD,KAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;YACpC,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC7C,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,2DAAW,CAAC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YAEvF,IAAI,KAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,EAAE;gBACpC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,aAAa,CAAC;gBAChE,IAAI,IAAE,GAAG,KAAI,CAAC;gBACd,UAAU,CAAC;oBACT,IAAE,CAAC,eAAe,CAAC,IAAE,CAAC,gBAAgB,CAAC,CAAC;gBAC1C,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;iBAAM;gBACL,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,gBAAgB,CAAC;gBACvE,IAAI,IAAE,GAAG,KAAI,CAAC;gBACd,UAAU,CAAC;oBACT,IAAE,CAAC,eAAe,CAAC,IAAE,CAAC,gBAAgB,CAAC,CAAC;gBAC1C,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAW,GAAX,UAAY,KAAK;QACf,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;aACf;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QAAQ,gBAAgB,EAAE;QAC3B,IAAI,MAAM,EAAE;YAEV,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC3B;aAAM;SAEN;IACH,CAAC;IAED,6CAAc,GAAd;QAAA,iBAyBC;QAxBC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC7G,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE;QACf;YACE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC;YACb,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,cAAc,GAAE,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAE,KAAK,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAE,KAAK,CAAC;SAC7B;IAEH,CAAC;IACD,2CAAY,GAAZ,UAAa,EAAE,EAAE,KAAK,EAAE,IAAI;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,iBAAiB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;QAE9D,IAAI,EAAE,IAAI,CAAC,EAAE;YAEX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7C,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBAChG,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;oBACrC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAClC;;gBAEC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;aACI,IAAI,EAAE,IAAI,CAAC,EAAE;YAChB,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE7C,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEpD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBAChG,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;oBACrC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAClC;;gBAEC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;aACI;YAEH,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;IAED,wCAAS,GAAT,UAAU,EAAE,EAAE,IAAI;QAAlB,iBA+DC;QA9DC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,SAAS,EAAE;YAE3C,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBACvD,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,WAAW,CAAC,OAAO,CAAC,qBAAW;gBAC/B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpD,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,oCAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvF,KAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3F,KAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,oCAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7F,KAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,oCAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3F,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACxC,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,EAAE;wBACzB,KAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAChD;yBACI;wBACH,KAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAEhD;gBACH,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;oBACrD,IAAI,KAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,IAAI,KAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,IAAI,KAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE;wBAC7G,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;wBACpC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBACxC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC,gBAAgB,CAAC;wBAC9C,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;qBAClC;yBAAM;wBACL,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;wBACpC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBACxC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;qBAC/C;oBACD,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACpE,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAChC,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,EAAE;oBACzB,KAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAChD;qBACI;oBACH,KAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAEhD;gBACD,KAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YACrD,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,2CAAY,GAAZ;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IACD,6CAAc,GAAd;QACE,OAAO,IAAI,yDAAS,CAAC;YACnB,aAAa,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC9E,WAAW,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC1E,UAAU,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACxE,OAAO,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAClE,OAAO,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAClE,MAAM,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,0DAAU,CAAC,aAAa,CAAC;YACrE,KAAK,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC9D,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACtE,YAAY,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,0DAAU,CAAC,aAAa,CAAC;YACjF,QAAQ,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,0DAAU,CAAC,aAAa,CAAC;YACzE,KAAK,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,0DAAU,CAAC,aAAa,CAAC;YACnE,YAAY,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,0DAAU,CAAC,aAAa,CAAC;YACjF,eAAe,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,0DAAU,CAAC,aAAa,CAAC;YACvF,kEAAkE;YAClE,UAAU,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC7E,UAAU,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC7E,MAAM,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,0DAAU,CAAC,aAAa,CAAC;YACrE,QAAQ,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,0DAAU,CAAC,aAAa,CAAC;YACzE,gBAAgB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,0DAAU,CAAC,YAAY,CAAC;YACxF,aAAa,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,0DAAU,CAAC,aAAa,CAAC;YACnF,WAAW,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC/E,UAAU,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC7E,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC3E,MAAM,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,0DAAU,CAAC,aAAa,CAAC;YACrE,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC3E,WAAW,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC/E,WAAW,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC/E,YAAY,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,0DAAU,CAAC,aAAa,CAAC;YACjF,kBAAkB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC7F,oBAAoB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,0DAAU,CAAC,aAAa,CAAC;YACjG,oBAAoB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,0DAAU,CAAC,aAAa,CAAC;YACjG,qBAAqB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,0DAAU,CAAC,aAAa,CAAC;YACnG,UAAU,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC7E,WAAW,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC/E,UAAU,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC7E,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,0DAAU,CAAC,aAAa,CAAC;SAC5E,CAAC,CAAC;IACL,CAAC;IACD,0CAAW,GAAX,UAAY,GAAG;QACb,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,uCAAQ,GAAR,UAAS,OAAO;QAAhB,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9D,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAW,GAAX;QAAA,iBAmDC;;QAlDC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YAChC,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC5E,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;oBAC/B,YAAY,GAAG,CAAC,CAAC;iBAClB;aACF;iBAAM;gBACL,YAAY,GAAG,CAAC,CAAC;aAClB;YACD,IAAI,YAAY,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,gBAAgB,EAAE;oBACjD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;iBAC5B;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,gBAAgB,EAAE;oBACxD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;iBAC5B;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,kBAAkB,EAAE;oBAC1D,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;iBAC7B;gBAED,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,SAAS,EAAE;oBAC1D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;iBACjH;gBACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAE7E,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,OAAC,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAC;gBAEhE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC/C,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC3D,KAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;oBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACnB,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC3C,KAAI,CAAC,QAAQ,GAAG,IAAI,yDAAQ,EAAE,CAAC;oBAC/B,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;oBAC3B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;aAEJ;SACF;aACD;YACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IAEH,CAAC;IAED,sDAAuB,GAAvB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mJAAmJ,CAAC,CAAC;QAClL,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,iDAAkB,GAAlB,UAAmB,EAAE,EAAE,KAAK;QAE1B,IAAI,iBAAiB,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3D,IAAI,EAAE,IAAI,CAAC,EAAE;YACX,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC9D,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAGrC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;aACI,IAAI,EAAE,IAAI,CAAC,EAAE;YAChB,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAC/D,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;SACrB;IACH,CAAC;IACD,+CAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAQC;QAPC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvD,KAAK,CAAC,OAAO,CAAC,qBAAW;YACzB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAa,GAAb,UAAc,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;QAC5C,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,GAAG,GAAG,0BAA0B,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;gBACL,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,UAAU,IAAI;oBACrB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC9C,IAAI,KAAK,IAAI,YAAY,EAAE;wBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;qBAEhC;oBACD,IAAI,KAAK,IAAI,gBAAgB,EAAE;wBAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;qBAEpC;yBACI;wBACH,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;qBAE/B;gBACH,CAAC;aAEF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,wCAAS,GAAT,UAAU,KAAK,EAAE,OAAO,EAAE,QAAQ;QAChC,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,CAAC,IAAI,QAAQ,IAAI,eAAe,EAAE;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE;oBAC1D,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;oBAC5B,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;oBACzD,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;iBAC5B;aACF;SACF;aAAM;YACL,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE5B,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;aAE7B;YACD,IAAI,OAAO,IAAI,kBAAkB,EAAE;gBACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;aACjC;iBACI;gBACH,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;aAE5B;SAEF;IACH,CAAC;IACD,2CAAY,GAAZ,UAAa,OAAO;QAClB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,EAAE;oBAC/C,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACnD;aACF;SACF;aACI;YACH,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;SAC/B;IAGH,CAAC;IACD,uCAAQ,GAAR;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI,GAAG,CAAC;gBACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,4CAAa,GAAb;QACE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAE/D,CAAC;IACD,4CAAa,GAAb;QACE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC9D,CAAC;IACD,oDAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACvE,CAAC;IACD,oDAAqB,GAArB;QAEE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACtE,CAAC;IACD,+CAAgB,GAAhB;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,0CAAW,GAAX,UAAY,EAAE,EAAE,IAAI;QAClB,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,kDAAmB,GAAnB,UAAoB,EAAE,EAAE,IAAI;QAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;IAC7B,CAAC;IACD,6CAAc,GAAd,UAAe,GAAG,EAAE,IAAI;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC1C,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;wBACnI,OAAO;qBACR;oBACD,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE;wBAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6FAA6F,EAAE,eAAe,CAAC,CAAC;wBACpI,OAAO;qBACR;iBACF;aAEF;SACF;IAEH,CAAC;IACD,gDAAiB,GAAjB,UAAkB,GAAG;QAArB,iBASC;QARC,IAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC1C,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBAEtF,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,2CAAY,GAAZ,UAAa,KAAK;QAEhB,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,4CAAa,GAAb;QACE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;SACjC;IACH,CAAC;IACD,2CAAY,GAAZ;QACE,CAAC,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IACD,6CAAc,GAAd;QACE,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,6CAAc,GAAd;QACE,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,8CAAe,GAAf;QACE,CAAC,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IACD,8CAAe,GAAf;QACE,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAClD,CAAC;IACD,0CAAW,GAAX;QAAA,iBAgBC;QAdC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;gBAChC,KAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAE1C,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACvD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IAEH,CAAC;IACD,iDAAkB,GAAlB;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,iDAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;YAExB,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE;oBACjE,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACxB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;iBAC/B;aACF;iBAAM;gBACL,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;oBACnG,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;iBAC9B;aAEF;SACF;IACH,CAAC;IACD,gDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,4CAAa,GAAb;QACE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;aAC/B;SACF;IACH,CAAC;IACM,wCAAS,GAAhB,UAAiB,KAAa;QAE5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;aACI;YACH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IAED,8CAAe,GAAf,UAAgB,GAAa;QAC3B,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;SAClD;aACD;YACE,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;SACnD;IAEH,CAAC;IAED,4CAAa,GAAb;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IACD,8CAAe,GAAf,UAAgB,KAAK;QAArB,iBAgDC;QA/CC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;gBACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;aACxC;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;aAGzB;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,2BAA2B,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC3G,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtG,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;aAC3C;YACD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;SACxF;aAAM;YACL,IAAI,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAA3B,CAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACtC,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE;gBAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;aACzB;YACD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;SACxF;IAGH,CAAC;IAED,iDAAkB,GAAlB,UAAmB,KAAK,EAAE,IAAI;QAC5B,IAAI,sBAAsB,GAAG,EAAE,CAAC;QAChC,IAAI,KAAK,IAAI,WAAW,EAAE;YACxB,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;YACxE,OAAO,sBAAsB,CAAC;SAC/B;aAAM,IAAI,KAAK,IAAI,WAAW,EAAE;YAC/B,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAApC,CAAoC,CAAC,CAAC;YACnF,OAAO,sBAAsB,CAAC;SAC/B;IACH,CAAC;IAED,8CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,6DAA8B,GAA9B;QACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,sCAAsC,CAAC,CAAC;IAE5E,CAAC;IAED,uCAAQ,GAAR,UAAS,KAAK;QAEV,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,2CAAY,GAAZ,UAAa,IAAI;QACf,IAAI,OAAO,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAC7B,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;YAC/B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAGX,CAAC;IACH,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGCpiCK,wOAAiH,YAAxE;;wBAAuB;MAAhE,wBAAiH,2KAA0C;yGAC3J,wOAAkH,YAAzE;;wBAAwB;MAAjE,wBAAkH,0KAAyC;yGAG3J,yPAAiH,YAAvE;;wBAAsB;MAAhE,wBAAiH,0KAAyC;yGANhK,wHAAM,6OAA8E,YAAtE;;wBAAqB;MAA7B,wBAA8E,4KAA2C,KAE/H,wHAAM,iZAAiH,IACvH,wHAAM,iZAAkH,IAGxH,wHAAM,kZAAiH,iDAJzG,+CAAgC,GAAxC,YAAiH,EAAzG,SAAgC,GAChC,+CAAgC,GAAxC,YAAkH,EAA1G,SAAgC,GAGhC,mBAAsB,iBAA9B,aAAiH,EAAzG,SAAsB;;;;;;;;;;;;;;;;ACJpC;AAAA;AAAA;IAOE;IAAgB,CAAC;IAEjB,sCAAQ,GAAR;IACA,CAAC;IAID,oCAAM,GAAN,UAAO,MAAW;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,2CAAa,GAAb;QACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,IAAI,sCAAsC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnH,CAAC;IACD,0CAAY,GAAZ;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,IAAI,sCAAsC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;SAClH;IACH,CAAC;IACM,0CAAY,GAAnB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IACM,uCAAS,GAAhB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,yCAAW,GAAlB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IACM,wCAAU,GAAjB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExD,CAAC;IACD,yCAAW,GAAX;QACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAChH,CAAC;IACD,qCAAO,GAAP;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IACH,0BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GC3CC,2NAAiS,YAA7P;;wBAA4B;MAAhE,iXAAiS,GAAhO,wFAAoM,MAA4B,qHAAG,+EAAE,mDAArO,6MAAoM,KAArQ,YAAiS,EAAhO,SAAoM;2GAG9O,gOAAmf,YAAja;;wBAAqB;MAAvG,iXAAmf,GAA3Y,wFAA+W,MAA4B,gNAA8E,kDAAzd,qaAA+W,MAAvd,YAAmf,EAA3Y,SAA+W;2GAEvd,gOAA+e,YAA7Z;;wBAAqB;MAAvG,iXAA+e,GAAvY,wFAA2W,MAA4B,gNAA8E,kDAArd,gaAA2W,MAAnd,YAA+e,EAAvY,SAA2W;2GAEte,6MAA0S,YAAjQ;;wBAAuB;MAAhE,iXAA0S,GAAzO,wFAA6M,MAA4B,sKAA0C,kDAAnR,mNAA6M,KAA9Q,YAA0S,EAAzO,SAA6M;2GAC9Q,6MAAuP,YAA9M;;wBAAwB;MAAjE,iXAAuP,GAArL,wFAAyJ,MAA4B,qKAAyC,kDAA9N,2JAAyJ,IAA3N,YAAuP,EAArL,SAAyJ;2GAbjO,wHAAM,kNAAmN,YAA3M;;wBAAqB;MAA7B,iXAAmN,GAA1J,wFAAyJ,MAAC,uKAA2C,KAIpQ,wHAAM,KACJ,8YAAiS,IAGnS,+IAAyB,oZAAmf,IAE5gB,gJAAyB,oZAA+e,IAExgB,yHAAM,oZAA0S,IAChT,yHAAM,oZAAuP,iDAb9L,2JAAyJ,IAAlN,YAAmN,EAA1J,SAAyJ,GAKtM,mBAAmB,cAAnC,YAAiS,EAAjR,SAAmB,GAGS,qEAA4D,mBAAjF,aAAmf,EAA9d,SAA4D,GAE5D,qEAA4D,mBAAjF,aAA+e,EAA1d,SAA4D,GAE5F,+CAAgC,GAAxC,aAA0S,EAAlS,SAAgC,GAChC,+CAAgC,GAAxC,aAAuP,EAA/O,SAAgC;;;;;;;;;;;;;;;;ACX9C;AAAA;AAAA;AAAA;AAA2C;AACyB;AAEpE;IAQE,+BAAoB,MAAqB,EAAU,eAAgC;QAA/D,WAAM,GAAN,MAAM,CAAe;QAAU,oBAAe,GAAf,eAAe,CAAiB;QACjF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAErE,CAAC;IAED,wCAAQ,GAAR;IAEA,CAAC;IAID,sCAAM,GAAN,UAAO,MAAW;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvB,CAAC;IACD,6CAAa,GAAb;QACE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,IAAI,sCAAsC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAClH,CAAC;IACD,yCAAS,GAAT;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAChF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;SAC/F;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;YACvF,uGAAuG;YACvG,OAAO,IAAI,CAAC;SACb;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IACD,2CAAW,GAAX;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACnF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;SAChG;aACI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;SAChG;aACI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5H,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;SAAE;IAC7F,CAAC;IAEM,yCAAS,GAAhB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvD,CAAC;IAEM,2CAAW,GAAlB;QAEE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzD,CAAC;IAEM,4CAAY,GAAnB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,gDAAgB,GAAvB;QAAA,iBAYC;QAXC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAE7B,IAAI,OAAO,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAvB,CAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;gBAC5B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kGAAkG,EAAE,eAAe,CAAC,CAAC;gBACzI,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACM,yCAAS,GAAhB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACM,yCAAS,GAAhB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,uCAAO,GAAP;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IACH,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gHC7FD,wHAA4C,6OAAqF,YAA7E;;wBAA4B;MAApC,wBAAqF,0HAAG,+EAAE;gHACtI,wHAA4C,6OAA8E,YAAtE;;wBAAqB;MAA7B,wBAA8E,2KAA0C;gHAE3I,gOAA4d,YAA1Y;;wBAAqB;MAAvG,iXAA4d,GAApX,wFAAwV,MAA4B,gNAA8E,kDAAlc,iYAAwV,KAAhc,YAA4d,EAApX,SAAwV;gHAEhc,gOAA4d,YAA1Y;;wBAAqB;MAAvG,iXAA4d,GAApX,wFAAwV,MAA4B,gNAA8E,kDAAlc,iYAAwV,KAAhc,YAA4d,EAApX,SAAwV;gHAEzd,wHAA2D,6OAAiF,YAAzE;;wBAAwB;MAAhC,wBAAiF,2KAA0C;gHACtL,wHAA2D,6OAAuF,YAA/E;;wBAA8B;MAAtC,wBAAuF,0KAAyC;gHAT3L,wHAAM,6OAA8E,YAAtE;;wBAAqB;MAA7B,wBAA8E,4KAA2C,KAC/H,mZAA4C,IAC5C,mZAA4C,IAE5C,+IAAyB,wZAA4d,IAErf,gJAAyB,yZAA4d,IAErf,oZAA2D,IAC3D,oZAA2D,iDARrD,kDAAqC,GAA3C,YAA4C,EAAtC,SAAqC,GACrC,kDAAqC,GAA3C,YAA4C,EAAtC,SAAqC,GAEG,qEAA4D,mBAAjF,YAA4d,EAAvc,SAA4D,GAE5D,qEAA4D,mBAAjF,aAA4d,EAAvc,SAA4D,GAEpG,mEAAoD,GAA1D,aAA2D,EAArD,SAAoD,GACpD,mEAAoD,GAA1D,aAA2D,EAArD,SAAoD;;;;;;;;;;;;;;;;ACP1D;AAAA;AAAA;IAQE;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,6CAAQ,GAAR;IACA,CAAC;IAID,2CAAM,GAAN,UAAO,MAAW;QAEhB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,SAAS;IACX,CAAC;IAEM,8CAAS,GAAhB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,gDAAW,GAAlB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,qDAAgB,GAAvB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IACM,8CAAS,GAAhB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACM,sDAAiB,GAAxB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/D,CAAC;IAED,gDAAW,GAAX;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YAChC,OAAQ,IAAI,CAAC;SACd;IAEH,CAAC;IACD,4CAAO,GAAP;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,8CAAS,GAAT;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACH,iCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qGCViB,ySAAgJ,YAA7H;;wBAA0B;MAA7C,wBAAgJ;qGAKhJ,+JAAyC,8KAAa;qGAWtD,ySAAmJ,YAAhI;;wBAA6B;MAAhD,wBAAmJ;qGAKnJ,+JAAyC,8KAAa;qGAcxD,sHAA8D,gLAE9D;qGAqBN,8KAA6E,8PAA2C;qGAAQ,iKAAsE,mNAAiC;qGAAQ,yHAAkC,8EAAC;qGAClR,8KAA8E,uPAAoC;sGAiC1H,0RAOwD,YAAvC;;wBAAsC;MAPvD,k9CAOwD,mIALvC,mBAAgC,mBAGhC,mBAAyB,gBAFzB,mBAA8B,kBAC9B,mBAAwD,yCAExD,mBAAmB,UANpC,YAOwD,EALvC,SAAgC,EAGhC,SAAyB,EAFzB,SAA8B,EAC9B,SAAwD,EAExD,SAAmB;6LAjJtC,iMAAgE,KAChE,2LAA2D,KAC3D,sLAAsD,KACtD,uLAAuD,KACvD,+IAAuB,KACrB,8IAAsB,KACpB,2KAA6C,KAC3C,gPAAmH,KACjH,wLAA4D,KAC1D,6SAAkJ,YAAtB;;wBAAqB;MAAjJ,wBAAkJ,+EAC/I,6HAAM,8EAAC,6HAAM,8EAAC,6HAAM,8EAAC,6HAAM,KAGhC,2LAA6D,KAC3D,8IAAuB,KACrB,mPAAgH,KAC9G,yuBAAkB,gFAAI,MAG1B,4KAA+C,KAC7C,0NAAmG,+EAAE,MAEvG,6KAAgD,KAC9C,0NAAmG,+EAAE,MAEvG,6KAAgD,KAC9C,0NAAmG,gFAAG,MAExG,gRAAmJ,sFAEnJ,MACA,gRAAmJ,yFAEnJ,MAEF,sLAAwD,KACtD,+OAAkH,KAChH,0HAAO,iFAAqB,MACxB,uHAAM,KACZ,wLAA2D,KACzD,oPAAuG,KACnG,uHAAM,KACZ,uLAAyD,KACvD;;;;;wBACwI;MADhG;;wBAA2B;MAAuB;;wBAAiC;MACrG;;wBAAqC;MAAC;;wBAAmC;MAAC;;wBAAuC;MADvI,gxEACwI,IACtI,mmBAAU,MACR,6GAAa,KAIf,umBAAQ,MACN,6GAA6B,KAM7B,uHAAM,KACZ,uLAAyD,KACvD;;;;;wBACiJ;MADtG;;wBAA8B;MAAuB;;wBAAoC;MAC9G;;wBAAwC;MAAC;;wBAAsC;MAAC;;wBAA0C;MADhJ,gxEACiJ,IAC/I,omBAAU,MACR,8GAAa,KAIf,wmBAAQ,MACN,8GAA6B,KAK7B,uHAAM,KACZ,sLAAyD,KACvD,kQAA+G,KAEjH,uLAAyD,KACvD,sKAAyC,KACvC,2QAA0G,YAA3E;;wBAAkC;MAAjE,wBAA0G,4HAAM,KAGhH,uHAAI,KACF,kdAA8D,IAKhE,yIAAgC,KAElC,6IAAsB,KACpB,iMAA+C,YAAzB;;wBAAwB;MAA9C,wBAA+C,8FAAiB,MAYxE,6NAA8F,KAC5F,kMAAmE,KACjE,sJAA8B,4FAAyB,MACvD,0YAA6E,IAAmD,0YAAsE,IAAyC,0YAAkC,IACjR,0YAA8E,IAEhF,6QAAyI,KAK7I,wNAAyF,KACvF,yNAA8F,YAA9C;;wBAAoC;MAApF,4rBAA8F,MAC5F,yIAAiB,KAAI,0TAC4N,8HAAM,uNAA0I,8HAAM,8IACvY,8HAAM,wHAER,MAIJ,6LAAqC,YAAzB;;wBAAwB;MAApC,+ZAAqC,MACnC,iKAA4C,4HAAG,wFAAW,MAC1D,qHAAM,KACN,qHAAM,KACN,iKAA4C,6JAA8E,MAC1H,qHAAM,KACN,qHAAM,KACN,qLAAgE,4GAA+B,MAC/F,qLAAgE,2FAAc,4MAA6D,YAAnC;;wBAAkC;MAA5D,wBAA6D,qFAAQ,MACnJ,gLAA2D,sGAAyB,MACpF,qHAAM,KACN,qHAAM,KACN,qLAAgE,6GAAgC,MAChG,iKAA4C,2FAAc,4MAA8D,YAApC;;wBAAmC;MAA7D,wBAA8D,mFAAM,MAGhI,2YAOwD,iDAlIpC,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GA2BG,oBAAiB,WAA6B,oBAAqB,WAAzF,aACwI,EADlH,UAAiB,EAA6B,UAAqB,GAAjD,oBAA2B,gBAAnE,aACwI,EADhG,UAA2B,GAgB7C,oBAAoB,cAAgC,oBAAqB,WAA/F,aACiJ,EAD3H,UAAoB,EAAgC,UAAqB,GAApD,oBAA8B,mBAAzE,aACiJ,EADtG,UAA8B,GAuBjE,oBAAyD,oBAA7D,aAA8D,EAA1D,UAAyD,GAuB5D,wCAA0B,GAAjC,cAA6E,EAAtE,UAA0B,GAAsG,wCAA0B,GAAjC,cAAsE,EAA/D,UAA0B,GAAqF,wCAA0B,GAAjC,cAAkC,EAA3B,UAA0B,GAC9N,yCAA2B,GAA7E,cAA8E,EAA5B,UAA2B,GAQhE,oBAA8B,gBAAC,oBAAoC,qBAApF,cAA8F,EAA7E,UAA8B,EAAC,UAAoC,GAS5E,oBAAwB,aAApC,cAAqC,EAAzB,UAAwB,GAiBK,oBAAsB,iBAD/D,cAOwD,EANf,UAAsB,mDAvG9C,+DAAqB,GAM5B,u0BACwI,GAexI,q1BACiJ,GA2B1I,oBAA0B,eAA/B,aAAgC,EAA3B,UAA0B,GAiBL,4DAAyB;;;;;;;;;;;;;;;;ACxGjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmI;AAC1E;AACW;AACM;AACJ;AAEX;AACH;AACb;AAC+B;AACxB;AACP;AACb;AACkC;AAE/C;AACoB;AAErC;IAyCE,yBAAmB,oBAA0C,EAAS,MAAqB,EAAU,IAAgB,EAAU,KAAqB,EAAU,iBAAsC,EAAU,gBAAkC,EAAU,eAAgC,EAAU,WAA+B,EAAU,gBAAkC;QAA5V,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,WAAM,GAAN,MAAM,CAAe;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAoB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAnC/W,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,kBAAa,GAAkB,EAAE,CAAC;QAClC,gBAAW,GAAwB,EAAE,CAAC;QACtC,mCAAmC;QACnC,gBAAW,GAAG,EAAE,CAAC;QACjB,eAAU,GAAG,EAAE,CAAC;QAChB,aAAQ,GAAG,EAAE,CAAC;QAEd,kBAAa,GAAG,EAAE,CAAC;QACnB,qBAAgB,GAAG,EAAE,CAAC;QAEtB,iBAAY,GAAqB,EAAE,CAAC;QAEpC,iBAAY,GAAG,EAAE,CAAC;QAClB,iBAAY,GAAG,EAAE,CAAC;QAClB,WAAM,GAAW,IAAI,qDAAM,EAAE,CAAC;QAAC,gBAAW,GAAW,EAAE,CAAC;QAGxD,mBAAc,GAAY,KAAK,CAAC;QAChC,aAAQ,GAAQ,EAAE,CAAC;QACnB,gBAAW,GAAQ,EAAE,CAAC;QACtB,aAAQ,GAAG,EAAE,CAAC;QAGd,sBAAiB,GAAa,EAAE,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QACrB,kBAAa,GAAY,KAAK,CAAC;QAItC,kBAAa,GAAW,CAAC,CAAC;QAC1B,mBAAc,GAAW,CAAC,CAAC;QAC3B,kBAAa,GAAW,mBAAmB,CAAC;QACrC,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAG5H,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAClD,CAAC;IACD,wCAAc,GAAd,UAAe,GAAG;IAElB,CAAC;IACD,kCAAQ,GAAR;QAAA,iBAiDC;QAhDC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI;YAC7F,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAI,CAAC,YAAY,GAAG,IAAI;YACxB,2CAA2C;YAC3C,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,IAAI,IAAI,UAAU,EAAE;gBACtB,gDAAgD;gBAChD,gDAAgD;gBAChD,4EAA4E;gBAC5E,KAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC;aAC3C;iBAAM;gBACL,6CAA6C;gBAC7C,6CAA6C;gBAC7C,2EAA2E;gBAC3E,KAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC;aAC1C;YACD,GAAG;YACH,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,OAAO,EAAE,sBAAsB;YAC/B,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,oBAAoB;YACjC,kBAAkB,EAAE,IAAI;SAEzB,CAAC;QACF,mMAAmM;QACnM,gCAAgC;QAChC,+EAA+E;QAC/E,sFAAsF;QACtF,OAAO;QAEP,+BAA+B;QAC/B,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,aAAa,CAAC;IACvD,CAAC;IACD,kCAAQ,GAAR,UAAS,GAAQ;QAAjB,iBAiBC;QAhBC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAEzF,0BAA0B;YAC1B,KAAK;YACL,0CAA0C;YAC1C,sCAAsC;YACtC,uCAAuC;YACvC,mCAAmC;YACnC,yCAAyC;YACzC,+BAA+B;YAC/B,KAAK;YAEL,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAW,GAAX,UAAY,GAAQ;QAApB,iBAiBC;QAhBC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAEzF,0BAA0B;YAC1B,KAAK;YACL,0CAA0C;YAC1C,sCAAsC;YACtC,uCAAuC;YACvC,mCAAmC;YACnC,yCAAyC;YACzC,kCAAkC;YAClC,KAAK;YAEL,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,gDAAsB,GAAtB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACvO,CAAC;QAAC,IAAI,CAAC,OAAO,GAAG;YAChB,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IACH,CAAC;IACD,gDAAsB,GAAtB,UAAuB,gBAAwB;QAC7C,IAAI,CAAC,eAAe,GAAG;YACrB,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;YACvD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;YACxD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAChE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;SAE3F,CAAC;IAEJ,CAAC;IACD,+BAAK,GAAL,UAAM,GAAG;QAAT,iBAgBC;QAfC,IAAI,GAAG,IAAI,aAAa,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,gBAAgB;gBACtF,gBAAgB,CAAC,OAAO,CAAC,kBAAQ;oBAC/B,QAAQ,CAAC,aAAa,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;oBACvF,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;gBAElG,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACxC,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;IACH,CAAC;IACM,6CAAmB,GAA1B,UAA2B,WAAW,EAAE,IAAI;QAA5C,iBA6FC;QA3FC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC3E,QAAQ,CAAC,OAAO,CAAC,kBAAQ;YACzB,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAE9C,KAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACxB,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAG;gBAE3B,IAAI,GAAG,CAAC,KAAK,IAAI,WAAW;oBAC1B,KAAI,CAAC,cAAc,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,gBAAgB,GAAG,EAAE,CAAC;YAC1B,IAAI,UAAU,GAAG,EAAE,CAAC;;gBAElB,IAAI,CAAC,IAAI,CAAC,EAAE;oBACV,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;iBAC5B;qBAAM;oBACD,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACxB,CAAC,EAAE,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,EAAE;wBACV,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qBACjD;yBAAM;wBACL,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qBAC/C;iBAEF;gBAED,IAAI,CAAC,IAAI,CAAC,EAAE;oBACV,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE;wBAC7B,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;qBAC7B;iBACF;qBAAM;oBACL,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE;wBAC7B,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;qBAChD;yBAAM;wBAAE,QAAQ,GAAG,QAAQ,CAAC;qBAAE;iBAChC;gBAED,IAAI,CAAC,IAAI,CAAC,EAAE;oBACV,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;oBACnC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACvC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;wBACxB,gBAAgB,GAAG,gBAAgB,GAAG,GAAG;wBACzC,UAAU,GAAG,UAAU,GAAG,GAAG;qBAC9B;iBACF;qBAAM;oBACL,gBAAgB,GAAG,gBAAgB,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC5D,UAAU,GAAG,UAAU,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;iBAC/C;gBAGD,IAAI,KAAK,GAAW,WAAW,GAAG,CAAC,CAAC;gBACpC,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE3B,QAAQ,GAAG,QAAQ,GAAG,mFAAmF,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;gBAClI,IAAI,KAAI,CAAC,YAAY,IAAI,UAAU,EAAE;oBACnC,+SAA+S;iBAChT;qBAAM;oBACL,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;qBAAE;oBACpF,IAAI,WAAW,GAAW,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrE,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE;wBAC3B,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxC,WAAW,IAAI,IAAI,CAAC;qBACrB;oBAED,QAAQ,GAAG,QAAQ,GAAG,qKAAqK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,mBAAmB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,KAAK,GAAG,wHAAwH,CAAC;iBAC/Z;gBACD,QAAQ,GAAG,QAAQ,GAAG,QAAQ;gBAE9B,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBAEX,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC;wBAEnB,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;;gBA1DJ,CAAC;YAJT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;;aA+DvC;YACD,0BAA0B;YAE1B,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC7C,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC;YACjE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvB,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,GAAG,eAAe,GAAG,QAAQ,GAAG,GAAG,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAc,GAAd,UAAe,EAAE;QAAjB,iBAoDC;QAjDC,IAAI,MAAM,GAAW,CAAC,CAAC,CAAC;QACxB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAG;YAC3B,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE;gBACd,MAAM,GAAG,GAAG,CAAC;YAEf,GAAG,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAE9C,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAG;YAE3B,IAAI,GAAG,CAAC,KAAK,IAAI,WAAW;gBAC1B,KAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;QACzC,IAAI,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,gBAAgB,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;QACpD,IAAI,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAC7B,IAAI,0BAA0B,GAAG,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7B,IAAI,gBAAgB,IAAI,EAAE,EAAE;wBAC1B,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBACvC,mBAAmB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;wBAC5C,0BAA0B,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;qBACvD;yBAAM;wBACL,gBAAgB,GAAG,gBAAgB,GAAG,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBAChE,mBAAmB,GAAG,mBAAmB,GAAG,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;wBACxE,0BAA0B,GAAG,0BAA0B,GAAG,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;qBAC1F;iBACF;aACF;SACF;QACD,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClC,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACvD,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,GAAG,eAAe,GAAG,0BAA0B,CAAC;IAC/F,CAAC;IAED,sCAAY,GAAZ,UAAa,IAAS;QAEpB,sBAAsB;QACtB,8BAA8B;QAC9B,8CAA8C;QAC9C,MAAM;QACN,yBAAyB;QACzB,sCAAsC;QACtC,qGAAqG;QAErG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;YAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IAC1C,CAAC;IACD,wCAAc,GAAd,UAAe,IAAS;QAAxB,iBA2BC;QAzBC,IAAI,GAAG,GAAa,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;YAC7D,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,OAAO,CAAC,YAAE;YACZ,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK;gBAClB,OAAO,GAAG,GAAG,CAAC;YAChB,GAAG,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,IAAI,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEzB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAEvB,GAAG,CAAC,OAAO,CAAC,YAAE;YACZ,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE;gBACjB,KAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,GAAG,GAAG,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,8DAA8D;IAChE,CAAC;IACD,qCAAW,GAAX,UAAY,KAAU;QAEpB,eAAe;QAFjB,iBAgBC;QAZC,0CAA0C;QAC1C,6BAA6B;QAC7B,GAAG;QACH,uBAAuB;QACvB,wBAAwB;QACxB,qGAAqG;QAErG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,cAAI;YAChB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC/C,KAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAa,GAAb,UAAc,KAAU;QAEtB,uBAAuB;QACvB,sBAAsB;QAEtB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,yCAAe,GAAf,UAAgB,IAAS;QAEvB,oBAAoB;QACpB,2CAA2C;QAC3C,6BAA6B;QAC7B,kGAAkG;QAElG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS;YAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE;YAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IAC3C,CAAC;IACD,2CAAiB,GAAjB,UAAkB,IAAS;QAEzB,oBAAoB;QACpB,kBAAkB;QAClB,qCAAqC;QACrC,qCAAqC;QACrC,wCAAwC;QACxC,wCAAwC;QACxC,6BAA6B;QAC7B,KAAK;QACL,GAAG;QACH,yBAAyB;QACzB,4BAA4B;QAC5B,oGAAoG;QACpG,UAAU;QACV,yBAAyB;QACzB,GAAG;QAhBL,iBAwCC;QAtBC,IAAI,GAAG,GAAa,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS;YAC/D,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,OAAO,CAAC,YAAE;YACZ,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK;gBAClB,OAAO,GAAG,GAAG,CAAC;YAChB,GAAG,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,IAAI,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEzB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QAExB,GAAG,CAAC,OAAO,CAAC,YAAE;YACZ,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE;gBACjB,KAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,GAAG,GAAG,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wCAAc,GAAd,UAAe,KAAU;QAEvB,eAAe;QAFjB,iBAeC;QAXC,0CAA0C;QAC1C,6BAA6B;QAC7B,GAAG;QACH,qBAAqB;QACrB,sBAAsB;QACtB,kGAAkG;QAElG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,cAAI;YAChB,KAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAgB,GAAhB,UAAiB,KAAU;QAEzB,qBAAqB;QACrB,uBAAuB;QAEvB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,4CAAkB,GAAlB,UAAmB,MAAe;QAAlC,iBA2CC;QA1CC,IAAI,MAAM,EAAE,EAAI,0CAA0C;YAExD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;gBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG;gBACxF,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEhF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS;gBAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG;gBAC3F,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEnF,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;YAEhC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvD,IAAI,KAAK,GAAa,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEhD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAE1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE;wBACjH,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;qBAC3B;oBAED,IAAI,KAAG,GAAG,CAAC,CAAC;oBACZ,KAAK,CAAC,OAAO,CAAC,YAAE;wBACd,IAAI,KAAG,GAAG,CAAC,EAAE;4BACX,IAAI,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC;gCACpC,KAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,GAAG,GAAG,CAAC;yBAClC;wBAED,KAAG,EAAE,CAAC;oBACR,CAAC,CAAC,CAAC;iBACJ;gBAED,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;IACH,CAAC;IAED,mCAAS,GAAT;QAGE,0CAA0C;QAC1C,wCAAwC;QAJ1C,iBAqCC;QA/BC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;YAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG;YACxF,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS;YAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG;YAC3F,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnF,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU;YAClB,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC/B,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACrC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC3C,KAAK,CAAC,qFAAqF,CAAC,CAAC;SAC9F;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAClD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChF,KAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,qCAAW,GAAX;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IACD,yCAAe,GAAf,UAAgB,SAAc;QAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAgB,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;gCAEhD,CAAC;YACR,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YACzB,kCAAI,CAAuB;YAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3B,gCAAgC;YAChC,OAAK,iBAAiB,CAAC,IAAI,CAAC,OAAK,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,6CAA6C;YAC7C,6CAA6C;YAC7C,oCAAoC;YACpC,8BAA8B;YAC9B,IAAI,OAAO,SAAO,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1H,4CAA4C;YAC9C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;;;QAdX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAzC,CAAC;SAeT;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAEhB,CAAC;IACD,0BAA0B;IAC1B,2BAA2B;IAC3B,0BAA0B;IAC1B,qDAAqD;IACrD,yDAAyD;IAEzD,sCAAsC;IACtC,wCAAwC;IACxC,iCAAiC;IACjC,+CAA+C;IAC/C,yBAAyB;IACzB,gCAAgC;IAChC,sEAAsE;IACtE,kDAAkD;IAClD,eAAe;IACf,KAAK;IACL,4DAA4D;IAC5D,SAAS;IACT,wCAAwC;IACxC,0CAA0C;IAC1C,mCAAmC;IACnC,2BAA2B;IAC3B,kCAAkC;IAClC,wEAAwE;IACxE,iBAAiB;IACjB,OAAO;IAGP,kBAAkB;IAClB,GAAG;IACH,sCAAY,GAAZ,UAAa,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;QAC/C,IAAI,IAAI,GAAG,IAAI,2DAAY,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,sCAAY,GAAZ;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,gCAAM,GAAN;QAAA,iBAkCC;QAjCC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;YAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACrF;YAED,kEAAkE;YAClE,IAAI,MAAM,GAAG,sDAAsD,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,2DAAG,CAAC,UAAC,GAAa,IAAK,UAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC,CAAC;iBACtE,SAAS,CAEV,cAAI;gBACF,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACzB,CAAC,EACD,aAAG;gBACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;gBACxB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,EACD;gBACE,KAAI,CAAC,aAAa,GAAG,KAAK;oBACxB,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC9C,KAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;gBAC5B,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAC1B,CAAC,CACA,CAAC;SACL;IACH,CAAC;IACH,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGCtrBC,2TAS8D,YAD7C;;wBAAiD;MACjD;;wBAA4C;MAT7D,shDAS8D,mIAP7C,mBAAgC,mBAGhC,mBAAsB,aAFtB,mBAA8B,kBAC9B,mBAAwD,yCAExD,mBAAmB,UACnB,oBAAmB,EAPpC,YAS8D,EAP7C,SAAgC,EAGhC,SAAsB,EAFtB,SAA8B,EAC9B,SAAwD,EAExD,SAAmB,EACnB,SAAmB;wGAQS,oPAA+G,YAA1B;;wBAAyB;MAA9G,wBAA+G;wGAcpJ,8IAA+D,0HAAG,4FAAgB;wGAEhF,sHAA6C,KAE3C,yKAAkC,YAA/B;;wBAA8B;MAAjC,wBAAkC,+KAAW;wGAZnD,kIAAkD,KAChD,8IAAwB,0HAAG,qFAAQ,MAAI,2EAAuB,MAAS,sHAAI,KAC3E,8IAAwB,0HAAG,qFAAQ,MAAY,4EAAiB,6HAAI,KACpE,+IAAwB,2HAAG,mFAAM,MAAY,6EAAsB,6HAAI,KACvE,+IAAwB,2HAAG,mFAAS,MAAY,6EAAuB,6HAAI,KAC3E,+IAAwB,2HAAG,oFAAQ,MAAY,6EAAwB,6HAAI,KAC3E,+IAAwB,2HAAG,wFAAY,MAAY,6EAAmB,6HAAI,KAE1E,4YAA+D,IAC/D,uHAAI,KACF,qdAA6C,IAS/C,uJAAgC,KAChC,2MAA0G,0BAZnG,qEAAsC,GAA7C,aAA+D,EAAxD,SAAsC,GAEvC,kBAAwC,yCAA5C,aAA6C,EAAzC,SAAwC,mDAVnB,6HAAoB,GAAjD,YAAkD,EAArB,SAAoB,GACR,kFAAuB,GACf,2EAAiB,GACnB,iFAAsB,GACnB,iFAAuB,GACxB,kFAAwB,GACpB,6EAAmB,GAcxB,mBAA2B,UAAC,mBAA+B,uCAAzG,aAA0G,EAA5D,SAA2B,EAAC,UAA+B;wGArB7G,uHAAoD,KAClD,2YAAkD,iDAA7C,qCAAuB,iBAA5B,YAAkD,EAA7C,SAAuB;wGATlC,wHAA+B,KAE7B,iMAAoE,KAClE,qKAAyC,gZAA+G,IACxJ,4KAAgD,KAAC,yHAAO,mFAAM,MAAS,wHAAM,4FAA4C,MACzH,wLAA2D,uPAAiF,YAAtB;;wBAAqB;MAAhF,wBAAiF,KAG5I,qdAAoD,iDALkB,mCAAsB,GAAnD,YAA+G,EAAlF,SAAsB,GAKvF,mBAA8C,aAAnD,aAAoD,EAA/C,SAA8C,mDAJ0B,0GAA4C;wGAlB/H,sLAAiG,KAE/F,2YAS8D,IAG9D,2YAA+B,iDAXU,mBAAsB,iBAD/D,YAS8D,EARrB,SAAsB,GAW1D,oBAAyB,iBAA9B,YAA+B,EAA1B,SAAyB,mDAdU,mDAAsD,GAAhG,YAAiG,EAAvD,SAAsD;;;;;;;;;;;;;;;;ACEhG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkE;AACR;AACF;AACQ;AAEhE;IAwBE,4BAAoB,eAAgC,EAAS,oBAA0C;QAAnF,oBAAe,GAAf,eAAe,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAfvG,uBAAkB,GAAY,KAAK,CAAC;QAEpC,yBAAoB,GAAY,KAAK,CAAC;QAGtC,YAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACjC,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAkB,EAAE,CAAC;QAC/B,qBAAgB,GAAwB,EAAE,CAAC;QAC3C,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAG3C,mBAAc,GAAY,IAAI,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IAE6E,CAAC;IAE5G,qCAAQ,GAAR;QAEE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,mEAAmE;IAGlE,CAAC;IACD,iDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,6CAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAAhC,iBAkBC;QAhBC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YACjE,MAAM,CAAC,OAAO,CAAC,gBAAM;gBAEnB,MAAM,CAAC,aAAa,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;gBAC5F,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBAEtC,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC9D,MAAM,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxH;qBAAM;oBAAE,MAAM,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;iBAAE;YAE1D,CAAC,CAAC,CAAC;YACD,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,GAAG;YACH,iDAAiD;QACnD,CAAC,CAAC,CAAC;QACL,iDAAiD;IACjD,CAAC;IAED,2CAAc,GAAd,UAAe,QAAQ;QAAvB,iBAKC;QAJC,iCAAiC;QACjC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxE,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAQ,GAAR,UAAS,YAAY,EAAE,QAAQ,EAAE,YAAY;QAE3C,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;QAC/B,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACxC;QACD,IAAI,eAAe,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,YAAY,IAAI,yEAAyE;YAC3F,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;;YAE/D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAErE,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAEb,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,uCAAuC;QACvC,2LAA2L;QAC3L,uSAAuS;QACvS,0MAA0M;QAC1M,2BAA2B;IAC7B,CAAC;IAED,gDAAmB,GAAnB,UAAoB,OAAO;QAA3B,iBAKC;QAHC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YACnE,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mDAAsB,GAAtB,UAAuB,GAAG;QACxB,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QAED,iCAAiC;QACjC,uCAAuC;QACvC,sEAAsE;QACtE,GAAG;IACL,CAAC;IACD,mDAAsB,GAAtB,UAAuB,gBAAwB;QAC7C,IAAI,CAAC,eAAe,GAAG;YACrB,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YACzD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YACxD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;YACxD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YAC9D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;SAC7D,CAAC;IAEJ,CAAC;IAED,0CAAa,GAAb;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAE5B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,EAAE;YACrC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,QAAQ,CAAC,cAAc,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;SAEvE;IACH,CAAC;IACD,sCAAS,GAAT;QAEE,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAE5B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,EAAE;YACrC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,QAAQ,CAAC,cAAc,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;SAEvE;IACH,CAAC;IAGH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GCxIiB,uwBAAuD,+EAAK,yDAA5B,8BAAsB,qBAAtD,YAAuD,EAAvB,SAAsB,GAAC,6DAAK;0GA6B5D,uwBAAuD,+EAAK,yDAA5B,8BAAsB,qBAAtD,YAAuD,EAAvB,SAAsB,GAAC,6DAAK;0GA6B5D,uwBAAuD,+EAAK,yDAA5B,8BAAsB,qBAAtD,YAAuD,EAAvB,SAAsB,GAAC,6DAAK;0GA4B5D,uwBAAuD,+EAAK,yDAA5B,8BAAsB,qBAAtD,YAAuD,EAAvB,SAAsB,GAAC,6DAAK;0GA4B5D,uwBAAuD,+EAAK,yDAA5B,8BAAsB,qBAAtD,YAAuD,EAAvB,SAAsB,GAAC,6DAAK;0GA6B5D,uwBAAuD,+EAAK,yDAA5B,8BAAsB,qBAAtD,YAAuD,EAAvB,SAAsB,GAAC,6DAAK;0GArKxE,kLAAsE,KAEpE,8LAAiE,KAC/D,kPAAqI,YAApE;;wBAAmE;MAApI,wBAAqI,KACnI,+LAAmE,8HAAO,mGAAsB,MAChG,wLAA4D,KAC1D,uLAA2D,8HAAO,wMAAkH,IACpL,wLAA2D,KAEzD,wWAAqQ,YAA1E;;wBAAuE;MAAlQ,wBAAqQ,KAM7Q,8LAAgE,KAC9D,+NAA8G,YAAjE;;wBAAgE;MAA7G,wBAA8G,KAC5G,iLAAoD,+HAAO,kGAAqB,MAChF,0LAA4D,KAC1D,wLAA2D,+HAAO,yMAAgH,IAClL,wLAA2D,KACzD;;;;;wBAAqO;MAA9K;;wBAAkC;MAAC;;wBAAsE;MAAhK,gtCAAqO,IACnO,udAAuD,IAQjE,+LAAiE,KAC/D,iOAAkH,YAAnE;;wBAAkE;MAAjH,wBAAkH,KAChH,mLAAsD,+HAAO,gGAAmB,MAChF,yLAA4D,KAC1D,wLAA2D,+HAAO,yMAA4G,IAC9K,wLAA2D,KAEzD,yWAAmQ,YAAvE;;wBAAoE;MAAhQ,wBAAmQ,KAO3Q,sLAAwD,KACtD,gOAA8G,YAAhE;;wBAA+D;MAA7G,wBAA8G,KAC5G,kLAAqD,+HAAO,gGAAmB,MAC/E,0LAA4D,KAC1D,wLAA2D,+HAAO,yMAA0G,IAC5K,wLAA2D,KACzD;;;;;wBAAgO;MAAzK;;wBAA+B;MAAC;;wBAAmE;MAA1J,gtCAAgO,IAC9N,udAAuD,IAQjE,+LAAiE,KAC/D,gOAA6G,YAA/D;;wBAA8D;MAA5G,wBAA6G,KAC3G,kLAAqD,+HAAO,8FAAiB,MAC7E,yLAA4D,KAC1D,wLAA2D,+HAAO,yMAAwG,IAC1K,wLAA2D,KAEzD,wWAAgQ,YAArE;;wBAAkE;MAA7P,wBAAgQ,KAOxQ,sLAAwD,KACtD,+NAAyG,YAA5D;;wBAA2D;MAAxG,wBAAyG,KACvG,iLAAoD,+HAAO,6FAAgB,MAC3E,0LAA4D,KAC1D,wLAA2D,+HAAO,yMAAuG,IACzK,wLAA2D,KACzD;;;;;wBAAoM;MAA7I;;wBAA0B;MAAC;;wBAAiE;MAAnJ,gtCAAoM,IAClM,udAAuD,IAOjE,gMAAiE,KAC/D,kOAA6G,YAA9D;;wBAA6D;MAA5G,wBAA6G,KAC3G,oLAAsD,gIAAO,2FAAc,MAC3E,0LAA4D,KAC1D,yLAA2D,gIAAO,4MAAmG,IACrK,yLAA2D,KAEzD,0WAA8P,YAAlE;;wBAA+D;MAA3P,wBAA8P,KAOtQ,uLAAwD,KACtD,iOAAyG,YAA3D;;wBAA0D;MAAxG,wBAAyG,KACvG,mLAAqD,gIAAO,0FAAa,MACzE,2LAA4D,KAC1D,yLAA2D,gIAAO,4MAAgG,IAClK,yLAA2D,KACzD;;;;;wBAA8L;MAAtL;;wBAAuB;MAAgD;;wBAA8D;MAA7I,mtCAA8L,IAC5L,wdAAuD,IAOjE,gMAAiE,KAC/D,iOAA8G,YAAhE;;wBAA+D;MAA7G,wBAA8G,KAC5G,mLAAqD,gIAAO,+FAAkB,MAC9E,0LAA4D,KAC1D,yLAA2D,gIAAO,4MAA2G,IAC7K,yLAA2D,KAEzD,yWAAiQ,YAAtE;;wBAAmE;MAA9P,wBAAiQ,KAOzQ,uLAAwD,KACtD,gOAA0G,YAA7D;;wBAA4D;MAAzG,wBAA0G,KACxG,kLAAoD,gIAAO,8FAAiB,MAC5E,2LAA4D,KAC1D,yLAA2D,gIAAO,4MAAwG,IAC1K,yLAA2D,KACzD;;;;;wBAAsM;MAA9L;;wBAA2B;MAAgD;;wBAAkE;MAArJ,mtCAAsM,IACpM,wdAAuD,IAQjE,gMAAiE,KAC/D,kOAA8G,YAA/D;;wBAA8D;MAA7G,wBAA8G,KAC5G,oLAAsD,gIAAO,4FAAe,MAC5E,0LAA4D,KAC1D,yLAA2D,gIAAO,4MAAqG,IACvK,yLAA2D,KAEzD,0WAA+P,YAAnE;;wBAAgE;MAA5P,wBAA+P,KAOvQ,mLAAoD,KAClD,iOAA0G,YAA5D;;wBAA2D;MAAzG,wBAA0G,KACxG,mLAAqD,gIAAO,2FAAc,MAC1E,2LAA4D,KAC1D,yLAA2D,gIAAO,4MAAkG,IACpK,yLAA2D,KACzD;;;;;wBAAgM;MAAzI;;wBAAwB;MAAC;;wBAA+D;MAA/I,mtCAAgM,IAC9L,wdAAuD,iDAhJF,oBAAkC,uBAAzF,aAAqO,EAA9K,UAAkC,GAC/E,oBAAuB,QAA/B,aAAuD,EAA/C,UAAuB,GA4BsB,oBAA+B,oBAAtF,aAAgO,EAAzK,UAA+B,GAC5E,oBAAuB,QAA/B,aAAuD,EAA/C,UAAuB,GA4BsB,oBAA0B,eAAjF,aAAoM,EAA7I,UAA0B,GACvE,oBAAuB,QAA/B,aAAuD,EAA/C,UAAuB,GA2BzB,oBAAuB,YAA/B,cAA8L,EAAtL,UAAuB,GACrB,oBAAuB,QAA/B,cAAuD,EAA/C,UAAuB,GA2BzB,oBAA2B,gBAAnC,cAAsM,EAA9L,UAA2B,GACzB,oBAAuB,QAA/B,cAAuD,EAA/C,UAAuB,GA4BsB,oBAAwB,aAA/E,cAAgM,EAAzI,UAAwB,GACrE,oBAAuB,QAA/B,cAAuD,EAA/C,UAAuB,mDA/J+B,8ZAAkH,GAGf,2GAAuB,GAA1L,aAAqQ,EAAlG,SAAuB,GAU1H,+ZAAgH,GAEhL,stBAAqO,GAarK,6ZAA4G,GAGR,4GAAuB,GAA3L,aAAmQ,EAA/F,UAAuB,GAW3H,2ZAA0G,GAE1K,ouBAAgO,GAahK,yZAAwG,GAGL,4GAAuB,GAA1L,aAAgQ,EAA7F,UAAuB,GAW1H,uZAAuG,GAEvK,ouBAAoM,GAYpI,wZAAmG,GAGC,4GAAuB,GAA3L,cAA8P,EAA1F,UAAuB,GAW3H,sZAAgG,GAEhK,4uBAA8L,GAY9H,gaAA2G,GAGR,4GAAuB,GAA1L,cAAiQ,EAA9F,UAAuB,GAW1H,8ZAAwG,GAExK,4uBAAsM,GAatI,0ZAAqG,GAGD,4GAAuB,GAA3L,cAA+P,EAA3F,UAAuB,GAW3H,wZAAkG,GAElK,4uBAAgM;0GAetM,uQAAmI,YAA1B;;wBAAuB;MAAhI,wBAAmI;0GACnI,4PAAwH,YAA3B;;wBAAwB;MAArH,wBAAwH;+VAlMlI,mLAAsD,KAEpD,mLAAsD,KACpD,oNAAkF,KAChF,sKAA0C,KACxC,8LAA4H,YAA/C;;wBAA8C;MAA3H,87BAA4H,MAKhI,wMAA2E,KACzE,iPAAqG,YAA9E;;wBAAmC;MAA1D,wBAAqG,KACnG,+NAAqG,KAEvG,8YAAsE,IA8KtE,umBAAqI,IACnI,uPAA0H,KACxH,yJAAkC,0FAA6B,MAEjE,wQAA2I,KACzI,8YAAmI,IACnI,8YAAwH,IAE1H,uZAWmD,YALlC;;wBAAsC;MACtC;;wBAAiD;MACjD;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAuC;MACvC;;wBAAiC;MAXlD,6mDAWmD,MAIvD,4LAAyI,YAA7H;;wBAA0C;MAAC;;wBAAoD;MAA3G,2cAAyI,MACvI,gLAAqD,KACnD,uSAA0K,mGAE1K,MACA,wNAA0F,KACxF,oLAAsD,KACpD,iLAAoD,+HAAO,kFAAK,MAChE,kLAAoD,KAClD,iLAAoD,KAClD,iLAAoD,0FAAa,MACjE,0LAA6D,qFAE7D,MAGF,iLAAoD,KAClD,iLAAoD,oGAAuB,MAC3E,yMAA4E,KAC1E,mPAA4H,KAC1H,sOAA+G,YAAzD;;wBAAsD;MAA5G,wBAA+G,gFACjH,MAIJ,iLAAoD,KAClD,iLAAoD,qGAAwB,MAC5E,2LAA8D,8IAAwD,IAI1H,iLAAoD,KACpD,iLAAoD,+HAAO,8FAAiB,MAC5E,kLAAoD,KAClD,iLAAoD,KAClD,iLAAoD,+FAAkB,MACtE,0LAA6D,qFAG7D,MAGF,iLAAoD,KAClD,iLAAoD,oGAAuB,MAC3E,yMAA4E,KAC1E,mPAA4H,KAC1H,oOAA2G,YAAvD;;wBAAoD;MAAxG,wBAA2G,gFAC7G,MAIJ,iLAAoD,KAClD,iLAAoD,sGAAyB,MAC7E,0LAA6D,8IAA6D,IAG5H,iLAAoD,KAClD,iLAAoD,uGAA0B,MAC9E,0LAA6D,kFAAmD,mDAxQxG,6BAA4B,EAAC,mBAA+B,gBAA5E,YAA4H,EAA5G,SAA4B,EAAC,SAA+B,GAS1B,oBAAiB,WAArE,aAAsE,EAAlB,SAAiB,GA8KhE,wDAA8C,GAAnD,aAAqI,EAAhI,SAA8C,GAKwC,oBAAiB,WAAxG,aAAmI,EAA5C,SAAiB,GAC5B,mBAAgB,WAA5F,aAAwH,EAA5C,SAAgB,GAG7E,mBAA2B,cAE3B,mBAA4B,mBAD5B,mBAAyB,aAEzB,oBAAmB,UACnB,oBAAmB,UALpC,aAWmD,EAVlC,SAA2B,EAE3B,SAA4B,EAD5B,SAAyB,EAEzB,UAAmB,EACnB,UAAmB,GAU5B,oBAA0C,+BAAsD,wBAA4B,EAAxI,aAAyI,EAA7H,UAA0C,EAAsD,UAA4B,mDArBhG,8DAA6B,GAgCI,+DAE7D,GAc8D,kOAAwD,GASzD,4DAG7D,GAc6D,uOAA6D,GAK7D,4FAAmD;;;;;;;;;;;;;;;;AC5QhI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AACJ;AACU;AAC1C;AAE4C;AAEjB;AAChB;AACF;AACoC;AAI7E;IA6CE,8BAAmB,oBAA0C,EAAU,eAAgC,EAAU,iBAAsC,EAAU,MAAc;QAA/K,iBAyBC;QAzBkB,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAvC/K,kBAAa,GAAG,EAAE,CAAC;QAEnB,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAY,KAAK,CAAC;QAC/B,aAAQ,GAAG,MAAM,CAAC;QAIlB,gBAAW,GAAG,SAAS,CAAC;QAExB,cAAS,GAAW,EAAE,CAAC;QACvB,YAAO,GAAW,EAAE,CAAC;QAErB,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,oBAAe,GAAsB,IAAI,sEAAiB,EAAE,CAAC;QAG7D,qBAAgB,GAAW,wBAAwB,CAAC;QACpD,QAAG,GAAG,EAAE,CAAC;QACW,mBAAc,GAAG,EAAE,CAAC;QACjC,UAAK,GAAa,EAAE,CAAC;QACrB,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACrJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,yBAAoB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,sBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,iBAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxC,cAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,kBAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACzC,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAI7C,aAAQ,GAAY,IAAI,CAAC;QACzB,aAAQ,GAAY,KAAK,CAAC;QAE1B,iCAA4B,GAAY,KAAK,CAAC;QAC9C,6BAAwB,GAAY,KAAK,CAAC;QAE1C,kBAAa,GAAkB,IAAI,mEAAa,EAAE,CAAC;QAEjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;gBACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aAC5G,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sCAAO,GAAP;QACE,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpB;IACH,CAAC;IACD,uCAAQ,GAAR;QACE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,gBAAgB,CAAC;IAClE,CAAC;IACD,+CAAgB,GAAhB;QAAA,iBAmCC;QAlCC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,gEAAgE;gBAChE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YACD,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAGH,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,wBAAwB,EAAE,YAAY,CAAC,CAAC;QACtE,CAAC,EAAE,GAAG,CAAC;IAET,CAAC;IACD,+CAAgB,GAAhB,UAAiB,gBAAgB;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACtJ,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBACrK,YAAY,EAAE,UAAC,MAAM;4BACnB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCAC/B,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC/E;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAClC,CAAC,EAAG,YAAY,EAAE,UAAU,MAAM;4BAChC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gCAAE,OAAO,QAAQ,CAAC;6BAAE;wBACpF,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aACI;YACH,IAAI,IAAI,CAAC,gBAAgB,IAAI,wBAAwB,IAAI,IAAI,CAAC,gBAAgB,IAAI,uBAAuB,IAAI,IAAI,CAAC,gBAAgB,IAAI,qBAAqB,IAAI,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,EAAE;gBAC5M,IAAI,CAAC,UAAU,GAAG;oBAChB;wBACE,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;qBAC/D;oBACD;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;qBAC/D;oBACD;wBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;qBAC5D;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC/E;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAClC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gCAAE,OAAO,QAAQ,CAAC;6BAAE;wBACpF,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;qBACnD;oBACD;wBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;qBAChD;oBACD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK;qBAC/D;oBACD;wBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;qBAC1D;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;qBACxD;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK;qBAC5D;oBACD;wBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK;qBAC9E;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK;qBACtE;oBACD;wBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;4BAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCAC/B,OAAO,MAAM,CAAC;6BACf;iCACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCACpC,OAAO,YAAY,CAAC;6BACrB;iCAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCACtC,OAAO,aAAa,CAAC;6BACtB;iCAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCACtC,OAAO,gBAAgB,CAAC;6BACzB;wBAEH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;qBACjD;oBAED;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;qBAC9D;oBAGD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,UAAC,MAAM;4BACxE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCAC/B,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;6BAChC;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;qBAClD;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI;qBAC1D;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;qBACvD;oBAED;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;qBAC9D;iBACF,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG;oBAChB;wBACE,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;qBAC/D;oBACD;wBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;qBAC/D;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,UAAC,MAAM;4BACxE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCAC/B,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;6BAChC;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;qBACnD;oBACD;wBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;qBAChD;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK;qBAC5D;oBACD;wBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK;qBAC9E;oBACD;wBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;qBAC1D;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;qBACxD;oBACD;wBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;qBAC5D;oBACD;wBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK;qBAC/D;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK;qBACtE;oBACD;wBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;4BAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCAC/B,OAAO,MAAM,CAAC;6BACf;iCACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCACpC,OAAO,YAAY,CAAC;6BACrB;iCAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCACtC,OAAO,aAAa,CAAC;6BACtB;iCAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCACtC,OAAO,gBAAgB,CAAC;6BACzB;wBAEH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;qBACjD;oBACD;wBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;qBAC9D;oBACD;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;qBAClD;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI;qBAC1D;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;qBACvD;oBAED;wBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;qBAC9D;iBACF,CAAC;aACH;SAEF;IACH,CAAC;IAED,2BAA2B;IAC3B,4MAA4M;IAC5M,4BAA4B;IAC5B,8CAA8C;IAC9C,2FAA2F;IAC3F,mGAAmG;IACnG,yGAAyG;IACzG,SAAS;IAGT,OAAO;IACP,GAAG;IACH,0DAA2B,GAA3B,UAA4B,MAAM,EAAE,SAAS,EAAE,OAAO;QAAtD,iBA6FC;QA5FC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CACpH,UAAC,gBAAgB;YAChB,gBAAgB,CAAC,OAAO,CAAC,UAAC,QAAQ;gBAChC,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAEzC,QAAQ,KAAI,CAAC,gBAAgB,EAAE;gBAC7B,KAAK,wBAAwB,CAAC,CAAC;oBAC7B,IAAI,MAAM,IAAI,MAAM,EAAE;wBAEpB,KAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,EAAT,CAAS,CAAC,CAAC,CAAC;qBACvG;oBACD,IAAI,MAAM,IAAI,aAAa,EAAE;wBAC3B,KAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,EAAT,CAAS,CAAC,CAAC;qBAClG;oBACD,IAAI,MAAM,IAAI,aAAa,EAAE;wBAC3B,KAAI,CAAC,eAAe,CAAC,WAAW,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,EAAE,CAAC,EAAN,CAAM,CAAC,CAAC;qBAC5F;oBACC,MAAM;iBACP;gBAEH,KAAK,qBAAqB,CAAC,CAAC;oBAC1B,IAAI,MAAM,IAAI,MAAM,EAAE;wBACpB,KAAI,CAAC,eAAe,CAAC,eAAe,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,EAAE,CAAC,EAAN,CAAM,CAAC,CAAC;qBAChG;oBACC,MAAM;iBACP;gBAEH,KAAK,mBAAmB,CAAC,CAAC;oBACxB,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAG,YAAY,EAAE;wBAC7C,KAAI,CAAC,eAAe,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,OAAO,CAAC,EAAX,CAAW,CAAC,CAAC;qBACnG;oBACC,MAAM;iBACP;gBAEH,KAAK,gBAAgB,CAAC,CAAC;oBACrB,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAG,YAAY,EAAE;wBAC7C,KAAI,CAAC,eAAe,CAAC,UAAU,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,EAAE,CAAC,EAAN,CAAM,CAAC,CAAC;qBAC3F;oBACC,MAAM;iBACP;gBAEH,KAAK,oBAAoB,CAAC,CAAC;oBACzB,IAAI,MAAM,IAAI,aAAa,EAAE;wBAC3B,KAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,OAAO,CAAC,EAAX,CAAW,CAAC,CAAC;qBACpG;oBACC,MAAM;iBACP;gBACH,KAAK,iBAAiB,CAAC,CAAC;oBACtB,IAAI,MAAM,IAAI,aAAa,EAAE;wBAC3B,KAAI,CAAC,eAAe,CAAC,WAAW,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,EAAE,CAAC,EAAN,CAAM,CAAC,CAAC;qBAC5F;oBACC,MAAM;iBACT;gBAED,KAAK,uBAAuB,CAAC,CAAC;oBAC5B,IAAI,MAAM,IAAI,MAAM,EAAE;wBACpB,KAAI,CAAC,eAAe,CAAC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,OAAO,CAAC,EAAX,CAAW,CAAC,CAAC;qBACvG;oBACD,MAAM;iBACP;gBAED,KAAK,oBAAoB,CAAC,CAAC;oBACzB,IAAI,MAAM,IAAI,MAAM,EAAE;wBACpB,KAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,EAAE,CAAC,EAAN,CAAM,CAAC,CAAC;qBAC/F;oBACD,MAAM;iBACP;gBACD,KAAK,kBAAkB,CAAC,CAAC;oBACvB,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,aAAa,IAAI,MAAM,IAAI,YAAY,EAAE;wBAEzE,KAAI,CAAC,eAAe,CAAC,YAAY,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,OAAO,CAAC,EAAX,CAAW,CAAC,CAAC;qBAClG;oBACD,MAAM;iBACP;gBACD,KAAK,eAAe,CAAC,CAAC;oBACpB,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,aAAa,IAAI,MAAM,IAAG,YAAY,EAAE;wBACxE,KAAI,CAAC,eAAe,CAAC,SAAS,GAAG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,EAAE,CAAC,EAAN,CAAM,CAAC,CAAC;qBAC1F;oBACD,MAAM;iBACP;aAGF;QAEH,CAAC,CAAC,CAAC;IAGP,CAAC;IAED,+CAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;aAC9C;SACF;QACD,qDAAqD;QACrD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,6CAAc,GAAd,UAAe,KAAK,EAAE,WAAW;QAC/B,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;QAEpC,QAAQ,IAAI,CAAC,gBAAgB,EAAE;YAC7B,KAAK,wBAAwB,CAAC;YAC9B,KAAM,qBAAqB,CAAC,CAAC;gBAC3B,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM;aACP;YACD,KAAK,uBAAuB,CAAE;YAC9B,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAE7D,MAAM;aACP;YAED,KAAK,mBAAmB,CAAC;YACzB,KAAK,gBAAgB,CAAC,CAAC;gBACrB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACnE,MAAM;aACP;YACD,KAAK,kBAAkB,CAAC;YACxB,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACnE,MAAM;aACP;YACD,KAAK,oBAAoB,CAAC;YAC1B,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACpE,MAAM;aACP;YAED,KAAK,mBAAmB,CAAC;YACzB,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrC,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACpE,MAAM;aACP;SAEF;IACH,CAAC;IAGD,0CAAW,GAAX;QACE,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,EAAE,GAAG,EAAE,EAAE;YACX,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;SAClD;aACI;YACH,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;SAEjD;IAEH,CAAC;IACD,mDAAoB,GAApB,UAAqB,QAA6B;QAChD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnF,IAAI,QAAQ,CAAC,aAAa,IAAI,SAAS,EAAE;YACvC,IAAI,QAAQ,CAAC,aAAa,IAAI,KAAK,EAAE;gBAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aAAE;iBAC1D;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aAAE;SAC/B;QACD,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC5B,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,EAAE,GAAG,EAAE,EAAE;gBACX,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;aAChE;iBACI;gBACH,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;aAC/D;YACD,QAAQ,IAAI,CAAC,gBAAgB,EAAE;gBAE7B,KAAK,wBAAwB,CAAC,CAAC;oBAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,wBAAwB,EAAE,YAAY,CAAC,CAAC;oBACjE,MAAM;iBACP;gBACD,KAAK,qBAAqB,CAAC,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC;oBAC/D,MAAM;iBACP;gBACD,KAAK,uBAAuB,CAAC,CAAC;oBAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,EAAE,YAAY,CAAC,CAAC;oBAC/D,MAAM;iBACP;gBACD,KAAK,iBAAiB,CAAC,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;oBAC1D,MAAM;iBACP;gBAED,KAAK,mBAAmB,CAAC,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;oBAC5D,MAAM;iBACP;gBACD,KAAK,gBAAgB,CAAC,CAAC;oBACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;oBAC1D,MAAM;iBACP;gBACD,KAAK,kBAAkB,CAAC,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;oBAC1D,MAAM;iBACP;gBACD,KAAK,iBAAiB,CAAC,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAAC;oBACzD,MAAM;iBACP;gBACD,KAAK,oBAAoB,CAAC,CAAC;oBACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,EAAE,YAAY,CAAC;oBAC5D,MAAM;iBACP;gBACD,KAAK,iBAAiB,CAAC,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC;oBAC1D,MAAM;iBACP;gBAED,KAAK,mBAAmB,CAAC,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;oBAC3D,MAAM;iBACP;gBACD,KAAK,iBAAiB,CAAC,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;oBAC1D,MAAM;iBACP;aACF;SACF;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IAED,uCAAQ,GAAR,UAAS,EAAE,EAAE,QAAQ,EAAC,WAAW;QAC/B,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAClD,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC3C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,UAAU,IAAI,EAAE,IAAI,SAAS,EAAE;YAC5E,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,UAAU,EAAE;gBAEvC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAE,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnD,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aAE9D;iBAAM,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,SAAS,EAAE;gBAE5C,IAAI,QAAQ,GAAG,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gBACpC,IAAI,EAAE,IAAI,QAAQ,EAAE;oBAClB,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBACvD;qBAAM;oBACL,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClD,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBACpD;gBACD,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aAE9D;SAEF;aACI,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,UAAU,IAAI,EAAE,IAAI,SAAS,EAAE;YAEjF,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,UAAU,EAAE;gBAEvC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpD,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aACpE;iBAAM,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,SAAS,EAAE;gBAC5C,6BAA6B;gBAC7B,IAAI,QAAQ,GAAG,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gBACpC,IAAI,EAAE,IAAI,QAAQ,EAAE;oBAClB,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7C,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC/C;qBAAM;oBACL,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1C,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC5C;gBACD,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aAEpE;SAEF;aAAM,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,UAAU,IAAI,EAAE,IAAI,SAAS,EAAG;YAEpF,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,UAAU,EAAE;gBAEvC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpD,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aACrE;iBAAM,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,SAAS,EAAE;gBAC5C,IAAI,QAAQ,GAAG,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gBACpC,IAAI,EAAE,IAAI,QAAQ,EAAE;oBAClB,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9C,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBAChD;qBAAM;oBACL,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3C,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC7C;gBACD,IAAI,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aAErE;SACF;IACH,CAAC;IACD,uCAAQ,GAAR;QACE,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEtD,CAAC;IACD,yDAA0B,GAA1B,UAA2B,KAAK;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,+BAA+B,GAAG,IAAI,CAAC;QAC1D,IAAI,CAAC,aAAa,CAAC,8BAA8B,GAAG,IAAI,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAErC,CAAC;IACD,yCAAU,GAAV;QAAA,iBAkCC;QAjCC,IAAI,CAAC,eAAe,GAAG,IAAI,sEAAiB,EAAE,CAAC;QAE/C,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,cAAc,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,YAAY,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAExD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,yBAAe;YACxH,KAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,eAAe,CAAC,yBAAyB,CAAC;YACpF,KAAI,CAAC,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC,sBAAsB,CAAC;YAC9E,KAAI,CAAC,eAAe,CAAC,aAAa,GAAG,eAAe,CAAC,wBAAwB,CAAC;YAC9E,KAAI,CAAC,eAAe,CAAC,cAAc,GAAG,eAAe,CAAC,yBAAyB,CAAC;YAChF,KAAI,CAAC,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,qBAAqB,CAAC;YACxE,KAAI,CAAC,eAAe,CAAC,WAAW,GAAG,eAAe,CAAC,sBAAsB,CAAC;YAE1E,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,aAAa,GAAG,mCAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,WAAW,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACxD,KAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,0BAAgB;gBAEvH,KAAI,CAAC,eAAe,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,yBAAyB,CAAC;gBACpF,KAAI,CAAC,eAAe,CAAC,cAAc,GAAG,gBAAgB,CAAC,sBAAsB,CAAC;gBAC9E,KAAI,CAAC,eAAe,CAAC,YAAY,GAAG,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9E,KAAI,CAAC,eAAe,CAAC,aAAa,GAAG,gBAAgB,CAAC,yBAAyB,CAAC;gBAChF,KAAI,CAAC,eAAe,CAAC,SAAS,GAAG,gBAAgB,CAAC,qBAAqB,CAAC;gBACxE,KAAI,CAAC,eAAe,CAAC,UAAU,GAAG,gBAAgB,CAAC,sBAAsB,CAAC;YAC5E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,uDAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,CAAC,aAAa,CAAC,0BAA0B,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,EAAC,GAAE,EAAC,EAAC,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1K,CAAC;IACD,qDAAsB,GAAtB,UAAuB,GAAG;QACxB,IAAI,CAAC,aAAa,CAAC,+BAA+B,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9K,IAAI,CAAC,aAAa,CAAC,8BAA8B,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,+BAA+B,CAAC,GAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/L,CAAC;IACD,6CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC/E,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAExC;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7D,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBACpC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBACvD,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3C;iBAAM;gBACL,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,UAAU,CAAC;gBACxD,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC5C;SAEF;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC/C,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAExB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBACpC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBACvD,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3C;iBAAM;gBACL,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,UAAU,CAAC;gBACxD,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC5C;SACF;IAEH,CAAC;IACD,qCAAM,GAAN,UAAO,GAAG;QACR,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB,CAAC;IACD,mDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAuC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,SAAI,IAAI,cAAS,QAAQ,CAAC,IAAI,CAAC,EAAI,CAAC,CAAC;QACtI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAChE,CAAC;IAED,0CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,4CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAE7B,CAAC;IACD,4CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0CAAW,GAAX,UAAY,MAAM;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,0CAAW,GAAX;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;SACjD;IACH,CAAC;IACD,gDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,sBAAsB;QAE9C,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QACD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAEjC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,kDAAmB,GAAnB,UAAoB,GAAG;;QAErB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,SAAS,IAAI,WAAI,CAAC,OAAO,CAAC,eAAe,EAAE,0CAAE,MAAM,IAAG,CAAC,EAAE;YAC7F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO,IAAK,UAAG;gBAChF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EADgB,CAChB,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO,IAAK,UAAG;gBAC7E,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EADkB,CAClB,EAAE,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,4BAA4B,GAAG,GAAG,CAAC;YACxC,IAAI,CAAC,+BAA+B,EAAE,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACpC;IAEH,CAAC;IACD,0DAA2B,GAA3B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,8HAA8H,CAAC,CAAC;QACvL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,8DAA+B,GAA/B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mIAAmI,CAAC,CAAC;QAClK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,oCAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IACH,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGCz7BK,sLAAqF;sGAGrF,sPAAqJ,KACnJ,4JAAsC,mGAAsB;sGASxD,wtBAAuE,iFAEvE,2BAFmD,sHAAmB,GAAtE,YAAuE,EAApB,kIAAmB,GAAtE,YAAuE,EAApB,SAAmB,2BAAC,sEAEvE;sGAKA,wtBAAqE,iFAErE,2BAFgD,sHAAoB,GAApE,YAAqE,EAArB,kIAAoB,GAApE,YAAqE,EAArB,SAAoB,2BAAC,sEAErE;sGAhBN,4LAA4F,KAE1F,sLAA0D,KAG1D,wKAA4C,KAC1C,oOAAuG,YAA9C;;wBAA6C;MAAtG,wBAAuG,KACrG,kdAAuE,IAK3E,wKAA4C,KAC1C,oOAA8G,YAArD;;wBAAoD;MAA7G,wBAA8G,KAC5G,kdAAqE,iDAP7D,mBAA0C,yBAAlD,YAAuE,EAA/D,SAA0C,GAO1C,mBAAuC,qBAA/C,YAAqE,EAA7D,SAAuC;sGAvBzD,kLAAyG,KACvG,+KAAmD,KAEjD,yYAAqF,IAGrF,yYAAqJ,IAGrJ,yYAA4F,IAsB9F,gLAAoD,KAClD,+PAQyE,YAAxD;;wBAAuD;MARxE,whDAQyE,mDArCpE,yCAA0B,GAA/B,YAAqF,EAAhF,SAA0B,GAG1B,yCAA0B,GAA/B,YAAqJ,EAAhJ,SAA0B,GAGiC,yCAA2B,GAA3F,YAA4F,EAA5B,SAA2B,GAwB1E,mBAA2B,cAG3B,mBAA0B,iBAF1B,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAIxD,mBAAmB,UADnB,oBAAmB,EANpC,aAQyE,EAPxD,SAA2B,EAG3B,SAA0B,EAF1B,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAIxD,SAAmB,EADnB,SAAmB;sGAkB9B,wtBAAkE,iFAElE,2BAFgD,mHAAiB,GAAjE,YAAkE,EAAlB,+HAAiB,GAAjE,YAAkE,EAAlB,SAAiB,2BAAC,sEAElE;sGASN,iMAA6F,KAC3F,4KAAgD,4GAA+B,MAC/E,6IAAuB,KACrB;;;;;;;;;;;wBAA6I;MAA9G;;wBAAuC;MAAtE,8wCAA6I,wFAC3I,MAEJ,8IAAuB,KACrB,uLAA0D,KACxD,6IAAsB,KAEtB,uKAA0C,KACxC,uKAA0C,KACxC,uPAAgG,YAA1B;;wBAAyB;MAA/F,wBAAgG,mFAAM,MAExG,6KAAgD,KAC9C,wPAA6F,YAA5B;;wBAA2B;MAA5F,wBAA6F,kFAAM,mDAZ1E,mBAAuC,4BAAtE,YAA6I,EAA9G,SAAuC,2BAAtE,8sBAA6I;uGAkBjJ,mVAUqE,YAFpD;;wBAAsC;MACtC;;wBAAiD;MACjD;;wBAAmD;MAVpE,gkDAUqE,mIARpD,mBAAkC,qBAGlC,mBAAuB,cAFvB,mBAAgC,oBAChC,mBAAwD,yCAExD,mBAAmB,UACnB,oBAAmB,EAPpC,YAUqE,EARpD,SAAkC,EAGlC,SAAuB,EAFvB,SAAgC,EAChC,SAAwD,EAExD,SAAmB,EACnB,SAAmB;sGAhDxC,kLAA+E,KAE7E,+KAAmD,KACjD,4KAAgD,KAC9C,oLAAwD,KACtD,qQAA6G,YAAxG;;wBAA2B;MAAhC,wBAA6G,KAE/G,wKAA4C,KAC1C,4RAAwJ,YAA7C;;wBAA4C;MAAvJ,wBAAwJ,KACtJ,kdAAkE,IAU1E,gLAAoD,KAClD,0YAA6F,IAqB7F,2YAUqE,iDA1CvD,mBAAuC,qBAA/C,YAAkE,EAA1D,SAAuC,GAWhD,oBAAwB,kBAA7B,aAA6F,EAAxF,SAAwB,GAqBZ,mBAAuB,kBAAxC,aAUqE,EAVpD,SAAuB;uGA4BlC,wtBAAuE,iFAEvE,2BAFmD,sHAAmB,GAAtE,YAAuE,EAApB,kIAAmB,GAAtE,YAAuE,EAApB,SAAmB,2BAAC,sEAEvE;uGAmBR,mNAAoH,YAAxG;;wBAA6B;MAAzC,ucAAoH,MAClH,4LAA6D,kDADnD,mBAA6B,kBAA8C,uBAA4B,EAAnH,YAAoH,EAAxG,SAA6B,EAA8C,SAA4B;uGAhCrH,kLAAoF,KAClF,+KAAmD,KAEjD,sLAA0D,KAG1D,4LAAgE,KAC9D,yLAA6D,KAE7D,4LAAgE,KAC9D,oOAAiH,YAAxD;;wBAAuD;MAAhH,wBAAiH,KAC/G,mdAAuE,IAQ/E,gLAAoD,KAClD,0QAQ4E,YAA3D;;wBAA0D;MAR3E,+/CAQ4E,MAI9E,2YAAoH,iDArBpG,mBAA0C,yBAAlD,YAAuE,EAA/D,SAA0C,GAWvC,mBAAsC,yBAGtC,mBAA4B,mBAF5B,mBAAoC,wBACpC,mBAAwD,yCAExD,mBAAmB,UACnB,oBAAmB,EAPpC,aAQ4E,EAN3D,SAAsC,EAGtC,SAA4B,EAF5B,SAAoC,EACpC,SAAwD,EAExD,SAAmB,EACnB,SAAmB,GAKyB,mBAAuB,kBAAtF,aAAoH,EAArD,SAAuB;uGAgB9E,wtBAAuE,iFAEvE,2BAFkD,sHAAoB,GAAtE,YAAuE,EAArB,kIAAoB,GAAtE,YAAuE,EAArB,SAAoB,2BAAC,sEAEvE;uGAZV,kLAA+E,KAC7E,+KAAmD,KACjD,sLAA0D,KAG1D,4LAAgE,KAC9D,yLAA6D,KAE7D,iMAAqE,KACnE,oOAA4G,YAAnD;;wBAAkD;MAA3G,wBAA4G,KAC1G,mdAAuE,IAQ/E,gLAAoD,KAClD,sSASuE,YADtD;;wBAAwD;MACxD;;wBAAqD;MATtE,qiDASuE,mDAlBzD,mBAAyC,uBAAjD,YAAuE,EAA/D,SAAyC,GAWtC,mBAAmC,sBAGnC,mBAAwB,eAFxB,mBAAiC,qBACjC,mBAAwD,yCAExD,mBAAmB,UACnB,oBAAmB,EAPpC,aASuE,EAPtD,SAAmC,EAGnC,SAAwB,EAFxB,SAAiC,EACjC,SAAwD,EAExD,SAAmB,EACnB,SAAmB;uGAMxC,iLAA0E,KACxE,+KAAmD,KAInD,gLAAoD;uGAwH1C,0NAA6I,KAC3I,2NAA+F,0HAAG,uFAAwC,MAE1I,wMAA4E,gFAAc,iCAFQ,mIAAwC,GAE9D,mEAAc;uGAalG,4PAA2I,YAApG;;wBAAoB;MAA3D,wBAA2I,sFAAS;uGA9H5J,yPACkE,KAE9D,uNAA2F,KAE3F,yNAA6F,KAC3F,4IAAsB,KACpB,qHAAG,mFAAM,MAEX,2RAA+J,KAC7J,qHAAG,KAAC,+OAAwG,YAAzC;;wBAAsC;MAArG,wBAAwG,KAKhH,iMAAoE,KAClE,kMAAoE,KAClE,yLAA4D,KAC1D,wKAA2C,KACzC,qJAA8B,0FAAa,MAE7C,wKAA2C,KACzC,mJAA4B,+IAAiD,IAGjF,yLAA4D,KAC1D,wKAA2C,KACzC,sJAA+B,0FAAa,MAE9C,wKAA2C,KACzC,mJAA4B,+IAA+C,IAG/E,yLAA4D,KAC1D,wKAA2C,KACzC,qJAA8B,qFAAQ,MAExC,wKAA2C,KACzC,mJAA4B,kFAA8B,MAG9D,yLAA4D,KAC1D,wKAA2C,KACzC,sJAA+B,qFAAQ,MAEzC,wKAA2C,KACzC,mJAA4B,kFAA8B,MAG9D,yLAA4D,KAC1D,wKAA2C,KACzC,sJAA+B,wFAAW,MAE5C,wKAA2C,KACzC,mJAA4B,kFAA2B,MAG3D,yLAA4D,KAC1D,wKAA2C,KACzC,qJAA8B,2FAAc,MAE9C,wKAA2C,KACzC,mJAA4B,kFAA2B,MAG3D,yLAA4D,KAC1D,wKAA2C,KACzC,sJAA+B,qFAAQ,MAEzC,wKAA2C,KACzC,mJAA4B,kFAA0B,MAG1D,yLAA4D,KAC1D,wKAA2C,KACzC,qJAA8B,yFAAY,MAE5C,wKAA2C,KACzC,mJAA4B,kFAA2B,MAI3D,yLAA4D,KAC1D,wKAA2C,KACzC,sJAA+B,gFAAG,MAEpC,wKAA2C,KACzC,mJAA4B,sFAAyD,MAGzF,yLAA4D,KAC1D,wKAA2C,KACzC,sJAA+B,oFAAO,MAExC,wKAA2C,KACzC,mJAA4B,kFAA+B,MAG/D,yLAA4D,KAC1D,wKAA2C,KACzC,sJAA+B,yFAAY,MAE7C,wKAA2C,KAI7C,oLAAuD,KACrD,0HAAO,kGAAqB,MAC5B,qQAAwI,KACtI,yKAA4C,KAC1C,odAA6I,IAerJ,kMAAqE,KACnE,2YAA2I,iDAhBvC,oBAA8C,4BAA5I,aAA6I,EAA/C,UAA8C,GAgB/I,mDAAmC,GAAtC,aAA2I,EAAxI,UAAmC,mDAxGN,sOAAiD,GAQjD,mOAA+C,GAQ/C,uEAA8B,GAQ9B,uEAA8B,GAQ9B,oEAA2B,GAQ3B,oEAA2B,GAQ3B,mEAA0B,GAQ1B,oEAA2B,GAS3B,+HAAyD,GAQzD,0EAA+B;uGAoL3D,mNAA6H,KAC3H,2NAA+F,0HAAG,4IAAkC,IAEpI,wMAA4E,gFAAwB,iCAFF,uOAAkC,GAExD,6EAAwB;uGAlJlH,4PACmE,KACjE,uLAAyD,KACvD,qNAAyF,KAGzF,8MAAkF,KAChF,4IAAsB,KACpB,qHAAG,4FAAe,MAEpB,+QAAmJ,KACjJ,qHAAG,KAAC,+OAA0G,YAA3C;;wBAAwC;MAAvG,wBAA0G,KAKlH,gMAAiE,KAC/D,yLAA4D,KAC1D,wKAA2C,KACzC,qJAA8B,0FAAa,MAE7C,wKAA2C,KACzC,mJAA4B,+IAAgD,IAIhF,yLAA4D,KAC1D,wKAA2C,KACzC,qJAA8B,0FAAa,MAE7C,wKAA2C,KACzC,mJAA4B,+IAA6C,IAI7E,yLAA4D,KAC1D,wKAA2C,KACzC,qJAA8B,qFAAQ,MAExC,wKAA2C,KACzC,mJAA4B,iNAA6E,IAI7G,wKAA2C,KACzC,wKAA2C,KACzC,qJAA8B,qFAAQ,MAExC,wKAA2C,KACzC,qJAA8B,kFAA4B,MAI9D,wKAA2C,KACzC,wKAA2C,KACzC,qJAA8B,0FAAa,MAE7C,wKAA2C,KACzC,uJAAgC,kFAAsB,MAG1D,wKAA2C,KACzC,wKAA2C,KACzC,qJAA8B,sFAAS,MAEzC,wKAA2C,KACzC,uJAAgC,kFAAuB,MAG3D,wKAA2C,KACzC,wKAA2C,KACzC,qJAA8B,2FAAc,MAE9C,wKAA2C,KACzC,uJAAgC,+IAAqD,IAGzF,wKAA2C,KACzC,wKAA2C,KACzC,qJAA8B,kFAAK,MAErC,wKAA2C,KACzC,uJAAgC,kFAA6B,MAIjE,wKAA2C,KACzC,wKAA2C,KACzC,qJAA8B,kFAAK,MAErC,wKAA2C,KACzC,uJAAgC,kFAAyB,MAI7D,wKAA2C,KACzC,wKAA2C,KACzC,qJAA8B,qFAAQ,MAExC,wKAA2C,KACzC,uJAAgC,kFAA0D,MAI9F,wKAA2C,KACzC,wKAA2C,KACzC,qJAA8B,8FAAiB,MAEjD,wKAA2C,KACzC,uJAAgC,+IAAqD,IAIzF,wKAA2C,KACzC,wKAA2C,KACzC,qJAA8B,8FAAiB,MAEjD,wKAA2C,KACzC,uJAAgC,iJAAkD,IAItF,yKAA2C,KACzC,yKAA2C,KACzC,sJAA8B,yFAAY,MAE5C,yKAA2C,KACzC,wJAAgC,mFAA0B,MAG9D,yKAA2C,KACzC,yKAA2C,KACzC,sJAA8B,uFAAU,MAE1C,yKAA2C,KACzC,wJAAgC,mFAAwB,MAI5D,oLAAsD,KACpD,2HAAO,kGAAqB,MAC5B,sQAAwI,KACtI,0KAA4C,KAC1C,qdAA6H,iDAAtC,oBAAqC,mBAA5H,cAA6H,EAAtC,UAAqC,mDAzHlG,oOAAgD,GAShD,iOAA6C,GAS7C,0ZAA6E,GAS3E,qEAA4B,GAS1B,+DAAsB,GAQtB,gEAAuB,GAQvB,yOAAqD,GAQrD,sEAA6B,GAS7B,kEAAyB,GASzB,sGAA0D,GAS1D,2OAAqD,GASrD,2OAAkD,GASlD,sEAA0B,GAQ1B,oEAAwB;4YA1clE,kOAAqG,KACnG,yYAAyG,IA+CzG,yYAA+E,IA0D/E,0YAAoF,IAsCpF,2YAA+E,IAgC/E,2YAA0E,IAe5E,2YACkE,IAmIlE,2YACmE,iDAnUZ,wEAAmD,IAAxG,YAAyG,EAApD,SAAmD,GA+CnD,sCAAyB,GAA9E,YAA+E,EAA1B,SAAyB,GA0DzB,4CAA8B,GAAnF,YAAoF,EAA/B,SAA8B,GAsC9B,uCAAyB,GAA9E,aAA+E,EAA1B,SAAyB,GAgCzB,kCAAoB,GAAzE,aAA0E,EAArB,SAAoB,GAetE,mBAAgC,2BAArC,aACkE,EAD7D,SAAgC,GAoIhC,mBAAiC,4BAAtC,aACmE,EAD9D,SAAiC;;;;;;;;;;;;;;;;AClUtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmE;AACpB;AACqB;AACQ;AACjC;AACX;AAC8B;AACJ;AAED;AACO;AAIO;AAEL;AAER;AAG1D;IA4DE,0BAAoB,eAAgC,EAAU,iBAAsC,EAC1F,WAAyB,EAAS,oBAA0C,EAC5E,MAAc,EAAU,eAAgC,EAAS,WAAwB;QAF/E,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAC1F,gBAAW,GAAX,WAAW,CAAc;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAC5E,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAS,gBAAW,GAAX,WAAW,CAAa;QAhDnG,gBAAW,GAAmB,EAAE,CAAC;QACjC,yBAAoB,GAAmB,EAAE,CAAC;QAO1C,oBAAe,GAAY,KAAK,CAAC;QAKjC,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAIZ,oBAAe,GAAY,KAAK,CAAC;QAExC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,aAAQ,GAAW,EAAE,CAAC;QAItB,mBAAc,GAAuB,EAAE,CAAC;QACxC,qBAAgB,GAAG,KAAK,CAAC;QACzB,aAAQ,GAAY,KAAK,CAAC;QAK1B,8BAAyB,GAAY,KAAK,CAAC;QAC3C,oBAAe,GAAY,IAAI,CAAC;QAChC,6BAAwB,GAAY,KAAK,CAAC;QAC1C,2BAAsB,GAAmB,EAAE,CAAC;QAC5C,yBAAoB,GAAmB,EAAE,CAAC;QAC1C,uBAAkB,GAAmB,EAAE,CAAC;QACxC,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAC7C,kBAAa,GAAY,IAAI,uDAAO,EAAE,CAAC;QAGvC,iBAAY,GAAe,EAAE,CAAC;QAC9B,qBAAgB,GAAe,EAAE,CAAC;QAClC,qBAAgB,GAAiB,EAAE,CAAC;QACpC,iBAAY,GAAwB,IAAI,gFAAmB,EAAE,CAAC;QAI5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAErE,CAAC;IAED,mCAAQ,GAAR;QAAA,iBAmDC;QAlDC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAE7B,IAAI,KAAI,CAAC,IAAI,IAAI,YAAY,IAAI,KAAI,CAAC,IAAI,IAAI,YAAY,EAAE;gBAC1D,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;oBAC1F,KAAI,CAAC,sBAAsB,GAAG,YAAY,CAAC;gBAC7C,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;oBAC7F,KAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;gBACzC,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gBACrD,KAAI,CAAC,wBAAwB,EAAE,CAAC;aACjC;iBAEI,IAAI,KAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBAC/B,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACxC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACzC,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAC7B,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnI,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvI,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvI,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvI,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrI,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvI,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,KAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;oBAC9B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;iBACzC;qBACI,IAAI,KAAI,CAAC,QAAQ,IAAI,UAAU,EAAE;oBACpC,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACpE,MAAM,CAAC,OAAO,CAAC,aAAG;4BAChB,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;wBAClC,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;aAEF;iBACI,IAAI,KAAI,CAAC,IAAI,IAAI,eAAe,EAAE;gBACrC,KAAI,CAAC,yBAAyB,EAAE,CAAC;aAElC;iBACI,IAAI,KAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBAChC,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;oBAC7F,KAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC;oBACxC,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAG,QAAC,CAAC,QAAQ,IAAI,UAAU,EAAxB,CAAwB,CAAC,CAAC;gBAC7F,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,wBAAwB,EAAE,CAAC;aAEjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAgB,GAAhB,UAAiB,SAAS,EAAE,QAAQ;QAApC,iBAWC;QAVC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YAC1G,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;YACjC,IAAI,KAAI,CAAC,IAAI,IAAI,YAAY,EAAE;gBAC7B,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,KAAK,EAAE,YAAY,CAAC,EAAtE,CAAsE,CAAC,CAAC;aAC/H;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mDAAwB,GAAxB;QAAA,iBAoCC;QAnCC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;YACnO,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;SAC/F,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE3F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,8DAA8D;gBAC9D,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YACD,KAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3G,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;QAE/C,CAAC,CAAC,CAAC;QACH,uCAAuC;QACvC,4BAA4B;QAC5B,yBAAyB;QACzB,KAAK;QACL,GAAG;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtB,CAAC;IACD,2CAAgB,GAAhB;QACE,IAAI,CAAC,kBAAkB,GAAgB;YACrC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ;SACzO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAEnC,CAAC;IAED,2CAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAEI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC5hB;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;4BACzJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;6BAAE;wBAChT,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;gCAAE,OAAO,EAAE,CAAC;6BAAE;iCAAM;gCAC1E,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;6BAC1D;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;4BAClH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;6BAC/C;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;wBAC3D,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,kBAAkB,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBAChH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;4BACzH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAC,SAAS,EAAE,MAAM,EAAE;6BAC9C;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;wBAC3D,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,QAAQ,YAAE,MAAM;4BACjH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;6BAAE;wBAChV,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,0BAA0B;4BAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gCACjC,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,4CAA4C;oCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;oCAClC,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;wCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;4BAC9G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAC,CAAC;6BAAE;wBAC/U,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;4BAC5G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;6BAAE;wBAChV,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,0BAA0B;4BAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gCACjC,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,4CAA4C;oCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;wCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;4BACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;6BAC/C;wBACH,CAAC;wBACD,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;wBAClH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;yBAC/C;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBAC3D,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;wBACzH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;yBAC/C;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBAC3D,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;wBACvG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;yBAAE;oBAChT,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;wBACzJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;yBAAE;oBAChT,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;4BAAE,OAAO,EAAE,CAAC;yBAAE;6BAAM;4BAC1E,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;yBAC1D;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,QAAQ,YAAE,MAAM;wBACjH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;yBAC/C;oBACH,CAAC;oBACD,YAAY,EAAE,UAAU,MAAM;wBAC5B,0BAA0B;wBAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;4BACjC,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,4CAA4C;gCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;gCAClC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,QAAQ,YAAE,MAAM;wBAC1G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;yBAC/C;oBACH,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,QAAQ,YAAE,MAAM;wBACtG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;yBAC/C;oBACH,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;wBAC9G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;yBAAE;oBAChV,CAAC;oBACD,YAAY,EAAE,UAAU,MAAM;wBAC5B,0BAA0B;wBAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;4BACjC,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,4CAA4C;gCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,QAAQ,YAAE,MAAM;wBAC3G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;yBAAE;oBAChV,CAAC;oBACD,YAAY,EAAE,UAAU,MAAM;wBAC5B,0BAA0B;wBAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;4BACjC,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,4CAA4C;gCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;gCAClC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,YAAE,MAAM;wBAC9G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;yBAC/C;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,QAAQ,YAAE,MAAM;wBACzG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;yBAC/C;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,QAAQ,YAAE,MAAM;wBACnG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;yBAC/C;oBACH,CAAC;iBACF;aAGF,CAAC;SAEH;IACH,CAAC;IACD,kDAAuB,GAAvB,UAAwB,gBAAwB;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,gBAAgB,EAA9B,CAA8B,CAAC;QAChF,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YACxF,MAAM,GAAG,IAAI,CAAC;SACf;QAED,IAAI,CAAC,iBAAiB,GAAG;YACvB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YAC5F,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YACpG,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YACvG,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YAC7F,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YACtG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YACzF,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YAChG,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC;YACrG,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC;YACrG;gBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,YAAY,YAAC,MAAM;oBAC/G,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;wBACrB,IAAI,GAAG,MAAM,CAAC;qBACf;yBACI;wBACH,IAAI,GAAG,QAAQ;qBAChB;oBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YAED;gBACE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,YAAC,MAAM;oBAErE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,8FAA8F,CAAC;oBAChH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBAEd,CAAC;gBACD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO;aAC/B;SACF,CAAC;IACJ,CAAC;IACD,sCAAW,GAAX,UAAY,SAAS,EAAE,IAAI;QAA3B,iBA0BC;QAzBC,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACzE,IAAI,QAAQ,CAAC;YACb,OAAO,CAAC,OAAO,CAAC,aAAG;gBACjB,KAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC9E,IAAI,QAAQ,CAAC;oBACb,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;oBACzB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,cAAI;wBAC1B,QAAQ,GAAG,EAAE,CAAC;wBACd,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;wBACnE,QAAQ,IAAI,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC;wBAC/E,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;gBACF,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,QAAQ,GAAG,EAAE,CAAC;gBACd,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAClE,QAAQ,IAAI,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC;gBAC9E,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;YACrD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;IAEP,CAAC;IAGD,+CAAoB,GAApB,UAAqB,MAAM;QACzB,IAAI,MAAM,IAAI,uBAAuB,EAAE;YACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,MAAM,EAAlB,CAAkB,CAAC,CAAC;SAC3E;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtD;IAEH,CAAC;IACD,uCAAY,GAAZ,UAAa,UAAU;QACrB,IAAI,UAAU,GAAG,CAAC,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,UAAU,EAA5B,CAA4B,CAAC,CAAC;SACxF;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC;SAC9C;IAEH,CAAC;IACD,wCAAa,GAAb,UAAc,IAAI;QAAlB,iBA0BC;QAzBC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,IAAI,SAAS,EAAE;YACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;aACI,IAAI,IAAI,IAAI,wBAAwB,EAAE;YACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtD;aACI;YACH,IAAI,IAAI,IAAI,iBAAiB,EAAE;gBAC7B,QAAQ,GAAG,OAAO,CAAC;aACpB;iBACI,IAAI,IAAI,IAAI,qBAAqB,EAAE;gBACtC,QAAQ,GAAG,OAAO,CAAC;aACpB;iBAAM,IAAI,IAAI,IAAI,kBAAkB,EAAE;gBACrC,QAAQ,GAAG,SAAS,CAAC;aACtB;YACD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBAC3F,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBACzB,UAAU,CAAC,OAAO,CAAC,oBAAU;oBAC3B,UAAU,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACzF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC;YAEnC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,qDAA0B,GAA1B,UAA2B,QAAQ;QAAnC,iBAiBC;QAhBC,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBACtC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3D,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACpF,KAAK,CAAC,OAAO,CAAC,eAAK;oBACnB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAChC,CAAC,CAAC,CAAC;aACJ;SACF;aAAM;YACL,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IAEH,CAAC;IACD,iDAAsB,GAAtB,UAAuB,QAAQ;QAC7B,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAC9D;SACF;aAAM;YACL,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IAEH,CAAC;IACD,yCAAc,GAAd,UAAe,GAAG;QAEhB,IAAI,GAAG,IAAI,QAAQ,EAAE;YACnB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtD;IACH,CAAC;IACD,uCAAY,GAAZ,UAAa,QAAQ;QAArB,iBAYC;QAXC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACpD,IAAI,KAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;gBAC9B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aACzC;iBAAM,IAAI,KAAI,CAAC,QAAQ,IAAI,UAAU,EAAE;gBACtC,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACpE,MAAM,CAAC,OAAO,CAAC,aAAG;wBAChB,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+BAAI,GAAJ,UAAK,GAAG;QACN,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;IAEH,CAAC;IACD,oBAAoB;IAEpB,GAAG;IACH,mCAAQ,GAAR,UAAS,GAAG,EAAC,GAAG;IAEhB,CAAC;IACD,kBAAkB;IAElB,GAAG;IACH,mBAAmB;IAEnB,GAAG;IACH,yCAAc,GAAd,UAAe,KAAK;IAEpB,CAAC;IACD,2CAAgB,GAAhB,UAAiB,IAAI;IAErB,CAAC;IACD,0CAAe,GAAf,UAAgB,IAAI,EAAE,IAAI,IAAI,CAAC;IAC/B,kCAAO,GAAP,UAAQ,IAAI,IAAI,CAAC;IACjB,mDAAwB,GAAxB,UAAyB,KAAK;QAC5B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;IACxC,CAAC;IACD,6CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACvC;IAEH,CAAC;IACD,mCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iCAAiC,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;QAC1I,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IACD,0CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,QAAQ,GAAG,EAAE;YACX,KAAK,CAAC,CAAC,CAAC;gBACN,MAAM,GAAG,MAAM,CAAC;gBAChB,MAAM;aACP;YACD,KAAK,CAAC,CAAC,CAAC;gBACN,MAAM,GAAG,SAAS,CAAC;gBACnB,MAAM;aACP;YACD,KAAK,CAAC,CAAC,CAAC;gBACN,MAAM,GAAG,QAAQ,CAAC;gBAClB,MAAM;aACP;YACD,KAAK,CAAC,CAAC,CAAC;gBACN,MAAM,GAAG,UAAU,CAAC;gBACpB,MAAM;aACP;YACD,KAAK,CAAC,CAAC,CAAC;gBACN,MAAM,GAAG,eAAe,CAAC;gBACzB,MAAM;aACP;YACD,KAAK,CAAC,CAAC,CAAC;gBACN,MAAM,GAAG,SAAS,CAAC;gBACnB,MAAM;aACP;SACF;QAED,OAAO,MAAM,CAAE;IACjB,CAAC;IAED,4CAAiB,GAAjB,UAAkB,SAAS;QAA3B,iBAgCC;QA/BC,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE;YAC/B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAChG,QAAQ,CAAC,OAAO,CAAC,aAAG;oBAClB,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBAEH,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,CAAC;gBAE9D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAGX,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,yCAAyC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC/F,QAAQ,CAAC,OAAO,CAAC,UAAC,QAAQ;oBACxB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBACnG,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;YAEnE,CAAC,CAAC,CAAC;SACJ;IAKH,CAAC;IAED,sCAAW,GAAX,UAAY,KAAK;QAAjB,iBAUC;QATC,IAAI,CAAC,iBAAiB,CAAC,yCAAyC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACxF,KAAK,CAAC,OAAO,CAAC,UAAC,QAAQ;gBACrB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBAEjG,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAa,GAAb,UAAc,SAAS,EAAC,MAAM;QAA9B,iBAWC;QAVC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;YAChE,KAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;YAE1C,IAAI,KAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;gBAC9B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,SAAS,EAA7B,CAA6B,CAAC;aACzF;iBAAM;gBACL,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,IAAI,IAAI,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAA7E,CAA6E,CAAC,CAAC;aAC1I;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oDAAyB,GAAzB;QAAA,iBAyCC;QAxCC,IAAI,CAAC,sBAAsB,GAAgB;YACzC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAE7B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACjG,KAAI,CAAC,sBAAsB,GAAG,YAAY,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;YAEvD,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAGX,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC,aAAa,GAAG;YAC1C,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAEH,CAAC;IACD,0DAA+B,GAA/B,UAAgC,gBAAwB;QACtD,IAAI,OAAO,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,qBAAqB,GAAG;YAC3B;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF,EAAE;gBACD,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACxF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;oBACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aAEF;YACD;gBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACpF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;oBACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aAEF;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;oBACvE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC/B,OAAO,MAAM,CAAC;qBACf;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;wBACpC,OAAO,YAAY,CAAC;qBACrB;yBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;wBACtC,OAAO,aAAa,CAAC;qBACtB;yBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;wBACtC,OAAO,gBAAgB,CAAC;qBACzB;gBACH,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;gBACzD,SAAS,EAAE,UAAU,MAAM;oBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YAED;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACxG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBAChG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACjU,CAAC;aACF;SACF,CAAC;IACN,CAAC;IAED,mCAAQ,GAAR,UAAS,GAAG,EAAE,IAAI;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QAAC,IAAI,EAAE,GAAG,IAAI;QAClC,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;YAE3D,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAY,GAAZ;QACE,UAAU,CAAC;YACT,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6JAA6J,CAAC,CAAC;QAC7M,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,yCAAc,GAAd,UAAe,YAAY;QACzB,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,0CAA0C,GAAG,YAAY,GAAG,2DAA2D,CAAC;QACjJ,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iMAAiM,CAAC,CAAC;IACvO,CAAC;IACD,kDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,IAAI,sBAAsB,EAAE;YAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAA7B,CAA6B,CAAC,CAAC;SAClG;aAAM,IAAI,IAAI,IAAI,oBAAoB,EAAE;YACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,MAAM,EAAlB,CAAkB,CAAC,CAAC;SACvF;aAAM,IAAI,IAAI,IAAI,sBAAsB,EAAE;YACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAA9B,CAA8B,CAAC,CAAC;SACnG;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC;SACvD;IACH,CAAC;IACD,6CAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,IAAI,IAAI,KAAK,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,IAAI,EAA3B,CAA2B,CAAC,CAAC;SACpF;IACH,CAAC;IACD,mDAAwB,GAAxB;QACE,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAE7B,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG;YACvC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAGH,CAAC;IAED,mDAAwB,GAAxB,UAAyB,gBAAwB;QAC/C,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,kBAAkB,GAAG;YACxB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YAChE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YACtE,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YACxE,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7E,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;YACzE,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjF,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjF,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC3E,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5E,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1E,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1E,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YACjF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/E,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YAC9D,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YAC9D,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAClE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;SAEpD,CAAC;IACJ,CAAC;IACD,kDAAuB,GAAvB,UAAwB,SAAS;QAAjC,iBAUC;QATC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAG;YAChE,GAAG,CAAC,OAAO,CAAC,sBAAY;gBACtB,YAAY,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAC9B,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,mDAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,2DAA2D;gBAC3D,2GAA2G;aAG5G;SACF;aAAM;YACL,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IAEH,CAAC;IACD,0CAAe,GAAf;QACE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,wCAAa,GAAb,cAAkB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAChD,0CAAe,GAAf;QAAA,iBAOC;QANC,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE;YAC/B,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;SAC9C;QACD,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxE,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+CAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACxD,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8BAA4B,KAAK,CAAC,IAAI,CAAC,SAAS,SAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,kBAAe,CAAC,CAAC;IACpH,CAAC;IACD,sDAA2B,GAA3B,UAA4B,KAAK;QAC/B,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACzD,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8BAA4B,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvH,CAAC;IACD,wDAA6B,GAA7B,UAA8B,QAAQ;QACpC,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;gBAC9D,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;oBAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,GAAG,OAAO,CAAC,kBAAkB,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,GAAC,QAAQ,GAAE,OAAO,CAAC,EAAE,CAAE;iBAC1I;qBAAM;oBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,GAAG,OAAO,CAAC,kBAAkB,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC;iBAC5I;aACF;SACF;IACH,CAAC;IAGH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGCjrCC,uHAA6B,KAC3B,sJAAgC,4FAEhC;mGAEF,uHAA2B,KACzB,gJAA0B;mGAiPoD,wHAAoD,kcAA6B;mGAxQnK,yLAAyD,KACzD,8IAAuB,KACrB,6MAAkF,KAChF,6LAAiE,KAC/D,yHAAO,sFAAS,MAElB,uKAA0C,KACxC;;;;;wBAK8D;MALlB;;wBAA2B;MAEjD;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAL7D,+wEAK8D,IAKlE,uYAA6B,IAK7B,uYAA2B,IA2O3B,4LAA0C,YAA9B;;wBAA6B;MAAzC,6ZAA0C,MACxC,gOAAqG,KACnG,4KAA8C,KAC5C,wHAAK,mLAAiD,iFAAuB,MAC7E,kJAA2B,uFAA0B,MACrD,wHAAK,iFAAoB,MACzB,wHAAK,KACH,yHAAM,sNAAkE,2YAAoD,IAAoC,6EAAoB,MAGxL,6IAAsB,KACpB,uHAAI,+FAAkB,MAExB,4KAA+C,KAC7C,wHAAK,2HAAG,qFAAQ,MAAI,6FAAqF,MACzG,oJAA6B,oLAA+B,YAAvB;;wBAAsB;MAA9B,wBAA+B,0FAAa,MAI7E,mLAAyD,KACvD,qQAAyI,YAAzF;;wBAAiC;MAAjF,2rBAAyI,MAEzI,qPAAkH,KAChH,0QAA0G,YAA/E;;wBAAsB;MAAjD,wBAA0G,wFAAW,MACrH,wRAAsH,YAAzF;;wBAAoB;MAAjD,wBAAsH,sFAAS,MAInI,kRAAiJ,KAC/I,0MAAsE,KACpE,gKAAmC,qMAAgD,YAA3B;;wBAA0B;MAA/C,wBAAgD,gFAAG,MACtF,uHAAI,qMAA2D,YAAtC;;wBAAqC;MAA1D,wBAA2D,0FAAa,MAC5E,uHAAI,qMAA2D,YAAtC;;wBAAqC;MAA1D,wBAA2D,kFAAK,MACpE,uHAAI,qMAAoD,YAA/B;;wBAA8B;MAAnD,wBAAoD,kFAAK,MAG/D,gJAAyB,KACvB,4KAA+C,kDA/R3B,mBAAqB,eACrB,mBAA4B,kBADlD,YAK8D,EALxC,SAAqB,EACrB,SAA4B,GADN,oBAA2B,gBAAvE,aAK8D,EALlB,UAA2B,GAUtE,oCAAsB,GAA3B,aAA6B,EAAxB,UAAsB,GAKtB,oCAAqB,GAA1B,aAA2B,EAAtB,UAAqB,GA2Od,oBAA6B,kBAAzC,aAA0C,EAA9B,UAA6B,GAO6C,gEAA6C,IAAnD,aAAoD,EAA9C,UAA6C,GAa9G,oBAA8B,gBAAC,oBAAiC,kBAAjF,aAAyI,EAAxH,UAA8B,EAAC,UAAiC,mDA9QjF,m0BAK8D,GAwPN,mEAAuB,GAClD,gEAA0B,GAChD,gEAAoB,GAEjB,qSAAkE,GAAwF,+DAAoB,GAOlK,yNAAqF;;;;;;;;;;;;;;;;AC/QjH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+D;AAEa;AACR;AACpE,kFAAkF;AACzB;AACR;AACA;AACN;AACA;AAE3C;IAwCE,uBAAoB,IAAgB,EAAU,MAAc,EAAU,iBAAsC,EAAU,KAAqB,EAAU,eAAgC;QAArL,iBAQC;QARmB,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAjCrL,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,CAAC,CAAC;QAEd,QAAG,GAAG,EAAE,CAAC;QACT,SAAI,GAAW,EAAE,CAAC;QAElB,YAAO,GAAW,EAAE,CAAC;QACrB,iBAAY,GAAG,EAAE,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QACrB,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAE3B,oBAAe,GAAG,KAAK,CAAC;QAGxB,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAEnB,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAY5H,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEtD,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,gCAAQ,GAAR;QAAA,iBAoCC;QAnCC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI;YAC7F,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACpF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC;YACF,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC7B,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACpE,KAAK,CAAC,OAAO,CAAC,eAAK;oBACnB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC,CAAC;gBACF,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aACrD;iBACI;gBACH,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpD,KAAI,CAAC,aAAa,GAAG;oBACnB,EAAE,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;iBACrE,CAAC;gBACF,KAAI,CAAC,UAAU,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;gBAC7C,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACvC,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;aACrD;QAIH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAgB,GAAhB,UAAiB,QAAQ;QAAzB,iBAYC;QAXC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe;QAC5C,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,6BAAK,GAAL,UAAM,GAAG;QACP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,wCAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAAhC,iBAaC;QAXC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACzF,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC;YACzC,8DAA8D;YAC9D,4EAA4E;YAC5E,6CAA6C;YAC7C,0CAA0C;QAC5C,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,iCAAiC;IACjC,8CAA8C;IAC9C,iGAAiG;IACjG,KAAK;IACL,GAAG;IAEH,kCAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,CAAC;IACD,gCAAQ,GAAR;QAAA,iBAWC;QAVC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvD,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kCAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9D,CAAC;IACD,sCAAc,GAAd,UAAe,IAAI,EAAE,MAAM;QAA3B,iBAUC;QATC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACnF,OAAO,CAAC,OAAO,CAAC,iBAAO;YACvB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YAChC,qDAAqD;YACrD,kEAAkE;YAClE,wCAAwC;YACxC,gCAAgC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAGtD,CAAC;IACD,sCAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SACrD;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,mCAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,qCAAa,GAAb,UAAc,KAAU;QAEtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,gCAAQ,GAAR,UAAS,QAAQ;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YACjD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,sCAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAkC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAI,CAAC,CAAC;IACtF,CAAC;IACD,mCAAW,GAAX,UAAY,MAAM;QAAlB,iBAIC;QAHC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAK,IAAI,YAAI,CAAC,KAAK,GAAG,KAAK,EAAlB,CAAkB,CAAC,CAAC;SACnE;IACH,CAAC;IACH,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACW;AACA;AACP;AAG7D;IAcE,2BAAoB,KAAqB,EAAU,cAA+B,EAAU,eAAgC;QAAxG,UAAK,GAAL,KAAK,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAiB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAN5H,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,kBAAa,GAAkB,IAAI,0EAAa,EAAE,CAAC;IAC6E,CAAC;IAEjI,oCAAQ,GAAR;QAAA,iBAUC;QARC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAEhC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAErC,CAAC,CAAC,CAAC;IAEL,CAAC;IA+BH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHC7Be,sHAA2C,KACzC,sHAAI,gFAA6B,MACjC,sHAAI,gFAAwB,MAC5B,sHAAI,gFAAyB,MAC7B,sHAAI,iMAAkE,gCAHlE,4EAA6B,GAC7B,uEAAwB,GACxB,wEAAyB;iHArC3C,kLAAyE,KACvE,0KAA8C,KAC5C,mJAA6B,wFAAW,MAE1C,+KAAmD,KAEjD,uMAA2E,KACzE,0SAUqD,YAFpC;;wBAAmC;MACnC;;wBAA+C;MAC/C;;wBAAmC;MAVpD,ylDAUqD,MAKzD,iLAAmD,KACjD;;;;;;myBAAsD,IAEpD,gNAAkF,KAChF,kLAAqD,+HAAO,yFAAY,MACxE,kLAAqD;;;;;;;;;;;wBAAsL;MAA3I;;wBAAuC;MAAlF,+0DAAsL,IAE7O,+MAAiF,KAC/E,iLAAoD,+HAAO,wFAAW,MACtE,kLAAoD,KAClD,qMAAiE,KAC/D,mKAA4C,4HAAI,wFAAW,MAAK,uHAAI,uFAAU,MAAK,uHAAI,wFAAW,MAAK,uHAAI,mFAAM,MACjH,8dAA2C,IAUjD,8MAAgF,KAC9E,iLAAoD,+HAAO,uFAAU,MACrE,iLAAoD;;;;;;;;;;;wBAAwL;MAArK;;wBAAkC;MAArD,+0DAAwL,iDAtC7N,mBAA4B,cAG5B,mBAAuB,cAFvB,mBAAyB,aACzB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAoB,EAFpB,oBAAuB,EALxC,YAUqD,EATpC,SAA4B,EAG5B,SAAuB,EAFvB,SAAyB,EACzB,SAAwD,EAGxD,SAAmB,EACnB,SAAoB,EAFpB,SAAuB,GAekG,oBAAgC,sBAAnH,aAAsL,EAAnG,UAAgC,GAAzG,4CAAgC,EAA0E,qBAAiC,sBAA1G,oBAAuC,4BAAlF,aAAsL,EAA5K,UAAgC,EAA0E,UAAiC,EAA1G,UAAuC,GAO/H,oBAAsC,cAA1C,aAA2C,EAAvC,UAAsC,GAY4H,oBAAgC,sBAAtJ,aAAwL,EAAlE,UAAgC,GAAhG,yCAA6B,EAAC,qBAAiC,sBAAlG,oBAAkC,uBAArD,aAAwL,EAAlI,UAA6B,EAAC,UAAiC,EAAlG,UAAkC,2BAvB7G,8tBAAsD,GAIG,o1BAAsL,GAmBvL,o1BAAwL;iHAQpP,kLAAyE,KACvE,0KAA8C,KAC5C,wHAAM,0FAAa,MAErB,+KAAmD,KACjD,uMAA2E,KACzE,0SAU4D,YAF3C;;wBAA0C;MAC1C;;wBAA6C;MAC7C;;wBAA0C;MAV3D,ylDAU4D,MAMhE,iLAAmD,KACjD;;;;;;oyBAAuD,IAErD,gNAAkF,KAChF,kLAAqD,+HAAO,0FAAa,MACzE,kLAAqD,KACnD;;;;;;;;;;;wBACgH;MAAtG;;wBAAqC;MAD/C,+0DACgH,IAIpH,gNAAkF,KAChF,kLAAqD,+HAAO,oGAAuB,MACnF,kLAAqD;;;;;;;;;;;wBAAoM;MAAhJ;;wBAAgD;MAApG,+0DAAoM,iDA5B1O,mBAAmC,qBAGnC,mBAAwB,eAFxB,mBAAgC,oBAChC,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAoB,EAFpB,oBAAuB,EALxC,YAU4D,EAT3C,SAAmC,EAGnC,SAAwB,EAFxB,SAAgC,EAChC,SAAwD,EAGxD,SAAmB,EACnB,SAAoB,EAFpB,SAAuB,GAiB1B,oBAA8B,oBAAxC,aACgH,EADtG,UAA8B,GAAC,0CAA8B,EACvB,qBAA+B,oBAArE,oBAAqC,0BAD/C,aACgH,EADvE,UAA8B,EACvB,UAA+B,EAArE,UAAqC,GAMyG,oBAA8B,oBAAnI,aAAoM,EAA/F,UAA8B,GAAzH,qDAAyC,EAAiF,qBAA+B,oBAA/G,oBAAgD,qCAApG,aAAoM,EAA1L,UAAyC,EAAiF,UAA+B,EAA/G,UAAgD,2BAZ7J,8tBAAuD,GAKjD,o1BACgH,GAM7D,o1BAAoM;iHAOjQ,kLAAyE,KACvE,0KAA8C,KAC5C,mJAA6B,yFAAY,MAE3C,+KAAmD,KACjD,gLAAoD,KAClD,4LAAgE,KAE9D,gQAA+G,YAAnD;;wBAA4B;MAAxF,wBAA+G,KAInH,sMAA0E,KACxE,0SAU+D,YAF9C;;wBAA4C;MAC5C;;wBAAyD;MACzD;;wBAA6C;MAV9D,0lDAU+D,MAMnE,iLAAmD,KACjD;;;;;;iyBAAoD,IAClD,iLAAoD,KAGpD,gNAAkF,KAChF,kLAAqD,+HAAO,yFAAY,MACxE,kLAAqD;;;;;;;;;;;wBAAwK;MAAjI;;wBAAmC;MAA1E,+0DAAwK,IAE/N,gNAAkF,KAChF,kLAAqD,+HAAO,kGAAqB,MACjF,kLAAqD;;;;;;;;;;;wBAA4L;MAA3I;;wBAA6C;MAA9F,+0DAA4L,IAEnP,8MAAgF,KAC9E,iLAAoD,+HAAO,uFAAU,MACrE,kLAAoD,KAClD;;;;;wBAA0N;MAA/I;;wBAAmC;MAAC;;;wBAA6C;MAA5J,8wDAA0N,IACxN,8zBAAoC,+EAAG,MACvC,8zBAAoC,8EAAE,MAI5C,8MAAgF,KAC9E,iLAAoD,+HAAO,uFAAU,MACrE,iLAAoD;;;;;;;;;;;wBAAkL;MAAlI;;wBAAmC;MAAnF,+0DAAkL,IAGxO,8LAAiE,KAC/D,6IAAsB,KACtB,mLAAsD,KACpD,kUAAiL,YAAhC;;wBAA+B;MAAhL,wBAAiL,mFAAM,MAEzL,8MAAiF,KAC/E,2VAAgO,YAAjM;;wBAA0B;MAAzD,wBAAgO,iFAAI,mDAhDvN,mBAAsC,wBAGtC,mBAA0B,iBAF1B,mBAAmC,uBACnC,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAoB,EAFpB,oBAAuB,EALxC,aAU+D,EAT9C,SAAsC,EAGtC,SAA0B,EAF1B,SAAmC,EACnC,SAAwD,EAGxD,SAAmB,EACnB,SAAoB,EAFpB,SAAuB,GAkB0F,oBAA6B,mBAAxG,aAAwK,EAA7F,UAA6B,GAA9F,wCAA4B,EAAmG,qBAA8B,mBAAhI,oBAAmC,wBAA1E,aAAwK,EAA9J,UAA4B,EAAmG,UAA8B,EAAhI,UAAmC,GAIqB,oBAA6B,mBAA5H,aAA4L,EAA7F,UAA6B,GAAlH,kDAAsC,EAA6E,qBAA8B,mBAA1G,oBAA6C,kCAA9F,aAA4L,EAAlL,UAAsC,EAA6E,UAA8B,EAA1G,UAA6C,GAK2C,oBAA6B,mBAAzN,aAA0N,EAA9B,UAA6B,GAA3K,wCAA4B,EAAmF,qBAA8B,mBAAhH,oBAAmC,wBAA9G,aAA0N,EAA5K,UAA4B,EAAmF,UAA8B,EAAhH,UAAmC,GACpG,oBAAS,EAAjB,aAAoC,EAA5B,iCAAS,EAAjB,aAAoC,EAA5B,UAAS,GACT,oBAAS,EAAjB,aAAoC,EAA5B,iCAAS,EAAjB,aAAoC,EAA5B,UAAS,GAMmH,oBAA6B,mBAAjH,aAAkL,EAA9F,UAA6B,GAA9F,wCAA4B,EAAmE,qBAA8B,mBAAhG,oBAAmC,wBAAnF,aAAkL,EAA/J,UAA4B,EAAmE,UAA8B,EAAhG,UAAmC,2BAvB3I,8tBAAoD,GAMK,o1BAAwK,GAIxK,o1BAA4L,GAK/O,o1BAA0N,GACtM,qBAAiB,EAAnC,aAAoC,EAAlB,UAAiB,GACjB,qBAAiB,EAAnC,aAAoC,EAAlB,UAAiB,GAMa,o1BAAkL,GAS/C,2EAA0C,cAA/N,aAAgO,EAA3C,UAA0C;iHAS7O,2NAAkI,YAAtH;;wBAAqC;MAAjD,ubAAkI,MAChI,4LAA4V,YAA5C;;wBAA2C;MAA3V,4kBAA4V,mDAD/O,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAC7B,0GAA8F,IAAC,+HAAyH,IAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAA7R,YAA4V,EAA1U,SAA8F,EAAC,SAAyH,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;iHAzK/R,qLAAyD,KACrD,oZAAyE,IAsDzE,oZAAyE,IA0CzE,oZAAyE,IAuE7E,oZAAkI,iDAvKzE,kCAAmB,GAAxE,YAAyE,EAApB,SAAmB,GAsDnB,kCAAmB,GAAxE,YAAyE,EAApB,SAAmB,GA0CnB,kCAAmB,GAAxE,YAAyE,EAApB,SAAmB,GAuE1B,mBAA+B,0BAAjF,YAAkI,EAAhF,SAA+B;;;;;;;;;;;;;;;;ACvKjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AAC2C;AACpE;AACc;AACwB;AAEvB;AACE;AACA;AACE;AACE;AAGhE;IA2CE,qCAAoB,WAAwB,EAAU,MAAqB,EAAU,YAA0B,EAAS,oBAA0C;QAA9I,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QArClK,uBAAkB,GAAY,IAAI,CAAC;QACnC,kBAAa,GAAY,KAAK,CAAC;QAC/B,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAChC,yBAAoB,GAAY,KAAK,CAAC;QACtC,wBAAmB,GAAY,KAAK,CAAC;QACrC,sBAAiB,GAAY,KAAK,CAAC;QAanC,gBAAW,GAAgB,IAAI,sEAAW,EAAE,CAAC;QAC7C,eAAU,GAAgB,IAAI,uEAAW,EAAE,CAAC;QAC5C,cAAS,GAA2B,IAAI,8FAAsB,EAAE,CAAC;QAIjE,gBAAW,GAAiB,IAAI,yEAAY,EAAE,CAAC;QAC/C,yBAAoB,GAAY,KAAK,CAAC;QAItC,qBAAgB,GAAY,KAAK,CAAC;QAIhC,4BAAuB,GAAY,KAAK,CAAC;QAC3C,eAAe;QACN,SAAI,GAAW,IAAI,CAAC;QAE3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,8CAAQ,GAAR;QACE,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC9B;QACD,UAAU;QACR,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAChZ,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACpD,GAAG;IACL,CAAC;IACD,wDAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAiBC;QAhBC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACzE,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC5B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,IAAI,uEAAW,EAAE,CAAC;gBACpC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;aAClC;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,uEAAW,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,GAAC,EAAE,CAAC;SACrB;IACH,CAAC;IACD,sDAAgB,GAAhB,UAAiB,KAAK;QAEpB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,yEAAY,EAAE,CAAC;gBACtC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;aAChC;SACF;aAAM;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,yEAAY,EAAE,CAAC;SAAC;IAClD,CAAC;IACD,sDAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAClL,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAC,IAAI;SAExF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE1B,CAAC;IACD,uDAAiB,GAAjB;QAAA,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IACD,yDAAmB,GAAnB,UAAoB,KAAsB;QACxC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IACD,0DAAoB,GAApB,UAAqB,IAAI;QAAzB,iBAuBE;QAtBA,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,YAAY,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,IAAI,aAAa,EAAE;YAChC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAC,IAAI;gBACnC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;aAAK;YACJ,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAC,IAAI;gBACjC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAErF,CAAC,CAAC,CAAC;IAEJ,CAAC;IACF,wDAAkB,GAAlB;QAAA,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAgB,GAAhB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aAC9E;YACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC1D;gBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aAClF;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACzE;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;oBACjG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC9B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;IAEjC,CAAC;IAED,6DAAuB,GAAvB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG;YACvB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aAC9E;YACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC1D;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aAC1E;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;oBACjG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC5C,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IAGJ,CAAC;IACD,uDAAiB,GAAjB,UAAkB,YAAY;QAC5B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;QAC9E,0BAA0B;QAC1B,8KAA8K;QAC9K,YAAY;IACd,CAAC;IACD,sDAAgB,GAAhB,UAAiB,YAAY;QAC3B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;QAC9E,0BAA0B;QAC1B,8KAA8K;QAC9K,QAAQ;IAEV,CAAC;IAED,6DAAuB,GAAvB;QAEE,IAAI,CAAC,kBAAkB,GAAgB;YACrC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAClL,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI;SAEzF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAEjC,CAAC;IACD,+CAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,IAAI,YAAY,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;aAAM,IAAI,GAAG,IAAI,cAAc,EAAE;YAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;aAAM,IAAI,GAAG,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBAEX,SAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,SAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;QAED,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,GAAG,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACna,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,8CAAQ,GAAR,UAAS,GAAG;QACV,IAAI,GAAG,IAAI,YAAY,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,uEAAW,EAAE,CAAC;SACrC;aAAM,IAAI,GAAG,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,yEAAY,EAAE,CAAC;SACvC;aAAM,IAAI,GAAG,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,uDAAiB,GAAjB;QACE,OAAO,IAAI,wDAAS,CAAC;YACnB,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC9E,qBAAqB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjG,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7E,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;IACD,sDAAgB,GAAhB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,sEAAW,EAAE,CAAC;QACrC,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;IAEjD,CAAC;IACD,8DAAwB,GAAxB;QACE,IAAI,CAAC,qBAAqB,GAAgB;YACxC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;YACjN,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;SAC1C,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAEpC,CAAC;IACD,2DAAqB,GAArB,UAAsB,KAAsB;QAC1C,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACD,gEAA0B,GAA1B;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG;YAC1B;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aAC9E;YACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACnE;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aACvE;YACD,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC7F;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACvF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,IAAI,CAAC;qBACb;yBACI;wBACH,OAAO,KAAK,CAAC;qBACd;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,SAAS;aAChI;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,SAAS;aAClI;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACzE;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;oBACjG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;QAEF,SAAS,SAAS,CAAC,MAAM;YACvB,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;YAC/C,IAAI,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC;YACzD,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;YAC5D,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;YAC7D,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;YAEjE,+CAA+C;YAC/C,OAAO,CAAC,QAAQ,GAAG;gBACjB,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,EAAE;oBACvC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;oBAClC,OAAO,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC3D,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;oBACnD,OAAO,CAAC,cAAc,EAAE,CAAC;iBAC1B;qBAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE;oBAC/C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;oBAClC,OAAO,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC5D,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;oBACpD,OAAO,CAAC,cAAc,EAAE,CAAC;iBAC1B;YACH,CAAC,CAAC;YAEF,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;YACxB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,EAAE;gBACvC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,aAAG;oBAC7B,IAAI,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAClD,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC;oBACrC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACrC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;aAEJ;iBACI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE;gBAC7C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,aAAG;oBAC9B,IAAI,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAClD,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC;oBAClC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACrC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAElC,CAAC,CAAC,CAAC;aAEJ;YAGD,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,EAAE;oBACvC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACjD;qBAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE;oBAC/C,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAClD;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,OAAO,OAAO,CAAC;QACjB,CAAC;IAGH,CAAC;IAGD,4CAAM,GAAN,UAAO,GAAG;QACR,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;IACzD,CAAC;IACD,oDAAc,GAAd;QAAA,iBAQC;QAPC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iCAAiC,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9F,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAgB,GAAhB;QAAA,iBAIC;QAHC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kEAA4B,GAA5B,UAA6B,KAAK;QAChC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;SACF;aAAM;YACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IACD,yDAAmB,GAAnB;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,sEAAW,EAAE,CAAC;IACvC,CAAC;IACD,sDAAgB,GAAhB,UAAiB,SAAS;QACxB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;QAC9E,0BAA0B;QAC1B,8KAA8K;QAC9K,WAAW;IACb,CAAC;IACD,kDAAY,GAAZ,cAAiB,CAAC;IAClB,iDAAW,GAAX,UAAY,MAAM;IAElB,CAAC;IACD,mDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;IAC3B,CAAC;IACD,0DAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC;IAClC,CAAC;IACD,6DAAuB,GAAvB,UAAwB,KAAK;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC;IAChC,CAAC;IAED,wDAAkB,GAAlB,UAAmB,GAAG;QAAtB,iBAyBC;QAxBC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE;gBAC7B,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;gBACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;gBACtC,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBACI,IAAI,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE;gBAEnC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC/D,KAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjG,CAAC,CAAC,CAAC;aAEJ;iBACI,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE;gBAClC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAChE,KAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,qBAAqB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpG,CAAC,CAAC,CAAC;aAEJ;SACF;QACD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IAEvC,CAAC;IAED,2CAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAE9D,CAAC;IAEH,kCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGC9iBS,+LACiF,YADuC;;wBAA0C;MAAlK,6+BACiF,mDAD3C,mBAA2B,cAAC,mBAAmB,UACxB,mBAAmB,UADM,kBAAU,EAAC,mBAAsB,WACtG,uBAAoB,EAAC,yBAAsB,EAD5D,YACiF,EAD3C,SAA2B,EAAC,SAAmB,EACxB,SAAmB,EADM,SAAU,EAAC,SAAsB,EACtG,SAAoB,EAAC,SAAsB;oGAE7D,mlBAAgT,IAChT,yVAciD,YALpC;;wBAAgD;MAEhD;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAdhD,iuDAciD,mDAf5C,+PAAiN,IAAtN,YAAgT,EAA3S,SAAiN,GAGzM,mBAAqC,wBAGrC,mBAAyB,gBAFzB,mBAAmC,uBAKnC,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAGnB,oBAAsC,EAVnD,YAciD,EAZpC,SAAqC,EAGrC,SAAyB,EAFzB,SAAmC,EAKnC,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EAGnB,SAAsC;oGA+E9C,sKAAkJ,+MAA6B;oGAC/K,4IAA8H,obAAuD;oGAQjL,mNAAqH,KACnH,2NAA+F,0HAAG,gFAAiB,MAEnH,wMAA4E,gFAAwB,iCAFF,qEAAiB,GAEvC,6EAAwB;oGAlFhH,mLAAmF,KAEjF,oRAAwJ,KACtJ,6IAAuB,8HAAO,0FAAc,MAC5C,4IAAsB,KACpB,sPAAkG,YAA1F;;wBAAqB;MAA7B,wBAAkG,KAChG,4NAA4F,KAIlG,qQAAwI,KACtI,sMAA0E,KACxE,uKAA0C,qFAAQ,MAClD,wLAA2D,8IAA8C,IAE3G,qLAAwD,KACtD,uKAA0C,kFAAK,MAC/C,uKAA0C,iFAA+B,MACzE,uKAA0C,KAG5C,qLAAwD,KACtD,uKAA0C,iFAAI,MAC9C,uKAA0C,iFAAgC,MAC1E,6IAAsB,8IAA2D,IAGnF,qLAAwD,KACtD,uKAA0C,sFAAS,MACnD,uKAA0C,iFAAqC,MAC/E,6IAAsB,8IAAgE,IAGxF,qLAAwD,KACtD,uKAA0C,wFAAW,MACrD,uKAA0C,iFAA4C,MACtF,6IAAsB,8IAA4E,IAGpG,qLAAwD,KACtD,uKAA0C,wFAAW,MACrD,uKAA0C,iFAA2C,MACrF,6IAAsB,8IAAqE,IAG7F,qLAAwD,KACtD,uKAA0C,sFAAS,MACnD,uKAA0C,iFAA6C,MACvF,6IAAsB,8IAAsE,IAI9F,qLAAwD,KACtD,uKAA0C,2FAAc,MACxD,uKAA0C,iFAA0C,MACpF,6IAAsB,8IAA2E,IAEnG,qLAAwD,KACtD,uKAA0C,4FAAe,MACzD,uKAA0C,iFAA2C,MACrF,6IAAsB,8IAAoE,IAE5F,qLAAwD,KACtD,uKAA0C,kFAAK,MAC/C,uKAA0C,iFAA0C,MACpF,6IAAsB,8IAA2E,IAGnG,qLAAwD,KACtD,uKAA0C,iFAAI,MAC9C,wYAAkJ,IAClJ,wYAA8H,IAKhI,0PAA6H,KAC3H,qQAAwI,KACtI,wKAA2C,KACzC,idAAqH,IAMvH,qKAAwC,KACtC,8RAAwJ,YAArC;;wBAAoC;MAAvJ,wBAAwJ,kDAhBtI,yIAAuG,KAA7H,aAAkJ,EAA5H,UAAuG,GACvG,yIAAuG,KAA7H,aAA8H,EAAxG,UAAuG,GAQlC,oBAA6B,WAApH,aAAqH,EAA9B,UAA6B,mDAlE7D,6NAA8C,GAI/D,yEAA+B,GAM/B,0EAAgC,GACpD,gPAA2D,GAKvC,+EAAqC,GACzD,qPAAgE,GAK5C,sFAA4C,GAChE,kQAA4E,GAKxD,qFAA2C,GAC/D,2PAAqE,GAKjD,yFAA6C,GACjE,8PAAsE,GAMlD,sFAA0C,GAC9D,mQAA2E,GAIvD,uFAA2C,GAC/D,4PAAoE,GAIhD,sFAA0C,GAC9D,mQAA2E;oGAmCjG,6OAA+I,KAC7I,2NAA+F,0HAAG,gFAAiB,MAEnH,wMAA4E,gFAAwB,iCAFF,qEAAiB,GAEvC,6EAAwB;oGAX5G,gLAAgF,KAC9E,yNAA6F,KAC3F,mRAAuJ,KACrJ,yHAAO,uFAAW,MAClB,uKAAiD,KAAC,4PAAoH,YAAxC;;wBAAuC;MAAnH,wBAAoH,KAGxK,uMAA2E,KACzE,gdAA+I,iDAA9B,mBAA6B,WAA9I,YAA+I,EAA9B,SAA6B;qGAyBlJ,qKAAwE,KACtE,qHAAG,4FAAe;qGAGlB,qHAA2G,mFAAM;qGACjH,qHAA4G,iFAAI;qGAFlH,qKAAwE,KACtE,wYAA2G,IAC3G,wYAA4G,iDADzG,wIAAuG,KAA1G,YAA2G,EAAxG,SAAuG,GACvG,wIAAwG,KAA3G,YAA4G,EAAzG,SAAwG;qGAG7G,iMAAyI,KAEvI,qKAAyC,8QAAiH,YAAxB;;wBAAuB;MAAhH,wBAAiH,uJAA4B,KAAO,8EAAM,MACnM,qKAAyC,gRAAmH,YAAxB;;wBAAuB;MAAlH,wBAAmH,uJAA4B,KAAO,4EAAI;qGAGvM,2LAA4F,KAC1F,oOAAwG,KACtG,iLAAqD,KACnD;;;;;;;;;;;wBAA2P;MAA3L;;wBAAmC;MAAiI;;wBAAsB;MAA1P,2yCAA2P,iDAA3I,iCAAsB,EAAtE,mBAAmC,wBAAnG,YAA2P,EAA3I,SAAsB,EAAtE,SAAmC,2BAAnG,8sBAA2P;oGA/BnQ,oNAAoH,YAAxG;;wBAA6B;MAAzC,0cAAoH,MAClH,0MAAiF,KAEjF,gLAAuD,KACnD,wLAA4D,uFAAU,MAE1E,+oDAKqC,MAErC,0LAAgE,KAC9D,yYAAwE,IAGxE,yYAAwE,IAKxE,yYAAyI,IAM3I,sYAA4F,iDA5BlF,mBAA6B,kBAA8C,uBAA4B,EAAnH,YAAoH,EAAxG,SAA6B,EAA8C,SAA4B,GAOhG,mBAAuC,0BAGvC,mBAA0B,iBAF1B,mBAAkC,sBAClC,mBAAwD,yCAExD,mBAAmB,UALpC,YAKqC,EAJpB,SAAuC,EAGvC,SAA0B,EAF1B,SAAkC,EAClC,SAAwD,EAExD,SAAmB,GAG7B,6CAA8B,GAAnC,aAAwE,EAAnE,SAA8B,GAG9B,6CAA8B,GAAnC,aAAwE,EAAnE,SAA8B,GAKb,4EAAmE,iBAAzF,aAAyI,EAAnH,SAAmE,GAMtF,qBAA4B,sBAAjC,aAA4F,EAAvF,UAA4B;qGAiBvC,sKAAkE,KAChE;;wBAAwK;MAA7B;;wBAA4B;MAAvK,+yCAAwK,mDAAzJ,qBAAc,EAAqE,uBAAoB,EAAC,kBAAmB,EAA5G,yBAAkC,EAAC,mBAAgC,aAAjG,YAAwK,EAAzJ,SAAc,EAAqE,SAAoB,EAAC,SAAmB,EAA5G,SAAkC,EAAC,SAAgC;qGAFrG,sNAA8K,YAAlK;;wBAA6B;MAAyF;;wBAA2C;MAA7K,2dAA8K,MAC5K,qYAAkE,iDADsB,qBAAkB,EAAhG,mBAA6B,kBAAoE,oBAAoB,EAAjI,YAA8K,EAApF,SAAkB,EAAhG,SAA6B,EAAoE,SAAoB,GACrF,mBAAuB,kBAAjE,YAAkE,EAAxB,SAAuB;qGAMnE,6NAAoH,YAAxG;;wBAAwB;MAApC,0cAAoH,MAElH,+NAAsG,KAEpG,wPAA4H,KAC1H,mJAA6B,4FAAe,MAGhD,6KAAoD,KAClD,oiCAAoF,iDAT5E,mBAAwB,aAAmD,uBAA4B,EAAnH,YAAoH,EAAxG,SAAwB,EAAmD,SAA4B,GASlG,4BAAqB,EAA0B,0BAAuB,EAAhD,mBAAwB,aAA3D,YAAoF,EAAvE,SAAqB,EAA0B,SAAuB,EAAhD,SAAwB;qGAwCzD,yPAA4H,YAAnD;;wBAAyB;MAAlG,wBAA4H;qGAC5H,2PAA8H,YAAnD;;wBAA0B;MAArG,wBAA8H;qGAJpI,yOAA8K,YAAlK;;wBAAwB;MAAqF;;wBAAoD;MAA7K,0cAA8K,MAC5K,mPAA0H,KACxH,4MAAgF,KAC9E,wYAA4H,IAC5H,wYAA8H,IAEhI,wLAA4D,8HAAO,4FAAe,MAIpF,8LAAoE,KAClE,05CAIiC,iDAfzB,mBAAwB,aAAwD,uBAA4B,EAAxH,YAA8K,EAAlK,SAAwB,EAAwD,SAA4B,GAGf,oBAAsB,gBAAzH,YAA4H,EAAzB,SAAsB,GACnB,mBAAqB,gBAA3H,YAA8H,EAAxB,SAAqB,GAS9G,mBAAe,QACf,yBAAiB,EACjB,qBAAiB,EAHjB,8BAAkC,EADjD,aAIiC,EAFlB,SAAe,EACf,SAAiB,EACjB,SAAiB,EAHjB,SAAkC;qGASrD,kNAAsI,YAA1H;;wBAA2B;MAA0C;;wBAAoD;MAArI,+ZAAsI,MACpI,+KAAqD,KACnD,sOAA0G,KACxG,qJAA+B,0FAAa,MAG9C,oNAAkF,KAChF,kPAA2I,YAA3F;;wBAAqD;MAArG,6rBAA2I,MAG7I,0PAAuH,KACrH,sSAAsI,YAA3G;;wBAAsB;MAAjD,wBAAsI,mFAAM,MAC5I,wVAAmM,YAA3J;;wBAAiC;MAAzE,wBAAmM,kFAAM,mDAZnM,mBAA2B,gBAAvC,YAAsI,EAA1H,SAA2B,GAOhB,mBAA8B,gBAAC,mBAAqD,sCAArG,YAA2I,EAA1H,SAA8B,EAAC,SAAqD;qGAW3G,kNAAuG,YAA3F;;wBAA4B;MAAxC,0bAAuG,MACrG,4LACwF,YAAhD;;wBAA+C;MADvF,+kBACwF,mDAFN,qBAAkB,EAA1F,mBAA4B,iBAAxC,YAAuG,EAAnB,SAAkB,EAA1F,SAA4B,GACpB,oCAA8B,EAAC,gDAAgD,EAAC,oBAAa,EAAC,qBAAgB,EAC1G,oBAAiB,EAArC,qBAAmB,EADrB,YACwF,EADtE,SAA8B,EAAC,SAAgD,EAAC,SAAa,EAAC,SAAgB,EAC1G,SAAiB,EAArC,SAAmB;qGA0BrB,mMAAoI,YAAtC;;wBAAqC;MAAnI,69BAAoI,mDAAvF,mBAA6B,aAAC,yBAAkB,EAA7F,YAAoI,EAAvF,SAA6B,EAAC,SAAkB;qGAC7F,6wBAA8F,iDAAjD,mBAA6B,aAAC,yBAAkB,EAA7F,YAA8F,EAAjD,SAA6B,EAAC,SAAkB;qGAF/F,kNAAkL,YAAtK;;wBAAgC;MAA5C,6dAAkL,MAChL,qYAAoI,IACpI,qYAA8F,iDAFJ,sDAAwC,GAAxH,mBAAgC,qBAAyF,sDAA4C,GAAjL,YAAkL,EAAtF,SAAwC,EAAxH,SAAgC,EAAyF,SAA4C,GACzJ,qCAAsB,GAA5C,YAAoI,EAA9G,SAAsB,GACtB,qCAAsB,GAA5C,YAA8F,EAAxE,SAAsB;qGAG9C,kNAAwI,YAA5H;;wBAAgC;MAA5C,6dAAwI,MACtI,8LAAsH,YAA7C;;wBAA4C;MAArH,69CAAsH,mDAD3B,qBAAkB,EAAnG,mBAAgC,qBAAoE,qBAAsB,EAAtI,YAAwI,EAA3C,SAAkB,EAAnG,SAAgC,EAAoE,SAAsB,GACvG,mBAAwB,aAAxC,iBAAe,EAA0B,yBAAkB,EAAxE,YAAsH,EAAzF,SAAwB,EAAxC,SAAe,EAA0B,SAAkB;mzBAvT1E,yLAAyD,KACzD,kKAAsF,KACpF,oMAAuE,KAErE,oMAAsE,KACpE,iLAAoD,KAElD,gJAAyB,KACvB,wYACiF,IAElF,wYAAgT,IAmBnT,iLAAoD,KAClD,wYAAmF,IA4FnF,wYAAgF,IAmBlF,wYAAoH,IA4C1H,yYAA8K,IAO9K,yYAAoH,IAYpH,4LAA6C,YAAjC;;wBAA+B;MAA3C,gaAA6C,MAC3C,4KAAiD,KAC/C,8IAAuB,KACrB,0HAAO,oHAAuC,MAEhD,6KAA+C,KAC7C,qJAA6B,KAC3B,2IAAoB,KAClB,qKAAwC,2OAAkG,YAArE;;wBAAkD;MAA/E,wBAAkG,iFAAI,MAC9I,qKAAwC,4OAA6G,YAA/E;;wBAA4D;MAA1F,wBAA6G,iFAAI,MACzJ,qKAAwC,KACtC,0OAAqG,YAApE;;wBAAiD;MAAlF,wBAAqG,oFAAO,MAKpH,4KAA8C,KAC5C,qKAAwC,KACtC,0JAAmC,kFAAK,MAE1C,wKAA2C,KACzC,kNAA+E,KAC7E;;;;;;;;;;;wBAA0M;MAAtL;;wBAAwC;MAAoH;;wBAAyB;MAAzM,8yCAA0M,6EAAC,MAIjN,2KAA8C,KAC5C,oJAA6B,KAC3B,mQAAoG,YAArC;;wBAAuB;MAAtF,wBAAoG,wJAA4B,KAAO,6EAAK,MAMpJ,yYAA8K,IAqB9K,yYAAsI,IAkBtI,yYAAuG,IA2BvG,yYAAkL,IAKlL,yYAAwI,iDA9S7G,mBAAoB,eAArC,aACiF,EADhE,SAAoB,GAGiP,oBAAwB,kBAA/S,aAAgT,EAAzB,SAAwB,GAoB1P,oBAA4B,sBAAlF,aAAmF,EAA7B,SAA4B,GA4F9B,mBAA2B,sBAA/E,aAAgF,EAA5B,SAA2B,GAmBlB,mBAAuB,kBAAtF,aAAoH,EAArD,SAAuB,GA4ClD,mBAAuB,kBAAjE,aAA8K,EAApI,SAAuB,GAO5B,mBAAkB,aAAvD,aAAoH,EAA/E,SAAkB,GAY3C,mBAA+B,oBAA3C,aAA6C,EAAjC,SAA+B,GAsB4B,wBAAY,EAArD,oBAAwC,6BAA5D,aAA0M,EAA7I,UAAY,EAArD,UAAwC,GAYjC,oBAAkB,aAAvD,aAA8K,EAAzI,UAAkB,GAqBf,oBAAqB,gBAA7D,aAAsI,EAA9F,UAAqB,GAkBpB,oBAAsB,iBAA/D,aAAuG,EAA9D,UAAsB,GA2BlB,oBAA0B,qBAAvE,aAAkL,EAArI,UAA0B,GAK1B,oBAA0B,qBAAvE,aAAwI,EAA3F,UAA0B,mDArT9C,kEAA4D,GAArF,YAAsF,EAA7D,SAA4D,GAkO3E,kuBAA0M;;;;;;;;;;;;;;;;ACpOpN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkI;AAC9D;AACN;AACc;AAC3B;AACO;AACG;AACc;AACpB;AACc;AACV;AACW;AACzB;AACwB;AAG8B;AAChD;AAC4B;AAEb;AAEnB;AACY;AACG;AACQ;AACb;AACoC;AAO3F;IA4IE,wBAAoB,KAAqB,EAAS,oBAA0C,EAAU,iBAAsC,EAAU,eAAgC,EAC5K,eAAgC,EAAU,WAAyB,EAAU,MAAc,EAAU,QAAkB,EAAU,MAAqB,EACtJ,gBAAkC,EAAE,SAAqB,EAAU,WAAwB;QAFrG,iBASC;QATmB,UAAK,GAAL,KAAK,CAAgB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAC5K,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAAU,WAAM,GAAN,MAAM,CAAe;QACtJ,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAiC,gBAAW,GAAX,WAAW,CAAa;QAvIrG,cAAS,GAAW,CAAC,CAAC;QAEtB,OAAE,GAAW,CAAC,CAAC;QAGf,iBAAY,GAAmB,EAAE,CAAC;QAGlC,sCAAsC;QACtC,qBAAgB,GAAY,KAAK,CAAC;QAClC,oBAAe,GAAY,KAAK,CAAC;QACjC,oBAAe,GAAG,KAAK,CAAC;QACxB,mBAAc,GAAG,KAAK,CAAC;QACvB,qBAAgB,GAAiB,EAAE,CAAC;QACpC,mBAAc,GAAiB,EAAE,CAAC;QAClC,qBAAgB,GAAiB,EAAE,CAAC;QACpC,uBAAkB,GAAG,EAAE,CAAC;QACxB,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,UAAK,GAAU,IAAI,2DAAK,EAAE,CAAC;QAC3B,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAC7C,uBAAkB,GAAwB,IAAI,iFAAmB,EAAE,CAAC;QACpE,kBAAa,GAAkB,IAAI,mEAAa,EAAE,CAAC;QACnD,oBAAe,GAAmB,EAAE,CAAC;QACrC,iBAAY,GAAmB,EAAE,CAAC;QAClC,mBAAc,GAAmB,EAAE,CAAC;QAIpC,eAAU,GAAG,KAAK,CAAC;QAEnB,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,CAAC,CAAC;QAId,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAEnB,aAAQ,GAAG,EAAE,CAAC;QACd,uBAAkB,GAAG,EAAE,CAAC;QACxB,kBAAa,GAAG,EAAE,CAAC;QACnB,iBAAY,GAAG,EAAE,CAAC;QAClB,aAAQ,GAAG,EAAE,CAAC;QACd,uBAAkB,GAAG,EAAE,CAAC;QACxB,2BAAsB,GAAG,EAAE,CAAC;QAC5B,WAAM,GAAG,CAAC,CAAC;QACX,0BAAqB,GAAG,IAAI,KAAK,EAAE,CAAC;QACpC,qBAAgB,GAAG,CAAC,CAAC;QACrB,iBAAY,GAAY,IAAI,CAAC;QAC7B,kBAAa,GAAY,IAAI,CAAC;QAC9B,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,eAAU,GAAG,CAAC,CAAC;QACf,WAAM,GAAG,CAAC,CAAC;QACX,oBAAe,GAAG,CAAC,CAAC;QAIpB,iBAAY,GAAW,CAAC,CAAC;QAWzB,cAAS,GAAmB,EAAE,CAAC;QAC/B,uBAAkB,GAAmB,EAAE,CAAC;QACxC,aAAQ,GAAmB,EAAE,CAAC;QAC9B,WAAM,GAAmB,EAAE,CAAC;QAC5B,WAAM,GAAmB,EAAE,CAAC;QAC5B,kBAAa,GAAmB,EAAE,CAAC;QACnC,iBAAY,GAAmB,EAAE,CAAC;QAKlC,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAY,IAAI,CAAC;QACjC,sBAAiB,GAAY,KAAK,CAAC;QACnC,wBAAmB,GAAY,KAAK,CAAC;QACrC,sBAAiB,GAAY,KAAK,CAAC;QACnC,kBAAa,GAAY,KAAK,CAAC;QAG/B,aAAQ,GAAiB,EAAE,CAAC;QAI5B,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QAEnC,aAAQ,GAAG,KAAK,CAAC;QACjB,eAAU,GAAY,KAAK,CAAC;QAC5B,YAAO,GAAY,IAAI,CAAC;QACjB,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAG9H,wBAAmB,GAAW,EAAE,CAAC;QACjC,6BAAwB,GAAY,IAAI,CAAC;QACzC,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAE5B,kBAAa,GAAW,CAAC,CAAC;QAC1B,kBAAa,GAAY,KAAK,CAAC;QAE/B,gBAAW,GAAY,KAAK,CAAC;QAC7B,oBAAe,GAAY,KAAK,CAAC;QACjC,kBAAa,GAAG,uEAAW,CAAC;QAC5B,oBAAe,GAAY,KAAK,CAAC;QACjC,kBAAa,GAAY,KAAK,CAAC;QAE/B,yBAAoB,GAAY,KAAK,CAAC;QAEtC,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAE7C,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,cAAS,GAAY,KAAK,CAAC;QAE3B,yBAAoB,GAAY,IAAI,CAAC;QACrC,qBAAgB,GAAW,CAAC,CAAC;QAC7B,uBAAkB,GAAY,KAAK,CAAC;QACpC,aAAQ,GAAY,IAAI,CAAC;QAKzB,kBAAa,GAAY,KAAK,CAAC;QAE/B,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QAKtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,IAAI,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACpC,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IACD,yCAAgB,GAAhB;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IACD,4CAAmB,GAAnB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kKAAkK,CAAC,CAAC;QACjM,CAAC,EAAE,CAAC,CAAC;IAEP,CAAC;IACD,mCAAU,GAAV;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aACI;YACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;IACH,CAAC;IACD,8CAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACjC;IACH,CAAC;IAEM,oCAAW,GAAlB,UAAmB,SAAS,EAAC,EAAE;QAA/B,iBAwBC;QAvBC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,SAAS,IAAI,CAAC,EAAE;YAClB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAE3B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBAEtB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,KAAI,CAAC,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC;oBACnC,KAAI,CAAC,kBAAkB,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;oBAEjD,KAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBACjC,KAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;gBAE7C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IACD,iCAAQ,GAAR;QAAA,iBA4DC;QA3DC,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,OAAO,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,OAAO,CAAC,QAAQ,GAAG,mEAAmE,EAAE,eAAe,CAAC,CAAC;YAC5J,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACzC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAEhC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,EAAE;gBACvF,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;aAEtC;YACD,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;YACnC,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAGnC,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI;YAC7F,2DAA2D;YAC7D,IAAI,CAAC,eAAe,GAAG,IAAI,yDAAS,CAAC;gBACnC,YAAY,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,0DAAU,CAAC,QAAQ,CAAC;gBACtF,QAAQ,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,0DAAU,CAAC,QAAQ,CAAC;gBAC9E,eAAe,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,0DAAU,CAAC,QAAQ,CAAC;aAC7F,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,yDAAS,CAAC;YAClC,MAAM,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACrE,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC3E,IAAI,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACjE,oBAAoB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACjG,IAAI,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACjE,KAAK,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACnE,WAAW,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC/E,YAAY,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACjF,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,0DAAU,CAAC,QAAQ,CAAC;SAC5E,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,yDAAS,CAAC;YACnC,UAAU,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC3E,kBAAkB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC3F,sBAAsB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,0DAAU,CAAC,QAAQ,CAAC;SAC9F,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC9D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACnR,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACnF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAa,GAAb,UAAc,KAAK,EAAE,OAAO;QAA5B,iBAqDC;QApDC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,OAAO,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,OAAO,CAAC,QAAQ,GAAG,mEAAmE,EAAE,eAAe,CAAC,CAAC;YAC5J,OAAO,KAAK,CAAC;SACd;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACzC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI;YAC7F,2DAA2D;YAC3D,IAAI,CAAC,eAAe,GAAG,IAAI,yDAAS,CAAC;gBACnC,YAAY,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,0DAAU,CAAC,QAAQ,CAAC;gBACtF,QAAQ,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,0DAAU,CAAC,QAAQ,CAAC;gBAC9E,eAAe,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,0DAAU,CAAC,QAAQ,CAAC;aAC7F,CAAC,CAAC;QAEL,IAAI,CAAC,cAAc,GAAG,IAAI,yDAAS,CAAC;YAClC,MAAM,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACrE,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC3E,IAAI,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACjE,oBAAoB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACjG,IAAI,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACjE,KAAK,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACnE,WAAW,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC/E,YAAY,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,0DAAU,CAAC,QAAQ,CAAC;YACjF,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,0DAAU,CAAC,QAAQ,CAAC;SAC5E,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,yDAAS,CAAC;YACnC,UAAU,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC3E,kBAAkB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC3F,sBAAsB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,0DAAU,CAAC,QAAQ,CAAC;SAC9F,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC9D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACnR,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACnF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,gCAAO,GAAP,UAAQ,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;QACrG,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,OAAO,IAAI,EAAE,EAAE;oBACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvF;qBACI;oBACH,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvG;aACF;SACF;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QAGD,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,0CAAiB,GAAjB,UAAkB,SAAS;QAA3B,iBAkBC;QAhBC,IAAM,OAAO,GAAG,IAAI,OAAO,CAAM,UAAC,OAAO,EAAE,MAAM;YAC/C,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC9D,IAAI,WAAW,IAAI,IAAI,EAAE;oBACvB,KAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC5C,uFAAuF;iBACvF;qBAAM;oBACL,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC;oBACnC,KAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;wBACzD,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;iBACJ;gBACD,YAAY;YACd,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,sCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,yCAAgB,GAAhB;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9D,mFAAmF;SACpF;IACH,CAAC;IACD,uCAAc,GAAd,UAAe,QAAQ;QAErB,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;SACvC;aACI;YACH,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SACxB;IACH,CAAC;IACD,4CAAmB,GAAnB,UAAoB,QAAQ;QAA5B,iBAuHC;QAtHC,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC9C,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE;wBAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,8FAA8F,EAAE,eAAe,CAAC,CAAC;wBACrI,OAAO;qBACR;iBACF;aACF;SACF;QACD,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;QAC9D,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,qBAAqB,CAAC;QAEnE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YACvD,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAEzC,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;YACjD,6DAA6D;YAC7D,6DAA6D;YAC7D,8DAA8D;YAC9D,iEAAiE;YACjE,IAAI,QAAQ,GAAG,GAAG,CAAC;YACnB,IAAI,OAAO,GAAG,MAAM;YACpB,IAAI,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;YAChC,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACxC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC;YAC5D,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC5B;aACI,EAAE,kBAAkB;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;gBAC9E,EAAE,CAAC,OAAO,CAAC,YAAE;gBACb,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;YAC9E,+DAA+D;YAC/D,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC3D,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC5D,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAClG,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC1B,KAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBAC7E,0BAA0B;oBAC1B,KAAK;oBACL,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;oBAC7D,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBAEjE,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACnD,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC/C,KAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;gBAC1K,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChD,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACxD,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC3B,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEhC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE;oBAClC,KAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;oBACpC,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;iBAE9B;qBAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,EAAE;oBACzC,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;oBAC/B,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;iBACzB;qBAAM;oBACL,KAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;oBAClC,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC;iBAC3B;gBACD,IAAI,EAAE,GAAG,CAAC,CAAC;gBACX,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;oBAClC,EAAE,GAAG,GAAG,CAAC;oBACT,MAAM,GAAG,MAAM;iBAChB;qBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;oBAC9C,EAAE,GAAG,GAAG,CAAC;oBACT,MAAM,GAAG,WAAW;iBACrB;qBACI,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,eAAe,EAAE;oBACpD,EAAE,GAAG,GAAG,CAAC;oBACT,MAAM,GAAG,eAAe;iBACzB;gBACD,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC1C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAI,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACjC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACxC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;gBAC3D,+DAA+D;gBAE/D,qDAAqD;gBAErD,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,oEAAoE;YAEpE,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,sBAAsB,CAAC;YAC1E,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;YACvD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,SAAS,GAAG,2BAA2B,CAAC;SACrF;IACH,CAAC;IAED,mDAA0B,GAA1B;QAAA,iBAoCC;QAnCC,IAAI,CAAC,qBAAqB,GAAgB;YACxC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aACvE;YAED,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;QAEpD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,CAAC,aAAa,GAAG;YACzC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,0GAAsB;SACtC,CAAC;IACJ,CAAC;IACD,mDAA0B,GAA1B,UAA2B,gBAAwB;QACjD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACvK;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACpD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrT;qBACI;oBACH,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG;gBAC1B;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7E,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC5E,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBACvN,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC3E,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7E,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACnE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC/E,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC/E,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;aAChG,CAAC;SACH;IACH,CAAC;IACD,gDAAuB,GAAvB,UAAwB,KAAK;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAChC,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,8CAAqB,GAArB;IAEA,CAAC;IAED,sCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,oCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,sCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,0CAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACjF,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,iDAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,iFAAmB,EAAE,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE,CAAC;QAErC,IAAI,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrD;IAEH,CAAC;IAED,0CAAiB,GAAjB,UAAkB,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,aAAa,EAAE;IAEtB,CAAC;IAED,sCAAa,GAAb;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;QAC/N,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,wCAAe,GAAf,UAAgB,EAAE,EAAE,IAAI;QAAxB,iBAgBC;QAfC,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAY;YACvE,IAAI,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3D,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBACpF,WAAW,CAAC,OAAO,CAAC,eAAK;oBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;oBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;oBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;gBAC5B,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,8CAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,8CAAqB,GAArB,UAAsB,gBAAwB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK;gBACjM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACrP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAElT,CAAC;IACJ,CAAC;IACD,2CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,yCAAgB,GAAhB;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC/D;IAEH,CAAC;IACD,qCAAY,GAAZ,UAAa,UAAU;QAErB,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,SAAS,EAA3B,CAA2B,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YACtB,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAClE,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SAElE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,kCAAS,GAAT;QAAA,iBAYC;QAVC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YACrE,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,UAAU,CAAC;gBACT,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC/D,CAAC,EAAE,GAAG,CAAC;QACT,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,qDAA4B,GAA5B,UAA6B,OAAO;QAApC,iBAqBC;QApBC,IAAM,OAAO,GAAG,IAAI,OAAO,CAAM,UAAC,OAAO,EAAE,MAAM;YAC/C,KAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAChE,KAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;gBACjC,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAC5D,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBAEnB,IAAI,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,EAAnD,CAAmD,CAAC,CAAC;gBAC5G,KAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAGrC,IAAI,KAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,SAAS,EAAE;oBAC/C,KAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,CAAC;iBAEhC;qBAAM,IAAI,KAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,SAAS,EAAE;iBAEvD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IAEjB,CAAC;IACD,+BAAM,GAAN;QAAA,iBAQC;QAPC,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QAE5B,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAChG,OAAO,CAAC,OAAO,CAAC,iBAAO;YACvB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAoB,GAApB;QACE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACjE,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/D,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,kCAAS,GAAT,UAAU,MAAM;QAEd,IAAI,MAAM,CAAC,MAAM,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE;YAC5F,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,mBAAmB,EAAE;gBAC9E,gEAAgE;gBAChE,oEAAoE;gBACpE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAE/B;YAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,wBAAwB,EAAE;gBACrF,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACrD,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACvD,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzD,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACP,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aAC9D;iBAEI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,wBAAwB,EAAE;gBACtF,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,CAAC;aAChC;YACD,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;gBAC9B,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,UAAU;aACnB;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE;gBAC1C,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,yBAAyB;aAClC;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,yBAAyB,EAAE;gBACzD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,iBAAiB;aAC1B;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,iBAAiB,EAAE;gBACjD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,mBAAmB;aAC5B;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,mBAAmB,EAAE;gBACnD,EAAE,GAAG,CAAC,CAAC;gBAEP,KAAK,GAAG,uBAAuB;aAChC;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,uBAAuB,EAAE;gBACvD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,iBAAiB;aAC1B;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,iBAAiB,EAAE;gBACjD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,wBAAwB,CAAC;aAClC;iBAAM;gBACL,KAAK,GAAG,wBAAwB,CAAC;aAElC;YACD,IAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,KAAK,CAAC;YAE3C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,IAAI,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,aAAa,IAAI,WAAW,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,wBAAwB,EAAE;gBACnL,6CAA6C;gBAC7C,gDAAgD;aAEjD;iBAAM;gBACL,gDAAgD;gBAChD,6CAA6C;aAE9C;SAEF;aACI;YACH,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;gBAC9B,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,KAAK;aACd;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE;gBAC1C,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,UAAU;aACnB;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,yBAAyB,EAAE;gBACzD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,yBAAyB;aAClC;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,iBAAiB,EAAE;gBACjD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,iBAAiB;aAC1B;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,mBAAmB,EAAE;gBACnD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,mBAAmB;aAC5B;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,uBAAuB,EAAE;gBACvD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,uBAAuB;aAChC;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,iBAAiB,EAAE;gBACjD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,iBAAiB,CAAC;aAC3B;iBAAM,IAAI,MAAM,CAAC,UAAU,IAAI,wBAAwB,EAAE;gBACxD,EAAE,GAAG,CAAC,CAAC;gBACP,KAAK,GAAG,wBAAwB,CAAC;aAClC;YACD,IAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,KAAK,CAAC;YAC3C,6CAA6C;YAC7C,gDAAgD;YAChD,wEAAwE;YACxE,kBAAkB;YAClB,4BAA4B;YAC5B,wFAAwF;YACxF,WAAW;SAEZ;IAEH,CAAC;IACD,+CAAsB,GAAtB,UAAuB,GAAG;QAA1B,iBAgFC;QA/EC,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC9C,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;wBACnI,OAAO;qBACR;iBAEF;aACF;SACF;QACD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,WAAW,EAAE;YACjD,IAAI,CAAC,kBAAkB,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAC/D;QACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,kBAAkB,EAAE;YAC5D,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;SACxE;QAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,kBAAkB,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,gBAAM;YAEzE,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;YAC9B,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;YACjC,KAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;YACzB,IAAI,QAAQ,GAAG,IAAI,2DAAK,EAAE,CAAC;YAC3B,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;YACvB,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YACzB,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC,oBAAoB,IAAI,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YACzF,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAG;gBAC1D,KAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBACjB,KAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBACrC,KAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;gBAChC,KAAI,CAAC,UAAU,EAAE,CAAC;gBAElB,IAAI,MAAM,CAAC,EAAE,IAAI,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,SAAS,EAAE;oBACjD,4CAA4C;iBAC3C;YACH,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,IAAI,eAAe,IAAI,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE;gBACxE,KAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;aACxC;YACD,IAAI,KAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,kBAAkB,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,KAAK,IAAI,KAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE;gBACrJ,KAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAK;oBAC9E,IAAI,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,mBAAmB,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEhF,IAAI,iBAAiB,CAAC;oBACtB,IAAI,KAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC3C,iBAAiB,GAAG,YAAY,CAAC;qBAClC;yBAAM,IAAI,KAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,MAAM,EAAE;wBACnD,iBAAiB,GAAG,aAAa,CAAC;qBACnC;oBACD,KAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAClG,+EAA+E;oBACjF,CAAC,CAAC,CAAC;gBAGL,CAAC,CAAC,CAAC;aAEJ;YAED,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,UAAU,CAAC;gBACd,uDAAuD;gBAClD,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEvD,CAAC,EAAC,GAAG,CAAC,CAAC;QAET,CAAC,CAAC,CAAC;QAEH,8DAA8D;IAChE,CAAC;IAID,gCAAO,GAAP;QAEE,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,uBAAuB;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACvE,CAAC,EAAE,GAAG,CAAC;QAGP,iDAAiD;QACjD,gCAAgC;QAChC,iDAAiD;QACjD,gDAAgD;QAChD,6CAA6C;QAC7C,+CAA+C;QAC/C,4BAA4B;QAC5B,mCAAmC;QACnC,sCAAsC;QACtC,kCAAkC;QAClC,gCAAgC;QAChC,2CAA2C;QAC3C,wCAAwC;QACxC,kDAAkD;QAClD,uCAAuC;QACvC,iDAAiD;QACjD,kCAAkC;QAClC,iDAAiD;QACjD,0BAA0B;QAC1B,SAAS;IACX,CAAC;IAED,yCAAgB,GAAhB;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4LAA4L,CAAC,CAAC;QAC3N,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,wCAAe,GAAf;QACE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,oDAAoD;SACrD;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACnD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC1C,0CAA0C;QAC1C,0CAA0C;QAC1C,6CAA6C;QAE7C,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,6BAA6B,CAAC;QACjF,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;QACjD,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,eAAe,CAAC;QAC3D,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAExC,CAAC;IACD,mCAAU,GAAV,UAAW,EAAE;QAAb,iBAyCC;QAxCC,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,WAAW;YACrG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;YAE1D,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO;QAC7D,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;QAC9D,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,qBAAqB,CAAC;QAEnE,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACnD,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACzC,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC/C,sEAAsE;QACtE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9I,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,IAAI,KAAI,CAAC,gBAAgB,IAAI,EAAE,IAAI,KAAI,CAAC,gBAAgB,IAAI,EAAE;gBAC5D,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAI,CAAC,gBAAgB,CAAC;;gBAElD,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAExD,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,GAAG,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YACpB,IAAI,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;YAChC,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACxC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;SAC5D;IAGH,CAAC;IACD,mDAA0B,GAA1B,UAA2B,SAAS;QAApC,iBA4BC;QA1BC,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,sBAAY;YAC9E,YAAY,CAAC,OAAO,CAAC,sBAAY;gBAC/B,YAAY,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC3F,YAAY,CAAC,aAAa,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAElC,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBAClC,KAAI,CAAC,kBAAkB,GAAG,IAAI,iFAAmB,EAAE,CAAC;gBACpD,KAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;aAC7H;iBAAM;gBACL,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACjD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;4BAC/C,SAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BACzD,SAAO,CAAC,qBAAqB,CAAC,YAAY,GAAG,QAAQ,CAAC;4BACtD,SAAO,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;4BAC3C,SAAO,CAAC,SAAS,EAAE,CAAC;yBAErB;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,kCAAS,GAAT;QAAA,iBAeC;QAdC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrD,qFAAqF;gBACpF,KAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACtC,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,IAAI,KAAI,CAAC,EAAE,IAAI,SAAS,EAAE;oBAC3C,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,mCAAU,GAAV;QACE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,uCAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4IAA4I,CAAC,CAAC;QAC5L,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,4CAAmB,GAAnB,UAAoB,SAAS;QAA7B,iBAqHC;QApHC,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,sBAAY;YAC9E,IAAI,GAAG,GAAG,YAAY,CAAC;YAEvB,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAX,CAAW,CAAC,CAAC,OAAO,CAAC,sBAAY;oBAClD,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,iBAAO;wBACjC,IAAI,YAAY,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE;4BAChD,IAAI,YAAY,CAAC,UAAU,IAAI,kBAAkB,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,EAAE;gCACrF,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;gCACrC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;gCAChJ,OAAO,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;6BAC1D;iCACI;gCACH,IAAI,YAAY,CAAC,MAAM,IAAI,WAAW,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,EAAE;oCAE1E,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;oCACrC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;oCAChJ,OAAO,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oCACzD,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;iCAC9B;qCACI;oCACH,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC;oCACvC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;oCACrC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;oCAChJ,OAAO,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oCACzD,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;iCAC9B;6BACF;4BACD,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;4BAEpE,KAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,GAAG,CAAC;4BACvC,IAAI,OAAO,CAAC,SAAS,IAAI,KAAK,EAAE;gCAC9B,KAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;gCACjE,KAAI,CAAC,kBAAkB,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;gCACnD,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;gCACjE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCACpM,KAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;6BACvE;4BACD,IAAI,OAAO,CAAC,SAAS,IAAI,UAAU,EAAE;gCACnC,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;gCACtE,KAAI,CAAC,kBAAkB,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;gCACxD,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;gCACvE,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCACxM,KAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gCAAA,CAAC;6BAE1E;4BACD,IAAI,OAAO,CAAC,SAAS,IAAI,kBAAkB,EAAE;gCAC3C,KAAI,CAAC,kBAAkB,CAAC,kCAAkC,GAAG,OAAO,CAAC,aAAa,CAAC;gCACnF,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;gCAC/D,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;gCACxF,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCACxN,KAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gCAAA,CAAC;6BAC9E;4BACD,IAAI,OAAO,CAAC,SAAS,IAAI,iBAAiB,EAAE;gCAC1C,KAAI,CAAC,kBAAkB,CAAC,2BAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;gCAC5E,KAAI,CAAC,kBAAkB,CAAC,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;gCAC9D,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;gCACvF,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCACpN,KAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gCAAA,CAAC;6BAC7E;4BACD,IAAI,OAAO,CAAC,SAAS,IAAI,mBAAmB,EAAE;gCAC5C,KAAI,CAAC,kBAAkB,CAAC,4BAA4B,GAAG,OAAO,CAAC,aAAa,CAAC;gCAC7E,KAAI,CAAC,kBAAkB,CAAC,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;gCAChE,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;gCACtF,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCAChN,KAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gCAAA,CAAC;6BAC5E;4BACD,IAAI,OAAO,CAAC,SAAS,IAAI,uBAAuB,EAAE;gCAChD,KAAI,CAAC,kBAAkB,CAAC,iCAAiC,GAAG,OAAO,CAAC,aAAa,CAAC;gCAClF,KAAI,CAAC,kBAAkB,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;gCAC7D,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;gCACpF,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCACvM,KAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gCAAA,CAAC;6BACzE;4BACD,IAAI,OAAO,CAAC,SAAS,IAAI,iBAAiB,EAAE;gCAC1C,KAAI,CAAC,kBAAkB,CAAC,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;gCAC3E,KAAI,CAAC,kBAAkB,CAAC,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;gCAC9D,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;gCACnF,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCACpM,KAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gCAAA,CAAC;6BACzE;4BACD,IAAI,OAAO,CAAC,SAAS,IAAI,eAAe,EAAE;gCACxC,KAAI,CAAC,kBAAkB,CAAC,iCAAiC,GAAG,OAAO,CAAC,aAAa,CAAC;gCAClF,KAAI,CAAC,kBAAkB,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;gCAC7D,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;gCAClF,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gCAC9M,KAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;6BAClF;4BACD,IAAI,OAAO,CAAC,SAAS,IAAI,aAAa,EAAE;gCACtC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gCACxB,OAAO,CAAC,aAAa,GAAG,EAAE,CAAC;6BAE5B;yBACF;6BACI;4BACH,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,SAAS,IAAI,KAAK,EAAE;gCAChF,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;gCAC7B,IAAI,GAAG,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,KAAK,EAAtB,CAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;6BACxE;yBAEF;oBAGH,CAAC,CAAC,CAAC;gBAEL,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,IAAI,GAAG,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,KAAK,EAAtB,CAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;aAExE;YAED,sCAAsC;QACxC,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,0CAAiB,GAAjB;QACE,uCAAuC;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAE5B,CAAC;IACD,0CAAiB,GAAjB,UAAkB,GAAG,IAAI,CAAC;IAC1B,8CAAqB,GAArB,UAAsB,GAAG;QACrB,UAAU,CAAC;YACT,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+KAA+K,CAAC,CAAC;QAClO,CAAC,EAAE,CAAC,CAAC;IACT,CAAC;IACD,oCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,mCAAU,GAAV;QACE,6BAA6B;QAC7B,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,+BAA+B;IACjC,CAAC;IAED,0CAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACjD,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9D,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5D,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/D,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAE/B,CAAC;IACD,sCAAa,GAAb;QAAA,iBAmCC;QAlCC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,UAAC,KAAK;YAC9C,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YACvF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAC3E,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YACjF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAChF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC7G,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAY,GAAZ;IACA,CAAC;IACD,sCAAa,GAAb;IACA,CAAC;IACD,4CAAmB,GAAnB,UAAoB,CAAC;IACrB,CAAC;IACD,uCAAc,GAAd;IACA,CAAC;IACD,uCAAc,GAAd,UAAe,IAAI;IACnB,CAAC;IACD,iCAAQ,GAAR;IACA,CAAC;IACD,+BAAM,GAAN,UAAO,GAAG,EAAE,MAAM;QAChB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,MAAM,IAAI,UAAU,EAAE;YACxB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEjC,sFAAsF;SAEvF;aAAM,IAAI,MAAM,IAAI,SAAS,EAAE;YAC9B,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAErC,uFAAuF;SACxF;aACI;YACH,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACnC;IAEH,CAAC;IACD,mCAAU,GAAV;QAEE,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB;QAChD,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAClE,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,sFAAsF;QACtF,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,8BAA8B;IAC9B,mCAAmC;IACnC,wBAAwB;IACxB,yFAAyF;IACzF,uEAAuE;IACvE,SAAS;IACT,cAAc;IACd,6CAA6C;IAC7C,SAAS;IACT,OAAO;IACP,YAAY;IACZ,2CAA2C;IAC3C,OAAO;IACP,uCAAuC;IACvC,wBAAwB;IACxB,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,SAAS;IACT,YAAY;IACZ,6CAA6C;IAC7C,OAAO;IACP,UAAU;IACV,2CAA2C;IAC3C,KAAK;IACL,UAAU;IACV,4CAA4C;IAC5C,iEAAiE;IACjE,qEAAqE;IACrE,KAAK;IACL,GAAG;IACH,+BAA+B;IAC/B,sBAAsB;IACtB,0CAA0C;IAC1C,oEAAoE;IACpE,yFAAyF;IACzF,oEAAoE;IAEpE,4BAA4B;IAC5B,qEAAqE;IACrE,mEAAmE;IACnE,wFAAwF;IACxF,0CAA0C;IAC1C,KAAK;IACL,UAAU;IACV,uEAAuE;IACvE,sEAAsE;IACtE,4CAA4C;IAC5C,mDAAmD;IACnD,mEAAmE;IACnE,wFAAwF;IACxF,KAAK;IACL,GAAG;IACH,4BAA4B;IAE1B,qDAAqD;IACrD,uEAAuE;IACvE,2BAA2B;IAC3B,+BAA+B;IAC/B,6BAA6B;IAC3B,0CAA0C;IAC1C,sDAAsD;IACtD,uFAAuF;IACzF,mCAAmC;IACjC,oDAAoD;IACpD,8CAA8C;IAC9C,0DAA0D;IAC1D,uFAAuF;IACzF,GAAG;IACH,QAAQ;IACN,sDAAsD;IACtD,2CAA2C;IAC3C,uDAAuD;IAEzD,GAAG;IACH,+BAA+B;IACjC,GAAG;IACH,oBAAoB;IACpB,wDAAwD;IACxD,GAAG;IACH,oCAAW,GAAX,UAAY,GAAG;QACb,wBAAwB;QACxB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,GAAG;IAEL,CAAC;IAED,yCAAgB,GAAhB,UAAiB,MAAM;QACrB,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjC,6CAA6C;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAE1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YAEX,iDAAiD;YACjD,oDAAoD;YACpD,2CAA2C;YAC3C,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,4CAA4C;gBAC5C,+CAA+C;gBAC/C,yEAAyE;gBACzE,2DAA2D;gBAC3D,oEAAoE;gBAEpE,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;iBAC/C;aACF;iBAAM;gBACL,iCAAiC;gBACjC,8CAA8C;gBAC9C,8CAA8C;gBAC9C,UAAU;gBACV,8CAA8C;gBAC9C,GAAG;gBACH,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1C,qDAAqD;gBACrD,+CAA+C;gBAC/C,6CAA6C;gBAE7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;YACD,sDAAsD;YACtD,qDAAqD;YACrD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,2CAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,iCAAQ,GAAR;QACE,gDAAgD;QAChD,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpB,CAAC;IACD,uCAAc,GAAd;QACE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC/C,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE;oBACvD,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBAChD;aACF;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC9Q;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC3E,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAClE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;aAChE,CAAC;SAEH;IACH,CAAC;IACD,yCAAgB,GAAhB;QAAA,iBA8BC;QA7BC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAE1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAEH,CAAC;IAED,wCAAe,GAAf;QAAA,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC9D,KAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,aAAa,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACzF,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAyB,GAAzB;QACE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAE3B,CAAC;IACD,oCAAW,GAAX;QACE,2DAA2D;QAC3D,+CAA+C;QAC/C,mDAAmD;QACnD,uFAAuF;QAEvF,sEAAsE;QACtE,gBAAgB;QAChB,4BAA4B;QAC5B,wDAAwD;QACxD,8BAA8B;QAC9B,+DAA+D;QAC/D,6DAA6D;QAC7D,mDAAmD;QACnD,yDAAyD;QACzD,aAAa;QACb,UAAU;QAEV,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEpE,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;gBAC/D,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACtD,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;YACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAGV,CAAC;IACD,mDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAChD,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;IACH,CAAC;IAKD,yCAAgB,GAAhB,UAAiB,SAAS;QAA1B,iBAaC;QAZC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAE7B,IAAI,EAAE,GAAG,KAAI,CAAC;YACd,UAAU,CAAC;gBACT,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAClC,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAChC,EAAE,CAAC,4BAA4B,EAAE,CAAC;YAEpC,CAAC,EAAC,GAAG,CAAC;QAER,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAc,GAAd,UAAe,UAAU;QACvB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACvE,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,yCAAgB,GAAhB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6IAA6I,CAAC,CAAC;QAC3L,CAAC,EAAE,CAAC,CAAC;IAEP,CAAC;IACD,0CAAiB,GAAjB,UAAkB,GAAG,EAAE,KAAK;QAC1B,IAAI,GAAG,CAAC,aAAa,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,MAAM,CAAC;QACxC,IAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC;QACnD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAChE,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QAEpC,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,KAAK,WAAW,EAAE;YACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACxC;aACI,IAAI,MAAM,IAAI,SAAS,EAAE;YAC5B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IACD,qCAAY,GAAZ,UAAa,GAAG,EAAE,KAAK;QACrB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,SAAS,EAAE;YACzF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,8CAA8C;QAC9C,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC;QACnD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAChE,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IACtC,CAAC;IACD,uCAAc,GAAd,UAAe,OAAO;QAAtB,iBAkBC;QAjBC,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChE,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAI,CAAC,iBAAiB,CAAC,yCAAyC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBACtG,QAAQ,CAAC,OAAO,CAAC,UAAC,QAAQ;wBACxB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;wBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;wBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;oBACnG,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;oBACjC,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAEhD,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,6CAAoB,GAApB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+JAA+J,CAAC,CAAC;YAC3M,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,sKAAsK;QACxK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,2CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClE,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC/T,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACjC;SACF;IACH,CAAC;IACD,gDAAuB,GAAvB;QACE,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,iCAAQ,GAAR,UAAS,aAAa;QAAtB,iBAWC;QAVC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACpF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAG;YAC7B,IAAI,GAAG,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY,EAAE;gBAClD,GAAG,CAAC,gBAAgB,GAAG,KAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;gBAChE,GAAG,CAAC,aAAa,GAAG,KAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC;gBAC1D,GAAG,CAAC,MAAM,GAAG,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;aAC7C;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IACD,mCAAU,GAAV;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,kCAAS,GAAT;QACE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,mCAAU,GAAV;QACE,kCAAkC;QAClC,oDAAoD;QACpD,UAAU;QACV,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACjD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;wBACnI,OAAO;qBACR;iBACF;aACF;SACF;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,GAAG;IACL,CAAC;IACD,yCAAgB,GAAhB,UAAiB,WAAW;QAC1B,kCAAkC;QAClC,oDAAoD;QACpD,UAAU;QAEV,IAAI,WAAW,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI,IAAI,WAAW,IAAI,MAAM,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAC9D;QACD,GAAG;IAEL,CAAC;IACD,8CAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,8CAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,4CAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,oDAAoD;IACtD,CAAC;IACD,yCAAgB,GAAhB,UAAiB,KAAK;QAEpB,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;YAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAClC;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;YACrC,0BAA0B;SAC3B;aAAM,IAAI,KAAK,CAAC,OAAO,IAAI,aAAa,EAAE;YACzC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IACD,qCAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,uBAAuB,IAAI,GAAG,IAAI,yBAAyB,EAAE;YACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM;SAEN;IACH,CAAC;IAID,mDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IAGD,qDAA4B,GAA5B;QACE,IAAI,CAAC,uBAAuB,GAAgB;YAC1C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ;SACzO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QAEF,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,iDAAwB,GAAxB;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC;QACzC,gBAAgB,CAAC,SAAS,GAAG;YAC3B,IAAI,EAAE,UAAU,MAAM;gBACpB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACvD,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAChD,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;gBACxB,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;gBAC5C,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC/C,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC;gBACrC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,2EAA2E,CAAC,CAAC;gBAC7G,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxP,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,MAAM;oBAChE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE;gBACN,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAChC,CAAC;YACD,OAAO,EAAE;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAE;gBACP,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;YACrC,CAAC;SACF;QAED,IAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC;QAC3C,kBAAkB,CAAC,SAAS,GAAG;YAC7B,IAAI,EAAE,UAAU,MAAM;gBACpB,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzD,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC/C,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;gBAC5D,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,2EAA2E,CAAC,CAAC;gBAC3G,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC7K,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC/C,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACxB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAE7B,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;oBACnC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1F,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAC,QAAQ;4BACvC,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;4BAC/C,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC;4BACvC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC;4BACxC,OAAO,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;4BAClF,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;wBAC/B,CAAC,CAAC,CAAC;qBAEJ;oBACD,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAC9C,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,MAAM;wBACjD,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC;YACD,MAAM,EAAE;gBACN,OAAO,IAAI,CAAC,mBAAmB,CAAC;YAClC,CAAC;YACD,OAAO,EAAE;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAE;gBACP,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC;YACvC,CAAC;SACF;QAED,IAAI,CAAC,mBAAmB,GAAG;YACzB;gBACE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBAC9C,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;oBAChC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;oBACnC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;wBAC1K,IAAI,CAAC,SAAS,GAAG,8GAA8G;qBAChI;yBAAM;wBACL,IAAI,CAAC,SAAS,GAAG,8GAA8G;qBAChI;oBAED,iDAAiD;oBACjD,6BAA6B;oBAC7B,gDAAgD;oBAChD,gNAAgN;oBAChN,sNAAsN;oBACtN,6BAA6B;oBAC7B,OAAO,IAAI,CAAC;gBAEd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI;aAE9C;YAED;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,YAAC,MAAM;oBAC7G,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,EAAC;wBACvO,KAAK,CAAC,SAAS,GAAG,sCAAsC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,GAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;qBAChI;yBAAM;wBACL,KAAK,CAAC,SAAS,GAAG,kCAAkC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;qBAC3F;oBAGD,OAAO,KAAK,CAAC;gBACf,CAAC;aACF;YACD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,GAAG;YACzH,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE;SAyBtJ,CAAC;IACJ,CAAC;IAED,oCAAW,GAAX;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;QACrE,0BAA0B;QAC1B,iLAAiL;QACjL,OAAO;IACT,CAAC;IAED,kCAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,2CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,QAAQ;YACzB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;YACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;YACnN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;IAEH,CAAC;IAEH,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GC1sEC,+KAAiF,KAC/E,8LAAqH,YAA/C;;wBAA8C;MAApH,47BAAqH,mDAArG,sBAAqB,EAAC,mBAA+B,gBAArE,YAAqH,EAArG,SAAqB,EAAC,SAA+B;6GAa7D,0tBAAqE,iFAErE,2BAF6C,yHAAuB,GAApE,YAAqE,EAAxB,qIAAuB,GAApE,YAAqE,EAAxB,SAAuB,2BAAC,sEAErE;6GAMF,iPAAgJ,YAA9F;;wBAAoC;MAAtF,wBAAgJ,KAC9I,6NAAmG;6GAErG,iPAAgJ,YAA7F;;wBAAmC;MAAtF,wBAAgJ,KAC9I,8NAAoG;6GApB5G,2LAAiF,KAC/E,qKAAyC,KACvC,0MAA8E,KAE5E,qJAA+B,wFAAW,MAE5C,2LAA+D,KAC7D,qLAAgD,KAC9C,0dAAqE,IAM3E,sKAAyC,KACvC,6KAAgD,KAC9C,kZAAgJ,IAGhJ,kZAAgJ,IAGhJ,kMAAqE,ydAA6E,GAAvE,mEAAsE,MAAC,qGAA6B,mDAdrK,mBAAoC,iBAA5C,YAAqE,EAA7D,SAAoC,GAQtC,mBAAyC,+BAAjD,aAAgJ,EAAxI,SAAyC,GAGzC,oBAA0C,+BAAlD,aAAgJ,EAAxI,SAA0C,GAGyB,mFAAsE,IAA5E,aAA6E,EAAvE,SAAsE;6GAxBzJ,yMAA6J,KAE3J,iZAAiF,iDAA5E,mBAAkB,aAAvB,YAAiF,EAA5E,SAAkB;6GAiCrB,6IAAuC,KACrC,oKAA8C,iLAAgC,YAA1B;;wBAAyB;MAA/B,wBAAgC,0OAA2G,KAAO,+EAAQ,MACxM,4KAA0C,YAApC;;wBAAmC;MAAzC,wBAA0C,6PAA8H;6GAH5K,gmBAA8S,IAC5S,iZAAuC,IAIvC,kPAAsH,KACpH,mJAA6B,KAC7B;;;;;;;;;;;wBAAiJ;MAAzD;;wBAAkC;MAAC;;wBAAmB;MAA9I,yxCAAiJ,IAEnJ,wbAcqD,YANpC;;wBAAsC;MACtC;;wBAAiD;MACjD;;wBAA+C;MAC/C;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAdpD,yuDAcqD,mDAvBlD,uDAA6C,GAAlD,YAA8S,EAAzS,SAA6C,GACzB,mBAAe,UAAtC,YAAuC,EAAhB,SAAe,GAMuF,oBAAmB,QAA9I,YAAiJ,EAAtB,UAAmB,GAG/H,oBAA2B,cAG3B,oBAAoB,WAFpB,oBAAyB,aAKzB,oBAA2C,sBAF3C,oBAAmB,UAFnB,oBAAwD,yCAGxD,oBAAmB,UANpC,aAcqD,EAbpC,UAA2B,EAG3B,UAAoB,EAFpB,UAAyB,EAKzB,UAA2C,EAF3C,UAAmB,EAFnB,UAAwD,EAGxD,UAAmB,mDAfyG,8KAA8J,GAA7S,YAA8S,EAA/J,SAA8J,GAOzS,qtBAAiJ,GAErE,6CAA2C,GAAzH,aAcqD,EAdyB,UAA2C;6GAkB3H,iLAA2E,KACzE,+KAAmD,KACjD,4KAA4C,YAAtC;;wBAAqC;MAA3C,wBAA4C,KAAC,yNAA+F,KAE9I,0LAA8D,KAC5D,m7CAKiC,iDAHlB,mBAAmB,YACnB,yBAAiB,EAEjB,qBAAiB,EAJjB,6BAAiC,EAGjC,uBAAoB,EAJnC,YAKiC,EAHlB,SAAmB,EACnB,SAAiB,EAEjB,SAAiB,EAJjB,SAAiC,EAGjC,SAAoB;8GAMvC,6kBAA2H,IACzH,4LAAuF,YAA1C;;wBAAyC;MAAtF,qsCAAuF,mDADvE,4DAAkD,GAApE,YAA2H,EAAzG,SAAkD,GAC3D,mBAAuB,YAAC,mBAAa,SAA5C,YAAuF,EAAhF,SAAuB,EAAC,SAAa;8GAI9C;;;;;;;;;;;wBAAuJ;MAAzD;;wBAAsB;MAApH,2yCAAuJ,iDAAzE,0BAAe,EAAC,mBAAsB,WAApH,YAAuJ,EAAzE,SAAe,EAAC,SAAsB,2BAApH,8sBAAuJ;8GAKrJ,wNAAqF,YAAtC;;wBAAoB;MAAnE,wBAAqF,iFAAI;8GACzF,6LAAsE,YAAxC;;wBAA0B;MAAxD,wBAAsE,iFAAI;8GAP9E,+KAAmE,KACjE,kZAAuJ,IACvJ,sKAA0C,KACxC,6SAAgJ,YAAxI;;wBAA8B;MAAtC,wBAAgJ,2JAAgC,KAElL,4KAAgD,KAC9C,kZAAqF,IACrF,mZAAsE,IACtE,oKAAuC,kDAP/B,mBAA4B,uBAAtC,YAAuJ,EAA7I,SAA4B,GAK9B,mBAAuB,kBAA7B,YAAqF,EAA/E,SAAuB,GACvB,mBAAuB,kBAA7B,aAAsE,EAAhE,SAAuB;8GAOnC,8MAAqG,YAAzF;;wBAAwB;MAApC,0cAAqG,MAEnG,q5CAIgC,iDANtB,mBAAwB,aAAoC,uBAA4B,EAApG,YAAqG,EAAzF,SAAwB,EAAoC,SAA4B,GAInF,mBAAe,QACf,yBAAiB,EACjB,oBAAgB,EAHhB,8BAAkC,EADjD,YAIgC,EAFjB,SAAe,EACf,SAAiB,EACjB,SAAgB,EAHhB,SAAkC;gXAxGnD,sKAAyC,KACvC,6LAA6D,KAC7D,+LAA+D,KAC/D,iZAAiF,IAIjF,iZAA6J,IAgC7J,uLAAwF,KAEtF,kZAA8S,IA2B9S,kZAA2E,IAe3E,mZAA2H,IAI7H,mZAAmE,IAcrE,mZAAqG,iDAlG9F,4CAA6B,GAAlC,YAAiF,EAA5E,SAA6B,GAI7B,6HAAqF,IAA1F,YAA6J,EAAxJ,SAAqF,GAkCe,2CAAuC,gBAA9I,aAA8S,EAAvM,SAAuC,GA2BzF,mBAAqB,gBAA1E,aAA2E,EAAtB,SAAqB,GAeL,mBAAe,UAApF,aAA2H,EAAtD,SAAe,GAIjF,mBAAgB,WAArB,aAAmE,EAA9D,SAAgB,GAcc,mBAAkB,aAAvD,aAAqG,EAAhE,SAAkB,mDA9DX,6CAA6C,GAAvF,aAAwF,EAA9C,SAA6C;;;;;;;;;;;;;;;;ACvCzF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuH;AACzD;AACe;AACd;AACN;AACd;AACe;AACW;AACjB;AAEA;AACN;AACH;AAAA,CAAC;AACsC;AAC1B;AAC6B;AACL;AAGb;AACnC;AACoB;AACkB;AAEF;AAMpE;IA+FE,iCAAoB,aAA4B,EAAS,oBAA0C,EAAU,UAAsB,EAAU,QAAmB,EAAU,iBAAsC,EAAU,IAAgB,EAAU,YAA0B,EAAU,KAAqB,EAAU,MAAc,EAAU,eAAgC,EAAU,MAAqB,EAAU,gBAAkC,EAAU,cAA+B;QAAne,iBAqCC;QArCmB,kBAAa,GAAb,aAAa,CAAe;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,eAAU,GAAV,UAAU,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,mBAAc,GAAd,cAAc,CAAiB;QAzFne,UAAK,GAAG,EAAE,CAAC;QACX,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,cAAS,GAAG,CAAC,CAAC;QAGd,cAAS,GAAW,EAAE,CAAC;QAAC,UAAK,GAAG,EAAE,CAAC;QAEnC,QAAG,GAAG,EAAE,CAAC;QACT,eAAU,GAAY,KAAK,CAAC;QAC5B,iBAAY,GAAY,KAAK,CAAC;QAC9B,WAAM,GAAY,IAAI,CAAC;QAEvB,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAEnB,eAAU,GAAG,KAAK,CAAC;QAEnB,iBAAY,GAAG,EAAE,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QACrB,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,UAAK,GAAU,IAAI,oDAAK,EAAE,CAAC;QACF,aAAQ,GAAG,KAAK,CAAC;QAG1C,cAAS,GAAW,CAAC,CAAC;QAGtB,qBAAgB,GAAW,IAAI,CAAC;QAChC,iBAAY,GAAY,KAAK,CAAC;QAC9B,aAAQ,GAAe,wEAAU,CAAC,SAAS,CAAC;QAC5C,sBAAiB,GAAY,KAAK,CAAC;QACnC,wBAAmB,GAAY,KAAK,CAAC;QACrC,eAAU,GAAY,KAAK,CAAC;QAC5B,oBAAe,GAAY,IAAI,CAAC;QAChC,iBAAY,GAAY,KAAK,CAAC;QAC9B,YAAO,GAAY,KAAK,CAAC;QAEzB,iCAA4B,GAAY,KAAK,CAAC;QAO9C,aAAQ,GAAW,KAAK,CAAC;QAQzB,oBAAe,GAAG,sBAAsB,CAAC;QAEzC,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,mBAAc,GAAmB,EAAE,CAAC;QAK7B,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC5O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1N,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjN,kBAAa,GAAY,KAAK,CAAC;QAC/B,oBAAe,GAAmB,EAAE,CAAC;QAC9B,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAC9H,SAAI,GAAW,EAAE,CAAC;QAClB,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAG5B,yBAAoB,GAAY,KAAK,CAAC;QAItC,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAY,KAAK,CAAC;QAE5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACrC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,+BAA+B;YAC/B,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAEnC,IAAI,KAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;gBACjC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YAEL,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;gBACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aAC5G,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,yDAAyD;QACzD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IArD+I,CAAC,CAAE,6CAA6C;IACiB,CAAC;IAqDlN,iDAAe,GAAf;QACE,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,UAAU,CAAC,cAAc,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,iDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,uDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,yBAAyB,EAAE,IAAI;SACvQ,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,UAAU,MAAM;YACnD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACxB,OAAO,EAAE,CAAC;aACX;iBAAM;gBACL,OAAO,GAAG,CAAC;aACZ;QACH,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,uDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK;gBACjM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACrP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAElT,CAAC;IAEJ,CAAC;IACD,oDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,kDAAgB,GAAhB;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9D,mFAAmF;SACpF;IAEH,CAAC;IAED,kDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE;YACvI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SACpD;QACD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;wBACjD,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;oBAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzN,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACnG,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAC7L,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAC1L,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC5L,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACjF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gCAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,GAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;wCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI,IAAI,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;wCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC;iBACH;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,YAAC,MAAM;4BACpN,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCACtD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;gCAAE,OAAO,yBAAyB;6BAAE;iCAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,yBAAyB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACtF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAE;gCAAE,OAAO,mBAAmB;6BAAE;iCAChF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,mBAAmB,EAAE;gCAAE,OAAO,uBAAuB;6BAAE;iCACtF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,uBAAuB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACpF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAE;gCAAE,OAAO,eAAe;6BAAE;iCAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,eAAe,EAAE;gCAAE,OAAO,kBAAkB;6BAAE;wBACpF,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAC7L,UAAU,MAAM;4BACd,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACvF,CAAC,EAAE,YAAY,YAAC,MAAM;4BACpB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE;gCAAE,OAAO,GAAG;6BAAE;iCAAM;gCAAE,OAAO,MAAM,CAAC,KAAK,CAAC;6BAAE;wBACpJ,CAAC;qBACJ,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;oBACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;4BAC9G,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCAAE,OAAO,QAAQ;6BAAE;iCAAM;gCAAE,OAAO,MAAM;6BAAE;wBAC5G,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACtO;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC3S;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;wBAC5F,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;gBAChC,IAAI,CAAC,UAAU,GAAG;oBAChB;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACvF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;oBAEjE;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACrF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACvF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD,+DAA+D;oBAE/D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;oBAExD;wBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACtF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACnG,CAAC;qBACF;oBACD;wBAEE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAC3D,UAAU,MAAM;4BACd,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACvF,CAAC,EAAE,YAAY,YAAC,MAAM;4BACpB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE;gCAAE,OAAO,GAAG;6BAAE;iCAAM;gCAAE,OAAO,MAAM,CAAC,KAAK,CAAC;6BAAE;wBACpJ,CAAC;qBAEJ;oBACD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;oBACrE;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;4BACjF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCACrD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;gCAAE,OAAO,yBAAyB;6BAAE;iCAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,yBAAyB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;gCAAE,OAAO,mBAAmB;6BAAE;iCAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,EAAE;gCAAE,OAAO,uBAAuB;6BAAE;iCACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,uBAAuB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACnF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;gCAAE,OAAO,eAAe;6BAAE;iCAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE;gCAAE,OAAO,kBAAkB;6BAAE;wBACnF,CAAC;qBACF;oBAGD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;oBAGpD;wBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK;qBAE9D;iBAGF,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG;oBAChB;wBACE,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;qBAC/D;oBACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC/F;wBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAG,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACxF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACjF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gCAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACjC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;wCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;wCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK;qBACrF;oBACD;wBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK;qBACvF;oBACD,+DAA+D;oBAE/D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK,EAAE;oBAErF;wBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACnH,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACnG,CAAC;qBACF;oBACD;wBAEE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EACzF,UAAU,MAAM;4BACd,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACvF,CAAC,EAAE,YAAY,YAAC,MAAM;4BACpB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE;gCAAE,OAAO,GAAG;6BAAE;iCAAM;gCAAE,OAAO,MAAM,CAAC,KAAK,CAAC;6BAAE;wBACpJ,CAAC;qBAEJ;oBACD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK,EAAE;oBAClG;wBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;4BAC9G,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCACrD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;gCAAE,OAAO,yBAAyB;6BAAE;iCAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,yBAAyB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;gCAAE,OAAO,mBAAmB;6BAAE;iCAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,EAAE;gCAAE,OAAO,uBAAuB;6BAAE;iCACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,uBAAuB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACnF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;gCAAE,OAAO,eAAe;6BAAE;iCAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE;gCAAE,OAAO,kBAAkB;6BAAE;wBACnF,CAAC;qBACF;oBAGD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK,EAAE;oBAEjF,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI,EAAE;oBAC/F;wBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK;qBAE3F;iBAGF,CAAC;aACH;YACD,IAAI,eAAe,GAAG,UAAU,MAAM;gBACpC,OAAO,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1E,CAAC,CAAC;SACH;IACH,CAAC;IACD,wBAAwB;IACxB,uBAAuB;IACvB,8BAA8B;IAC9B,4BAA4B;IAC5B,gCAAgC;IAChC,8BAA8B;IAC9B,eAAe;IACf,aAAa;IACb,GAAG;IACH,+CAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,6CAAW,GAAX;IAEA,CAAC;IACD,oDAAkB,GAAlB,UAAmB,QAAQ;QAEzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzG,+DAA+D;QAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,kDAAgB,GAAhB;QAAA,iBAsEC;QArEC,IAAI,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC3F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YACD,KAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7C,KAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YAChI,KAAI,CAAC,oBAAoB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClM,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;YACpH,KAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxL,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAChD,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAChD,IAAI,OAAO,GAAa,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEzD,IAAI,qBAAqB,GAAU,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC3C,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACxE;aACF;YACD,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;SACtC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACvC,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE;oBAC3F,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC/C,OAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;iBAC7C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IACD,oDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;YAChC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;YACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACxC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAChD,IAAI,SAAO,GAAG,IAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,IAAI,SAAO,CAAC,cAAc,EAAE;4BAC1B,SAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBAC9D;wBACD,SAAO,CAAC,cAAc,EAAE,CAAC;wBAEzB,SAAO,CAAC,SAAS,GAAG,SAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;wBACnD,SAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;wBACzB,IAAI,SAAO,CAAC,cAAc,EAAE;4BAC1B,SAAO,CAAC,cAAc,CAAC,aAAa,CAAC,SAAO,CAAC,SAAS,EAAE,SAAO,CAAC,MAAM,CAAC,CAAC;yBACzE;wBACD,IAAI,SAAO,CAAC,cAAc,EAAE;4BAC1B,SAAO,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;yBAChE;oBAEH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBAIV;aAEF;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC;aAC7C;SACF;IACH,CAAC;IAED,gDAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+JAA+J,CAAC,CAAC;QAC/M,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,gDAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;gBACpD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACpC;iBACI;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAE1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,WAAW,EAAE;oBACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;oBACjE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACvD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;oBAC1C,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;iBAC1C;qBACI;oBACH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;iBAChC;aACF;YACH,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9a,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACnD;IACC,CAAC;IAEH,sDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;YAChC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/D,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC;YAClE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC;YAClD,yDAAyD;YACzD,gDAAgD;YAChD,uDAAuD;YACvD,uBAAuB;YACvB,8BAA8B;YAC9B,mCAAmC;YACnC,qEAAqE;YACrE,OAAO;YACP,+BAA+B;YAE/B,yDAAyD;YACzD,+BAA+B;YAC/B,mCAAmC;YACnC,gFAAgF;YAChF,OAAO;YACP,mCAAmC;YACnC,uEAAuE;YACvE,OAAO;YAEP,aAAa;YAIb,GAAG;SACJ;aACI;YAEH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACjB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;aACtC;YACD,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC/C,IAAI,GAAG,IAAI,WAAW,EAAE;gBACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBAC1C,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACnC,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;aAC1C;YACD,QAAQ;YACN,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI;YAGH,iCAAiC;YACjC,4DAA4D;SAC7D;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,0BAA0B;IAE1B,2BAA2B;IAC3B,2CAA2C;IAC3C,qCAAqC;IACrC,WAAW;IACX,iCAAiC;IACjC,KAAK;IACL,GAAG;IACH,mDAAiB,GAAjB,UAAkB,IAAI;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SAErB;aAAM;YAEL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAE7B;IACH,CAAC;IACD,gDAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QAChO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,mDAAiB,GAAjB,UAAkB,OAAO;QAEvB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;YAClC,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;YACzC,OAAO,CAAC,cAAc,EAAE,CAAC;QAE3B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,qDAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBAkGC;QAjGC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE;gBACrE,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QACD,mDAAmD;QACnD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAE5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAE3B,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,iBAAO;gBAEjB,IAAI,OAAO,CAAC,MAAM,IAAI,YAAY,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,MAAM,EAAE;oBACvF,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;oBACtG,2EAA2E;oBAC3E,4DAA4D;oBAC5D,GAAG;oBACH,QAAQ;oBACR,2DAA2D;oBAC3D,GAAG;iBACJ;qBAAM,IAAI,OAAO,CAAC,MAAM,IAAI,cAAc,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,WAAW,EAAE;oBACrG,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;oBACtG,2EAA2E;oBAC3E,4DAA4D;oBAC5D,GAAG;oBACH,QAAQ;oBACR,2DAA2D;oBAC3D,GAAG;iBACJ;qBACI,IAAI,OAAO,CAAC,MAAM,IAAI,WAAW,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,KAAK,EAAE;oBAC1F,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;oBACtG,2EAA2E;oBAC3E,4DAA4D;oBAC5D,GAAG;oBACH,QAAQ;oBACR,2DAA2D;oBAC3D,GAAG;iBACJ;qBACI,IAAI,OAAO,CAAC,MAAM,IAAI,aAAa,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,aAAa,EAAE;oBACpG,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;oBACtG,2EAA2E;oBAC3E,4DAA4D;oBAC5D,GAAG;oBACH,QAAQ;oBACR,2DAA2D;oBAC3D,GAAG;iBACJ;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,KAAK,CAAC;oBACnE,yDAAyD;iBAC1D;YAGH,CAAC,CAAC,CAAC;YACH,wDAAwD;YACxD,uDAAuD;SACxD;QACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAEnD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SAEH;aACI;YAEH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAClF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,kBAAuB,CAAC;oBAC5B,kBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,kBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEhH,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;wBAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;wBAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;qBAChD,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,0DAA0D;SAC3D;IACH,CAAC;IACD,mDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAEjC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,0CAAQ,GAAR;QAAA,iBAgEC;QA/DC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,OAAO,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;YAChC,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YAClY,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACnD;QACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,SAAS,EAAE;YAC5J,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aACrE,CAAC;YACF,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;YAC7C,yCAAyC;SAE1C;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjG;QAED,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACzF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,IAAI;YACnG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAE/D,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC/C,IAAI,GAAG,IAAI,WAAW,EAAE;gBACtB,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aACrD;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,2BAA2B;IAC3B,6FAA6F;IAC7F,4CAA4C;IAC5C,kCAAkC;IAClC,uCAAuC;IACvC,oEAAoE;IACpE,iEAAiE;IAIjE,kDAAgB,GAAhB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,kDAAkD;QAClD,6BAA6B;QAC7B,KAAK;IAEP,CAAC;IACD,mDAAiB,GAAjB;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,kDAAkD;QAClD,6BAA6B;QAC7B,KAAK;IACP,CAAC;IACD,4DAA0B,GAA1B;QAAA,iBAUC;QARC,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACtG,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,0DAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED,8CAAY,GAAZ,UAAa,IAAS;QAEpB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;YAC5E,8GAA8G;SAC/G;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAChC;IACH,CAAC;IACD,gDAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;gBAC5E,+GAA+G;aAChH;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAChC;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,6CAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;YAC5E,+GAA+G;SAChH;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAChC;IACH,CAAC;IACD,+CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,0CAAQ,GAAR,UAAS,OAAO;QACd,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC;QAClD,IAAI,OAAO,GAAG,IAAI,CAAC;IAErB,CAAC;IACD,6CAAW,GAAX,UAAY,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM;QAArD,iBA0GC;QAzGC,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,EAAxD,CAAwD,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,KAAK,GAAG,mEAAmE,EAAE,eAAe,CAAC,CAAC;gBACjJ,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;YACtD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAChC;aACI;YACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;SAC9B;QACD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC/I,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,IAAI,EAAE;oBACnE,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,CAAC,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC;oBACvG,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;iBAErD;gBACD,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACnF,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;oBACjG,QAAQ,CAAC,aAAa,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;gBACzF,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,GAAQ,QAAQ,CAAC;gBAC1B,IAAI,GAAG,IAAI,YAAY,EAAE;oBACvB,SAAS,GAAG,WAAW,CAAC;oBACxB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,MAAM,EAAtB,CAAsB,CAAC,CAAC;iBAEnD;qBAAM,IAAI,GAAG,IAAI,cAAc,EAAE;oBAChC,SAAS,GAAG,aAAa,CAAC;oBAC1B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,MAAM,EAAtB,CAAsB,CAAC,CAAC;iBACnD;qBAAM,IAAI,GAAG,IAAI,KAAK,EAAE;oBACvB,SAAS,GAAG,UAAU,CAAC;iBACxB;qBACI;oBACH,SAAS,GAAG,WAAW,CAAC;iBACzB;gBACD,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,KAAI,CAAC,SAAS,GAAG,CAAC,EAAE;oBACtB,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;4BACvC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAO,CAAC,SAAS,EAAE;gCAC5C,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gCAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;6BAC7C;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;gBACD,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrD,IAAI,KAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAEnB,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;4BAEvC,IAAI,SAAO,CAAC,MAAM,IAAI,IAAI,IAAI,SAAO,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,MAAM,EAAE;gCAC3F,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gCAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;6BAC7C;iCAAM;gCACL,IAAI,SAAO,CAAC,OAAO,EAAE;oCACnB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wCAC1C,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wCAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;qCAC7C;iCACF;6BACF;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;aACF;iBAAM;gBACL,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,UAAU,CAAC;gBACpD,IAAI,KAAI,CAAC,OAAO,EAAE;oBAChB,KAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACvC;gBACD,IAAI,KAAI,CAAC,oBAAoB,CAAC,iBAAiB,IAAI,MAAM,EAAE;oBACzD,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;iBACvE;qBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,iBAAiB,IAAI,QAAQ,EAAE;oBAClE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;iBACzE;qBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,iBAAiB,IAAI,KAAK,EAAE;oBAC/D,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;iBACtE;gBACD,oEAAoE;gBACpE,IAAI,eAAe,IAAI,IAAI,EAAE;oBAC3B,6CAA6C;oBAC7C,IAAI,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvC,GAAG,IAAI,GAAG,CAAC;oBACX,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACjE;aACF;QACH,CAAC,CAAC,CAAC;QAEH,0BAA0B;IAC5B,CAAC;IAED,6CAAW,GAAX,UAAY,MAAM;QAAlB,iBAKC;QAHC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAK,IAAI,YAAI,CAAC,KAAK,GAAG,KAAK,EAAlB,CAAkB,CAAC,CAAC;SACnE;IACH,CAAC;IAED,iDAAe,GAAf,UAAgB,EAAE,EAAE,IAAI;QAAxB,iBAYC;QAXC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACnF,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC;YACzC,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAgB,GAAhB,UAAiB,WAAW;QAA5B,iBAIC;QAHC,IAAI,IAAI,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,oBAAU,IAAI,YAAI,CAAC,UAAU,GAAG,UAAU,EAA5B,CAA4B,CAAC,CAAC;SAC5F;IACH,CAAC;IAED,4CAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,CAAC;IACD,0CAAQ,GAAR;QAAA,iBAUC;QATC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAEnC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACnD,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9D,CAAC;IACD,6CAAW,GAAX;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACnI,CAAC;IAED,uDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,yDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,6BAA6B;IAC7B,4DAA4D;IAC5D,qEAAqE;IACrE,8CAA8C;IAC9C,OAAO;IACP,YAAY;IAEZ,sJAAsJ;IACtJ,gEAAgE;IAChE,OAAO;IACP,gEAAgE;IAChE,KAAK;IACL,iBAAiB;IACjB,GAAG;IAEH,kDAAgB,GAAhB,UAAiB,MAAM;QACrB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;YAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC5C;iBAAM;gBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAC/C;YACD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,oDAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,0CAAQ,GAAR;QACE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpB,CAAC;IACD,qDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,4BAA4B,GAAG,GAAG,CAAC;IAC1C,CAAC;IACD,gDAAc,GAAd;QACE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aAChD;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAK,GAAL;QAEE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3G,CAAC;IACD,sCAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1G;IACH,CAAC;IACD,sCAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1G;IAEH,CAAC;IACD,sCAAI,GAAJ;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1G;IACH,CAAC;IAED,sDAAoB,GAApB,UAAqB,QAA6B;QAChD,IAAI,QAAQ,CAAC,YAAY,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAAE;QACxD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,uGAAuG;QACvG,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;gBAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5G;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IAED,iDAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,SAAO,CAAC,MAAM,IAAI,IAAI,IAAI,SAAO,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,MAAM,EAAE;wBAC3F,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;qBAC7C;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aACI;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,wDAAsB,GAAtB;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CACxB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CACvE,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,eAAe,GAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CAAC;QAC1G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IACD,6CAAW,GAAX;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGCpiDK,wOAAkG,YAAtE;;wBAAqB;MAAjD,wBAAkG,0KAAyC;yGAG3I,wOAAsG,YAAxE;;wBAAuB;MAArD,wBAAsG,2KAA0C;yGAHtJ,wHAAM,iZAAkG,IAGxG,wHAAM,iZAAsG,iDAH9F,mBAAmB,cAA3B,YAAkG,EAA1F,SAAmB,GAGnB,mBAAqB,gBAA7B,YAAsG,EAA9F,SAAqB;;;;;;;;;;;;;;;;ACDnC;AAAA;AAAA;IAOE;IAAgB,CAAC;IAEjB,sCAAQ,GAAR;IACA,CAAC;IAED,oCAAM,GAAN,UAAO,MAAW;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,yCAAW,GAAlB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,uCAAS,GAAhB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,0CAAY,GAAnB;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,qCAAO,GAAP;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IACH,0BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGCVO,iPAAsH,YAAxF;;wBAA8B;MAA5D,wBAAsH,KACpH,6NAAmG;wGAErG,iPAAsH,YAAvF;;wBAA6B;MAA5D,wBAAsH,KACpH,8NAAoG;wGA3B9G,8IAAuB,KACrB,sPAAmH,KACjH,0LAA8D,KAgB9D,0LAA8D,KAG9D,0LAA6D,KAC3D,sMAA0E,KACxE,2YAAsH,IAGtH,2YAAsH,IAIxH,8MAAwE,KACtE,mSAAyQ,YAAhF;;wBAAkC;MAA3N,21BAAyQ,GAAjJ,4EAAgE,KAAxL,kmCAAyQ,MAE3Q,oOAAuG,KACrG,4QAAoP,YAAhF;;wBAAkC;MAAtM,21BAAoP,GAAjJ,4EAAgE,KAAnK,kmCAAoP,MAGtP,4MAA+E,KAC7E,uNAA0F,iFAAI,MAC9F,4KAA+C,KAC7C;;;;;;;;;;;wBAAuK;MAA1E;;wBAAsB;MAAC;;wBAAkD;MAAtK,oyCAAuK,iDAjBjK,mBAAqB,gBAA7B,YAAsH,EAA9G,SAAqB,GAGrB,oBAAsB,gBAA9B,YAAsH,EAA9G,SAAsB,GAK0F,mEAAgE,IAAxL,aAAyQ,EAAjJ,SAAgE,GAAxI,mBAAkC,yBAAC,mBAAoC,uBAAvH,aAAyQ,EAAzN,SAAkC,EAAC,SAAoC,GAGpB,mEAAgE,IAAnK,aAAoP,EAAjJ,SAAgE,GAApI,mBAAgC,uBAAC,mBAAkC,qBAAlG,aAAoP,EAArN,SAAgC,EAAC,SAAkC,GAMpB,4BAAgB,EAAC,oBAAsB,WAAnH,aAAuK,EAA3F,UAAgB,EAAC,UAAsB,2BAAnH,guBAAuK;;;;;;;;;;;;;;;;ACtCjL;AAAA;AAAA;AAAA;AAAA;AAAgE;AAChC;AAEhC;IAeE,4BAAmB,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QATtD,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1O,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC5O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjO,kBAAa,GAAY,KAAK,CAAC;QACxB,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QACtO,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjN,aAAQ,GAAW,EAAE,CAAC;IAE2C,CAAC;IAJ8E,CAAC,CAAE,6CAA6C;IAMhM,qCAAQ,GAAR;IACA,CAAC;IAED,0CAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,uCAAU,GAAV,UAAW,KAAK;IAEhB,CAAC;IAGD,+CAAkB,GAAlB,UAAmB,QAAQ;IAE3B,CAAC;IACH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGCLO,gQAAoK,YAA7C;;wBAA0C;MAAjK,wBAAoK;wGAFxK,iMAAmI,KACjI,qKAAyC,KACvC,2YAAoK,iDAApF,8CAAsC,GAAtH,YAAoK,EAApF,SAAsC;wGAQpH,sJAAsE,+FAAkB;wGACxF,sJAA8D,kGAAqB;wGACnF,sJAAmE,kGAAqB;wGACxF,sJAAgE,iGAAoB;wGALxF,gLAAsK,KACpK,uKAA2C,KACzC,2YAAsE,IACtE,2YAA8D,IAC9D,2YAAmE,IACnE,2YAAgE,IAElE,wKAA2C,KACzC,qOAA4E,YAA5C;;wBAAuB;MAAvD,wBAA4E,mFAAM,MAEpF,wKAA2C,KACzC,oOAA4E,YAA7C;;wBAAwB;MAAvD,wBAA4E,iFAAI,mDAThD,6CAAqC,GAArE,YAAsE,EAAtC,SAAqC,GACrC,0CAA6B,GAA7D,YAA8D,EAA9B,SAA6B,GAC7B,+CAAkC,GAAlE,YAAmE,EAAnC,SAAkC,GAClC,4CAA+B,GAA/D,YAAgE,EAAhC,SAA+B;wGA8C7D,iQAAwN,YAA1E;;wBAAuB;MAArK,wBAAwN,0FAAa;yGACrO,2RAAyT,YAA1E;;wBAAuB;MAAtQ,wBAAyT,0FAAa;yGACtU,kRAAkP,YAApG;;wBAAgC;MAA9K,wBAAkP,iFAAI;yGACtP,4SAAgV,YAAjG;;wBAA6B;MAA5Q,wBAAgV,iFAAI;wGArC1V,uMAAgH,KAC9G,kMAAqE,KACnE,oKAAwC,KACtC,yHAAO,gFAAG,MAEZ,6KAAgD,KAC9C;;;;;wBAK8D;MALlB;;wBAA2B;MAEjD;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAL7D,+wEAK8D,IAIlE,mMAAqE,KACnE,sKAAyC,KACvC,0HAAO,oFAAO,MAEhB,4KAA+C,KAC7C;;;;;;;;;;;wBAAsJ;MAA9F;;wBAA6B;MAAsC;;wBAAwB;MAAnJ,kuDAAsJ,IAI1J,kMAAqE,KACnE,+OAAsH,YAArC;;wBAAoC;MAArH,2rBAAsH,wFACtH,MAEF,mMAAqE,KACnE,sKAAyC,KACvC,oRAAyJ,YAAzH;;;wBAAqD;MAArF,wBAAyJ,mFAAM,MAGjK,wLAA2D,KACzD,4YAAwN,IACxN,6YAAyT,IACzT,6YAAkP,IAClP,6YAAgV,iDA/B1T,mBAAqB,eACrB,mBAA4B,kBADlD,YAK8D,EALxC,SAAqB,EACrB,SAA4B,GADN,oBAA2B,gBAAvE,aAK8D,EALlB,UAA2B,GAc2C,mBAAQ,EAA1H,aAAsJ,EAApC,UAAQ,GAAlE,oBAA6B,kBAArF,aAAsJ,EAA9F,UAA6B,GAKrC,oBAA8B,gBAAC,oBAAoC,qBAArH,aAAsH,EAApE,UAA8B,EAAC,UAAoC,GAS3G,gIAA8G,sBAAtH,aAAwN,EAAhN,UAA8G,GAC9G,iPAA2L,IAAnM,aAAyT,EAAjT,UAA2L,GAC3L,gIAA8G,sBAAtH,aAAkP,EAA1O,UAA8G,GAC9G,iPAA2L,IAAnM,aAAgV,EAAxU,UAA2L,2BA/BnM,m0BAK8D,GAS9D,o1BAAsJ;yGA6B1J,2KAAmF,KACjF,yOAA+G,YAAzD;;wBAAkC;MAAxF,0rBAA+G,mDAAxF,mBAA8B,gBAAC,mBAAkC,mBAAxF,YAA+G,EAAxF,SAA8B,EAAC,SAAkC;yGAP5F,4LAA0F,KAExF;;;;;wBACmD;MADP;;wBAA2B;MAAvE,oqEACmD,IAGnD,6YAAmF,iDAJ7D,mBAAqB,eACrB,mBAA4B,kBADlD,YACmD,EAD7B,SAAqB,EACrB,SAA4B,GADN,oBAA2B,gBAAvE,YACmD,EADP,UAA2B,GAIhD,4CAAmC,GAA1D,aAAmF,EAA5D,UAAmC,2BAJ1D,m0BACmD;yGASrD,qNAAsJ,KACpJ,0aAmBqD,YANpC;;wBAAmC;MACnC;;wBAAiC;MACjC;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAyC;MACzC;;wBAAmC;MAnBpD,k8DAmBqD,MAKrD,2LAAwE,YAA5D;;wBAAwC;MAApD,wbAAwE,MACtE,2MAAiF,KAE/E,yHAAO,sHAAyC,MAAQ,uHAAM,4HAAM,4HAAM,KAC1E,6NAAgG,KAC9F,gMAAmE,KACjE,mTAA2J,YAAnJ;;wBAAwB;MAAhC,wBAA2J,+EAAE,MAE/J,4LAA+D,KAC7D,gUAAiM,YAAlD;;wBAAiD;MAAhM,wBAAiM,gFAAG,mDAhC3L,mBAA2B,cAG3B,mBAAuB,cAFvB,mBAAyB,aAGzB,mBAAmB,UAOnB,mBAAyC,qBATzC,mBAAwD,yCAOxD,mBAAmB,UACnB,qBAA8B,EAJ9B,oBAA6B,EAD7B,oBAAgC,EAGhC,qBAAoB,EADpB,qBAA6B,EAR9C,eACiB,SAA2B,EAG3B,SAAuB,EAFvB,SAAyB,EAGzB,SAAmB,EAOnB,SAAyC,EATzC,SAAwD,EAOxD,SAAmB,EACnB,SAA8B,EAJ9B,SAA6B,EAD7B,SAAgC,EAGhC,UAAoB,EADpB,UAA6B,CAWO,GAKA,sBAAkB,EAA3D,oBAAwC,6BAApD,YAAwE,EAAnB,UAAkB,EAA3D,UAAwC;yGAkBpD,wHAAgD,KAC9C,yKAA6C,KAC3C,4IAAsB,KACpB,6IAAuB,mFAAM,MAE/B,4IAAsB,KACpB,6IAAuB,gFAAoB,MAI/C,yKAA6C,KAC3C,4IAAsB,KACpB,8IAAuB,iFAAI,MAE7B,6IAAsB,KACpB,8IAAuB,iFAAkB,MAI7C,0KAA6C,KAC3C,6IAAsB,KACpB,8IAAuB,uFAAU,MAEnC,6IAAsB,KACpB,8IAAuB,8IAA6C,IAIxE,0KAA6C,KAC3C,6IAAsB,KACpB,8IAAuB,sFAAS,MAElC,6IAAsB,KACpB,8IAAuB,8HAAM,kFAAqB,MAItD,0KAA6C,KAC3C,6IAAsB,KACpB,8IAAuB,sFAAS,MAElC,6IAAsB,KACpB,0IAAoC,KAIxC,0KAA6C,KAC3C,6JAAsC,gCAzCb,sEAAoB,GASpB,qEAAkB,GASlB,iPAA6C,GASvC,sEAAqB,GAS5C,kBAA6B,4BAAnC,aAAoC,EAA9B,SAA6B;yGA3C3C,iTAAyP,KACvP,qdAAgD,iDAA3C,mBAA0C,qBAA/C,YAAgD,EAA3C,SAA0C;yGA6D7C,6OAAoI,YAAhC;;wBAA6B;MAAjI,wBAAoI;yGAGpI,iPAA6I,YAArC;;wBAAkC;MAA1I,wBAA6I;yGAM7I,+OAAwI,YAAlC;;wBAA+B;MAArI,wBAAwI;yGAd5I,gMAAyG,KACvG,gMAAoE,KAGpE,oLAAwD,KACtD,4YAAoI,IAEtI,oLAAwD,KACtD,4YAA6I,IAE/I,oLAAwD,KAGxD,oLAAwD,KACtD,6YAAwI,IAE1I,qLAAwD,kDAXO,8CAAsC,GAAnG,YAAoI,EAAvE,SAAsC,GAGlC,8CAAsC,GAAvG,YAA6I,EAA5E,SAAsC,GAMxC,8CAAsC,GAArG,aAAwI,EAAzE,SAAsC;yGAMzG,4KAAsF,KACpF,oLAAwD,KAGxD,yNAA6F,KAC3F,wHAAM,0HAAG,4FAAe,MAE1B,oLAAwD;yGAMxD,mLAA+G,KAC7G,6IAAuB,KACrB,kKAAmC,KACjC,6IAAuB,kFAAK,MAE9B,4IAAsB,KACpB,6IAAuB,gFAAoB,MAI/C,6IAAuB,KACrB,kKAAmC,KACjC,8IAAuB,gFAAG,MAE5B,6IAAsB,KACpB,8IAAuB,iFAAkB,MAI7C,8IAAuB,KACrB,mKAAmC,KACjC,8IAAuB,sFAAS,MAElC,6IAAsB,KACpB,8IAAuB,iFAAgB,MAI3C,8IAAuB,KACrB,mKAAmC,KACjC,8IAAuB,qFAAQ,MAEjC,6IAAsB,KACpB,8IAAuB,8HAAM,kFAAqB,MAItD,8IAAuB,KACrB,mKAAmC,KACjC,8IAAuB,qFAAQ,MAEjC,6IAAsB,KACpB,0IAAoC,KAGxC,8IAAuB,KACrB,6JAAsC,gCAxCb,sEAAoB,GASpB,qEAAkB,GASlB,mEAAgB,GASV,sEAAqB,GAS5C,kBAA6B,4BAAnC,aAAoC,EAA9B,SAA6B;yGA3C3C,kNAAiH,KAC/G,qdAA+G,iDAAzD,mBAAwD,qBAA9G,YAA+G,EAAzD,SAAwD;yGAnClH,yOAA0O,KAExO,4YAAyG,IAoBzG,4YAAsF,IAYtF,4YAAiH,iDAhC5G,6CAAqC,GAA1C,YAAyG,EAApG,SAAqC,GAoBrC,6CAAqC,GAA1C,YAAsF,EAAjF,SAAqC,GAYrC,oCAA0B,GAA/B,YAAiH,EAA5G,SAA0B,mDAlCsE,mBAA6B,eAA8C,2DAAuD,GAAzO,YAA0O,EAAnI,SAA6B,EAA8C,SAAuD;yGAyF7O,uNAAmH,YAAvG;;wBAAgC;MAA5C,wbAAmH,MACjH,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,KAC9E,sKAAgD,2FAAc,MAAO,sHAAM,KAC3E,uMAA2E,KACzE,yHAAM,sGAAyB,MAEjC,6IAAsB,KACpB,gQAAkG,YAA9E;;wBAAkB;MAAtC,wBAAkG,+EAAE,MACpG,mTAAyJ,YAArI;;wBAAsB;MAA1C,wBAAyJ,mFAAM,mDATrE,qBAAkB,EAAtG,mBAAgC,qBAA5C,YAAmH,EAAnB,SAAkB,EAAtG,SAAgC;yGAc5C,2NAAkI,YAAtH;;wBAAqC;MAAjD,wbAAkI,MAChI,4LAAiH,YAA5C;;wBAA2C;MAAhH,+eAAiH,mDADJ,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAC7B,mBAAwB,gBAAC,yBAAyB,EAApE,YAAiH,EAA/F,SAAwB,EAAC,SAAyB;oRAvTtE,yKAA4C,KAE1C,uKAA0C,KACtC,gOAAmG,KACjG,0OAAkK,KAChK;;;;;;;;;;;;;;;;;wBAA6I;MAA1C;;wBAA+B;MAAlI,yzDAA6I,IAC7I,gPAAwG,YAAzC;;wBAAwC;MAAvG,wBAAwG,kFAAK,4IAAe,mFAA8C,MAG5K,+RAA2M,YAAnH;;wBAAwC;MAAhI,wBAA2M,KACzM;;;;;;;;;;;;;;;;;wBAA6I;MAA1C;;wBAA+B;MAAlI,4zDAA6I,IAC7I,gPAAwG,YAAzC;;wBAAwC;MAAvG,wBAAwG,mFAAM,4IAAe,mFAAwB,MAGvJ,+RAAyM,YAAjH;;wBAAuC;MAA/H,wBAAyM,KACvM;;;;;;;;;;;;;;;;;wBAAsI;MAAxD;;wBAA+B;MAA7G,4zDAAsI,IACtI,mPAA0G,YAAxC;;wBAAuC;MAAzG,wBAA0G,iFAAI,4IAAe,oFAAwB,MAGvJ,+RAA+M,YAAvH;;wBAA0C;MAAlI,wBAA+M,KAC7M;;;;;;;;;;;;;;;;;wBAAsI;MAAxD;;wBAA+B;MAA7G,4zDAAsI,IACtI,mPAA6G,YAA3C;;wBAA0C;MAA5G,wBAA6G,qFAAQ,4IAAe,oFAA2B,MAOvK,yKAA2C,KAEzC,4YAAmI,IAMnI,6QAA0V,KAExV,4YAAsK,IAiBtK,4YAAgH,IA2ChH,6YAA0F,IAY1F,6YAAsJ,IA0CtJ,6YAAyP,IAuD3P,6YAA0O,IAyF9O,6YAAmH,IAcnH,6YAAkI,iDAjT/E,wBAAa,EAAW,sBAAY,EAA7E,YAA6I,EAApG,SAAa,EAAW,SAAY,GAApC,yBAAa,EAA6C,oBAA+B,oBAAlI,YAA6I,EAApG,UAAa,EAA6C,UAA+B,GAKzF,yBAAa,EAAW,uBAAY,EAA7E,aAA6I,EAApG,UAAa,EAAW,UAAY,GAApC,yBAAa,EAA6C,oBAA+B,oBAAlI,aAA6I,EAApG,UAAa,EAA6C,UAA+B,GAKzF,yBAAa,EAAW,uBAAY,EAA7E,aAAsI,EAA7F,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAA7G,aAAsI,EAA7F,UAAa,EAAwB,UAA+B,GAKpE,yBAAa,EAAW,uBAAY,EAA7E,aAAsI,EAA7F,UAAa,EAAW,UAAY,GAApC,yBAAa,EAAwB,oBAA+B,oBAA7G,aAAsI,EAA7F,UAAa,EAAwB,UAA+B,GAU9C,yEAA6D,IAAlI,aAAmI,EAA9D,UAA6D,GAQ7E,uJAAkH,IAArK,aAAsK,EAAnH,UAAkH,GAiBhK,8CAAqC,GAA1C,aAAgH,EAA3G,UAAqC,GA2CrC,qCAA0B,GAA/B,aAA0F,EAArF,UAA0B,GAY1B,wEAA6D,IAAlE,aAAsJ,EAAjJ,UAA6D,GA0C7D,8FAAyE,IAA9E,aAAyP,EAApP,UAAyE,GAuD3E,8FAAgF,IAArF,aAA0O,EAArO,UAAgF,GAyF5C,oBAA0B,qBAAvE,aAAmH,EAAtE,UAA0B,GAcrB,oBAA+B,0BAAjF,aAAkI,EAAhF,UAA+B,mDAlTe,4EAAyE,GAAjK,YAAkK,EAA1E,SAAyE,GAC/J,qtBAA6I,GACjB,uFAA8C,GAG3C,6EAAyE,GAA1M,aAA2M,EAA1E,UAAyE,GACxM,ouBAA6I,GAChB,iEAAwB,GAGvB,4EAAwE,GAAxM,aAAyM,EAAzE,UAAwE,GACtM,ouBAAsI,GACT,gEAAwB,GAGpB,+EAA2E,GAA9M,aAA+M,EAA5E,UAA2E,GAC5M,ouBAAsI,GACF,mEAA2B,GAenJ,wEAAoE,IAAC,wEAA8E,IAAC,wEAAqE,IAA+B,wFAA+E,GAAzV,aAA0V,EAAxU,UAAoE,EAAC,UAA8E,EAAC,UAAqE,EAA+B,UAA+E;;;;;;;;;;;;;;;;ACpC7V;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AACjB;AACQ;AACW;AACF;AACD;AACZ;AAGZ;AACqB;AACa;AACH;AACjB;AACU;AAExB;AAI3C;IAgFE,4BAAoB,QAAkB,EAAS,aAA4B,EAAU,KAAqB,EAAU,MAAc,EAAU,iBAAsC,EAAS,oBAA0C,EAAU,gBAAkC,EAAU,eAAgC,EAAU,gBAAkC,EAAU,MAAqB;QAAlX,aAAQ,GAAR,QAAQ,CAAU;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAe;QAzEtY,YAAO,GAAc,IAAI,2DAAS,EAAE,CAAC;QAErC,kBAAa,GAAkB,IAAI,mEAAa,EAAE,CAAC;QAQnD,aAAQ,GAAW,KAAK,CAAC;QAEzB,iBAAY,GAAW,EAAE,CAAC;QAM1B,mCAA8B,GAAY,KAAK,CAAC;QAEhD,iBAAY,GAAmB,EAAE,CAAC;QAClC,sBAAiB,GAAG,EAAE,CAAC;QACvB,mBAAc,GAAW,EAAE,CAAC;QAE5B,gBAAW,GAAW,EAAE,CAAC;QACzB,aAAQ,GAAW,CAAC,CAAC;QAKrB,cAAS,GAAG,EAAE,CAAC;QACf,cAAS,GAAY,IAAI,CAAC;QAI1B,wBAAmB,GAAW,EAAE,CAAC;QAIjC,oBAAe,GAAW,EAAE,CAAC;QAC7B,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QACtC,eAAU,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QACtC,sBAAiB,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3C,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,kBAAa,GAAW,CAAC,CAAC;QAC1B,gBAAW,GAAY,KAAK,CAAC;QAC7B,sBAAiB,GAAG,CAAC,CAAC;QACtB,sBAAiB,GAAG,CAAC,CAAC;QACtB,qBAAgB,GAAG,CAAC,CAAC;QACrB,wBAAmB,GAAG,CAAC,CAAC;QACxB,eAAU,GAAY,KAAK,CAAC;QAC5B,+BAA0B,GAAY,KAAK,CAAC;QAG5C,4BAAuB,GAAY,KAAK,CAAC;QACzC,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QAGhB,gBAAW,GAAG,OAAO,CAAC;QAC1C,sBAAiB,GAAW,MAAM,CAAC;QAC5B,kBAAa,GAAW;YAE7B,GAAG,EAAE,oEAAoE,EAAE,eAAe,EAAE,mBAAmB;SAEhH,CAAC;QACK,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QACtO,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAG9I,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAb+I,CAAC,CAAE,6CAA6C;IAchM,4CAAe,GAAf;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;IAErB,CAAC;IACD,qCAAQ,GAAR;QAAA,iBAsEC;QArEC,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACrD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QAEF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACjD,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;YAC7B,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,yCAAyC;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,KAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;gBACxB,KAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC/D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,KAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC;oBAEhD,IAAI,QAAQ,GAAG,KAAI,CAAC;oBACpB,CAAC,CAAC,UAAU,CAAC;wBAEX,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,UAAC,IAAI;4BAChC,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gCAC/C,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE;oCACjE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iCACxB;6BACF;iCACI,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;gCAC1D,IAAI,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE;oCACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iCACxB;6BACF;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,UAAU,CAAC;YAEX,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACtE,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAET,IAAI,CAAC,aAAa,GAAG;YAEnB,GAAG,EAAE,oEAAoE,EAAE,eAAe,EAAE,mBAAmB;YAC/G,MAAM,EAAE;gBACN,oBAAoB,EAAE;gBAEtB,CAAC;gBACD,OAAO,EAAE,UAAU,UAAU;oBAC3B,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;oBACzD,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAErC,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,sDAAyB,GAAzB,UAA0B,MAAM,EAAE,WAAW;QAA7C,iBAqDC;QAlDC,IAAI,WAAW,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;gBACrH,KAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC;gBAC9C,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;QACD,iBAAiB;QACjB,IAAI,WAAW,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;gBACrH,KAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,MAAM;YAC/C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,WAAW,IAAI,MAAM,EAAE;YACzB,iBAAiB;YACjB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;gBAC9I,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;gBAC5C,KAAI,CAAC,yBAAyB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,WAAW,IAAI,QAAQ,EAAE;YAC3B,iBAAiB;YACjB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;gBACrH,KAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC;gBAC9C,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,KAAI,CAAC,iBAAiB,CAAC;YACxE,CAAC,CAAC,CAAC;YAEH,iBAAiB;YACjB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;gBACrH,KAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,MAAM;YAC/C,CAAC,CAAC,CAAC;YAEH,iBAAiB;YACjB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;gBAE9I,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,mBAAmB;YACnB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC7I,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,kCAAkC;gBAClC,KAAK;gBACL,6CAA6C;gBAC7C,KAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,MAAM;YAC/C,CAAC,CAAC,CAAC;SACJ;QACD,qDAAqD;QACrD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,MAAM,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAW,GAAX;IAEA,CAAC;IAED,8CAAiB,GAAjB,UAAkB,IAAY;QAC5B,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,GAAG,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,KAAK;gBAC7B,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QAEf,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;YAC5B,IAAI,MAAS,CAAC;YACd,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI;gBACzD,MAAI,GAAG,KAAK,CAAC,IAAI,CAAC;iBACf,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI;gBAC9N,MAAI,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE5C,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACvB,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,OAAO,GAAG,SAAO,CAAC,kCAAkC,CAAC,MAAI,CAAC,CAAC;gBAErE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,IAAI,2DAAS,EAAE,CAAC;aAChC;YACD,qBAAqB;YACrB,4BAA4B;YAC5B,sCAAsC;YACtC,WAAW;SACZ;aACI;YACH,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;QAED,eAAe;QAEf,2BAA2B;QAC3B,0BAA0B;QAC1B,4CAA4C;IAC9C,CAAC;IAED,iDAAoB,GAApB;IAEA,CAAC;IACM,sDAAyB,GAAhC,UAAiC,MAAM,EAAE,KAAK;QAA9C,iBAWC;QAVC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;YAC3F,aAAa,CAAC,OAAO,CAAC,uBAAa;gBACjC,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;gBAClG,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YAEtN,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;QAC1C,CAAC,CAAC,CAAC;IAEL,CAAC;IAAA,CAAC;IACF,+DAAkC,GAAlC,UAAmC,IAAI;QACrC,+DAA+D;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,2DAAS,EAAE,CAAC;QAC1B,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACvC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACvC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,GAAG,CAAC;IAEb,CAAC;IAED,6CAAgB,GAAhB,UAAiB,EAAE;QAAnB,iBAmBC;QAlBC,wCAAwC;QACxC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,kBAAkB,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3G,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC7C,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,KAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvG,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,KAAI,CAAC,2BAA2B,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChH,KAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACrF,KAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAClE,KAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,MAAM,CAAC;oBACtD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gBAG3F,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,2CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI;YAC7B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC7C;YACH,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE;gBAClD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC9B;SACF;IACH,CAAC;IAED,6CAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACvO,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG,EAC1B,CAAC;IACJ,CAAC;IAED,+CAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,2BAA2B;QAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,2BAA2B;IAC7B,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QACf,2BAA2B;IAC7B,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,6BAA6B;QAC7B,6BAA6B;IAC/B,CAAC;IAED,8CAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAC/D,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,yCAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,2CAAc,GAAd,UAAe,MAAM;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,6CAAgB,GAAhB,UAAiB,MAAM;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,+CAAkB,GAAlB,UAAmB,MAAM;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,8CAAiB,GAAjB;QACE,IAAI,eAAe,GAAW,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,cAAI;YAC7B,eAAe,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5B,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,6CAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE;YAClH;gBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;aACrE;YAED,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE;YACvG,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE;YAC3G;gBACE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,YAAY,YAAC,MAAM;oBACxG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;wBACtD,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,QAAQ,GAAG,WAAW,CAAC;wBAC1I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;gCACnD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;6BAChD;wBAEH,CAAC,CAAC,CAAC;qBACJ;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;wBAC3E,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,QAAQ,GAAG,WAAW,CAAC;wBAC1I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;gCACnE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;6BACxD;wBACH,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,GAAG,WAAW,CAAC;wBACxI,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;gCACnD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;6BAC9C;iCACI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;gCACxE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;6BACtD;wBACH,CAAC,CAAC,CAAC;qBACJ;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;gBACjI,SAAS,EAAE,UAAU,MAAM;oBAC3B,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;wBACnD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;4BAC/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;4BACvC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;gBACpI,SAAS,EAAE,UAAU,MAAM;oBAC3B,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;wBACnD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;4BAC/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;4BACvC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;gBACvG,SAAS,EAAE,UAAU,MAAM;oBAC3B,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;wBACnD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;4BAC/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;4BACvC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;gBACjG,SAAS,EAAE,UAAU,MAAM;oBAC3B,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;wBACnD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;4BAC/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;4BACvC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;gBACtG,SAAS,EAAE,UAAU,MAAM;oBAC3B,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;wBACnD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;4BAC/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;4BACvC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;gBACtG,SAAS,EAAE,UAAU,MAAM;oBAC3B,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;wBACnD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;4BAC/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE;4BACvC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBACvF;qBACF;gBACH,CAAC;aACF;YACD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE;YAC1H,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE;YACnH,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE;YACrH;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,6FAA6F,EAAE,YAAY,YAAC,MAAM;oBAC9I,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,6FAA6F,CAAC;oBAC/G,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAE7B,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS;4BAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;4BAEvD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC3E,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;aAC1D;SACF,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG;YACxB,iBAAiB,EAAE,UAAU,MAAM;gBACjC,IAAI,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;gBACnD,IAAI,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3E,OAAO,gBAAgB,CAAC;YAC1B,CAAC;YACD,UAAU,EAAE,OAAO;YACnB,WAAW,EAAE,oBAAoB;YACjC,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IACD,yCAAY,GAAZ,cAAiB,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAC,CAAC;IAC3D,0DAA6B,GAA7B;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yKAAyK,CAAC,CAAC;QACxM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,+CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IAEvC,CAAC;IACD,mCAAM,GAAN,UAAO,EAAE,EAAE,MAAM;QAEf,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;YACtB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACvC,IAAI,CAAC,6BAA6B,EAAE,CAAC;SAEtC;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,UAAU,CAAC;gBACT,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;YAC5K,CAAC,EAAE,CAAC,CAAC,CAAC;SAEP;IACH,CAAC;IAED,0CAAa,GAAb,UAAc,EAAE,EAAE,MAAM;QAAxB,iBA0CC;QAxCC,IAAI,MAAM,IAAI,MAAM,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAClD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,qBAAqB,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtH,qBAAqB,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChD,KAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,KAAK,CAAC,KAAI,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9G,KAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,KAAI,CAAC,2BAA2B,CAAC,KAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACxH,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,KAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;oBAC1G,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,iBAAiB,CAAC,CAAC;oBACtE,KAAI,CAAC,yBAAyB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC9D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1F,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;oBACzB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACvD,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;gBAC5B,IAAI,qBAAqB,GAAG,CAAC,KAAI,CAAC,aAAa,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClI,qBAAqB,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChD,KAAI,CAAC,aAAa,CAAC,iBAAiB,GAAG,IAAI,KAAK,CAAC,KAAI,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpH,KAAI,CAAC,aAAa,CAAC,iBAAiB,GAAG,KAAI,CAAC,2BAA2B,CAAC,KAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpI,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,KAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;oBAChH,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,iBAAiB,CAAC,CAAC;oBACtE,KAAI,CAAC,yBAAyB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC9D,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1F,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC,CAAC,UAAU,CAAC;wBACX,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;oBACzB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QAExC,2CAA2C;IAC7C,CAAC;IAED,wDAA2B,GAA3B,UAA4B,GAAU;QACpC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,wCAAW,GAAX,UAAY,GAAG,EAAE,KAAK;QAEpB,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG;YAC7B,OAAO,GAAG,IAAI,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,yCAAY,GAAZ,UAAa,EAAE,EAAE,MAAM;QAAvB,iBA0BC;QAzBC,IAAI,CAAC,GAAG,OAAO,CAAC,uDAAuD,GAAG,MAAM,CAAC,CAAC;QAClF,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAClD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,MAAM,IAAI,QAAQ,EAAE;oBACtB,IAAI,kBAAkB,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3G,kBAAkB,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC7C,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,KAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACvG,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,KAAI,CAAC,2BAA2B,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACjH;qBAAM;oBACL,IAAI,kBAAkB,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3G,kBAAkB,GAAG,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBAC7D,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,KAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACvG,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,KAAI,CAAC,2BAA2B,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACjH;gBACD,KAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBACrF,KAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAClE,KAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,MAAM,CAAC;wBACrD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;oBAE5F,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,wCAAW,GAAX;QACE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,yCAAY,GAAZ;QAAA,iBAyCC;QAxCC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAEjD,IAAI,IAAI,CAAC,SAAS,EAAE;YAElB,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC1D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpF,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACxE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAElC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,wDAAuD;YAC/G,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9G,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/F,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5F,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrH,oEAAoE;YAEpE,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3D,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAEpF,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACxE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,MAAM;SAEP;IACH,CAAC;IACD,wCAAW,GAAX;QACE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC;YACT,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QACvK,CAAC,EAAE,CAAC,CAAC,CAAC;IAER,CAAC;IACD,+BAAE,GAAF,UAAG,KAAK;QACN,IAAI,KAAK,IAAI,QAAQ,EAAE;YACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;IACH,CAAC;IACD,wCAAW,GAAX,UAAY,UAAU;QAAtB,iBA+BC;QA9BC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAE/C,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YAE1D,IAAI,UAAU,IAAI,OAAO,EAAE;gBACzB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC/F,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,eAAe,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gBAChF,KAAI,CAAC,yBAAyB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;aAE9D;iBAAM;gBACL,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpF,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,eAAe,EAAE,GAAG,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gBAChF,KAAI,CAAC,yBAAyB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;aAE7D;YACD,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,IAAI,OAAO,CAAC,WAAW,IAAI,SAAS;gBAElC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;;gBAEpE,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAa,GAAb;QACE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE9C,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC;QAErC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,wCAAW,GAAX;QACE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACjC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YAChE,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YACpD,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;YACzD,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;SAErD;IACH,CAAC;IACD,yCAAY,GAAZ;QAEE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACjC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACjE,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YACpD,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;aAChE;iBAAM;gBACL,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;aACrD;SACF;IACH,CAAC;IAEM,2CAAc,GAArB,UAAsB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;QAAvD,iBAsBC;QApBC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC1J,QAAQ,CAAC,OAAO,CAAC,iBAAO;gBACtB,KAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,OAAO,GAAa,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,IAAI,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,KAAK,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,IAAI,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,OAAO,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClE,OAAO,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAClE,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;YAG5B,IAAI,OAAO,IAAI,CAAC,EAAE;gBAAE,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;aAAE;iBAClE,IAAI,OAAO,IAAI,CAAC,EAAE;gBAAE,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;aAAE;iBACvE,IAAI,OAAO,IAAI,CAAC,EAAE;gBAAE,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;aAAE;iBACtE,IAAI,OAAO,IAAI,CAAC,EAAE;gBAAE,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;aAAE;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAgB,GAAhB,UAAiB,UAAkB;QAAnC,iBAcC;QAbC,IAAI,cAAc,GAAa,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,aAAa,GAAW,EAAE,CAAC;QAE/B,cAAc,CAAC,OAAO,CAAC,YAAE;YACvB,IAAI,OAAO,GAAiB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAArB,CAAqB,CAAC,CAAC;YAC/E,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE;gBAC/C,aAAa,IAAI,OAAO,CAAC,QAAQ,GAAG,GAAG;aACxC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAC1B,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,uCAAU,GAAV,UAAW,QAAQ;QAAnB,iBAmCC;QAjCC,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;YAE5B,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE;gBACxE,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAE/D,IAAI,MAAS,CAAC;gBACd,IAAI,QAAQ,CAAC,IAAI,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI;oBACrD,MAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;qBAClB,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI;oBAC7O,MAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE/C,IAAI,EAAE,GAAW,MAAI,CAAC,EAAE,CAAC;gBACzB,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,gBAAgB,CAAC,MAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACT,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACvD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxB,CAAC,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE;oBAC9C,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;iBAC1B;aACF;iBACI;gBACH,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,IAAI,2DAAS,EAAE,CAAC;aAChC;SAEF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;IAEH,CAAC;IACD,uCAAU,GAAV,UAAW,IAAI;QAAf,iBAwDC;QAtDC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,mBAAmB,GAAW,EAAE,CAAC;QAErC,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,YAAY,EAAE;YAC3C,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE;gBAC5G,IAAI,SAAS,GAAa,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,IAAI,IAAI,OAAO,EAAE;oBACnB,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBAC5D,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;iBAC3E;qBAAM;oBACL,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC;oBACxD,SAAS,CAAC,OAAO,CAAC,YAAE;wBAClB,IAAI,EAAE,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE;4BAC3B,mBAAmB,IAAI,EAAE,GAAG,GAAG,CAAC;oBACpC,CAAC,CAAC,CAAC;oBACH,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC;wBAChC,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAEtF,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,mBAAmB,CAAC;iBACzD;aACF;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,YAAY,EAAE,CAAC;YACzB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM,EAAG,SAAS;YAEjB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAErD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,CAAC,CAAC,UAAU,CAAC;gBACX,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;YAC3D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;QAED,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAI;YAC5B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,EAAE;gBAClC,IAAI,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;oBACvE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC5E;iBAAM;gBACL,IAAI,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;oBACvE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC5E;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,sCAAsC;IACtC,2DAA2D;IAC3D,uDAAuD;IACvD,6DAA6D;IAE7D,iCAAiC;IACjC,GAAG;IAEH,gCAAgC;IAEhC,gDAAgD;IAChD,2BAA2B;IAC3B,mEAAmE;IACnE,QAAQ;IACR,iEAAiE;IACjE,GAAG;IAEH,sHAAsH;IACtH,yCAAyC;IACzC,yBAAyB;IACzB,2BAA2B;IAC3B,uBAAuB;IAEvB,wHAAwH;IACxH,GAAG;IACH,6CAAgB,GAAhB,UAAiB,EAAE,EAAE,OAAO,EAAE,MAAM;QAClC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QACpB,4BAA4B;QAC5B,iEAAiE;QACjE,GAAG;QACH,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACrD,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC1C,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1D,0DAA0D;QAC1D,IAAI,EAAE,IAAI,SAAS,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,2DAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,qHAAqH;SACtH;aAAM;YACL,IAAI,MAAM,IAAI,MAAM,EAAE;gBACpB,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1F,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC/B;SAEF;QAED,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAET,yDAAyD;QACzD,+BAA+B;IACjC,CAAC;IAED,4CAAe,GAAf,UAAgB,EAAE;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,WAAW,GAAY,IAAI,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC/B,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;oBACrD,IAAI,WAAW,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE;wBACjC,WAAW,GAAG,KAAK,CAAC;wBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBACvB,yCAAyC;qBAC1C;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,kCAAK,GAAL;QAEE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/F,CAAC;IACD,iCAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9F;IACH,CAAC;IACD,iCAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9F;IAEH,CAAC;IACD,iCAAI,GAAJ;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9F;IAEH,CAAC;IAED,yCAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SAClD;aAAM;YACL,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;SACrD;IAEH,CAAC;IACD,2CAAc,GAAd,UAAe,IAAS;QACtB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SAClD;aAAM;YACL,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;SACrD;IACH,CAAC;IACD,wCAAW,GAAX,UAAY,KAAU;QACpB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SAClD;aAAM;YACL,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;SACrD;IACH,CAAC;IACD,0CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SAClD;aAAM;YACL,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;SACrD;IACH,CAAC;IACD,yCAAY,GAAZ;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACtB,CAAC;IAED,yCAAY,GAAZ;QACE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SACvD;IACH,CAAC;IACH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GCzoCG,0LAAqF,YAAzE;;wBAAwB;MAApC,ucAAqF,MACnF,m5CAIgC,iDALtB,mBAAwB,aAAoB,uBAA4B,EAApF,YAAqF,EAAzE,SAAwB,EAAoB,SAA4B,GAGnE,mBAAe,QACf,yBAAiB,EACjB,oBAAgB,EAHhB,4BAAgC,EAD/C,YAIgC,EAFjB,SAAe,EACf,SAAiB,EACjB,SAAgB,EAHhB,SAAgC;4GAMjD,+KAA8E,KAC5E,2LAA+D,KAC7D,sKAA0C,KACxC,4KAAsC,YAAhC;;wBAA+B;MAArC,wBAAsC,KAAC,yNAA+F;4GAyE1I,uKAA8E,KAC5E,mTASqD,YADpC;;wBAA8C;MAC9C;;wBAAmC;MATpD,0kDASqD,mDARpC,mBAA2B,cAG3B,mBAA0B,iBAF1B,mBAAyB,aAKzB,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANpC,YASqD,EARpC,SAA2B,EAG3B,SAA0B,EAF1B,SAAyB,EAKzB,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;4GAW5C,8MAA4N,YAAhN;;wBAAwB;MAA4D;;;wBAAoD;MAApJ,4iBAA4N,MAC1N,2LAAkN,YAArC;;wBAAoC;MAAjN,mvCAAkN,mDAD/D,qBAAkB,EAA3J,mBAAwB,aAAC,oBAAuB,EAAmI,uBAA4B,EAAnD,qBAAsB,EAA9L,YAA4N,EAAvE,SAAkB,EAA3J,SAAwB,EAAC,SAAuB,EAAmI,SAA4B,EAAnD,SAAsB,GAClL,mBAAS,KAAmB,mBAAa,OAA/B,mBAAiB,SAAmC,oBAAmB,EAAC,mBAA6B,eAArE,oBAAmB,UAAwE,oBAA6B,eAAlD,qBAAoB,EAA9I,YAAkN,EAAxM,SAAS,EAAmB,SAAa,EAA/B,SAAiB,EAAmC,SAAmB,EAAC,SAA6B,EAArE,UAAmB,EAAwE,UAA6B,EAAlD,UAAoB;4GAGhJ,0OAA0H,YAA9G;;wBAA0B;MAAtC,mcAA0H,MACxH,sLAAoD,YAAxC;;wBAAuC;MAAnD,+sBAAoD,mDAD1C,mBAA0B,eAAmB,oBAAuB,EAAhF,YAA0H,EAA9G,SAA0B,EAAmB,SAAuB,GAC9E,YAAoD;4GAItD,mNAAuG,YAA3F;;wBAA4B;MAAxC,ubAAuG,MACrG,uKAA6C,KAC3C,oKAA8C,8FAAiB,MAAS,sHAAM,KAC9E,uLAA2D,KACzD,qJAA+B,uFAAU,MAAQ,sHAAM,KACvD,sJAA+B,8GAAiC,MAGlE,qMAAwE,KACtE,qKAAwC,KACtC,yRAAiI,YAAzB;;wBAAwB;MAAhI,wBAAiI,+EAAE,MAErI,qKAAwC,KACtC,uRAAwJ,YAAlD;;;wBAAiD;MAAvJ,wBAAwJ,mFAAM,mDAblF,qBAAkB,EAA1F,mBAA4B,iBAAxC,YAAuG,EAAnB,SAAkB,EAA1F,SAA4B;4GAqBxC,gNAAkG,YAAtF;;wBAA0B;MAAtC,ubAAkG,MAChG,uIAAoB,kDADyD,qBAAkB,EAArF,mBAA0B,eAAtC,YAAkG,EAAnB,SAAkB,EAArF,SAA0B;smBA9ItC,mLAAsD,KACpD,gJAAyB,KACvB,2OAAyG,KACvG,sNAAuK,YAA7F;;wBAA8C;MAAC;;wBAA6C;MAAtK,i+BAAuK,MAGzK,8LAA6D,KAC7D,gMAA+D,KAC/D,0LAAyD,KACzD,sMAAqE,KACrE,iZAAqF,IAQrF,iZAA8E,IAO9E,oPAAsH,KACpH,qNAAuF,KACrF,oLAAuD,KACrD,qLAAwD,KACtD,wJAAiC,KACjC,6IAAsB,oFAEtB,MACA,6IAAsB,mFAEtB,MAGJ,sLAAyD,KACvD,qLAAwD,KACtD,yJAAkC,KAClC,6IAAsB,oFAEtB,MACA,6IAAsB,mFAEtB,MAGJ,sLAAyD,KACvD,qLAAwD,KACtD,2JAAoC,KACpC,6IAAsB,sFAEtB,MACA,6IAAsB,mFAEtB,MAGJ,sLAAyD,KACvD,qLAAwD,KACtD,2JAAoC,KACpC,6IAAsB,sFAEtB,MACA,6IAAsB,mFAEtB,MAGJ,sLAAyD,KACvD,qLAAwD,KACtD,8IAAuB,KACvB,6IAAsB,yFAEtB,MACA,6IAAsB,mFAEtB,MAIN,gMAAmE,KACjE,gPAAkF,YAAvC;;wBAAiB;MAA5D,wBAAkF,KAItF,mPACsE,KACpE,uKAA0C,KACxC,mrBAAwG,IAG1G,iZAA8E,IAkBpF,iZAA4N,IAI5N,iZAA0H,IAK1H,iZAAuG,IAmBvG,+IAAwB,KAExB,iZAAkG,iDA3I5E,0BAAyB,EAAC,mBAA+B,gBAAzE,aAAuK,EAAvJ,SAAyB,EAAC,SAA+B,GAOtC,mBAAkB,aAAvD,aAAqF,EAAhD,SAAkB,GAQlD,mBAA0B,qBAA/B,aAA8E,EAAzE,SAA0B,GAyE4C,oBAAgC,uBAAvG,aAAwG,EAAjC,UAAgC,GAG9D,gDAAkC,GAA7E,aAA8E,EAAnC,UAAkC,GAkBtB,oBAAkB,aAA/E,aAA4N,EAA/J,UAAkB,GAIsB,oBAAoB,eAAzH,aAA0H,EAArB,UAAoB,GAK5D,oBAAsB,iBAAnF,aAAuG,EAA1C,UAAsB,GAqB5C,oBAAoB,eAA3D,aAAkG,EAA3D,UAAoB,mDA7GzB,gEAEtB,GASsB,iEAEtB,GASsB,mEAEtB,GASsB,mEAEtB,GASsB,oEAEtB,GAUH,iEAAgE,GADrE,aACsE,EAAjE,SAAgE;;;;;;;;;;;;;;;;AC3FzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4G;AAC5G,8DAA8D;AACzB;AAEuC;AACnB;AACW;AACzB;AACa;AACb;AACiB;AACO;AACL;AACW;AAC9B;AAAA,CAAC;AACK;AACA;AACE;AACK;AAC0B;AACL;AAE7C;AAEgC;AACe;AACrB;AAEU;AAGmD;AAEhE;AACH;AAET;AAE3C;IAuLE,gCAAmB,oBAA0C,EAAU,IAAU,EAAU,MAAc,EAAU,eAAgC,EAAU,iBAAsC,EAAU,WAAyB,EAAU,WAAwB,EAAU,MAAqB,EAAU,gBAAkC,EAAU,KAAqB,EAAU,cAA+B;QAAxY,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,SAAI,GAAJ,IAAI,CAAM;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,gBAAW,GAAX,WAAW,CAAc;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAiB;QAhL3Z,eAAU,GAAG,KAAK,CAAC;QACnB,SAAI,GAAY,IAAI,CAAC;QACrB,UAAK,GAAY,IAAI,CAAC;QACtB,eAAU,GAAY,KAAK,CAAC;QAE5B,sBAAiB,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/B,QAAG,GAAG,EAAE,CAAC;QACT,gBAAW,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QAItC,yBAAoB,GAAoB,EAAE,CAAC;QAC3C,wCAAwC;QACxC,WAAM,GAAG,EAAE,CAAC;QACZ,gBAAW,GAAG,EAAE,CAAC;QASjB,cAAS,GAAG,CAAC,CAAC;QACd,iBAAY,GAAG,CAAC,CAAC;QAGjB,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,IAAI,CAAC;QAC1B,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,mBAAc,GAAY,KAAK,CAAC;QAChC,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAC1B,eAAU,GAAY,KAAK,CAAC;QAC5B,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAY,KAAK,CAAC;QAC9B,cAAS,GAAG,EAAE,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;QAEf,eAAU,GAAG,EAAE,CAAC;QAChB,gBAAW,GAAG,EAAE,CAAC;QACjB,UAAK,GAAG,EAAE,CAAC;QACX,aAAQ,GAAG,EAAE,CAAC;QAEd,qBAAgB,GAAG,EAAE,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAChB,aAAQ,GAAY,IAAI,CAAC;QACzB,mBAAc,GAAY,IAAI,CAAC;QAC/B,UAAK,GAAY,IAAI,CAAC;QACtB,mBAAc,GAAY,KAAK,CAAC;QAChC,mBAAc,GAAY,KAAK,CAAC;QAChC,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAC7C,SAAI,GAAU,IAAI,oDAAK,EAAE,CAAC;QAC1B,uBAAkB,GAAwB,IAAI,kFAAmB,EAAE,CAAC;QAKpE,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACnC,qBAAgB,GAAiB,EAAE,CAAC;QACpC,mBAAc,GAAmB,EAAE,CAAC;QACpC,iBAAY,GAAmB,EAAE,CAAC;QAClC,oBAAe,GAAG,IAAI,KAAK,EAAE,CAAC;QAC9B,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAC3B,aAAQ,GAAmB,IAAI,oEAAc,EAAE,CAAC;QAChD,YAAO,GAAe,EAAE,CAAC;QAEzB,eAAU,GAAW,MAAM,CAAC;QAC5B,gBAAW,GAAY,KAAK,CAAC;QAC7B,YAAO,GAAW,MAAM,CAAC;QACzB,eAAU,GAAW,WAAW,CAAC;QAEjC,oBAAe,GAAY,KAAK,CAAC;QASjC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,cAAS,GAAY,KAAK,CAAC;QAE3B,qBAAgB,GAAG,CAAC,CAAC;QACrB,sBAAiB,GAAG,CAAC,CAAC;QACtB,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QAInB,aAAQ,GAAG,IAAI,CAAC;QAChB,aAAQ,GAAY,IAAI,CAAC;QACzB,aAAQ,GAAY,IAAI,CAAC;QACzB,iBAAY,GAAG,EAAE,CAAC;QAClB,oBAAe,GAAG,EAAE,CAAC;QAKrB,mBAAc,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAO1C,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAmB,EAAE,CAAC;QAErC,iBAAY,GAAG,WAAW,CAAC;QAC3B,mBAAc,GAAY,KAAK,CAAC;QAChC,mBAAc,GAAS,CAAC,CAAC;QAElB,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC5O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1N,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjN,aAAQ,GAAG,KAAK,CAAC;QAIjB,aAAQ,GAAc,IAAI,4DAAS,EAAE,CAAC;QACtC,kBAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAG5B,iBAAY,GAAY,KAAK,CAAC;QAC9B,uBAAkB,GAAY,KAAK,CAAC;QAAC,cAAS,GAAW,EAAE,CAAC;QAAC,YAAO,GAAW,EAAE,CAAC;QAiClF,kBAAa,GAAY,KAAK,CAAC;QAQ7B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;gBACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aAC5G,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3E;QACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;IAEjB,CAAC;IA1E+I,CAAC,CAAE,8CAA8C;IACgB,CAAC;IAalN,mDAAkB,GAAlB,UAAmB,IAAI;QACrB,mDAAmD;IACrD,CAAC;IACD,sCAAK,GAAL;QACE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IACD,+CAAc,GAAd;IACA,CAAC;IACD,gDAAe,GAAf;IACA,CAAC;IAED,gDAAe,GAAf,UAAgB,GAAG;QACjB,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;QAChC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,eAAe,EAAE,CAAC;IAEzB,CAAC;IAED,iDAAgB,GAAhB,UAAiB,GAAG;IACpB,CAAC;IACD,6CAAY,GAAZ,UAAa,GAAG;IAChB,CAAC;IAWD,iDAAgB,GAAhB,UAAiB,SAAwB;QACvC,IAAI,OAAO,CAAC,gDAA8C,SAAS,CAAC,KAAK,CAAC,KAAK,MAAG,CAAC,EAAE;YACnF,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC1B;IACH,CAAC;IAwBD,yCAAQ,GAAR;QAAA,iBAqFC;QApFC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,UAAU,CAAC;QAClD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,UAAU,CAAC;QAC1D,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC3Y,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YAChC,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7C,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;QACD,0BAA0B;QAE1B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACxF,QAAQ,CAAC,OAAO,CAAC,qBAAW;YAC5B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACvF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAE1B,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,SAAS,EAAE;gBAC5J,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;oBACnB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC,CAAC;gBACF,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aAC5E;iBACI;gBACH,KAAI,CAAC,aAAa,GAAG;oBACnB,EAAE,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;iBACrE,CAAC;gBACF,KAAI,CAAC,UAAU,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;gBAC7C,yCAAyC;gBACzC,KAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;aAChD;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC/D,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YACnB,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAEnD,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,MAAM,CAAC,QAAQ,GAAG,UAAU,KAAK;QAEjC,CAAC;IAEH,CAAC;IACD,oDAAmB,GAAnB,UAAoB,SAAS,EAAE,OAAO,EAAE,IAAI;QAA5C,iBA2DC;QA1DC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;gBACpB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,KAAK,EAAE,IAAI,CAAC,oEAAoE;aACjF,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,CAAC,CAAE,oCAAoC;aACxD,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;gBACxD,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC9C,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE;oBAEvE,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,oCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;iBACxE;gBACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,EAAE;oBACnC,IAAI,UAAU,GAAG,gDAAe,CAAC,oCAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,oCAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtG,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC;oBACxE,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,oCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;iBACzE;gBACD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAE3D,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;oBAChC,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,IAAI,cAAc,EAAE;wBAC3D,CAAC,CAAC,UAAU,CAAC;4BACX,qDAAqD;4BAErD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;wBACrD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;oBAGD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,gBAAgB,GAAG,oCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBAC1F,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAC/D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;wBACpB,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;wBACtC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,yCAAQ,GAAR,UAAS,GAAG,EAAE,OAAO;QACnB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC;QAClD,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,GAAG,CAAC;QAC7C,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SAChC;aACI;YACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YAEnB,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,EAAE,CAAC;YAEvC,oCAAoC;SACpC;IACH,CAAC;IAED,wCAAO,GAAP;QACE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,oBAAoB,GAAG;YAC1B,OAAO,EAAE,CAAC,+DAAc,CAAC;YACzB,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,cAAc;oBACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;oBACtB,gBAAgB,EAAE,UAAC,EAAQ;4BAAN,cAAI;wBACvB,OAAO,oCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;oBACzC,CAAC;iBACF;aACF;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,UAAU;YACxB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,eAAe,EACf;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS;gBACjB,cAAc,EAAE,KAAK;aACtB;YACD,UAAU,EAAE;gBACV,iBAAiB;gBACjB,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,SAAS;aACnB;YACD,aAAa,EACb;gBACE,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,+CAA+C;aACvD;YAED,eAAe;YACf,mBAAmB;YACnB,mBAAmB;YACnB,iBAAiB;YACjB,eAAe;YACf,iBAAiB;YACjB,sBAAsB;YACtB,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1C,aAAa,EAAE,UAAU,KAAK;YAC9B,CAAC;YACD,QAAQ,EAAE,UAAU,KAAK;gBACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,cAAc,EAAE;oBAEvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;iBACjD;YACH,CAAC;YACD,SAAS,EAAE,UAAU,KAAK;gBACxB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,UAAU,CAAC;oBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kHAAkH,CAAC,CAAC;gBACjK,CAAC,EAAE,CAAC,CAAC;YAEP,CAAC;YAED,OAAO,EAAE,UAAU,SAAS;gBAE1B,IAAI,SAAS,EAAE;oBACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,eAAe,EAAE,CAAC;iBACxB;qBACI;oBACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;iBAC3B;YAEH,CAAC;YACD,WAAW,EAAE,UAAU,KAAK;gBAC1B,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7E,CAAC;YACD,YAAY,EAAE,UAAU,KAAK;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClF,CAAC;YACD,UAAU,EAAE,UAAU,KAAK;gBACzB,CAAC,CAAC,UAAU,CAAC;oBAEX,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACxG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;wBAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAC;4BAClD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;4BACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;4BAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;4BAClC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,SAAS,EAAE;gCACpH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;6BACrB;4BACD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;gCACtC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;6BACrC;4BACD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gCAC5B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;gCACnC,IAAI,CAAC,aAAa,EAAE,CAAC;gCACrB,CAAC,CAAC,UAAU,CAAC;oCACX,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;oCACjC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oCACnD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;oCAC9D,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gCAEjF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;6BACV;yBACF;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAEX,CAAC;YACD,eAAe,EAAE,UAAU,KAAK;gBAAf,iBAuChB;gBAtCC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACvF,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAC,GAAG;wBAChC,OAAO,IAAI,UAAU,GAAG,GAAG,CAAC,eAAe,GAAG,eAAe,CAAC;oBAChE,CAAC,CAAC,CAAC;gBAEL,CAAC,CAAC,CAAC;gBAGH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAQ;oBAC1G,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;oBAE5B,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;oBACxC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACrI,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAChI,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzJ,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzJ,IAAI,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;oBAC/B,IAAI,OAAO,GAAG,oNAAoN;0BAC9N,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO;0BACpE,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,OAAO;0BAC1E,eAAe,GAAG,SAAS,GAAG,OAAO;0BACrC,OAAO;0BACP,OAAO;0BACP,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;0BAC3D,gBAAgB,GAAG,OAAO,GAAG,OAAO;0BACpC,QAAQ,CAAC;oBACb,CAAC,CAAC,KAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;wBAC3B,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;wBACjD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,KAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;wBAC3B,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;wBACjD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,eAAe,EAAE,UAAU,IAAI;gBAC9B,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;YAClC,CAAC;YACD,cAAc,EAAE,UAAU,KAAK;gBAC7B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,cAAc,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;gBAC1C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,aAAa,EAAE,UAAU,KAAK;gBAG5B,cAAc,GAAG,EAAE,CAAC;YAEtB,CAAC;SAEF,CAAC;QAKF,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YAEvC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB;YAC/D,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,0DAA0D;YACtF,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,gCAAgC;YAEtD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,kDAAiD;YAC3H,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,iDAAgD;YAExH,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,UAAU,OAAO;gBACtD,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,gBAAgB;oBAC5B,GAAG,EAAE,IAAI,CAAC,gBAAgB;iBAC3B,CAAC;YACJ,CAAC;SACF;QAGD,0BAA0B;QAC1B,4BAA4B;QAE5B,kBAAkB;QAClB,KAAK;QACL,8BAA8B;QAC9B,sBAAsB;QACtB,qDAAqD;QAErD,MAAM;QACN,qBAAqB;QACrB,YAAY;QAEZ,oBAAoB;QACpB,0BAA0B;QAC1B,yBAAyB;QACzB,+BAA+B;QAC/B,yCAAyC;QACzC,iDAAiD;QACjD,UAAU;QAEV,SAAS;QACT,oCAAoC;QACpC,qCAAqC;QACrC,uCAAuC;QACvC,yCAAyC;QACzC,uCAAuC;QAEvC,MAAM;QAEN,qCAAqC;QACrC,MAAM;QACN,kCAAkC;QAClC,gCAAgC;QAChC,yHAAyH;QACzH,oCAAoC;QACpC,+CAA+C;QAC/C,4CAA4C;QAC5C,4CAA4C;QAE5C,qDAAqD;QACrD,sCAAsC;QACtC,oCAAoC;QACpC,qEAAqE;QACrE,gFAAgF;QAChF,iGAAiG;QAEjG,+DAA+D;QAC/D,0EAA0E;QAC1E,2FAA2F;QAC3F,oBAAoB;QAGpB,WAAW;QACX,eAAe;QAEf,MAAM;QAEN,IAAI;QACJ,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;IAG9B,CAAC;IAED,qDAAoB,GAApB;QACE,CAAC,CAAC,UAAU,CAAC;YAEX,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QAEpO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAET,CAAC;IAED,4CAAW,GAAX,UAAY,IAAI;QACd,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE;YAC9B,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACnC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/C,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAI,IAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,OAAU,IAAI,SAAI,GAAG,SAAI,IAAM;SAChC;IAEH,CAAC;IACD,4CAAW,GAAX,UAAY,GAAG,EAAE,OAAO;QAAxB,iBAmJC;QAlJC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC7L,KAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC;gBACxC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,mBAAmB;gBAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,0DAA0D;gBACtG,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,gCAAgC;gBAEtD,IAAI,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,kDAAiD;gBACzH,IAAI,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;gBACtE,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACvC,WAAW,CAAC,OAAO,CAAC,qBAAW;oBAC7B,WAAW,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACzF,WAAW,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;oBACtI,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;oBACxI,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC;oBACzC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;oBAEzC,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;oBACxC,WAAW,CAAC,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAEjI,IAAI,WAAW,CAAC,MAAM,IAAI,MAAM,EAAE;wBAEhC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;4BACtE,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCAEpB,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;gCAClK,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCACxH,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCAClH,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC3D,eAAe,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAChP,WAAW,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,QAAO,EAAC,OAAM;6BACrE,CAAC,CAAC;yBACJ;6BACI;4BACH,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;gCAClK,KAAK,EAAE,WAAW,CAAC,gBAAgB;gCACnC,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC3D,eAAe,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC/O,WAAW,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;6BAExE,CAAC,CAAC;yBACJ;qBACF;yBACI,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,mBAAmB,IAAI,WAAW,CAAC,MAAM,IAAI,yBAAyB,IAAI,WAAW,CAAC,MAAM,IAAI,mBAAmB,IAAI,WAAW,CAAC,MAAM,IAAG,eAAe,EAAE;wBAC/N,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;4BACtE,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;gCAClK,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCACxH,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCAClH,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;gCAC/D,SAAS,EAAE,OAAO;gCAClB,eAAe,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,YAAW;gCACjF,WAAW,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;6BACxE,CAAC,CAAC;yBACJ;6BAAM;4BACL,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO;gCACvG,eAAe,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,YAAW;gCACjF,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;gCACnN,WAAW,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;6BAExE,CAAC,CAAC;yBACJ;qBACF;yBACI;wBACH,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;4BACtE,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE;gCAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ;gCACtF,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCACxH,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gCAClH,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC3D,eAAe,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAChP,WAAW,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;6BACxE,CAAC,CAAC;yBACJ;6BAAM;4BACL,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gCACpB,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC/E,eAAe,EAAE,CAAC,KAAI,CAAC,cAAc,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gCAC/O,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,GAAG,cAAc,GAAG,WAAW,CAAC,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,EAAE,EAAE,WAAW,CAAC,OAAO;6BAE/N,CAAC,CAAC;yBACJ;qBACF;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,KAAI,CAAC,KAAK,IAAI,IAAI,EAAE;oBACtB,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBAClD,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;oBAChC,KAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,EAAE,CAAC;oBACtC,KAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC;oBAClD,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;iBACrB;gBACD,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAEpD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,EAAE,CAAC;YACtC,mCAAmC;YACnC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SAErB;QACD,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;YACjC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,mBAAmB;YAC1C,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7D,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAEhE,IAAI,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAExD,EAAE,CAAC,oBAAoB,CAAC,UAAU,GAAG,UAAU,OAAO;gBACpD,OAAO;oBACL,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,OAAO;iBACb,CAAC;YACJ,CAAC;YACD,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEvC,CAAC,CAAC,CAAC;QAGH,CAAC,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;YACjC,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QAGH,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;YAC5B,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC;YAChC,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;YAC1B,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,+CAAc,GAAd,UAAe,QAAgB,EAAE,OAAe;QAE9C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,UAAG,CAAC,gBAAgB,IAAI,QAAQ,IAAI,GAAG,CAAC,gBAAgB,IAAI,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAzG,CAAyG,CAAC,CAAC,MAAM,CAAC;QACtL,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,UAAG,CAAC,gBAAgB,IAAI,QAAQ,IAAI,GAAG,CAAC,gBAAgB,IAAI,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAzG,CAAyG,CAAC,CAAC,MAAM,CAAC;QAEvL,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,UAAG,CAAC,gBAAgB,IAAI,QAAQ,IAAI,GAAG,CAAC,gBAAgB,IAAI,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAA3G,CAA2G,CAAC,CAAC,MAAM,CAAC;QAE3L,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,UAAG,CAAC,gBAAgB,IAAI,QAAQ,IAAI,GAAG,CAAC,gBAAgB,IAAI,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAjH,CAAiH,CAAC,CAAC,MAAM,CAAC;QAEjM,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,UAAG,CAAC,gBAAgB,IAAI,QAAQ,IAAI,GAAG,CAAC,gBAAgB,IAAI,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAlG,CAAkG,CAAC,CAAC,MAAM,CAAC;QAEnL,wCAAwC;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,UAAG,CAAC,gBAAgB,IAAI,QAAQ,IAAI,GAAG,CAAC,gBAAgB,IAAI,OAAO,EAAnE,CAAmE,CAAC,CAAC;QACvI,GAAG;IACH,CAAC;IAEH,4CAAW,GAAX,UAAY,SAAS,EAAE,KAAK,EAAE,MAAM;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,OAAO,UAAU,CAAC,EAAE,CAAC;YACnB,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC;gBAAE,OAAO,CAAC,CAAC;iBACrD,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC;;gBACrC,OAAO,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC;IAED,iDAAgB,GAAhB,UAAiB,YAAY,EAAE,IAAI;QAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,CAAC,CAAC,6DAA6D,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAC1G,CAAC,CAAC,4DAA4D,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;QAC5H,CAAC,CAAC,4DAA4D,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;QAC5H,CAAC,CAAC,mEAAmE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAChH,CAAC,CAAC,oEAAoE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QACjH,CAAC,CAAC,oEAAoE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QACjH,CAAC,CAAC,+DAA+D,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAC5G,CAAC,CAAC,gDAAgD,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wEAAwE,CAAC,CAAC;QAC5I,CAAC,CAAC,2CAA2C,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;IAErH,CAAC;IAED,6CAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IACrD,CAAC;IACD,+CAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QACd,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,EAAE,CAAC;YACtC,oCAAoC;YACpC,oCAAoC;YACpC,oCAAoC;YACrC,oCAAoC;YAEnC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SACnC;IACH,CAAC;IACD,4CAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAErG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IACrD,CAAC;IACD,8CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,EAAE,CAAC;QAEtC,mCAAmC;IAErC,CAAC;IAED,2CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,sDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,wDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,sDAAqB,GAArB;QACE,IAAI,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,EAAE;YACvD,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAChG,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,GAAG,KAAK,CAAC;SAC7D;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACvO,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,sDAAqB,GAArB,UAAsB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QACrF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,OAAO,8CAA8C,CAAC;qBACvD;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK;gBACjM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACrP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAElT,CAAC;IACJ,CAAC;IACD,6BAA6B;IAC7B,uBAAuB;IACvB,8BAA8B;IAC9B,iCAAiC;IACjC,gCAAgC;IAChC,mCAAmC;IACnC,eAAe;IACf,aAAa;IACb,GAAG;IACH,iDAAgB,GAAhB;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;SACF;IAEH,CAAC;IAED,iDAAgB,GAAhB;QACI,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC,YAAY,EAAE,UAAC,MAAM;oBACrF,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnD,CAAC;aACF;YACD;gBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;oBACnE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxD,CAAC;aACF;YACD;gBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAC,IAAI,EAAE,KAAK;aACxD;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;aACzD;YACD;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;aAC1D;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;aACxD;YACD;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK;aACjE;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;aACnD;YACD;gBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;aACvD;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;aACnD;SAEF,CAAC;IAEN,CAAC;IACD,wBAAwB;IACxB,uBAAuB;IACvB,8BAA8B;IAC9B,4BAA4B;IAC5B,gCAAgC;IAChC,8BAA8B;IAC9B,eAAe;IACf,aAAa;IACb,GAAG;IACH,8CAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,4CAAW,GAAX;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,UAAU,MAAM;gBACjE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,mDAAkB,GAAlB,UAAmB,QAAQ;QAEzB,+DAA+D;QAC/D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,8CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,kDAAiB,GAAjB;QAEE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC;SACjJ;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QAEtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,4DAA4D;IAE9D,CAAC;IAGD,oDAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBAwDC;QAvDC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE;gBACrE,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QACD,mDAAmD;QACnD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAC5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,iBAAO;gBACjB,IAAI,OAAO,CAAC,MAAM,IAAI,cAAc,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,cAAc,EAAE;oBACjG,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;iBACvG;qBAAM,IAAI,OAAO,CAAC,MAAM,IAAI,cAAc,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,cAAc,EAAE;oBACxG,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;iBACvG;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,KAAK,CAAC;iBACpE;YAGH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SACH;aACI;YACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACrF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,kBAAuB,CAAC;oBAC5B,kBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,kBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEhH,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;wBAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;wBACnD,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;qBAC9C,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,4BAA4B;IAE5B,IAAI;IACJ,2DAA2D;IAC3D,8DAA8D;IAC9D,kCAAkC;IAClC,yCAAyC;IACzC,iCAAiC;IACjC,yCAAyC;IAEzC,YAAY;IACZ,4CAA4C;IAC5C,yCAAyC;IACzC,iCAAiC;IACjC,6CAA6C;IAC7C,kDAAkD;IAClD,OAAO;IACP,YAAY;IACZ,mDAAmD;IACnD,OAAO;IACP,KAAK;IAIL,GAAG;IAEH,kDAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB;gBAC/D,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,0DAA0D;gBACtG,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,gCAAgC;gBACtD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,kDAAiD;gBAC3H,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,iDAAgD;gBACxH,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,UAAU,OAAO;oBACtD,OAAO;wBACL,KAAK,EAAE,QAAQ;wBACf,GAAG,EAAE,OAAO;qBACb,CAAC;gBACJ,CAAC;aACF;SACF;aAAM;YACL,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,mBAAmB;YAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,0DAA0D;YACtG,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,gCAAgC;YACtD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,kDAAiD;YAC3H,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,iDAAgD;YACxH,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,UAAU,OAAO;gBACtD,OAAO;oBACL,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,OAAO;iBACb,CAAC;YACJ,CAAC;YACD,qDAAqD;YACrD,CAAC,CAAC,4CAA4C,CAAC,CAAC,KAAK,EAAE,CAAC;SACzD;IACH,CAAC;IAED,qDAAoB,GAApB,UAAqB,QAAQ;QAA7B,iBAgBC;QAdC,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI;QACzF,4BAA4B;QAC5B,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAE/B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC7F,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC1B,KAAI,CAAC,EAAE,GAAG,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YACrC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAClC,KAAI,CAAC,UAAU,GAAG,CAAC,KAAI,CAAC,UAAU,CAAC;YACnC,KAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAgB,GAAhB,UAAiB,MAAM;QACrB,8CAA8C;QAC9C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC;YAEX,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC5C;iBAAM;gBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;aACjD;YACD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,2CAAU,GAAV;QACE,UAAU,CAAC;YACT,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qIAAqI,CAAC,CAAC;QAE/K,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,mDAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,yCAAQ,GAAR;QACE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpB,CAAC;IACD,+CAAc,GAAd;QAEE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;QACH,mCAAmC;IACrC,CAAC;IAED,oDAAmB,GAAnB,UAAoB,EAAE,EAAE,IAAI;QAA5B,iBAcC;QAbC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACnF,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAE5B,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QAE9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAW,GAAX,UAAY,GAAG;QACb,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,qDAAqD;QACrD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,kDAAiB,GAAjB,UAAkB,OAAO;QACvB,sCAAsC;QACtC,kCAAkC;QAClC,mCAAmC;QACnC,6EAA6E;QAC7E,8EAA8E;QAC9E,8BAA8B;QAC9B,SAAS;QACT,0BAA0B;QAC1B,qBAAqB;QACrB,wDAAwD;QACxD,uCAAuC;QACvC,OAAO;QACP,mDAAmD;QACnD,mCAAmC;QACnC,OAAO;QACP,yBAAyB;QACzB,qGAAqG;QACrG,OAAO;QACP,GAAG;QACH,wCAAwC;QACxC,4EAA4E;QAC5E,6BAA6B;QAC7B,0BAA0B;QAC1B,qBAAqB;QACrB,oDAAoD;QACpD,mCAAmC;QACnC,OAAO;QACP,mDAAmD;QACnD,mCAAmC;QACnC,OAAO;QACP,yBAAyB;QACzB,6FAA6F;QAC7F,OAAO;QACP,GAAG;QACH,8BAA8B;QAC9B,iCAAiC;QACjC,qCAAqC;QACrC,0CAA0C;QAC1C,sDAAsD;QACtD,qCAAqC;QACrC,wBAAwB;QACxB,qBAAqB;QACrB,4BAA4B;QAC5B,0CAA0C;QAC1C,uFAAuF;QACvF,UAAU;QAGV,+BAA+B;QAG/B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;IAExB,CAAC;IACD,+CAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,+CAAc,GAAd,UAAe,GAAG;QAChB,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjB;aAAM;YACL,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAO,CAAC,EAAE,EAAE,SAAO,CAAC,IAAI,CAAC,CAAC;gBAC5D,SAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAO,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACpE,SAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,SAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACD,8CAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IAED,qDAAoB,GAApB,UAAqB,QAA6B;QAChD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;gBAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;aACvE;SACF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,8CAAa,GAAb;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iHAAiH,CAAC,CAAC;QAC5J,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,gDAAe,GAAf;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kIAAkI,CAAC,CAAC;QAC/K,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,qDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;YACnC,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,+CAA+C,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACpF,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;SAC/H;aAAM;YACP,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC1B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,+CAA+C,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBACnF,CAAC,CAAC,+CAA+C,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACrF,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAER;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,iDAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAC5K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI;SACtI,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;SACtC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IACD,4CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAC7C,CAAC;IACD,+CAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAE9B,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,gDAAgD,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0EAA0E,CAAC,CAAC;gBAC9I,CAAC,CAAC,2CAA2C,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;YACnH,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,gDAAgD,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wEAAwE,CAAC,CAAC;gBAC5I,CAAC,CAAC,2CAA2C,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;YACnH,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;IACH,CAAC;IACD,gDAAe,GAAf;QACE,UAAU,CAAC;YACT,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qIAAqI,CAAC,CAAC;QAClL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,yCAAQ,GAAR,UAAS,GAAG;QACV,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACvE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SACpD;IACH,CAAC;IACD,sCAAK,GAAL;QACE,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IACH,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGCrmDK,oQAA6J,KAC3J,4IAAsB,KACpB,mNAAyF,KAE3F,4IAAsB,0JAA+B,4FAAe,MACpE,4IAAsB,2MAA4E;uGAOhG,iLAA8E,KAC5E,0MAAuD,YAA/C;;wBAAsB;MAA9B,wBAAuD,KAAC,2MAAiF;uGAYrI,2MAAiF,YAAzE;;wBAAuB;MAA/B,wBAAiF,KAAC,kMAAwE;uGAC1J,2MAA8E,YAAtE;;wBAAqB;MAA7B,wBAA8E,KAAC,iMAAuE;uGAR5J,kjBAAqH,IACnH,2LAA+D,KAG/D,2MAA+E,KAE7E,6IAAuB,KACrB,0YAAiF,IACjF,0YAA8E,iDAR/E,kEAAuD,GAA5D,YAAqH,EAAhH,SAAuD,GAOtB,oBAAuB,iBAAvD,YAAiF,EAAjD,SAAuB,GACzB,mBAAsB,iBAApD,YAA8E,EAAhD,SAAsB;uGAMtD,2MAAiF,YAAzE;;wBAAuB;MAA/B,wBAAiF,KAAC,kMAAwE;wGAC1J,2MAA8E,YAAtE;;wBAAqB;MAA7B,wBAA8E,KAAC,gMAAsE;uGAHzJ,uMAAoG,KAClG,0LAA8D,KAC5D,0YAAiF,IACjF,2YAA8E,iDAD9C,oBAAuB,iBAAvD,YAAiF,EAAjD,SAAuB,GACzB,mBAAsB,iBAApD,YAA8E,EAAhD,SAAsB;uGAxB5D,+KAAmG,KAEjG,iLAAqD,KACnD,0YAA8E,IAI9E,ujBAAgG,IAEhG,0YAAqH,IAYrH,0YAAoG,iDAlB/C,qCAAwB,GAA7E,YAA8E,EAAzB,SAAwB,GAIxE,iEAAsD,GAA3D,YAAgG,EAA3F,SAAsD,GAEiC,qCAAwB,GAApH,YAAqH,EAAzB,SAAwB,GAYzC,qCAAwB,GAAnG,YAAoG,EAAzB,SAAwB;wGAUrG,yKAAqE,KACnE,0MAAwE,KACxE,qRAO6D,YAA1C;;wBAAyC;MAP5D,8/CAO6D,mDAN1C,mBAAgC,mBAGhC,mBAAoB,WAFpB,mBAA8B,kBAC9B,mBAAwD,yCAGxD,mBAAmB,UADnB,oBAAmB,EALtC,YAO6D,EAN1C,SAAgC,EAGhC,SAAoB,EAFpB,SAA8B,EAC9B,SAAwD,EAGxD,SAAmB,EADnB,SAAmB;wGAawC,wHAAsC,gFAAG;wGAAO,wHAAsC,+EAAE;wGAMhK,wHAA2E,ucAE3E;wGAMA,wHAAsC,6MAA2B;wGAejE,wHAA2E,gPAAwD;wGAnCzI,wNAAmH,KACjH,iPAAqH,8FAErH,MACA,qMAAyE,KACvE,2LAA+D,6HAAM,yFAAY,MACjF,sMAA0E,gZAAsC,IAAU,4YAAsC,IAGlK,sMAAyE,KACvE,4LAA+D,8HAAM,2FAAc,MACnF,uMAA0E,KACxE,4YAA2E,IAK/E,sMAAyE,KACvE,2LAA8D,8HAAM,sFAAS,MAC7E,uMAA0E,KACxE,4YAAsC,IAG1C,sMAAyE,KACvE,2LAA8D,KAC5D,yHAAM,2FAAc,MAEtB,uMAA0E,mFAE1E,MAGF,sMAAyE,KACvE,2LAA8D,8HAAM,oFAAO,MAC3E,sNAAyF,KACvF,4YAA2E,IAG/E,sMAAyE,KACvE,4LAA+D,8HAAM,0FAAa,MAClF,uMAA0E,iFAAiB,MACvF,uHAAM,KACZ,wNAA2F,KACzF,4LAA+D,8HAAM,yFAAY,MACjF,uMAA0E,iFAA2B,MAIvG,sMAAyE,KACvE,4LAA+D,8HAAM,sFAAS,MAC9E,uMAA0E,iFAAyB,MAErG,sMAAyE,KACvE,4LAA+D,8HAAM,+FAAkB,MACvF,sNAAyF,KACvF,yHAAM,mFAEN,MAGJ,sMAAyE,KACvE,2LAA8D,8HAAM,gFAAG,MACvE,uMAA0E,iFAAmB,MAG/F,sMAAyE,KACvE,4LAA+D,8HAAM,+EAAE,MACvE,uMAA0E,iFAAkB,MAG9F,sMAAyE,KACvE,2LAA8D,8HAAM,gFAAG,MACvE,uMAA0E,iFAAmB,MAE/F,sMAAyE,KACvE,4LAA+D,8HAAM,6FAAgB,MACrF,uMAA0E,iFAAkC,MAG9G,sMAAyE,KACvE,4LAA+D,8HAAM,6FAAgB,MACrF,uMAA0E,iFAAkC,MAG9G,sMAAyE,KACvE,2LAA8D,8HAAM,6FAAgB,MACpF,uMAA0E,kFAAkC,mDAhF5B,8CAA+B,GAArC,YAAsC,EAAhC,SAA+B,GAAiB,8CAA+B,GAArC,aAAsC,EAAhC,SAA+B,GAMvJ,sFAAoE,IAA1E,aAA2E,EAArE,SAAoE,GAQpE,mBAA+B,0BAArC,aAAsC,EAAhC,SAA+B,GAe/B,sFAAoE,IAA1E,aAA2E,EAArE,SAAoE,mDARF,+IAE1E,GAW0E,2DAAiB,GAIjB,qEAA2B,GAM3B,mEAAyB,GAK3F,iJAEN,GAKwE,+DAAmB,GAKnB,8DAAkB,GAKlB,+DAAmB,GAInB,8EAAkC,GAKlC,8EAAkC,GAKlC,+EAAkC;wGAaxG,qMAA6G,0MAA6B;wGAC1I,qMAA6G,0MAA6B;wGAU9I,4SAA8N,KAC5N,sNAA0F,wGAE1F;wGAcM,sLAA6G,KAC3G,wHAAM,KACJ,iRAAyK,YAAlE;;wBAA+D;MAAtK,wBAAyK,KAE3K,wHAAM,KACJ,uRAA8K,YAAlE;;wBAA+D;MAA3K,wBAA8K,gCAHvF,mHAAe,GAAtG,YAAyK,EAAlF,SAAe,GAGT,kHAAc,GAA3G,YAA8K,EAAjF,SAAc;wGANjH,kLAAsF,KACpF,odAA6G,yBAAvG,kBAA4C,mCAAlD,YAA6G,EAAvG,SAA4C;wGApC9D,6NAA8H,KAC5H,mNAAuF,KACrF,kKAA4C,mFAAM,MAClD,oLAA8D,kFAAkB,MAElF,yMAA4E,KAC1E,oMAAuE,KACrE,uKAA2C,KACzC,4YAA6G,IAC7G,4YAA6G,IAC7G,kLAAqD,KACnD,kLAA2D,uFAAmB,MAC9E,sMAA4D,YAAjC;;wBAAgC;MAA3D,wBAA4D,oJAAwB,KAI1F,qQAAwI,mFAExI,MACA,4YAA8N,IAO9N,2MAA6E,KAC3E,8OAAgH,KAC9G,sKAAyC,KAEvC,uJAAgC,KAC9B,kPAA2F,YAA1B;;wBAAuB;MAAxF,wBAA2F,KAG/F,sKAAyC,KACvC,4YAAsF,IAWxF,sKAAyC,KACvC,iJAA0B,KACxB,qOAA4F,YAAxE;;wBAA6B;MAAjD,wBAA4F,oFAAO,MACnG,gQAAqH,YAAjG;;wBAA4B;MAAhD,wBAAqH,0FAAW,mDAzC7H,qCAA6B,GAApC,aAA6G,EAAtG,SAA6B,GAC7B,qCAA6B,GAApC,aAA6G,EAAtG,SAA6B,GAUjB,gEAA6C,mBAApE,aAA8N,EAAvM,SAA6C,GAgBF,kBAAyB,iCAArF,aAAsF,EAA1B,SAAyB,2BAhC7B,qEAAkB,GAQf,mEAAmB,GAKoD,8EAExI,GA8B0D,sHAAmB,GAArE,aAA4F,EAA1C,SAAmB,GACpB,qHAAkB,GAAnE,aAAqH,EAApE,SAAkB;wGAQ/E,gNAA6J,KAC3J,iPAA2H,2FAAc;wGAtJ7I,6JAA8D,KAC5D,2YAAmH,IA2FnH,odAA8H,IAyD9H,2YAA6J,iDApJxJ,qCAAwB,GAA7B,YAAmH,EAA9G,SAAwB,GA2FmE,mBAA6B,WAA7H,YAA8H,EAA9B,SAA6B,GAyDzC,qGAAwE,IAA5J,YAA6J,EAAzE,SAAwE;wGAnKhK,sLAA2G,KACzG,2YAAqE,IAarE,2YAA8D,iDAbjB,oBAAuB,iBAApE,YAAqE,EAAxB,SAAuB,GAa/D,mBAAsB,iBAA3B,YAA8D,EAAzD,SAAsB,mDAdgC,0CAA6C,GAA1G,YAA2G,EAA9C,SAA6C;wGAqLxG,uPAAuI,KACrI,qSAAsI,YAA3G;;wBAAsB;MAAjD,wBAAsI,mFAAM,MAC5I,uVAAsL,YAA9I;;wBAAoB;MAA5D,wBAAsL,kFAAK;wGAf/L,kLAAwE,KACtE,6MAAiF,KAC/E,oLAA8D,4FAAe,MAO/E,oNAAkF,KACjF,kPAC0C,YADM;;wBAAiC;MAAjF,0rBAC0C,MAE3C,2YAAuI,iDAHrH,mBAA8B,gBAAC,mBAAiC,kBAAjF,YAC0C,EADzB,SAA8B,EAAC,SAAiC,GAGmC,mBAAiB,YAAtI,YAAuI,EAAlB,SAAiB;uGA/N5I,oNAA6H,KAE3H,kjBAAuF,IACrF,0YAA6J,IAS7J,0YAAmG,IA8BnG,2YAA2G,IAwK3G,4YAAwE,iDAhNrE,uDAAkD,GAAvD,YAAuF,EAAlF,SAAkD,GACmF,mBAAoB,UAA5J,YAA6J,EAArB,SAAoB,GASzG,4DAA+C,IAAlG,YAAmG,EAAhD,SAA+C,GA8BxD,oBAAkB,YAA5D,YAA2G,EAAjE,SAAkB,GAwKvD,mBAAiB,YAAtB,aAAwE,EAAnE,SAAiB;wGAyBlB,8QAAyI,YAA7B;;wBAA4B;MAAxI,wBAAyI;wGAKzI,2QAAoJ,YAA7C;;wBAAwB;MAA/H,wBAAoJ;wGAT5J,2JAAyD,KACvD,oMAAuE,KACrE,gMAAmE,KACjE,4IAAsB,KACpB,2YAAyI,IAG3I,4IAAsB,KAAC,iJAA2B,mGAAuD,MACzG,4IAAsB,KACpB,4YAAoJ,IAEtJ,6IAAsB,KACtB,iMAAoE,KAClE,uPAA0G,YAApC;;wBAAiC;MAAvG,wBAA0G,KAKhH,qKAAwC,kDAd/B,sCAAyB,GAA5B,YAAyI,EAAtI,SAAyB,GAKzB,+DAA2C,IAA9C,aAAoJ,EAAjJ,SAA2C,mDAFE,kHAAuD;wGAoB7G,iMAA8L,YAA9C;;wBAA6C;MAA7L,6uCAA8L,mDAAjJ,mBAAmB,QAAsB,oBAA2B,EAAC,mBAA6B,eAA9E,mBAAoB,MAArF,YAA8L,EAAjJ,SAAmB,EAAsB,SAA2B,EAAC,SAA6B,EAA9E,SAAoB;wGACrF,iMAAsM,YAA9C;;wBAA6C;MAArM,6uCAAsM,mDAAzJ,mBAAuB,YAA0B,oBAA2B,EAAC,mBAA6B,eAAlF,mBAAwB,UAA7F,YAAsM,EAAzJ,SAAuB,EAA0B,SAA2B,EAAC,SAA6B,EAAlF,SAAwB;wGAJ/F,iJAAiD,KAC/C,6IAAuB,2JAAgC,mGAAsB,MAC7E,4IAAsB,6LAA4D,2PAAsH,YAAhD;;wBAA6C;MAAnH,wBAAsH,KACxM,2YAA8L,IAC9L,4YAAsM,IACtM,8SAAsJ,YAAvH;;wBAAwB;MAAvD,wBAAsJ,0FAAa,mDAF/I,qCAAwB,GAA5C,YAA8L,EAA1K,SAAwB,GACxB,qCAAwB,GAA5C,aAAsM,EAAlL,SAAwB;wGAkC1C,wKAAyF,KACvF,uKAA2C,KACzC,yHAAO,qFAAQ,MAGjB,uKAA2C,KACzC,yHAAO,4MAA0B;wGAgCrC,yQAAgI,YAAjF;;wBAAoB;MAAnE,wBAAgI,iFAAI;wGACpI,8OAAiH,YAAnF;;wBAA0B;MAAxD,wBAAiH,iFAAI;wGAtEzH,wUAC2G,KACzG,2OAA+G,KAG/G,iOAAqG,KACnG,4IAAsB,KACpB,iJAA2B,kFAAK,MAElC,2RAA+J,KAC7J,qHAAG,oPAAgG,YAAjC;;wBAA8B;MAA7F,wBAAgG,KAGvG,sHAAI,KACJ,0LAA4D,KAC1D,yKAA4C,KAC1C,wKAA2C,KACzC,0HAAO,0FAAa,MAEtB,wKAA2C,KACzC,0HAAO,+IAA4C,IAGvD,yKAA4C,KAC1C,wKAA2C,KACzC,0HAAO,0FAAa,MAEtB,wKAA2C,KACzC,0HAAO,+IAAyC,IAGpD,4YAAyF,IASzF,yKAA4C,KAC1C,wKAA2C,KACzC,0HAAO,qFAAQ,MAEjB,wKAA2C,KACzC,0HAAO,kFAA0B,MAGrC,yKAA4C,KAE1C,wKAA2C,KACzC,0HAAO,wFAAW,MAEpB,wKAA2C,KACzC,0HAAO,kFAAmB,MAG9B,yKAA4C,KAC1C,wKAA2C,KACzC,0HAAO,mFAAM,MAGjB,2OAA8G,KAC5G,2IAAmD,IAGvD,0DAAY,IAEZ,6LAAgE,KAC9D,4YAAgI,IAChI,4YAAiH,iDAvC1F,gEAA4C,IAAnE,aAAyF,EAAlE,SAA4C,GAsC7D,mBAAuB,kBAA7B,aAAgI,EAA1H,SAAuB,GACvB,mBAAuB,kBAA7B,aAAiH,EAA3G,SAAuB,mDAlDlB,8NAA4C,GAQ5C,2NAAyC,GAiBzC,mEAA0B,GAS1B,4DAAmB,GASrB,mBAA2C,gCAAlD,aAAmD,EAA5C,SAA2C;wGAUxD,0MAA4D,YAAhD;;wBAAoB;MAAhC,+ZAA4D,MAC1D,2LAA6H,YAAxC;;wBAAuC;MAA5H,w8BAA6H,mDADnH,mBAAoB,SAAhC,YAA4D,EAAhD,SAAoB,GACb,mBAAmB,QAAC,yBAA0B,EAAC,uBAAoB,EAApF,YAA6H,EAA5G,SAAmB,EAAC,SAA0B,EAAC,SAAoB;wGAIxF,mNAAoF,YAAxE;;wBAA4B;MAAxC,+ZAAoF,MAClF,0MAAiF,KAC/E,oLAA8D,4FAAe,MAE/E,4LAAmE,KACjE,gOAA2G,YAAvE;;wBAAiC;MAArE,0rBAA2G,MAE7G,sPAAuH,KACrH,sSAA6I,YAAlH;;wBAA6B;MAAxD,wBAA6I,mFAAM,MACnJ,wVAAsL,YAA9I;;wBAAoB;MAA5D,wBAAsL,kFAAK,mDATnL,mBAA4B,iBAAxC,YAAoF,EAAxE,SAA4B,GAK/B,mBAA8B,gBAAC,mBAAiC,kBAArE,YAA2G,EAAtG,SAA8B,EAAC,SAAiC;wGAQzE,wNAAmG,YAAvF;;wBAAiC;MAA7C,+ZAAmG,MAEjG,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,KAC9E,iJAA2B,0FAAa,MAAI,sHAAM,KAClD,2JAAqC,KACnC,kJAA2B,gHAAmC,MAAI,uHAAM,KAE1E,0RAA+I,YAA3H;;wBAAqC;MAAzD,wBAA+I,+EAAE,mDARzI,mBAAiC,sBAA7C,YAAmG,EAAvF,SAAiC;2WAlW7C,yQAAsI,KACpI,0YAA6H,IAuO7H,2YAAyD,IAwBzD,2YAAiD,IAOjD,4YAC2G,IAwE3G,4YAA4D,IAK9D,4YAAoF,IAapF,4YAAmG,iDAjWV,yCAAqC,gBAA5H,YAA6H,EAAtC,SAAqC,GAuOxF,mBAAoB,eAAxD,YAAyD,EAArB,SAAoB,GAwBnD,mBAAsB,iBAA3B,YAAiD,EAA5C,SAAsB,GAOtB,mBAAgB,WAArB,aAC2G,EADtG,SAAgB,GAyEY,mBAAc,SAA/C,aAA4D,EAA3B,SAAc,GAKR,mBAAsB,iBAA/D,aAAoF,EAA3C,SAAsB,GAajB,mBAA2B,sBAAzE,aAAmG,EAArD,SAA2B;;;;;;;;;;;;;;;;AClWzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAC0D;AACnD;AACd;AAEA;AACuB;AACA;AACQ;AAChB;AACM;AACX;AACc;AACoB;AACtC;AACa;AACD;AAG7D;IA0DE,2BAAoB,IAAgB,EAAU,KAAqB,EAAU,gBAAkC,EAAU,eAAgC,EAAU,WAAwB,EACjL,MAAc,EAAU,MAAqB,EAAU,QAAkB,EAAU,iBAAsC,EAAU,eAAgC,EACpK,oBAA0C,EAAE,SAAqB;QAFtD,SAAI,GAAJ,IAAI,CAAY;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAa;QACjL,WAAM,GAAN,MAAM,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QACpK,yBAAoB,GAApB,oBAAoB,CAAsB;QAjD1C,YAAO,GAAY,IAAI,CAAC;QAGxB,aAAQ,GAAW,MAAM,CAAC;QAInC,kBAAa,GAAW,CAAC,CAAC;QAE1B,sBAAiB,GAAmB,EAAE,CAAC;QAEvC,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAC3B,aAAQ,GAAY,KAAK,CAAC;QACnB,cAAS,GAAU,IAAI,mDAAK,EAAE,CAAC;QAGtC,SAAI,GAAW,EAAE,CAAC;QAClB,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,cAAS,GAAY,KAAK,CAAC;QAAC,mBAAc,GAAY,KAAK,CAAC;QAC5D,mBAAc,GAAY,KAAK,CAAC;QAIhC,oBAAe,GAAY,KAAK,CAAC;QAEjC,WAAM,GAAY,KAAK,CAAC;QAExB,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAY,KAAK,CAAC;QAC9B,iBAAY,GAAY,IAAI,CAAC;QAC7B,qBAAgB,GAAU,EAAE,CAAC;QAC7B,sBAAiB,GAAW,CAAC,CAAC;QACvB,iBAAY,GAAW,EAAE,CAAC;QAC1B,aAAQ,GAAG,KAAK,CAAC;QAExB,kBAAa,GAAW,CAAC,CAAC;QACnB,cAAS,GAAW,EAAE,CAAC;QACvB,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAC9H,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QAEnC,iBAAY,GAAY,KAAK,CAAC;QAE9B,wBAAmB,GAAY,KAAK,CAAC;QACrC,mBAAc,GAAoB,IAAI,uEAAe,EAAE,CAAC;QAGxD,YAAO,GAAa,IAAI,sEAAQ,EAAE,CAAC;QAKjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,oCAAQ,GAAR;QAAA,iBAuBC;QArBC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;QAC/C,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;YAElC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACjD,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;aAC5B;YACD,KAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAI,CAAC,KAAK,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;YAEjC,IAAI,KAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;gBAC5B,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpB;iBAAM;gBACL,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnB;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAY,GAAZ,UAAa,QAAQ;QACnB,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;SACF;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IAEH,CAAC;IACD,gCAAI,GAAJ;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAEM,uCAAW,GAAlB,UAAmB,SAAS,EAAE,IAAI;QAAlC,iBAkBC;QAjBC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACjB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9C,KAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAC/B,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA3B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAgB,GAAhB,UAAiB,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAgC,EAAE,OAAe;QAAlG,iBAyBC;QAzBgD,6DAAgC;QAC/E,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACpH,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAE/E,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACjC,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,EAAhB,CAAgB,CAAC,CAAC;YAC1D,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA3B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC;oBAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;iBAC5E;gBAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAE7C;aAEF;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,sCAAU,GAAV;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAEzB,CAAC;IACD,sCAAU,GAAV;QAEE,IAAI,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4HAA4H,CAAC,CAAC;YAC3K,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;SAE7D;QACD,UAAU,CAAC;YACT,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,6CAAiB,GAAjB;QACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,UAAU,CAAC;YACT,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,2CAAe,GAAf,cAAoB,CAAC;IACrB,gCAAI,GAAJ,UAAK,GAAG;QACN,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;IACH,CAAC;IAED,iDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SAEvO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;YAChB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAElC,CAAC;IACD,iDAAqB,GAArB,UAAsB,GAAG,EAAc,aAA8B;QAA1C,qDAA0C;QACnE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YAED;gBACE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,YAAY,YAAC,MAAM;oBAC1I,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;wBAC1D,IAAI,CAAC,SAAS,GAAG,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;qBAC1E;yBAAM;wBACL,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;qBAC/B;oBAGD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,EAAE;gBACD,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG;aAC1F;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACpM,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAC,KAAK,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACnM;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK;gBACjM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,8FAA8F;qBAAG;yBACtI;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAChM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAG,KAAK,EAAE;SAE5L,CAAC;IAEJ,CAAC;IAED,4CAAgB,GAAhB,UAAiB,MAAM;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;SAC9B;QACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;SAC7B;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,2CAAe,GAAf;QAAA,iBAeG;QAdD,IAAI,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzD,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAClE,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAClC,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SAAC;aAAM;YACV,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC5D,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAElC,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;SACJ;IAED,CAAC;IAEH,6CAAiB,GAAjB,UAAkB,KAAK;QAAvB,iBAuBC;QAtBC,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAO;YACnE,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACvD,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;aACrE;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAO;YAC/D,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;gBACvD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aACvE;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChF,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;aAC9B;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAO;YAErD,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAE9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAe,GAAf,UAAgB,GAAG,EAAE,YAAY;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC;QAC7C,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEV,CAAC;IAED,oDAAwB,GAAxB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0KAA0K,CAAC,CAAC;QACjN,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,mCAAO,GAAP,UAAQ,IAAI;QAAZ,iBAkBC;QAjBC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC3E,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACjD,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAEjD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;IAEH,CAAC;IAGD,oCAAQ,GAAR,UAAS,UAAU,EAAE,IAAI,EAAC,KAAK;QAE7B,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACnD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QAEzD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAGlC,CAAC;IACD,wCAAY,GAAZ,UAAa,UAAU;QAAvB,iBA0BC;QAzBC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,4DAA4D;QAC5D,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,MAAM,CAAC,eAAe,IAAI,KAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;oBAChE,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;oBACnC,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,KAAI,CAAC,YAAY,GAAG,IAAI;oBACxB,CAAC,CAAC,UAAU,CAAC;wBACX,0CAA0C;wBAC1C,SAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAET,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;oBACzC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC3B;qBACI;oBACH,KAAI,CAAC,sBAAsB,EAAE,CAAC;iBAC/B;aACF;iBACI;aAEJ;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAsB,GAAtB;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,UAAU,CAAC;YACT,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QACxK,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,0CAAc,GAAd,UAAe,YAAY;QACzB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,0DAA0D,CAAC;QAClH,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uKAAuK,CAAC,CAAC;IAC3M,CAAC;IAED,kCAAM,GAAN,UAAO,UAAU,EAAE,IAAI;QACrB,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACvE,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,IAAI,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE;gBACf,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC;gBAClC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1B;iBACI;gBACH,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;gBACxE,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;gBACtE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;aAC3B;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IACD,sCAAU,GAAV,UAAW,MAAM;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;IACpF,CAAC;IACD,qCAAS,GAAT,UAAU,MAAM;QACd,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,gCAAgC;QAChC,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACvD,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;IACnF,CAAC;IAED,4CAAgB,GAAhB;QACE,uBAAuB;QACvB,+DAA+D;QAE/D,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,wGAAwG;QAEtG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAC/D,UAAU;QACV,yBAAyB;QACzB,kCAAkC;QAClC,GAAG;IACL,CAAC;IACD,wCAAY,GAAZ;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAEjE,CAAC;IAED,6CAAiB,GAAjB,UAAkB,GAAG;QAEnB,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;SAC5B;IAEH,CAAC;IACD,gDAAoB,GAApB,UAAqB,GAAG;QAEtB,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SACzB;IACH,CAAC;IAED,wCAAY,GAAZ;QAEE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,8CAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,oCAAQ,GAAR;QACE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,0CAAc,GAAd,UAAe,GAAG;QAChB,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;YAChH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC;IAID,oCAAQ,GAAR;QAAA,iBAsBC;QArBC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/C,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAGlD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE5B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAID,iCAAK,GAAL,UAAM,GAAG;QAAT,iBA0CC;QAzCC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACjG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvB,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;oBACxC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;iBACxH;qBAAM;oBACL,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;iBACpG;YAEH,CAAC,CAAC,CAAC;SAEJ;aAAM,IAAI,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE;YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;SACpG;aACI,IAAI,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACpG,KAAK,CAAC,OAAO,CAAC,cAAI;oBAChB,IAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;oBAClE,IAAI,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAErE,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;oBAA3B,IAAI,IAAI;oBACX,IAAI,IAAI,CAAC,eAAe,EAAE;wBACxB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC;wBAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;qBAC5E;oBACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;wBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC7C;iBACF;gBACD,KAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;gBAC/B,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE9B,CAAC,CAAC,CAAC;SACJ;IAGH,CAAC;IAED,sCAAU,GAAV,UAAW,GAAG;QAAd,iBAqBC;QApBC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QACpH,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;QAC1H,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE5B,CAAC,CAAC,CAAC;SACJ;IAGH,CAAC;IACD,0CAAc,GAAd;IAEA,CAAC;IACH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGC3mBG,iLAAgF,KAE9E,+4BAAgF,iDAA1D,mBAAmB,QAAC,mBAAY,MAAC,sBAAwB,EAA/E,YAAgF,EAA1D,SAAmB,EAAC,SAAY,EAAC,SAAwB;oGAK/E,oQAA6J,KAC3J,qJAA+B,0FAAa;oGAM1C,sLAAgF,KAC9E,4IAAsB,0FAAa;oGAOjC,2MAAgF,YAAxE;;wBAAsB;MAA9B,wBAAgF,KAAC,+LAAqE;oGACtJ,2MAA+E,YAAvE;;wBAAsB;MAA9B,wBAA+E,KAAC,gMAAsE;oGAGtJ,2MAAiF,YAAzE;;wBAAuB;MAA/B,wBAAiF,KAAC,kMAAwE;oGAC1J,2MAA8E,YAAtE;;wBAAqB;MAA7B,wBAA8E,KAAC,iMAAuE;qGAIpJ,wtBAAoE,iFAEpE,2BAF+C,sHAAoB,GAAnE,YAAoE,EAArB,kIAAoB,GAAnE,YAAoE,EAArB,SAAoB,2BAAC,sEAEpE;oGAtBV,gLAAsE,KAEpE,kLAAqD,KACnD,uYAAgF,IAGhF,kLAAqD,KACnD,0LAA8D,KAC5D,0MAAuD,YAA/C;;wBAAsB;MAA9B,wBAAuD,KAAC,4LAAkE,KAE5H,0LAA8D,KAC5D,wYAAgF,IAChF,wYAA+E,IAEjF,2LAA8D,KAC5D,wYAAiF,IACjF,wYAA8E,IAEhF,2LAA8D,KAC5D,mQAAwH,YAA9D;;wBAAqC;MAA/F,wBAAwH,KACtH,kdAAoE,iDAjBhB,oBAAqB,UAA/E,YAAgF,EAAtB,SAAqB,GAQ5C,oBAAuB,iBAAtD,aAAgF,EAAjD,SAAuB,GACvB,mBAAsB,iBAArD,aAA+E,EAAhD,SAAsB,GAGrB,oBAAuB,iBAAvD,aAAiF,EAAjD,SAAuB,GACzB,mBAAsB,iBAApD,aAA8E,EAAhD,SAAsB,GAI1C,mBAAsC,oBAA9C,aAAoE,EAA5D,SAAsC;qGAiBlD,mUAW0D,YAFzC;;wBAAyC;MACzC;;wBAAyC;MACzC;;wBAAwC;MAXzD,ynDAW0D,mIAVzC,mBAAgC,mBAGhC,mBAAoB,WAFpB,mBAA8B,kBAG9B,mBAAmB,UAFnB,mBAAwD,yCAKxD,mBAAmB,UAFnB,mBAA6B,eAC7B,oBAAmB,EAPpC,YAW0D,EAVzC,SAAgC,EAGhC,SAAoB,EAFpB,SAA8B,EAG9B,SAAmB,EAFnB,SAAwD,EAKxD,SAAmB,EAFnB,SAA6B,EAC7B,SAAmB;qGATxC,yKAAqE,KACnE,0MAAwE,KACtE,wYAW0D,iDAXjB,mBAAkB,aAA3D,YAW0D,EAXjB,SAAkB;qGAmCzD,4SAA8N,KAC5N,sNAA0F,wGAE1F;qGAkBM,sLAAiG,KAC/F,wHAAM,KACJ,iRAAuK,YAAhE;;wBAA6D;MAApK,wBAAuK,KAEzK,wHAAM,KACJ,uRAA4K,YAAhE;;wBAA6D;MAAzK,wBAA4K,gCAHrF,mHAAe,GAAtG,YAAuK,EAAhF,SAAe,GAGT,kHAAc,GAA3G,YAA4K,EAA/E,SAAc;qGANjH,kLAAsF,KACpF,idAAiG,yBAA3F,kBAAgC,mCAAtC,YAAiG,EAA3F,SAAgC;qGAxClD,qLAAsF,KACpF,sLAA0D,KACxD,6LAAiE,KACjE,sLAAgE,mFAAM,MACtE,iJAA2B,kFAAkB,MAE/C,uSAA0K,KACxK,mMAAuE,KACrE,uKAA2C,KACzC,6LAAsE,yFAA4B,MAClG,kLAAqD,KACnD,0HAAO,uFAAmB,MAC1B,sMAA4D,YAAjC;;wBAAgC;MAA3D,wBAA4D,oJAAwB,KAI1F,8OAAiH,mFAEjH,MACA,yYAA8N,IAO9N,2MAA6E,KAC3E,8OAAgH,KAC9G,sKAAyC,KACvC,mMAA8D,YAAtC;;wBAAqC;MAA7D,wBAA8D,KAC5D,uMAA4E,KAI9E,oJAA6B,KAC3B,kPAA2F,YAA1B;;wBAAuB;MAAxF,wBAA2F,KAG/F,sKAAyC,KACvC,yYAAsF,IAWxF,sKAAyC,KACvC,iJAA0B,KACxB,qOAA4F,YAAxE;;wBAA6B;MAAjD,wBAA4F,oFAAO,MACnG,gQAAqH,YAAjG;;wBAA4B;MAAhD,wBAAqH,0FAAW,mDAlCjH,gEAA6C,mBAApE,aAA8N,EAAvM,SAA6C,GAoBF,kBAAyB,iCAArF,aAAsF,EAA1B,SAAyB,2BAnChE,qEAAkB,GAK6B,0EAA4B,GAEzF,mEAAmB,GAKiF,8EAEjH,GAkC0D,sHAAmB,GAArE,aAA4F,EAA1C,SAAmB,GACpB,qHAAkB,GAAnE,aAAqH,EAApE,SAAkB;qGAtDjF,sLAAuF,KACrF,idAAsF,iDAA9B,mBAA6B,WAArF,YAAsF,EAA9B,SAA6B;qGApBzF,sLAA8H,KAE5H,wYAAqE,IAiBrE,wYAAuF,iDAjB1C,oBAAuB,iBAApE,YAAqE,EAAxB,SAAuB,GAiB/D,mBAAsB,iBAA3B,YAAuF,EAAlF,SAAsB,mDAnBmD,0CAA6C,GAA7H,YAA8H,EAA9C,SAA6C;qGAqFzH,wSAAgK,YAAvB;;wBAAsB;MAA/J,wBAAgK,KAC9J,qHAAG,KACD,kMAAwE;qGAQ9E,yPAAyI,KACvI,qSAAsI,YAA3G;;wBAAsB;MAAjD,wBAAsI,mFAAM,MAC5I,uVAAsL,YAA9I;;wBAAoB;MAA5D,wBAAsL,kFAAK;qGAf/L,4MAAiG,KAC/F,sOAA0G,KACxG,qJAA+B,0FAAa,MAC5C,wYAAgK,IAMlK,oNAAkF,KAChF,kPAAuH,YAAvE;;wBAAiC;MAAjF,4rBAAuH,MAGzH,yYAAyI,iDAVlI,oBAAgB,UAArB,YAAgK,EAA3J,SAAgB,GAOJ,mBAA8B,gBAAC,mBAAiC,kBAAjF,YAAuH,EAAtG,SAA8B,EAAC,SAAiC,GAGoC,mBAAiB,YAAxI,aAAyI,EAAlB,SAAiB;oGA5I9I,oNAA6H,KAC3H,uYAAgF,IAMhF,kjBAAuF,IACrF,uYAA6J,IAI7J,uYAAsE,IAiCtE,yYAA8H,IAkF9H,yYAAiG,iDA9H9F,uCAA0B,WAA/B,YAAgF,EAA3E,SAA0B,GAM1B,uDAAkD,GAAvD,YAAuF,EAAlF,SAAkD,GACmF,mBAAoB,UAA5J,YAA6J,EAArB,SAAoB,GAIzG,oBAAkB,YAArE,YAAsE,EAAnB,SAAkB,GAiC3B,4CAAqC,aAA/E,aAA8H,EAApF,SAAqC,GAkF1E,mBAAiB,YAAtB,aAAiG,EAA5F,SAAiB;qGAyBlB,8QAAyI,YAA7B;;wBAA4B;MAAxI,wBAAyI;qGAKzI,2QAAoJ,YAA7C;;wBAAwB;MAA/H,wBAAoJ;qGAT5J,2JAAyD,KACvD,oMAAuE,KACrE,gMAAmE,KACjE,4IAAsB,KACpB,wYAAyI,IAG3I,4IAAsB,KAAC,iJAA2B,mGAAuD,MACzG,4IAAsB,KACpB,yYAAoJ,IAEtJ,6IAAsB,KACpB,iMAAoE,KAClE,uPAA0G,YAApC;;wBAAiC;MAAvG,wBAA0G,KAKlH,qKAAwC,kDAd/B,sCAAyB,GAA5B,YAAyI,EAAtI,SAAyB,GAKzB,+DAA2C,IAA9C,aAAoJ,EAAjJ,SAA2C,mDAFE,kHAAuD;qGAmB/G,iJAAiD,KAC/C,6IAAuB,2JAAgC,mGAAsB,MAC7E,4IAAsB,6LAA4D,2PAAsH,YAAhD;;wBAA6C;MAAnH,wBAAsH,KAExM,iMAAgL,YAA9C;;wBAA6C;MAA/K,kvCAAgL,MAChL,gRAAyH,YAA1F;;wBAAwB;MAAvD,wBAAyH,0FAAa,mDADlH,mBAAwB,QAA4B,oBAA2B,EAAC,mBAA6B,eAApF,yBAA0B,EAAvE,YAAgL,EAA5J,SAAwB,EAA4B,SAA2B,EAAC,SAA6B,EAApF,SAA0B;qGAoBrE,yQAAgI,YAAjF;;wBAAoB;MAAnE,wBAAgI,iFAAI;qGACpI,8OAAiH,YAAnF;;wBAA0B;MAAxD,wBAAiH,iFAAI;qGAlBzH,+KAAmE,KACjE,+KAAmD,KACjD,6RAAiK,KAC/J,qHAAG,KAAC,+OAAgG,YAAjC;;wBAA8B;MAA7F,wBAAgG,KAIxG,8IAAwB,KACtB,yHAAO,yFAAY,MAAQ,wHAAM,gFAAsB,MAAO,uHAAM,KACpE,0HAAO,yFAAY,MAAQ,yHAAM,iFAAqB,MAAO,uHAAM,KACnE,0HAAO,4FAAe,MAAQ,yHAAM,iFAAyB,MAAO,uHAAM,KAC1E,0HAAO,yFAAY,MAAQ,yHAAM,iFAAkB,MAAO,uHAAM,KAChE,0HAAO,0FAAa,MAAQ,yHAAM,iFAA6B,MAAO,uHAAM,IAE9E,0DAAY,IAEZ,6LAAgE,KAC9D,yYAAgI,IAChI,yYAAiH,iDAD3G,mBAAuB,kBAA7B,aAAgI,EAA1H,SAAuB,GACvB,mBAAuB,kBAA7B,aAAiH,EAA3G,SAAuB,mDAVI,8DAAsB,GACtB,+DAAqB,GAClB,mEAAyB,GAC5B,4DAAkB,GACjB,uEAA6B;qGASnE,0MAA6D,YAAjD;;wBAAoB;MAAhC,+ZAA6D,MAC3D,2LAAkI,YAAxC;;wBAAuC;MAAjI,88BAAkI,mDADxH,mBAAoB,SAAhC,YAA6D,EAAjD,SAAoB,GACb,mBAAwB,QAAC,yBAA0B,EAAC,uBAAoB,EAAzF,YAAkI,EAAjH,SAAwB,EAAC,SAA0B,EAAC,SAAoB;sWA5M7F,yQAAuI,KACrI,uYAA6H,IAoJ7H,wYAAyD,IA0BzD,wYAAiD,IAOjD,yYAAmE,IAqBnE,yYAA6D,iDA1M0B,yCAAqC,gBAA5H,YAA6H,EAAtC,SAAqC,GAoJxF,mBAAoB,eAAxD,YAAyD,EAArB,SAAoB,GA0BnD,mBAAsB,iBAA3B,YAAiD,EAA5C,SAAsB,GAOtB,mBAAgB,WAArB,aAAmE,EAA9D,SAAgB,GAqBY,mBAAc,SAA/C,aAA6D,EAA5B,SAAc;;;;;;;;;;;;;;;;;;;AC3MjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqJ;AAC5F;AACS;AACQ;AAC/B;AAEoB;AACV;AACF;AACF;AACA;AACN;AACU;AACc;AACH;AACsC;AAEnD;AACS;AACQ;AAIpE;IA2HE,wBAAoB,IAAgB,EAAU,KAAqB,EAAU,gBAAkC,EAAU,eAAgC,EAAU,WAAwB,EACjL,MAAc,EAAU,MAAqB,EAAU,QAAkB,EAAU,iBAAsC,EAAU,eAAgC,EACpK,oBAA0C,EAAE,SAAqB;QAFtD,SAAI,GAAJ,IAAI,CAAY;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAa;QACjL,WAAM,GAAN,MAAM,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QACpK,yBAAoB,GAApB,oBAAoB,CAAsB;QAnHnD,iBAAY,GAAG,GAAG,CAAC;QACnB,qBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;QAErC,eAAU,GAAG,EAAE,CAAC;QAChB,iBAAY,GAAY,KAAK,CAAC;QAC9B,aAAQ,GAAY,KAAK,CAAC;QAC1B,gBAAW,GAAY,IAAI,CAAC;QAC5B,iBAAY,GAAY,IAAI,CAAC;QAC7B,mBAAc,GAAG,CAAC,CAAC;QAanB,cAAS,GAAiB,EAAE,CAAC;QAE7B,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAE3B,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAEnC,YAAO,GAAa,IAAI,iEAAQ,EAAE,CAAC;QAEnC,aAAQ,GAAc,IAAI,2DAAS,EAAE,CAAC;QAGtC,eAAU,GAAe,IAAI,6DAAU,EAAE,CAAC;QAE1C,aAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAEpC,kBAAa,GAAsB,EAAE,CAAC;QAGtC,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QACjC,SAAI,GAAW,EAAE,CAAC;QAC3B,WAAM,GAAY,IAAI,CAAC;QAEvB,sBAAsB;QACf,kBAAa,GAAW,CAAC,CAAC;QACjC,2BAA2B;QACpB,YAAO,GAAW,CAAC,CAAC;QACpB,iBAAY,GAAW,EAAE,CAAC;QACjC,gBAAW,GAAY,IAAI,CAAC;QAC5B,WAAM,GAAY,KAAK,CAAC;QAGxB,eAAU,GAAY,IAAI,CAAC;QAC3B,eAAU,GAAY,IAAI,CAAC;QAC3B,kBAAa,GAAW,CAAC,CAAC;QAC1B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,qBAAgB,GAAU,EAAE,CAAC;QAC7B,aAAQ,GAAY,IAAI,CAAC;QAOzB,oBAAe,GAAG,KAAK,CAAC;QACxB,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAYlC,YAAO,GAAY,IAAI,CAAC;QACjC,cAAS,GAAY,KAAK,CAAC;QAC3B,oBAAe,GAAY,IAAI,CAAC;QAChC,aAAQ,GAAG,KAAK,CAAC;QACjB,eAAU,GAAY,IAAI,CAAC;QAC3B,oBAAe,GAAY,KAAK,CAAC;QAC1B,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAC9H,yBAAoB,GAAU,EAAE,CAAC;QAGjC,kBAAa,GAAY,IAAI,CAAC;QAC9B,eAAU,GAAY,IAAI,CAAC;QAC3B,mBAAc,GAAY,KAAK,CAAC;QAChC,yBAAoB,GAAY,KAAK,CAAC;QACtC,oBAAe,GAAY,KAAK,CAAC;QAO1B,cAAS,GAAY,KAAK,CAAC;QAClC,iBAAY,GAAmB,EAAE,CAAC;QAClC,iBAAY,GAAW,GAAG,CAAC;QAC3B,iBAAY,GAAe,EAAE,CAAC;QAC9B,mBAAc,GAAY,KAAK,CAAC;QACzB,aAAQ,GAAG,KAAK,CAAC;QAKxB,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAY,KAAK,CAAC;QAE9B,sBAAiB,GAAmB,EAAE,CAAC;QAChC,cAAS,GAAU,IAAI,mDAAK,EAAE,CAAC;QAIpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAG9B,CAAC;IACD,oCAAW,GAAX,UAAY,KAAK;QACf,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;aACf;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QAAQ,gBAAgB,EAAE;QAC3B,IAAI,MAAM,EAAE;YACV,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACzB;IACH,CAAC;IAGD,iCAAQ,GAAR;QAAA,iBAkFC;QAhFC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;QAC/C,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACvC,kDAAkD;QAClD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;YAClC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,IAAI,KAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBAC1B,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC3D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;wBAClC,KAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;qBAE9B;yBAAM;wBACL,KAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;qBAC7B;oBACD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAEtB,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAE9C,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC5E,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,sBAAsB,CAAC;gBAC1E,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC;gBAClE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;gBAC7D,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,sBAAsB,CAAC;gBAC1E,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG,sBAAsB,CAAC;aAC1E;iBACI,IAAI,KAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBAChC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBACxC,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,KAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;oBAC5B,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,sBAAsB,CAAC;gBAC1E,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC;gBAClE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;gBAC7D,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG,sBAAsB,CAAC;aAC1E;iBACI,IAAI,KAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBAChC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;aACnE;YACD,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACjF,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,UAAC,UAAU;YACtD,UAAU,CAAC,OAAO,CAAC,oBAAU;gBAC3B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SACzB;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SACzB;QACD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACnF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAY,GAAZ,UAAa,QAAQ;QACnB,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;SACF;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IAEH,CAAC;IACD,6BAAI,GAAJ;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,8CAAqB,GAArB,UAAsB,EAAE,EAAE,IAAI;QAA9B,iBAoBC;QAlBC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACnF,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAC9B,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAI,CAAC,eAAe;gBACvB,KAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YACjC,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA3B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;YACD,KAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,eAAK,IAAI,YAAI,CAAC,cAAc,GAAG,KAAK,EAA3B,CAA2B,CAAC,CAAC;YAC1E,KAAI,CAAC,WAAW,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAQ,GAAR;QAAA,iBA2BC;QAzBC,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAG;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9L,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QAAA,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QACtG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;QAC5G,6BAA6B;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAElF,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1B,6DAA6D;gBAC7D,KAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,mCAAU,GAAV,UAAW,GAAG;QAAd,iBAsCC;QApCC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,oDAAoD;QACpD,oCAAoC;QACpC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QACpH,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;QAC1H,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC1B,6BAA6B;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtD,4BAA4B;gBAC5B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,KAAI,CAAC,IAAI,IAAI,aAAa,EAAE;oBAC9B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;iBAC7C;qBACI;oBACH,IAAI,KAAI,CAAC,GAAG,IAAI,UAAU,EAAE;wBAC1B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;qBACzC;yBAAM;wBACL,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;qBACzC;iBAEF;gBAED,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,gCAAO,GAAP,UAAQ,IAAI;QAEV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAE5B,CAAC;IACM,oCAAW,GAAlB,UAAmB,SAAS,EAAE,IAAI;QAAlC,iBAsBC;QApBC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACjB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC/B,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAI,CAAC,eAAe;gBACvB,KAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YACjC,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA3B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;YACD,IAAI,KAAI,CAAC,iBAAiB,IAAI,SAAS;gBACrC,KAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,eAAK,IAAI,YAAI,CAAC,cAAc,GAAG,KAAK,EAA3B,CAA2B,CAAC,CAAC;YAC5E,KAAI,CAAC,WAAW,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mCAAU,GAAV;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,4BAA4B;IAC9B,CAAC;IACD,iCAAQ,GAAR;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,mDAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACjE,sEAAsE;QACtE,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC/D,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAClE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC9D,CAAC;IAED,kCAAS,GAAT;QACE,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC9D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAClE,sEAAsE;QACtE,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAClE,CAAC;IACD,qCAAY,GAAZ,UAAa,EAAE,EAAE,KAAK;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,MAAM,GAAG,EAAE,GAAG,QAAQ;QAC1B,IAAI,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;QACtD,IAAI,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC;QAC1B,IAAI,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;QAC5D,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;QAC7D,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;QAC1D,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7D,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACjE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACzC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAC7D;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;YACrB,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACjE;IACH,CAAC;IAED,wCAAe,GAAf,UAAgB,EAAE;QAAlB,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClD,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAc,GAAd;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACtC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;YAC9G,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5B,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9C,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC3C,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC5D,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;gBACtC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aACxD;YACD,sDAAsD;SACvD;IAEH,CAAC;IACD,2CAAkB,GAAlB;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;YAC9G,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5B,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9C,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC3C,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACxD,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aAC5D;SACF;IACH,CAAC;IAED,kCAAS,GAAT;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO;QACxB,KAAK,EAAE;QACP,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAClC,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAC/C,eAAe,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,EAChE,MAAM,GAAG,SAAS,GAAG,QAAQ,EAC7B,MAAM,GAAG,SAAS,GAAG,OAAO,EAC5B,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;YAC1D,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;YAC7D,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,GAAG,eAAe,CAAC;YACpE,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACjD,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC1C,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACjE,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBAClC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aAC7D;SACF;IACH,CAAC;IAED,sCAAa,GAAb;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO;QACxB,KAAK,EAAE;QACP,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAC/C,eAAe,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,EAChE,MAAM,GAAG,SAAS,GAAG,QAAQ,EAC7B,MAAM,GAAG,SAAS,GAAG,OAAO,EAC5B,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;YAC1D,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,GAAG,eAAe,CAAC;YACpE,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;YAC7D,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACjD,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC1C,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;aACjE;SACF;IACH,CAAC;IAED,0CAAiB,GAAjB,UAAkB,OAAO;QAAzB,iBAaC;QAZC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7B,0BAA0B;QAC1B,qCAAqC;QACrC,UAAU;IACZ,CAAC;IAED,yCAAgB,GAAhB,UAAiB,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAgC;QAAjF,iBAkBC;QAlBgD,6DAAgC;QAE/E,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxG,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAEhF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACjC,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA3B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,8CAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SAEtO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;YAChB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAE9B,CAAC;IACD,8CAAqB,GAArB,UAAsB,GAAG,EAAc,aAA8B;QAA1C,qDAA0C;QACnE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAAC;YACjE;gBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,YAAC,MAAM;oBAC1G,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAC,YAAY,EAAC,MAAM,EAAC,EAAE,YAAY,YAAC,MAAM;oBACzK,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;wBAC1D,IAAI,CAAC,SAAS,GAAG,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;qBAC1E;yBAAM;wBACL,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;qBAC/B;oBAGD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,kBAAkB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;YACvQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACtO;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK;gBACjM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBAC5L;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAClO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC7N,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC1R,CAAC;IAEJ,CAAC;IACD,wCAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,KAAK,CAAC,QAAQ,EAAE;SACnB;IACH,CAAC;IACD,mCAAU,GAAV;QACE,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACxE,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,gCAAgC;YAChC,sCAAsC;YAEtC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;SAE1B;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC;YACT,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;YAC5D,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IAED,8BAAK,GAAL,UAAM,GAAG;QAAT,iBAoFC;QAnFC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAGjC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,IAAI,UAAU;YACjD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QACxH,IAAI,IAAI,IAAI,SAAS;YACnB,IAAI,GAAG,UAAU,CAAC;QACpB,yBAAyB;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnJ,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9E,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE;YACvB,GAAG,GAAG,CAAC,GAAG,IAAI,SAAS,IAAI,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;YAClE,GAAG,GAAG,CAAC,GAAG,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;YACjE,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gBAC5B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aAClI;iBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,sBAAsB,EAAE;gBAChD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACvH;;gBACC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACnI;aAAM;YACL,IAAI,GAAG,IAAI,kBAAkB,EAAE;gBAC7B,IAAI,IAAI,IAAI,UAAU,EAAE;oBACtB,IAAI,eAAa,GAAW,EAAE,CAAC;oBAC/B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;wBACtB,KAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;wBAE5B,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvC,KAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;4BAC7G,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gCACvB,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gCAC5C,eAAa,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;4BAEhD,CAAC,CAAC,CAAC;4BACH,IAAI,eAAa,CAAC,MAAM,GAAG,CAAC;gCAC1B,eAAa,GAAG,eAAa,CAAC,SAAS,CAAC,CAAC,EAAE,eAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;;gCAErE,eAAa,GAAG,GAAG,CAAC;4BACtB,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,eAAa,EAAE,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACpG,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,eAAa,GAAW,EAAE,CAAC;oBAC/B,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;wBACjG,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;wBAC/B,QAAQ,CAAC,OAAO,CAAC,kBAAQ;4BACvB,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;4BAC5C,eAAa,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;wBAChD,CAAC,CAAC,CAAC;wBACH,IAAI,eAAa,CAAC,MAAM,GAAG,CAAC;4BAC1B,eAAa,GAAG,eAAa,CAAC,SAAS,CAAC,CAAC,EAAE,eAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;;4BAErE,eAAa,GAAG,GAAG,CAAC;wBACtB,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,eAAa,EAAE,GAAG,EAAE,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxF,CAAC,CAAC,CAAC;iBACJ;aACF;iBACI,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,UAAU,EAAE;gBAC9C,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBACtG,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;oBAC/B,QAAQ,CAAC,OAAO,CAAC,kBAAQ;wBACvB,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClJ,CAAC,CAAC,CAAC;aAEJ;iBACI;gBACH,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;oBAC9G,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,EAAE;wBAC3C,GAAG,GAAG,GAAG,CAAC;oBACZ,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;aACJ;SACF;QACD,qBAAqB;QACrB,0BAA0B;QAC1B,yBAAyB;QACzB,UAAU;IACZ,CAAC;IAED,yCAAgB,GAAhB,UAAiB,MAAM;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;SAEzB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;SAE9B;QACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;YACzC,IAAI,WAAW,GAAW,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YACnD,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACrG,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACrG,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;SAC7B;QAGD,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;SAC7B;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,4BAA4B;QAE5B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+GAA+G,CAAC,CAAC;gBAEvJ,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;iBAEnD;aACF;iBAAM;gBACL,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+GAA+G,CAAC,CAAC;gBAEvJ,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;iBACnD;aACF;YAED,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7C,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,2CAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,iCAAQ,GAAR;QACE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IACD,uCAAc,GAAd;QAAA,iBAYC;QAXC,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;aACzD;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE;YAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC3D,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;SAC9C;QAED,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;YACvC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC3D,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SAErC;QAED,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;YAC5C,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;SAC5D;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;SAChD;QAED,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;YAC/B,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAChD,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YACpD,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;SAC5C;QAED,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YAChC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC3D,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;SAC/C;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC3D,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,QAAO;SACpD;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC3D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAO;SACnD;IAKH,CAAC;IAED,iCAAQ,GAAR,UAAS,GAAG;QACV,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG;YACrB,OAAO,IAAI,CAAC;;YAEZ,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,6BAAI,GAAJ,UAAK,GAAG;QACN,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;IAEH,CAAC;IACD,6CAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAC1B,CAAC;IACD,qCAAY,GAAZ;QACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,wCAAe,GAAf,UAAgB,GAAG,EAAE,YAAY;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,YAAY;QACjC,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,iDAAwB,GAAxB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0KAA0K,CAAC,CAAC;QACjN,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,uCAAc,GAAd,UAAe,GAAG;QAEhB,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;YAChH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC;IAED,iCAAQ,GAAR,UAAS,UAAU,EAAE,IAAI;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACnD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,qCAAY,GAAZ,UAAa,UAAU;QAAvB,iBAeC;QAdC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnD,YAAY,GAAG,MAAM,CAAC;YACtB,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,KAAI,CAAC,YAAY,GAAG,IAAI;YACxB,CAAC,CAAC,UAAU,CAAC;gBACX,0CAA0C;gBAC1C,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAET,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAiB,GAAjB,UAAkB,GAAG;QAEnB,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;SAC5B;IAEH,CAAC;IAED,uCAAc,GAAd,UAAe,YAAY;QACzB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,0DAA0D,CAAC;QAClH,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uKAAuK,CAAC,CAAC;IAC3M,CAAC;IACD,+BAAM,GAAN,UAAO,UAAU,EAAE,IAAI;QACrB,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACvE,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,IAAI,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE;gBACf,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC;gBAClC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1B;iBACI;gBACH,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;gBACxE,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;gBACtE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;aAC3B;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IACD,mCAAU,GAAV,UAAW,MAAM;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;IACpF,CAAC;IACD,kCAAS,GAAT,UAAU,MAAM;QACd,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,gCAAgC;QAChC,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACvD,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;IACnF,CAAC;IAED,mCAAU,GAAV;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,yCAAgB,GAAhB;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,qCAAY,GAAZ;QACE,uBAAuB;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7D,yJAAyJ;IAE3J,CAAC;IAEH,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GCxhCK,iQAA8I,YAAxE;;wBAAwC;MAA9G,wBAA8I,sFAAS;4GAH7J,gJAA0B,KACxB,iQAAkH,YAApE;;wBAA6B;MAA3E,wBAAkH,KAEpH,wHAAM,oZAA8I,iDAAlG,mBAAyB,oBAArE,YAA8I,EAAlG,SAAyB;;;;;;;;;;;;;;;;ACD3E;AAAA;AAAA;IAOE;IAAgB,CAAC;IAEjB,yCAAQ,GAAR;QACE,kGAAkG;QAClG,kDAAkD;QAClD,IAAI;IACN,CAAC;IAID,uCAAM,GAAN,UAAO,MAAW;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvB,CAAC;IACD,gDAAe,GAAf;QACC,mHAAmH;IACpH,CAAC;IAEM,kDAAiB,GAAxB;QAEE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/D,CAAC;IACM,6DAA4B,GAAnC;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,wCAAO,GAAP;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IAEH,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GCpCK,wHAAsF;2GAFxF,yhBACyC,IACvC,ibAAsF,GAAxE,uEAAuE,mDADlF,gCAAmC,qBADxC,YACyC,EAApC,SAAmC,GACxB,2IAAuE,GAArF,YAAsF,EAAxE,oBAAuE,2BAF3B,qIAA0C,GAAtG,YACyC,EADmB,SAA0C;2GADxG,uHAAsC,KACpC,udACyC,GADpC,4UAAsD,IAA3D,YACyC,EADpC,SAAsD;2GAM3D,kRAAsJ,KACpJ,sKAA0C,KACxC,sKAA0C,uFAA0E,MACpH,qKAAyC,KACvC,iJAA2B,gQAAyG,YAA9B;;wBAA6B;MAAxG,wBAAyG,KAGtI,mTAEuB,gCAPmB,0JAA0E,GAK7F,kBAAoD,iDAA3E,YAEuB,EAFA,SAAoD;2GAdjF,8YAAsC,IAMtC,mIAA8D,kDANzD,6CAAgC,GAArC,YAAsC,EAAjC,SAAgC;;;;;;;;;;;;;;;;ACDvC;AAAA;AAAA;AAAA;AAAA;AAA+E;AAClB;AACG;AAGhE;IAaE,+BAAoB,gBAAqC;QAArC,qBAAgB,GAAhB,gBAAgB,CAAqB;QANzD,kBAAa,GAAmB,EAAE,CAAC;QAGnC,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE1C,yBAAoB,GAAM,EAAE,CAAC;IACgC,CAAC;IAEtD,gDAAgB,GAAxB,UAAyB,YAA0B;QAAnD,iBAOC;QANC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEtC,IAAI,YAAY,CAAC,OAAO,KAAK,CAAC,EAAE;YAC9B,UAAU,CAAC,cAAM,YAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAxB,CAAwB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;SAElE;IACH,CAAC;IAED,wCAAQ,GAAR;QAAA,iBAEC;QADC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,sBAAY,IAAI,YAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAnC,CAAmC,CAAC,CAAC;IAC5H,CAAC;IAGD,2CAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,qCAAK,GAAL,UAAM,YAA0B;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAK,IAAI,YAAK,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,EAA5B,CAA4B,CAAC,CAAC;QACtF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAGD,yCAAS,GAAT,UAAU,YAA0B;QAElC,IAAI,KAAa,CAAC;QAElB,QAAQ,YAAY,CAAC,IAAI,EAAE;YAEzB,KAAK,8DAAgB,CAAC,OAAO;gBAC3B,KAAK,GAAG,SAAS,CAAC;gBAClB,MAAM;YAER,KAAK,8DAAgB,CAAC,OAAO;gBAC3B,KAAK,GAAG,SAAS,CAAC;gBAClB,MAAM;YAER,KAAK,8DAAgB,CAAC,KAAK;gBACzB,KAAK,GAAG,OAAO,CAAC;gBAChB,MAAM;YAGR,KAAK,8DAAgB,CAAC,OAAO;gBAC3B,KAAK,GAAG,SAAS,CAAC;gBAClB,MAAM;YAER;gBACE,KAAK,GAAG,MAAM,CAAC;gBACf,MAAM;SACT;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IACH,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;ACxED;AAAA;AAAA;AAAA;AAAA;AAA2C;AACqB;;AAEhE;IAQE;QAJQ,aAAQ,GAAG,IAAI,4CAAO,EAAgB,CAAC;QACvC,SAAI,GAAG,CAAC,CAAC;IAGD,CAAC;IAEjB,2CAAa,GAAb;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,qCAAO,GAAP,UAAQ,KAAU,EAAE,OAAW;QAAX,qCAAW;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,0DAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,8DAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5F,CAAC;;8BArBH;CAwBC;AAhB+B;;;;;;;;;;;;;ACRhC;AAAA;AAAA;AAAA;IAEE,sBACS,EAAU,EACV,IAAsB,EACtB,MAAW,EACX,OAAe;QAHf,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAkB;QACtB,WAAM,GAAN,MAAM,CAAK;QACX,YAAO,GAAP,OAAO,CAAQ;IACpB,CAAC;IAEP,mBAAC;AAAD,CAAC;;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,6DAAW;IACX,6DAAW;IACX,yDAAS;IACT,uDAAQ;IACR,6DAAW;AACb,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,QAM3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yHCgBS,oLAA+E,KAC7E;;;;;;myBAAoE,IAClE,wKAA0C,KACxC,gLAAmD,KACjD,kMAAsE,KACpE,yHAAO,uFAAU,MAEnB,6IAAsB,KACpB,uKAA0C,KACxC;;;;;;;;;;;wBAA6G;MAA5C;;wBAAyC;MAA1G,gzDAA6G,IAKnH,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAAiH;MAArD;;wBAAyC;MAArG,gzDAAiH,IAIrH,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,2FAAc,MAEvB,8IAAsB,KACpB;;;;;wBAAyG;MAAvD;;wBAA6C;MAA/F,+uDAAyG,IACvG,+yBAAmB,8EAAE,MACrB,gzBAAoB,+EAAG,MAI7B,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,sFAAS,MAElB,8IAAsB,KACpB;;;;;wBAA+F;MAAlD;;wBAAwC;MAArF,+uDAA+F,IAE7F,20BAAyC,4FAAgB,MACzD,szBAA0B,qFAAS,MACnC,qzBAAyB,oFAAQ,MACjC,ozBAAwB,mFAAO,MAC/B,szBAA0B,qFAAS,MACnC,izBAAqB,gFAAI,MACzB,0zBAA8B,0FAAc,MAC5C,0zBAA8B,yFAAa,MAIjD,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,qFAAQ,MAEjB,+IAAsB,KACpB;;;;;wBAAuG;MAAlD;;wBAAwC;MAA7F,mvDAAuG,IACrG,kzBAAmB,8EAAE,MACrB,mzBAAoB,+EAAG,MAK7B,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,uFAAU,MAEnB,8IAAsB,KACpB;;;;;;;;;;;wBAAiH;MAArD;;wBAAyC;MAArG,ozDAAiH,IAKvH,uMAAyE,KACvE,wKAA0C,KACxC,wPAAiG,YAA3B;;wBAA0B;MAAhG,wBAAiG,mFAAM,MAEzG,8KAAgD,KAC9C,yQAA0I,YAAzB;;wBAAwB;MAAzI,wBAA0I,iFAAI,mDAtE9G,mBAAQ,EAApC,aAA6G,EAAjF,UAAQ,GAAY,4BAAgB,EAAC,oBAAyC,8BAA1G,aAA6G,EAA7D,UAAgB,EAAC,UAAyC,GAUN,mBAAQ,EAA9G,aAAiH,EAAX,UAAQ,GAAnE,4BAAgB,EAAC,oBAAyC,8BAArG,aAAiH,EAAtE,UAAgB,EAAC,UAAyC,GASL,mBAAQ,EAAxG,aAAyG,EAAT,UAAQ,GAA3E,gCAAoB,EAAC,oBAA6C,kCAA/F,aAAyG,EAA5E,UAAoB,EAAC,UAA6C,GACrF,qBAAU,EAAlB,aAAmB,EAAX,kCAAU,EAAlB,aAAmB,EAAX,UAAU,GACV,sBAAW,EAAnB,aAAoB,EAAZ,mCAAW,EAAnB,aAAoB,EAAZ,UAAW,GASiE,mBAAQ,EAA9F,aAA+F,EAAT,UAAQ,GAAjE,2BAAe,EAAC,oBAAwC,6BAArF,aAA+F,EAAlE,UAAe,EAAC,UAAwC,GAE3E,uBAAY,EAApB,aAAyC,EAAjC,oCAAY,EAApB,aAAyC,EAAjC,UAAY,GACZ,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,2BAAgB,EAAxB,aAAyB,EAAjB,wCAAgB,EAAxB,aAAyB,EAAjB,UAAgB,GAChB,0BAAe,EAAvB,aAAwB,EAAhB,uCAAe,EAAvB,aAAwB,EAAhB,UAAe,GACf,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,gCAAqB,EAA7B,aAA8B,EAAtB,6CAAqB,EAA7B,aAA8B,EAAtB,UAAqB,GACrB,gCAAqB,EAA7B,aAA8B,EAAtB,6CAAqB,EAA7B,aAA8B,EAAtB,UAAqB,GAS+D,mBAAQ,EAAtG,cAAuG,EAAT,UAAQ,GAAzE,mCAAuB,EAAC,oBAAwC,6BAA7F,cAAuG,EAA1E,UAAuB,EAAC,UAAwC,GACnF,qBAAU,EAAlB,cAAmB,EAAX,kCAAU,EAAlB,cAAmB,EAAX,UAAU,GACV,sBAAW,EAAnB,cAAoB,EAAZ,mCAAW,EAAnB,cAAoB,EAAZ,UAAW,GAUiF,mBAAQ,EAA9G,cAAiH,EAAX,UAAQ,GAAnE,4BAAgB,EAAC,oBAAyC,8BAArG,cAAiH,EAAtE,UAAgB,EAAC,UAAyC,2BApE7G,8sBAAoE,GAQ1D,80BAA6G,GAU/G,o1BAAiH,GASjH,o1BAAyG,GAWzG,o1BAA+F,GAkB/F,61BAAuG,GAYvG,61BAAiH,GAUlD,0EAA+C,cAAhH,cAA0I,EAAzE,UAA+C;yHA9G9H,kLAA4E,KAC1E,0KAA8C,KAC5C,+KAAyD,8GAAiC,MAE5F,gLAAoD,KAElD,qKAAyC,KACvC,yKAA6C,KAC3C,gQAAoH,YAAxD;;wBAAiC;MAA7F,wBAAoH,KAK1H,iLAAqD,KAEnD,gLAAoD,KAClD,4SAWqD,YAFpC;;wBAA+C;MAC/C;;wBAAmC;MACnC;;wBAAmC;MAXpD,2pDAWqD,MAGvD,iLAAoD,KAClD,6ZAA+E,iDAd9D,mBAA+B,kBAG/B,mBAA0C,iCAF1C,mBAAyB,aACzB,mBAAwD,yCAIxD,mBAAmB,UACnB,oBAAoB,EAHpB,oBAAuB,EACvB,oBAAoC,EANrD,aAWqD,EAVpC,SAA+B,EAG/B,SAA0C,EAF1C,SAAyB,EACzB,SAAwD,EAIxD,SAAmB,EACnB,SAAoB,EAHpB,SAAuB,EACvB,SAAoC,GASC,mBAAwB,mBAA9E,aAA+E,EAAzB,SAAwB;yHAyKxC,0NAA6I,YAApC;;wBAAmC;MAA5I,wBAA6I;yHALvL,qLAAiI,YAAtC;;wBAAqC;MAAhI,wBAAiI,KAC/H,uKAAqE,kJAAyB,KAC9F,2KAA4E,gFAAgB,MAC5F,4NAAqH,YAAtC;;wBAAqC;MAApH,wBAAqH,gFAAuB,MAC5I,2OAA+H,YAAtC;;wBAAqC;MAA9H,wBAA+H,gFAA6B,MAC5J,8JAAwC,kaAA6I,iDAAnG,0FAA8D,IAAxG,aAA6I,EAAnG,SAA8D,2BALxF,8HAAgC,GAA1F,YAAiI,EAAvE,SAAgC,GACjD,2HAA6B,GAApE,YAAqE,EAA9B,SAA6B,GACzB,8HAAgC,GAA3E,YAA4E,EAAjC,SAAgC,GAAC,gEAAgB,GACpD,oIAAsC,GAA9E,YAAqH,EAA7E,SAAsC,GAAuC,uEAAuB,GACrF,+HAAiC,GAAxF,YAA+H,EAAxE,SAAiC,GAAuC,6EAA6B;yHA3B1J,wLAAsF,KACpF,2LAA8D,KAa5D,iJAA0B,KACpC,4LAAsE,KACpE,2IAAqB,KACrB,+IAAyB,KACzB,8JAAwC,uFAAU,MAClD,8JAAwC,2FAAc,MACtD,+JAAwC,oFAAO,MAEjD,uaAAuE,IACrE,seAAiI,IAW3H,uLAA0D,KACxD,6IAAsB,KACtB,6IAAsB,KACpB,uKAA0C,KACxC,mMAAsE,mFAAM,MAE9E,6KAAgD,KAC9C,wPAA8F,YAA7B;;wBAA4B;MAA7F,wBAA8F,iFAAI,mDAnBzG,8BAA0B,EAAjC,aAAuE,EAAhE,SAA0B,GAC3B,mBAAqD,gBAAzD,aAAiI,EAA7H,SAAqD,mDADzB,2HAAoC,GAAtE,aAAuE,EAArC,SAAoC;yHA3EtE,kLAAkF,KAEhF,0KAA8C,KAC5C,+KAAyD,uGAA0B,MAGrF,iLAAoD,KAGlD,uKAA0C,KACxC,yKAA6C,KAC3C,gQAA6J,YAA7E;;wBAA0E;MAA1J,wBAA6J,KAE/J,kLAAqD,KACnD,sKAA0C,KACxC,yMAAgF,YAAnD;;wBAAkD;MAA/E,wBAAgF,KAE9E,ivBAA0B,0FAAc,MACxC,kvBAA2B,8FAAkB,MAIjD,uKAA0C,KACxC,yMAAgF,YAAnD;;wBAAkD;MAA/E,wBAAgF,KAE9E,2uBAAoB,8FAAkB,MACtC,+uBAAwB,qGAAyB,MAS3D,kLAAqD,KAEnD,iLAAoD,KAClD,4SAWgE,YAF/C;;wBAAkD;MAClD;;wBAAmC;MACnC;;wBAA8C;MAX/D,2pDAWgE,MAGlE,iLAAoD,KAClD,6ZAAsF,iDApCxE,2BAAiB,EAAzB,aAA0B,EAAlB,uCAAiB,EAAzB,aAA0B,EAAlB,SAAiB,GACjB,4BAAkB,EAA1B,aAA2B,EAAnB,wCAAkB,EAA1B,aAA2B,EAAnB,SAAkB,GAOlB,qBAAW,EAAnB,aAAoB,EAAZ,iCAAW,EAAnB,aAAoB,EAAZ,SAAW,GACX,yBAAe,EAAvB,aAAwB,EAAhB,qCAAe,EAAvB,aAAwB,EAAhB,SAAe,GAaZ,mBAA+B,kBAG/B,mBAA0C,iCAF1C,oBAAyB,aACzB,oBAAwD,yCAIxD,oBAAmB,UACnB,qBAAoB,EAHpB,qBAAuB,EACvB,qBAAoC,EANrD,aAWgE,EAV/C,SAA+B,EAG/B,SAA0C,EAF1C,UAAyB,EACzB,UAAwD,EAIxD,UAAmB,EACnB,UAAoB,EAHpB,UAAuB,EACvB,UAAoC,GASM,oBAA0B,qBAArF,aAAsF,EAA3B,UAA0B;yHA9K/F,qLAAyD,KAErD,4ZAA4E,IAuH5E,4ZAAkF,iDAvH7B,mBAAsB,iBAA3E,YAA4E,EAAvB,SAAsB,GAuHtB,mBAA4B,uBAAjF,YAAkF,EAA7B,SAA4B;;;;;;;;;;;;;;;;ACxHrF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AACzB;AAEqE;AACpD;AACI;AACU;AACK;AACnB;AACxB;AACS;AAI7C;IA4BE,6CAAoB,WAAwB,EAAU,MAAqB,EAAU,kBAAuC,EAAS,oBAA0C,EAAU,YAA0B,EAAU,cAA8B;QAA3P,iBAWC;QAXmB,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,uBAAkB,GAAlB,kBAAkB,CAAqB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAU,mBAAc,GAAd,cAAc,CAAgB;QArB3P,yBAAoB,GAAY,IAAI,CAAC;QACrC,mBAAc,GAAY,IAAI,CAAC;QAC/B,yBAAoB,GAAY,KAAK,CAAC;QACtC,0BAAqB,GAAwB,EAAE,CAAC;QAChD,mCAA8B,GAAwB,EAAE,CAAC;QAIzD,qBAAgB,GAAW,KAAK,CAAC;QAEjC,sBAAiB,GAAsB,IAAI,qFAAiB,EAAE,CAAC;QAC/D,kBAAa,GAAuB,EAAE,CAAC;QACvC,2BAAsB,GAAuB,EAAE,CAAC;QAChD,uBAAkB,GAAY,KAAK,CAAC;QAEpC,gBAAW,GAAG,EAAE,CAAC;QAEjB,cAAS,GAA2B,IAAI,uFAAsB,EAAE,CAAC;QAC1D,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAC9H,SAAI,GAAG,IAAI,iDAAY,EAAE,CAAC;QAGxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC;aACnD,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAE7C,KAAI,CAAC,aAAa,EAAE,CAAC;QAGvB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,sDAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,CAAC;IAED,2EAA6B,GAA7B,UAA8B,gBAAwB;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,sBAAsB,GAAG;YAC5B;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aACzD;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAE7D,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YAEvE;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;oBAEzF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IACD,qDAAO,GAAP,UAAQ,GAAG;QACT,IAAI,GAAG,IAAI,sBAAsB,EAAE;YACjC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;aAAM,IAAI,GAAG,IAAI,6BAA6B,EAAE;YAC/C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IACD,4DAAc,GAAd;QACI,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,qFAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,mDAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAE9D,CAAC;IAED,kEAAoB,GAApB;QAAA,iBAWC;QAVC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3E,IAAI,KAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;gBACrC,KAAI,CAAC,8BAA8B,GAAG,KAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,WAAW,EAAzB,CAAyB,CAAC,CAAC;aAClH;iBAAM;gBACL,KAAI,CAAC,8BAA8B,GAAG,KAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;aAC3E;QAGH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8DAAgB,GAAhB,UAAiB,IAAI;QACnB,IAAI,CAAC,eAAe,GAAgB;YAClC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACnN,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SAC3B;IAEH,CAAC;IACD,8DAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,qBAAqB,EAAC,KAAK;gBAC3B,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,KAAK;gBAC9B,mCAAmC,EAAE,IAAI;gBACzC,OAAO,EAAE,IAAI;aACd;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YACrE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YAC5D,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YACnD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBACjG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE;wBACrE,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;qBAC1F;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE;wBAC1E,IAAI,CAAC,SAAS,GAAG,sEAAsE,CAAC;qBACzF;oBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;wBAC1B,qCAAqC;oBAEvC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,gEAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAEhB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;SACF;IACH,CAAC;IAED,0DAAY,GAAZ;QAAA,iBAQC;QAPC,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,CAAC,EAAE;YAC1C,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;SACvE;QACD,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC/E,KAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,KAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAAe,GAAf,UAAgB,OAAO,EAAC,SAAS;QAAjC,iBAIC;QAHC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC9F,KAAI,CAAC,aAAa,GAAG,WAAW,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAqB,GAArB,UAAsB,QAAQ;QAC5B,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAEhB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAE3C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChE,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,WAAW,EAAE;oBACjD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;iBACzF;qBAAM;oBACL,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;iBAChC;aAEF;SACF;IACH,CAAC;IAED,6DAAe,GAAf,UAAgB,EAAE,EAAE,GAAG;QACrB,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YACvG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAC5D,CAAC,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBACvD,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YACnE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACL,CAAC;IAED,8DAAgB,GAAhB,UAAiB,GAAG;QAClB,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,oBAAoB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;YAChE,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;YAC3D,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QACvE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,2DAAa,GAAb,UAAc,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,WAAW,EAAtB,CAAsB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;SAC/C;IACH,CAAC;IACD,4DAAc,GAAd,UAAe,SAAS;QACtB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAED,8DAAgB,GAAhB;QAAA,iBAiBC;QAhBC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,aAAa,GAAG,IAAI,oFAAgB,EAAE,CAAC;YAEzC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;gBAEzB,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9E,aAAa,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC5B,aAAa,CAAC,UAAU,GAAG,KAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;gBAC5D,aAAa,CAAC,QAAQ,GAAG,KAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEL,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAE9B;IACH,CAAC;IAED,sDAAQ,GAAR,UAAS,aAAa;QAAtB,iBAMC;QALC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1E,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACtF,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gEAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,KAAK,IAAI,YAAY,EAAE;gBACzB,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;aAClG;iBAAM,IAAI,KAAK,IAAI,WAAW,EAAE;gBAC/B,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,EAAlD,CAAkD,CAAC,CAAC;gBAC/E,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACvC;iBAAM,IAAI,KAAK,IAAI,SAAS,EAAE;gBAC7B,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;aAClG;iBAAM,IAAI,KAAK,IAAI,KAAK,EAAE;gBACzB,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA1E,CAA0E,CAAC,CAAC;aAEnJ;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,2DAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,0DAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IACjD,CAAC;IACD,qEAAuB,GAAvB,UAAwB,KAAsB;QAC5C,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACtD,CAAC;IAED,kEAAoB,GAApB,UAAqB,IAAI;QAAzB,iBAuBC;QAtBC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,mBAAmB,EAAE;YAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,IAAI,wBAAwB,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC7C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,2DAAa,GAAb;QAAA,iBAUC;QATC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,qBAAqB,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;YACtF,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpK,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACL,CAAC;IACH,0CAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GC7WS,wQAAuI,YAAzB;;wBAAsB;MAApI,wBAAuI;6GACvI,2QAA0I,YAA1B;;wBAAuB;MAAvI,wBAA0I;6GAF5I,4LAAmF,KACjF,gZAAuI,IACvI,gZAA0I,iDADlD,oBAAqB,eAA7G,YAAuI,EAA/C,SAAqB,GAClB,mBAAoB,eAA/G,YAA0I,EAA/C,SAAoB;6GAiBrG,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,6EAExF;6GALF;;;;;wBAEqE;MADxB;;wBAA6C;MAAwI;;wBAA+C;MADjR,g1DAEqE,IACnE,ydAAwF,iDAF4E,gGAA2D,GADjO,YAEqE,EADiG,UAA2D,GAAzN,mBAAoC,6CAAC,qCAA6C,8CAD1F,YAEqE,EAD7D,UAAoC,EAAC,UAA6C,GAEhF,mBAAmC,uCAA3C,YAAwF,EAAhF,UAAmC,mDAHE,yIAA2B,GAAC,yIAAyB,GAE5F,uEAA4D,GAFpE,uuBAA+C,SAA2B,EAAC,SAAyB,EAE5F,SAA4D,EAFpE,uFAEqE;6GAHvE,0KAAmO,KACjO,gZAEqE,yBADsB,kIAA0E,IADrK,YAEqE,EADsB,SAA0E,2BAFlK,kIAA4B,GAAjC,YAAmO,EAA9N,SAA4B;8GAc7B,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,6EAEtF;8GALF;;;;;wBACuZ;MAA1W;;wBAA6C;MAA4K;;;wBAAoE;MAD1U,+2DACuZ,IAErZ,0dAAsF,iDAFkH,gGAA2D,GADrQ,YACuZ,EAA7M,UAA2D,GAA7P,mBAAoC,6CAAuV,2BAAmB,EAAzW,qCAA6C,8CAD1F,YACuZ,EAA/Y,UAAoC,EAAuV,UAAmB,EAAzW,UAA6C,GAEhF,mBAAmC,uCAA3C,YAAsF,EAA9E,UAAmC,2BAHE,yIAA2B,GAAC,yIAAyB,GAApG,muBACuZ,EADxW,SAA2B,EAAC,SAAyB,EAApG,sFACuZ;8GASrZ,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,6EAEtF;8GALF;;;;;wBACka;MAArX;;wBAA6C;MAA2M;;;wBAAoE;MADzW,g1DACka,IAEha,0dAAsF,iDAFiJ,gGAA2D,GADpS,YACka,EAAzL,UAA2D,GAA5R,mBAAoC,6CAAC,qCAA6C,8CAD1F,YACka,EAA1Z,UAAoC,EAAC,UAA6C,GAEhF,mBAAmC,uCAA3C,YAAsF,EAA9E,UAAmC,2BAHE,yIAA2B,GAAC,yIAAyB,GAApG,muBACka,EADnX,SAA2B,EAAC,SAAyB,EAApG,sFACka;8GAVpa,0KAAqG,KAEnG,iZACuZ,IAMvZ,iZACka,iDAPvU,0KAA8G,KADzM,YACuZ,EAA5T,SAA8G,GAO9G,oNAA6I,KADxO,YACka,EAAvU,SAA6I,2BAVrO,kIAA4B,GAAjC,YAAqG,EAAhG,SAA4B;8GAqB7B,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;8GAHF;;;;;wBAAoe;MAA1V;;wBAA6C;MAAwI;;wBAA+C;MAA9W,g1DAAoe,IACle,0dAAsF,iDAD2K,gGAA2D,GAA9T,YAAoe,EAAjO,UAA2D,GAAzN,mBAAoC,6CAAC,qCAA6C,8CAAvL,YAAoe,EAA/X,UAAoC,EAAC,UAA6C,GAC7K,mBAAmC,uCAA3C,YAAsF,EAA9E,UAAmC,mDADE,yIAA2B,GAAC,yIAAyB,GAAmU,uEAA4D,GAAne,uuBAA+C,SAA2B,EAAC,SAAyB,EAAmU,SAA4D,EAAne,uFAAoe;8GAFte,0KAAsG,KAEpG,iZAAoe,yBAA5S,kIAA0E,IAAlQ,YAAoe,EAA5S,SAA0E,2BAF/P,kIAA4B,GAAjC,YAAsG,EAAjG,SAA4B;8GAU/B;;;;;;;;;;;wBAAogB;MAAjd;;wBAA6C;MAAoQ;;wBAAwC;MAA5Y,i5DAAogB,iDAA5N,yFAA2D,GAAnW,YAAogB,EAA5N,UAA2D,GAAlQ,mBAAoC,sCAAlF,qCAA6C,uCAAhG,YAAogB,EAAna,UAAoC,EAAlF,UAA6C,mDAAzF,qJAA2C,GAAuI,uIAAuC,GAAqO,uEAA4D,GAAjgB,uuBAAO,SAA2C,EAAuI,SAAuC,EAAqO,SAA4D,EAAjgB,uFAAogB;8GAEpgB;;;;;;;;;;;wBACuR;MADxL;;wBAA6C;MAChB;;wBAAyC;MADrK,i5DACuR,iDAA1O,wFAA2D,GADxG,YACuR,EAA1O,SAA2D,GAD9C,mBAAoC,sCAAC,qCAA6C,uCAA5I,YACuR,EAD7N,UAAoC,EAAC,UAA6C,mDACiF,kEAAuD,GADpR,muBACuR,EAA1D,SAAuD,EADpR,sFACuR;8GAEvR;;;;;;;;;;;wBACqR;MADtL;;wBAA6C;MACnB;;wBAAyC;MADlK,i5DACqR,iDAA3O,wFAA2D,GADrG,YACqR,EAA3O,SAA2D,GAD3C,mBAAoC,sCAAC,qCAA6C,uCAA5I,YACqR,EAD3N,UAAoC,EAAC,UAA6C,mDAC+E,kEAAuD,GADlR,muBACqR,EAA1D,SAAuD,EADlR,sFACqR;6GAlD/R,iLAAiF,KAC/E,wMAA2E,KACzE,+LAAmE,kFAEnE,MACA,uKAA0C,KACxC,kLAAqD,KACnD,gZAAmO,IASnO,iZAAqG,IAkBrG,kZAAsG,IAStG,2KAAgE,KAC9D,kZAAogB,IAEpgB,kZACuR,IAEvR,kZACqR,yBA3CvN,qQAAkK,IAAlO,YAAmO,EAAnK,SAAkK,GASlK,4DAAoC,GAApG,YAAqG,EAArC,SAAoC,GAkBpC,6DAAqC,GAArG,aAAsG,EAAtC,SAAqC,GAU8H,6GAAsE,IAAvS,aAAogB,EAAnS,SAAsE,GAE1J,2KACjG,IAD5C,aACuR,EAD1I,SACjG,GAEiG,wKACpG,IADzC,aACqR,EADxI,SACpG,2BAhDoB,uEAEnE,GAuCS,2HAA4B,GAAjC,aAAgE,EAA3D,SAA4B;8GAgCzC,6MAAoG,KAElG,qKAAyC,mSAA8I,YAAtC;;wBAAqC;MAA7I,wBAA8I,uJAA4B,KAAO,8EAAM,MAChO,qKAAyC,mTAAsJ,YAA/B;;wBAAiB;MAAxI,wBAAsJ,uJAA4B,KAAO,4EAAI,yDAAlG,oBAA2B,gBAAtH,YAAsJ,EAA3D,SAA2B;6GA/EnK;;;;;;kzBAAqG,IACnG,ydAAiF,IA8DjF,8LAAiE,KAC/D,wMAA4E,KAG5E,qKAAyC,KACvC,6MAAgF,KAC9E,kLAAqD,KACnD;;;;;;;;;;;wBAAqW;MAAlQ;;wBAAwC;MAAuJ;;wBAA4B;MAA9T,o8CAAqW,IAM7W,kZAAoG,iDA5EhG,mBAAqB,UAA3B,YAAqG,EAA/F,SAAqB,GACpB,mBAA4B,SAAjC,YAAiF,EAA5E,SAA4B,GAqEsS,kCAAqC,EAAjQ,oBAAwC,6BAA3I,aAAqW,EAAtC,UAAqC,EAAjQ,UAAwC,GAM1G,oBAAwB,mBAAjE,aAAoG,EAA3D,UAAwB,2BA5EnE,8sBAAqG,GAsE3F,kuBAAqW;6GAvEjX,8LAAsF,KACpF,gZAAqG,iDAApC,qDAAmC,IAApG,YAAqG,EAApC,SAAmC;8GAqG9F,wHAA4C,gFAAG;8GAC/C,wHAA4C,iFAAI;8GAChD,wHAA4C,oFAAO;8GA0BzD,mLAA8M,KAC5M,6OAA2G,KACzG,sRAAwI,YAAxC;;wBAAuC;MAAvI,wBAAwI,mFAAM,MAC9I,2VAA6O,YAAxE;;wBAAuE;MAA5O,wBAA6O,iFAAI;8GA3CzP,sNAAwJ,YAA5I;;wBAA+B;MAAkD;;wBAAuC;MAApI,ubAAwJ,MAEtJ,yNAA+F,KAC7F,yKAA4C,KAC1C,oLAAwD,KACtD,qHAAG,8FAAiB,MAEtB,yNAA6F,KAC3F,qKAAyC,uFAEzC,MACA,6IAAsB,KACpB,kZAA4C,IAC5C,kZAA4C,IAC5C,kZAA4C,IAIhD,yOAA2G,KACzG,sKAAyC,qFAEzC,MACA,6IAAsB,KACpB,8IAAuB,8IAAqD,IAE9E,6IAAsB,KACpB;;;;;;;;;;;wBAAwG;MAA9C;;wBAA2C;MAArG,ixCAAwG,IAK9G,sLAAyD,KACvD,iPAAmG,YAAnC;;wBAAgC;MAAhG,wBAAmG,KAIvG,qKAA2C,KACzC,yLAA4D,KAC1D;;;;;;;;;;;wBAAuS;MAArO;;wBAAwC;MAAgK;;wBAA4B;MAAtS,oyCAAuS,IAEzS,kZAA8M,iDAxC7E,qBAAkB,EAA3I,oBAA+B,mBAA3C,YAAwJ,EAAnB,SAAkB,EAA3I,SAA+B,GAY3B,kDAAqC,GAA3C,aAA4C,EAAtC,SAAqC,GACrC,kDAAqC,GAA3C,aAA4C,EAAtC,SAAqC,GACrC,kDAAqC,GAA3C,aAA4C,EAAtC,SAAqC,GAYe,oBAA2C,gCAArG,aAAwG,EAA9C,UAA2C,GAYc,kCAAsB,EAA3E,oBAAwC,6BAA1G,aAAuS,EAAhL,UAAsB,EAA3E,UAAwC,GAErD,0LAAsJ,IAA7M,aAA8M,EAAvJ,UAAsJ,mDAjBhL,0OAAqD,GAG5E,4tBAAwG,GAY5G,ouBAAuS;8GAa7S,kNAAkI,YAA/E;;wBAA6B;MAAhF,ucAAkI,MAChI,k9CAMgC,iDAPiB,mBAA6B,kBAAqB,uBAA4B,EAAjI,YAAkI,EAA/E,SAA6B,EAAqB,SAA4B,GAGhH,mBAAe,QAEf,mBAAW,MACX,6BAAyB,EACzB,oBAAgB,EALhB,kCAAsC,EAEtC,mBAA+B,gBAH9C,YAMgC,EAJjB,SAAe,EAEf,SAAW,EACX,SAAyB,EACzB,SAAgB,EALhB,SAAsC,EAEtC,SAA+B;8GA+BhD,4NAA+G,YAAnG;;wBAAqC;MAAjD,4ZAA+G,MAE7G,oKAA0C,KACxC,gLAAoD,yKAA8C,8FAAiB,MACnH,gLAAoD,KAClD,yKAAmD,wFAAW,MAEhE,gLAAoD,KAClD,iLAAoD,KAClD,kJAA2B,yGAA4B,MAAI,uHAAM,KAGnE,iLAAoD,KAClD,8RAAuJ,YAA1C;;wBAAyC;MAAtJ,wBAAuJ,+EAAE,mDAbrJ,mBAAqC,0BAAjD,YAA+G,EAAnG,SAAqC;8GAoB/C,+LAE4G,YAApD;;wBAAmD;MAF3G,uoBAE4G,2BAFA,iBAAY,EAAC,0BAA0B,EAAC,oCAA8B,EAChK,oDAAoD,EAAC,oBAAa,EAAC,qBAAgB,EAC/D,oBAAiB,EAArC,qBAAmB,EAFrC,YAE4G,EAFA,SAAY,EAAC,SAA0B,EAAC,SAA8B,EAChK,SAAoD,EAAC,SAAa,EAAC,SAAgB,EAC/D,SAAiB,EAArC,SAAmB;8GAErC,+LAE4G,YAApD;;wBAAmD;MAF3G,uoBAE4G,2BAF/D,iBAAY,EAAC,0BAA0B,EAAC,kCAA4B,EAC/F,4CAA4C,EAAC,oBAAa,EAAC,qBAAgB,EACvD,oBAAiB,EAArC,qBAAmB,EAFrC,YAE4G,EAF/D,SAAY,EAAC,SAA0B,EAAC,SAA4B,EAC/F,SAA4C,EAAC,SAAa,EAAC,SAAgB,EACvD,SAAiB,EAArC,SAAmB;8GAPvC,yNAAyG,YAA7F;;wBAAmC;MAA/C,4ZAAyG,MACvG,8YAE4G,IAE5G,8YAE4G,iDAPlG,mBAAmC,wBAA/C,YAAyG,EAA7F,SAAmC,GAC3B,sHAAyF,IAA3G,YAE4G,EAF1F,SAAyF,GAIzF,yCAA0B,GAA5C,YAE4G,EAF1F,SAA0B;4WApNhD,8OAA2G,KACzG,0MAA8E,KAC5E,gLAAoD,KAClD,mLAAuD,KACrD,4KAAgD,gFAA4E,MAC5H,2PAA2G,YAAhC;;wBAA6B;MAAxG,wBAA2G,KAC3G,iZAAmF,IAMvF,iZAAsF,IA0FxF,kZAAwJ,IAmDxJ,kZAAkI,IAalI,sPAA8H,YAAlH;;wBAAoC;MAAhD,wcAA8H,MAC5H,gLAAqD,KACnD,uOAA0G,KACxG,sJAA+B,0FAAa,MAC5C,ySAAiK,YAAzC;;wBAAwC;MAAhK,wBAAiK,KAC/J,sHAAG,KACD,mMAAwE,KAI9E,qNAAkF,KAChF,mPAAkI,YAAlF;;wBAA4C;MAA5F,6rBAAkI,MAGpI,0PAAuH,KACrH,sSAAwJ,YAA7H;;wBAAwC;MAAnE,wBAAwJ,mFAAM,MAC9J,wVAA4L,YAApJ;;wBAA0B;MAAlE,wBAA4L,kFAAK,MAMvM,kZAA+G,IAmB/G,kZAAyG,iDAzMnC,mBAAkB,aAAlF,aAAmF,EAAnB,SAAkB,GAMpB,oBAAmB,aAArF,aAAsF,EAApB,SAAmB,GA0F3C,oBAAyB,mBAArE,aAAwJ,EAA5G,SAAyB,GAmDzD,0DAAsC,IAAlD,aAAkI,EAAtH,SAAsC,GAatC,mBAAoC,yBAAiD,uBAA4B,EAA7H,aAA8H,EAAlH,SAAoC,EAAiD,SAA4B,GAWtG,mBAA8B,gBAAC,mBAA4C,6BAA5F,aAAkI,EAAjH,SAA8B,EAAC,SAA4C,GAWhD,mBAA+B,0BAAjF,aAA+G,EAA7D,SAA+B,GAmBN,oBAA6B,wBAAxG,aAAyG,EAA9B,UAA6B,mDA3MlD,kHAA4E;;;;;;;;;;;;;;;;ACJpI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsG;AAC3D;AAEE;AAC+B;AACR;AACP;AACpB;AACe;AACb;AAES;AACA;AACS;AAGe;AACT;AAEnE;IA2DE,iCAAmB,oBAA0C,EAAE,SAAqB,EAAU,iBAAsC,EAAU,WAAwB,EAAS,eAAgC,EAAU,MAAqB,EAAU,MAAc;QAAtQ,iBAQC;QARkB,yBAAoB,GAApB,oBAAoB,CAAsB;QAAiC,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAS,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;QArDtQ,oBAAe,GAAG,KAAK,CAAC;QACxB,kBAAa,GAAkB,IAAI,0EAAa,EAAE,CAAC;QAEnD,cAAS,GAAmB,EAAE,CAAC;QAC/B,uBAAkB,GAAmB,EAAE,CAAC;QACxC,aAAQ,GAAmB,EAAE,CAAC;QAC9B,WAAM,GAAmB,EAAE,CAAC;QAC5B,WAAM,GAAmB,EAAE,CAAC;QAC5B,kBAAa,GAAmB,EAAE,CAAC;QACnC,iBAAY,GAAmB,EAAE,CAAC;QAClC,uBAAkB,GAAiB,EAAE,CAAC;QACtC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,kBAAa,GAAG,CAAC,CAAC;QAOlB,UAAK,GAAU,IAAI,0DAAK,EAAE,CAAC;QAE3B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAG1C,qBAAgB,GAAY,IAAI,CAAC;QAEjC,WAAM,GAAY,KAAK,CAAC;QAOxB,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACnC,2BAAsB,GAAY,KAAK,CAAC;QACxC,wBAAmB,GAAY,KAAK,CAAC;QAAC,kBAAa,GAAY,KAAK,CAAC;QAErE,eAAU,GAAY,IAAI,CAAC;QACpB,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAC9H,4BAAuB,GAAY,KAAK,CAAC;QAGzC,UAAK,GAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,iBAAY,GAAW,KAAK,CAAC;QAC7B,0BAAqB,GAAY,KAAK,CAAC;QAEvC,0BAAqB,GAAwB,EAAE,CAAC;QAChD,iBAAY,GAAG,EAAE,CAAC;QAClB,YAAO,GAAG,IAAI,yDAAS,CAAC,EAAE,CAAC,CAAC;QAE5B,qBAAgB,GAAY,KAAK,CAAC;QAEhC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,4CAAU,GAAV;QACE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,4CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aACI;YACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;IACH,CAAC;IACD,0CAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,0DAAK,EAAE,CAAC;IAC3B,CAAC;IACD,+CAAa,GAAb;QAAA,iBA6CC;QA5CC,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC9D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,aAAa,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACpD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC9D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,aAAa,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACpD,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,UAAC,KAAK;YAC9C,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YACvF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAC3E,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YACjF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAChF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC7G,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAc,GAAd;QAAA,iBAwDC;;QAvDC,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,iBAAO;gBACrC,IAAI,OAAO,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;oBACnD,KAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;iBAEhD;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QAEpC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC;QACvC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,EAAE;YACrG,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,aAAa,CAAC;SACnD;QAED,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,iBAAO;gBACrC,aAAa,IAAI,OAAO,CAAC,eAAe,GAAG,GAAG,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;SACvF;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;SACvE;QAED,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,OAAC,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAC;QAErE,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAExE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;YACjC,KAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;YAChC,KAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;YAC7D,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YACzB,IAAI,KAAI,CAAC,KAAK,CAAC,eAAe,EAAE;gBAC9B,KAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;gBAC5G,KAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;aACnH;YAGD,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC/D,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,KAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;gBAChC,KAAI,CAAC,KAAK,GAAG,IAAI,0DAAK,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC3C,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iCAAiC,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhG,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAK;QAAb,iBA0BC;QAzBC,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC1D,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;gBAC5B,IAAI,KAAI,CAAC,aAAa,CAAC,eAAe,IAAI,IAAI,EAAE;oBAC9C,KAAI,CAAC,aAAa,CAAC,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;iBAC5D;qBAAM;oBACP,KAAI,CAAC,aAAa,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,aAAa,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;iBAC9G;gBACD,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,IAAI,YAAY,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,EAAE;oBAC3F,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC;iBACxD;gBACD,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACpC,KAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACnF,KAAK,CAAC,OAAO,CAAC,eAAK;oBACnB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAElC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAChC;IAGH,CAAC;IAED,mDAAiB,GAAjB,UAAkB,GAAG;QACnB,IAAI,GAAG,IAAI,QAAQ,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,0EAAa,EAAE,CAAC;YACzC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;SAC7E;IACH,CAAC;IAED,8CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,KAAK,EAAE;YAC5E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACnD,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,UAAU,CAAC;gBAET,SAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBACjC,SAAO,CAAC,GAAG,EAAE,CAAC;YAEhB,CAAC,EAAC,CAAC,CAAC;SAEL;aACI;YACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAE9B;IACH,CAAC;IAED,wCAAM,GAAN,UAAO,GAAG,EAAE,MAAM;QAEhB,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACtD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE;wBAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+FAA+F,EAAE,eAAe,CAAC,CAAC;wBACtI,OAAO;qBACR;iBAEF;aACF;SACF;QACD,IAAI,CAAC,MAAM,GAAG,IAAI;QAClB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,IAAI,MAAM,IAAI,YAAY,EAAE;YAC1B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;SAC/C;aAAM,IAAI,MAAM,IAAI,SAAS,EAAE;YAC9B,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACtC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;SACnD;aACI;YACH,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;SAChD;IACH,CAAC;IAED,8CAAY,GAAZ,UAAa,GAAG,EAAE,MAAM;QAAxB,iBAiBC;QAhBC,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC7D,KAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC3C,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC/B,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,KAAK;YAEP,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC9B;IAEH,CAAC;IACD,qCAAG,GAAH;QACE,UAAU,CAAC;YACT,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kJAAkJ,CAAC,CAAC;QACpM,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,uDAAqB,GAArB;QAEE,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QACjD,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QACrD,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAElD,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IACD,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;IACrC,CAAC;IAED,yCAAO,GAAP;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,yCAAO,GAAP;QACE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACjE,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACtE,CAAC;IAED,sCAAI,GAAJ;QAEE,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,EAAE;YACpE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,2DAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,2DAAW,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,2DAAW,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1E,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;SACvC;aAAM;YACL,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;YAC1F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,2DAAyB,GAAzB;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,iDAAe,GAAf;QAEE,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAE5B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,UAAU,EAAE;gBACzC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;aACtB;iBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,UAAU,EAAE;gBAChD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;aACtB;iBAAM;gBACL,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;aACpC;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,yCAAyC;YACzC,0CAA0C;YAC1C,qBAAqB;YACrB,4BAA4B;YAC5B,0CAA0C;YAE1C,WAAW;SACZ;aACI;YACH,wCAAwC;YAExC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,UAAU,CAAC;gBACT,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;YAC5K,CAAC,EAAE,CAAC,CAAC,CAAC;SAEP;IAEH,CAAC;IACD,gDAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,uDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,uDAAqB,GAArB,UAAsB,gBAAwB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,4FAA4F;wBAC5F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,8CAA8C;oBAC9C,qCAAqC;oBACrC,KAAK;oBACL,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACzN;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK;gBAC5J,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAChN,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAE7Q,CAAC;IAEJ,CAAC;IAED,kDAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAAhC,iBAWC;QAVC,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC1F,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAAC,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5D,CAAC,CAAC,CAAC;IAEL,CAAC;IAKD,wCAAM,GAAN,UAAO,GAAG;QACR,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAElC;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;IACH,CAAC;IACD,2DAAyB,GAAzB;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC;IACD,mDAAiB,GAAjB;QAEE,0GAA0G;QAC1G,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;QAC5E,4BAA4B;QAC5B,gCAAgC;QAChC,gLAAgL;QAChL,WAAW;QACX,UAAU;QAEV,kDAAkD;QAClD,GAAG;IAEL,CAAC;IAED,4DAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;QACD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IACD,kDAAgB,GAAhB;QAAA,iBAwCC;QAtCC,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1E,KAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,aAAG;gBAChB,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,IAAI,GAAG,CAAC,QAAQ,IAAI,eAAe,EAAE;oBAClE,IAAI,GAAG,CAAC,UAAU,IAAI,SAAS,EAAE;wBAC/B,KAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;4BACvF,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;4BACpB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC5B,CAAC,CAAC,CAAC;qBACJ;yBAEI;wBACH,KAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4BACxG,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;wBAE5B,CAAC,CAAC,CAAC;qBACJ;iBAGF;YAGH,CAAC,CAAC,CAAC;YAEH,IAAI,EAAE,GAAG,KAAI,CAAC;YACd,UAAU,CAAC;gBACT,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;gBACnB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;oBACjB,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,2DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzD,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,2DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YAEhE,CAAC,EAAE,GAAG,CAAC;QAIT,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GC9lBW,+LAAqO,YAA9G;;wBAA0C;MAAjK,6+BAAqO,mDAAhM,mBAA2B,cAAC,mBAAmB,UAAkI,kBAAc,EAA/I,kBAAU,EAAC,mBAAsB,WAA4C,+BAA4B,EAAC,yBAAsB,EAArN,YAAqO,EAAhM,SAA2B,EAAC,SAAmB,EAAkI,SAAc,EAA/I,SAAU,EAAC,SAAsB,EAA4C,SAA4B,EAAC,SAAsB;4GADvN,uMAAqH,KACnH,+YAAqO,iDAApN,kCAAmB,GAApC,YAAqO,EAApN,SAAmB;4GAIpC,+LAA0O,YAAnH;;wBAA0C;MAAjK,6+BAA0O,mDAArM,mBAA2B,cAAC,mBAAmB,UAAkI,mBAAmB,UAApJ,kBAAU,EAAC,mBAAsB,WAA4C,+BAA4B,EAAC,yBAAsB,EAArN,YAA0O,EAArM,SAA2B,EAAC,SAAmB,EAAkI,SAAmB,EAApJ,SAAU,EAAC,SAAsB,EAA4C,SAA4B,EAAC,SAAsB;4GADvN,gNAAyG,KACvG,+YAA0O,iDAAzN,kCAAmB,GAApC,YAA0O,EAAzN,SAAmB;4GASpC,sLAA4F,KAC1F,sLAA0D,KAG1D,sLAA0D,KAExD,yPAAoI,YAA3D;;wBAAwD;MAAjI,wBAAoI,KAEtI,sLAA0D,KAExD,yPAAsI,YAA7D;;wBAA0D;MAAnI,wBAAsI;4GAwGpI,mNAA+H,KAC7H,2NAA+F,0HAAG,6MAAuE,IACzK,sLAA0D,2FAAwB,MAClF,wMAA4E,gFAAwB,iCAFF,gdAAuE,GAC/G,kEAAwB,GACN,6EAAwB;4GAvF9G,mLAAmF,KAEjF,oRAAwJ,KACtJ,6IAAuB,8HAAO,gGAAmB,MACjD,4IAAsB,KACpB,sPAAwH,YAAhH;;wBAA2C;MAAnD,wBAAwH,KACtH,4NAA4F,KAIlG,uPAA0H,KAExH,oLAAwD,KACtD,0LAA6D,2HAAG,qFAAQ,MACxE,wMAA2E,iFAAoC,MAEjH,qLAAwD,KACtD,0LAA6D,2HAAG,2FAAc,MAC9E,0LAA6D,iFAAiC,MAEhG,qLAAwD,KACtD,0LAA6D,2HAAG,0FAAa,MAC7E,0LAA6D,iFAA4C,MAG3G,qLAAwD,KACtD,0LAA6D,2HAAG,uFAAU,MAC1E,0LAA6D,iFAAiC,MAGhG,qLAAwD,KACtD,0LAA6D,2HAAG,yFAAY,MAC5E,0LAA6D,iFAAwC,MAGvG,qLAAwD,KACtD,0LAA6D,2HAAG,kFAAK,MACrE,0LAA6D,iFAAgC,MAG/F,qLAAwD,KACtD,0LAA6D,2HAAG,0FAAa,MAC7E,0LAA6D,iFAAiC,MAGhG,qLAAwD,KACtD,0LAA6D,2HAAG,iFAAI,MACpE,0LAA6D,iFAA2C,MAG1G,qLAAwD,KACtD,0LAA6D,2HAAG,iFAAI,MACpE,0LAA6D,iFAA+B,MAG9F,qLAAwD,KACtD,0LAA6D,2HAAG,mFAAM,MACtE,0LAA6D,iFAAgC,MAG/F,qLAAwD,KACtD,0LAA6D,2HAAG,qFAAQ,MACxE,0LAA6D,iFAA2B,MAG1F,qLAAwD,KACtD,0LAA6D,2HAAG,mFAAM,MACtE,0LAA6D,iFAA8B,MAG7F,qLAAwD,KACtD,0LAA6D,2HAAG,oFAAO,MACvE,0LAA6D,iFAAmC,MAGlG,qLAAwD,KACtD,0LAA6D,2HAAG,wFAAW,MAC3E,0LAA6D,iFAAoC,MAIrG,0PAA6H,KAC3H,qQAAwI,KACtI,yKAA4C,KAC1C,ydAA+H,IAMjI,qKAAwC,KACtC,8RAAwJ,YAArC;;wBAAoC;MAAvJ,wBAAwJ,kDAPjE,oBAAuC,qBAA9H,aAA+H,EAAxC,UAAuC,mDAtErD,8EAAoC,GAIlD,2EAAiC,GAIjC,sFAA4C,GAK5C,2EAAiC,GAKjC,kFAAwC,GAKxC,0EAAgC,GAKhC,2EAAiC,GAKjC,qFAA2C,GAK3C,yEAA+B,GAK/B,0EAAgC,GAKhC,uEAA2B,GAK3B,0EAA8B,GAK9B,+EAAmC,GAKnC,gFAAoC;6GA4BjG,6OAAyJ,KACvJ,4MAAgF,0HAAG,6MAAuE,IAC1J,sKAA0C,2FAAwB,MAClE,sLAA0D,gFAAwB,iCAFC,gdAAuE,GAChH,kEAAwB,GACR,6EAAwB;4GAX1F,gLAAgF,KAC9E,yNAA6F,KAC3F,kQAAsI,KACpI,yHAAO,gGAAmB,MAC1B,uKAAkD,KAAC,4PAAkH,YAAtC;;wBAAqC;MAAjH,wBAAkH,KAGvK,uMAA2E,KACzE,ydAAyJ,iDAAxC,mBAAuC,qBAAxJ,YAAyJ,EAAxC,SAAuC;4GAxJlK,kLAAwE,KACtE,wLAA2D,KAEzD,+YAAqH,IAIrH,+YAAyG,IAMzG,gmBAAuK,IACrK,uLAA2D,KACzD,yHAAO,qLAAyD,gGAAmB,MAErF,gZAA4F,IAa5F,mOAAgG,KAC9F,yQAQiE,YAAhD;;wBAA+C;MARhE,kgDAQiE,MAOvE,iLAAoD,KAClD,gZAAmF,IAiGnF,gZAAgF,iDA7IxC,mEAA+C,IAAvF,YAAqH,EAA7E,SAA+C,GAIzC,uCAA0B,GAAxE,YAAyG,EAA3D,SAA0B,GAMnE,kHAA2F,GAAhG,YAAuK,EAAlK,SAA2F,GAIzF,gDAAiC,GAAtC,aAA4F,EAAvF,SAAiC,GAgBnB,mBAA2B,cAG3B,mBAA4B,mBAF5B,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAPpC,aAQiE,EANhD,SAA2B,EAG3B,SAA4B,EAF5B,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,GASjB,qBAA4B,sBAAnD,aAAmF,EAA5D,UAA4B,GAiGC,oBAA2B,sBAA/E,aAAgF,EAA5B,UAA2B;6GA0BnF,oNAAsI,YAA1H;;wBAA+B;MAA3C,6dAAsI,MACpI,2LAAyK,YAA5C;;wBAA2C;MAAxK,yjCAAyK,mDADxD,qBAAkB,EAAzH,mBAA+B,mBAAiD,qBAAsB,EAAlH,YAAsI,EAAnB,SAAkB,EAAzH,SAA+B,EAAiD,SAAsB,GAC/F,mBAA+B,gBAAmC,mBAAuB,YAArC,mBAAa,OAAjC,mBAAmB,UAAuC,mBAAiB,SAA5H,YAAyK,EAAxJ,SAA+B,EAAmC,SAAuB,EAArC,SAAa,EAAjC,SAAmB,EAAuC,SAAiB;6GAKpI,0MAAkG,YAAtF;;wBAAwB;MAApC,0cAAkG,MAChG,4JAAmC,kDADzB,mBAAwB,aAAiC,uBAA4B,EAAjG,YAAkG,EAAtF,SAAwB,EAAiC,SAA4B;6GAM/F,yNAAiI,KAC/H,kMAAqK,YAArC;;wBAAoC;MAApK,wtCAAqK,mDAAvJ,mBAAiB,aAAa,0BAAmB,EAAC,oBAAmB,EAAC,qBAAsB,EAAC,oBAAoB,EAA/H,YAAqK,EAAvJ,SAAiB,EAAa,SAAmB,EAAC,SAAmB,EAAC,SAAsB,EAAC,SAAoB;6GAFnI,2MAAoH,YAAxG;;wBAAqB;MAA8B;;wBAAoD;MAAnH,+ZAAoH,MAClH,6YAAiI,iDADvH,mBAAqB,UAAjC,YAAoH,EAAxG,SAAqB,GAC1B,kDAAmC,IAAxC,YAAiI,EAA5H,SAAmC;6GAKxC,mMAAoI,YAAtC;;wBAAqC;MAAnI,69BAAoI,mDAAvF,mBAA6B,aAAC,yBAAkB,EAA7F,YAAoI,EAAvF,SAA6B,EAAC,SAAkB;6GAC7F,6wBAA8F,iDAAjD,mBAA6B,aAAC,yBAAkB,EAA7F,YAA8F,EAAjD,SAA6B,EAAC,SAAkB;6GAF/F,kNAAoL,YAAxK;;wBAAgC;MAA5C,6dAAoL,MAClL,6YAAoI,IACpI,6YAA8F,iDAFJ,sDAAyC,GAAzH,mBAAgC,qBAA0F,sDAA6C,GAAnL,YAAoL,EAAxF,SAAyC,EAAzH,SAAgC,EAA0F,SAA6C,GAC3J,qCAAsB,GAA5C,YAAoI,EAA9G,SAAsB,GACtB,qCAAsB,GAA5C,YAA8F,EAAxE,SAAsB;6GAE9C,kNAAsI,YAA1H;;wBAAgC;MAA5C,6dAAsI,MACpI,8LAAsH,YAA7C;;wBAA4C;MAArH,69CAAsH,mDAD5B,qBAAkB,EAAlG,mBAAgC,qBAAmE,qBAAsB,EAArI,YAAsI,EAA1C,SAAkB,EAAlG,SAAgC,EAAmE,SAAsB,GACtG,mBAAwB,aAAxC,iBAAe,EAA0B,yBAAkB,EAAxE,YAAsH,EAAzF,SAAwB,EAAxC,SAAe,EAA0B,SAAkB;whBAlM1E,iLAAqD,KACnD,wLAA4D,KAC1D,iLAAqD,KACnD,+YAAwE,IA0KxE,iZAAsI,IAM5I,iZAAkG,IAKlG,iZAAoH,IAKpH,iZAAoL,IAIpL,iZAAsI,iDA9L3E,oBAAkB,YAAvE,YAAwE,EAAnB,SAAkB,GA0K3B,mBAAyB,mBAArE,aAAsI,EAA1F,SAAyB,GAMtC,mBAAkB,aAAvD,aAAkG,EAA7D,SAAkB,GAKrB,mBAAe,UAAjD,aAAoH,EAAlF,SAAe,GAKJ,mBAA0B,qBAAvE,aAAoL,EAAvI,SAA0B,GAI1B,mBAA0B,qBAAvE,aAAsI,EAAzF,SAA0B;;;;;;;;;;;;;;;;ACjMvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuH;AAE3C;AACnB;AACR;AACA;AACU;AAChB;AACA;AACA;AACwB;AACX;AACM;AACN;AAEqB;AACb;AAET;AACoC;AAEjC;AAG1D;IA4DE,gCAAoB,WAAwB,EAAQ,oBAA0C,EAAU,KAAqB,EAAU,WAAyB,EAAU,gBAAkC,EAAU,MAAqB,EAAE,SAAqB,EAAU,iBAAsC,EAAU,MAAc,EAAU,eAAgC;QAAhW,gBAAW,GAAX,WAAW,CAAa;QAAQ,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,gBAAW,GAAX,WAAW,CAAc;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAiC,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAhDpX,iBAAY,GAAW,EAAE,CAAC;QAI1B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,UAAK,GAAW,CAAC,CAAC;QAClB,YAAO,GAAY,IAAI,CAAC;QAIxB,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAGnB,kBAAa,GAAkB,IAAI,mEAAa,EAAE,CAAC;QACnD,yBAAoB,GAAkB,IAAI,mEAAa,EAAE,CAAC;QAC1D,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAC3B,uBAAkB,GAAiB,EAAE,CAAC;QACtC,gBAAW,GAAgB,IAAI,iEAAW,EAAE,CAAC;QAC7C,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,kBAAa,GAAG,EAAE,CAAC;QACnB,WAAM,GAAG,IAAI,CAAC;QACd,oBAAe,GAAG,KAAK,CAAC;QACxB,qBAAgB,GAAG,KAAK,CAAC;QACzB,YAAO,GAAY,IAAI,CAAC;QAIxB,aAAQ,GAAiB,EAAE,CAAC;QAE5B,qBAAgB,GAAY,KAAK,CAAC;QAClC,eAAU,GAAY,KAAK,CAAC;QAC5B,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAE7C,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,cAAS,GAAY,KAAK,CAAC;QAE3B,yBAAoB,GAAY,IAAI,CAAC;QACrC,qBAAgB,GAAW,CAAC,CAAC;QAC7B,uBAAkB,GAAY,KAAK,CAAC;QAEpC,cAAS,GAAY,KAAK,CAAC;QAE3B,eAAU,GAAY,KAAK,CAAC;QAC5B,wBAAmB,GAAY,KAAK,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,yCAAQ,GAAR;QAAA,iBAkBC;QAjBC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAEhC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;gBACzB,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,YAAY,IAAI,aAAa,EAAE;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;aACI,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE;YAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEhD,CAAC;IACM,gDAAe,GAAtB,UAAuB,KAAK;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IACD,qDAAoB,GAApB,UAAqB,KAAK;QAA1B,iBASC;QARC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,KAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACnE,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAgB,GAAhB;QAAA,iBA+BC;QA9BC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,8BAA8B;QAC9B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAE1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAEH,CAAC;IAED,iDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QAEzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC5T,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAC3E,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACtL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC5T,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC5T,CAAC;wBACD,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;oBACzD,SAAS,EAAE,UAAU,MAAM;wBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAChG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC;iBACF;aACF,CAAC;SAEH;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,SAAS;QAA3B,iBA4BC;QA3BC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,SAAS,IAAI,CAAC,EAAE;YAClB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,oBAAoB,GAAG,IAAI,mEAAa,EAAE,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,yCAAyC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC/F,QAAQ,CAAC,OAAO,CAAC,UAAC,QAAQ;oBACxB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBACnG,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBAEjC,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE;4BACzC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;yBAChD;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACV,KAAI,CAAC,aAAa,GAAG,IAAI,mEAAa,EAAE,CAAC;gBACzC,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAC7B,KAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,yCAAQ,GAAR,UAAS,GAAG,EAAE,IAAI;QAAlB,iBAYC;QAXC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,SAAS,EAAE;YACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC3D,IAAI,EAAE,GAAG,KAAI;gBACb,CAAC,CAAC,UAAU,CAAC;oBACX,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,0CAAS,GAAT;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yHAAyH,CAAC,CAAC;QAChK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,+CAAc,GAAd,UAAe,YAAY;QACzB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0CAA0C,GAAG,YAAY,GAAG,2DAA2D,CAAC;QAC1I,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kGAAkG,CAAC,CAAC;IACjI,CAAC;IACD,4CAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,+CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC1C;aACI;YACH,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,mDAAkB,GAAlB,UAAmB,KAAK;QAEtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAEhB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAC/C;SACF;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SAExB;IACH,CAAC;IAED,4CAAW,GAAX;QACE,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,UAAU,EAAE;IACnB,CAAC;IACD,2CAAU,GAAV;QACE,UAAU,CAAC;YACT,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QAClL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,qDAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,oCAAoC;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE;oBAC5B,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAEhD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,oDAAmB,GAAnB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4GAA4G,CAAC,CAAC;QAC9J,CAAC,EAAE,CAAC,CAAC;IAEP,CAAC;IACD,qCAAI,GAAJ,UAAK,EAAE,EAAE,IAAI;QAAb,iBAaC;QAZC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,UAAU,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;SAC/B;aACI,IAAI,IAAI,IAAI,UAAU,EAAE;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,yDAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAClD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,IAAI,GAAG,UAAU,CAAC;gBACvB,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,gDAAe,GAAf,UAAgB,EAAE,EAAE,IAAI;QAAxB,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrS,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAO,GAAP,UAAQ,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAC,SAAS;QAE/G,+EAA+E;QAC/E,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,OAAO,IAAI,EAAE,EAAE;oBACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvF;qBACI;oBACH,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvG;aACF;SACF;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QAGD,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,8CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,4CAAW,GAAX;IAEA,CAAC;IACD,8CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,kDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,4CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,8CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,mDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,kBAAkB,EAAE;YAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,gBAAgB,GAAI,KAAK,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,+BAA8B;SAC3D;aACI,IAAI,GAAG,IAAI,0BAA0B,EAAE;YAC1C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;aACI,IAAI,GAAG,IAAI,aAAa,EAAE;YAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;aACI,IAAI,GAAG,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aACI,IAAI,GAAG,IAAI,QAAQ,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aACI,IAAI,GAAG,IAAI,UAAU,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;aAAK,IAAI,GAAG,IAAI,qBAAqB,EAAE;YACtC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;IACH,CAAC;IAED,iDAAgB,GAAhB;QAAA,iBAQC;QAPC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IACD,+CAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,2DAA0B,GAA1B,UAA2B,GAAG,IAAI,CAAC;IACnC,sDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,sDAAqB,GAArB,UAAsB,gBAAwB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,CAAC;gBACtB,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACC;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;oBAC/B,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE;YAClM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,KAAK;gBACpM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACrP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAElT,CAAC;IACJ,CAAC;IACD,4CAAW,GAAX;QACE,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YAC3B,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrE;aAAM,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YAClC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC5E;QAGD,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBACzD,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,UAAU,CAAC;YACrD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEV,CAAC;IACD,+CAAc,GAAd;QACE,uDAAuD;QACvD,uDAAuD;QACvD,uDAAuD;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IACD,iDAAgB,GAAhB;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,oDAAmB,GAAnB;QAEI,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mKAAmK,CAAC,CAAC;QAClM,CAAC,EAAE,CAAC,CAAC;IAET,CAAC;IACD,+CAAc,GAAd,UAAe,GAAG;QAEhB,IAAI,GAAG,IAAI,SAAS,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,SAAO,GAAG,IAAI,CAAC;YACrB,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1B,SAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,SAAO,CAAC,iBAAiB,CAAC,SAAO,CAAC,SAAS,CAAC,CAAC;gBAC7C,SAAO,CAAC,IAAI,CAAC,SAAO,CAAC,SAAS,EAAE,SAAO,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAER;IACH,CAAC;IACD,4CAAW,GAAX,UAAY,KAAK;QACf,0BAA0B;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,GAAG;IACL,CAAC;IACD,+CAAc,GAAd,UAAe,GAAG,EAAC,IAAI;IAEvB,CAAC;IACD,2CAAU,GAAV;QAEE,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACjD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;wBACnI,OAAO;qBACR;iBACF;aACF;SACF;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,iDAAgB,GAAhB,UAAiB,WAAW;QAE1B,IAAI,WAAW,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI,IAAI,WAAW,IAAI,MAAM,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAC9D;IAEH,CAAC;IACD,sDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,sDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,6CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,uBAAuB,IAAI,GAAG,IAAI,yBAAyB,EAAE;YACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM;SAEN;IACH,CAAC;IAED,2DAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IAED,oDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,oDAAoD;IACtD,CAAC;IACD,iDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;YAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAClC;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;YACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM,IAAI,KAAK,CAAC,OAAO,IAAI,aAAa,EAAE;YACzC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IACH,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qHCryBG,4LAA2F,KACzF,4KAA8B,YAAxB;;wBAAuB;MAA7B,wBAA8B,0OAA2G,KACzI,qKAA+C,kGAE/C,MACA,4KAAgD,YAA1C;;wBAAyC;MAA/C,wBAAgD,6PAA8H,wDAH/H,mGAE/C;qHAuGU,uHAAmC,KACjC,gdAA4E,GAAvE,oGAAsE,MAAO,sHAAM,0BAAnF,kEAAsE,GAA3E,YAA4E,EAAvE,SAAsE;qHAF/E,uNAAqH,KACnH,ieAAmC,iDAA9B,mBAA6B,YAAlC,YAAmC,EAA9B,SAA6B;qHAMhC,+KAA+F,KAC7F,qKAAyC,KACvC,sHAAI,gFAAY,MAElB,qKAAyC,KACvC,sHAAI,gFAAkB,iCAHlB,kEAAY,GAGZ,wEAAkB;qHA7GpC,mLAA0J,KACxJ,kLAAqD,KACnD,kLAAqD,KACnD,kMAAqE,KACnE,6LAAiE,KAC/D,yHAAO,iGAAoB,MAG7B,iLAAqD,KACnD,gJAA0B,KACxB,gPAAiG,YAAvC;;wBAAoC;MAA9F,wBAAiG,oJAAwB,KACzH,yHAAM,wFAAW,MACjB,iJAA0B,iFAAyE,MAIvG,0KAA6C,KAC3C,iJAA0B,KACxB,yNAAuE,YAA/B;;wBAA4B;MAApE,wBAAuE,oJAAwB,KAC/F,yHAAM,oFAAO,MACb,iJAA0B,iFAAe,MAK7C,6KAAgD,KAC9C,iJAA0B,KACxB,yNAA0E,YAAlC;;wBAA+B;MAAvE,wBAA0E,oJAAwB,KAClG,yHAAM,uFAAU,MAChB,iJAA0B,iFAAkB,MAIhD,6KAAgD,KAC9C,iJAA0B,KACxB,yNAA0E,YAAlC;;wBAA+B;MAAvE,wBAA0E,oJAAwB,KAClG,yHAAM,uFAAU,MAChB,iJAA0B,iFAAkB,MAIhD,8KAAiD,KAC/C,iJAA0B,KACxB,yNAA2E,YAAnC;;wBAAgC;MAAxE,wBAA2E,oJAAwB,KACnG,yHAAM,wFAAW,MACjB,iJAA0B,iFAAmB,MAGjD,4KAA+C,KAC7C,iJAA0B,KACxB,yNAAyE,YAAjC;;wBAA8B;MAAtE,wBAAyE,oJAAwB,KACjG,yHAAM,sFAAS,MACf,iJAA0B,iFAAgB,MAKlD,uLAAyD,KACvD,uLAAyD,KACvD,6LAAgE,+HAAO,mGAAsB,MAC7F,4LAA+D,KAC7D,sKAAyC,8HAAM,4FAAe,MAC9D,sKAAyC,8HAAM,iFAAyD,MAE1G,6LAAgE,KAC9D,sKAAyC,8HAAM,yFAAY,MAC3D,sKAAyC,8HAAM,8IAAyB,IAE1E,6LAAgE,KAC9D,sKAAyC,8HAAM,wFAAW,MAC1D,sKAAyC,8HAAM,8IAAuB,IAExE,4LAA+D,KAC7D,sKAAyC,8HAAM,2FAAc,MAC7D,sKAAyC,8HAAM,8IAAgC,IAEjF,4LAA+D,KAC7D,sKAAyC,8HAAM,0FAAa,MAC5D,sKAAyC,8HAAM,iJAAiC,IAQxF,4LAA8D,KAC5D,wKAA0C,KAC1C,mLAAqD,KACnD,2LAA6D,KAC3D,2gBAKyB,IAE3B,0ZAAqH,IAKrH,0MAA4E,KAC1E,mLAAqD,KACnD,meAA+F,iDAbzF,oBAA6B,uBAG7B,oBAAiC,yBAFjC,oBAAkC,uBAClC,oBAAiC,yBAEjC,sBAAgB,EALxB,cAKyB,EAJjB,UAA6B,EAG7B,UAAiC,EAFjC,UAAkC,EAClC,UAAiC,EAEjC,UAAgB,GAErB,qCAAyB,GAA9B,cAAqH,EAAhH,UAAyB,GAOrB,oBAA2C,0BAAhD,cAA+F,EAA1F,UAA2C,mDA5FpB,4HAAyE,GAQzE,yDAAe,GASf,4DAAkB,GAQlB,4DAAkB,GAQlB,6DAAmB,GAOnB,0DAAgB,GAUG,4GAAyD,GAIzD,uNAAyB,GAIzB,qNAAuB,GAIvB,8NAAgC,GAIhC,8NAAiC;qHA8CtF,iPAAiI,YAA9E;;wBAAmC;MAAtF,wBAAiI,KAC/H,+NAAqG;qHA9H7G,qjBAAqH,IACnH,wZAA0J,IAsH1J,kPAAsH,KACpH,mJAA6B,KAC7B;;;;;;;;;;;wBAAiJ;MAAzD;;wBAAkC;MAAC;;wBAAmB;MAA9I,+wCAAiJ,IAEnJ,uLAAmM,KACjM,4MAA6L,KAC3L,yZAAiI,IAGjI,ibAaqD,YAbW;;wBAA+B;MAQ9E;;wBAAiD;MACjD;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAyC;MACzC;;wBAAmC;MAbpD,osDAaqD,mDA7ItD,oEAAwD,GAA7D,YAAqH,EAAhH,SAAwD,GACN,4HAAoG,IAAzJ,YAA0J,EAArG,SAAoG,GAwH5B,mBAAmB,QAA9I,YAAiJ,EAAtB,SAAmB,GAIvI,qBAA2B,qBAAhC,aAAiI,EAA5H,UAA2B,GAIS,oBAA2B,cAGnD,oBAA4B,mBAF5B,oBAAyB,aAKzB,oBAA2C,sBAF3C,oBAAmB,UAFnB,oBAAwD,yCAGxD,oBAAmB,UANpC,aAaqD,EAZZ,UAA2B,EAGnD,UAA4B,EAF5B,UAAyB,EAKzB,UAA2C,EAF3C,UAAmB,EAFnB,UAAwD,EAGxD,UAAmB,mDAbtC,qtBAAiJ,GAEzG,6KAAwJ,KAAlM,aAAmM,EAAzJ,UAAwJ,GACtJ,4DAAsD,GAAC,oGAA2F,GAA5L,aAA6L,EAAnJ,UAAsD,EAAC,UAA2F;sHA8B1L,oNAAgH;sHAChH,uNAAkH;qHARxH,kjBAAyH,IACvH,wMAA4E,KAC1E,4LAAgE,KAC9D,+OAA6F,YAA9B;;wBAA2B;MAA1F,wBAA6F,KAG/F,gPAAuF,YAAjE;;wBAAsB;MAA5C,wBAAuF,KACrF,yZAAgH,IAChH,yZAAkH,IAGtH,iLAAoD,KAClD,gKAAmC,kDAZlC,sEAA0D,GAA/D,YAAyH,EAApH,SAA0D,GAO+B,oBAAqB,eAA7G,YAAgH,EAAxB,SAAqB,GAClB,mBAAoB,eAA/G,YAAkH,EAAvB,SAAoB;sHAarH;;;;;;;;;;;wBAAuJ;MAAzD;;wBAAsB;MAApH,iyCAAuJ,iDAAzE,0BAAe,EAAC,mBAAsB,WAApH,YAAuJ,EAAzE,SAAe,EAAC,SAAsB,2BAApH,8sBAAuJ;sHAMrJ,wNAAqF,YAAtC;;wBAAoB;MAAnE,wBAAqF,iFAAI;sHACzF,6LAAsE,YAAxC;;wBAA0B;MAAxD,wBAAsE,iFAAI;sHAR9E,+KAAmE,KACjE,yZAAuJ,IAEvJ,sKAA0C,KACxC,6SAAgJ,YAAxI;;wBAA8B;MAAtC,wBAAgJ,2JAAgC,KAElL,4KAAgD,KAC9C,yZAAqF,IACrF,0ZAAsE,IACtE,oKAAuC,kDAR/B,mBAA4B,uBAAtC,YAAuJ,EAA7I,SAA4B,GAM9B,mBAAuB,kBAA7B,YAAqF,EAA/E,SAAuB,GACvB,mBAAuB,kBAA7B,aAAsE,EAAhE,SAAuB;qHAzLnC,mjBAAmI,IACjI,qMAAqE,KACrE,wZAA2F,IAO3F,oMAAwE,KACtE,wZAAqH,IAmJrH,wZAAyH,IAoB3H,0ZAAmE,iDAjLhE,4EAAgE,GAArE,YAAmI,EAA9H,SAAgE,GAE9D,mBAA0B,qBAA/B,YAA2F,EAAtF,SAA0B,GAQkE,oBAAqB,eAApH,YAAqH,EAAtB,SAAqB,GAmJtB,uCAA0B,GAAxH,YAAyH,EAA3B,SAA0B,GAoBrH,mBAAgB,WAArB,aAAmE,EAA9D,SAAgB;sHAiBvB,gLAAiF,KAC/E,+KAAmD,KACjD,4KAAkD,YAA5C;;wBAA2C;MAAjD,wBAAkD,KAAC,yNAA+F,KAEpJ,0LAA8D,KAC5D,o7CAKiC,iDAHlB,mBAAe,QACf,yBAAiB,EAEjB,qBAAiB,EAJjB,mBAAuB,EAGvB,uBAAoB,EAJnC,YAKiC,EAHlB,SAAe,EACf,SAAiB,EAEjB,SAAiB,EAJjB,SAAuB,EAGvB,SAAoB;sHAMvC,+NAAwH,KACtH,mMAA6J,YAA1C;;wBAAyC;MAA5J,8rCAA6J,mDAAvD,mBAAY,MAArE,mBAAuB,YAArD,mBAA6B,eAAyB,mBAAgC,iBAArG,YAA6J,EAAvD,SAAY,EAArE,SAAuB,EAArD,SAA6B,EAAyB,SAAgC;sHAgBvG,4MAA+F,YAAnF;;wBAAsB;MAAlC,0cAA+F,MAC7F,qLAAsD,kDAD5C,mBAAsB,WAAgC,uBAA4B,EAA9F,YAA+F,EAAnF,SAAsB,EAAgC,SAA4B;sHAyE1F,yPAA4H,YAAnD;;wBAAyB;MAAlG,wBAA4H;sHAC5H,2PAA8H,YAAnD;;wBAA0B;MAArG,wBAA8H;sHAJpI,yOAA8K,YAAlK;;wBAAwB;MAAqF;;wBAAoD;MAA7K,0cAA8K,MAC5K,oOAA2G,KACzG,4MAAgF,KAC9E,yZAA4H,IAC5H,yZAA8H,IAEhI,wLAA4D,8HAAO,4FAAe,MAIpF,8LAAoE,KAClE,25CAIiC,iDAfzB,mBAAwB,aAAwD,uBAA4B,EAAxH,YAA8K,EAAlK,SAAwB,EAAwD,SAA4B,GAGf,oBAAsB,gBAAzH,YAA4H,EAAzB,SAAsB,GACnB,mBAAqB,gBAA3H,YAA8H,EAAxB,SAAqB,GAS9G,mBAAe,QACf,mBAAW,MACX,qBAAiB,EAHjB,kCAAsC,EADrD,aAIiC,EAFlB,SAAe,EACf,SAAW,EACX,SAAiB,EAHjB,SAAsC;smBA3TzD,kLAAqD,KACnD,6LAA6D,KAC7D,+LAA+D,KAC/D,yMAAuE,KACrE,8LAA8H,YAA/C;;wBAA8C;MAA7H,q8BAA8H,MAGhI,yZAAmI,IAkMnI,0ZAAiF,IAejF,0ZAAwH,IAMxH,8NAAiF,YAArE;;wBAAsC;MAAlD,gaAAiF,MAC/E,4IAAuB,KACrB,qKAA8C,8FAAiB,MAAS,uHAAM,4HAAM,KACpF,oKAA6C,8FAAiB,MAAO,uHAAM,KAC3E,4JAAqC,KACnC,oKAA6C,+GAAkC,MAAO,uHAAM,KAE9F,0RAAoJ,YAAhI;;wBAA0C;MAA9D,wBAAoJ,+EAAE,MAI1J,0ZAA+F,IAMjG,4LAAyI,YAA7H;;wBAA0C;MAAC;;wBAAoD;MAA3G,2cAAyI,MACvI,gLAAqD,KACnD,uSAA0K,mGAE1K,MACA,wNAA0F,KACxF,oLAAsD,KACpD,iLAAoD,+HAAO,kFAAK,MAChE,kLAAoD,KAClD,iLAAoD,KAClD,iLAAoD,0FAAa,MACjE,0LAA6D,qFAE7D,MAGF,iLAAoD,KAClD,iLAAoD,oGAAuB,MAC3E,yMAA4E,KAC1E,mPAA4H,KAC1H,sOAA+G,YAAzD;;wBAAsD;MAA5G,wBAA+G,gFACjH,MAIJ,iLAAoD,KACpD,iLAAoD,qGAAwB,MAC5E,2LAA8D,8IAAwD,IAGxH,iLAAoD,KACpD,iLAAoD,+HAAO,8FAAiB,MAC5E,kLAAoD,KAClD,iLAAoD,KAClD,iLAAoD,+FAAkB,MACtE,0LAA6D,qFAG7D,MAGF,iLAAoD,KAClD,iLAAoD,oGAAuB,MAC3E,yMAA4E,KAC1E,mPAA4H,KAC1H,oOAA2G,YAAvD;;wBAAoD;MAAxG,wBAA2G,gFAC7G,MAIJ,iLAAoD,KACpD,iLAAoD,sGAAyB,MAC7E,0LAA6D,8IAA6D,IAE1H,iLAAoD,KACpD,iLAAoD,uGAA0B,MAC9E,0LAA6D,kFAAmD,MAQ1H,0ZAA8K,iDA3S1J,+BAA8B,EAAC,mBAA+B,gBAA9E,YAA8H,EAA9G,SAA8B,EAAC,SAA+B,GAGqB,oBAA6B,uBAAlI,aAAmI,EAA9B,SAA6B,GAkM9E,mBAA4B,uBAAhF,aAAiF,EAA7B,SAA4B,GAea,mBAA0B,qBAAvH,aAAwH,EAA3B,SAA0B,GAM3G,mBAAsC,2BAAlD,aAAiF,EAArE,SAAsC,GAWD,mBAAgB,WAAjE,aAA+F,EAA9C,SAAgB,GAMvD,mBAA0C,+BAAsD,uBAA4B,EAAxI,aAAyI,EAA7H,SAA0C,EAAsD,SAA4B,GAgEnG,oBAAkB,aAAvD,aAA8K,EAAzI,UAAkB,mDArDkB,6DAE7D,GAc4D,kOAAwD,GAQvD,4DAG7D,GAc2D,uOAA6D,GAI7D,4FAAmD;;;;;;;;;;;;;;;;ACvS1H;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuJ;AAClF;AACN;AACc;AACpB;AACL;AACE;AACF;AACN;AACH;AACA;AAAA,CAAC;AACsC;AACpB;AACN;AAC6B;AAEL;AAGb;AACnC;AAEoC;AACR;AAM5D;IA4HE,yCAAoB,cAA+B,EAAS,oBAA0C,EAAU,UAAsB,EAAU,WAAwB,EAAU,QAAmB,EAAU,IAAgB,EAAU,iBAAsC,EAAU,KAAqB,EAAU,MAAc,EAAU,eAAgC,EAAU,MAAqB,EAAU,gBAAkC;QAA3b,iBA6BC;QA7BmB,mBAAc,GAAd,cAAc,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,eAAU,GAAV,UAAU,CAAY;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QArH3b,iBAAY,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QACnD,UAAK,GAAG,EAAE,CAAC;QAIX,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAEnB,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAY,KAAK,CAAC;QAC5B,wBAAmB,GAAY,KAAK,CAAC;QACrC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,cAAS,GAAG,CAAC,CAAC;QAGd,cAAS,GAAW,EAAE,CAAC;QACvB,oBAAe,GAAW,IAAI,CAAC;QAC/B,QAAG,GAAG,EAAE,CAAC;QACT,mBAAc,GAAG,EAAE,CAAC;QACpB,iBAAY,GAAY,KAAK,CAAC;QAC9B,WAAM,GAAY,IAAI,CAAC;QACvB,eAAU,GAAG,EAAE,CAAC;QAEhB,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QAIrB,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,aAAQ,GAAc,IAAI,2DAAS,EAAE,CAAC;QACtC,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAE3B,eAAU,GAAY,IAAI,CAAC;QAC3B,eAAU,GAAY,IAAI,CAAC;QAC3B,aAAQ,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAW,EAAE,CAAC;QACtB,aAAQ,GAAe,wEAAU,CAAC,iBAAiB,CAAC;QACpD,sBAAiB,GAAY,KAAK,CAAC;QACnC,wBAAmB,GAAY,KAAK,CAAC;QACrC,aAAQ,GAAY,IAAI,CAAC;QAWlB,SAAI,GAAG,2DAAS,CAAC;QAQX,SAAI,GAAW,EAAE,CAAC;QAE/B,uBAAkB,GAAY,KAAK,CAAC;QACpC,eAAU,GAAY,KAAK,CAAC;QAC5B,iBAAY,GAAY,KAAK,CAAC;QAC9B,wBAAmB,GAAY,KAAK,CAAC;QACrC,eAAU,GAAW,CAAC,CAAC;QACvB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,oBAAe,GAAW,CAAC,CAAC;QAC5B,gBAAW,GAAW,CAAC,CAAC;QACxB,mBAAc,GAAW,CAAC,CAAC;QAC3B,mBAAc,GAAW,CAAC,CAAC;QAC3B,oBAAe,GAAW,CAAC,CAAC;QAC5B,+BAA+B;QAC/B,iBAAY,GAAW,CAAC,CAAC;QACzB,kBAAa,GAAY,KAAK,CAAC;QAE/B,eAAU,GAAY,KAAK,CAAC;QAE5B,yBAAoB,GAAY,KAAK,CAAC;QAC/B,yBAAoB,GAAG,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,yBAAoB,GAAW,KAAK,CAAC;QACrC,2BAAsB,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QACvG,cAAS,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACpE,2BAAsB,GAAG,EAAE,CAAC;QAC5B,4BAAuB,GAAG,EAAE,CAAC;QACpC,iBAAY,GAAW,KAAK,CAAC;QAEtB,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAC9H,kBAAa,GAAkB,IAAI,oEAAa,EAAE,CAAC;QAC5C,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QACxO,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEtN,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEjN,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAC5B,iCAA4B,GAAY,KAAK,CAAC;QAC9C,aAAQ,GAAY,KAAK,CAAC;QAC1B,6BAAwB,GAAa,KAAK,CAAC;QAC3C,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,kBAAa,GAAY,KAAK,CAAC;QAE/B,oBAAe,GAAmB,EAAE,CAAC;QAErC,yBAAoB,GAAY,KAAK,CAAC;QACtC,oBAAe,GAAG,KAAK,CAAC;QACxB,kBAAa,GAAY,KAAK,CAAC;QAC/B,YAAO,GAAY,IAAI,CAAC;QAGxB,iBAAY,GAAY,KAAK,CAAC;QAC9B,UAAK,GAAG,EAAE,CAAC;QAET,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;gBACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aAC5G,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;SAC/D;QACD,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACtF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;IAGL,CAAC;IAlD+I,CAAC,CAAE,6CAA6C;IACiB,CAAC;IAkDlN,yDAAe,GAAf;QACE,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,UAAU,CAAC,cAAc,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,0DAAgB,GAAhB,UAAiB,cAAc;QAA/B,iBAqBC;QApBC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACzG,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACrB,IAAI,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACzG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC;YACvC,KAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;YACzC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC;gBACvC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACtC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAEX,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,0DAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QAChF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE;YACvI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SACpD;QACD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC5J;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAC3M,CAAC,CAAC;iBACJ;qBAEI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBACrL,YAAY,EAAE,UAAC,MAAM;4BACnB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCAC/B,OAAO,MAAM,CAAC;6BACf;iCACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCACpC,OAAO,YAAY,CAAC;6BACrB;iCAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCACtC,OAAO,aAAa,CAAC;6BACtB;iCAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;gCACtC,OAAO,gBAAgB,CAAC;6BACzB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE;oBAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAG;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC7T,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BAEpN,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAErD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBACnK,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCACF;gCACD,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBACxJ,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gCAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,GAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;wCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI,IAAI,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;wCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAC1L,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAE7L,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAC9J,YAAY,YAAC,MAAM;4BACf,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;4BACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;4BACxD,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBAChB,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAEI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;wBAC1J,YAAY,YAAC,MAAM;4BAEf,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;4BACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;4BAC1D,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBAEhB,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBAC3D,wBAAwB;oBACxB,gIAAgI;oBAChI,uCAAuC;oBACvC,kBAAkB;oBAClB,cAAc;oBACd,6GAA6G;oBAC7G,OAAO;oBACP,KAAK;oBACL,MAAM;iBACP;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE;oBAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACvN,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACxB,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC3G;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACnC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gCAAE,OAAO,QAAQ,CAAC;6BAAE;wBACpF,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EACpD;oBACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO;wBAC7E,YAAY,YAAC,MAAM;4BACjB,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;4BACzF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACzC,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBAChB,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;wBACzE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aACI;YACH,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE;iBACxE;gBACD;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACpH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC5T,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;oBAC9D,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;wBACrG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;4BAC/B,OAAO,MAAM,CAAC;yBACf;6BACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;4BACpC,OAAO,YAAY,CAAC;yBACrB;6BAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;4BACtC,OAAO,aAAa,CAAC;yBACtB;6BAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;4BACtC,OAAO,gBAAgB,CAAC;yBACzB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;oBAClF,SAAS,EAAE,UAAU,MAAM;wBACzB;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAClC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;4BAAE,OAAO,QAAQ,CAAC;yBAAE;oBACpF,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBACxF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBACtF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC/E;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC1F;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBACjF;gBACD;oBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC9E;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC7F;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;iBACrF;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;iBACnG;gBACD;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;iBAC3G;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI;iBACzF;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,UAAC,MAAM;wBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;4BAC9B,OAAO,EAAE,CAAC;yBACX;6BAAM;4BACL,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;yBAClD;oBACH,CAAC,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,oBAAoB,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,IAAI,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;iBAChM;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK;iBAC/E;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;wBAC/G,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI;iBAC7D;gBAED;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI,EAAG,YAAY,EAAE,UAAC,MAAM;wBACrH,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;4BAC9B,OAAO,EAAE,CAAC;yBACX;6BAAM;4BACL,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;yBACtG;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;oBAClD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;4BAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;oCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;oCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBAID;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBACvF,wEAAwE;wBACtE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;wBACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;wBACxD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;wBACd,GAAG;oBACL,CAAC;iBAEF;gBACD;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBACnF,4EAA4E;wBAC1E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;wBACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;wBAC1D,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;wBACd,GAAG;oBACL,CAAC;iBAEF;gBAED;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,KAAK;iBAC5F;gBAGD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAC,IAAI,EAAE,IAAI;iBACvF;gBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;gBAEnG;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAG,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO;oBAC9E,YAAY,YAAC,MAAM;wBACjB,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;wBACzF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBACzC,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBAChB,CAAC;iBACF;aAEF,CAAC;YAEF,IAAI,eAAe,GAAG,UAAU,MAAM;gBACpC,OAAO,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1E,CAAC,CAAC;SACH;IACH,CAAC;IACD,kDAAQ,GAAR,UAAS,GAAG,EAAE,IAAI;QAAlB,iBAUC;QARC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,IAAI,EAAE,GAAG,KAAI;YACb,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wDAAc,GAAd,UAAe,YAAY;QACzB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0CAA0C,GAAG,YAAY,GAAG,2DAA2D,CAAC;QAC1I,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iMAAiM,CAAC,CAAC;IAChO,CAAC;IAED,2DAAiB,GAAjB,UAAkB,IAAI;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,GAAG,EAAE;YACtC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;SACnK;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;SAC5K;IAEH,CAAC;IAED,uDAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,qDAAW,GAAX;IAEA,CAAC;IACD,4DAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0DAAgB,GAAhB;QAAA,iBA6CC;QA5CC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAClB,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC3F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5D,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YACD,KAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3G,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7C,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;QAElD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;SACtC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IAED,sDAAY,GAAZ,UAAa,cAAc;QAA3B,iBAMC;QALC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,KAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YACjE,KAAI,CAAC,aAAa,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAY,GAAZ,UAAa,QAAQ;QACnB,kCAAkC;QAChC,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACxE,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;oBAC7B,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC3E,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC9E;aACF;YACH,GAAG;SACJ;IACH,CAAC;IACD,wDAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/E,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjD,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;aAEpD;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;aACpD;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC7D,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC/C,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;oBACpC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC3C;qBACI;oBACH,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;iBAC5C;aACF;SACF;IACH,CAAC;IACD,8DAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QAEtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAI,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAChE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;QAEzC,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACld,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,+DAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,cAAc,EAAE;wBAC1C,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;qBAC7C;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;aACI;YACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAElC;IACH,CAAC;IACD,qDAAW,GAAX;QACE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,UAAU,CAAC;IAC7C,CAAC;IACD,2DAAiB,GAAjB,UAAkB,OAAO;QAGvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAExC,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAG;YAC/B,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;SACtB;aAAM,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;YACrC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;SACtB;aAAO;YACN,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;SACzB;QACD,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;IAGxB,CAAC;IACD,wDAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;QACnN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,uDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,qDAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,uDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,6DAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBA+CC;QA9CC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE;gBACrE,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QACD,mDAAmD;QACnD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAC5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,iBAAO;YAEnB,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SACH;aACI;YACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACxF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,kBAAuB,CAAC;oBAC5B,kBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,kBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEhH,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;wBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;wBAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE;qBACrD,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,0DAA0D;SAC3D;IACH,CAAC;IACD,2DAAiB,GAAjB;QAEE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QAEtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,2BAA2B;IAC3B,0CAA0C;IAC1C,iNAAiN;IACjN,MAAM;IACN,mCAAmC;IACnC,2CAA2C;IAC3C,8BAA8B;IAC9B,2BAA2B;IAC3B,OAAO;IACP,KAAK;IACL,wBAAwB;IACxB,GAAG;IACH,4FAA4F;IAC5F,uBAAuB;IAEvB,4BAA4B;IAC5B,OAAO;IACP,mBAAmB;IACnB,wBAAwB;IACxB,kBAAkB;IAClB,gCAAgC;IAChC,8BAA8B;IAC9B,2BAA2B;IAC3B,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,sCAAsC;IACtC,sEAAsE;IACtE,QAAQ;IACR,OAAO;IAEP,qFAAqF;IACrF,2CAA2C;IAC3C,2EAA2E;IAC3E,WAAW;IACX,4EAA4E;IAC5E,2GAA2G;IAC3G,sEAAsE;IACtE,WAAW;IACX,8EAA8E;IAC9E,sGAAsG;IACtG,oEAAoE;IACpE,WAAW;IACX,8EAA8E;IAC9E,mGAAmG;IACnG,WAAW;IACX,gFAAgF;IAChF,yHAAyH;IACzH,wEAAwE;IACxE,kXAAkX;IAClX,sGAAsG;IACtG,0EAA0E;IAC1E,WAAW;IACX,gBAAgB;IAChB,uGAAuG;IACvG,kEAAkE;IAClE,WAAW;IAEX,SAAS;IACT,QAAQ;IACR,OAAO;IACP,mQAAmQ;IACnQ,mDAAmD;IACnD,wCAAwC;IACxC,sDAAsD;IACtD,6CAA6C;IAC7C,aAAa;IACb,sBAAsB;IACtB,SAAS;IACT,QAAQ;IACR,0MAA0M;IAC1M,gOAAgO;IAChO,OAAO;IACP,yMAAyM;IACzM,8BAA8B;IAC9B,wNAAwN;IACxN,uCAAuC;IAEvC,SAAS;IACT,QAAQ;IACR,iQAAiQ;IACjQ,2PAA2P;IAC3P,sTAAsT;IAEtT,MAAM;IAEN,GAAG;IACH,4DAAkB,GAAlB,UAAmB,KAAK;QAEtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,0DAAgB,GAAhB;IAEA,CAAC;IACD,kDAAQ,GAAR;QAAA,iBA4CC;QA3CC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,eAAe,CAAC;QAC/D,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACjD,CAAC,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEjD,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACpZ,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,KAAK,GAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACjD,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,KAAI,CAAC,eAAe,IAAI,IAAI,EAAE;gBAChC,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;gBAC7E,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aAC5C;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,4BAA4B,GAAG,MAAM,CAAC;QAC7C,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAGH,CAAC;IAGD,kEAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED,sDAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,wDAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACtD,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,qDAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACtD,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,uDAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtD,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,kDAAQ,GAAR,UAAS,GAAG;QAAZ,iBAoCC;QAnCC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI;YAC9B,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,YAAY,CAAC;SACrD;aACI;YACH,IAAI,CAAC,kBAAkB,GAAG,KAAK;YAC/B,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,SAAS,EAAE;gBAC5J,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;oBACnB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC,CAAC;aACH;iBACI;gBACH,IAAI,CAAC,aAAa,GAAG;oBACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;iBACrE,CAAC;gBACF,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;gBAC7C,yCAAyC;aAE1C;YACD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YAEX,yDAAyD;YACzD,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,GAAG,CAAC;YACjD,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3D,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,2DAAiB,GAAjB,UAAkB,GAAG,EAAE,OAAO,EAAE,SAAS;QAAzC,iBAgGC;QA/FC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,GAAG,IAAI,MAAM,EAAE;YACjB,SAAS,GAAG,iBAAiB,CAAC;SAC/B;QACD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAClM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,IAAI,EAAE;oBACnE,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,CAAC,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC;oBACvG,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;iBAErD;gBACD,QAAQ,CAAC,OAAO,CAAC,kBAAQ;oBACvB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACnF,IAAI,QAAQ,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;wBACxD,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;qBAClG;yBAAM;wBACL,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC;qBAClC;oBACD,IAAI,QAAQ,CAAC,aAAa,IAAI,qBAAqB,IAAI,QAAQ,CAAC,aAAa,IAAG,IAAI,EAAE;wBACpF,QAAQ,CAAC,aAAa,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;qBACxF;yBAAM;wBACL,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC;qBAC7B;oBACD,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,SAAS,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE;wBACvF,KAAI,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC3D;oBACD,IAAI,QAAQ,CAAC,EAAE,IAAI,IAAI,IAAI,QAAQ,CAAC,EAAE,IAAI,SAAS,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE;wBACxE,KAAI,CAAC,iBAAiB,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC7D;gBAEH,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBAEjC,IAAI,KAAI,CAAC,kBAAkB,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,EAAE;oBAC7D,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,IAAI,aAAa,GAAG,SAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACtI,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;4BACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,aAAa,EAAE;gCAC7B,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gCAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;6BAC7C;wBACP,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;qBAAM;oBACL,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAClD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAChE,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,IAAI,EAAE,EAAnB,CAAmB,CAAC,CAAC,MAAM,CAAC;oBACzE,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAzC,CAAyC,CAAC,CAAC,MAAM,CAAC;oBAClG,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAzC,CAAyC,CAAC,CAAC,MAAM,CAAC;oBAClG,KAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,EAA1C,CAA0C,CAAC,CAAC,MAAM,CAAC;oBACpG,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,GAAG,GAAG,EAAnB,CAAmB,CAAC,CAAC,MAAM,CAAC;oBAC1E,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5F,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;oBAChD,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBAC3B,KAAI,CAAC,wBAAwB,GAAG,KAAI,CAAC,gBAAgB,CAAC;iBACvD;aAEF;iBACI;gBACH,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,UAAU,CAAC;gBACpD,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,MAAM,EAAE;oBAC5D,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;iBACrE;qBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,QAAQ,EAAE;oBACrE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;iBACvE;qBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,KAAK,EAAE;oBAClE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;iBACpE;gBACD,IAAI,eAAe,IAAI,IAAI,EAAE;oBAC3B,IAAI,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvC,GAAG,IAAI,GAAG,CAAC;oBACX,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACjE;gBACD,KAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,gDAAgD,CAAC;QAC/D,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC/B,OAAO,IAAI,QAAQ,GAAG,GAAG,CAAC,YAAY,GAAG,cAAc;oBACrD,eAAe,GAAG,GAAG,CAAC,OAAO,GAAG,eAAe;oBAC/C,iBAAiB,GAAG,GAAG,CAAC,EAAE,GAAG,eAAe;oBAC5C,aAAa,GAAG,GAAG,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;YACnE,CAAC,CAAC,CAAC;SAEJ;QACD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IAED,sDAAY,GAAZ,UAAa,GAAG;QAAhB,iBAoEC;QAnEC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,yBAAyB;QACzB,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAE5C,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,oBAAoB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YAC3N,QAAQ,GAAG,EAAE;gBACX,KAAK,IAAI;oBACP,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,IAAI,EAAE,EAAnB,CAAmB,CAAC,CAAC;oBAC5D,MAAM;gBACR,KAAK,OAAO;oBACV,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAzC,CAAyC,CAAC,CAAC;oBAClF,MAAM;gBACR,KAAK,OAAO;oBACV,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAzC,CAAyC,CAAC,CAAC;oBAClF,MAAM;gBACR,KAAK,QAAQ;oBACX,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,EAA1C,CAA0C,CAAC,CAAC;oBACnF,MAAM;gBACR,iBAAiB;gBACjB,2BAA2B;gBAC3B,wFAAwF;gBACxF,UAAU;gBACV,KAAK,MAAM;oBACT,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,WAAI,CAAC,QAAQ,GAAG,GAAG,EAAnB,CAAmB,CAAC,CAAC;oBAC5D,MAAM;gBACR,KAAK,YAAY;oBACf,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBAExB,MAAM;aAET;YAED,SAAS,CAAC,OAAO,CAAC,kBAAQ;gBACxB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACnF,IAAI,QAAQ,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;oBACxD,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;iBAClG;qBAAM;oBACL,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBAClC;gBACD,IAAI,QAAQ,CAAC,aAAa,IAAI,qBAAqB,IAAI,QAAQ,CAAC,aAAa,IAAE,IAAI,EAAE;oBACnF,QAAQ,CAAC,aAAa,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;iBACxF;qBAAM;oBACL,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC;iBAC7B;gBAED,KAAI,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,KAAI,CAAC,iBAAiB,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9D,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;YACnD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC;YACjE,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5F,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAChD,6CAA6C;QAG/C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+DAAqB,GAArB,UAAsB,EAAE,EAAE,IAAI;QAA9B,iBAaC;QAZC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACnF,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC;QAG3C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0DAAgB,GAAhB,UAAiB,WAAW;QAA5B,iBAIC;QAHC,IAAI,IAAI,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,oBAAU,IAAI,YAAI,CAAC,UAAU,GAAG,UAAU,EAA5B,CAA4B,CAAC,CAAC;SAC5F;IACH,CAAC;IAED,wDAAc,GAAd,UAAe,KAAK;QAClB,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACtD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iGAAiG,EAAE,eAAe,CAAC,CAAC;wBACxI,OAAO;qBACR;oBAED,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,YAAY,CAAC;oBACpD,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;oBAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI;oBAE9B,6BAA6B;iBAC9B;aACF;SACF;IACH,CAAC;IACD,oDAAU,GAAV;QAEE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,CAAC;IACD,kDAAQ,GAAR;QAAA,iBAUC;QATC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEtC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,KAAI,CAAC,qBAAqB,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAChE,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oDAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9D,CAAC;IACD,qDAAW,GAAX;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IACnI,CAAC;IAGD,+DAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YAEpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,iEAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IAGD,0DAAgB,GAAhB,UAAiB,MAAM;QACrB,4CAA4C;QAC5C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC,UAAU,CAAC;YAEX,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;YAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC5C;iBAAM;gBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;aACjD;YACD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,4DAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,kDAAQ,GAAR;QACE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpB,CAAC;IACD,kEAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,CAAC,aAAa,CAAC,0BAA0B,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5I,CAAC;IACD,gEAAsB,GAAtB,UAAuB,GAAG;QACxB,IAAI,CAAC,aAAa,CAAC,+BAA+B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE5I,IAAI,CAAC,aAAa,CAAC,8BAA8B,GAAG,UAAU,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IACD,0DAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,CAAC,oBAAoB,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAChE,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,YAAY,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;YACjD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;SAChC;aACI;SAEJ;IAEH,CAAC;IACD,wDAAc,GAAd;QAEE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;QACH,mCAAmC;IACrC,CAAC;IAED,wDAAc,GAAd;QACE,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB;QACrD,IAAI,qBAAqB,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC;QAC5C,IAAI,UAAU,IAAI,aAAa,EAAE;YAC/B,MAAM,GAAG,aAAa;SACvB;aAAM,IAAI,UAAU,IAAI,YAAY,EAAE;YACrC,MAAM,GAAG,YAAY;SACtB;aAAM;YACL,MAAM,GAAG,QAAQ;SAClB;QAED,IAAI,MAAM,IAAI,QAAQ,EAAE;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvD,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE;oBAC7C,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;iBACrD;aACF;YAGD,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;SAC/C;IACH,CAAC;IACD,6DAAmB,GAAnB,UAAoB,GAAG;;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,SAAS,IAAI,WAAI,CAAC,OAAO,CAAC,eAAe,EAAE,0CAAE,MAAM,IAAG,CAAC,EAAE;YAC7F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO,IAAK,UAAG;gBAChF,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EADgB,CAChB,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO,IAAK,UAAG;gBAC7E,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EADkB,CAClB,EAAE,CAAC,CAAC,CAAC;SAChE;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,4BAA4B,GAAG,GAAG,CAAC;YACxC,IAAI,CAAC,+BAA+B,EAAE,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACpC;IACH,CAAC;IAGD,yEAA+B,GAA/B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mIAAmI,CAAC,CAAC;QAClK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,qEAA2B,GAA3B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QAC7K,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,sDAAY,GAAZ;QACE,UAAU,CAAC;YACT,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4IAA4I,CAAC,CAAC;QACrL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yDAAe,GAAf;QACE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,oDAAU,GAAV;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IACzC,CAAC;IACD,mDAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,4DAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,QAAQ;YACzB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;YACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;YACnN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;IAEH,CAAC;IAED,oEAA0B,GAA1B,UAA2B,KAAK;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC/B,IAAI,KAAK,IAAI,OAAO,EAAE;YACpB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;IACH,CAAC;IACD,oDAAU,GAAV,UAAW,GAAG;QACZ,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,8DAAoB,GAApB,UAAqB,QAA6B;QAChD,IAAI,QAAQ,CAAC,YAAY,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAAE;QACxD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;gBAC7B,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;oBAChE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;iBAC3C;gBACD,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;oBAC5D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;iBACvC;gBACA,IAAI,QAAQ,CAAC,aAAa,IAAI,KAAK,EACpC;oBACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;qBACI;oBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBAAE;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;aAC1I;SACF;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,gEAAsB,GAAtB;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CACxB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CACvE,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,eAAe,GAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CAAC;QAC1G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IACD,qDAAW,GAAX;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAK,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IACH,sCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHC9lDa,wHAA2B,kMAAgB;iHAC3C,wHAA2B,sMAAoB;iHACQ,wHAAqC,kcAA4B;iHAAxH,wHAA2B,0MAA4B,wZAAqC,iDAA/B,2CAA8B,GAApC,YAAqC,EAA/B,SAA8B,mDAAhE,iMAA4B;iHAoB7D,4IAAiD,KAC/C,qMAAyE,uJAA4B,KAAO,8EAAM;iHAEpH,4IAAiD,KAC/C,oQAAgH,YAA5B;;wBAA2B;MAA/G,wBAAgH,uJAA4B,KAAO,wFAAgB;iHAsC7J,6xBAAgF,iFAEhF,2BAFuD,mHAAwB,GAA/E,YAAgF,EAAzB,+HAAwB,GAA/E,YAAgF,EAAzB,SAAwB,2BAAC,sEAEhF;iHAiCA,6xBAAkD,iFAElD,2BAFkC,mHAAe,GAAjD,YAAkD,EAAhB,+HAAe,GAAjD,YAAkD,EAAhB,SAAe,2BAAC,sEAElD;kHAYA,6xBAAkD,iFAElD,2BAFkC,mHAAe,GAAjD,YAAkD,EAAhB,+HAAe,GAAjD,YAAkD,EAAhB,SAAe,2BAAC,sEAElD;kHASA,6xBAAqE,iFAErE,2BAF+C,mHAAqB,GAApE,YAAqE,EAAtB,+HAAqB,GAApE,YAAqE,EAAtB,SAAqB,2BAAC,sEAErE;kHAWA,6xBAA6D,iFAE7D,2BAF2C,mHAAiB,GAA5D,YAA6D,EAAlB,+HAAiB,GAA5D,YAA6D,EAAlB,SAAiB,2BAAC,sEAE7D;kHAUA,6xBAA4D,iFAE5D,2BAFyC,mHAAkB,GAA3D,YAA4D,EAAnB,+HAAkB,GAA3D,YAA4D,EAAnB,SAAkB,2BAAC,sEAE5D;kHAUI,uHAA8C,6dAE9C;iHAjLpB,sLAAwF,KACtF,uLAA0D,KACxD,kOAAqG,KACnG,mKAAuC,KACvC,kNAA+E,KAC7E,qLAAwD,KACtD,sHAAI,0HAAG,6FAAgB,MACvB,uHAAK,8KAA4C,iFAAuB,MACxE,kJAA2B,kGAAqF,MAChH,wHAAK,iFAAsB,MAC3B,wHAAK,iFAAoB,MACzB,wHAAK,iFAAoB,MACzB,wHAAK,KACH,yHAAM,KACJ,qZAA2B,IAC3B,qZAA2B,IAC3B,qZAA2B,IAI/B,wHAAK,yFAAwB,MAE/B,+LAAkE,KAChE,sHAAG,yFAA2B,MAC9B,iOAAwE,YAAlB;;wBAAiB;MAAvE,wBAAwE,8EAAC,MAMjF,uMAAmE,KACjE,wIAAiB,KACf,8IAAuB,KACrB,6IAAsB,KACpB,uHAAI,gGAAmB,MAEzB,qZAAiD,IAGjD,qZAAiD,IAGjD,wHAAK,KAMT,6SASqD,YAFpC;;wBAAiD;MACjD;;wBAAsC;MACtC;;wBAAmC;MATpD,ohDASqD,MAGvD,oOAA+F,KAC7F,0PAAqH,KACnH,iNAAoI,KAClI,sKAAyC,KACvC,mMAAgE,KAC9D,mNAAgF,6LAA2D,KAAO,0HAAO,gGAAmB,MAIlL;;;;;wBAA6E;MAA9C;;wBAA6C;MAA5E,0xBAA6E,IAC3E,kTAA6K,KAC3K,2JAAmC,KACjC,8IAAuB,KACrB,0HAAO,iFAAI,MAEb,+IAAuB,KACrB;;;;;wBAAiI;MAAxF;;wBAAgC;MAAC;;;wBAA6C;MAAvH,+uDAAiI,IAC/H,m1BAAgD,2FAAe,MAC/D,8dAAgF,IAMtF,wLAA0D,KACxD,8IAAuB,KACrB,0HAAO,gFAAG,MAEZ,6IAAsB,KACpB;;;;;;;;;;;;;;;;;;;;wBAA0L;MAAvH;;wBAAmC;MAA4B;;;wBAA4C;MAA9K,6oEAA0L,IAE5L,8IAAuB,KACrB,2HAAO,gFAAG,MAIZ,8IAAsB,KACpB;;;;;;;;;;;;;;;;;;;;wBAAgL;MAAlH;;wBAA8B;MAA4B;;;wBAA4C;MAApK,kpEAAgL,IAGpL,yLAA0D,KACxD,+IAAuB,KACrB,2HAAO,gFAAG,MAEZ,8IAAsB,KACpB;;;;;;;;;;;wBAAuM;MAA3H;;wBAA8C;MAAC;;;wBAA6C;MAAxK,ozDAAuM,IAEzM,+IAAuB,KACrB,2HAAO,+EAAE,MAEX,+IAAsB,KACpB;;;;;wBAAgJ;MAAzG;;wBAA8B;MAAC;;;wBAA6C;MAAnH,mvDAAgJ,IAC9I,s1BAAgD,oFAAQ,MACxD,+dAAkD,IAOxD,wLAAyD,KACvD,+IAAuB,KACrB,2HAAO,iFAAI,MAEb,+IAAsB,KACpB;;;;;wBAA+H;MAAvF;;wBAA+B;MAAC;;;wBAA6C;MAArH,mvDAA+H,IAC7H,s1BAAgD,yFAAa,MAC7D,geAAkD,IAKtD,+IAAuB,KACrB,2HAAO,uFAAU,MAEnB,+IAAsB,KACpB;;;;;wBAA2I;MAA7F;;wBAAqC;MAAC;;;wBAA6C;MAAjI,mvDAA2I,IACzI,s1BAAgD,+FAAmB,MACnE,geAAqE,IAM3E,wLAAyD,KACvD,+IAAuB,KACrB,2HAAO,sFAAS,MAElB,+IAAsB,KACpB;;;;;wBAA6I;MAA9F;;wBAAsC;MAAC;;;wBAA6C;MAAnI,mvDAA6I,IAC3I,s1BAAgD,4FAAgB,MAChE,geAA6D,IAMjE,+IAAuB,KACrB,2HAAO,kFAAK,MAEd,+IAAsB,KACpB;;;;;wBAAuI;MAA3F;;wBAAmC;MAAC;;;wBAA6C;MAA7H,mvDAAuI,IACrI,s1BAAgD,wFAAY,MAC5D,geAA4D,IAKhE,oMAAqE,KACnE,+IAAuB,KACrB,2HAAO,kFAAK,MAEd,+IAAsB,KACpB,oNAA+E,KAC7E,mKAA2C,KACzC,geAA8C,IAIhD;;;;;;;;;;;wBAAqP;MAAlO;;wBAAwC;MAA6I;;;wBAA4C;MAApP,k2CAAqP,6EAAC,MAI1P,+IAAuB,KAGvB,+IAAsB,KACpB,qRAAyH,YAAzC;;wBAA2B;MAA3G,wBAAyH,yJAA4B,KAAO,4EAAI,MAChK,wMAAmE,KACjE,sKAAwC,qPAA6G,YAAvE;;wBAAoD;MAA1F,wBAA6G,iFAAI,MACzJ,sKAAwC,sPAA+G,YAAxE;;wBAAqD;MAA5F,wBAA+G,iFAAI,MAC3J,sKAAwC,KACtC,oPAA8G,YAApE;;wBAAiD;MAA3F,wBAA8G,oFAAO,MAEvH,qKAAsC,KACpC,sQAAuI,qHAErI,6KAAyC,KACvC,uLAAyD,KACvD,uOAA6H,YAAxE;;wBAAuE;MAA5H,wBAA6H,kLAA+C,KAAO,2EAAG,MAExL,uKAAyC,KACvC,qOAAsE,YAAnB;;wBAAkB;MAArE,wBAAsE,kLAA+C,KAAO,0EAAE,MAS5I,8IAAsB,kDArMd,mBAAoB,eAA1B,aAA2B,EAArB,SAAoB,GACpB,mBAAoB,eAA1B,aAA2B,EAArB,SAAoB,GACpB,oBAAoB,eAA1B,aAA2B,EAArB,UAAoB,GAoB3B,wCAA0B,GAA/B,aAAiD,EAA5C,UAA0B,GAG1B,wCAA0B,GAA/B,aAAiD,EAA5C,UAA0B,GAWlB,oBAA2B,cAG3B,oBAA4B,mBAF5B,oBAAyB,aACzB,oBAAwD,yCAExD,oBAAmB,UANpC,aASqD,EAPpC,UAA2B,EAG3B,UAA4B,EAF5B,UAAyB,EACzB,UAAwD,EAExD,UAAmB,GAsB8F,mBAAQ,EAAhI,aAAiI,EAAT,UAAQ,GAAnG,uBAAW,EAAC,oBAAgC,qBAAzE,aAAiI,EAApG,UAAW,EAAC,UAAgC,GAC/D,uBAAY,EAApB,aAAgD,EAAxC,oCAAY,EAApB,aAAgD,EAAxC,UAAY,GACZ,oBAA8C,qBAAtD,aAAgF,EAAxE,UAA8C,GAWuH,mBAAQ,EAAvL,aAA0L,EAAX,UAAQ,GAAnI,0BAAc,EAAC,oBAAmC,wBAAtG,aAA0L,EAAtI,UAAc,EAAC,UAAmC,GAQ+D,mBAAQ,EAA7K,cAAgL,EAAX,UAAQ,GAAzH,qBAAS,EAAC,oBAA8B,mBAA5F,cAAgL,EAA5H,UAAS,EAAC,UAA8B,GAQ6E,mBAAQ,EAAjL,cAAuM,EAA9B,UAAQ,GAA/H,qCAAyB,EAAC,oBAA8C,mCAA1H,cAAuM,EAArJ,UAAyB,EAAC,UAA8C,GAMN,mBAAQ,EAA5H,cAAgJ,EAA5B,UAAQ,GAA/F,qBAAS,EAAC,oBAA8B,mBAArE,cAAgJ,EAAnH,UAAS,EAAC,UAA8B,GAC3D,uBAAY,EAApB,cAAgD,EAAxC,oCAAY,EAApB,cAAgD,EAAxC,UAAY,GACZ,oBAAyB,SAAjC,cAAkD,EAA1C,UAAyB,GAYmF,mBAAQ,EAA9H,cAA+H,EAAT,UAAQ,GAAjG,uBAAU,EAAC,qBAA+B,oBAAvE,cAA+H,EAAlG,WAAU,EAAC,WAA+B,GAC7D,wBAAY,EAApB,cAAgD,EAAxC,sCAAY,EAApB,cAAgD,EAAxC,WAAY,GACZ,qBAAyB,SAAjC,cAAkD,EAA1C,WAAyB,GAS+F,oBAAQ,EAA1I,cAA2I,EAAT,WAAQ,GAA7G,6BAAgB,EAAC,qBAAqC,0BAAnF,cAA2I,EAA9G,WAAgB,EAAC,WAAqC,GACzE,wBAAY,EAApB,cAAgD,EAAxC,sCAAY,EAApB,cAAgD,EAAxC,WAAY,GACZ,qBAAsC,gBAA9C,cAAqE,EAA7D,WAAsC,GAWoF,oBAAQ,EAA5I,cAA6I,EAAT,WAAQ,GAA/G,8BAAiB,EAAC,qBAAsC,2BAArF,cAA6I,EAAhH,WAAiB,EAAC,WAAsC,GAC3E,wBAAY,EAApB,cAAgD,EAAxC,sCAAY,EAApB,cAAgD,EAAxC,WAAY,GACZ,qBAAkC,eAA1C,cAA6D,EAArD,WAAkC,GAUkF,oBAAQ,EAAtI,cAAuI,EAAT,WAAQ,GAAzG,2BAAc,EAAC,qBAAmC,wBAA/E,cAAuI,EAA1G,WAAc,EAAC,WAAmC,GACrE,wBAAY,EAApB,cAAgD,EAAxC,sCAAY,EAApB,cAAgD,EAAxC,WAAY,GACZ,qBAAgC,YAAxC,cAA4D,EAApD,WAAgC,GAY/B,qBAAwC,qBAA7C,cAA8C,EAAzC,WAAwC,GAIa,yBAAY,EAArD,qBAAwC,6BAA3D,cAAqP,EAAzL,WAAY,EAArD,WAAwC,mDA5KlB,iEAAuB,GAC7C,iNAAqF,GAC3G,gEAAsB,GACtB,8DAAoB,GACpB,8DAAoB,GASpB,4DAAwB,GAG1B,6DAA2B,GAuC7B,6EAAgE,GAArE,aAAoI,EAA/H,UAAgE,GAOrE,ouBAA6E,GAOrE,o1BAAiI,GACjG,qBAAiB,EAA/C,aAAgD,EAAlB,UAAiB,GAYjD,o1BAA0L,GAQ1L,61BAAgL,GAQhL,61BAAuM,GAMvM,61BAAgJ,GAChH,qBAAiB,EAA/C,cAAgD,EAAlB,UAAiB,GAajD,61BAA+H,GAC/F,sBAAiB,EAA/C,cAAgD,EAAlB,WAAiB,GAUjD,62BAA2I,GAC3G,sBAAiB,EAA/C,cAAgD,EAAlB,WAAiB,GAYjD,62BAA6I,GAC7G,sBAAiB,EAA/C,cAAgD,EAAlB,WAAiB,GAWjD,62BAAuI,GACvG,sBAAiB,EAA/C,cAAgD,EAAlB,WAAiB,GAiB7C,0vBAAqP;kHAuDjQ,yMAAwG,KACtG,uKAA0C,KACxC,uHAAK,8HAAO,gFAA6B,MACzC,uHAAK,6HAAM,4FAAmC,MAC9C,uHAAK,6HAAM,qJAA2C,IACtD,wHAAK,8HAAM,uJAAwC,IACnD,wHAAK,8HAAM,+FAA2C,MACtD,wHAAK,8HAAM,yFAAgC,MAE7C,iLAAoD,KAClD,mMAAsE,KACpE,2VAAgM,YAA5I;;wBAA2B;MAA/E,wBAAgM,6FAAgB,yDATtM,sEAA6B,GAC9B,gEAAmC,GACnC,kOAA2C,GAC3C,6NAAwC,GACxC,uEAA2C,GAC3C,kEAAgC;kHArBnD,kLAAgF,KAC9E,yLAA6D,KAC3D,oRAQqD,YADpC;;wBAA+C;MAC/C;;wBAAmC;MARpD,u/CAQqD,MAGvD,iLAAqD,KACnD,qZAAwG,iDAVvF,mBAA2B,cAG3B,mBAA4B,mBAF5B,mBAAyB,aACzB,mBAAwD,yCAExD,mBAAmB,UANpC,YAQqD,EANpC,SAA2B,EAG3B,SAA4B,EAF5B,SAAyB,EACzB,SAAwD,EAExD,SAAmB,GAMwC,mBAA2B,sBAAvG,YAAwG,EAA5B,SAA2B;kHAmB3G,kLAAyI,KACvI,6VAayD,YAJxC;;wBAA+C;MAC/C;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MAbxD,6pDAayD,mDAXxC,mBAA2B,cAG3B,mBAA4B,mBAF5B,mBAAyB,aAKzB,mBAA2C,sBAD3C,mBAAmB,UAHnB,mBAAwD,yCAExD,mBAAmB,UANpC,YAayD,EAXxC,SAA2B,EAG3B,SAA4B,EAF5B,SAAyB,EAKzB,SAA2C,EAD3C,SAAmB,EAHnB,SAAwD,EAExD,SAAmB;kHAzCxC,iLAAoF,KAClF,qZAAgF,IAiChF,qZAAyI,iDAjCnF,sCAAyB,GAA/E,YAAgF,EAA1B,SAAyB,GAiCzB,8GAAkF,IAAxI,YAAyI,EAAnF,SAAkF;kHAmB1I,4MAA+F,YAAnF;;wBAAsB;MAAlC,ucAA+F,MAC7F,qLAAsD,kDAD5C,mBAAsB,WAAgC,uBAA4B,EAA9F,YAA+F,EAAnF,SAAsB,EAAgC,SAA4B;kHAK9F,sNAAgH,YAApG;;wBAA+B;MAA3C,ubAAgH,MAC9G,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,2HAAM,KACpF,oJAA8B,2FAAc,MAAO,sHAAM,KACzD,mLAAsD,KACpD,qJAA8B,wHAA2C,MAAO,uHAAM,KAExF,8LAA2D,KACzD,oRAA6I,YAA1C;;wBAAyC;MAA5I,wBAA6I,+EAAE,MAC/I,mPAAsG,YAApC;;wBAAmC;MAArG,wBAAsG,mFAAM,mDATrB,qBAAkB,EAAnG,mBAA+B,oBAA3C,YAAgH,EAAnB,SAAkB,EAAnG,SAA+B;khBArR3C,oZAAwF,IA2NxF,qZAAoF,IAqDpF,qZAA+F,IAK/F,qZAAgH,iDArRxD,4CAA+B,GAAvF,YAAwF,EAAhC,SAA+B,GA2NlC,2CAA8B,GAAnF,YAAoF,EAA/B,SAA8B,GAqDlC,mBAAgB,WAAjE,YAA+F,EAA9C,SAAgB,GAKrB,mBAAyB,oBAArE,YAAgH,EAApE,SAAyB;;;;;;;;;;;;;;;;ACrRrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AAClD;AAChB;AACiC;AACjC;AACa;AACP;AACmB;AACD;AACxB;AAEgC;AACX;AACN;AAE1D;IAyCE,qCAAoB,iBAAsC,EACjD,oBAA0C,EAAU,eAAgC,EACnF,MAAqB,EAAU,WAAwB,EAC9D,SAAqB;QAHJ,sBAAiB,GAAjB,iBAAiB,CAAqB;QACjD,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QACnF,WAAM,GAAN,MAAM,CAAe;QAAU,gBAAW,GAAX,WAAW,CAAa;QA3BjE,cAAS,GAAG,CAAC,CAAC;QAAC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAG1D,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,kBAAa,GAAkB,IAAI,mEAAa,EAAE,CAAC;QACnD,uBAAkB,GAAiB,EAAE,CAAC;QACtC,cAAS,GAAmB,EAAE,CAAC;QAC/B,uBAAkB,GAAmB,EAAE,CAAC;QACxC,aAAQ,GAAmB,EAAE,CAAC;QAC9B,WAAM,GAAmB,EAAE,CAAC;QAC5B,WAAM,GAAmB,EAAE,CAAC;QAC5B,kBAAa,GAAmB,EAAE,CAAC;QACnC,iBAAY,GAAmB,EAAE,CAAC;QAClC,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAG3B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE1C,kBAAa,GAAW,CAAC,CAAC;QAC1B,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnB,wBAAmB,GAAY,KAAK,CAAC;QAGrC,sBAAiB,GAAY,KAAK,CAAC;QAAC,aAAQ,GAAY,KAAK,CAAC;QAM5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,CAAC;IACD,8CAAQ,GAAR;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,kEAA4B,GAA5B,UAA6B,MAAM;QAAnC,iBAoBC;QAnBC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACxE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvB,QAAQ,CAAC,OAAO,CAAC,UAAC,QAAQ;wBACxB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;wBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;wBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;oBACnG,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;iBAElC;qBACI;oBACH,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC5B;IAEH,CAAC;IAGD,iDAAW,GAAX,UAAY,KAAK;QACf,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;aACf;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QAAQ,gBAAgB,EAAE;QAC3B,IAAI,MAAM,EAAE;YACV,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAC/B;aAAM;SACN;IACH,CAAC;IAED,sDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;aACZ;YACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7C;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAC;YACJ;gBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aACF;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACvF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;oBACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aAEF;YACD;gBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACnF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;oBACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aAEF;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;oBACvE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC/B,OAAO,MAAM,CAAC;qBACf;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;wBACpC,OAAO,YAAY,CAAC;qBACrB;yBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;wBACtC,OAAO,aAAa,CAAC;qBACtB;yBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;wBACtC,OAAO,gBAAgB,CAAC;qBACzB;gBACH,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAC;YACJ;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE;gBAC7T,CAAC;aACF;YACD;gBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAE,EAAC,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,EAAE,MAAM,EAAE,OAAO;aAC9M;SACF,CAAC;IAEN,CAAC;IACD,8CAAQ,GAAR,UAAS,GAAG,EAAE,IAAI;QAAlB,iBAUC;QARC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,IAAI,EAAE,GAAG,KAAI;YACb,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAY,GAAZ;QACE,UAAU,CAAC;YACT,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6JAA6J,CAAC,CAAC;QACtM,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,oDAAc,GAAd,UAAe,YAAY;QACzB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0CAA0C,GAAG,YAAY,GAAG,2DAA2D,CAAC;QAC1I,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iMAAiM,CAAC,CAAC;IAChO,CAAC;IACD,mDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;QAExB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,iDAAW,GAAX;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,SAAS,EAAE;YAC7G,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,UAAC,MAAM;gBACxD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACzD,8EAA8E;SAC/E;IACH,CAAC;IACD,sDAAgB,GAAhB;QAAA,iBA2CC;QA1CC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAC,uBAAuB,EAAE,IAAI;SACpR,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,8BAA8B;QAE9B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE3F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YAExC,IAAI,KAAI,CAAC,IAAI,IAAI,mBAAmB,IAAI,KAAI,CAAC,IAAI,IAAI,WAAW,IAAI,KAAI,CAAC,IAAI,IAAI,YAAY,EAAE;gBAC7F,KAAI,CAAC,4BAA4B,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;aAChD;iBACI;gBACH,KAAI,CAAC,oCAAoC,CAAC,KAAI,CAAC,EAAE,CAAC,CAAC;aACpD;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,UAAU,EAAE,uFAAmB;SAChC,CAAC;IACJ,CAAC;IACD,oDAAc,GAAd,UAAe,QAAQ;QAAvB,iBA+BC;QA9BG,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrE,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;gBAC5B,KAAI,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACtC,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBAC3C,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC1D,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,IAAI,YAAY,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,EAAE;oBAC3F,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;iBAC7D;qBACI;oBACH,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;iBAC9D;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACnF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC7D,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC;YAC1D,sDAAsD;YACtD,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC;YAC3D,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/D,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACtE;IAGL,CAAC;IACD,mDAAa,GAAb;QAAA,iBAmCC;QAlCC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,UAAC,KAAK;YAC9C,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YACvF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAC3E,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YACjF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAChF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC7G,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0EAAoC,GAApC,UAAqC,SAAS;QAA9C,iBAmBC;QAlBC,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE;YAChC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACxE,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAC7D;QAED,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,iBAAiB,CAAC,yCAAyC,CAAC,KAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC7F,QAAQ,CAAC,OAAO,CAAC,UAAC,QAAQ;oBACxB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACnF,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBAC3F,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBACnG,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YAEnC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,kDAAY,GAAZ;QACE,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,SAAS,EAAE;YACzE,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,EAAE;YACpE,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;YACrE,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,EAAE;YAC/E,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,SAAS,EAAE;YACtE,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,EAAE,EAAE;YACrG,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,SAAS,EAAE;YACpF,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,SAAS,EAAE;YAClF,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,SAAS,EAAE;YAC9E,MAAM,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,MAAM,IAAI,CAAC,EAAE;YACf,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO;YAC1D,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAC7D;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,EAAE;YAC3F,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;SAC5D;IACH,CAAC;IACD,oDAAc,GAAd;QAAA,iBAgCC;QA/BC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;QACvD,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,aAAa,CAAC;QAClD,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;QAC/D,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC;QACxE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;YACjC,KAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;YAChC,KAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;YAC7D,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC/D,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,KAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iCAAiC,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9F,KAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACrE,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE;wBAC7B,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBAChD;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,2CAAK,GAAL;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,4CAAM,GAAN,UAAO,GAAG,EAAE,MAAM;QAEhB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACrE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,CAAC,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC,CAAC,0BAA0B,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QACrE,IAAI,MAAM,IAAI,YAAY,EAAE;YAC1B,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;SAC/C;aAAM,IAAI,MAAM,IAAI,SAAS,EAAE;YAC9B,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACtC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;SACnD;aACI;YACH,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;SAChD;IACH,CAAC;IACD,yDAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,OAAO,KAAK,UAAU,EAAE;YAC1B,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,4CAAM,GAAN;IAEA,CAAC;IACD,0DAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,sCAAsC;QACtC,oFAAoF;IACtF,CAAC;IACD,qDAAe,GAAf;QAAA,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC/D,4FAA4F;YAC3F,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAY,GAAZ,UAAa,GAAG,EAAE,MAAM;QAAxB,iBASC;QARC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC7D,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,uDAAuD;YACvD,iBAAiB;QACnB,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAExE,CAAC;IAED,wDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACjC;SACF;IACH,CAAC;IACD,qDAAe,GAAf;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,mDAAa,GAAb,UAAc,KAAK;IAEnB,CAAC;IAED,iDAAW,GAAX,UAAY,KAAK;IAEjB,CAAC;IAED,mDAAa,GAAb,UAAc,KAAK;IAEnB,CAAC;IAED,iDAAW,GAAX,UAAY,OAAO;QAEjB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAE9B,CAAC;IAED,0DAAoB,GAApB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sHAAsH,CAAC,CAAC;QACxK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,sDAAgB,GAAhB,UAAiB,aAAa;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IACH,kCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+GCxgBe,mJAA6E,KAC3E,uJAAiC,4LAAqB;+GAkCxD,mJAA4E,KAC1E,uJAAiC,4LAAqB;+GAgDxD,2KAAmG,KACK,uJAAiC,4LAAyB;+GA6ClK,2KAAkG,KACM,uJAAiC,4LAAyB;+GAa1K,sKAAoG,KAClG,mUAAsL,YAAvJ;;wBAAkC;MAAjE,wBAAsL,iFAAI,MAC1L,mUAAwL,YAAxJ;;wBAAoC;MAApE,wBAAwL,mFAAM;+GA9KpM,iiBACiJ,GAApF,2EAAmF,MAE9I,gLAAmD,KAEjD,iLAAoD,KAClD,kOAAsG,oJAAyB,uGAA0B,MACzJ,mMAAsE,KACpE,kLAAqD,KACnD,2LAA6D,KAE3D;;;;;wBAOsE;MANhD;;wBAAsC;MAGtC;;wBAA0C;MAC1C;;wBAA4C;MAC5C;;wBAA6C;MAC7C;;wBAA+C;MAPrE,myEAOsE,IAO5E,yLAA4D,KAC1D,oNAAuF,KACrF,kOAA+F,KAC7F,4dAA6E,IAMzE,4EAIR,MAAM,4EAER,MAGF,kLAAoD,KAElD,kMAAqE,qJAAyB,KAC9F,oMAAsE,KACpE,mLAAqD,KACnD,2LAA6D,KAC3D;;;;;wBAKsE;MAL1B;;wBAAqC;MAE3D;;wBAA0C;MAC1C;;wBAA4C;MAC5C;;wBAA6C;MAC7C;;wBAA+C;MALrE,myEAKsE,IAM5E,yLAA4D,KAC1D,yNAA4F,KAC1F,kOAA+F,KAC7F,4dAA4E,IAWtF,iLAAmD,KACjD,kLAAoD,KAClD,4NAA+F,qJAAyB,uGAA0B,MAClJ,oMAAsE,KACpE,mLAAqD,KACnD,2LAA6D,KAE3D;;;;;wBAOsE;MAJhD;;wBAAsC;MACtC;;wBAA0C;MAC1C;;wBAA4C;MAC5C;;wBAA6C;MAC7C;;wBAA+C;MAPrE,myEAOsE,IAqB5E,0LAA6D,KAC3D,yNAA4F,KAC1F,+MAA4E,KAC1E,4dAAmG,IAQ3G,kLAAoD,KAElD,kMAAqE,qJAAyB,KAC9F,oMAAsE,KACpE,mLAAqD,KACnD,2LAA6D,KAE3D;;;;;wBAOsE;MAJhD;;wBAAqC;MACrC;;wBAA0C;MAC1C;;wBAA4C;MAC5C;;wBAA6C;MAC7C;;wBAA+C;MAPrE,syEAOsE,IAqB5E,0LAA6D,KAC3D,wNAA2F,KACzF,+MAA4E,KAC1E,4dAAkG,IAa5G,uKAA0C,KACxC,mZAAoG,iDA3K3C,4FAAmF,IADhJ,YACiJ,EAApF,SAAmF,GAU9G,oBAAyB,mBAEzB,oBAAiC,uBAFvD,aAOsE,EAPhD,UAAyB,EAEzB,UAAiC,GACjC,2CAA+B,EAF/B,oBAAsC,2BAD5D,aAOsE,EAJhD,UAA+B,EAF/B,UAAsC,GAgBvD,oBAA+C,8BAApD,aAA6E,EAAxE,UAA+C,GAqB9B,oBAAqB,eAAuC,oBAAiC,uBAAnH,aAKsE,EALhD,UAAqB,EAAuC,UAAiC,GAC7F,0CAA8B,EADR,oBAAqC,0BAAjF,aAKsE,EAJhD,UAA8B,EADR,UAAqC,GAc5E,oBAA8C,6BAAnD,aAA4E,EAAvE,UAA8C,GAmB7B,oBAAyB,mBAAC,oBAAiC,uBADjF,aAOsE,EANhD,UAAyB,EAAC,UAAiC,GAC3D,+CAAmC,EACnC,oBAAsC,2BAH5D,aAOsE,EALhD,UAAmC,EACnC,UAAsC,GA4BrC,oBAAmD,8BAA1E,aAAmG,EAA5E,UAAmD,GAgBpD,oBAAqB,eAAC,oBAAiC,uBAD7E,aAOsE,EANhD,UAAqB,EAAC,UAAiC,GACvD,0CAA8B,EAC9B,oBAAqC,0BAH3D,aAOsE,EALhD,UAA8B,EAC9B,UAAqC,GA4BpC,oBAAkD,6BAAzE,aAAkG,EAA3E,UAAkD,GAc5E,mDAAyD,0BAA9D,aAAoG,EAA/F,UAAyD,mDA3K7D,4DAAuD,GAD5D,YACiJ,EAA5I,SAAuD,GAUhD,q0BAOsE,GA+BtE,q1BAKsE,GA2BtE,q1BAOsE,GAuCtE,q1BAOsE;+GA5ItF,2PAAwH,KACtH,mMAAuE,KACnE,mNAAuF,KACrF,qHAAG,6FAAgB,MACnB,2PAA+F,YAApB;;wBAAiB;MAA5F,wBAA+F,KAEnG,kZACiJ,IA0LjJ,2LAAwC,YAA5B;;wBAA2B;MAAvC,4ZAAwC,MAEtC,6KAAkD,KAChD,iLAA0D,yGAA4B,MACtF,0HAAO,uKACqG,6HAAM,KAChH,0HAAO,iFAAuB,MAAS,uHAAM,4HAAM,4HAAM,KACnD,uHAAM,4HAAM,4HAC0B,qJAAwB,mFAAiC,MAAO,uHAAM,KAAC,uHAAM,8GAC3F,qJAAwB,mFAA4B,MAAO,uHAAM,4HAAM,8HACvD,qJAAwB,mFAAiC,MAAO,uHAAM,4HAAM,KAAC,uHAAM,kKAG5B,6HAAM,oKAE7G,6HAAM,KAAC,uHAAM,4HAAM,KACnB,wMAA2E,KACzE,iMAAoE,KAClE,yQAAkH,YAA1G;;wBAAyB;MAAjC,wBAAkH,mFAAM,MAG1H,kLAAqD,KACnD,iTAAyK,YAAzC;;wBAAwC;MAAxK,wBAAyK,qFAAQ,mDAjNlK,oBAAsB,gBAA7C,YACiJ,EAD1H,SAAsB,GA2LjC,mBAA2B,gBAAvC,YAAwC,EAA5B,SAA2B,mDAI5B,+DACqG,GACnG,iEAAuB,GAEsC,yEAAiC,GAC/C,oEAA4B,GACZ,yEAAiC,GAA0B,+DAG5B,GAAM,+DAE7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChNiF;AACxC;AACQ;AACI;AACO;AACzB;AACqB;AACb;AACE;AAKrD;IAgEE,mCAAoB,eAAgC,EAAU,MAAqB,EAAU,KAAqB,EACxG,oBAA0C,EAAU,MAAc;QADxD,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,UAAK,GAAL,KAAK,CAAgB;QACxG,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAtD5E,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,mBAAc,GAAmB,IAAI,qEAAc,EAAE,CAAC;QACtD,YAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;QACnC,aAAQ,GAAc,IAAI,kEAAS,EAAE,CAAC;QAEtC,kBAAa,GAAG,EAAE,CAAC;QACnB,4BAAuB,GAAG,EAAE,CAAC;QAC7B,2BAAsB,GAAG,EAAE,CAAC;QAC5B,wBAAmB,GAAG,EAAE,CAAC;QACzB,wBAAmB,GAAG,EAAE,CAAC;QACzB,2BAAsB,GAAG,EAAE,CAAC;QAC5B,uBAAkB,GAAG,EAAE,CAAC;QACxB,oBAAe,GAAG,EAAE,CAAC;QACrB,2BAAsB,GAAG,EAAE,CAAC;QAC5B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAY,KAAK,CAAC;QAChC,0BAAqB,GAAY,IAAI,CAAC;QACtC,2BAAsB,GAAY,KAAK,CAAC;QACxC,2BAAsB,GAAY,KAAK,CAAC;QACxC,wBAAmB,GAAY,KAAK,CAAC;QACrC,4BAAuB,GAAY,KAAK,CAAC;QACzC,eAAU,GAAG,EAAE,CAAC;QAChB,uBAAkB,GAAY,KAAK,CAAC;QACpC,kBAAa,GAAY,KAAK,CAAC;QAC/B,uBAAkB,GAAY,KAAK,CAAC;QACpC,gBAAW,GAAY,KAAK,CAAC;QAO7B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,aAAQ,GAAY,KAAK,CAAC;QAE1B,0BAA0B;QACnB,iBAAY,GAAmB,EAAE,CAAC;QACzC,qBAAgB,GAAG,EAAE,CAAC;QACtB,4BAAuB,GAAG,EAAE,CAAC;QAC7B,6BAAwB,GAAG,EAAE,CAAC;QAC9B,4BAAuB,GAAG,EAAE,CAAC;QAC7B,6BAAwB,GAAG,EAAE,CAAC;QAC9B,yBAAoB,GAAG,EAAE,CAAC;QAC1B,yBAAoB,GAAG,EAAE,CAAC;QAK1B,+BAA0B,GAAG,EAAE,CAAC;QAChC,gCAA2B,GAAG,EAAE,CAAC;QACjC,+BAA0B,GAAG,EAAE,CAAC;QAChC,gCAA2B,GAAG,EAAE,CAAC;QAK/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,4CAAQ,GAAR;QAAA,iBA4CC;QA1CC,IAAI,CAAC,oBAAoB,GAAI;YAC3B,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;YACjB,qBAAqB,EAAE,cAAc;SAEtC,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG;YAC1B,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;YACjB,qBAAqB,EAAE,aAAa;SAErC,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpF,KAAK,CAAC,OAAO,CAAC,aAAG;gBACf,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAE1B,KAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAEpF,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,WAAW,CAAC,OAAO,CAAC,aAAG;oBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;gBAC1G,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;gBAC/B,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IAEJ,CAAC;IAED,4DAAwB,GAAxB;QACE,gFAAgF;QAChF,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IACD,4DAAwB,GAAxB;QACE,4EAA4E;QAC5E,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,+CAAW,GAAX,UAAY,GAAG;QACb,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YAEH,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACvC;iBACI;gBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACvC;SACF;IAEH,CAAC;IAED,+CAAW,GAAX,UAAY,GAAG;IACf,CAAC;IACD,0DAAsB,GAAtB,UAAuB,SAAS,EAAE,SAAS;QAA3C,iBAmDC;QAlDC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,SAAS,IAAI,CAAC,EAAE;YAClB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mBAAS;gBAC3D,KAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YAC3B,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,KAAI,CAAC,OAAO,IAAI,IAAI,EAAE;gBACxB,KAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAS;oBAC5F,KAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBAE/C,CAAC,CAAC,CAAC;aACJ;YACD,KAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,wBAAc;gBAC7E,KAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;gBACrC,KAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;gBACrC,KAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;gBACtC,KAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;gBAGtC,KAAI,CAAC,0BAA0B,GAAG,cAAc,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,QAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAE,EAAxD,CAAwD,CAAC,CAAC;gBAC5H,KAAI,CAAC,0BAA0B,GAAG,cAAc,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,QAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAzD,CAAyD,CAAC,CAAC;gBAC7H,KAAI,CAAC,2BAA2B,GAAG,cAAc,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,QAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAA1D,CAA0D,CAAC,CAAC;gBAC/H,KAAI,CAAC,2BAA2B,GAAG,cAAc,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,QAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAA1D,CAA0D,CAAC,CAAC;gBAE/H,KAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAG;oBACzC,KAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,uBAAuB,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1G,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,aAAG;oBAC1C,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,uBAAuB,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/G,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAG;oBACzC,KAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,uBAAuB,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1G,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,aAAG;oBAC1C,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,uBAAuB,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/G,CAAC,CAAC,CAAC;YAGL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAU,GAAV;QACE,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;YACtD,KAAK,CAAC,yCAAyC,CAAC;YAChD,OAAO,KAAK,CAAC;SACd;aACI;YACH,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,KAAK;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;IACD,6CAAS,GAAT;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAEzB,0EAA0E;IAC3E,CAAC;IACD,0CAAM,GAAN,cAAW,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;IACtC,gDAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC7C,CAAC;IACD,uDAAmB,GAAnB,UAAoB,IAAS,IAAI,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC;IACtE,8DAA0B,GAA1B,UAA2B,IAAS;QAApC,iBAMC;QALC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,aAAG;YACvC,KAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAC,CAAC;QAC/I,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAiB,GAAjB,UAAkB,IAAS;QACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IACD,yDAAqB,GAArB,UAAsB,IAAS;QAC7B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACtC,CAAC;IAED,kDAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;IACH,CAAC;IACD,yDAAqB,GAArB,UAAsB,IAAS;QAC7B,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;SACrC;IACH,CAAC;IACD,gEAA4B,GAA5B,UAA6B,IAAS;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAErG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAE7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SAEpC;aAAM;YACL,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;SACrC;IACH,CAAC;IACD,uDAAmB,GAAnB,UAAoB,IAAS;QAE3B,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAErG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SAEjC;aAAM;YACL,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SAClC;IAEH,CAAC;IACD,2DAAuB,GAAvB,UAAwB,IAAS;QAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SACrC;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;IACH,CAAC;IAED,+CAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,wGAAwG;QACxG,qCAAqC;IACvC,CAAC;IACD,6DAAyB,GAAzB,UAA0B,KAAU;QAClC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAErC,CAAC;IACD,sDAAkB,GAAlB,UAAmB,KAAU;QAC3B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IACD,oDAAgB,GAAhB,UAAiB,KAAU;QACzB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,wDAAoB,GAApB,UAAqB,KAAU;QAC7B,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACtC,CAAC;IAED,iDAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExB,CAAC;IACD,wDAAoB,GAApB,UAAqB,KAAU;QAC7B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,wBAAwB;IAE1B,CAAC;IACD,+DAA2B,GAA3B,UAA4B,KAAU;QAEpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAEnC,wBAAwB;IAE1B,CAAC;IAED,sDAAkB,GAAlB,UAAmB,KAAU;QAC3B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAEjC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExB,CAAC;IAED,0DAAsB,GAAtB,UAAuB,KAAU;QAC/B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAErC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExB,CAAC;IACD,iDAAa,GAAb,UAAc,OAAO,EAAC,KAAK;QAA3B,iBASC;QARC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC;YAC/B,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,IAAI,MAAM,CAAC,kBAAkB,IAAI,CAAC,IAAI,MAAM,CAAC,kBAAkB,IAAI,CAAC,EAAE;gBACjG,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qDAAiB,GAAjB;QAAA,iBAmEC;QAlEC,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YAGH,mDAAmD;YACnD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC5E,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;gBAE7B,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,IAAI,gBAAgB,GAAG,EAAE,CAAC;oBAC1B,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;wBAClK,KAAK,CAAC,OAAO,CAAC,eAAK;4BACjB,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;wBAC3B,CAAC,CAAC,CAAC;wBACH,OAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC;wBACpC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACrJ,MAAM,CAAC,OAAO,CAAC,eAAK;gCAClB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;4BAC5B,CAAC,CAAC,CAAC;4BACH,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC;4BACpC,OAAO,CAAC,mBAAmB,GAAG,6DAAI,OAAO,CAAC,mBAAmB,EAAK,MAAM,CAAC,CAAC;4BAC1E,OAAO,CAAC,cAAc,CAAC,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;wBACvE,CAAC,CAAC,CAAC;wBAEH,OAAO,CAAC,cAAc,CAAC,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;oBAC/E,CAAC,CAAC,CAAC;gBAIL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YAEH,CAAC,CAAC,UAAU,CAAC;gBACX,kEAAkE;YACpE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,mCAAmC;YAEnC,GAAG;YACH,yCAAyC;YACzC,uBAAuB;YACvB,8BAA8B;YAE9B,+GAA+G;YAC/G,+BAA+B;YAC/B,WAAW;YACX,2CAA2C;YAC3C,qFAAqF;YACrF,4GAA4G;YAC5G,mCAAmC;YACnC,aAAa;YACb,8CAA8C;YAC9C,+EAA+E;YAC/E,mFAAmF;YACnF,WAAW;YACX,SAAS;YAIT,aAAa;YACb,GAAG;SACJ;IACH,CAAC;IACD,2DAAuB,GAAvB;QAAA,iBA8CC;QA5CC,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,EAAE;YAClF,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;SACjD;aACI;YAEH,8CAA8C;YAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAE/B,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC5E,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;gBAE7B,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,IAAI,gBAAgB,GAAG,EAAE,CAAC;oBAC1B,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI,EAAE;wBAClC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;4BAClK,KAAK,CAAC,OAAO,CAAC,eAAK;gCACjB,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;4BAC3B,CAAC,CAAC,CAAC;4BACH,OAAO,CAAC,uBAAuB,GAAG,KAAK,CAAC;4BACxC,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,uBAAuB,CAAC;4BAC9D,IAAI,OAAO,CAAC,cAAc,CAAC,oBAAoB,IAAI,EAAE,EAAE;gCACrD,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;oCACvG,aAAa,CAAC,OAAO,CAAC,eAAK;wCACzB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;oCAC5B,CAAC,CAAC,CAAC;oCACH,OAAO,CAAC,sBAAsB,GAAG,aAAa,CAAC;oCAC/C,OAAO,CAAC,uBAAuB,GAAG,6DAAI,OAAO,CAAC,uBAAuB,EAAK,aAAa,CAAC,CAAC;gCAC3F,CAAC,CAAC,CAAC;6BACJ;wBAEH,CAAC,CAAC,CAAC;qBAGJ;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;YAEb,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;IACH,CAAC;IACD,0DAAsB,GAAtB;QAAA,iBA0CC;QAzCC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,wBAAwB,IAAI,SAAS,EAAE;YAC9C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;SAC7E;QAED,IAAI,IAAI,CAAC,uBAAuB,IAAI,SAAS,EAAE;YAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;SAC1E;QAED,IAAI,IAAI,CAAC,wBAAwB,IAAI,SAAS,EAAE;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;SACnE;QAED,IAAI,IAAI,CAAC,uBAAuB,IAAI,SAAS,EAAE;YAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;SAC1E;QAID,IAAI,UAAU,GAAmB,IAAI,qEAAc,EAAE,CAAC;QACtD,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;QACvC,UAAU,CAAC,uBAAuB,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QAC3E,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;QACtE,UAAU,CAAC,uBAAuB,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QAC3E,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAChE,UAAU,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAE3C,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/F,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,6CAA6C;YAC7C,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8CAAU,GAAV;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mJAAmJ,CAAC,CAAC;QAElL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,iDAAa,GAAb;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,4CAAQ,GAAR,UAAS,MAAM;QAAf,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4DAAwB,GAAxB;QAAA,iBA2DC;QAzDC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,mBAAmB,IAAI,SAAS,EAAE;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxD,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACjE;qBAAM;oBACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACzD;aAEF;SACF;QAED,iDAAiD;QACjD,kEAAkE;QAElE,KAAK;QACL,GAAG;QACH,oCAAoC;QACpC,IAAI,UAAU,GAAmB,IAAI,qEAAc,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YAC/B,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;SACxC;aACI;YACH,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;SACnB;QAED,UAAU,CAAC,uBAAuB,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,uBAAuB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;QAChL,UAAU,CAAC,uBAAuB,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QAC3E,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAChE,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;QACzC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,6LAA6L;QAC7L,0EAA0E;QAC1E,qCAAqC;QACrC,OAAO;QACP,GAAG;QACD,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACjF,kDAAkD;YAClD,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,KAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YAErC,IAAI,CAAC,UAAU,CAAC,uBAAuB,IAAI,IAAI,IAAI,UAAU,CAAC,uBAAuB,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,IAAI,IAAI,IAAI,UAAU,CAAC,uBAAuB,IAAI,EAAE,CAAC,EAAE;gBACxL,KAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAI,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACjE,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;aACJ;iBAAK;gBACJ,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAEjC;QAEF,CAAC,CAAC,CAAC;IAGP,CAAC;IACD,+CAAW,GAAX;QAAA,iBASC;QARC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC1G,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACtF,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAK,GAAL;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IACD,yDAAqB,GAArB,UAAsB,IAAS;QAA/B,iBAWC;QAVC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5C,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,aAAG;gBACvC,KAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChJ,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;SACvC;IAEH,CAAC;IAED,yDAAqB,GAArB,UAAsB,IAAS;QAA/B,iBAWC;QAVC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,aAAG;gBACtC,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/I,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;SACtC;IAEH,CAAC;IAED,yDAAqB,GAArB,UAAsB,IAAS;QAA/B,iBAWC;QAVC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5C,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,aAAG;gBACvC,KAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChJ,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;SACvC;IAEH,CAAC;IAED,yDAAqB,GAArB,UAAsB,IAAS;QAA/B,iBAWC;QAVC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,aAAG;gBACtC,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/I,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;SACtC;IAEH,CAAC;IAEH,gCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGCpvBD,wRAA2H,YAAzE;;wBAA+B;MAAjF,wBAA2H,KAC3H,2NAA8D,YAAnB;;wBAAkB;MAA7D,wBAA8D,mFAAM,MACpE,sHAAG,kGAAwD,+KAA+B,YAA5B;;wBAA2B;MAA9B,wBAA+B,kFAAK,MAAK,yKAA8B,YAA3B;;wBAA0B;MAA7B,wBAA8B,8EAAC,MAAI,0FAAgD,gLAA8B,YAA3B;;wBAA0B;MAA7B,wBAA8B,8EAAC,MAAI,0KAA8B,YAA3B;;wBAA0B;MAA7B,wBAA8B,iFAAI,yDAAzP,gJAAwD,GAA4E,2GAAgD;;;;;;;;;;;;;;;;ACFvL;AAAA;AAAA;AAAA;AAAA;AAA6E;AAC7C;AAEhC;IAqBE;QAVA,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,kBAAa,GAAG,EAAE,CAAC;QAIb,gBAAW,GAAW,CAAC,CAAC;QACzB,aAAQ,GAAW,CAAC,CAAC;QACnB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,EAAE,CAAC;IACvB,CAAC;IAEjB,gCAAQ,GAAR;QACC,+CAA+C;QAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,mCAAW,GAAX;IAEA,CAAC;IACD,oCAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,8BAAM,GAAN;QAAA,iBAaC;QAZC,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,GAAG,UAAC,CAAC;YACpB,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;YACrC,IAAI,IAAI,GAAG,IAAI,UAAU,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,QAAQ,GAAG,4CAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnD,IAAI,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QACD,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,uCAAe,GAAf;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,sCAAc,GAAd;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,sCAAc,GAAd;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,sCAAc,GAAd;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACH,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8GCvCD,sNAAmH,YAAvG;;wBAAgC;MAA5C,ubAAmH,MACjH,4LAEwD,YAAtC;;wBAAqC;MAFvD,4kBAEwD,mDAHsC,qBAAkB,EAAtG,mBAAgC,qBAA5C,YAAmH,EAAnB,SAAkB,EAAtG,SAAgC,GACxB,iCAA2B,EAAC,oIAAyH,GACrJ,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EADpE,YAEwD,EAFtC,SAA2B,EAAC,SAAyH,EACrJ,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;iMA3BtE,oLAAwD,KAEtD,qKAAyC,KACvC,8LAA+H,YAA/C;;wBAA8C;MAA9H,g8BAA+H,MAGjI,0LAA8D,KAC5D,iQAQiE,YAAhD;;wBAA+C;MARhE,ojDAQiE,MAUrE,mZAAmH,iDAtB/F,gCAA+B,EAAC,mBAA+B,gBAA/E,YAA+H,EAA/G,SAA+B,EAAC,SAA+B,GAK9D,mBAA2B,cAG3B,mBAA8B,qBAF9B,mBAAyB,aAKzB,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANpC,YAQiE,EAPhD,SAA2B,EAG3B,SAA8B,EAF9B,SAAyB,EAKzB,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,GAYK,mBAA0B,qBAAvE,aAAmH,EAAtE,SAA0B;;;;;;;;;;;;;;;;ACxBvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AAGU;AAEuB;AAChB;AACM;AACe;AAEpC;AAK3C;IAkBE,kCAAmB,oBAA0C,EAAS,WAAwB,EAAU,MAAc,EAAU,iBAAsC;QAAnJ,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAJtK,aAAQ,GAAc,IAAI,2DAAS,EAAE,CAAC;QACtC,uBAAkB,GAAY,KAAK,CAAC;QAEpC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAGzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAED,2CAAQ,GAAR;QACE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACha,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,qDAAkB,GAAlB,UAAmB,MAAM;QAAzB,iBAQC;QAPC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;YACjC,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,cAAI;gBAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,IAAE,IAAI,EAAC,GAAE,EAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3I,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wCAAK,GAAL;QAEE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,uDAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE;YAAE,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;SAAE;aAAM;YACjE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,mDAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAC3K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI;SACxF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,0FAAqB;SACpC,CAAC;IAGJ,CAAC;IAED,mDAAgB,GAAhB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,UAAU,GAAG;YACnB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YAED;gBACE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACzF;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBAClC,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5D;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBACpF;wBAAE,OAAO,QAAQ,CAAC;qBAAE;gBAAA,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;oBAChD;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBAClC,CAAC;aACF;YACD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACpE;gBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aACvD;YAED,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE;YAEjF;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;aAC9D;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aACxE;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;aAChD;YACD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7D,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YACxD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBACjG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,gDAAgD,CAAC;oBAClE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SAEF,CAAC;IACJ,CAAC;IAED,qDAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,wDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QAC7L,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,8CAAW,GAAX;QACE,UAAU,CAAC;YACT,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACnL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,+CAAY,GAAZ,UAAa,GAAG;QAAhB,iBAUC;QATC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC/E,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SAEJ;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;IACH,CAAC;IAED,oDAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACzD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QAChE,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrD,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACtE,CAAC;IACH,+BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGC7MD,qHAAG,+FAEH;;;;;;;;;;;;;;;;ACAA;AAAA;AAAA;IAOE;IAAgB,CAAC;IAEjB,oCAAQ,GAAR;IACA,CAAC;IAEH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGCAO,4KAAuE,wDAAlE,mBAAgB,WAArB,YAAuE,EAAlE,SAAgB;sGAKnB,mNAA2G;sGAF7G,oNAA0G,KAExG,yYAA2G,iDAApB,oBAAiB,WAAxG,YAA2G,EAApB,SAAiB;sGAG1G,wTAA6M,6FAAgB;sGAkM3N,uHAAqD,KACnD,wHAAM,sPAAmD;sGAS3D,uHAA8D,KAC5D,wHAAM,uLAAyB;sGASjC,uHAAkE,KAChE,wHAAM,sPAAmD;sGA7OrE,2LAA6D,KAC3D,2MAA+E,KAG/E,uLAA2D,KACzD,sLAAgE,uFAAU,MAE5E,uLAA2D,KACzD,kNAA2D,YAAnB;;wBAAkB;MAA1D,wBAA2D,KAAC,8MAAmF,KAGjJ,8OAAgH,KAC9G,oKAAwC,KACtC,oLAAuD,KACrD,0YAAuE,IACvE,uUAA2J,YAA3E;;wBAA2B;MAA3G,wBAA2J,KAE3J,0YAA0G,IAI1G,2UAA+J,YAA3E;;wBAA2B;MAA/G,wBAA+J,KAC/J,0YAA6M,IAGjN,+PAAgI,KAE9H,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,mFAAM,MAEf,6IAAsB,KACpB,yHAAM,iFAAkB,MAG5B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,wFAAW,MAEpB,6IAAsB,KACpB,yHAAM,iFAAkB,MAG5B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,yFAAY,MAErB,6IAAsB,KACpB,yHAAM,iFAAmB,MAG7B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB,yHAAM,iFAAiB,MAG3B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,oFAAO,MAEhB,6IAAsB,KACpB,yHAAM,iFAAmB,MAG7B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,yFAAY,MAErB,6IAAsB,KACpB,yHAAM,iFAAmB,MAG7B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB,yHAAM,iFAAiB,MAG3B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,0FAAa,MAEtB,6IAAsB,KACpB,yHAAM,iFAA+C,MAGzD,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,+FAAkB,MAE3B,6IAAsB,KACpB,yHAAM,iFAAsB,MAGhC,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,yFAAY,MAErB,6IAAsB,KACpB,yHAAM,iFAAqC,MAG/C,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,2FAAc,MAEvB,6IAAsB,KACpB,yHAAM,iFAAqB,MAG/B,uKAA0C,KACxC,6IAAsB,KACpB,0HAAO,6FAAgB,MAEzB,8IAAsB,KACpB,0HAAM,kFAAsB,MAGhC,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,6FAAgB,MAEzB,8IAAsB,KACpB,0HAAM,kFAAsB,MAGhC,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,sFAAS,MAElB,8IAAsB,KACpB,0HAAM,kFAAiB,MAG3B,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,iGAAoB,MAE7B,8IAAsB,KACpB,0HAAM,kFAA8C,MAGxD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,2FAAc,MAEvB,8IAAsB,KACpB,0HAAM,kFAA8C,MAGxD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,4FAAe,MAExB,8IAAsB,KACpB,0HAAM,kFAA2C,MAGrD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,6FAAgB,MAEzB,8IAAsB,KACpB,0HAAM,kFAA0C,MAGpD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,wGAA2B,MAEpC,8IAAsB,KACpB,0HAAM,kFAAsB,MAGhC,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,gGAAmB,MAE5B,8IAAsB,KACpB,0HAAM,kFAA8B,MAGxC,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,oFAAO,MAEhB,8IAAsB,KACpB,0HAAM,kFAAc,MAGxB,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,sFAAS,MAElB,8IAAsB,KACpB,0HAAM,qFAAQ,MAGlB,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,iGAAoB,MAE7B,8IAAsB,KACpB,0HAAM,uFAAoF,MAG9F,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,yFAAY,MAErB,8IAAsB,KACpB,odAAqD,IAKzD,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,+FAAkB,MAE3B,8IAAsB,KACpB,odAA8D,IAKlE,wKAA0C,KACxC,8IAAsB,KACpB,2HAAO,sGAAyB,MAElC,8IAAsB,KACpB,odAAkE,iDA9Nd,mBAAgB,WAAtE,aAAuE,EAAjB,SAAgB,GAGkB,oBAAiB,WAAzG,aAA0G,EAAlB,SAAiB,GAKmF,mBAAgB,WAA5M,aAA6M,EAAjB,SAAgB,GAkMrM,oBAA+C,qBAApD,cAAqD,EAAhD,UAA+C,GAU/C,oBAAwD,8BAA7D,cAA8D,EAAzD,UAAwD,GAUxD,oBAA4D,kCAAjE,cAAkE,EAA7D,UAA4D,mDA5M3D,4DAAkB,GAQlB,4DAAkB,GAQlB,6DAAmB,GAQnB,2DAAiB,GAQjB,6DAAmB,GAQnB,6DAAmB,GAQnB,2DAAiB,GAQjB,gGAA+C,GAQ/C,kEAAsB,GAQtB,sFAAqC,GAQrC,iEAAqB,GAQrB,mEAAsB,GAQtB,mEAAsB,GAQtB,8DAAiB,GAQjB,gGAA8C,GAQ9C,gGAA8C,GAQ9C,6FAA2C,GAQ3C,4FAA0C,GAQ1C,mEAAsB,GAQtB,2EAA8B,GAQ9B,2DAAc,GAgBd,uKAAoF;;;;;;;;;;;;;;;;AC/MpG;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;AACe;AAEI;AACE;AAIlE;IAcE,0BAAoB,WAAwB,EAAU,oBAA0C,EAAU,eAAgC;QAAtH,gBAAW,GAAX,WAAW,CAAa;QAAU,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAP1I,SAAI,GAAU,IAAI,0DAAK,EAAE,CAAC;QAEnB,oBAAe,GAAW,EAAE,CAAC;QACpC,aAAQ,GAAG,EAAE,CAAC;QAAC,uBAAkB,GAAG,EAAE,CAAC;QACvC,uBAAkB,GAAG,EAAE,CAAC;QACxB,wBAAmB,GAAmB,EAAE,CAAC;QACzC,4BAAuB,GAAmB,EAAE,CAAC;QAE3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,mCAAQ,GAAR;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACxY,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEpD,CAAC;IACD,4CAAiB,GAAjB;QAAA,iBAOC;QALC,IAAI,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,IAAI,CAAC,iBAAiB,EAAnC,CAAmC,CAAC,CAAC;QAChG,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEtD,IAAI,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,IAAI,CAAC,qBAAqB,EAAvC,CAAuC,CAAC,CAAC;QAC5G,IAAI,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5D,CAAC;IACD,wCAAa,GAAb;QAAA,iBAcC;QAbC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC/D,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YACnB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAEzC,IAAI,KAAI,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;gBACtC,KAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aAC1B;iBAAM;gBACL,KAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACzB;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+CAAoB,GAApB,UAAqB,QAA6B,IAAI,CAAC;IACvD,gCAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC3D,4DAA4D;IAE7D,CAAC;IAED,mCAAQ,GAAR,UAAS,KAAK;QAEZ,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAExB,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC1C;IACH,CAAC;IAED,uCAAY,GAAZ,UAAa,IAAI;QACf,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;YACnC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5C,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACrE,OAAO,CAAC,WAAW,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;gBACjE,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAE;QACN,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GCjEK,4IAA8C,KAC5C,sPAAwG,YAAhG;;wBAA2B;MAAnC,wBAAwG,KACrG,4NAA4F;6GALnG,qRAC0F,KACxF,6IAAuB,8HAAO,6FAAiB,MAC/C,gZAA8C,iDAAxB,sCAAuB,GAA7C,YAA8C,EAAxB,SAAuB;6GAiBrC,qzBAC6D,iFAE7D,2BAFE,+HAAsC,GADxC,YAC6D,EAA3D,2IAAsC,GADxC,YAC6D,EAA3D,SAAsC,2BAAqB,8EAE7D;6GAcA,qHAAwE,gSAA8D;6GACtI,qHAA+F,oOAA4B;6GAPjI,sKAAuE,KACrE,sKAA0C,KACxC,oKAAwC,KACtC,yHAAO,oFAAuB,MAEhC,4IAAsB,KACpB,gZAAwE,IACxE,gZAA+F,yBAD5F,oHAAoE,IAAvE,YAAwE,EAArE,SAAoE,GACpE,+JAA2F,IAA9F,YAA+F,EAA5F,SAA2F,2BAJvF,uEAAuB;6GAJtC,yMAAwG,KACtG,ydAAuE,iDAAlE,mBAA4B,SAAjC,YAAuE,EAAlE,SAA4B;8GAqBzB,8KAA0F,KACxF,oKAAwC,KACtC,yHAAO,mFAA+B,MAExC,4IAAsB,KACpB,qHAAG,gFAA8B,iCAH1B,6EAA+B,GAGnC,+EAA8B;8GAb/C,+LAA4F,KAC1F,oKAAwC,KACtC,yHAAO,4FAAe,MAExB,4IAAsB,KACpB,qHAAG,gFAAwB,MAE3B,sHAAM,2HAAM,KACN,2dAA0F,iDAAxC,mBAAuC,iBAAzF,aAA0F,EAAxC,SAAuC,mDAH5F,iEAAwB;6GAvCjC,wLAA6J,KAE3J,4MAA+E,KAC7E,oLAAuD,KACrD,4KAAgD,KAChD,yHAAO,0HAAG,qFAAQ,MAElB,sKAAyC,KACvC;;;;;wBAAkM;MAAnH;;wBAA2B;MAAC;;wBAAsF;MAAjM,kuCAAkM,IAChM,01BAA+C,4FAAgB,MAC/D,0dAC6D,IASrE,iZAAwG,IAcxG,kZAA4F,iDA1BzD,wBAAa,EAAqC,mBAA2B,gBAA1G,aAAkM,EAArK,SAAa,EAAqC,SAA2B,GACvF,mBAAS,EAA1B,aAA+C,EAA9B,gCAAS,EAA1B,aAA+C,EAA9B,UAAS,GAClB,oBAA0D,+BAAlE,aAC6D,EADrD,UAA0D,GAUG,qBAA0B,oBAAvG,aAAwG,EAA3B,UAA0B,GAcrC,oBAAyB,oBAA3F,aAA4F,EAA1B,UAAyB,2BA1BrF,qtBAAkM;8GAsDpM,6OAA+I,KAC7I,2NAA+F,0HAAG,4IAAkC,IAEpI,wMAA4E,gFAAwB,iCAFF,8OAAkC,GAExD,6EAAwB;8GAX5G,iLAAiF,KAC/E,yNAA6F,KAC3F,uQAA2I,KACzI,yHAAO,4FAAgB,MACvB,uKAAiD,KAAC,4PAAkH,YAAtC;;wBAAqC;MAAjH,wBAAkH,KAGtK,uMAA2E,KACzE,0dAA+I,iDAA9B,mBAA6B,WAA9I,YAA+I,EAA9B,SAA6B;6GAhGxJ,kLAAyF,KACvF,iLAAqD,KACnD,+SAAmL,KACjL,+LAA6M,YAAzG;;wBAA0C;MAA9I,8+BAA6M,MAE/M,uKAA2C,KACzC,8RAC2D,0FAAa,MAE1E,gLAAoD,KAChD,s7CAKiC,IAOvC,uMAA0E,KAExE,iZAC0F,IAS1F,iZAA6J,IAsD7J,kZAAiF,iDArF9D,mBAA2B,cAAC,mBAAmB,UAA8H,kBAAc,EAA3I,kBAAU,EAAC,mBAAuB,YAA4C,0BAAuB,EAAC,yBAAsB,EAA7L,YAA6M,EAA5L,SAA2B,EAAC,SAAmB,EAA8H,SAAc,EAA3I,SAAU,EAAC,SAAuB,EAA4C,SAAuB,EAAC,SAAsB,GAS5K,mBAAmB,YACnB,yBAAiB,EAEjB,qBAAiB,EAJjB,8BAAiC,EAGjC,oBAA2B,kBAJ1C,aAKiC,EAHlB,SAAmB,EACnB,SAAiB,EAEjB,SAAiB,EAJjB,UAAiC,EAGjC,UAA2B,GAUvB,qBAA4B,sBAAnD,aAC0F,EADnE,UAA4B,GAUQ,gHAAiG,uBAA5J,aAA6J,EAAlG,UAAiG,GAsDvG,oBAA2B,sBAAhF,aAAiF,EAA5B,UAA2B;8GAsBpF,+KAAmE,KACjE,+KAAmD,KACjD,6RAAiK,KAC/J,qHAAG,KAAC,+OAA4F,YAA7B;;wBAA0B;MAAzF,wBAA4F,KAIpG,8IAAuB,KACrB,yHAAO,yFAAY,MAAQ,wHAAM,gFAAsB,MAAO,uHAAM,KACpE,0HAAO,yFAAY,MAAQ,yHAAM,iFAAqB,MAAO,uHAAM,KACnE,0HAAO,yFAAY,MAAQ,yHAAM,iFAAkB,MAAO,uHAAM,KAChE,0HAAO,0FAAa,MAAQ,yHAAM,iFAA6B,MAAO,uHAAM,IAE9E,0DAAY,uDALuB,8DAAsB,GACtB,+DAAqB,GACrB,4DAAkB,GACjB,uEAA6B;8GAa7D,wKAAmF,gGAAmB;8GACtG,wKAAqH,iGAAoB;8GAO3I,wHAAyB,KACvB,mKAA6C,KAC3C,qKAAyC,wFAEzC,MACA,4IAAsB,KACpB,qHAAG,gFAAuB,MAI9B,mKAA6C,KAC3C,qKAAyC,6FAEzC,MACA,6IAAsB,KACpB,sHAAG,iFAA2B,MAIlC,oKAA6C,KAC3C,sKAAyC,sFAEzC,MACA,6IAAsB,KACpB,sHAAG,8FAAiB,yDAlBjB,gEAAuB,GASvB,qEAA2B;8GAoB5B,sJAAkE,+LAAmB;8GACrF,sJAAkE,+FAAkB;8GAO9E,qzBAAwF,iFAExF,2BAF4C,mHAAuB,GAAnE,YAAwF,EAA5C,+HAAuB,GAAnE,YAAwF,EAA5C,SAAuB,2BAAqB,sEAExF;8GAJF;;;;;wBAAsW;MAA9N;;wBAAsC;MAAwI;;wBAA+C;MAArW,g1DAAsW,IACpW,4yBAAkB,IAClB,2dAAwF,iDAFgK,gGAA2D,GAArT,YAAsW,EAA5G,UAA2D,GAAjN,mBAAmC,4CAAC,+BAAsC,6CAA9K,YAAsW,EAAlQ,UAAmC,EAAC,UAAsC,GACpK,oBAAS,EAAjB,YAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,mBAAmC,uCAA3C,aAAwF,EAAhF,UAAmC,2BAFE,yIAA2B,GAAC,wIAAwB,GAAnG,muBAAsW,EAAvT,SAA2B,EAAC,SAAwB,EAAnG,sFAAsW;8GADxW,+JAAoK,KAClK,iZAAsW,yBAAvL,kIAA0E,IAAzP,YAAsW,EAAvL,SAA0E,2BADtP,kIAA4B,GAAjC,YAAoK,EAA/J,SAA4B;8GAUjC,gKAA6F,KAC3F;;;;;wBAO8D;MALxC;;wBAA2B;MAE3B;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAP7D,usFAO8D,iDAPxC,mBAAmB,gCAGnB,oBAA4B,kBAHlD,YAO8D,EAPxC,UAAmB,EAGnB,UAA4B,GAHiB,yFAA2D,GAA9H,YAO8D,EAPK,UAA2D,GAAC,mBAAmC,qCAE5I,oBAA2B,gBAFjD,YAO8D,EAPiE,UAAmC,EAE5I,UAA2B,2BAH9C,kIAA4B,GAAjC,YAA6F,EAAxF,SAA4B,GACW,iIAAwB,GAAlE,80BAO8D,EAPpB,SAAwB,EAAlE,kGAO8D;8GAO5D,q0BAAkL,iFAElL,2BAFoI,uHAAyB,GAA7J,YAAkL,EAA9C,mIAAyB,GAA7J,YAAkL,EAA9C,SAAyB,mDAArJ,0IAAuF,GAA/F,YAAkL,EAA1K,SAAuF,GAAmF,sEAElL;8GAJF;;;;;wBAAqc;MAA7T;;wBAAsC;MAAqL;;;wBAAiG;MAApc,g1DAAqc,IAEnc,0dAAkL,iDAFmH,gGAA2D,GAAlW,YAAqc,EAA9J,UAA2D,GAA9P,mBAAmC,4CAAC,+BAAsC,6CAA9K,YAAqc,EAAjW,UAAmC,EAAC,UAAsC,GAE5E,mBAAmC,uCAAnI,YAAkL,EAAlF,UAAmC,2BAFtF,yIAA2B,GAAC,wIAAwB,GAAnG,muBAAqc,EAAtZ,SAA2B,EAAC,SAAwB,EAAnG,sFAAqc;8GASnc,q0BAAoL,iFAEpL,2BAFsI,uHAAyB,GAA/J,YAAoL,EAA9C,mIAAyB,GAA/J,YAAoL,EAA9C,SAAyB,mDAAvJ,0IAAyF,GAAjG,YAAoL,EAA5K,SAAyF,GAAmF,sEAEpL;8GAJF;;;;;wBAA6Y;MAArQ;;wBAAsC;MAAiL;;wBAA6C;MAA5Y,g1DAA6Y,IAE3Y,0dAAoL,iDAF6G,gGAA2D,GAA9V,YAA6Y,EAA1G,UAA2D,GAA1P,mBAAmC,4CAAC,+BAAsC,6CAA9K,YAA6Y,EAAzS,UAAmC,EAAC,UAAsC,GAE1E,mBAAmC,uCAArI,YAAoL,EAAlF,UAAmC,2BAFxF,yIAA2B,GAAC,wIAAwB,GAAnG,muBAA6Y,EAA9V,SAA2B,EAAC,SAAwB,EAAnG,sFAA6Y;8GAR/Y,+JAA2M,KACzM,iZAAqc,IAOrc,iZAA6Y,yBAP9N,mMAAuH,KAAtS,YAAqc,EAAtR,SAAuH,GAOvH,kMAAmH,KAAlS,YAA6Y,EAA9N,SAAmH,2BAR/R,kIAA4B,GAAjC,YAA2M,EAAtM,SAA4B;8GAoBjC;;;;;;;;;;;wBAAgY;MAApV;;wBAAsC;MAAmQ;;wBAAwC;MAA7X,i5DAAgY,iDAAvG,yFAA2D,GAApV,YAAgY,EAAvG,UAA2D,GAAjQ,mBAAmC,qCAA1E,+BAAsC,sCAAlF,YAAgY,EAA7S,UAAmC,EAA1E,UAAsC,mDAA3E,8IAAoC,GAA+H,uIAAuC,GAAjN,muBAAgY,EAAzX,SAAoC,EAA+H,SAAuC,EAAjN,sFAAgY;8GAEhY;;;;;;;;;;;wBAAqoB;MAAzlB;;wBAAsC;MAAwgB;;wBAAwC;MAAloB,8oEAAqoB,iDAAzU,yFAA2D,GAAvX,YAAqoB,EAAzU,UAA2D,GAAC,2PAAiO,EAAzlB,YAAqoB,EAA7Q,UAAiO,GAAtgB,mBAAmC,qCAA1E,+BAAsC,sCAAlF,YAAqoB,EAAljB,UAAmC,EAA1E,UAAsC,mDAA3E,8IAAoC,GAA+H,uIAAuC,GAAjN,u4BAAO,SAAoC,EAA+H,SAAuC,EAAjN,kGAAqoB;8GAGroB;;;;;;;;;;;wBAA0X;MAA5R;;wBAAsC;MAA0M;;wBAAyC;MAAvX,i5DAA0X,iDAA7I,wFAA2D,GAAxS,YAA0X,EAA7I,SAA2D,GAA9O,mBAAmC,qCAAC,+BAAsC,sCAApI,YAA0X,EAAhU,UAAmC,EAAC,UAAsC,mDAAqK,8IAAoC,GAA7U,muBAA0X,EAAjF,SAAoC,EAA7U,sFAA0X;8GAvDlY,wHAAkC,KAChC,0MAA6E,KAC3E,2LAA+D,KAC7D,iZAAkE,IAClE,iZAAkE,IAEpE,6IAAsB,KACpB,sKAA0C,KACxC,kZAAoK,IAUpK,kZAA6F,IAY7F,kZAA2M,IAmB7M,kKAAqC,KACnC,kZAAgY,IAEhY,kZAAqoB,IAEvoB,gKAAoD,KAClD,kZAA0X,yBApDrX,2DAAiC,GAAxC,YAAkE,EAA3D,SAAiC,GACjC,2DAAiC,GAAxC,YAAkE,EAA3D,SAAiC,GAIe,2KAA8G,IAAnK,aAAoK,EAA/G,SAA8G,GAU9G,+DAAuC,GAA5F,aAA6F,EAAxC,SAAuC,GAYvC,qOAAqJ,IAA1M,aAA2M,EAAtJ,SAAqJ,GAoBQ,6GAAsE,IAAxR,aAAgY,EAA9K,SAAsE,GAEtE,iKAAyG,IAA3T,aAAqoB,EAAnb,SAAyG,GAGtL,gKAAuG,IAA5O,aAA0X,EAArP,SAAuG,2BADzO,0HAA2B,GAAhC,aAAoD,EAA/C,SAA2B;8GAvF1C,0LAA0F,KACxF,iZAAyB,IA8BzB;;;;;;kzBAA4B,IAE1B,0dAAkC,IA8DlC,0LAA6D,KAC3D,6IAAsB,KAEtB,6IAAsB,KACpB,uKAA0C,KACxC,uPAAqG,YAA/B;;wBAA8B;MAApG,wBAAqG,mFAAM,MAE7G,6KAAgD,KAC9C,wQAAqH,YAApD;;wBAAuB;MAAxF,wBAAqH,iFAAI,mDAtG5H,kCAAmB,GAAxB,YAAyB,EAApB,SAAmB,GA8BlB,mBAAqB,UAA3B,YAA4B,EAAtB,SAAqB,GAEpB,mBAA4B,SAAjC,YAAkC,EAA7B,SAA4B,mDAFnC,8sBAA4B,GAwEqE,qBAA2B,gBAApH,aAAqH,EAA5B,UAA2B;8GA0BpH,oLAA2F,KACzF,4LAAgE,KAC9D,qJAA+B,gFAAwB,MACvD,kJAA4B,gFAAsB,MAGpD,6KAAgD,KAC9C;;;;;wBAAyO;MAAvE;;wBAAoC;MAAC;;wBAAiC;MAAxO,6uDAAyO,IACvO,m0BAA8B,gFAAI,MAClC,qzBAAyB,oFAAQ,MACjC,gzBAAoB,+EAAG,MACvB,qzBAAyB,oFAAQ,MAGrC,6KAAgD,KAC9C;;;;;;;;;;;wBAA+U;MAAnO;;wBAA0C;MAAiJ;;wBAAqC;MAA5U,i0DAA+U,yBARtL,mBAAQ,EAAjK,YAAyO,EAAhF,UAAQ,GAApI,sIAAoC,GAAiG,mBAAoC,sCAAtM,aAAyO,EAA5M,UAAoC,EAAiG,UAAoC,GAC5L,uBAAY,EAApB,aAA8B,EAAtB,oCAAY,EAApB,aAA8B,EAAtB,UAAY,GACZ,2BAAgB,EAAxB,aAAyB,EAAjB,wCAAgB,EAAxB,aAAyB,EAAjB,UAAgB,GAChB,sBAAW,EAAnB,aAAoB,EAAZ,mCAAW,EAAnB,aAAoB,EAAZ,UAAW,GACX,2BAAgB,EAAxB,aAAyB,EAAjB,wCAAgB,EAAxB,aAAyB,EAAjB,UAAgB,GAIwK,8IAAoG,GAAtS,aAA+U,EAA7I,UAAoG,GAA9P,oIAAkC,GAAkC,mBAA0C,4CAAtJ,aAA+U,EAAvS,UAAkC,EAAkC,UAA0C,2BAbvH,6EAAwB,GAC3B,2EAAsB,GAIgB,qIAAkC,GAAC,gIAAgC,GAArI,4uBAAyO,EAAvK,SAAkC,EAAC,SAAgC,EAArI,wFAAyO,GAQ9J,oIAAgC,GAA3G,ovBAA+U,EAApQ,UAAgC,EAA3G,8FAA+U;8GAc/U,4KAAkF,KAChF,uQAA2H,YAA1D;;wBAA2B;MAA5F,wBAA2H,iFAAI,yDAAlC,mBAA6B,mBAA1H,YAA2H,EAA9B,SAA6B;8GAjD1I,kLAA+E,KAC7E,mKAA6C,KAC3C,wHAAM,0FAAiC,MAIzC,mKAA6C,KAC3C,wHAAM,gGAA2C,MAInD,mKAA6C,KAC3C,wHAAM,yFAA+B,MAGvC;;;;;;2yBAAkC,IAChC,4LAA8D,KAC5D,mLAAqD,KACnD,iLAAoD,KAClD,2dAA2F,IAqB7F,iLAAoD,KAClD,0LAA6D,KAC3D,6IAAsB,KAEtB,6IAAsB,KACpB,uKAA0C,KACxC,uPAA6F,YAAvB;;wBAAsB;MAA5F,wBAA6F,mFAAM,MAErG,kZAAkF,iDA7B/B,oBAAmC,iBAA1F,aAA2F,EAApC,UAAmC,GA6BtC,+CAAiC,GAAjF,aAAkF,EAAlC,UAAiC,mDA9CrF,gEAAiC,GAKjC,oEAA2C,GAK3C,8DAA+B,GAGvC,stBAAkC;8GAzItC,4NAAyJ,YAA7I;;wBAAqC;MAAjD,6dAAyJ,MACvJ,uOAA8G,KAC9G,4KAAmD,KACjD,kOAAsG,KAEpG,iZAAmF,IACnF,iZAAqH,IACrH,8PAA+G,YAAjC;;wBAA8B;MAA5G,wBAA+G,KAInH,2IAAuB,KACvB,+YAA0F,IA8G1F,+YAA+E,iDA1HqD,qBAAkB,EAA5I,mBAAqC,0BAA8D,qBAAsB,EAArI,YAAyJ,EAAnB,SAAkB,EAA5I,SAAqC,EAA8D,SAAsB,GAKnF,mDAAsC,GAAlF,YAAmF,EAAvC,SAAsC,GACtC,oGAAwE,IAApH,YAAqH,EAAzE,SAAwE,GAM3D,mBAA4B,uBAAzF,aAA0F,EAA7B,SAA4B,GA8GpC,mBAAyB,oBAA9E,aAA+E,EAA1B,SAAyB;8GAgEhF,sNAA6F,YAAjF;;wBAA+B;MAA3C,+ZAA6F,MAC3F,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,oNAAwF,qFAAQ,MAAM,sHAAM,KAC5G,wLAA4D,uGAA0B,MAExF,wLAA2D,KACzD,uKAA0C,KAE1C,sKAAyC,KACvC,qKAAwC,KACtC,yRACoC,YAA5B;;wBAA2B;MADnC,wBACoC,mFAEpC,MAEF,qKAAwC,KACtC,mXAEqC,YAArC;;wBAAoC;MAFpC,wBAEqC,mFAAM,mDApBzC,mBAA+B,oBAA3C,YAA6F,EAAjF,SAA+B;8GA2BzC,0NAAyG,YAA7F;;wBAAmC;MAA/C,+ZAAyG,MACvG,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,2HAAM,KACpF,sKAA0C,KACxC,sLAA0D,+FAAkB,MAC5E,yLAA4D,6GAAgC,MAE9F,sKAAyC,KACvC,sKAAyC,KACvC,6QAAqK,YAAzE;;;wBAAwE;MAApK,wBAAqK,iFAErK,MAEA,oRAA4I,YAAzC;;wBAAwC;MAA3I,wBAA4I,qFAE5I,mDAfI,mBAAmC,wBAA/C,YAAyG,EAA7F,SAAmC;8GAsB/C,kNAAsI,YAA1H;;wBAAgC;MAA5C,6dAAsI,MACpI,8LAAsH,YAA7C;;wBAA4C;MAArH,69CAAsH,mDAD5B,qBAAkB,EAAlG,mBAAgC,qBAAmE,qBAAsB,EAArI,YAAsI,EAA1C,SAAkB,EAAlG,SAAgC,EAAmE,SAAsB,GACtG,mBAAwB,aAAxC,iBAAe,EAA0B,yBAAkB,EAAxE,YAAsH,EAAzF,SAAwB,EAAxC,SAAe,EAA0B,SAAkB;8GAIxE,mMAA4I,YAAtC;;wBAAqC;MAA3I,49BAA4I,mDAAvF,mBAA6B,aAAC,yBAAkB,EAArG,YAA4I,EAAvF,SAA6B,EAAC,SAAkB;8GACrG,oMAAyI,YAA3C;;wBAA0C;MAAxI,yrBAAyI,mDAA5F,mBAA6B,aAAC,yBAAkB,EAA7F,YAAyI,EAA5F,SAA6B,EAAC,SAAkB;8GAF/F,kNAAoP,YAAxO;;wBAAgC;MAAoG;;wBAA2C;MAA3L,6dAAoP,MAClP,8YAA4I,IAC5I,8YAAyI,iDAF/C,6DAAmD,GAAnI,mBAAgC,qBAAgJ,6DAAuD,GAAnP,YAAoP,EAAxJ,SAAmD,EAAnI,SAAgC,EAAgJ,SAAuD,GAC3N,4CAA8B,GAApD,YAA4I,EAAtH,SAA8B,GAC9B,qCAAsB,GAA5C,YAAyI,EAAnH,SAAsB;8GAI9C,mNAA8F,YAAlF;;wBAAuB;MAAnC,0bAA8F,MAC5F,4LAA2G,YAA9C;;wBAA6C;MAA1G,41BAA2G,mDADlC,qBAAkB,EAAjF,mBAAuB,YAAnC,YAA8F,EAAnB,SAAkB,EAAjF,SAAuB,GACf,mBAAoB,aAAC,mBAAqB,MAA5D,YAA2G,EAAzF,SAAoB,EAAC,SAAqB;8GAOxD,yPAA4H,YAAnD;;wBAAyB;MAAlG,wBAA4H;8GAC5H,2PAA8H,YAAnD;;wBAA0B;MAArG,wBAA8H;8GAJpI,oNAAyK,YAA7J;;wBAA6B;MAA8C;;wBAAoD;MAA3I,0cAAyK,MACvK,mPAA0H,KACxH,4MAAgF,KAC9E,iZAA4H,IAC5H,iZAA8H,IAEhI,wLAA4D,8HAAO,4FAAe,MAIpF,8LAAoE,KAElE,85CAIiC,iDAhBzB,mBAA6B,kBAAmG,uBAA4B,EAAxK,YAAyK,EAA7J,SAA6B,EAAmG,SAA4B,GAG/D,oBAAsB,gBAAzH,YAA4H,EAAzB,SAAsB,GACnB,mBAAqB,gBAA3H,YAA8H,EAAxB,SAAqB,GAU9G,mBAAe,QACf,mBAAW,MACX,qBAAiB,EAHjB,mBAAuB,EADtC,aAIiC,EAFlB,SAAe,EACf,SAAW,EACX,SAAiB,EAHjB,SAAuB;0mBAxY5C,gZAAyF,IA8GzF,iZAAmE,IAmBnE,kZAAyJ,IA0LzJ,kZAA6F,IA2B3F,kZAAyG,IAsBzG,kZAAsI,IAItI,kZAAoP,IAMpP,kZAA8F,IAK9F,kZAAyK,iDA3XtH,gDAAmC,GAAxF,YAAyF,EAApC,SAAmC,GA8GnF,mBAAgB,WAArB,YAAmE,EAA9D,SAAgB,GAmB6B,mBAA+B,0BAAjF,aAAyJ,EAAvG,SAA+B,GA0Ld,mBAAyB,oBAA5F,aAA6F,EAA1B,SAAyB,GA2Bf,mBAA6B,wBAAxG,aAAyG,EAA9B,SAA6B,GAsB3D,mBAA0B,qBAAvE,aAAsI,EAAzF,SAA0B,GAI1B,mBAA0B,qBAAvE,aAAoP,EAAvM,SAA0B,GAMnC,mBAAiB,YAArD,aAA8F,EAA1D,SAAiB,GAKX,mBAAuB,kBAAjE,aAAyK,EAA/H,SAAuB;;;;;;;;;;;;;;;;AC3XnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACyD;AACxB;AACpB;AAEb;AACsB;AACb;AACN;AAEgH;AACpG;AACW;AAEF;AAC2B;AAErD;AAGzC;IAgGE,iCAAoB,eAAgC,EAAS,oBAA0C,EAAU,MAAqB,EAAS,MAAc;QAAzI,oBAAe,GAAf,eAAe,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAAQ;QA1F7J,gBAAW,GAAgB,IAAI,+DAAW,EAAE,CAAC;QAC7C,mBAAc,GAAoB,IAAI,sEAAe,EAAE,CAAC;QAIxD,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,qEAAQ,EAAE,CAAC;QAEnC,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,4BAAuB,GAAY,KAAK,CAAC;QAGzC,cAAS,GAAY,KAAK,CAAC;QAE3B,uBAAkB,GAAY,KAAK,CAAC;QACpC,yBAAoB,GAAY,IAAI,CAAC;QACrC,qBAAgB,GAAW,CAAC,CAAC;QAC7B,uBAAkB,GAAY,KAAK,CAAC;QACpC,QAAG,GAAW,SAAS,CAAC;QACxB,cAAS,GAAiB,EAAE,CAAC;QAC7B,YAAO,GAAY,KAAK,CAAC;QAEzB,UAAK,GAAG,CAAC,CAAC;QAIV,oBAAe,GAAG,KAAK,CAAC;QACxB,mBAAc,GAAY,KAAK,CAAC;QAChC,uBAAkB,GAAY,KAAK,CAAC;QACpC,yBAAoB,GAAY,IAAI,CAAC;QACrC,sBAAiB,GAAY,KAAK,CAAC;QACnC,uBAAkB,GAAmB,EAAE,CAAC;QAKxC,sBAAiB,GAAoB,EAAE,CAAC;QACxC,YAAO,GAAG,IAAI,wDAAS,CAAC,EAAE,CAAC,CAAC;QAI5B,qBAAgB,GAAY,KAAK,CAAC;QAClC,sBAAiB,GAAY,KAAK,CAAC;QAInC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,iBAAY,GAAe,EAAE,CAAC;QAE9B,kBAAa,GAAW,CAAC,CAAC;QAC1B,sBAAiB,GAAW,iBAAiB,CAAC;QAC9C,uBAAkB,GAAW,CAAC,CAAC,CAAC;QAChC,wBAAmB,GAAW,CAAC,CAAC;QAChC,oBAAe,GAA2B,EAAE,CAAC;QAC7C,sBAAiB,GAAoB,EAAE,CAAC;QACxC,8BAAyB,GAAoB,EAAE,CAAC;QAChD,iCAA4B,GAAoB,EAAE,CAAC;QAEnD,oBAAe,GAAY,KAAK,CAAC;QAEjC,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAK3B,aAAQ,GAAY,KAAK,CAAC;QAC1B,oBAAe,GAAW,EAAE,CAAC;QACtB,cAAS,GAAU,IAAI,mDAAK,EAAE,CAAC;QACtC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,yBAAoB,GAAW,EAAE,CAAC;QAClC,mBAAc,GAA6B,EAAE,CAAC;QAC9C,sBAAiB,GAA6B,EAAE,CAAC;QAC1C,aAAQ,GAAG,KAAK,CAAC;QACjB,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAG9H,oBAAe,GAA+B,EAAE,CAAC;QAEjD,kBAAa,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QACrB,iBAAY,GAAG,EAAE,CAAC;QAClB,qBAAgB,GAAY,IAAI,CAAC;QAGjC,0BAAqB,GAAY,KAAK,CAAC;QACvC,wBAAmB,GAAY,KAAK,CAAC;QAE9B,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAY,IAAI,CAAC;QACpC,kBAAa,GAAY,KAAK,CAAC;QAE7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,sCAAI,GAAJ,UAAK,GAAG;QACN,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;IAEH,CAAC;IAED,iDAAe,GAAf,UAAgB,EAAE,EAAE,IAAI;QAAxB,iBAwDC;QAvDC,IAAI,IAAI,IAAI,YAAY,EAAE;YACxB,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG;gBACtD,OAAO,GAAG,CAAC,SAAS,IAAI,YAAY,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC;gBAC9B,IAAI,EAAE,IAAI,EAAE,EAAE;oBACb,+CAA+C;oBAC9C,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACxB,IAAI,UAAU,GAAG,EAAE,CAAC;oBACpB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,sBAAsB;oBACtB,6DAA6D;oBAC7D,KAAK;oBACL,GAAG,CAAC,OAAO,CAAC,aAAG;wBACb,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,EAAX,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,EAAX,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC1H,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,EAAX,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC3D,CAAC,CAAC,CAAC;oBAEH,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC7B;qBAAM;oBACL,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;iBACzB;aACF;SACF;aAAM;YACL,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG;gBACtD,OAAO,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC;gBAC9B,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvB,IAAI,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI;wBACvC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;4BAAE,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;yBAAE;6BAC3D;4BAAE,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;yBAAE;oBAEhC,CAAC,CAAC;oBACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;wBACzB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBAC/B;yBAAM;wBACL,OAAO,EAAE,CAAC;qBACX;iBACF;qBACI;oBACH,OAAO,EAAE,CAAC;iBACX;aACF;iBACI;gBACH,OAAO,EAAE,CAAC;aACX;SACF;IAIH,CAAC;IACD,0CAAQ,GAAR;QAEE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,QAAQ,IAAI,mBAAmB,EAAE;YACxC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aACI;YACH,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAChF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,0BAA0B,EAAE,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,EAAE;SACnB,CAAC;IACJ,CAAC;IACD,4DAA0B,GAA1B;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4GAA4G,CAAC,CAAC;QACpK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,wCAAM,GAAN,UAAO,UAAU,EAAE,IAAI;QACrB,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACvE,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,IAAI,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE;gBACf,oCAAoC;gBACpC,+BAA+B;gBAC/B,2BAA2B;gBAC3B,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1B;iBACI;gBACH,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;gBACxE,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;gBACtE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;aAC3B;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IACD,0CAAQ,GAAR,UAAS,UAAU,EAAE,IAAI,EAAE,KAAK;QAE9B,4BAA4B;QAC5B,4BAA4B;QAC5B,qDAAqD;QACrD,6DAA6D;QAE7D,gCAAgC;IAGlC,CAAC;IACD,4CAAU,GAAV,UAAW,MAAM;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,+BAA+B;QAC/B,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;IACpF,CAAC;IACD,2CAAS,GAAT,UAAU,MAAM;QACd,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,gCAAgC;QAChC,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACvD,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;IACnF,CAAC;IACD,0CAAQ,GAAR,UAAS,kBAAkB,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO;QAE9E,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;QAC3C,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;QAEhD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;QACpD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS,EAAE;YACxC,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,IAAI;gBAC1D,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IAEvB,CAAC;IACD,+CAAa,GAAb;QACE,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;QACnH,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;QAC/G,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;QACnH,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;QAC/G,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;QACnH,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;QAC/G,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;QACnH,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;IACjH,CAAC;IACD,yCAAO,GAAP,UAAQ,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU;QAEjH,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,OAAO,IAAI,EAAE,EAAE;oBACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvF;qBACI;oBACH,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvG;aACF;SACF;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QAGD,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEzC,CAAC;IAED,kDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,KAAK,IAAI,uBAAuB,IAAI,KAAK,IAAI,yBAAyB,EAAE;YAC1E,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBAAM,IAAI,KAAK,CAAC,OAAO,IAAI,aAAa,EAAE;gBACzC,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;iBACI,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAClC;iBACI,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;gBACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;SACF;IAEH,CAAC;IACD,6CAAW,GAAX;QACE,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBACzD,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAE/C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEV,CAAC;IACD,kDAAgB,GAAhB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;IAExB,CAAC;IAED,gDAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;QACpO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,4CAAU,GAAV;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YAEL,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;wBACjD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;4BAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;4BACnI,OAAO;yBACR;qBACF;iBAEF;aACF;YAGD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,qBAAqB;SAGtB;IAEH,CAAC;IAGD,uDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAGD,4DAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IAED,wDAAsB,GAAtB,UAAuB,gBAAgB,EAAE,cAAc;QAAvD,iBA0CC;QAxCC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,cAAc,IAAI,SAAS,EAAE;YAC/B,QAAQ,GAAG,gBAAgB,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACvD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC1F,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;qBAC9B;oBACD,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAChT,gCAAgC;gBAChC,IAAI,KAAI,CAAC,OAAO,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE;oBAC9C,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;iBAE5C;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAChE,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC5B,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACvD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAC1F,IAAI,MAAM,IAAI,IAAI,EAAE;4BAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;yBAC9B;wBACD,KAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;oBAChT,gCAAgC;oBAChC,IAAI,KAAI,CAAC,OAAO,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE;wBAC9C,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;qBAE5C;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IAGH,CAAC;IACD,2CAAS,GAAT;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uIAAuI,CAAC,CAAC;QACtK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,kDAAgB,GAAhB,UAAiB,WAAW;QAA5B,iBA0CC;QAzCC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YAEL,IAAI,WAAW,IAAI,aAAa,EAAE;gBAChC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAS;oBAC5F,KAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBAC7C,IAAI,SAAS,IAAI,MAAM,EAAE;wBACvB,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;wBAChC,KAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;wBAChD,KAAI,CAAC,SAAS,EAAE,CAAC;qBAClB;yBAAM;wBACL,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,KAAI,CAAC,MAAM,GAAG,WAAW,CAAC;wBAC1B,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;wBAC/B,KAAI,CAAC,qBAAqB,EAAE,CAAC;qBAC9B;gBAEH,CAAC,CAAC,CAAC;aAEJ;iBACI,IAAI,WAAW,IAAI,MAAM,EAAE;gBAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;iBACI;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,uBAAuB;gBACvB,iEAAiE;gBACjE,GAAG;aAEJ;SACF;IAEH,CAAC;IAED,uDAAqB,GAArB;QACE,UAAU,CAAC;YAET,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,8CAAY,GAAZ;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+JAA+J,CAAC,CAAC;QAC9L,CAAC,EAAE,CAAC,CAAC;IAEP,CAAC;IAED,kDAAgB,GAAhB;QAAA,iBAwEC;QAvEC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpE,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,aAAG;gBAChB,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,IAAI,GAAG,CAAC,QAAQ,IAAI,eAAe,EAAE;oBAClE,IAAI,GAAG,CAAC,SAAS,IAAI,iBAAiB,IAAI,GAAG,CAAC,SAAS,IAAI,UAAU,IAAI,GAAG,CAAC,SAAS,IAAI,UAAU,IAAI,GAAG,CAAC,SAAS,IAAI,YAAY,EAAE;wBACrI,KAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;4BACvF,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;4BACpB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC5B,CAAC,CAAC,CAAC;qBACJ;yBAEI,IAAI,GAAG,CAAC,SAAS,IAAI,eAAe,EAAE;wBACzC,KAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4BACnH,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;4BAC1B,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;gCACvC,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,EAAE,EAAf,CAAe,CAAC,CAAC;6BACxD;iCAAM;gCAAE,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;6BAAE;4BACrC,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;gCACvC,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAG;oCACpE,IAAI,GAAG,EAAE;wCAEP,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG;4CACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;gDACpK,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;6CAC3B;wCACH,CAAC,CAAC,CAAC;qCACJ;yCAAM;wCACL,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;qCAC3B;gCAGH,CAAC,CAAC,CAAC;6BACJ;wBACH,CAAC,CAAC,CAAC;qBAGJ;yBACI;wBACH,KAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4BACnH,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;wBAE5B,CAAC,CAAC,CAAC;qBACJ;iBAGF;YAGH,CAAC,CAAC,CAAC;YAEH,IAAI,EAAE,GAAG,KAAI,CAAC;YACd,UAAU,CAAC;gBACT,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;gBACnB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;oBACjB,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE1D,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC;oBACT,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE;wBAC1C,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;qBAE5C;gBACH,CAAC,EAAE,GAAG,CAAC;YAGT,CAAC,EAAE,GAAG,CAAC;QAIT,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAkB,GAAlB,UAAmB,KAAK,EAAE,IAAI;QAE5B,IAAI,sBAAsB,GAAG,EAAE,CAAC;QAChC,IAAI,KAAK,IAAI,WAAW,EAAE;YAExB,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;YACxE,OAAO,sBAAsB,CAAC;SAC/B;aAAM,IAAI,KAAK,IAAI,WAAW,EAAE;YAC/B,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAApC,CAAoC,CAAC,CAAC;YACnF,OAAO,sBAAsB,CAAC;SAC/B;IACH,CAAC;IAID,kDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YAChE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YACtE,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YACxE,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC9E,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1E,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YACpE,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE;YAChF,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YACpF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YAClF,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YACpF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YAClF,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YAChF,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5E,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1E,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1E,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC1E,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YACpF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YAClF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE;YAChF,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YACpF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YAClF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE;YAChF,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE;YAChF,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YAC9D,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YAC9D,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAClE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;SAmBrD,CAAC;IACJ,CAAC;IAGD,kDAAgB,GAAhB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAE7B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAExC,kDAAkD;QAClD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7E,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5C,UAAU;QACV,gFAAgF;QAChF,mCAAmC;QACnC,0CAA0C;QAC1C,OAAO;QACP,GAAG;QACH,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAGH,CAAC;IACD,wDAAsB,GAAtB,UAAuB,SAAc;QAArC,iBAYC;QAXC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC/D,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YAClD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YACpD,KAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAEpE,KAAI,CAAC,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,KAAI,CAAC,OAAO,CAAC,aAAa,EAA7C,CAA6C,CAAC,CAAC;gBACtG,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC;YACnE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBAClD,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,IAAI;oBAC1D,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBACnC,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,qEAAQ,EAAE;SAC9B;IACH,CAAC;IACD,6CAAW,GAAX,UAAY,GAAG,EAAE,OAAO;IAExB,CAAC;IACD,+CAAa,GAAb,UAAc,GAAG;QACf,IAAI,GAAG,IAAI,EAAE,EAAE;YACb,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE;gBACjH,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC;aAClC;iBAAM;gBACL,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBACnE,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,OAAO,CAAC,aAAa,GAAG,SAAO,CAAC,eAAe,CAAC;gBAC1D,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAET;SAAC;aACC;YACH,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC;SACnD;IAGH,CAAC;IAED,iDAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,+CAAa,GAAb,UAAc,KAAK;QACjB,2BAA2B;IAC7B,CAAC;IACD,6CAAW,GAAX,UAAY,KAAK;QACf,2BAA2B;IAC7B,CAAC;IACD,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;SAE3B;QACD,2BAA2B;IAC7B,CAAC;IACD,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,6CAAW,GAAX;QACE,wBAAwB;QACxB,uDAAuD;QACvD,0EAA0E;QAC1E,2CAA2C;QAC3C,OAAO;QACP,gFAAgF;QAChF,OAAO;IACT,CAAC;IACD,6CAAW,GAAX;QACE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;YACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,0DAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;SACjC;aAAM;YACL,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;YACpF,iGAAiG;YACjG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,iEAAiE;YACjE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;SAC5B;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;IAE1E,CAAC;IACD,iDAAe,GAAf,cAAoB,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAC;IACrC,0CAAQ,GAAR;QAAA,iBAcC;;QAZC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,OAAC,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAC;QAE/D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC7D,KAAI,CAAC,uBAAuB,CAAC,KAAI,CAAC,gBAAgB,EAAE,KAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACvF,KAAI,CAAC,OAAO,GAAG,IAAI,qEAAQ,EAAE,CAAC;YAC9B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACrF,KAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;YAC1C,KAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAuB,GAAvB,UAAwB,SAAS,EAAE,gBAAgB;QAAnD,iBAiCC;QA/BC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAG;YAChE,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,KAAI,CAAC,SAAS,GAAG,CAAC,EAAE;gBAEtD,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,KAAI,CAAC,SAAS,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE/E,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBAClD,KAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACvF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACtD,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,IAAI;wBAC1D,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBACtD,KAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aACtD;iBAAM;gBACL,KAAI,CAAC,OAAO,GAAG,IAAI,qEAAQ,EAAE,CAAC;aAC/B;YAGD,IAAI,KAAI,CAAC,OAAO,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE;gBAC9C,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aAE5C;QAEH,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,iDAAe,GAAf;QAAA,iBAWC;QATC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAChG,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QAErC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpE,KAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC;YACxC,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,KAAI,CAAC,mBAAmB,EAA3C,CAA2C,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAQ,GAAR,UAAS,SAAS;QAAlB,iBAqBC;QAnBC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;YAAA,CAAC;SAEjD;QACD,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QACtG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;QAC5G,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1B,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACM,6CAAW,GAAlB,UAAmB,SAAS,EAAE,IAAI;QAAlC,iBAeC;QAbC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpF,KAAK,CAAC,OAAO,CAAC,cAAI;gBAChB,IAAI,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAiB,UAAa,EAAb,UAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA3B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7C;aACF;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uDAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SAEtO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;YAChB,gBAAgB,EAAE,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,uDAAqB,GAArB,UAAsB,GAAG,EAAc,aAA8B;QAA1C,qDAA0C;QACnE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,YAAY,YAAC,MAAM;oBAC1I,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;wBAC1D,IAAI,CAAC,SAAS,GAAG,2BAA2B,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;qBAC1E;yBAAM;wBACL,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;qBAC/B;oBAGD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,mCAAmC;oBACrC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YAChI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAChI;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK;gBAC9H,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACpD;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7H,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SAExH,CAAC;IAEJ,CAAC;IACD,8CAAY,GAAZ,UAAa,QAAQ;QACnB,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;SACF;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IAEH,CAAC;IAED,iDAAe,GAAf;QAAA,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnE,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAEjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAa,GAAb,UAAc,KAAK,EAAE,KAAK;QAA1B,iBAmBC;QAlBC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEhC,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC9E,MAAM,CAAC,OAAO,CAAC,WAAC;gBACd,CAAC,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC;gBAC7B,IAAI,CAAC,CAAC,uBAAuB,KAAK,qBAAqB,IAAI,CAAC,CAAC,uBAAuB,KAAK,IAAI,IAAI,CAAC,CAAC,uBAAuB,KAAK,IAAI,EAAE;oBACnI,CAAC,CAAC,uBAAuB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;iBAC9F;qBAAM;oBACL,CAAC,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACjC,CAAC,CAAC,iBAAiB,GAAG,MAAM,CAAC;oBAAC,IAAI,IAAI,GAAG,KAAI,CAAC;iBAE/C;YACH,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAI,CAAC,aAAa,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACrI,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,iDAAe,GAAf;QAAA,iBAUC;QATC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC9E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,2BAA2B,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACxG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC3C,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,KAAI,CAAC,0BAA0B,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;aACzH;YACD,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAU,GAAV;QACE,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,yBAAyB;IAC3B,CAAC;IAED,uDAAqB,GAArB;QAAA,iBA0BC;QAxBC,IAAI,CAAC,eAAe,GAAgB;YAClC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;SAC7M,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,aAAG;YACnD,KAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACnC,KAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,0DAAwB,GAAxB,UAAyB,gBAAwB;QAE/C,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,sBAAsB,GAAG;gBAC5B;oBACE,UAAU,EAAE,EAAE;oBACd,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B;iBACnF;gBACD,GAAG;gBACH,6FAA6F;gBAC7F,2CAA2C;gBAC3C,IAAI;gBACJ,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,GAAG;aAEvI,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAErD,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE;oBAC5B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAC/B,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,yBAAyB,EAAE,SAAS,EAAE,UAAU,MAAM;4BACnL,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gCACjD,IAAI,EAAE,GAAG,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;gCACvE,OAAO,EAAE,CAAC;6BACX;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gCAC5D,IAAI,EAAE,GAAG,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;gCACnE,OAAO,EAAE,CAAC;6BACX;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE;gCACxC,IAAI,EAAE,GAAG,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;gCACnE,OAAO,EAAE,CAAC;6BACX;wBACH,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACxB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gCAC5C,OAAO,CAAC,CAAC;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;aACF;SAGF;IACH,CAAC;IAGD,4DAA0B,GAA1B,UAA2B,KAAK;QAE9B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChB,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBACnD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;gBACvD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBACnC,iDAAiD;gBACjD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;gBAC5E,UAAU;gBACV,gCAAgC;gBAChC,GAAG;aAGJ;iBAAM;gBACL,IAAI,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC3F,IAAI,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBACxG,IAAI,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClF,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBAClC,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;gBAC/C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,gDAAgD;gBAChD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;gBAC5E,UAAU;gBACV,gCAAgC;gBAChC,GAAG;aACJ;SACF;IAEH,CAAC;IAED,iDAAe,GAAf;QAAA,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;YACnE,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,KAAI,CAAC,SAAS,EAA7B,CAA6B,CAAC,CAAC;QAExE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,gDAAc,GAAd,UAAe,KAAK;QAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/C,CAAC;IAED,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/C,CAAC;IAED,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,kDAAgB,GAAhB,UAAiB,IAAI;QAEnB,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE9E,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE;gBAC1I,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC5E,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE;gBAC1I,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;SACF;IAEH,CAAC;IACD,sDAAoB,GAApB,UAAqB,IAAI;QAEvB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE;YAC1I,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;IACH,CAAC;IACD,uDAAqB,GAArB;QAAA,iBAIC;QAHC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,KAAI,CAAC,mBAAmB,EAA3C,CAA2C,CAAC,CAAC;QACjH,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,oDAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;YACxG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;YAC1K,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;QACD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;QAC1C,yFAAyF;IAC3F,CAAC;IACD,iDAAe,GAAf;QAAA,iBAoBC;QAnBC,QAAQ,CAAC;QACT,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE;YACjC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpD;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE;YACxG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpE,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBAClD,sCAAsC;gBACtC,oCAAoC;gBACrC,+BAA+B;YAChC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,CAAC,0BAA0B,CAAC;SAClC;IAEH,CAAC;IACD,qDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAElC,CAAC;IACD,sDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,IAAI,GAAG,IAAI,aAAa,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,iCAAiC;YACjC,oCAAoC;SACrC;aACI,IAAI,GAAG,IAAI,aAAa,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,8CAA8C;SAE/C;aACI;YACH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,kCAAkC;YAClC,qCAAqC;YACrC,qDAAqD;YACrD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAClD;IAEH,CAAC;IACD,8CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,uBAAuB,IAAI,GAAG,IAAI,yBAAyB,EAAE;YACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM;YACL,+CAA+C;YAC/C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,oCAAoC;SACrC;IACH,CAAC;IAED,mDAAiB,GAAjB,UAAkB,GAAG;QACnB,IAAI,CAAC,YAAY,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,4DAA0B,GAA1B,UAA2B,GAAG;QAE5B,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;IACH,CAAC;IAED,2CAAS,GAAT,UAAU,GAAG;QAEX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,oDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,QAAQ;YACzB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;YACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;YACnN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACR;IAEH,CAAC;IAED,4DAA0B,GAA1B,UAA2B,KAAK,EAAE,KAAK;QAAvC,iBAgBC;QAfC,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC/D,IAAI,SAAS,GAAG,KAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAK,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC7G,IAAI,MAAM,IAAI,IAAI,EAAE;oBAClB,KAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;iBACjE;qBAAM;oBAAE,KAAI,CAAC,oBAAoB,GAAE,MAAM;iBAAE;YAC9C,CAAC,CAAC,CAAC;SAEJ;IACH,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mHCl2CS,oLAAmF,KACjF;;;;;;+xBAAgE,IAC9D,wKAA0C,KACxC,gLAAmD,KACjD,kMAAsE,KACpE,yHAAO,uFAAU,MAEnB,6IAAsB,KACpB,uKAA0C,KACxC;;;;;;;;;;;wBAAoI;MAAnE;;wBAAqC;MAAtG,+0DAAoI,IAK1I,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,0FAAa,MAEtB,6IAAsB,KACpB;;;;;;;;;;;wBAAqI;MAArE;;wBAAuC;MAAvG,83CAAqI,IAGzI,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAA6G;MAAjD;;wBAAqC;MAAjG,gzDAA6G,IAIjH,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,2FAAc,MAEvB,8IAAsB,KACpB;;;;;wBAAgI;MAA9E;;wBAAyC;MAA3F,8wDAAgI,IAC9H,+yBAAmB,8EAAE,MACrB,gzBAAoB,+EAAG,MAI7B,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,sFAAS,MAElB,8IAAsB,KACpB;;;;;wBAAsH;MAAzE;;wBAAoC;MAAjF,8wDAAsH,IAEpH,20BAAyC,4FAAgB,MACzD,szBAA0B,qFAAS,MACnC,qzBAAyB,oFAAQ,MACjC,ozBAAwB,mFAAO,MAC/B,szBAA0B,qFAAS,MACnC,mzBAAqB,gFAAI,MACzB,6zBAA8B,0FAAc,MAC5C,6zBAA8B,yFAAa,MAIjD,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,+FAAkB,MAE3B,+IAAsB,KACpB;;;;;wBAAsI;MAAjF;;wBAA4C;MAAjG,kxDAAsI,IACpI,kzBAAmB,8EAAE,MACrB,mzBAAoB,+EAAG,MAI7B,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,wFAAW,MAEpB,+IAAsB,KACpB;;;;;wBAA0H;MAA3E;;wBAAsC;MAArF,kxDAA0H,IACxH,20BAAsC,+FAAmB,MACzD,4zBAA6B,yFAAa,MAC1C,qzBAAsB,kFAAM,MAC5B,uzBAAwB,oFAAQ,MAItC,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,sFAAS,MAElB,8IAAsB,KACpB;;;;;;;;;;;wBAAqI;MAA3E;;wBAAoC;MAA9F,m1DAAqI,IAIzI,mLAAoD,KAClD,oMAAsE,KACpE,2HAAO,wFAAW,MAEpB,8IAAsB,KACpB;;;;;;;;;;;wBAAgJ;MAAjD;;wBAAuC;MAAtI,ozDAAgJ,IAGpJ,kLAAmD,KACjD,oMAAsE,KACpE,2HAAO,uFAAU,MAEnB,8IAAsB,KACpB;;;;;;;;;;;wBAAwI;MAA5E;;wBAAqC;MAAjG,m1DAAwI,IAK9I,uMAAyE,KACvE,wKAA0C,KACxC,wPAAkG,YAA5B;;wBAA2B;MAAjG,wBAAkG,mFAAM,MAE1G,8KAAgD,KAC9C,yQAAkJ,YAArC;;wBAAoC;MAAjJ,wBAAkJ,kFAAK,mDA3GvH,mBAAQ,EAApC,aAAoI,EAAxG,UAAQ,GAAY,4BAAgB,EAAuC,oBAA0B,gBAAhE,oBAAqC,0BAAtG,aAAoI,EAApF,UAAgB,EAAuC,UAA0B,EAAhE,UAAqC,GAU3D,8BAAkB,EAAyC,oBAA0B,gBAAlE,oBAAuC,4BAAvG,aAAqI,EAAxF,UAAkB,EAAyC,UAA0B,EAAlE,UAAuC,GAQL,mBAAQ,EAA1G,aAA6G,EAAX,UAAQ,GAA/D,4BAAgB,EAAC,oBAAqC,0BAAjG,aAA6G,EAAlE,UAAgB,EAAC,UAAqC,GASL,mBAAQ,EAApG,aAAgI,EAApC,UAAQ,GAAvE,gCAAoB,EAAoD,oBAA0B,gBAA7E,oBAAyC,8BAA3F,aAAgI,EAAnG,UAAoB,EAAoD,UAA0B,EAA7E,UAAyC,GACjF,qBAAU,EAAlB,aAAmB,EAAX,kCAAU,EAAlB,aAAmB,EAAX,UAAU,GACV,sBAAW,EAAnB,aAAoB,EAAZ,mCAAW,EAAnB,aAAoB,EAAZ,UAAW,GAS6D,mBAAQ,EAA1F,aAAsH,EAApC,UAAQ,GAA7D,2BAAe,EAA+C,oBAA0B,gBAAxE,oBAAoC,yBAAjF,aAAsH,EAAzF,UAAe,EAA+C,UAA0B,EAAxE,UAAoC,GAEvE,uBAAY,EAApB,aAAyC,EAAjC,oCAAY,EAApB,aAAyC,EAAjC,UAAY,GACZ,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,2BAAgB,EAAxB,aAAyB,EAAjB,wCAAgB,EAAxB,aAAyB,EAAjB,UAAgB,GAChB,0BAAe,EAAvB,aAAwB,EAAhB,uCAAe,EAAvB,aAAwB,EAAhB,UAAe,GACf,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,uBAAY,EAApB,cAAqB,EAAb,oCAAY,EAApB,cAAqB,EAAb,UAAY,GACZ,gCAAqB,EAA7B,cAA8B,EAAtB,6CAAqB,EAA7B,cAA8B,EAAtB,UAAqB,GACrB,gCAAqB,EAA7B,cAA8B,EAAtB,6CAAqB,EAA7B,cAA8B,EAAtB,UAAqB,GASmE,mBAAQ,EAA1G,cAAsI,EAApC,UAAQ,GAA7E,mCAAuB,EAAuD,oBAA0B,gBAAhF,oBAA4C,iCAAjG,cAAsI,EAAzG,UAAuB,EAAuD,UAA0B,EAAhF,UAA4C,GACvF,qBAAU,EAAlB,cAAmB,EAAX,kCAAU,EAAlB,cAAmB,EAAX,UAAU,GACV,sBAAW,EAAnB,cAAoB,EAAZ,mCAAW,EAAnB,cAAoB,EAAZ,UAAW,GASiE,oBAAQ,EAA9F,cAA0H,EAApC,WAAQ,GAAjE,8BAAiB,EAAiD,qBAA0B,gBAA1E,qBAAsC,2BAArF,cAA0H,EAA7F,WAAiB,EAAiD,WAA0B,EAA1E,WAAsC,GAC3E,qBAAS,EAAjB,cAAsC,EAA9B,mCAAS,EAAjB,cAAsC,EAA9B,WAAS,GACT,gCAAoB,EAA5B,cAA6B,EAArB,8CAAoB,EAA5B,cAA6B,EAArB,WAAoB,GACpB,yBAAa,EAArB,cAAsB,EAAd,uCAAa,EAArB,cAAsB,EAAd,WAAa,GACb,2BAAe,EAAvB,cAAwB,EAAhB,yCAAe,EAAvB,cAAwB,EAAhB,WAAe,GASsE,oBAAQ,EAAvG,cAAqI,EAAtC,WAAQ,GAA7D,4BAAe,EAA+C,qBAA0B,gBAAxE,qBAAoC,yBAA9F,cAAqI,EAA3F,WAAe,EAA+C,WAA0B,EAAxE,WAAoC,GASyC,oBAAQ,EAA/I,cAAgJ,EAAT,WAAQ,GAA3F,mCAAsB,EAAqB,qBAAuC,4BAAtI,cAAgJ,EAA5F,WAAsB,EAAqB,WAAuC,GAQpC,oBAAQ,EAA1G,cAAwI,EAAtC,WAAQ,GAA/D,6BAAgB,EAAgD,qBAA0B,gBAAzE,qBAAqC,0BAAjG,cAAwI,EAA7F,WAAgB,EAAgD,WAA0B,EAAzE,WAAqC,2BAzGzG,8sBAAgE,GAQtD,80BAAoI,GAUtI,ouBAAqI,GAQrI,o1BAA6G,GAS7G,o1BAAgI,GAWhI,o1BAAsH,GAkBtH,61BAAsI,GAWtI,62BAA0H,GAa1H,62BAAqI,GASrI,62BAAgJ,GAQhJ,62BAAwI,GAUzE,2EAA2C,cAA5G,cAAkJ,EAAjF,WAA2C;mHAtK1H,kLAA8E,KAC5E,0KAA8C,KAC5C,+KAAyD,4FAAe,MAG1E,8LAAiE,KAE/D,sKAAyC,KACvC,yKAA6C,KAC5C,gQAAoH,YAAxD;;wBAAiC;MAA7F,wBAAoH,KAErH,6IAAsB,KACpB,yMAAoE,YAAvC;;wBAAsC;MAAnE,wBAAoE,KAElE,yuBAAkB,yGAA6B,MAC/C,yuBAAkB,qGAAyB,MAC3C,yuBAAkB,mGAAuB,MAK7C,6IAAsB,KACpB,yMAA2D,YAA9B;;wBAA6B;MAA1D,wBAA2D,KAEzD,yuBAAkB,iGAAqB,MACvC,yuBAAkB,iGAAqB,MAO/C,+LAAkE,KAEhE,qKAAwC,KACvC,4SAWsD,YAFpC;;wBAA+C;MAC/C;;wBAAmC;MACnC;;wBAAmC;MAXrD,2pDAWsD,MAGvD,iLAAoD,KAClD,uZAAmF,iDApCvE,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GAQT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GAWJ,oBAA+B,kBAG/B,oBAAsC,6BAFtC,oBAAyB,aACzB,oBAAwD,yCAIxD,oBAAmB,UACnB,qBAAoB,EAHpB,qBAAuB,EACvB,qBAAoC,EANtD,aAWsD,EAVpC,UAA+B,EAG/B,UAAsC,EAFtC,UAAyB,EACzB,UAAwD,EAIxD,UAAmB,EACnB,UAAoB,EAHpB,UAAuB,EACvB,UAAoC,GASC,oBAA4B,uBAAlF,aAAmF,EAA7B,UAA4B;mHA0JtE,uHAA0C,KACxC,oJAA8B,6OAA6H,YAA5C;;wBAAyC;MAA1H,wBAA6H,KAC3J,kJAA4B,gFAAmB,MAC/C,oJAA8B,gFAAqB,MACnD,oJAA8B,gFAAkB,MAChD,oJAA8B,iFAA0B,iCAJmB,qIAAmC,GAAhF,YAA6H,EAAhF,SAAmC,GAClF,uEAAmB,GACjB,yEAAqB,GACrB,sEAAkB,GAClB,+EAA0B;mHAepE,sKAAoE,KAClE,yKAA6C,KAC5C,gQAA0K,YAA9G;;wBAAuF;MAAnJ,wBAA0K,KAG3K,uKAA0C,KACxC;;;;;wBAAqI;MAAxG;;wBAAkD;MAAC;;wBAAoD;MAApI,6sCAAqI,IACnI,szBAA0B,qGAAyB,MACnD,szBAA0B,8FAAkB,MAGhD,wKAA0C,KACxC;;;;;wBAAqI;MAAxG;;wBAAkD;MAAC;;wBAAoD;MAApI,gtCAAqI,IACnI,szBAA0B,8FAAkB,MAC5C,szBAA0B,0FAAc,mDARsC,mBAAoD,yCAApI,YAAqI,EAArD,SAAoD,GAC1H,2BAAiB,EAAzB,aAA0B,EAAlB,uCAAiB,EAAzB,aAA0B,EAAlB,SAAiB,GACjB,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GAIqD,oBAAoD,yCAApI,aAAqI,EAArD,UAAoD,GAC1H,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,GACjB,4BAAiB,EAAzB,aAA0B,EAAlB,yCAAiB,EAAzB,aAA0B,EAAlB,UAAiB,2BAR3B,8sBAAqI,GAMrI,ouBAAqI;mHAoCrG,0NAAyK,YAA/C;;wBAA8C;MAAxK,wBAAyK;mHALnN,qLAAgJ,YAAjD;;wBAAgD;MAA/I,wBAAgJ,KAC9I,uKAAyE,kJAAyB,KAClG,2KAAgF,gFAAoB,MACpG,4NAA6H,YAA1C;;wBAAyC;MAA5H,wBAA6H,gFAAuB,MACpJ,2OAAuI,YAA1C;;wBAAyC;MAAtI,wBAAuI,gFAAsB,MAC7J,8JAAwC,4ZAAyK,iDAA/H,2GAA+E,IAAzH,aAAyK,EAA/H,SAA+E,2BALzG,kIAAoC,GAA9F,YAAgJ,EAAtF,SAAoC,GACrD,+HAAiC,GAAxE,YAAyE,EAAlC,SAAiC,GAC7B,kIAAoC,GAA/E,YAAgF,EAArC,SAAoC,GAAC,oEAAoB,GAC5D,wIAA0C,GAAlF,YAA6H,EAArF,SAA0C,GAA2C,uEAAuB,GAC7F,mIAAqC,GAA5F,YAAuI,EAAhF,SAAqC,GAA2C,sEAAsB;mHA3BzJ,wLAAsF,KACpF,2LAA8D,KAa5D,iJAA0B,KACtC,4LAAsE,KACpE,2IAAqB,KACrB,+IAAyB,KACzB,8JAAwC,uFAAU,MAClD,8JAAwC,2FAAc,MACtD,+JAAwC,oFAAO,MAEjD,uaAAkF,IAChF,geAAgJ,IAWxI,uLAA0D,KACxD,6IAAsB,KACtB,6IAAsB,KACpB,uKAA0C,KACxC,mMAAsE,mFAAM,MAE9E,6KAAgD,KAC9C,wPAA8F,YAA7B;;wBAA4B;MAA7F,wBAA8F,kFAAK,mDAnB5G,oCAAgC,EAAvC,aAAkF,EAA3E,SAAgC,GACjC,mBAAqD,gBAAzD,aAAgJ,EAA5I,SAAqD,mDADnB,gIAAyC,GAAjF,aAAkF,EAA1C,SAAyC;mHAzFjF,kLAAoF,KAClF,0KAA8C,KAC5C,+KAAyD,0GAA6B,MAGxF,iLAAoD,KAClD,+LAAkE,KAChE,gLAAmD,KACjD,oLAAuD,KACrD,gJAAyB,KACvB,iMAAkD,YAA3B;;wBAA0B;MAAjD,wBAAkD,KAChD,sKAA+C,KAC7C,qrBAAQ,wFAAY,MAEtB,+IAAwB,KAE1B,6IAAqB,KAEnB,kJAA0B,KACxB,8JAAsC,KACpC,4IAAqB,KACrB,mJAA4B,uFAAU,MACtC,qJAA8B,0FAAa,MAC3C,qJAA8B,sFAAS,MACvC,qJAA8B,sFAAS,6HAAM,sFAAS,MAGtD,geAA0C,IAkBxD,iLAAoD,KAClD,gLAAmD,KACjD,uZAAoE,IAmBtE,iLAAoD,KAClD,uZAAsF,iDAxCxE,mBAAqC,kBAAzC,aAA0C,EAAtC,SAAqC,GAoBV,mBAA0B,qBAAnE,aAAoE,EAA3B,SAA0B,GAoBR,mBAA0B,qBAArF,aAAsF,EAA3B,SAA0B;oHAmEnF,6xBAAiF,+EAAwB,2BAArD,uHAA4B,GAAhF,YAAiF,EAA7B,mIAA4B,GAAhF,YAAiF,EAA7B,SAA4B,2BAAC,sEAAwB;oHA0B7G,mLAAmF,KACjF;;;;;;+xBAAgE,IAC9D,uKAA0C,KACxC,gLAAmD,KACjD,kMAAsE,KACpE,yHAAO,kFAAK,MAEd,6IAAsB,KACpB,uKAA0C,KACxC;;;;;;;;;;;wBAAsJ;MAA9E;;wBAA2C;MAAnH,+0DAAsJ,IAM5J,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,yFAAY,MAErB,6IAAsB,KACpB;;;;;;;;;;;wBAA0H;MAAtD;;wBAA0C;MAA9G,83CAA0H,IAI9H,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAA4I;MAAhF;;wBAAoC;MAAhG,+0DAA4I,IAKlJ,sMAAyE,KACvE,uKAA0C,KACxC,uPAAkG,YAA5B;;wBAA2B;MAAjG,wBAAkG,mFAAM,MAE1G,6KAAgD,KAC9C,wQAAkJ,YAArC;;wBAAoC;MAAjJ,wBAAkJ,kFAAK,mDA9BvH,mBAAQ,EAApC,aAAsJ,EAA1H,UAAQ,GAAY,mCAAuB,EAA6C,oBAA+B,qBAA3E,oBAA2C,gCAAnH,aAAsJ,EAAtG,UAAuB,EAA6C,UAA+B,EAA3E,UAA2C,GAWxE,kCAAsB,EAA4C,mBAAQ,EAAnD,oBAA0C,+BAA9G,aAA0H,EAA7E,UAAsB,EAA4C,UAAQ,EAAnD,UAA0C,GASb,mBAAQ,EAAzG,aAA4I,EAA3C,UAAQ,GAA9D,4BAAgB,EAA+C,oBAA+B,qBAA7E,oBAAoC,yBAAhG,aAA4I,EAAjG,UAAgB,EAA+C,UAA+B,EAA7E,UAAoC,2BA5BxG,8sBAAgE,GAQtD,80BAAsJ,GAWxJ,ouBAA0H,GAS1H,o1BAA4I,GAU7E,0EAA2C,cAA5G,aAAkJ,EAAjF,UAA2C;mHAjF1H,kLAA6E,KAC3E,0KAA8C,KAC5C,6KAAuD,4FAAe,MAGxE,iLAAoD,KAClD,iLAAoD,KAClD,yKAA6C,KAC3C,gQAAwH,YAAxC;;wBAAqC;MAArH,wBAAwH,KAE1H,4IAAsB,KAEtB,6IAAsB,KACpB;;;;;wBAAmH;MAAtF;;wBAAkD;MAAC;;wBAAkC;MAAlH,gtCAAmH,IAEjH,8yBAAkB,+FAAmB,MACrC,ieAAiF,IAMzF,kLAAqD,KAEnD,iLAAoD,KACnD,4SAW4D,YAF1C;;wBAAoD;MACpD;;wBAAyC;MACzC;;wBAAyC;MAX3D,2pDAW4D,MAI7D,iLAAoD,KAElD,wZAAmF,iDA7BD,mBAAkC,uBAAlH,aAAmH,EAAnC,SAAkC,GAExG,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,oBAA2C,kBAAnD,aAAiF,EAAzE,UAA2C,GAUtC,oBAA+B,kBAG/B,oBAAsC,6BAFtC,oBAAyB,aACzB,oBAAwD,yCAIxD,oBAAmB,UACnB,qBAAoB,EAHnB,qBAAuB,EACxB,qBAAoC,EANtD,aAW4D,EAV1C,UAA+B,EAG/B,UAAsC,EAFtC,UAAyB,EACzB,UAAwD,EAIxD,UAAmB,EACnB,UAAoB,EAHnB,UAAuB,EACxB,UAAoC,GAWC,oBAA4B,uBAAlF,aAAmF,EAA7B,UAA4B,2BA7BhF,stBAAmH;oHAiGjH,6xBAAiF,+EAAwB,2BAArD,uHAA4B,GAAhF,YAAiF,EAA7B,mIAA4B,GAAhF,YAAiF,EAA7B,SAA4B,2BAAC,sEAAwB;oHAQzG,6xBAAoF,+EAAgC,2BAArE,+HAAoC,GAAnF,YAAoF,EAArC,2IAAoC,GAAnF,YAAoF,EAArC,SAAoC,2BAAC,8EAAgC;oHAyBxH,mLAAmF,KACjF;;;;;;+xBAAgE,IAC9D,uKAA0C,KACxC,gLAAmD,KACjD,kMAAsE,KACpE,yHAAO,kFAAK,MAEd,6IAAsB,KACpB,uKAA0C,KACxC;;;;;;;;;;;wBAAoJ;MAA7E;;wBAA0C;MAAjH,+0DAAoJ,IAM1J,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,yFAAY,MAErB,6IAAsB,KACpB;;;;;;;;;;;wBAA8H;MAAtD;;wBAA0C;MAAlH,83CAA8H,IAIlI,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,kFAAK,MAEd,6IAAsB,KACpB;;;;;;;;;;;wBAAiI;MAAvD;;wBAA2C;MAArH,83CAAiI,IAIrI,kLAAoD,KAClD,mMAAsE,KACpE,0HAAO,wFAAW,MAEpB,6IAAsB,KACpB;;;;;;;;;;;wBAA2I;MAAhD;;wBAAsC;MAAjI,gzDAA2I,IAK/I,iLAAmD,KACjD,mMAAsE,KACpE,0HAAO,uFAAU,MAEnB,6IAAsB,KACpB;;;;;;;;;;;wBAA4I;MAAhF;;wBAAoC;MAAhG,+0DAA4I,IA6IlJ,sMAAyE,KACvE,uKAA0C,KACxC,uPAAkG,YAA5B;;wBAA2B;MAAjG,wBAAkG,mFAAM,MAE1G,6KAAgD,KAC9C,wQAAiJ,YAApC;;wBAAmC;MAAhJ,wBAAiJ,iFAAI,mDAzLrH,mBAAQ,EAApC,aAAoJ,EAAxH,UAAQ,GAAY,kCAAsB,EAA4C,oBAA+B,qBAA1E,oBAA0C,+BAAjH,aAAoJ,EAApG,UAAsB,EAA4C,UAA+B,EAA1E,UAA0C,GAWlE,kCAAsB,EAA4C,mBAAQ,EAAnD,oBAA0C,+BAAlH,aAA8H,EAA7E,UAAsB,EAA4C,UAAQ,EAAnD,UAA0C,GAShE,mCAAuB,EAA6C,mBAAQ,EAApD,oBAA2C,gCAArH,aAAiI,EAA/E,UAAuB,EAA6C,UAAQ,EAApD,UAA2C,GASa,mBAAQ,EAA1I,aAA2I,EAAT,UAAQ,GAAtF,8BAAkB,EAAqB,oBAAsC,2BAAjI,aAA2I,EAAvF,UAAkB,EAAqB,UAAsC,GAUhC,mBAAQ,EAAzG,aAA4I,EAA3C,UAAQ,GAA9D,4BAAgB,EAA+C,oBAA+B,qBAA7E,oBAAoC,yBAAhG,aAA4I,EAAjG,UAAgB,EAA+C,UAA+B,EAA7E,UAAoC,2BA/CxG,8sBAAgE,GAQtD,80BAAoJ,GAWtJ,ouBAA8H,GAS9H,ouBAAiI,GASjI,o1BAA2I,GAU3I,o1BAA4I,GAkJ7E,0EAA2C,cAA5G,aAAiJ,EAAhF,UAA2C;oHAnP1H,kLAA6E,KAC3E,0KAA8C,KAC5C,+KAAyD,2FAAc,MAGzE,iLAAoD,KAClD,iLAAoD,KAClD,yKAA6C,KAC5C,gQAA+G,YAA/B;;wBAA4B;MAA5G,wBAA+G,KAEhH,4IAAsB,KAEtB,6IAAsB,KACpB;;;;;wBAAqG;MAAxE;;wBAAqC;MAAC;;wBAAiC;MAApG,gtCAAqG,IAEnG,8yBAAkB,+FAAmB,MACrC,ieAAiF,IAIrF,8IAAsB,KACpB;;;;;wBAAwG;MAA3E;;wBAAuC;MAAC;;wBAAkC;MAAvG,gtCAAwG,IAEtG,8yBAAkB,iGAAqB,MACvC,ieAAoF,IAQ5F,iLAAoD,KAClD,iLAAoD,KAC5D,4SAWoE,YAFzC;;wBAAoD;MACpD;;wBAAwC;MACxC;;wBAAwC;MAXnE,2pDAWoE,MAG5D,iLAAoD,KAClD,wZAAmF,iDApCd,mBAAiC,sBAApG,aAAqG,EAAlC,SAAiC,GAE1F,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,oBAA2C,kBAAnD,aAAiF,EAAzE,UAA2C,GAKgB,oBAAkC,uBAAvG,aAAwG,EAAnC,UAAkC,GAE7F,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAsC,aAA9C,aAAoF,EAA5E,UAAsC,GAWjC,oBAA+B,kBAG/B,oBAA4B,mBAF5B,oBAAyB,aACzB,oBAAwD,yCAIxD,oBAAmB,UACnB,qBAAoB,EAHnB,qBAAuB,EACxB,qBAAoC,EAN/D,aAWoE,EAVzC,UAA+B,EAG/B,UAA4B,EAF5B,UAAyB,EACzB,UAAwD,EAIxD,UAAmB,EACnB,UAAoB,EAHnB,UAAuB,EACxB,UAAoC,GASC,oBAA4B,uBAAlF,aAAmF,EAA7B,UAA4B,2BApChF,stBAAqG,GAQrG,ouBAAwG;mHA3ZpH,sLAA0D,KACtD,sZAA8E,IAiL9E,sZAAoF,IAsHpF,sZAA6E,IA8F7E,uZAA6E,iDArYxB,mBAAwB,mBAA7E,YAA8E,EAAzB,SAAwB,GAiLxB,mBAA8B,yBAAnF,YAAoF,EAA/B,SAA8B,GAsH5D,mBAAuB,kBAA9C,YAA6E,EAAtD,SAAuB,GA8FO,mBAAuB,kBAA5E,YAA6E,EAAxB,SAAuB;;;;;;;;;;;;;;;;ACpYhF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkG;AAC/B;AACiB;AACf;AAC1B;AAEyC;AACF;AAEnB;AAClB;AACT;AACyB;AAE7D;IA6DE,uCAAmB,oBAA0C,EAAU,eAAgC,EAAU,MAAqB,EAAU,YAA0B,EAAU,cAA8B,EAAU,WAAwB;QAApP,iBAWC;QAXkB,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAtDpP,gBAAW,GAAW,IAAI,CAAC;QAC3B,yBAAoB,GAAY,IAAI,CAAC;QACrC,qBAAgB,GAAY,IAAI,CAAC;QACjC,2BAAsB,GAAY,KAAK,CAAC;QACxC,oBAAe,GAAY,KAAK,CAAC;QACjC,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAa,GAAkB,IAAI,0EAAa,EAAE,CAAC;QACnD,yBAAoB,GAAY,KAAK,CAAC;QACtC,yBAAoB,GAAY,KAAK,CAAC;QACtC,yBAAoB,GAAY,KAAK,CAAC;QAItC,kBAAa,GAAY,KAAK,CAAC;QAK/B,sBAAiB,GAAoB,EAAE,CAAC;QACxC,+BAA0B,GAAoB,EAAE,CAAC;QAG1C,oBAAe,GAAoB,EAAE,CAAC;QACtC,aAAQ,GAAY,KAAK,CAAC;QAC1B,uBAAkB,GAAY,KAAK,CAAC;QAG3C,kBAAa,GAA0B,EAAE,CAAC;QAC1C,2BAAsB,GAA2B,EAAE,CAAC;QACpD,gBAAW,GAAG,EAAE,CAAC;QAEjB,qBAAgB,GAAG,EAAE,CAAC;QACtB,mBAAc,GAAG,EAAE,CAAC;QACb,qBAAgB,GAAY,KAAK,CAAC;QACzC,kBAAa,GAAyB,IAAI,0EAAoB,EAAE,CAAC;QACjE,cAAS,GAA2B,IAAI,uFAAsB,EAAE,CAAC;QAEjE,iBAAY,GAAkB,IAAI,0EAAa,EAAE,CAAC;QAClD,sBAAiB,GAAoB,EAAE,CAAC;QACxC,+BAA0B,GAAoB,EAAE,CAAC;QACjD,uBAAkB,GAAY,KAAK,CAAC;QACpC,oBAAe,GAA2B,EAAE,CAAC;QAE7C,iBAAY,GAAiB,IAAI,yEAAY,EAAE,CAAC;QAChD,qBAAgB,GAAmB,EAAE,CAAC;QACtC,6BAAwB,GAAmB,EAAE,CAAC;QAC9C,eAAU,GAAoB,EAAE,CAAC;QAEjC,wBAAmB,GAAG,CAAC,CAAC;QACxB,yBAAoB,GAAG,CAAC,CAAC;QACzB,yBAAoB,GAAG,CAAC,CAAC;QACzB,SAAI,GAAG,IAAI,iDAAY,EAAE,CAAC;QAGxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC;aACzD,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAE7C,KAAI,CAAC,aAAa,EAAE,CAAC;QAGvB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,6CAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,gDAAQ,GAAR;QACE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IACD,mEAA2B,GAA3B;QACE,IAAI,CAAC,oBAAoB,GAAgB;YACvC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACnN,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,qEAA6B,GAA7B,UAA8B,gBAAwB;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,sBAAsB,GAAG;YAC5B;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aACzD;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAE7D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YAEhE;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;oBAEzF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,gEAAwB,GAAxB,UAAyB,KAAsB;QAC7C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACvE,CAAC;IACD,iDAAS,GAAT,UAAU,IAAI;QAEZ,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC;YACxC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aACI,IAAI,IAAI,IAAI,QAAQ,EAAE;YACzB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,+BAA+B,CAAC;YACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAEzB;aACI,IAAI,IAAI,IAAI,QAAQ,EAAE;YACzB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC;YAExC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aACI,IAAI,IAAI,IAAI,OAAO,EAAE;YACxB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;YAEvC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aACI,IAAI,IAAI,IAAI,MAAM,EAAE;YACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAE7B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;YAC3D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;SAE1D;IAEH,CAAC;IAED,qDAAa,GAAb,UAAc,IAAI;QAChB,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;aACI,IAAI,IAAI,IAAI,QAAQ,EAAE;YACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;aACI,IAAI,IAAI,IAAI,OAAO,EAAE;YACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;IACH,CAAC;IACD,2DAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,UAAU,EAA3B,CAA2B,CAAC,CAAC;SACnG;aAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,QAAQ,EAAzB,CAAyB,CAAC,CAAC;SACjG;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC1D;IACH,CAAC;IAED,wBAAwB;IACxB,kDAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;gBAC3B,OAAO,CAAC,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,aAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAzC,CAAyC,CAAC,CAAC;aAC1H;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;gBAClC,IAAI,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC;gBACrC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,EAAtC,CAAsC,CAAC,CAAC;gBACnE,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;aAC3C;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,wDAAgB,GAAhB;QAAA,iBAMC;QALC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAEpE,KAAI,CAAC,0BAA0B,GAAG,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wDAAgB,GAAhB,UAAiB,IAAI;QACnB,IAAI,CAAC,eAAe,GAAgB;YAClC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;YACzM,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI;SACtK,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SAC3B;aAAM,IAAI,IAAI,IAAI,QAAQ,EAAE;YAC3B,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;SAChC;aAAM,IAAI,IAAI,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;SAChC;IAEH,CAAC;IACD,wDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aACzD;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YAC5D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YAClE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;YACrE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5E,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YAChE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,yDAAyD;YACzD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE;wBACrE,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;wBACzF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;4BAC1B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAErC,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;qBACb;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE;wBAC1E,IAAI,CAAC,SAAS,GAAG,sEAAsE,CAAC;wBACxF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;4BAC1B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAErC,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;qBACb;gBAGH,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IACD,0DAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAEhB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBAChF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC9B;SACF;IACH,CAAC;IAED,wDAAgB,GAAhB,UAAiB,IAAI;QACnB,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACxC;aAAM,IAAI,IAAI,IAAI,QAAQ,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1C;aAAM,IAAI,IAAI,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1C;IAEH,CAAC;IAED,qDAAa,GAAb,UAAc,YAAY;QAA1B,iBAOC;QANC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC7D,KAAI,CAAC,aAAa,GAAG,IAAI,0EAAa,EAAE,CAAC;YACzC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9F,KAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qBAAqB;IAErB,qCAAqC;IAErC,sDAAc,GAAd;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAExB,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAA7C,CAA6C,CAAC,CAAC;SAC1G;aAAM;YACL,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IAEL,CAAC;IACD,wDAAgB,GAAhB,UAAiB,KAAK,EAAC,KAAK;QAA5B,iBAmBC;QAlBC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;YAChC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBACjK,KAAI,CAAC,aAAa,GAAG,WAAW,CAAC;gBACjC,KAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;gBAC1C,IAAI,KAAI,CAAC,qBAAqB,CAAC,cAAc,IAAI,CAAC,EAAE;oBAClD,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;oBACrE,KAAI,CAAC,2BAA2B,EAAE,CAAC;iBACpC;qBAAM;oBACL,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;SAGJ;IACH,CAAC;IACD,0DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,KAAK,IAAI,WAAW,EAAE;gBACxB,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC;aAClG;iBAAM,IAAI,KAAK,IAAI,WAAW,EAAE;gBAC/B,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAApC,CAAoC,CAAC,CAAC;gBACjE,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACvC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;IAClC,CAAC;IACD,iEAAyB,GAAzB,UAA0B,KAAK;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;IAC3B,CAAC;IACD,4DAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAc;QAEtH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uDAAe,GAAf,UAAgB,EAAE,EAAE,GAAG;QACnB,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,SAAS,GAAyB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAChI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAC5D,CAAC,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBACvD,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YACnE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAGL,CAAC;IACD,qDAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,GAAG,EAAd,CAAc,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SACvC;IAEH,CAAC;IACD,sDAAc,GAAd,UAAe,GAAG,EAAE,IAAI;QACtB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,EAAE;YACzG,IAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAEvC;IAEH,CAAC;IACD,2DAAmB,GAAnB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kJAAkJ,CAAC,CAAC;QACnM,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,oDAAY,GAAZ,UAAa,GAAG;QACd,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IACD,gDAAQ,GAAR,UAAS,aAAa;QAAtB,iBASC;QARC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1E,KAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,KAAI,CAAC,qBAAqB,CAAC,SAAS,EAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAChK,KAAI,CAAC,aAAa,GAAG,WAAW,CAAC;gBACjC,KAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;gBAC1C,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wDAAgB,GAAhB,UAAiB,GAAG,EAAE,IAAI;QAExB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,EAAE;YACvG,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBACpE,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAC/D,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YAC3E,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAGL,CAAC;IACD,wDAAgB,GAAhB;QAAA,iBAkBC;QAhBC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,0EAAoB,EAAE,CAAC;YAE9C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;gBAEzB,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzE,KAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnF,KAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnE,KAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;gBACjC,KAAI,CAAC,aAAa,CAAC,cAAc,GAAG,KAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC;gBAC9E,KAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAI,CAAC,qBAAqB,CAAC,cAAc,EAA7D,CAA6D,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7I,CAAC,CAAC,CAAC;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAEnC;IAEH,CAAC;IACD,mCAAmC;IAEnC,uBAAuB;IACvB,uDAAe,GAAf;QAAA,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACnG,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QAErC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,KAAK,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAK,EAAjB,CAAiB,CAAC,CAAC,QAAQ,CAAC;YAE/F,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,KAAK,EAAxB,CAAwB,CAAC,CAAC;SAChG;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC1D;IACH,CAAC;IACD,wDAAgB,GAAhB,UAAiB,SAAwB;QAAzC,iBAQC;QAPC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1D,KAAI,CAAC,YAAY,GAAG,IAAI,0EAAa,EAAE,CAAC;YACxC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5F,KAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAAgB,GAAhB;QAAA,iBAOC;QANC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpE,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;YAChC,2CAA2C;YAC3C,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,oBAAoB,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6DAAqB,GAArB,UAAsB,gBAAwB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aACzD;YACD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YACpE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3E,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;qBAC1F;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBACnC,IAAI,CAAC,SAAS,GAAG,sEAAsE,CAAC;qBACzF;oBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;wBAC1B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAExC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IACD,+DAAuB,GAAvB,UAAwB,QAAQ;QAC9B,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAEhB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5D,2HAA2H;gBAE3H,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC9B;SACF;IACH,CAAC;IACD,wDAAgB,GAAhB,UAAiB,WAAW;QAA5B,iBASC;QARC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC5D,KAAI,CAAC,YAAY,GAAG,IAAI,yEAAY,EAAE,CAAC;YACvC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5F,KAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;YAClE,KAAI,CAAC,YAAY,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;YAC9D,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,KAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAA9B,CAA8B,CAAC,CAAC,QAAQ,CAAC;QAE5G,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;QAC3D,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IACD,iEAAyB,GAAzB,UAA0B,MAAM;QAAhC,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC5D,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4DAAoB,GAApB,UAAqB,KAAK;QAA1B,iBAQC;QAPC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnE,KAAI,CAAC,wBAAwB,GAAG,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;YAC/D,KAAI,CAAC,YAAY,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACtD,KAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAtC,CAAsC,CAAC,CAAC,gBAAgB,CAAC;YACxH,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAtC,CAAsC,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,uDAAe,GAAf;QAAA,iBAQC;QAPC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnE,KAAI,CAAC,wBAAwB,GAAG,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;YAC/D,IAAI,KAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,KAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE;gBACnE,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,cAAc,IAAI,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,KAAI,CAAC,mBAAmB,CAAC,EAAhG,CAAgG,CAAC,CAAC;aACrK;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAAqB,GAArB,UAAsB,gBAAwB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aACzD;YACD,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAClE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YACnE,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YACrE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YAChE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YACzD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YACzD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YACzD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YACzD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;YACzD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;qBAC1F;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBACnC,IAAI,CAAC,SAAS,GAAG,sEAAsE,CAAC;qBACzF;oBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;wBAC1B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAExC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,+DAAuB,GAAvB,UAAwB,QAAQ;QAC9B,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAEhB,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5D,2HAA2H;gBAE3H,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aAC7B;SACF;IACH,CAAC;IACD,uDAAe,GAAf;QAAA,iBASC;QARC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB,IAAI,SAAS,EAAE;YAC7E,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,YAAY,CAAC,aAAa,EAA3C,CAA2C,CAAC,CAAC,QAAQ,CAAC;YACzH,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,KAAI,CAAC,YAAY,CAAC,cAAc,EAApD,CAAoD,CAAC,CAAC,gBAAgB,CAAC;YAEtI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;SACjE;IACH,CAAC;IAED,qDAAa,GAAb,UAAc,KAAK;QACf,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACzC,CAAC;IAED,oDAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,2DAAmB,GAAnB,UAAoB,KAAK;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACzC,CAAC;IAED,0DAAkB,GAAlB,UAAmB,KAAsB;QACvC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,0DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,yDAAiB,GAAjB,UAAkB,KAAsB;QACtC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAED,4DAAoB,GAApB,UAAqB,IAAI;QAAzB,iBA0BC;QAzBC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,eAAe,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,IAAI,eAAe,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,IAAI,cAAc,EAAE;YACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC7C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,qDAAa,GAAb;QAAA,iBAUC;QATC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,qBAAqB,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3F,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClL,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACL,CAAC;IACH,oCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGCvwBG,6IAA0I,KACxI,4KAAkC,YAA5B;;wBAA2B;MAAjC,wBAAkC,0OAA2G,KAC7I,gJAA0B,4FAA4C,MACtE,4KAA4D,YAAtD;;;wBAAqD;MAA3D,wBAA4D,6PAA8H,wDADhK,yEAA4C;uGAQtE,2SASqD,YAFpC;;wBAAmC;MACnC;;wBAA+C;MAC/C;;wBAAmC;MATpD,4iDASqD,mIARpC,mBAA+B,kBAG/B,mBAAiC,wBAFjC,mBAAyB,aAIzB,mBAAmB,UAHnB,mBAAwD,yCAExD,mBAAmB,UALpC,YASqD,EARpC,SAA+B,EAG/B,SAAiC,EAFjC,SAAyB,EAIzB,SAAmB,EAHnB,SAAwD,EAExD,SAAmB;uGAlBxC,ujBACiJ,IAE/I,0YAA0I,IAK1I,kPAAsH,KACpH,mJAA6B,KAC7B;;;;;;;;;;;wBAAiJ;MAAzD;;wBAAkC;MAAC;;wBAAmB;MAA9I,+wCAAiJ,IAEnJ,oLAAuD,KACrD,2YASqD,iDAtBpD,oJAAwH,GAA7H,YACiJ,EAD5I,SAAwH,GAGpG,iIAAkH,oBAAzI,YAA0I,EAAnH,SAAkH,GAOZ,oBAAmB,QAA9I,YAAiJ,EAAtB,UAAmB,GAGjF,qBAAqB,eAAlF,aASqD,EATQ,UAAqB,mDAZjF,uIAAkH,GADvH,YACiJ,EAA5I,SAAkH,GASnH,qtBAAiJ;uGAiBrJ,iLAA8E,KAC5E,+KAAmD,KACjD,4KAAwD,YAAlD;;;wBAAiD;MAAvD,wBAAwD,KAAC,yNAA+F,KAE1J,oQAAwI,KACtI,yHAAO,6FAAgB,MAEzB,uLAA2D,KACzD,iOAKyE,YAAxD;;wBAAuD;MALxE,m8CAKyE,mDAJxD,mBAAmC,sBAEnC,mBAA8B,qBAD9B,mBAA4C,gCAE5C,oBAAoB,EAJrC,aAKyE,EAJxD,SAAmC,EAEnC,SAA8B,EAD9B,SAA4C,EAE5C,SAAoB;uGAQzC,qLAAyL,KACvL,kMAAwL,YAAnC;;wBAAkC;MAAvL,g3BAAwL,mDAAnK,mBAAqC,mBAAC,mBAA2C,uBAAC,mBAAuB,YAAC,mBAAqB,WAApJ,YAAwL,EAAnK,SAAqC,EAAC,SAA2C,EAAC,SAAuB,EAAC,SAAqB,mDADhF,uIAAkH,GAAxL,YAAyL,EAAnH,SAAkH;uGAIxL,sNAAmH,YAAvG;;wBAAgC;MAA5C,0bAAmH,MACjH,4LAEoG,YAA5C;;wBAA2C;MAFnG,gnBAEoG,mDAHN,qBAAkB,EAAtG,mBAAgC,qBAA5C,YAAmH,EAAnB,SAAkB,EAAtG,SAAgC,GACxB,4BAA4B,EAAC,uDAAiD,EAC9E,+BAA+B,EAAC,oBAAa,EAAC,qBAAgB,EAC1C,oBAAiB,EAArC,qBAAmB,EAFrC,YAEoG,EAFlF,SAA4B,EAAC,SAAiD,EAC9E,SAA+B,EAAC,SAAa,EAAC,SAAgB,EAC1C,SAAiB,EAArC,SAAmB;sRA1DzC,kLAAqD,KACnD,2NAA+F,KAC7F,8LAA0H,YAA/C;;wBAA8C;MAAzH,u8BAA0H,MAE5H,0YACiJ,IA0BjJ,0YAA8E,IAoB9E,2YAAyL,IAIzL,2YAAmH,iDArDjG,mBAA0B,cAAC,mBAA+B,gBAA1E,YAA0H,EAA1G,SAA0B,EAAC,SAA+B,GAG4C,mBAAwB,mBADhJ,YACiJ,EAAzB,SAAwB,GA0B3I,oBAAyB,mBAA9B,YAA8E,EAAzE,SAAyB,GAoBW,yCAA4B,GAArE,aAAyL,EAAhJ,SAA4B,GAIxB,mBAA0B,qBAAvE,aAAmH,EAAtE,SAA0B;;;;;;;;;;;;;;;;ACrDzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgE;AAGf;AAE4F;AAC3E;AACa;AAEpC;AAG3C;IAwCE,2BAAmB,oBAA0C,EAAU,KAAqB,EAAU,eAAgC;QAAnH,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAlCtI,kBAAa,GAAG,EAAE,CAAC;QAUnB,wBAAmB,GAAY,KAAK,CAAC;QACrC,iBAAY,GAAe,EAAE,CAAC;QAC9B,0BAAqB,GAAe,EAAE,CAAC;QACvC,uBAAkB,GAA0B,EAAE,CAAC;QAG/C,iBAAY,GAAY,KAAK,CAAC;QAC9B,uBAAkB,GAAY,KAAK,CAAC;QAAC,iBAAY,GAAY,KAAK,CAAC;QAAC,UAAK,GAAG,EAAE,CAAC;QAGxE,aAAQ,GAAG,eAAe,CAAC;QAE3B,cAAS,GAAG,EAAE,CAAC;QACtB,qBAAgB,GAAY,IAAI,CAAC;QACjC,iBAAY,GAA8B,EAAE,CAAC;QAC7C,oBAAe,GAA+B,EAAE,CAAC;QAIjD,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,gBAAW,GAAW,UAAU,CAAC;QACjC,iCAA4B,GAAoB,EAAE,CAAC;QACnD,qBAAgB,GAAU,CAAC,CAAC;QAC5B,uBAAkB,GAAW,MAAM,CAAC;QAElC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3J,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACzG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,oCAAQ,GAAR;QAAA,iBAWC;QAVC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,gBAAgB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC;gBACpF,KAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC;gBAC9E,KAAI,CAAC,oBAAoB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,oBAAoB,CAAC;aAC3F;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,UAAU,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IACD,+CAAmB,GAAnB,UAAoB,GAAG;QAErB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;YACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;SAC5G,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAGD,4CAAgB,GAAhB,UAAiB,IAAI;QACnB,IAAI,CAAC,eAAe,GAAgB;YAClC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,0FAAqB;SAEpC,CAAC;QACA,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,8CAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;SACzB;QACD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,4CAAgB,GAAhB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,OAAO,CAAC,eAAe,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,eAAe,IAAI,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,eAAe,IAAI,EAAE,EAAE;YAC5J,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACzF,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/F;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBAC1F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;gCAC3M,EAAE,IAAI,+BAA+B,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACjE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBACF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;oBACjF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;wBAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;wBAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;gCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACvE;iCACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;gCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;6BACvE;iCACI;gCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BAClB;yBAEF;wBACD,OAAO,EAAE;qBAEV;yBAAM;wBACL,OAAO,MAAM,CAAC,KAAK,CAAC;qBACrB;gBACH,CAAC;aACF;YACD,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACnG,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACvG,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACvG,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAM,SAAE,EAAF,CAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACjG;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,gDAAgD,CAAC;oBAClE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IAGJ,CAAC;IACD,yCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IACD,uCAAW,GAAX,UAAY,QAAQ;QAClB,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE;YACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAC;YACzE,0BAA0B;SAC3B;IAEH,CAAC;IAED,wCAAY,GAAZ,UAAa,GAAG;QAAhB,iBAWC;QAVC,IAAI,GAAG,IAAI,KAAK,EAAE;YAEhB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC5D,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,KAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBAC1B,KAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;IACH,CAAC;IAED,kDAAsB,GAAtB;QAAA,iBAUC;QATC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC5E,MAAM,CAAC,OAAO,CAAC,gBAAM;gBACnB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAE,IAAI,EAAC,MAAK,EAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACpH,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,KAAI,CAAC,aAAa,EAArC,CAAqC,CAAC,CAAC;QAEtF,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,2CAAe,GAAf,cAAoB,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;IAC1D,gDAAoB,GAApB,UAAqB,QAA6B;QAAlD,iBA6BC;QA5BC,IAAI,QAAQ,CAAC,YAAY,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAAE;QACxD,IAAI,QAAQ,CAAC,cAAc,EAAE;YAC3B,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC;SACnD;QACD,IAAI,QAAQ,CAAC,aAAa,EAAE;YAC1B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC1D;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,gBAAgB,GAAE,CAAC;SAAI;QAChF,IAAI,IAAI,CAAC,kBAAkB,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;YAClE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC;SAEhD;aAAM,IAAI,IAAI,CAAC,kBAAkB,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,GAAC,CAAC,EAAE;YACtE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,KAAI,CAAC,gBAAgB,EAAxC,CAAwC,CAAC,CAAC;SACtG;aACI;YACH,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;gBAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,KAAI,CAAC,kBAAkB,EAA9C,CAA8C,CAAC,CAAC;aAC5G;iBAAM;gBACL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,KAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,aAAa,IAAI,KAAI,CAAC,gBAAgB,EAA1F,CAA0F,CAAC,CAAC;aACxJ;SAEF;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,cAAc,IAAI,eAAe,EAAE;YAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,WAAW,EAAE;YACjD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;IACH,CAAC;IAED,2CAAe,GAAf;QACE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SAC3B;IACH,CAAC;IACD,8CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,SAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,IAAI,CAAC,gBAAgB,GAAG,SAAO,CAAC,kBAAkB,CAAC;gBACnD,IAAI,CAAC,oBAAoB,GAAG,SAAO,CAAC,oBAAoB,CAAC;gBACzD,IAAI,CAAC,SAAS,GAAG,SAAO,CAAC,SAAS,CAAC;gBACnC,IAAI,CAAC,aAAa,GAAG,SAAO,CAAC,aAAa,CAAC;gBAC3C,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;gBAEhC,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAO,CAAC,gBAAgB,EAAE,SAAO,CAAC,oBAAoB,EAAE,SAAO,CAAC,SAAS,EAAE,SAAO,CAAC,QAAQ,EAAE,SAAO,CAAC,CAAC;oBAClI,SAAO,CAAC,WAAW,GAAG,aAAa,CAAC;gBACtC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;SACF;IAEH,CAAC;IAED,0CAAc,GAAd;QAAA,iBAYC;QAXC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;YAC/D,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACrD,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,MAAM,EAA7B,CAA6B,CAAC,CAAC;YACnG,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,cAAI;gBACrC,IAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC3E,IAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YACH,IAAI,KAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,KAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,qCAAS,GAAT,UAAU,GAAG;QACV,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAClC,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,EAAE,CAAC;YAIvB,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAC,IAAI;oBAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;wBACpC,SAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;wBACxB,SAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;wBACtD,SAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;wBAC5D,SAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;wBACtC,SAAO,CAAC,QAAQ,GAAG,eAAe,CAAC;wBACnC,SAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAO,CAAC,gBAAgB,EAAE,SAAO,CAAC,oBAAoB,EAAE,SAAO,CAAC,SAAS,EAAE,SAAO,CAAC,QAAQ,CAAC,CAAC;qBAE1H;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;aAAM;YACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAChC;IAEH,CAAC;IAED,uCAAW,GAAX,UAAY,OAAO;QAEjB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,0CAAc,GAAd,UAAe,MAAM;QAArB,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAG;YACjD,KAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAsB,GAAtB;QAAA,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;YACvE,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAID,iDAAqB,GAArB;QAAA,iBA4BC;QA1BC,IAAI,CAAC,eAAe,GAAgB;YAClC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;SAC9M,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,0FAAqB;SAEpC,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,aAAG;YACnD,KAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACnC,KAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAA4B,GAA5B;QAEE,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;SAC7M,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,0FAAqB;SAEpC,CAAC;QACF,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAEhC,CAAC;IAED,2DAA+B,GAA/B;QACE,IAAI,CAAC,6BAA6B,GAAG;YACnC;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM;oBACnG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;wBAC7C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;qBAClC;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EACrD;wBACE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;qBAClC;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM;oBACzF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;wBAC7C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;qBAClC;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;wBACrD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;qBAClC;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM;oBACrG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;wBAC7C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;qBAClC;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;wBACrD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;qBAClC;gBACH,CAAC;aACF;SAEF,CAAC;IACJ,CAAC;IACD,oDAAwB,GAAxB,UAAyB,gBAAwB;QAE/C,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,sBAAsB,GAAG;gBAC5B;oBACE,UAAU,EAAE,EAAE;oBACd,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B;iBACnF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI;oBACxF,WAAW,EAAE,yBAAyB;iBACvC;gBACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,yBAAyB,EAAE,SAAS,EAAE,EAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,EAAC;aAErL,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE;oBAC5B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;wBAC/B,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,yBAAyB,EAAE,SAAS,EAAE,UAAU,MAAM;4BACnL,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,EAAE;gCACjD,IAAI,GAAG,GAAG,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gCACjG,OAAO,GAAG,CAAC;6BACZ;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,UAAU,EAAE;gCAC5D,IAAI,GAAG,GAAG,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;gCAC7F,OAAO,GAAG,CAAC;6BACZ;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gCACxD,IAAI,EAAE,GAAG,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;gCACvE,OAAO,EAAE,CAAC;6BACX;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gCAC5D,IAAI,EAAE,GAAG,EAAE,kBAAkB,EAAE,SAAS,EAAC,YAAY,EAAC,QAAQ,EAAE,CAAC;gCACjE,OAAO,EAAE,CAAC;6BACX;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE;gCACxC,IAAI,GAAG,GAAG,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAC,SAAS,EAAC,YAAY,EAAE,CAAC;gCAC3F,OAAO,GAAG,CAAC;6BACZ;wBACH,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,IAAK,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACzB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAC,QAAQ,CAAC,CAAC;gCAC3C,OAAO,CAAC,CAAC;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;aACF;SAIF;IACH,CAAC;IAGD,sDAA0B,GAA1B,UAA2B,KAAK;QAC9B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChB,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBACnD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;gBACzD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBACnC,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC3G;iBAAM;gBACL,IAAI,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACpG,IAAI,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBACxG,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;gBAC3C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;gBACjD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC3G;SACF;IAEH,CAAC;IAED,2CAAe,GAAf;QAAA,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAG;YACnE,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wCAAY,GAAZ;QACE,IAAI,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;SAClE;QACA,IAAI,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,WAAW,EAAE;YACvD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;SACrE;QACD,IAAI,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE;YACrD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;SACrE;QACD,IAAI,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,MAAM,EAAC;YAChD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;SAC5D;QACD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,IAAI,EAAE;gBACvC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE;wBAC5C,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACnD,OAAO,CAAC,eAAe,CAAC,YAAY,GAAG,QAAQ,CAAC;qBACjD;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,kDAAsB,GAAtB;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CACxB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CACvE,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,eAAe,GAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CAAC;QAC9G,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IACD,uCAAW,GAAX;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IACH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oHC1lBG,mLAAkF,KAChF,0KAA8C,KAC5C,+KAAyD,uFAAU,MAErE,+KAAmD,KACjD,gLAAoD,KAClD,yMAA6E,KAC3E,gQAAgH,YAApD;;wBAA6B;MAAzF,wBAAgH,KAIpH,sMAA0E,KACxE,iUAYgE,YAH/C;;wBAAmC;MACnC;;wBAA6C;MAC7C;;wBAAsC;MACtC;;wBAA8C;MAZ/D,urDAYgE,MAKpE,iLAAmD,KACjD;;;;;;iyBAAoD,IAClD,iLAAoD,KAGpD,gNAAkF,KAChF,kLAAqD,+HAAO,sFAAS,MACrE,kLAAqD;;;;;;;;;;;wBAA0L;MAA3I;;wBAA2C;MAA1F,+0DAA0L,IAEjP,8MAAgF,KAC9E,iLAAoD,+HAAO,uFAAU,MACrE,iLAAoD;;;;;;;;;;;wBAA8L;MAA3K;;wBAAwC;MAA3D,+0DAA8L,IAEpP,iLAAoD,KAGpD,8LAAiE,KAC/D,6IAAsB,KACtB,mLAAsD,KACpD,kUAA2K,YAA1B;;wBAAyB;MAA1K,wBAA2K,mFAAM,MAEnL,8MAAiF,KAC/E,2VAAsO,YAAvM;;wBAAgC;MAA/D,wBAAsO,iFAAI,mDAtC7N,mBAA2B,cAG3B,mBAA+B,sBAF/B,mBAAyB,aACzB,mBAAwD,yCAIxD,mBAAmB,UACnB,oBAAoB,EAHpB,oBAAuB,EACvB,oBAAoC,EANrD,aAYgE,EAX/C,SAA2B,EAG3B,SAA+B,EAF/B,SAAyB,EACzB,SAAwD,EAIxD,SAAmB,EACnB,SAAoB,EAHpB,SAAuB,EACvB,SAAoC,GAkB6F,oBAA8B,oBAAzH,aAA0L,EAA/F,UAA8B,GAA/G,gDAAoC,EAA4E,qBAA+B,oBAA1G,oBAA2C,gCAA1F,aAA0L,EAAhL,UAAoC,EAA4E,UAA+B,EAA1G,UAA2C,GAImC,oBAA8B,oBAA5J,aAA8L,EAAhE,UAA8B,GAAhG,6CAAiC,EAAC,qBAA+B,oBAA1G,oBAAwC,6BAA3D,aAA8L,EAAlI,UAAiC,EAAC,UAA+B,EAA1G,UAAwC,2BAVnH,guBAAoD,GAMK,o1BAA0L,GAI3L,o1BAA8L,GAWrD,2EAA0C,cAArO,aAAsO,EAA3C,UAA0C;oHAqBjO,wtBAA2E,iFAE3E,2BAFQ,2HAA0B,GAAlC,YAA2E,EAAnE,uIAA0B,GAAlC,YAA2E,EAAnE,SAA0B,2BAAyC,0EAE3E;oHAkCF,6xBAA2E,+EAAoB,2BAAvF,2HAA0B,GAAlC,YAA2E,EAAnE,uIAA0B,GAAlC,YAA2E,EAAnE,SAA0B,2BAAyC,0EAAoB;oHAjD3G,mLAA4E,KAC1E,0KAA8C,KAC5C,+KAAyD,kFAAK,MAEhE,sKAAyC,KACvC,iLAAoD,KAClD,uMAA2E,KAEzE,gQAA4G,YAAhD;;wBAAyB;MAArF,wBAA4G,KAE9G,qLAAyD,KACnD,sOAAmG,YAA9C;;wBAA6C;MAAlG,wBAAmG,KACjG,yuBAAkB,0FAAc,MAChC,ieAA2E,IAMnF,iLAAoD,KAClD,qRAQ4D,YAD3C;;wBAA+C;MAC/C;;wBAA0C;MAR3D,yhDAQ4D,MAMlE,kLAAmD,KACjD;;;;;;8xBAAiD,IAC/C,kMAAoE,KAClE,oMAAuE,oFAEvE,MACA,qMAAwE,KACtE;;;;;;;;;;;wBAAyM;MAApG;;wBAA4C;MAAjJ,+0DAAyM,IAG7M,iMAAmE,KACjE,kMAAqE,qFAAQ,MAC7E,sMAAwE,KACtE;;;;;wBAA6J;MAAxC;;wBAAuC;MAA5J,8wDAA6J,IAC3J,g0BAA2B,kGAAsB,MACjD,ieAA2E,IAIjF,gMAAmE,KACjE,oMAAuE,wFAAW,MAClF,kMAAqE,KACnE;;;;;;;;;;;wBAA+N;MAA3E;;wBAA2C;MAAC;;wBAA8B;MAA9N,83CAA+N,IAInO,iMAAmE,KACjE,kMAAqE,uFAAU,MAC/E,qMAAwE,KACtE;;;;;;;;;;;wBAAsK;MAAxC;;wBAAqC;MAAnK,+0DAAsK,IAG1K,iMAAmE,KACjE,kMAAqE,kFAAK,MAC1E,oMAAsE,KACpE,sLAAyD,KACvD;;;;;;;;;;;wBAAyL;MAA7D;;wBAAmC;MAA/J,+0DAAyL,IAE3L,iLAAoD,KAClD;;;;;;;;;;;wBAAyL;MAA7D;;wBAAmC;MAA/J,g1DAAyL,IAE3L,wLAA0D,KACxD;;;;;;;;;;;wBAAyL;MAA7D;;wBAAmC;MAA/J,m1DAAyL,IAM/L,kMAAmE,KACjE,mMAAqE,oFAAO,MAC5E,qMAAsE,KACpE,uLAAyD,KACvD;;;;;;;;;;;wBAA0O;MAA7F;;wBAAqC;MAAC;;wBAA4B;MAA/M,m1DAA0O,IAE5O,kLAAoD,KAClD;;;;;;;;;;;wBAAyO;MAAvH;;wBAAqC;MAAC;;wBAA4B;MAApL,m1DAAyO,IAE3O,wLAA0D,KACxD;;;;;;;;;;;wBAAyO;MAAvH;;wBAAqC;MAAC;;wBAA4B;MAApL,m1DAAyO,IAM/O,qNAAuF,KACrF,oNAAsF,KAEpF,oLAAsD,KACpD,6SAAuJ,YAA5B;;wBAA2B;MAAtJ,wBAAuJ,mFAAM,MAE/J,+MAAiF,KAC/E,4VAA+N,YAA7B;;wBAA4B;MAA9N,wBAA+N,iFAAI,mDA7FzN,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACkB,mBAAuC,sBAA1E,aAA2E,EAAxC,SAAuC,GAQ/D,mBAAmC,sBAGnC,mBAA4B,mBAF5B,mBAAiC,qBACjC,mBAAwD,yCAExD,mBAAmB,UACnB,oBAAoB,EANrC,aAQ4D,EAP3C,SAAmC,EAGnC,SAA4B,EAF5B,SAAiC,EACjC,SAAwD,EAExD,SAAmB,EACnB,SAAoB,GAe2I,oBAA0B,gBAAxM,aAAyM,EAA3B,UAA0B,GAAzI,iDAAqC,EAA8C,qBAA2B,gBAAxE,oBAA4C,iCAAjJ,aAAyM,EAA1I,UAAqC,EAA8C,UAA2B,EAAxE,UAA4C,GAMpH,oBAA0B,gBAAvD,aAA6J,EAAhI,UAA0B,GAAC,4CAAgC,EAAC,qBAA2B,gBAAC,oBAAuC,4BAA5J,aAA6J,EAArG,UAAgC,EAAC,UAA2B,EAAC,UAAuC,GAClJ,oBAAS,EAAjB,aAA2B,EAAnB,iCAAS,EAAjB,aAA2B,EAAnB,UAAS,GACkB,oBAAuC,sBAA1E,aAA2E,EAAxC,UAAuC,GAOO,gDAAoC,EAAC,qBAA2B,gBAAC,oBAA2C,gCAA/L,aAA+N,EAA5I,UAAoC,EAAC,UAA2B,EAAC,UAA2C,GAOvJ,oBAA0B,gBAAlE,aAAsK,EAA9H,UAA0B,GAA6B,0CAA8B,EAA1D,qBAA2B,gBAAgC,oBAAqC,0BAAnK,aAAsK,EAAvE,UAA8B,EAA1D,UAA2B,EAAgC,UAAqC,GAOzH,oBAA0B,gBAAlE,aAAyL,EAAjJ,UAA0B,GAA6B,wCAA4B,EAAxD,qBAA2B,gBAA8B,oBAAmC,wBAA/J,aAAyL,EAA1F,UAA4B,EAAxD,UAA2B,EAA8B,UAAmC,GAGvH,oBAA0B,gBAAlE,aAAyL,EAAjJ,UAA0B,GAA6B,wCAA4B,EAAxD,qBAA2B,gBAA8B,oBAAmC,wBAA/J,aAAyL,EAA1F,UAA4B,EAAxD,UAA2B,EAA8B,UAAmC,GAGvH,oBAA0B,gBAAlE,cAAyL,EAAjJ,UAA0B,GAA6B,wCAA4B,EAAxD,qBAA2B,gBAA8B,qBAAmC,wBAA/J,cAAyL,EAA1F,UAA4B,EAAxD,UAA2B,EAA8B,WAAmC,GAUvH,qBAA0B,gBAAlE,cAA0O,EAAlM,WAA0B,GAAgB,2CAA8B,EAAC,sBAA2B,gBAAC,qBAAqC,0BAAlL,cAA0O,EAAxJ,WAA8B,EAAC,WAA2B,EAAC,WAAqC,GAG0B,qBAA0B,gBAAtO,cAAyO,EAA7B,WAA0B,GAA/K,2CAA8B,EAAC,sBAA2B,gBAAC,qBAAqC,0BAAvJ,cAAyO,EAAlL,WAA8B,EAAC,WAA2B,EAAC,WAAqC,GAGqD,qBAA0B,gBAAtO,cAAyO,EAA7B,WAA0B,GAA/K,2CAA8B,EAAC,sBAA2B,gBAAC,qBAAqC,0BAAvJ,cAAyO,EAAlL,WAA8B,EAAC,WAA2B,EAAC,WAAqC,2BAzD/J,kuBAAiD,GAM3C,o1BAAyM,GAMzM,o1BAA6J,GAS7J,ouBAA+N,GAO/N,o1BAAsK,GAOpK,o1BAAyL,GAGzL,21BAAyL,GAGzL,61BAAyL,GAUzL,62BAA0O,GAG1O,62BAAyO,GAGzO,62BAAyO,GAa/E,4EAAuC,cAAjM,cAA+N,EAArE,WAAuC;oHArKjN,qLAAyD,KACrD,uZAAkF,IA2DlF,uZAA4E,iDA3DtB,mBAA2B,sBAAjF,YAAkF,EAA5B,SAA2B,GA2D5B,mBAAsB,iBAA3E,YAA4E,EAAvB,SAAsB;;;;;;;;;;;;;;;;AC5D/E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAEX;AACzB;AACwB;AACN;AACD;AAEqB;AACnB;AACE;AAEhE;IAiCE,wCAAmB,oBAA0C,EAAS,WAAwB,EAAU,MAAqB,EAAU,YAA0B;QAA9I,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,iBAAY,GAAZ,YAAY,CAAc;QA1BjK,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,wBAAmB,GAAY,IAAI,CAAC;QACpC,mBAAc,GAAY,KAAK,CAAC;QAChC,sBAAiB,GAAY,IAAI,CAAC;QAClC,kBAAa,GAAY,KAAK,CAAC;QAC/B,sBAAiB,GAAY,KAAK,CAAC;QACnC,uBAAkB,GAAY,KAAK,CAAC;QACpC,mBAAc,GAAY,KAAK,CAAC;QAChC,qBAAgB,GAAqB,IAAI,gFAAgB,EAAE,CAAC;QAU5D,kBAAa,GAAkB,IAAI,0EAAa,EAAE,CAAC;QAKnD,cAAS,GAA2B,IAAI,8FAAsB,EAAE,CAAC;QACjE,iBAAY,GAAW,EAAE,CAAC;QACjB,gBAAW,GAAW,IAAI,CAAC;QAElC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,iDAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,+FAA+F;QAC/F,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7B,UAAU;QACR,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACzZ,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACpD,GAAG;IACL,CAAC;IACD,+CAAM,GAAN,UAAO,GAAG;QACR,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;SACpD;aAAM,IAAI,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;SAC5C;IACH,CAAC;IACD,wDAAe,GAAf;QACE,OAAO,IAAI,wDAAS,CAAC;YACnB,kBAAkB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7F,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnF,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnF,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/E,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/E,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/E,cAAc,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClF,cAAc,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClF,cAAc,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;IACD,2DAAkB,GAAlB;QACE,OAAO,IAAI,wDAAS,CAAC;YACnB,kBAAkB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC5F,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACrF,CAAC,CAAC;IACL,CAAC;IACD,kDAAS,GAAT,UAAU,KAAK;QACb,IAAI,KAAK,IAAI,YAAY,EAAE;YACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM,IAAI,KAAK,IAAI,OAAO,EAAE;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QAED,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,oBAAoB,GAAG,KAAK,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,GAAG,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAClb,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,yDAAgB,GAAhB;QACE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,gFAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,yDAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;YACzM,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI;SAEtK,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE1B,CAAC;IAED,yDAAgB,GAAhB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;gBAC9D,OAAO,EAAE,IAAI;aACd;YACD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,GAAG,EAAC;YAChE;gBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aAC/E;YACO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC;YACtE;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,GAAG,EAAE,YAAY,YAAC,MAAM;oBAC/E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;oBACjG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACJ,CAAC;QAEF,IAAI,CAAC,kBAAkB,GAAG;YACxB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAE/D;YACD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAClE;gBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aAC7E;YACK,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACrF,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACnE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACnE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACvE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACvE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACvE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAClE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;YAC3E,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC1E;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;oBACjG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IAGJ,CAAC;IAED,qDAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC;IACD,qDAAqD;IACrD,+CAA+C;IAC/C,GAAG;IACH,6DAAoB,GAApB,UAAqB,IAAI;QAAzB,iBAmBC;QAlBC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,kBAAkB,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC5B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAC,IAAI;gBACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,sDAAa,GAAb,UAAc,KAAK,EAAE,IAAI;QACvB,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;SAC1B;IAEH,CAAC;IACD,0DAAiB,GAAjB;QACE,iDAAiD;QACjD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,gFAAgB,EAAE,CAAC;QAC/C,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;IAEtD,CAAC;IACD,0DAAiB,GAAjB;QACE,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,CAAC,EAAE;YACvC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC,CAAC;YAClF,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC;YAC7E,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACxC;IAEH,CAAC;IACD,6DAAoB,GAApB;QACE,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YACjD,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC,CAAC;YACrF,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC;YAChF,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,iEAAwB,GAAxB;QACE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,+BAA+B;QAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,6DAAoB,GAApB;QACE,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,EAAE;YACtI,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,CAAC,CAAC;SACtC;QAED,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAED,oEAA2B,GAA3B,UAA4B,QAAQ;QAApC,iBAOC;QANC,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChE,KAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,KAAI,CAAC,gBAAgB,GAAG,IAAI,gFAAgB,EAAE,CAAC;YAC/C,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uCAAuC,EAAE,0BAA0B,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+DAAsB,GAAtB;QAAA,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACtE,KAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+DAAsB,GAAtB,UAAuB,QAAQ;QAC7B,IAAI,CAAC,GAAG,OAAO,CAAC,gDAAgD,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACzD;IACH,CAAC;IACD,uDAAc,GAAd,UAAe,KAAK;QAClB,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACvD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC;YACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;aACG,EAAE,wCAAwC;YAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAC/B;IAEH,CAAC;IACD,sDAAa,GAAb;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,gFAAgB,EAAE,CAAC;IACjD,CAAC;IAED,oDAAW,GAAX;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,0EAAa,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,GAAG,CAAC;QACrC,kCAAkC;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,sDAAa,GAAb;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,0EAAa,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC,2CAA2C,CAAC,CAAC;YAChF,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC,+BAA+B,CAAC,CAAC;YAC9D,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC,+BAA+B,CAAC,CAAC;YAC9D,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC,+BAA+B,CAAC,CAAC;QAChE,CAAC,EAAC,GAAG,CAAC,CAAC,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,4DAAmB,GAAnB;QACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,0EAAa,EAAE,CAAC;QACzC,6BAA6B;QAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,yDAAgB,GAAhB;QACE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,SAAS,EAAE;YAC/E,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC;IACpD,CAAC;IAED,kEAAyB,GAAzB,UAA0B,KAAK;QAA/B,iBAYC;QAXC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,qBAAqB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAClG,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,KAAI,CAAC,aAAa,GAAG,IAAI,0EAAa,EAAE,CAAC;YACzC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;YAC1E,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YACxD,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YACxD,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAE1D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IACD,4DAAmB,GAAnB;QAAA,iBAKC;QAJC,IAAI,UAAU,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC;QAClG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC/E,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,GAAG,GAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAE,aAAa;gBAC5H,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,GAAG,GAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAE,aAAa;gBAC5H,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,GAAG,GAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAE,aAAa;gBAC5H,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,GAAG,GAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAE,aAAa;gBACjI,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,GAAG,GAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAE,aAAa;gBACjI,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,GAAG,GAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAE,aAAa;gBACjI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAE1B,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sDAAsD,CAAC,CAAC;gBAE9F,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,SAAS;oBACjF,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;gBAE5E,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,SAAS;oBACjF,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;gBAE5E,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,SAAS;oBACjF,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;aAC7E;SACF;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,0EAAa,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;IAEH,CAAC;IAED,qDAAY,GAAZ,UAAa,CAAC;QACd,qCAAqC;QACrC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC;IACnE,CAAC;IAEC,2DAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,CAAC,GAAG,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACpD;IACH,CAAC;IAED,wDAAe,GAAf;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,0EAAa,EAAE,CAAC;QACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;QACjF,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;QAC/D,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;QAC/D,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IACjE,CAAC;IACD,yDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;SACF;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IACD,8CAAK,GAAL,UAAM,GAAG;QACP,IAAI,GAAG,IAAI,aAAa,EAAE;YACxB,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;gBACjD,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sDAAsD,CAAC,CAAC;SAC7F;aAAM,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,EAAE;YACzE,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC;gBAClC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;YAE5E,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC;gBAClC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;YAE5E,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC;gBAClC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;SAC7E;IACH,CAAC;IAGD,8CAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IACH,qCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGCnciB,6xBAAkE,iFAElE,2BAF6C,mHAAoB,GAAjE,YAAkE,EAArB,+HAAoB,GAAjE,YAAkE,EAArB,SAAoB,2BAAC,sEAElE;wGAQA,sJAA+G,+LAAmB;wGAQ5H,szBAAyF,iFAEzF,2BAF4C,mHAAuB,GAAnE,YAAyF,EAA7C,+HAAuB,GAAnE,YAAyF,EAA7C,SAAuB,2BAAsB,6EAEzF;wGALF;;;;;wBAEsJ;MADzG;;wBAAsD;MAC/B;;wBAA+C;MAFnH,g1DAEsJ,IACpJ,odAAyF,iDADnF,gGAA2D,GAFnE,YAEsJ,EAA9I,UAA2D,GAD3D,mBAAoC,6CAAC,8CAAsD,8CADnG,YAEsJ,EAD9I,UAAoC,EAAC,UAAsD,GAEzF,mBAAmC,uCAA3C,YAAyF,EAAjF,UAAmC,2BAHE,yIAA2B,GAAC,yIAAyB,GAApG,muBAEsJ,EAFvG,SAA2B,EAAC,SAAyB,EAApG,sFAEsJ;wGAHxJ,0KAAmO,KACjO,2YAEsJ,yBADlD,kIAA0E,IAD9K,YAEsJ,EADlD,SAA0E,2BAF3K,kIAA4B,GAAjC,YAAmO,EAA9N,SAA4B;yGAc7B,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,6EAEtF;yGANF;;;;;wBAGmE;MAF3D;;wBAAsD;MACM;;wBAAgD;MAFpH,g1DAGmE,IACjE,qdAAsF,iDAFhF,gGAA2D,GAFnE,YAGmE,EAD3D,UAA2D,GAFkC,mBAAoC,6CACjI,8CAAsD,8CAD9D,YAGmE,EAHkC,UAAoC,EACjI,UAAsD,GAGpD,mBAAmC,uCAA3C,YAAsF,EAA9E,UAAmC,2BAJE,yIAA2B,GAAC,yIAAyB,GAApG,muBAGmE,EAHpB,SAA2B,EAAC,SAAyB,EAApG,sFAGmE;wGAJrE,uLAAkH,KAChH,4YAGmE,yBAFJ,kIAA0E,IADzI,YAGmE,EAFJ,SAA0E,2BAFtI,kIAA4B,GAAjC,YAAkH,EAA7G,SAA4B;yGAa7B,qzBAAsF,iFAEtF,2BAF4C,mHAAqB,GAAjE,YAAsF,EAA1C,+HAAqB,GAAjE,YAAsF,EAA1C,SAAqB,2BAAqB,sEAEtF;yGAJF;;;;;wBAA4Z;MAAlR;;wBAAsD;MAAwI;;wBAA+C;MAAvX,g1DAA4Z,IAE1Z,qdAAsF,iDAFoL,gGAA2D,GAAvU,YAA4Z,EAAhJ,UAA2D,GAAlO,mBAAoC,6CAAC,8CAAsD,8CAAhM,YAA4Z,EAAvT,UAAoC,EAAC,UAAsD,GAEtL,mBAAmC,uCAA3C,YAAsF,EAA9E,UAAmC,2BAFE,yIAA2B,GAAC,yIAAyB,GAApG,muBAA4Z,EAA7W,SAA2B,EAAC,SAAyB,EAApG,sFAA4Z;yGAD9Z,0KAAsG,KACpG,4YAA4Z,yBAA3N,kIAA0E,IAA3Q,YAA4Z,EAA3N,SAA0E,2BADxQ,kIAA4B,GAAjC,YAAsG,EAAjG,SAA4B;yGAQjC,0KAAgI,KAC9H;;;;;;;;;;;wBAC4G;MADpB;;wBAAsD;MACvI;;wBAAwC;MAD/C,i5DAC4G,iDADmK,yFAA2D,GAA1U,YAC4G,EADmK,UAA2D,GAA3L,mBAAoC,sCAA3F,8CAAsD,uCAA9I,YAC4G,EADmC,UAAoC,EAA3F,UAAsD,mDAD3I,kIAA4B,GAAjC,YAAgI,EAA3H,SAA4B,GACxB,kIAA2B,GAAC,8JAAoD,GAAgJ,uIAAuC,GAA9Q,wuBAAO,SAA2B,EAAC,SAAoD,EAAgJ,SAAuC,EAA9Q,wFAC4G;yGAM5G;;;;;;;;;;;wBAAsd;MAA9X;;wBAAsD;MAA+O;;wBAAwC;MAAra,i5DAAsd,iDAAX,mBAAQ,EAAnd,YAAsd,EAAX,UAAQ,GAApU,mBAAoC,sCAA3F,8CAAsD,uCAA9I,YAAsd,EAAvU,UAAoC,EAA3F,UAAsD,mDAAvI,kIAA2B,GAAC,8JAAoD,GAAgJ,uIAAuC,GAA9Q,uuBAAO,SAA2B,EAAC,SAAoD,EAAgJ,SAAuC,EAA9Q,uFAAsd;yGAEtd;;;;;;;;;;;wBAA+b;MAApU;;wBAAsD;MAA6L;;wBAAyC;MAAvZ,i5DAA+b,iDAAhK,wFAA2D,GAA1V,YAA+b,EAAhK,SAA2D,GAApQ,mBAAoC,sCAAC,8CAAsD,uCAAjL,YAA+b,EAAzW,UAAoC,EAAC,UAAsD,2BAA1K,kIAA2B,GAAlC,muBAA+b,EAAxb,SAA2B,EAAlC,sFAA+b;wGA5Czc,iLAAiF,KAC/E,wMAA2E,KACzE,qMAAyE,KACvE,2YAA+G,IAEjH,kMAAqE,KACnE,kLAAqD,KACnD,2YAAmO,IASnO,4YAAkH,IAUlH,6YAAsG,IAQtG,6YAAgI,IAOhI,2KAAgE,KAC9D,6YAAsd,IAEtd,6YAA+b,yBAzC5b,uHAA8E,IAArF,YAA+G,EAAxG,SAA8E,GAInB,qQAAkK,IAAlO,YAAmO,EAAnK,SAAkK,GASrJ,4DAAoC,GAAjH,aAAkH,EAArC,SAAoC,GAUjD,6DAAqC,GAArG,aAAsG,EAAtC,SAAqC,GAQrC,2GAA+D,IAA/H,aAAgI,EAAhE,SAA+D,GAQkJ,yKAA6G,IAA5X,aAAsd,EAAvM,SAA6G,GAE1M,wKAA4G,IAA9R,aAA+b,EAA7Q,SAA4G,2BAH3R,2HAA4B,GAAjC,aAAgE,EAA3D,SAA4B;wGAlE/C,sMAAsG,KACpG,iNAAqF,KAErF,mLAAuD,KACrD,+KAAyD,8FAAiB,MAE5E,kOAAqG,KACnG;;;;;;mzBAA4B,IAC1B,2NAA6F,KAC3F,yMAA4E,KAC1E,0HAAO,yFAAY,MAErB,iMAAmE,KACjE;;;;;wBAG4C;MAFpC;;wBAAuD;MACvD;;;wBAAqD;MAF7D,+uDAG4C,IAC1C,m0BAA8B,0FAAc,MAC5C,qdAAkE,IAOxE,qdAAiF,IAwDjF,2MAAuF,kDA1EnF,mBAAqB,UAA3B,YAA4B,EAAtB,SAAqB,GAQyC,mBAAQ,EAFtE,aAG4C,EADkB,UAAQ,GADN,8BAAkB,EAA1E,oBAAuD,4CAD/D,aAG4C,EAFoB,UAAkB,EAA1E,UAAuD,GAGrD,uBAAY,EAApB,aAA8B,EAAtB,oCAAY,EAApB,aAA8B,EAAtB,UAAY,GACZ,oBAAoC,cAA5C,aAAkE,EAA1D,UAAoC,GAO7C,oBAA4B,SAAjC,aAAiF,EAA5E,UAA4B,mDAlBnC,qtBAA4B,GAMtB,g1BAG4C,GAiEV,8GAAyB,GAA/D,aAAuF,EAAjD,UAAyB;yGA8CnE,gPAAqJ,KACnJ,wHAAM,4FAAe;yGA2BrB,uKAAyE,KACvE,6IAAsB,KACpB,iMAAqE,uFAAU,MAC/E,sKAA0C,KACxC;;;;;;;;;;;;;;;;;;;;wBAAmW;MAA7S;;wBAA2C;MAAwJ;;wBAA+B;MAAC;;wBAA8B;MAAvT,8nDAAmW,IAGvW,6JAA+B,KAC7B,kMAAqE,uFAAU,MAC/E,uKAA0C,KACxC;;;;;;;;;;;;;;;;;;;;wBAA6T;MAArQ;;wBAA6C;MAA0G;;wBAAiC;MAAC;;wBAAgC;MAAjR,ioDAA6T,iDAN7M,yBAAc,EAAxE,mBAA2C,gCAAjG,YAAmW,EAAnP,SAAc,EAAxE,SAA2C,GAMmB,0BAAc,EAA1E,oBAA6C,kCAArG,aAA6T,EAAzM,UAAc,EAA1E,UAA6C,2BANrG,qtBAAmW,GAMnW,kuBAA6T;yGAInU,uKAAyE,KACvE,4IAAsB,KACpB,iMAAqE,4FAAe,MACpF,sKAA0C,KACxC;;;;;;;;;;;wBACwK;MAAjK;;wBAA4C;MADnD,i0CACwK,IAG5K,6IAAsB,KACpB,kMAAqE,6FAAgB,MACrF,uKAA0C,KACxC;;;;;;;;;;;wBAAiP;MAA5J;;wBAAuC;MAA5H,m0CAAiP,iDAPtL,gCAAqB,EAC5B,kBAAQ,EAArD,mBAA4C,iCADnD,YACwK,EAD7G,SAAqB,EAC5B,SAAQ,EAArD,SAA4C,GAMU,mCAAuB,EAAyC,mBAAQ,EAAhD,oBAAuC,4BAA5H,aAAiP,EAApL,UAAuB,EAAyC,UAAQ,EAAhD,UAAuC,2BAP5H,qtBACwK,GAMxK,ouBAAiP;yGAgBrP,sSAA4L,YAApC;;wBAAiC;MAAzL,wBAA4L;yGAC5L,0SAAiM,YAApC;;wBAAiC;MAA9L,wBAAiM;yGAIjM,uRAA4K,YAAzC;;wBAAsC;MAAzK,wBAA4K;yGAC5K,4RAAkL,YAAzC;;wBAAsC;MAA/K,wBAAkL;yGAIpL,2LAAoF,KAClF,0WAAkQ,YAA1P;;;wBAAiE;MAAzE,wBAAkQ,sFAElQ;yGAEF,2LAA6F,KAC3F,0WAAkN,YAA1M;;wBAAiB;MAAzB,wBAAkN,sFAElN;yGA8CE,8MAAiH;yGACjH,gNAAkH;yGAQlH,iKAA+E,KAC7E,mLAA6D,mMAA8B;yGAU3F,iMAAwH,IAA1E,kXAA2C,GAAzF,YAAwH,EAA1E,SAA2C;yGACzF,iMAAwH,IAA1E,kXAA2C,GAAzF,YAAwH,EAA1E,SAA2C;yGACzF,iMAAwH,IAA1E,kXAA2C,GAAzF,YAAwH,EAA1E,SAA2C;yGAQzF,iMAA0H,IAA5E,oXAA6C,GAA3F,YAA0H,EAA5E,SAA6C;yGAC3F,iMAA0H,IAA5E,oXAA6C,GAA3F,YAA0H,EAA5E,SAA6C;yGAC3F,iMAA0H,IAA5E,oXAA6C,GAA3F,YAA0H,EAA5E,SAA6C;yGAzBjG,sJAAuF,KACrF,6IAAuB,KACrB,4YAA+E,IAIjF,gLAAmD,KACjD,+JAAyC,KACzC,6IAAuB,6HAAM,gFAAiC,MAC9D,6JAAuC,KACrC,sTAAsP,YAA1J;;;wBAAuD;MAAC;;;wBAAsD;MAA1M,wBAAsP,KAExP,8JAAuC,KACrC,6YAAwH,IACxH,6YAAwH,IACxH,6YAAwH,IAG1H,8JAAuC,KACrC,+LAAmF,KAErF,4IAAqB,KACrB,8JAAuC,KACrC,6YAA0H,IAC1H,6YAA0H,IAC1H,6YAA0H,IAG5H,8JAAuC,oMAA0F,KACjI,4IAAqB,kDA3BL,0DAAyC,GAAzD,YAA+E,EAA/D,SAAyC,GAWhD,yCAA0B,GAAjC,aAAwH,EAAjH,SAA0B,GAC1B,yCAA0B,GAAjC,aAAwH,EAAjH,SAA0B,GAC1B,yCAA0B,GAAjC,aAAwH,EAAjH,SAA0B,GAQd,yCAA0B,GAA7C,aAA0H,EAAvG,SAA0B,GAC1B,yCAA0B,GAA7C,aAA0H,EAAvG,SAA0B,GAC1B,yCAA0B,GAA7C,aAA0H,EAAvG,SAA0B,2BAjBlB,8EAAiC,GAEvC,4HAAiC,GAAtD,aAAsP,EAAjO,SAAiC,GASnC,4HAAiC,GAApD,aAAmF,EAAhE,SAAiC,GASI,oIAAwC,GAA3D,aAA0F,EAAvE,UAAwC;yGAUpG,iOAAoI;yGACpI,6NAA+H;yGAY/H,sHAAiC,yIAA4D;yGAC7F,sHAAiC,wIAA2D;yGAH9F,+IAA0C,KACxC,sHAAI,wFAAW,MACf,4YAAiC,IACjC,4YAAiC,iDAD7B,2CAA4B,GAAhC,YAAiC,EAA7B,SAA4B,GAC5B,2CAA4B,GAAhC,YAAiC,EAA7B,SAA4B;yGAjBtC,ojBAAsF,IACpF,8MAAkF,KAChF,gPAA6F,YAAvE;;wBAA4B;MAAlD,wBAA6F,KAC3F,4YAAoI,IACpI,4YAA+H,IAC/H,kNAAsF,KACpF,wMAAgE,YAAlC;;wBAAiC;MAA/D,wBAAgE,KAC9D,4LAAiE,KAMzE,4LAAyD,KACvD,6YAA0C,iDAdzC,2BAAuB,EAA5B,YAAsF,EAAjF,SAAuB,GAG+E,oBAA4B,sBAAjI,YAAoI,EAA/B,SAA4B,GAChC,mBAA2B,sBAA5H,YAA+H,EAA9B,SAA2B,GAUzH,oBAAgB,UAArB,aAA0C,EAArC,SAAgB;wGAnU7B,kMAA0F,KACxF,sKAA0C,KACxC,kMAAsE,KACpE,+LAE4D,YAA3C;;wBAA0C;MAF3D,8+BAE4D,MAE9D,2YAAsG,IAsFxG,wKAA0C,KACxC,oOACoE,KAClE,0LAA8D,KAC5D,6IAAsB,KACpB,yHAAM,oFAAO,MAEf,6IAAsB,KAExB,yMAA4E,KAC1E,6IAAsB,KACpB,yHAAM,6FAAgB,MAExB,6IAAsB,KACpB,yHAAM,iFAAuB,MAGjC,2LAA8D,KAC5D,6IAAsB,KACpB,yHAAM,2FAAc,MAEtB,6IAAsB,KACpB,yHAAM,iFAAqB,MAG/B,2LAA8D,KAC5D,6IAAsB,KACpB,yHAAM,0FAAa,MAErB,6IAAsB,KACpB,yHAAM,iFAAoB,MAG9B,yLAA4D,KAC1D,6IAAsB,KACpB,yHAAM,2FAAc,MAEtB,6IAAsB,KACpB,yHAAM,iFAAqB,MAG/B,6YAAqJ,IAKvJ,qOAAoJ,KAClJ,wKAA0C,KACxC,2LAA8D,KAC5D,iMAAsD,YAAhC;;wBAA+B;MAArD,wBAAsD,KACpD,yHAAM,uFAAU,MAElB,6IAAsB,KAExB,2LAA6D,KAC3D,8IAAsB,KACpB,wLAA2D,kFAAK,MAChE,uKAA0C,KACxC;;;;;;;;;;;wBAAkP;MAAxK;;wBAAsC;MAAhH,oxDAAkP,IAGtP,8IAAsB,KACpB,wLAA2D,oFAAO,MAClE,uKAA0C,KACxC;;;;;;;;;;;wBAAoP;MAA/K;;wBAA6C;MAAlH,oxDAAoP,IAK1P,6YAAyE,IAczE,6YAAyE,IAiB7E,qOAAoJ,KAClJ,2LAA8D,KAC5D,6IAAsB,KACpB,yHAAM,oFAAO,MAEf,6IAAsB,KAGxB,sNAAwF,KACtF,kLAAqD,KACnD,6YAA4L,IAC5L,6YAAiM,IAGnM,iLAAoD,KAClD,6YAA4K,IAC5K,6YAAkL,IAGtL,6MAA+E,KAC7E,6YAAoF,IAKpF,8YAA6F,IAM7F,6LAA+D,KAC7D,oWAA+O,YAAvO;;;wBAAsD;MAA9D,wBAA+O,mFAE/O,MAEF,6LAA+D,KAC7D,+XAAmR,YAA3Q;;;wBAAgD;MAAxD,wBAAmR,mFAEnR,MAIN,umBACoE,IAClE,mNAAqF,KAErF,yKAAgD,KAC9C,mKAAoC,KAClC,0MAA2E,KACzE;;;;;wBAK8D;MALpB;;wBAAyB;MAE7C;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAL7D,yxEAK8D,IAGhE,kLAAmD,KACjD,wKAA0C,KAExC,4LAA8D,8OAAyF,YAAlC;;wBAAiC;MAAxF,wBAAyF,+EAAE,MACzJ,+LAAiE,+NAA0E,YAAlC;;wBAAiC;MAAzE,wBAA0E,+EAAE,MAC7I,gMAAkE,+NAA0E,YAAlC;;wBAAiC;MAAzE,wBAA0E,+EAAE,MAIlJ,iLAAmD,+HAAM,kFAAK,MAC9D,iLAAmD,+HAAM,kFAAK,MAC9D,iLAAmD,+HAAM,kFAAK,MAC9D,+LAAiE,8EAAC,MAClE,iLAAmD,+HAAM,oFAAO,MAChE,+JAAiC,+HAAM,8FAAiB,MACxD,mNAAyD,YAAxB;;wBAAuB;MAAxD,wBAAyD,KACvD,8YAAiH,IACjH,8YAAkH,IAIxH,gQAAkI,KAEhI,udAAuF,IAmC3F,8YAAsF,iDAlTnE,mBAA2B,cAAC,mBAAmB,UACuB,kBAAc,EADpC,kBAAU,EAC1D,mBAAsB,WAAC,0BAAuB,EAAC,yBAAsB,EADtF,YAE4D,EAF3C,SAA2B,EAAC,SAAmB,EACuB,SAAc,EADpC,SAAU,EAC1D,SAAsB,EAAC,SAAuB,EAAC,SAAsB,GAGf,oBAA4B,sBAArG,YAAsG,EAA7B,SAA4B,GA+HiB,oBAAgC,sBAApJ,aAAqJ,EAAjC,UAAgC,GAiB3B,mBAAQ,EAAzH,aAAkP,EAAjI,UAAQ,GAAvE,0BAAc,EAAC,mBAAQ,EAAC,oBAAsC,2BAAhH,aAAkP,EAAhM,UAAc,EAAC,UAAQ,EAAC,UAAsC,GAMG,mBAAQ,EAA3H,aAAoP,EAAjI,UAAQ,GAAzE,qBAAS,EAAC,mBAAQ,EAAC,oBAA6C,kCAAlH,aAAoP,EAAlM,UAAS,EAAC,UAAQ,EAAC,UAA6C,GAKjG,oBAA8B,yBAArD,aAAyE,EAAlD,UAA8B,GAc9B,oBAA8B,yBAArD,aAAyE,EAAlD,UAA8B,GA2BmE,oBAAiC,4BAAvJ,aAA4L,EAAtE,UAAiC,GAC7B,qBAAkC,4BAA5J,aAAiM,EAAvE,UAAkC,GAIrD,oBAA2B,sBAAlI,aAA4K,EAArE,UAA2B,GACtB,qBAA4B,sBAAxI,aAAkL,EAAtE,UAA4B,GAIrI,oCAAoB,GAAzB,aAAoF,EAA/E,UAAoB,GAKpB,6CAA6B,GAAlC,cAA6F,EAAxF,UAA6B,GAkBjC,4BAAuB,EAA5B,cACoE,EAD/D,UAAuB,GAOE,oBAAmB,aACnB,oBAA4B,kBADlD,cAK8D,EALxC,UAAmB,EACnB,UAA4B,GADR,oBAAyB,cAAnE,cAK8D,EALpB,UAAyB,GAwBe,qBAA4B,sBAA9G,cAAiH,EAA/B,UAA4B,GAC1B,oBAA2B,sBAA/G,cAAkH,EAA9B,UAA2B,GAM5G,oBAAuD,4BAA9D,cAAuF,EAAhF,UAAuD,GAmCL,oBAAwB,mBAArF,cAAsF,EAAzB,UAAwB,mDAvN/D,kEAA8D,GAApF,YACoE,EAD9C,SAA8D,GAaxE,iEAAuB,GAQvB,iEAAqB,GAQrB,gEAAoB,GAQpB,iEAAqB,GAQoD,mEAA8D,GAAnJ,aAAoJ,EAA/D,UAA8D,GAYzI,o1BAAkP,GAMlP,o1BAAoP,GAoCzK,mEAA8D,GAAnJ,aAAoJ,EAA/D,UAA8D,GAqCuG,oBAA8B,oBAAlR,cAAmR,EAA/B,UAA8B,GAOnR,mEAA8D,GADnE,cACoE,EAA/D,UAA8D,GAM3D,81BAK8D;yGAsF1E,2NAAsJ,YAA1I;;wBAAoC;MAAhD,6dAAsJ,MACpJ,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,qGAAqD,MAAM,sHAAM,KAC1J,wLAA4D,8GAAiC,MAE/F,wLAA2D,KACvD,qKAAwC,KACtC,wRACgD,YAAxC;;wBAAuC;MAD/C,wBACgD,kFAEhD,MAGF,qKAAwC,KACtC,yWAA2P,YAAnE;;;wBAAkE;MAA1P,wBAA2P,+GAAkC,mDAhB3L,qBAAkB,EAAlH,mBAAoC,yBAA+E,qBAAsB,EAArJ,YAAsJ,EAA1C,SAAkB,EAAlH,SAAoC,EAA+E,SAAsB,mDAItD,oEAAqD;yGAoBpJ,wNAAgJ,YAApI;;wBAAkC;MAA9C,6dAAgJ,MAC9I,4LAAwO,YAAjE;;;wBAAgE;MAAvO,+kBAAwO,mDADpI,qBAAkB,EAA5G,mBAAkC,uBAA2E,qBAAsB,EAA/I,YAAgJ,EAA1C,SAAkB,EAA5G,SAAkC,EAA2E,SAAsB,GAC3H,iCAA2B,EAAC,kDAAkD,EAAC,oBAAa,EAAC,qBAAgB,EAAqB,qBAAkB,EAAtC,qBAAmB,EAAnJ,YAAwO,EAAtN,SAA2B,EAAC,SAAkD,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAkB,EAAtC,SAAmB;yGAUjJ,wKAAuE,0GAA6B;yGACpG,yLAAwF,4GAA+B;yGAGrH,+JAA8D,iIAAoD;yGAClH,+JAA8D,8SAG9D;yGAZN,0NAAmJ,YAAvI;;wBAAmC;MAA/C,6dAAmJ,MACjJ,yKAA+C,KAC7C,4LAAsE,8FAAiB,MACvF,sHAAM,KACN,4YAAuE,IACvE,4YAAwF,IACxF,uHAAM,KACN,oLAAuD,KACrD,6YAA8D,IAC9D,6YAA8D,IAI9D,uHAAM,KAER,iLAAoD,KAClD,6IAAsB,KACtB,qOAAwG,KACtG,iQAA4I,YAAtD;;;wBAAqD;MAA3I,wBAA4I,sGAAyB,MAEvK,8NAA2F,KACzF,wVAAmN,YAApL;;wBAA2C;MAA1E,wBAAmN,iFAAI,mDArBtH,qBAAkB,EAA/G,mBAAmC,wBAA6E,qBAAsB,EAAlJ,YAAmJ,EAA1C,SAAkB,EAA/G,SAAmC,EAA6E,SAAsB,GAIxI,mCAAoB,GAA1B,YAAuE,EAAjE,SAAoB,GACpB,mCAAoB,GAA1B,YAAwF,EAAlF,SAAoB,GAGlB,mCAAoB,GAA1B,aAA8D,EAAxD,SAAoB,GACpB,mCAAoB,GAA1B,aAA8D,EAAxD,SAAoB;yGAqB9B,kNAAgH,KAC9G,8LAAyH,YAA/C;;wBAA8C;MAAxH,k8BAAyH,mDAAzG,0BAAyB,EAAC,mBAA+B,gBAAzE,YAAyH,EAAzG,SAAyB,EAAC,SAA+B;yGAKvE,6IAAuE,KACrE,4KAA+B,YAAzB;;wBAAwB;MAA9B,wBAA+B,0OAA2G,KAC1I,gJAA0B,6FAAoC,MAC9D,wHAAM,6PAA8H,wDAD1G,gEAAoC;yGAIhE,4LAAqF,KACnF,+KAAmD,KACjD;;;;;;;;;;;wBAAkM;MAAzD;;wBAAkC;MAAC;;wBAAmB;MAA/L,8wCAAkM,IAEpM,mOAA2E,YAAxB;;wBAAuB;MAA1E,wBAA2E,KACzE,2MAA+E,kDAH6F,mBAAmB,QAA/L,YAAkM,EAAtB,SAAmB,2BAA/L,8sBAAkM;yGAVxM,mkBAAqP,IAEnP,4YAAuE,IAMvE,4YAAqF,IASrF,mLAAuD,KACrD,yWAUqD,YAJpC;;wBAAuC;MACvC;;wBAA2C;MAC3C;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAVpD,6lDAUqD,mDA5BpD,iHAA+F,IAApG,YAAqP,EAAhP,SAA+F,GAE3E,+DAA+C,IAAtE,YAAuE,EAAhD,SAA+C,GAMjE,mBAAoB,eAAzB,YAAqF,EAAhF,SAAoB,GAWN,mBAA2B,cAG3B,mBAAwB,eAFxB,mBAAyB,aACzB,mBAAwD,yCAExD,mBAAmB,UALpC,aAUqD,EATpC,SAA2B,EAG3B,SAAwB,EAFxB,SAAyB,EACzB,SAAwD,EAExD,SAAmB,mDAvBiH,mGAA2F,GAApP,YAAqP,EAA5F,SAA2F;yGAoC9O,+LAAyP,YAArH;;wBAA0C;MAA9K,8+BAAyP,mDAA1M,mBAA2B,cAAC,0BAAsB,EAAoI,mBAAmB,UAAtJ,kBAAU,EAAC,mBAAsB,WAA4C,iCAA8B,EAAC,yBAAsB,EAApO,YAAyP,EAA1M,SAA2B,EAAC,SAAsB,EAAoI,SAAmB,EAAtJ,SAAU,EAAC,SAAsB,EAA4C,SAA8B,EAAC,SAAsB;yGAMpO,sLAAwF,KAEtF,sLAA0D,KAG1D,sLAA0D,KAExD,yPAAiI,YAAxD;;wBAAqD;MAA9H,wBAAiI,KAEnI,sLAA0D,KAExD,yPAAmI,YAA1D;;wBAAuD;MAAhI,wBAAmI;yGAgDrI,yKAA0E,mFAAM;yGAChF,yKAA0E;yGAzB9E,sLAAuF,KAErF,qMAAyE,KACvE,wKAA4C,KAC1C,qHAAG,qFAAQ,MAEb,wLAA4D,4IAAoC,IAElG,qMAAyE,KACvE,wKAA4C,KAC1C,sHAAG,kFAAK,MAEV,0KAA6C,iFAAwB,MAEvE,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,qFAAQ,MAEb,0KAA6C,iFAAwB,MAEvE,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,oFAAO,MAEZ,6YAA0E,IAC1E,6YAA0E,IAE5E,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,yFAAY,MAEjB,0KAA6C,iFAA+B,MAE9E,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,qFAAQ,MAEb,0KAA6C,iFAAwB,MAGvE,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,kFAAK,MAEV,0KAA6C,iFAAqB,MAGpE,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,yFAAY,MAEjB,0KAA6C,iFAAgC,MAE/E,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,kFAAK,MAEV,0KAA6C,iFAAqB,MAGpE,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,yFAAY,MAEjB,0KAA6C,iFAA4B,MAG3E,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,mFAAM,MAEX,0KAA6C,iFAAuB,MAGtE,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,qFAAQ,MAEb,0KAA6C,iFAA8B,MAG7E,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,iFAAI,MAET,0KAA6C,8IAAoD,IAGnG,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,wFAAW,MAEhB,0KAA6C,iFAAkB,MAGjE,sMAAyE,KACvE,yKAA4C,KAC1C,sHAAG,oFAAO,MAEZ,0KAA6C,iFAAuB,MAEtE,sMAAyE,KACvE,yKAA4C,KAC5C,4RAAwI,YAA7B;;wBAA4B;MAAvI,wBAAwI,8FAAiB,mDA/EnI,2CAA4B,GAAlD,aAA0E,EAApD,SAA4B,GAC5B,2CAA4B,GAAlD,aAA0E,EAApD,SAA4B,mDAnBU,8NAAoC,GAMnD,kEAAwB,GAMxB,kEAAwB,GAaxB,yEAA+B,GAM/B,kEAAwB,GAOxB,+DAAqB,GAOrB,0EAAgC,GAMhC,+DAAqB,GAOrB,wEAA4B,GAO5B,mEAAuB,GAOvB,0EAA8B,GAO9B,wPAAoD,GAOpD,8DAAkB,GAOlB,mEAAuB;yGA/I5E,uLAA0G,KACxG,6LAAgE,KAC9D,qLAAyD,KACvD,4YAAyP,IAE3P,wkBAAiF,IAC/E,uLAA2D,KACzD,yHAAO,oLAAyD,6FAAgB,MAElF,6YAAwF,IAiBxF,0kBAAkI,IAChI,kpDAOqC,MAM3C,kOAAqG,KACnG,sMAAyE,KACvE,oJAA6B,gHAAmC,MAElE,6YAAuF,iDAzCpE,4CAA6B,GAA9C,YAAyP,EAAxO,SAA6B,GAE3C,2BAAuB,EAA5B,YAAiF,EAA5E,SAAuB,GAIrB,4CAA6B,GAAlC,aAAwF,EAAnF,SAA6B,GAiB7B,oFAAuE,GAA5E,aAAkI,EAA7H,SAAuE,GAGzD,mBAAkC,qBAGlC,mBAA+B,sBAF/B,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAPpC,aAOqC,EALpB,SAAkC,EAGlC,SAA+B,EAF/B,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,GAUnC,6CAA6B,GAAlC,aAAuF,EAAlF,UAA6B;yGAlF1C,wLAAmF,KACjF,4YAAgH,IAGhH,qLAA+F,KAC7F,4YAAqP,IAiCrP,4YAA0G,iDArCtB,wCAAyB,GAA/G,YAAgH,EAA1B,SAAyB,GAIsB,oBAAqB,eAAxJ,YAAqP,EAAlH,SAAqB,GAiClI,+DAA+C,IAArE,YAA0G,EAApF,SAA+C,mDAlC9B,2DAAqD,GAA9F,YAA+F,EAAtD,SAAqD;yGA6LhG,0MAAiG,YAArF;;wBAAwB;MAApC,0cAAiG,MAC/F,4JAAmC,kDADzB,mBAAwB,aAAgC,uBAA4B,EAAhG,YAAiG,EAArF,SAAwB,EAAgC,SAA4B;yGAMhG,0LAAuH,YAA3G;;wBAA6B;MAAyB;;wBAAoD;MAAtH,+ZAAuH,MACrH;;wBAUkD;MAAvC;;wBAAsC;MAVjD,w6CAUkD,mDAXxC,mBAA6B,kBAAzC,YAAuH,EAA3G,SAA6B,GAK5B,mBAAqB,WAFrB,mBAAmB,UAGnB,mBAAmC,kBAFnC,mBAAqC,mBAFrC,yBAAoB,EAMpB,mBAA+B,oBAD/B,yBAAqB,EAGrB,mBAA2B,oBAD3B,oBAAmB,UAR9B,YAUkD,EANvC,SAAqB,EAFrB,SAAmB,EAGnB,SAAmC,EAFnC,SAAqC,EAFrC,SAAoB,EAMpB,SAA+B,EAD/B,SAAqB,EAGrB,SAA2B,EAD3B,UAAmB,2BARC,oCAA8B,EAA7D,YAUkD,EAVnB,SAA8B;yGAgB7D,mMAAoI,YAAtC;;wBAAqC;MAAnI,49BAAoI,mDAAvF,mBAA6B,aAAC,yBAAkB,EAA7F,YAAoI,EAAvF,SAA6B,EAAC,SAAkB;yGAC7F,6wBAA8F,iDAAjD,mBAA6B,aAAC,yBAAkB,EAA7F,YAA8F,EAAjD,SAA6B,EAAC,SAAkB;yGAF/F,kNAAoL,YAAxK;;wBAAgC;MAA5C,6dAAoL,MAClL,yYAAoI,IACpI,yYAA8F,iDAFJ,sDAAyC,GAAzH,mBAAgC,qBAA0F,sDAA6C,GAAnL,YAAoL,EAAxF,SAAyC,EAAzH,SAAgC,EAA0F,SAA6C,GAC3J,qCAAsB,GAA5C,YAAoI,EAA9G,SAAsB,GACtB,qCAAsB,GAA5C,YAA8F,EAAxE,SAAsB;yGAG9C,kNAAsI,YAA1H;;wBAAgC;MAA5C,6dAAsI,MACpI,8LAAsH,YAA7C;;wBAA4C;MAArH,69CAAsH,mDAD5B,qBAAkB,EAAlG,mBAAgC,qBAAmE,qBAAsB,EAArI,YAAsI,EAA1C,SAAkB,EAAlG,SAAgC,EAAmE,SAAsB,GACtG,mBAAwB,aAAxC,iBAAe,EAA0B,yBAAkB,EAAxE,YAAsH,EAAzF,SAAwB,EAAxC,SAAe,EAA0B,SAAkB;yGAI1E,sNAA0I,YAA9H;;wBAAgC;MAA5C,6dAA0I,MACxI,4LAAqN,YAA7C;;wBAA4C;MAApN,+kBAAqN,mDADvH,qBAAkB,EAAtG,mBAAgC,qBAAuE,qBAAsB,EAAzI,YAA0I,EAA1C,SAAkB,EAAtG,SAAgC,EAAuE,SAAsB,GACrH,uCAAiC,EAAC,6CAA6C,EAAC,oBAAa,EAAC,qBAAgB,EAAqB,qBAAkB,EAAtC,qBAAmB,EAApJ,YAAqN,EAAnM,SAAiC,EAAC,SAA6C,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAkB,EAAtC,SAAmB;yGAKtJ,uNAAsH,YAA1G;;wBAAiC;MAA7C,0bAAsH,MACpH,4LAAuN,YAA9C;;wBAA6C;MAAtN,+kBAAuN,mDADtH,qBAAkB,EAAzG,mBAAiC,sBAA7C,YAAsH,EAAnB,SAAkB,EAAzG,SAAiC,GACzB,uCAAiC,EAAC,8CAA8C,EAAC,oBAAa,EAAC,qBAAgB,EAAqB,qBAAkB,EAAtC,qBAAmB,EAArJ,YAAuN,EAArM,SAAiC,EAAC,SAA8C,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAkB,EAAtC,SAAmB;yGAKvJ,gNAAiG,YAArF;;wBAA0B;MAAtC,0bAAiG,MAC/F,4LAAoM,YAAhC;;wBAA+B;MAAnM,+kBAAoM,mDADxH,qBAAkB,EAApF,mBAA0B,eAAtC,YAAiG,EAAnB,SAAkB,EAApF,SAA0B,GAClB,+BAAyB,EAAC,kDAAkD,EAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAAjJ,YAAoM,EAAlL,SAAyB,EAAC,SAAkD,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;yGAInJ,2NAAkI,YAAtH;;wBAAqC;MAAjD,0bAAkI,MAChI,4LAAoM,YAArC;;wBAAoC;MAAnM,+kBAAoM,mDADvF,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAC7B,iCAA2B,EAAC,2CAA2C,EAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAA5I,YAAoM,EAAlL,SAA2B,EAAC,SAA2C,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;yGAqBxI,gMAAwG,KACtG,sMAA0E,KACxE,4MAAoF,YAApC;;wBAAiC;MAAjF,wBAAoF,KAEtF,sKAA0C,4IAA0C,IACpF,gLAAoD,gFAA+B,MACnF,gLAAoD,gFAA0C,MAC9F,gLAAmD,KACjD,2NAA6E,YAAnC;;wBAAkC;MAA5E,wBAA6E,gCANtD,2HAAwB,GAA/C,YAAoF,EAA7D,SAAwB,GAEP,6OAA0C,GAChC,oFAA+B,GAC/B,+FAA0C;yGAtBtG,0NAA4H,YAAhH;;wBAAmC;MAA/C,0bAA4H,MAC1H,oKAAgD,KAC9C,oPAAwH,KAEtH,yHAAO,oGAAuB,MAC9B,wHAAM,KAAC,4PAAsH,YAA1C;;wBAAuC;MAAnH,wBAAsH,KAG/H,kLAAqD,KACnD,sNAA0F,KACxF,uKAA0C,KAC1C,uKAA0C,iFAAI,MAC9C,iLAAoD,0FAAa,MACjE,iLAAoD,iGAAoB,MACxE,gLAAmD,KAErD,sdAAwG,iDAhBnC,qBAAkB,EAAjF,mBAAmC,wBAA/C,YAA4H,EAAjD,SAAkB,EAAjF,SAAmC,GAgB0B,mBAAoC,kBAAvG,aAAwG,EAArC,SAAoC;yGAc7G,kNAAuG,YAA3F;;wBAA4B;MAAxC,0bAAuG,MACrG,4LAA6L,YAAlC;;wBAAiC;MAA5L,+kBAA6L,mDAD3G,qBAAkB,EAA1F,mBAA4B,iBAAxC,YAAuG,EAAnB,SAAkB,EAA1F,SAA4B,GACpB,gCAA0B,EAAC,wCAAwC,EAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAAxI,YAA6L,EAA3K,SAA0B,EAAC,SAAwC,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;yGAI1I,oNAA6G,YAAjG;;wBAA8B;MAA1C,0bAA6G,MAC3G,4LAAqM,YAArC;;wBAAoC;MAApM,+kBAAqM,mDAD7G,qBAAkB,EAAhG,mBAA8B,mBAA1C,YAA6G,EAAnB,SAAkB,EAAhG,SAA8B,GACtB,iCAA2B,EAAC,4CAA4C,EAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAA7I,YAAqM,EAAnL,SAA2B,EAAC,SAA4C,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;2iCAvqBjJ,mLAAsD,KACpD,4YAA0F,IA8U1F,6YAAsJ,IAwBtJ,6YAAgJ,IAOhJ,6YAAmJ,IA6BnJ,6YAAmF,IAiMnF,6YAAiG,IAMjG,6YAAuH,IAgBvH,6YAAoL,IAKpL,6YAAsI,IAKtI,6YAA0I,IAM1I,6YAAsH,IAMtH,6YAAiG,IAKjG,6YAAkI,IAMlI,6YAA4H,IA8B5H,6YAAuG,IAKvG,6YAA6G,iDArqBzC,kCAAqB,GAAzF,aAA0F,EAAtB,SAAqB,GA8UxC,mBAA8B,yBAA/E,aAAsJ,EAArG,SAA8B,GAwBhC,mBAA4B,uBAA3E,aAAgJ,EAAjG,SAA4B,GAO3B,mBAA6B,wBAA7E,aAAmJ,EAAnG,SAA6B,GA6BjB,mCAAsB,GAAlF,aAAmF,EAAvB,SAAsB,GAiM7C,mBAAkB,aAAvD,aAAiG,EAA5D,SAAkB,GAMb,mBAAuB,kBAAjE,aAAuH,EAA7E,SAAuB,GAgBpB,mBAA0B,qBAAvE,aAAoL,EAAvI,SAA0B,GAK1B,mBAA0B,qBAAvE,aAAsI,EAAzF,SAA0B,GAK1B,mBAA0B,qBAAvE,aAA0I,EAA7F,SAA0B,GAMzB,oBAA2B,sBAAzE,aAAsH,EAAxE,UAA2B,GAMlC,oBAAoB,eAA3D,aAAiG,EAA1D,UAAoB,GAKT,oBAA+B,0BAAjF,aAAkI,EAAhF,UAA+B,GAMa,oBAA6B,wBAA3H,aAA4H,EAA9B,UAA6B,GA8BlF,oBAAsB,iBAA/D,aAAuG,EAA9D,UAAsB,GAKE,oBAAwB,mBAAzF,aAA6G,EAA5C,UAAwB;;;;;;;;;;;;;;;;;;;ACvqB3F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+H;AACtE;AACW;AACzB;AAEqB;AAChC;AAEqB;AAEK;AAEP;AAEE;AAER;AAC+B;AACR;AACR;AACmB;AACX;AAEb;AACoC;AAK1C;AAEjD;IA8JE,4BAAoB,QAAkB,EAAU,KAAqB,EAAU,MAAc,EAAU,eAAgC,EAAS,oBAA0C,EAAU,IAAgB,EAAE,SAAqB,EACjO,iBAAsC,EAAU,WAAwB,EAAU,MAAqB,EAAU,cAA+B;QADtI,aAAQ,GAAR,QAAQ,CAAU;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,SAAI,GAAJ,IAAI,CAAY;QAC1M,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,mBAAc,GAAd,cAAc,CAAiB;QAxJ1J,SAAI,GAAG,SAAS,CAAC;QACjB,iBAAY,GAAG,EAAE,CAAC;QAalB,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAExB,gBAAW,GAAmB,EAAE,CAAC;QACjC,eAAU,GAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QACtH,uBAAkB,GAAmB,EAAE,CAAC;QACxC,WAAM,GAAmB,EAAE,CAAC;QAC5B,WAAM,GAAmB,EAAE,CAAC;QAC5B,kBAAa,GAAmB,EAAE,CAAC;QACnC,iBAAY,GAAuB,EAAE,CAAC;QACtC,cAAS,GAAmB,EAAE,CAAC;QAG/B,eAAU,GAAG,EAAE,CAAC;QAET,YAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;QAG1C,gBAAW,GAAY,IAAI,CAAC;QAC5B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,8BAAyB,GAAW,CAAC,CAAC;QACtC,6BAAwB,GAAW,GAAG,CAAC;QACvC,oCAA+B,GAAW,GAAG,CAAC;QAC9C,wBAAmB,GAAY,KAAK,CAAC;QACrC,2BAAsB,GAAY,KAAK,CAAC;QACxC,yBAAoB,GAAY,KAAK,CAAC;QACtC,sBAAiB,GAAY,KAAK,CAAC;QACnC,aAAQ,GAAW,CAAC,CAAC;QAErB,aAAQ,GAAc,IAAI,kEAAS,EAAE,CAAC;QACtC,YAAO,GAAY,KAAK,CAAC;QAEzB,uBAAkB,GAAW,CAAC,CAAC;QAS/B,eAAU,GAAY,KAAK,CAAC;QAC5B,iBAAY,GAAY,KAAK,CAAC;QAC9B,wBAAmB,GAAY,KAAK,CAAC;QACrC,0BAAqB,GAAG,EAAE,CAAC;QAC3B,kBAAa,GAAG,EAAE,CAAC;QACnB,wBAAmB,GAAG,EAAE,CAAC;QACzB,qBAAgB,GAAG,EAAE,CAAC;QACtB,8BAAyB,GAAY,KAAK,CAAC;QAC3C,4BAAuB,GAAY,KAAK,CAAC;QACzC,wBAAmB,GAAY,KAAK,CAAC;QACrC,0BAAqB,GAAY,KAAK,CAAC;QAMvC,qBAAgB,GAAY,KAAK,CAAC;QAClC,aAAQ,GAAiB,EAAE,CAAC;QAC5B,YAAO,GAAY,KAAK,CAAC;QACzB,oBAAe,GAAG,KAAK,CAAC;QAExB,kBAAa,GAAY,KAAK,CAAC;QAG/B,2BAAsB,GAAG,KAAK,CAAC;QAC/B,aAAQ,GAAW,EAAE,CAAC;QAKtB,aAAQ,GAAY,KAAK,CAAC;QAE1B,oBAAe,GAAmB,EAAE,CAAC;QACrC,mBAAc,GAAS,EAAE,CAAC;QACnB,yBAAoB,GAAW,CAAC,CAAC;QACxC,wBAAmB,GAAY,KAAK,CAAC;QACrC,sBAAiB,GAAY,KAAK,CAAC;QAG5B,qBAAgB,GAAY,KAAK,CAAC;QACzC,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,sBAAiB,GAAW,CAAC,CAAC;QAAC,wBAAmB,GAAW,CAAC,CAAC;QAAC,qBAAgB,GAAW,CAAC,CAAC;QAAC,sBAAiB,GAAW,CAAC,CAAC;QAErH,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QACxO,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1N,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEjN,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAE7C,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,cAAS,GAAY,KAAK,CAAC;QAG3B,yBAAoB,GAAY,IAAI,CAAC;QACrC,qBAAgB,GAAW,CAAC,CAAC;QAC7B,cAAS,GAAW,CAAC,CAAC;QACtB,uBAAkB,GAAY,KAAK,CAAC;QAEpC,oBAAe,GAAG,EAAE,CAAC;QACrB,gBAAW,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QACvG,uBAAkB,GAAY,KAAK,CAAC;QACpC,wBAAmB,GAAY,KAAK,CAAC;QACrC,iBAAY,GAAY,KAAK,CAAC;QAC9B,0BAAqB,GAAY,KAAK,CAAC;QACvC,uBAAkB,GAAY,KAAK,CAAC;QACpC,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAG,EAAE,CAAC;QAClB,mBAAc,GAAY,KAAK,CAAC;QAkBhC,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QAEnC,0BAAqB,GAAwB,EAAE,CAAC;QAChD,YAAO,GAAG,IAAI,wDAAS,CAAC,EAAE,CAAC,CAAC;QAC5B,qBAAgB,GAAY,KAAK,CAAC;QAAC,iBAAY,GAAY,KAAK,CAAC;QAAC,UAAK,GAAG,EAAE,CAAC;QAG3E,0DAA0D;QAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3J,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACzG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAhE+I,CAAC,CAAE,6CAA6C;IA0BhM,qCAAQ,GADR,UACS,KAAK;QAEZ,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;SACnD;aAAM;YACL,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;YAC1D,IAAI,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,SAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;YAC7D,4IAA4I;YAC5I,6BAA6B;YAC7B,yCAAyC;YACzC,2BAA2B;YAC3B,4BAA4B;YAC5B,GAAG;SACJ;IACH,CAAC;IA0BD,4CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,GAAG,KAAK,cAAc,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;YACnE,0BAA0B;YAC1B,mKAAmK;YACnK,OAAO;SACR;aAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE;YACnC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;YACrE,0BAA0B;YAC1B,qKAAqK;YACrK,OAAO;SACR;IAEH,CAAC;IAED,gDAAmB,GAAnB,UAAoB,GAAG;QAErB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;YACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;SAC5G,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IACD,oCAAO,GAAP,UAAQ,CAAC;QACP,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC;IAED,yCAAY,GAAZ;QACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,qCAAQ,GAAR;QAAA,iBA4JC;QA3JC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE,kBAAkB;YACxB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;gBAChC,IAAI,MAAM,EAAE;oBACV,KAAI,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,iBAAiB,CAAC;oBAChF,KAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC;oBAC1D,KAAI,CAAC,oBAAoB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,oBAAoB,CAAC;oBAC1G,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,UAAU,CAAC;iBACnF;gBACD,IAAI,KAAI,CAAC,oBAAoB,IAAI,SAAS,EAAE;oBAC1C,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,UAAU,CAAC;oBAC9C,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;wBACtB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;wBACrD,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;oBACzC,CAAC,CAAC,CAAC;iBAEJ;qBAAM;oBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC;oBAC7D,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;wBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;wBACtB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;wBAC3D,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC/C,CAAC,CAAC,CAAC;iBACJ;gBAGD,IAAI,CAAC,KAAI,CAAC,UAAU,IAAI,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE;oBAChF,KAAI,CAAC,uBAAuB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC9C,KAAI,CAAC,0BAA0B,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC;iBACzD;gBACD,IAAI,KAAI,CAAC,IAAI,IAAI,KAAK,EAAE;oBACtB,IAAI,KAAI,CAAC,aAAa,IAAI,KAAK,EAAE;wBAC/B,CAAC,CAAC,UAAU,CAAC;4BACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;4BAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;wBACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;yBAAM;wBACL,CAAC,CAAC,UAAU,CAAC;4BACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;4BAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;wBACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;oBACD,KAAI,CAAC,aAAa,GAAG;wBACnB,EAAE,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;qBAC5G,CAAC;oBACF,KAAI,CAAC,UAAU,IAAI,KAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;oBAC7C,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBACjG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;wBAEzC,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;qBAC9B;yBAAM;wBACL,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;wBAEvB,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;qBAC9B;iBAEF;YAGH,CAAC,CAAC,CAAC;SACJ;QAGD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,oBAAoB;QACpB,wCAAwC;QACxC,+BAA+B;QAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,oBAAoB,IAAI,SAAS,EAAE;gBAC1C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACrD;iBACI;gBACH,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aAChE;YAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAExE,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,uCAAuC;YACvC,mFAAmF;YACnF,iHAAiH;YACjH,yGAAyG;YACzG,+GAA+G;YAC/G,+EAA+E;YAC/E,iFAAiF;YACjF,6FAA6F;YAC7F,+FAA+F;YAC/F,yFAAyF;YACzF,sFAAsF;YACtF,KAAK;SACN;aACI;YACH,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;gBAC/B,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;oBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;gBACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBAAM;gBACL,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;oBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;gBACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;YACD,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aAC5G,CAAC;YACF,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aAC5G,CAAC;YACF,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;YAC7C,yCAAyC;YACzC,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC9B;SAGF;QACD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC/C,IAAI,GAAG,IAAI,WAAW,EAAE;gBACtB,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBAC1C,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBAE5C,IAAI,OAAK,GAAG,OAAO,CAAC;gBACpB,CAAC,CAAC,UAAU,CAAC;oBACX,OAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;wBACrC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,EAAE;4BACtF,OAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;yBAC9C;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IAED,4CAAe,GAAf;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,CAAC,EAAE;YACxF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvE;IACH,CAAC;IACD,uDAA0B,GAA1B,UAA2B,KAAK;QAAhC,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAG;YAC1D,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,gDAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBAuCC;QAtCC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE;gBAEjJ,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QACD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAC5B,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SAEH;aACI;YACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACxF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,kBAAuB,CAAC;oBAC5B,kBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,kBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEhH,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;wBAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE;qBAC/C,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,wCAAW,GAAX;QAAA,iBAwBC;QAvBC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,oBAAoB,IAAI,SAAS,EAAE;YAC1C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACxE,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACrD,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YACzC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC3D,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;QAC9C,4DAA4D;IAC9D,CAAC;IAED,wCAAW,GAAX;QAAA,iBAYC;QAXC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACjH,KAAK,CAAC,OAAO,CAAC,eAAK;gBACjB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IAEL,CAAC;IAKD,4CAAe,GAAf;QACE,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC;QAEhF,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;QAClE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,6CAAgB,GAAhB;QAAA,iBA+CC;QA9CC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAgB;YACrC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,8DAA8D;gBAC9D,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAE5C;YAED,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAExG,kIAAkI;YAClI,oMAAoM;YACpM,sHAAsH;YACtH,0LAA0L;YAE1L,KAAI,CAAC,QAAQ,GAAG,CAAC,KAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC;YAE9D,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC1C,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,aAAa,CAAC;QAG9C,CAAC,CAAC,CAAC;IAIL,CAAC;IAED,6CAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE;YACvI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SACpD;QACD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;YAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACnK,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC3L,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BACtL,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gCAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,GAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;wCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI,IAAI,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;wCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAClF,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gCAAE,OAAO,QAAQ,CAAC;6BAAE;wBACpF,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;qBAEjE,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO;wBAC7E,YAAY,YAAC,MAAM;4BACnB,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gCAC5D,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gCACzC,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;gCACzF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;oCAC7B,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAC1C,CAAC,CAAC,CAAC;gCACH,OAAO,IAAI,CAAC;6BACb;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YAGL,OAAO,CAAC,UAAU,GAAG;gBACnB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;iBACZ;gBAED;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtF,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;wBAElG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC7F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;4BAC5F,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;oCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;oCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBAC1E;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACnE;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAClF,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;4BAAE,OAAO,QAAQ,CAAC;yBAAE;oBACpF,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;iBACjE;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACxE;gBACD;oBACE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACvF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACxE;gBACD;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBAC1F;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBAClF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACpE;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK;iBACjE;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACxE;gBACD;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBACnF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;4BACvE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;4BACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;gCAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;4BAC1D,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;yBACb;oBACH,CAAC;iBAEF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBAEvF,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;4BACnE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;4BACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;gCAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;4BACxD,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;yBACb;oBAEH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;iBACtE;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;iBACpE;gBACD;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;iBAC5E;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO;oBAE7E,YAAY,YAAC,MAAM;wBACnB,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;4BAC5D,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,uEAAuE,CAAC;4BACzF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAC1C,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;yBACb;oBACH,CAAC;iBACF;aACF,CAAC;SAEH;IACH,CAAC;IAED,qCAAQ,GAAR,UAAS,GAAG,EAAE,IAAI;QAAlB,iBAkBC;QAjBC,IAAI,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE;YACpC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YAC3C,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;SAC5D;aACI;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC3D,IAAI,MAAM,IAAI,IAAI,EAAE;oBAClB,IAAI,IAAE,GAAG,KAAI;oBACb,CAAC,CAAC,UAAU,CAAC;wBACX,IAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,sCAAS,GAAT;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACjL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,sCAAS,GAAT;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IACzC,CAAC;IACD,2CAAc,GAAd;QACE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;QAG1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAe,GAAf;QACE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;YACrD,EAAE,CAAC,YAAY,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC3C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,0CAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IACD,uDAA0B,GAA1B;QAAA,iBAKC;QAHC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,mDAAsB,GAAtB,UAAuB,SAAS;QAAhC,iBAoCC;QAnCC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACxD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAChE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,IAAI,KAAI,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC7B,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,KAAI,CAAC,OAAO,CAAC,EAAE,EAA9B,CAA8B,CAAC,CAAC;wBACzF,IAAI,IAAE,GAAG,KAAI,CAAC;wBACd,CAAC,CAAC,UAAU,CAAC;4BACX,IAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gCACzC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAE,CAAC,MAAM,EAAE;oCACrC,IAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iCAClD;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;oBACD,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjS,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;wBACvE,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;wBAE3B,IAAI,OAAO,GAAG,KAAI,CAAC;wBACnB,CAAC,CAAC,UAAU,CAAC;4BACX,gFAAgF;4BAChF,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;wBACnD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBAET,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAC;4BACxB,KAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3C,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,uBAAuB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8DAAiC,GAAjC,UAAkC,SAAS;QAA3C,iBAmBC;QAlBC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjS,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBACvE,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAE3B,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;oBAC9E,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACnD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAET,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAC;oBACxB,KAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,uBAAuB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAA8B,GAA9B,UAA+B,UAAU;QAAzC,iBAKC;QAJC,IAAI,CAAC,iBAAiB,CAAC,yCAAyC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAChG,KAAI,CAAC,kBAAkB,IAAI,QAAQ,CAAC,MAAM,CAAC;QAE7C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAa,GAAb;QAAA,iBAqCC;QApCC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,UAAC,KAAK;YAC9C,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YACvF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAC3E,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YACjF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,0FAA0F;QAE1F,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAChF,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC7G,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAmB,GAAnB;QAAA,iBAmBC;QAlBC,IAAI,CAAC,yBAAyB,GAAC,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnF,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;YAC/B,KAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC;YAExC,IAAI,gBAAgB,GAAG,GAAG,CAAC;YAC3B,+GAA+G;YAC/G,MAAM,CAAC,OAAO,CAAC,WAAC;gBACd,IAAI,CAAC,CAAC,WAAW,IAAI,gBAAgB,EAAE;oBACrC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;iBAE1H;gBACD,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAuB,GAAvB,UAAwB,KAAK;QAA7B,iBAyCC;QAxCC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,0BAAgB;YACpE,KAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAK,EAAjB,CAAiB,CAAC,CAAC,MAAM,CAAC;YAChF,KAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAK,EAAjB,CAAiB,CAAC,CAAC,MAAM,CAAC;YAClF,KAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAK,EAAjB,CAAiB,CAAC,CAAC,MAAM,CAAC;YAC/E,KAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAK,EAAjB,CAAiB,CAAC,CAAC,MAAM,CAAC;QAElF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YAE/D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC9C,KAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAG;oBAC1D,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC;oBAClB,GAAG,CAAC,OAAO,CAAC,aAAG;wBACb,IAAI,QAAQ,GAAG,IAAI,kEAAS,EAAE,CAAC;wBAC/B,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;4BACtE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;4BAC7B,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC;4BAEhC,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAEpC,IAAI,KAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gCAChC,IAAM,KAAG,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,MAAM,CAAC,KAAI,CAAC,UAAU,CAAC,EAAxC,CAAwC,CAAC,CAAC;gCACvF,IAAI,KAAG,IAAI,KAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;oCAC/B,KAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iCAC/B;gCAED,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;6BACpB;wBACH,CAAC,CAAC,CAAC;oBAGL,CAAC,CAAC,CAAC;gBAEL,CAAC,CAAC,CAAC;aACJ;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,2CAAc,GAAd,UAAe,MAAM;QAArB,iBAkDC;QAjDG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAEtJ,MAAM,CAAC,OAAO,CAAC,gBAAM;gBACnB,MAAM,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAE3B,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAEhC,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,SAAS,EAAE;oBAE3D,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;4BACvC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAO,CAAC,UAAU,EAAE;gCAC9C,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gCAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;6BAC7C;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;qBACI,IAAI,KAAI,CAAC,YAAY,IAAI,KAAI,CAAC,YAAY,KAAK,WAAW,EAAE;oBAE/D,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAA1C,CAA0C,CAAC,CAAC;oBAE1F,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;qBACI;oBACH,IAAI,KAAI,CAAC,cAAc,EAAE;wBACvB,IAAI,SAAO,GAAG,KAAI,CAAC;wBACnB,CAAC,CAAC,UAAU,CAAC;4BACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gCACvC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,SAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;oCAC9D,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oCAC/C,SAAO,CAAC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;iCAC7C;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBACV;iBACF;aACF;iBACI;gBACH,KAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;aAE/B;QAEH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gDAAmB,GAAnB,UAAoB,YAAY;QAE9B,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC9D,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9D,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACvE,kCAAkC;YAClC,2CAA2C;YAG3C,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;YAEvG,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7D,YAAY,CAAC,UAAU,GAAG,KAAK,CAAC;YAChC,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC;YACpC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/C;aACI;YACH,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9D,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACvE,mCAAmC;YACnC,4CAA4C;YAC5C,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YAC5E,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,IAAI,CAAC,EAAN,CAAM,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAClE,YAAY,CAAC,UAAU,GAAG,EAAE,CAAC;YAC7B,YAAY,CAAC,YAAY,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,IAAI,YAAY,EAAjB,CAAiB,CAAC,CAAC;SACxF;IACH,CAAC;IAED,uCAAU,GAAV,UAAW,YAAY;QAAvB,iBA0EC;QAzEC,IAAI,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;QACpD,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,KAAK,CAAC;QACV,IAAI,OAAO,CAAC;QACZ,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE;YAC/B,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE;gBAC7B,KAAK,GAAG,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrC,OAAO,GAAG,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC;aAC1C;iBAAM,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE;gBACpC,KAAK,GAAG,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrC,OAAO,GAAG,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC;aAC1C;iBAAM,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE;gBACpC,KAAK,GAAG,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrC,OAAO,GAAG,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC;aAC1C;YAED,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;YACpG,CAAC,CAAC,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;YAE7G,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1C,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7D,YAAY,CAAC,UAAU,GAAG,KAAK,CAAC;YAChC,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC;YACpC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,EAA/B,CAA+B,CAAC,CAAC;YAChF,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/C;aAAM;YACL,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,EAA/B,CAA+B,CAAC,CAAC;YAChF,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;YAC/B,KAAK,GAAG,CAAC,CAAC;YACV,OAAO,GAAG,CAAC,CAAC;YACZ,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAC;YAClC,KAAI,CAAC,yBAAyB,IAAI,CAAC,CAAC,YAAY,CAAC;YACjD,KAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,UAAU,CAAC;YACxC,IAAI,KAAI,CAAC,sBAAsB,IAAI,KAAK,EAAE;gBACtC,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC3D;iBAAM;gBAEL,IAAI,KAAI,CAAC,QAAQ,CAAC,oBAAoB,IAAI,IAAI,EAAE;oBAC9C,KAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC3B;gBACD,IAAI,KAAI,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI,EAAE;oBAChD,KAAI,CAAC,oBAAoB,EAAE,CAAC;iBAC7B;aACF;QAGH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC/G,IAAI,CAAC,+BAA+B,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAE7H,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC/G,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACjH,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,aAAG;YACpC,KAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,uHAAuH;QACvH,gCAAgC;QAChC,2DAA2D;QAC3D,gEAAgE;QAChE,sDAAsD;QACtD,yFAAyF;QACzF,UAAU;QACV,2GAA2G;QAC3G,GAAG;IACL,CAAC;IAED,4CAAe,GAAf,UAAgB,MAAM;QACpB,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uDAAuD,CAAC,CAAC;QAC5F,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;QAC3E,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;IACpF,CAAC;IAED,kDAAqB,GAArB,UAAsB,MAAM;QAC1B,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC;IACD,+CAAkB,GAAlB;QACE,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO,GAAG,CAAC,EAAE;YACf,IAAI,aAAa,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC/D,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;YAChG,iDAAiD;SAChD;aACI;YACH,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC7B;IAEH,CAAC;IACD,iDAAoB,GAApB;QACE,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,IAAI,OAAO,GAAG,CAAC,EAAE;YACf,IAAI,eAAe,GAAG,IAAI,CAAC,yBAAyB,GAAG,CAAC,IAAI,CAAC,yBAAyB,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;YACxG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,CACxD;YAEH,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;YACnG,kDAAkD;SAClD;aACI;YACH,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,wCAAW,GAAX;QACE,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACvD,CAAC;IACD,2CAAc,GAAd,UAAe,GAAG;QAEhB,IAAI,GAAG,IAAI,KAAK,EAAE;YAEhB,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE;gBAC9E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;aAClC;iBACI;gBACH,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACjC;YACD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACnC;IACH,CAAC;IACD,uCAAU,GAAV,UAAW,GAAG;QACZ,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE;YACvC,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE;gBAC9E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;aAClC;iBACI;gBACH,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACjC;SACF;aACI;YACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IAEH,CAAC;IACD,yDAA4B,GAA5B;QACE,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAC7D,CAAC;IACD,uDAA0B,GAA1B;QACE,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;IACzD,CAAC;IACD,sDAAyB,GAAzB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACjM,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,oDAAuB,GAAvB;QACE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;IAC7E,CAAC;IACD,0CAAa,GAAb;QACE,UAAU,CAAC;YACT,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sLAAsL,CAAC,CAAC;QACjO,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,yCAAY,GAAZ,UAAa,GAAG,EAAE,QAAQ;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,EAAE;YACtF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC/G,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,0DAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACvG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,0DAAW,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,0DAAW,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1E,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;SAChD;aAAM;YACL,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;YACnG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC/G,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;YACvG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;SAC3C;QACD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACtC,CAAC,EAAE,CAAC,CAAC,CAAC;IAER,CAAC;IAGD,2CAAc,GAAd,UAAe,GAAG;QAAlB,iBAmFC;;QAlFC,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,GAAG,UAAU,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,GAAG,UAAU,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;SAC5C;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,IAAI,CAAC,EAAE;YAClG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAAC;SAC5E;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,IAAI,CAAC,EAAE;YAChG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;SAC1E;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,IAAI,EAAE,EAAP,CAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,OAAC,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAC;QAC9E,oCAAoC;QAClC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,GAAG;QAEH,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3E,KAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,KAAK,GAAG,IAAI,2DAAK,EAAE,CAAC;YACxB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAK,CAAC,SAAS,GAAG,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC9C,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;YAC3B,KAAK,CAAC,eAAe,GAAG,qCAAqC,CAAC;YAC9D,KAAK,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC1D,KAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACxD,IAAI,KAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,EAAE;wBAC/B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;qBACjE;yBACI;wBACH,KAAI,CAAC,uBAAuB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBAC9C,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBACxF,KAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC7B,KAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;wBACnC,KAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC;qBAC3C;oBACD,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAC;wBACxB,KAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,CAAC,CAAC;oBACF,IAAI,KAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;wBAC7B,2CAA2C;qBAC5C;yBACI,IAAI,KAAI,CAAC,YAAY,KAAK,eAAe,EAAE;wBAE9C,IAAM,SAAO,GAAG,KAAI,CAAC;wBACrB,UAAU,CAAC;4BACV,8CAA8C;4BAC7C,SAAO,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC7B,SAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC;wBACtC,CAAC,EAAE,GAAG,CAAC;qBACR;yBACI;wBAEH,IAAI,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,KAAK,EAAE;4BAChD,KAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;yBAC7D;wBACF,4CAA4C;wBAC3C,0BAA0B;wBAE1B,QAAQ;wBACR,kEAAkE;wBAClE,GAAG;qBACJ;oBACD,KAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,KAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACjC,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,2CAAc,GAAd,UAAe,GAAG;QAEhB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAxB,CAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;IAEpG,CAAC;IAED,2CAAc,GAAd;QACE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,kEAAS,EAAE,CAAC;QAEhC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,2CAAc,GAAd,UAAe,YAAY;QACzB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0CAA0C,GAAG,YAAY,GAAG,2DAA2D,CAAC;QAC1I,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iMAAiM,CAAC,CAAC;IAChO,CAAC;IAED,4CAAe,GAAf,UAAgB,YAAY;QAE1B,IAAI,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE;YACrD,IAAI,EAAE,iBAAiB;SACxB,CAAC,CAAC,CAAC;QAEJ,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,GAAG,4DAA4D,CAAC;QACvG,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kMAAkM,CAAC,CAAC;IAClO,CAAC;IAED,mCAAM,GAAN,UAAO,GAAG,EAAE,UAAU;QAAtB,iBAyEC;QAxEC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAEnD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAlD,CAAkD,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC5I;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,EAAE;gBAClD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,EAA9C,CAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;aACzI;YACD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAEzD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,UAAU,CAAC;YAC9C,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,IAAI,EAAE,EAAP,CAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAE1D,IAAI,SAAS,CAAC;YACd,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,SAAS,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;YACzC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvF,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC1E,IAAI,qBAAqB,CAAC;YAE1B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBAEhG,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,IAAI,EAArB,CAAqB,CAAC,CAAC;gBACjE,IAAI,GAAG,IAAI,UAAU,EAAE;oBACrB,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,KAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,SAAS,GAAG,GAAG,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnF,KAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,gBAAM;wBACvE,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAC7B,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;wBACtC,IAAI,KAAI,CAAC,OAAO,EAAE;4BAChB,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;yBAC9B;oBACH,CAAC,CAAC,CAAC;iBACJ;qBACI,IAAI,GAAG,IAAI,eAAe,EAAE;oBAC/B,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,KAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnF,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,gBAAM;wBACjE,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAC7B,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;wBAChC,IAAI,KAAI,CAAC,OAAO,EAAE;4BAChB,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;yBAC9B;oBACH,CAAC,CAAC,CAAC;iBACJ;qBACI,IAAI,GAAG,IAAI,oBAAoB,EAAE;oBACpC,KAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;oBACnC,KAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnF,KAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,SAAS,GAAG,GAAG,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnF,KAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,gBAAM,IAAM,CAAC,CAAC,CAAC;oBAClF,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,gBAAM,IAAM,CAAC,CAAC,CAAC;oBAC5E,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACnC,KAAI,CAAC,yBAAyB,EAAE,CAAC;iBAClC;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAC;SAE1E;IAEH,CAAC;IAED,4CAAe,GAAf;QACE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IACD,qDAAwB,GAAxB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QACpM,CAAC,EAAE,CAAC,CAAC;IACH,CAAC;IACD,yCAAY,GAAZ,UAAa,IAAS;QAEpB,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;YAEpB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC;SAC/C;aACI;YACH,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACxD;IACH,CAAC;IACD,2CAAc,GAAd,UAAe,IAAS;QAGtB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAhB,CAAgB,CAAC,CAAC;QAClF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAChD,CAAC;IACD,wCAAW,GAAX,UAAY,KAAU;QAEpB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAChD,CAAC;IAED,0CAAa,GAAb,UAAc,KAAU;QAEtB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAChD,CAAC;IACD,4CAAe,GAAf,UAAgB,mBAAmB;QAAnC,iBAcC;QAbC,IAAI,gBAAgB,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;QACpC,mBAAmB,CAAC,OAAO,CAAC,WAAC;YAC3B,IAAI,MAAM,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAI,aAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAhC,CAAgC,CAAC;YAClF,MAAM,CAAC,OAAO,CAAC,WAAC;gBACd,IAAI,CAAC,CAAC,WAAW,IAAI,gBAAgB,EAAE;oBACrC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;iBACvB;gBACD,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC;gBACjC,KAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,6CAAgB,GAAhB;QAAA,iBAYC;QAXC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC9D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAE/B,CAAC;IACD,2CAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,6CAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAC9B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,0CAAa,GAAb,UAAc,GAAG;QAEf,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,kDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,6CAAgB,GAAhB;QACE,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACvD,CAAC;IAED,kDAAqB,GAArB;QAEE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACvO,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAE/B,CAAC;IACD,kDAAqB,GAArB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;oBAE/B,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACnM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK;gBACjM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC3P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACrP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAElT,CAAC;IAEJ,CAAC;IACD,uDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;IACH,CAAC;IACD,+CAAkB,GAAlB,UAAmB,QAAQ;QAEzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,8CAAiB,GAAjB;QAEE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,6FAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,4CAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,UAAU,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IACtE,CAAC;IACD,8CAAiB,GAAjB,UAAkB,GAAG;QAArB,iBA4FC;QA3FC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAE1B,IAAI,GAAG,IAAI,IAAI,EAAE;YAEf,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,aAAG;gBACpC,IAAI,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3C,IAAI,KAAK,IAAI,EAAE,EAAE;oBACf,IAAI,KAAI,CAAC,cAAc,IAAI,EAAE,EAAE;wBAC7B,IAAI,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;wBAChC,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;qBACrC;yBAAM,IAAI,KAAI,CAAC,cAAc,IAAI,EAAE,EAAE;wBACpC,IAAI,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;wBAChC,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;qBACrC;yBAAM,IAAI,KAAI,CAAC,cAAc,IAAI,EAAE,EAAE;wBACpC,IAAI,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;wBAChC,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;qBACrC;oBAED,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC3F,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;oBAGpG,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;oBACvB,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC;oBAE3B,KAAI,CAAC,yBAAyB,IAAI,GAAG,CAAC,YAAY,CAAC;oBACnD,KAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC,UAAU,CAAC;iBAC3C;YAGH,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAE5B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,aAAG;gBACpC,IAAI,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3C,IAAI,KAAK,IAAI,EAAE,EAAE;oBACf,IAAI,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;oBAChC,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;oBACpC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC3F,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;oBACpG,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;oBACvB,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC;oBAE3B,KAAI,CAAC,yBAAyB,IAAI,GAAG,CAAC,YAAY,CAAC;oBACnD,KAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC,UAAU,CAAC;iBAC3C;YAGH,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,aAAG;gBACpC,IAAI,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3C,IAAI,KAAK,IAAI,EAAE,EAAE;oBACf,IAAI,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;oBAChC,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;oBACpC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC3F,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;oBACpG,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;oBACvB,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC;oBAE3B,KAAI,CAAC,yBAAyB,IAAI,GAAG,CAAC,YAAY,CAAC;oBACnD,KAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC,UAAU,CAAC;iBAC3C;YAGH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,GAAG,CAAC;QACzC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;QAExE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wBAAwB,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC/G,IAAI,CAAC,+BAA+B,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAE7H,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACvD,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACxC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IACD,gDAAmB,GAAnB;QACE,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAC3D,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAC5C,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;SAC1C;aACI;YACH,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBAEX,SAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;IAEH,CAAC;IAAC,uCAAU,GAAV,UAAW,KAAK,IAAI,CAAC;IACvB,2CAAc,GAAd,UAAe,IAAI,EAAE,OAAO;IAE5B,CAAC;IACD,0CAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,iDAAoB,GAApB,UAAqB,QAA6B;QAChD,IAAI,QAAQ,CAAC,YAAY,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAAE;QACxD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAExF,IAAI,IAAI,CAAC,IAAI,IAAI,kBAAkB,EAAE;gBACnC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aAC9C;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;oBAC7B,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;wBAChE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;qBAC3C;oBACD,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;wBAC5D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;qBACvC;oBACD,IAAI,QAAQ,CAAC,aAAa,IAAI,KAAK,EAAE;wBACnC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;qBACnB;yBACI;wBACH,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;qBACnB;oBACD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;iBAC1C;aACF;SAEF;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,+CAAkB,GAAlB,UAAmB,MAAM;QAAzB,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAO,GAAP,UAAQ,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAC,SAAS;QAE/G,+EAA+E;QAC/E,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,OAAO,IAAI,EAAE,EAAE;oBACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvF;qBACI;oBACH,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvG;aACF;SACF;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QAGD,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,IAAE,GAAG,EAAC,UAAS,EAAC,MAAK,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,uCAAU,GAAV;QACE,kCAAkC;QAClC,oDAAoD;QACpD,UAAU;QACV,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACjD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;wBACnI,OAAO;qBACR;iBACF;aACF;SACF;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,GAAG;IACL,CAAC;IACD,6CAAgB,GAAhB,UAAiB,WAAW;QAC1B,kCAAkC;QAClC,oDAAoD;QACpD,UAAU;QAEV,IAAI,WAAW,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI,IAAI,WAAW,IAAI,MAAM,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAC9D;QACD,GAAG;IAEL,CAAC;IACD,kDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,kDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,yCAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,uBAAuB,IAAI,GAAG,IAAI,yBAAyB,EAAE;YACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM;SAEN;IACH,CAAC;IAED,uDAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IAID,gDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,oDAAoD;IACtD,CAAC;IACD,6CAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;YAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAClC;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;YACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,aAAa,EACvC;YACE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YAC3D,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACzD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;SAClD;IACH,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QAEf,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;aACf;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QAAQ,gBAAgB,EAAE;QAC3B,IAAI,MAAM,EAAE;YAEV,8BAA8B;SAC/B;aAAM;SAEN;IACH,CAAC;IAED,yCAAY,GAAZ;QACE,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAG9B,CAAC;IACD,gDAAmB,GAAnB;QACE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,UAAU,CAAC;YACT,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2HAA2H,CAAC,CAAC;QACjL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED,6CAAgB,GAAhB,UAAiB,GAAG;QAElB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEpB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QAEnC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,WAAW,GAAG,EAAE;QACpB,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YAET,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE;gBACtC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtD,WAAW,CAAC,OAAO,CAAC,aAAG;oBACrB,IAAI,GAAG,IAAI,EAAE,EAAE;wBACb,IAAI,GAAG,GAAG,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;wBAC/F,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvD,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC5B;gBACH,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,OAAO,CAAC,+BAA+B,GAAG,GAAG,CAAC;gBAC9C,OAAO,CAAC,wBAAwB,GAAG,GAAG,CAAC;aAExC;YAGD,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,EAAE;gBAC1C,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;aAC1C;iBAAM;gBACL,OAAO,CAAC,yBAAyB,GAAG,KAAK,CAAC;aAC3C;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;gBACzC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACpC;iBAAM;gBACL,OAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC;aACrC;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,sBAAsB,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,EAAE;gBACpF,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACvC;iBAAM;gBACL,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC;aACxC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IAGV,CAAC;IAED,+CAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,oCAAoC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;SACpK;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,kCAAkC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;SACzK;IACH,CAAC;IAED,qBAAqB;IACrB,uBAAuB;IACvB,qDAAqD;IACrD,kCAAkC;IAClC,qEAAqE;IACrE,wCAAwC;IACxC,iDAAiD;IACjD,oCAAoC;IACpC,SAAS;IACT,YAAY;IACZ,sCAAsC;IACtC,KAAK;IACL,GAAG;IAGH,kCAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IACD,2CAAc,GAAd;QACE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACrD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5C,CAAC;IACD,4CAAe,GAAf;QACE,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACjD,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAChD,IAAI,IAAI,GAAG,UAAU,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAuC,kBAAkB,SAAI,IAAI,cAAS,aAAe,CAAC,CAAC;IAGvH,CAAC;IACD,qCAAQ,GAAR;QACE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAC;IAEzE,CAAC;IACD,8CAAiB,GAAjB;QAEE,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YAC7B,qCAAqC;SACrC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACzD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,KAAK,CAAC;YACrD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;SAC3C;QACD,0FAA0F;IAC5F,CAAC;IAED,2CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEhD,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;oBAC5B,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;iBAC7C;qBAAM;oBACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;oBACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACvC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACpD,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC/b,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;iBAEnD;aACF;SACF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,kEAAS,EAAE,CAAC;SACjC;IAIH,CAAC;IAGD,qDAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,GAAG,IAAI,aAAa,EAAE;YACxB,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE5E,IAAI,IAAE,GAAG,IAAI,CAAC;YACd,CAAC,CAAC,UAAU,CAAC;gBACX,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACpD,CAAC,CAAC,UAAU,CAAC;oBACX,IAAE,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;oBAC/D,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;gBACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;IACH,CAAC;IAED,6CAAgB,GAAhB;QAAA,iBA8CC;QA5CC,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1E,KAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,aAAG;gBAChB,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,IAAI,GAAG,CAAC,QAAQ,IAAI,eAAe,EAAE;oBAClE,IAAI,GAAG,CAAC,UAAU,IAAI,SAAS,EAAE;wBAC/B,KAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;4BACvF,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;4BACpB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC5B,CAAC,CAAC,CAAC;qBACJ;yBAAM,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAE;wBACrC,KAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4BAExG,IAAI,KAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gCAChC,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,EAAX,CAAW,CAAC,CAAC;6BACpD;iCAAM;gCAAE,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;6BAAE;wBACvC,CAAC,CAAC,CAAC;qBACJ;yBAEI;wBACH,KAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;4BACxG,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;wBAC5B,CAAC,CAAC,CAAC;qBACJ;iBAGF;YAGH,CAAC,CAAC,CAAC;YAEH,IAAI,EAAE,GAAG,KAAI,CAAC;YACd,UAAU,CAAC;gBACT,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;gBAEnB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAC;oBACjB,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YAGL,CAAC,EAAE,GAAG,CAAC;QAIT,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAe,GAAf,UAAgB,GAAG;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAE/B,CAAC;IACD,0CAAa,GAAb;QACE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;QAC9E,0BAA0B;QAC1B,8KAA8K;QAC9K,QAAQ;IACP,CAAC;IACJ,8CAAiB,GAAjB;QACE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACrD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5C,CAAC;IACD,mDAAsB,GAAtB;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CACxB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CACvE,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,eAAe,GAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAsB,CAAC,KAAK,CAAC;QAC1G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IACD,wCAAW,GAAX;QACE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IACH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GCxyEO;;;;;;;;;;;wBACoC;MADa;;wBAAkC;MAAsB;;wBAAkB;MAA3H,8wCACoC,iDADqE,mBAAkB,OAA3H,YACoC,EADqE,SAAkB,2BAA3H,8sBACoC;0GACpC;;;;;;;;;;;;;;;;;;;;;;;wBACgF;MAD/B;;wBAAkC;MAAsB;;wBAAkB;MAA3H,uvBACgF,GAAzE,+DAA8B,KADrC,6+BACgF,iDAAzE,iCAA8B,aADrC,YACgF,EAAzE,SAA8B,GADoE,mBAAkB,OAA3H,YACgF,EADyB,SAAkB,2BAA3H,8sBACgF;0GAiElF,qLAA6F,KAC3F,wUAQyE,YAFxD;;wBAAsD;MACtD;;wBAA+C;MAC3B;;wBAAmC;MARxE,wjDAQyE,mDAPxD,mBAA2B,cAG3B,mBAAwB,eAFxB,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAKxD,mBAAmB,UARpC,YAQyE,EAPxD,SAA2B,EAG3B,SAAwB,EAFxB,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAKxD,SAAmB;0GAItC,qLAA6F,KAC3F,gWASqD,YAFpC;;wBAAsD;MACtD;;wBAAuD;MACvD;;wBAAmC;MATpD,wjDASqD,mDARpC,mBAA2B,cAG3B,mBAAuB,cAFvB,mBAAgC,oBAGhC,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANpC,YASqD,EARpC,SAA2B,EAG3B,SAAuB,EAFvB,SAAgC,EAGhC,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;0GAUtC,wLAA2G,KACzG,kLAAqD,KACnD,oJAA6B,KAC3B,+LAAkE,KAChE,mVAAoL,YAA5F;;wBAAkC;MAA1H,wBAAoL,KAClL,mNAAyF,KAE3F,6UAAiL,YAAjG;;wBAAqC;MAArH,wBAAiL,KAC/K,0NAAgG,KAElG,8QAAgI,KAC9H,8MAAoF,KAEtF,qRAAsI,KACpI,iNAAsF,KAExF,yVAA6L,YAAlG;;wBAAsC;MAAjI,wBAA6L,KAC3L,qNAA0F;0GAQtG,2PAA8K,KAC5K,0LAA8D,KAC5D,yHAAO,6FAAgB,MAAQ,wHAAM,kFAErC,MAEF,0LAA8D,KAC5D,yHAAO,0FAAa,MAAQ,wHAAM,kFAA0B,MAE9D,2LAA8D,KAC5D,0HAAO,+FAAkB,MAAQ,yHAAM,iFAAwF,MAEjI,2LAA8D,KAC5D,0HAAO,8FAAiB,MAAQ,yHAAM,kFAAkB,MAE1D,2LAA8D,KAC5D,0HAAO,yFAAY,MAAQ,yHAAM,kFAAyB,MAE5D,0LAA6D,KAC3D,0HAAO,kGAAqB,MAAQ,yHAAM,kFAAoB,yDAjBzB,oEAErC,GAGkC,mEAA0B,GAGrB,+IAAwF,GAGzF,2DAAkB,GAGvB,kEAAyB,GAGhB,6DAAoB;0GAzJtE,uLAAsF,KACpF,uKAA2C,KACzC,4PAAgI,8EAAC,MACjI,0LAA8D,yFAAY,MAC1E,qTAC0E,YADd;;;wBAAgE;MAA5H,wBAC0E,KAG5E,wLAA2D,KACzD,8IAAuB,KACrB,2SAA+K,KAC7K,8YACoC,IACpC,8YACgF,IAElF,2MAA6E,KAC3E,sLAAyD,KACvD,8TAAmJ,YAArC;;wBAAoC;MAAlJ,wBAAmJ,KACnJ,+IAAwB,qFAAQ,MAElC,sLAAyD,KACvD,6QAA8G,YAArC;;wBAAoC;MAA7G,wBAA8G,KAC9G,+IAAwB,qFAAQ,MAElC,sLAAyD,KACvD,6QAA8G,YAArC;;wBAAoC;MAA7G,wBAA8G,KAC9G,+IAAwB,kFAAK,MAE/B,sLAAyD,KACvD,6QAA8G,YAArC;;wBAAoC;MAA7G,wBAA8G,KAC9G,+IAAwB,kFAAK,MAE/B,sLAAyD,KACvD,6QAA8G,YAArC;;wBAAoC;MAA7G,wBAA8G,KAC9G,+IAAwB,iFAAI,MAE9B,sLAAyD,KACvD,6QAA8G,YAArC;;wBAAoC;MAA7G,wBAA8G,KAC9G,+IAAwB,kFAAK,MAE/B,sLAAyD,KACvD,6QAA8G,YAArC;;wBAAoC;MAA7G,wBAA8G,KAC9G,+IAAwB,gFAAG,MAG/B,6MAA+E,KAC7E,uKAA0C,KACxC;;;;;wBAA2K;MAAlF;;wBAA8B;MAAiB;;wBAAkC;MAA1K,otCAA2K,IAC3K,+IAAwB,6FAAgB,MAE1C,uKAA0C,KACxC;;;;;wBAA6K;MAAhF;;wBAAgC;MAAiB;;wBAA8B;MAA5K,otCAA6K,IAC7K,+IAAwB,+FAAkB,MAE5C,uKAA0C,KACxC;;;;;wBAAwK;MAAhF;;wBAA8B;MAAiB;;wBAAgC;MAAvK,otCAAwK,IACxK,+IAAwB,4FAAe,MAM3C,gMAAkE,KAChE;;;;;wBAK8D;MALG;;wBAAgD;MAE3F;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAL7D,gxEAK8D,IAIlE,8IAAuB,KACrB,2KAA8C,KAC5C,8IAAuB,KACrB,kJAA2B,4FAAe,MAG9C,8YAA6F,IAa7F,8YAA6F,IAejG,uKAA0C,KACxC,uLAA0D,KACxD,8YAA2G,IAyB7G,8YAA8K,iDA3HnK,yCAA6B,GAApC,aACoC,EAD7B,SAA6B,GAE7B,yCAA6B,GAApC,aACgF,EADzE,SAA6B,GAmCuD,oBAA8B,mBAAvH,aAA2K,EAAlF,UAA8B,GAI1B,oBAAgC,qBAA7H,aAA6K,EAAhF,UAAgC,GAIrC,oBAA8B,mBAAtH,aAAwK,EAAhF,UAA8B,GAQlG,oBAA0C,oCAC1C,oBAA4B,kBADlD,aAK8D,EALxC,UAA0C,EAC1C,UAA4B,GADe,oBAAgD,qCAAjH,aAK8D,EALG,UAAgD,GAe1D,iDAAmC,GAA5F,aAA6F,EAApC,UAAmC,GAanC,iDAAmC,GAA5F,aAA6F,EAApC,UAAmC,GAiBjC,8CAA+C,sBAA1G,aAA2G,EAAhD,UAA+C,GAyBkB,8CAA+C,sBAA7K,aAA8K,EAAhD,UAA+C,mDAtFhI,mBAA4B,mBAAnE,yoBAA2K,EAApI,SAA4B,EAAnE,2EAA2K,GAIpI,oBAA8B,qBAArE,gpBAA6K,EAAtI,UAA8B,EAArE,kFAA6K,GAItI,oBAA4B,mBAAnE,gpBAAwK,EAAjI,UAA4B,EAAnE,kFAAwK,GAQ1K,q1BAK8D;0GA2FtE,2LAAoF,YAAxE;;wBAAsC;MAAlD,6ZAAoF,MACnF,2IAAuB,KACpB,oKAA8C,8FAAiB,MAAS,sHAAM,2HAAM,KACpF,oJAA8B,sFAAS,MAAO,sHAAM,KACpD,mLAAsD,KACpD,qJAA8B,uGAA0B,MAAO,uHAAM,KAEvE,8LAA2D,KACzD,gQAA4G,YAAxF;;wBAA4B;MAAhD,wBAA4G,+EAAE,MAC9G,8NAAyE,YAArD;;wBAA2B;MAA/C,wBAAyE,mFAAM,mDATzE,mBAAsC,2BAAlD,YAAoF,EAAxE,SAAsC;4LAhKlD,6YAAsF,IAgKtF,6YAAoF,iDAhK1B,0CAA2B,GAArF,YAAsF,EAA5B,SAA2B,GAgKlC,mBAAgC,2BAAnF,YAAoF,EAAjC,SAAgC;;;;;;;;;;;;;;;;AChKnF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AACL;AACuB;AAEV;AAC/B;AACU;AAE6B;AAI9B;AACF;AAC0B;AACC;AAC5B;AACC;AACQ;AAChD,+CAA+C;AACX;AAEL;AACS;AACQ;AACX;AAES;AAEY;AAG1D;IAuEE,8BAAoB,MAAc,EAAU,iBAAsC,EAAS,oBAA0C,EAAU,WAAwB,EAC7J,QAAkB,EAAU,eAAgC;QADtE,iBAsBC;QAtBmB,WAAM,GAAN,MAAM,CAAQ;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAC7J,aAAQ,GAAR,QAAQ,CAAU;QAAU,oBAAe,GAAf,eAAe,CAAiB;QA7DtE,iBAAY,GAAQ,SAAS,CAAE;QAE/B,SAAI,GAAS,EAAE,CAAC;QACT,cAAS,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvG,kBAAa,GAAY,KAAK,CAAC;QAC/B,uBAAkB,GAAY,KAAK,CAAC;QAC7B,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACrJ,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1N,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEjN,WAAM,GAAW,IAAI,CAAC;QACtB,mBAAc,GAAW,EAAE,CAAC;QAC5B,eAAU,GAAW,aAAa,CAAC;QACnC,gBAAW,GAAW,KAAK,CAAC;QAC5B,sBAAiB,GAAW,EAAE,CAAC;QAG/B,aAAQ,GAAG,EAAE,CAAC;QAEd,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAG3C,kBAAa,GAAG,EAAE,CAAC;QACnB,iBAAY,GAAG,EAAE,CAAC;QAElB,oBAAe,GAAG,EAAE,CAAC;QACrB,yBAAoB,GAAG,EAAE,CAAC;QAC1B,wBAAmB,GAAG,EAAE,CAAC;QACzB,2BAAsB,GAAG,EAAE,CAAC;QAE5B,qBAAgB,GAAqB,IAAI,gFAAgB,EAAE,CAAC;QAC5D,YAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;QAEnC,YAAO,GAAiB,IAAI,qDAAO,EAAE,CAAC;QACtC,sBAAiB,GAAG,EAAE,CAAC;QACvB,+BAA0B,GAAY,KAAK,CAAC;QAC5C,6BAAwB,GAAY,KAAK,CAAC;QAC1C,mBAAc,GAAmB,EAAE,CAAC;QACpC,mBAAc,GAAmB,EAAE,CAAC;QACpC,2BAAsB,GAAmB,EAAE,CAAC;QAC5C,4BAAuB,GAAmB,EAAE,CAAC;QAC7C,oBAAe,GAAW,GAAG,CAAC;QAC9B,mBAAc,GAAW,cAAc,CAAC;QAExC,sBAAiB,GAAG,GAAG,CAAC;QACxB,oBAAe,GAAG,GAAG,CAAC;QACtB,4BAAuB,GAAG,GAAG,CAAC;QAC9B,oBAAe,GAAG,EAAE,CAAC;QAGrB,sBAAiB,GAAY,KAAK,CAAC;QACnC,mBAAc,GAAW,KAAK,CAAC;QAC/B,uBAAkB,GAAG,EAAE,CAAC;QAAC,uBAAkB,GAAG,EAAE,CAAC;QAAC,uBAAkB,GAAE,EAAE,CAAC;QAAC,iBAAY,GAAE,EAAE,CAAC;QAAC,iBAAY,GAAE,EAAE,CAAC;QAAC,eAAU,GAAE,EAAE,CAAC;QAC7H,iBAAY,GAAE,EAAE,CAAC;QACK,uBAAkB,GAAY,KAAK,CAAC;QAAC,uBAAkB,GAAY,KAAK,CAAC;QAC/F,qBAAgB,GAAY,IAAI,CAAC;QAAC,uBAAkB,GAAY,IAAI,CAAC;QAAC,qBAAgB,GAAY,IAAI,CAAC;QAGrG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QACxC,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3J,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;SAE5C;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,6DAAM,CAAC,eAAK,IAAI,YAAK,YAAY,6DAAa,EAA9B,CAA8B,CAAC,CAAC;aAChE,SAAS,CAAC,UAAC,KAAoB;YAC9B,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IAvE+I,CAAC;IAyEjJ,uCAAQ,GAAR;QAAA,iBAuCC;QAtCC,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,QAAQ,CAAC;QAEhD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;YACjD,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG;YACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;SAC9G,CAAC;QACF,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,EAAE;SACnB,CAAC;QAEF,IAAI,CAAC,OAAO;aACT,IAAI,CAAC,mEAAY,CAAC,IAAI,CAAC,CAAC;aACxB,SAAS,CAAC;YACT,IAAI,KAAI,CAAC,IAAI,IAAI,EAAE,EAAE;gBACnB,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,gBAAgB,EAAE,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC;aAC3H;iBAAM;gBACL,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;QAEH,CAAC,CACA,CAAC;QACJ,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE1B,CAAC;IACD,yDAA0B,GAA1B,UAA2B,KAAK;QAAhC,iBAsBC;QArBC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,IAAI,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtG,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;gBACnD,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC5C,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAO;oBAC3E,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;wBACvD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;qBACvE;gBACH,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACvC;SACF;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;IAEH,CAAC;IACD,iDAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAsBC;QArBC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,UAAU,IAAI,OAAO,CAAC,YAAY,IAAI,iBAAiB,CAAC,CAAC,MAAK,EAAC,KAAI,CAAC;gBACxH,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;gBACnD,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;gBACnD,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;oBACpE,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,qBAAqB,EAAE;wBACvD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;qBACvE;gBACH,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAChC;SACF;aAAM;YACP,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SAC/B;IAEH,CAAC;IACD,kDAAmB,GAAnB;QACE,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,IAAE,MAAM,EAAE;YAChG,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACtC;IACH,CAAC;IAED,mDAAoB,GAApB;QACE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACxC,CAAC;IAED,yDAA0B,GAA1B;QAAA,iBAQC;QAPC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC3G,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAK,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,0CAAW,GAAX,UAAY,GAAG;QACb,IAAI,GAAG,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACvC;IACH,CAAC;IAED,0DAA2B,GAA3B;QACE,UAAU,CAAC;YACT,CAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6HAA6H,CAAC,CAAC;QACtL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAGD,2CAAY,GAAZ,UAAa,IAAI;QACf,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SACzB;aAAM;YACL,aAAa,CAAC,IAAI,CAAE,IAAI,CAAC,CAAC;SAC3B;QACD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9D,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAChD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,mDAAoB,GAApB,UAAqB,OAAO;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAElC,CAAC;IACD,wCAAS,GAAT,UAAU,aAAa;QACrB,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG;YACtE,aAAa,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,EAAE;YAC9C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aACI;YACH,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;IAEH,CAAC;IAED,+CAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5H,CAAC;IACD,iDAAkB,GAAlB;QACE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5H,CAAC;IACD,mDAAoB,GAApB;QACE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5H,CAAC;IACD,6CAAc,GAAd,UAAe,IAAI;QACjB,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAf,CAAe,CAAC;SAC3D;aAAM;YACL,aAAa,CAAC,IAAI,CAAE,IAAI,CAAC,CAAC;SAC3B;QACD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAChD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,0CAAW,GAAX,UAAY,KAAK;QACf,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAChD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAChD,CAAC;IACD,4CAAa,GAAb,UAAc,KAAK;QACjB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAChD,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAChD,CAAC;IACD,+CAAgB,GAAhB;QAEE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI;YAC1K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI;SAEtF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAClB,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE;YACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;IACH,CAAC;IACD,+CAAgB,GAAhB;QACE,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE;YACjC,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,CAAC,GAAG,WAAW,IAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;4BAC1E,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE;oCACtJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;oCACtE,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;iCACtE;qCACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;oCACxJ,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3F,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCACxE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE,CAAC;yBACX;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;oBAC1D,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,GAAG;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACxJ,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;oBAC9C,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF,EAAE;oBACD,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;gBACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;aAE9C,CAAC;SACH;aACI,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE;YACtC,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;oBAC9C,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;oCACtE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;iCAChE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iBAE9D;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;oBAC1D,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,GAAG;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACxJ,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBAED;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;iBAC7C;gBAED;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;gBACA;oBACC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;gBACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;aAE9C,CAAC;SACH;aACI,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE;YACtC,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;oCACtE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;iCAChE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iBAC9D;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;oBAC1D,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,GAAG;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACxJ,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;iBAC/C;gBAED;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;iBAC7C;gBAED;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;gBACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;aAE9C,CAAC;SACH;aACI,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE;YACtC,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC/B,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,+BAA+B,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;oCAC1D,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;iCAC9D;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;iCACjB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iBAC9D;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;oBAC1D,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,GAAG;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACxJ,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;iBAC/C;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;gBAGD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;gBACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;aAE9C,CAAC;SACH;aACI;YAEH,OAAO,CAAC,UAAU,GAAG;gBACnB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAE7C,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,gEAAgE;gBAChE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/D,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;oBAC7D,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;uCAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;uCACnE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCACnF,EAAE,IAAI,+BAA+B,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;oCAChE,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iCACvG;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BAED,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;oBAC1D,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,GAAG;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACxJ,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;iBAC1F;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAE9D;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;iBAC7D;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iBACvD;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;oBAC9C,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC1E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;iBAC7D;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iBACjD;aACF,CAAC;SACH;IACH,CAAC;IACD,uDAAwB,GAAxB;QACE,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAE5B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,OAAO,CAAC,WAAW,IAAI,KAAK,EAAE;YAChC,OAAO,CAAC,iBAAiB,GAAG;gBAC1B;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAE/D;gBACD;oBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;iBAC1C;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;oBAChD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;oCACtE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,GAAE,GAAG,GAAE,CAAC,CAAC,CAAC;iCACxE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;iBAExD;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK;iBAC5D;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;iBAC1D;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;oBACpD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;oBACxD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;oBAC1D,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,GAAG;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACxJ,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;oBAC7D,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC5E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAEF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAEF;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;oBAC5C,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBAGD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI;iBAExE;gBAED;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;oBAC5C,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC5E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAEF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;iBAEnD;aACF,CAAC;SACH;aAAM;YACL,OAAO,CAAC,iBAAiB,GAAG;gBAC1B;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAE/D;gBACD;oBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;iBAC1C;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;oBACvD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCAEvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK;oBAC3D,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCAEvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;oBACzD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;gCAClC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;oCACtE,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;iCACtH;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;oBACpD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;oBACxD,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;oBAC1D,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,GAAG;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACxJ,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;oBAC7D,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC5E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAEF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAEF;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;oBAC5C,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI;oBAClD,YAAY,EAAE,UAAU,MAAM;wBAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI;iBAExE;gBAED;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;oBAC5C,YAAY,EAAE,UAAU,MAAM;wBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC5E,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAC/C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC3M,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAEF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;iBAEnD;gBACD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe;iBAC/E;gBAGD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI;iBAEjE;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI;iBAElD;gBACD;oBACE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI;iBAE5C;gBACD;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI;iBAEhE;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;iBAEhD;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI;iBAEtD;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI;iBAEtD;gBAGD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;wBAClF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,2EAA2E,CAAC;wBAE7F,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI;iBAE7D;gBACD;oBAEE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;iBAEvD;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI;iBAEzD;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI;iBAErD;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;iBAE9C;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI;iBAEpD;gBACD;oBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI;iBAE9D;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;iBACxD;gBACD;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI;iBAChE;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;iBACxD;gBACD;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI;iBAChE;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI;iBAC1D;gBACD;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI;iBAEjE;gBAED;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI;iBAEpD;aAEF,CAAC;SACH;IAEH,CAAC;IAGD,mDAAoB,GAApB,UAAqB,IAAI,EAAE,MAAM,EAAE,MAAgB,EAAE,QAAkB,EAAE,MAAgB;QAAzF,iBAkGC;QAhGC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;YACjD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;QAC1F,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAChD,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,WAAW,CAAE;QAC9T,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,sCAAsC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAChG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9B,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,OAAO,CAAC,OAAO,CAAC,iBAAO;oBACrB,OAAO,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBACzE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAClF,CAAC,CAAC,CAAC;gBACH,IAAI,KAAI,CAAC,UAAU,IAAI,aAAa,EAAE;oBACpC,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,OAAO,CAAC,OAAO,CAAC,aAAG;wBACjB,IAAI,OAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;wBACvC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;wBACpB,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;wBACtC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;wBAChC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;wBAChC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;wBACxB,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;wBACzB,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;wBAC1B,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;wBAC1B,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;wBACtB,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;wBAChC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;wBACxC,OAAO,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;wBAC9C,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;wBAC1C,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC;wBACnC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;wBACpC,SAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,EAAE;wBACX,SAAO,CAAC,oBAAoB,GAAG,SAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,EAAE,EAArB,CAAqB,CAAC,CAAC;qBAChG;oBACD,IAAI,CAAC,QAAQ,EAAE;wBACb,SAAO,CAAC,oBAAoB,GAAG,SAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,EAAE,EAArB,CAAqB,CAAC,CAAC;qBAChG;oBACD,IAAI,SAAO,CAAC,IAAI,IAAI,EAAE,EAAE;wBACtB,IAAI,SAAO,CAAC,cAAc,IAAI,KAAK,EAAE;4BACnC,SAAO,CAAC,YAAY,GAAG,SAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAO,CAAC,IAAI,CAAC,EAAxG,CAAwG,CAAC,CAAC;yBAC3K;6BAAM,IAAI,SAAO,CAAC,cAAc,IAAI,KAAK,EAAE;4BAC1C,SAAO,CAAC,YAAY,GAAG,SAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAO,CAAC,IAAI,CAAC,EAA5G,CAA4G,CAAC,CAAC;yBAC/K;6BAAM,IAAI,SAAO,CAAC,cAAc,IAAI,KAAK,EAAE;4BAC1C,KAAI,CAAC,YAAY,GAAG,SAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAO,CAAC,IAAI,CAAC,EAA/G,CAA+G,CAAC,CAAC;yBAC/K;6BAAM,IAAI,SAAO,CAAC,cAAc,IAAI,KAAK,EAAE;4BAC1C,SAAO,CAAC,YAAY,GAAG,SAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAO,CAAC,IAAI,CAAC,EAA7C,CAA6C,CAAC,CAAC;yBAChH;6BAAM,IAAI,SAAO,CAAC,cAAc,IAAI,KAAK,EAAE;4BAC1C,SAAO,CAAC,YAAY,GAAG,SAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAvF,CAAuF,CAAC,CAAC;yBAC1J;wBAED,SAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;wBACtC,SAAO,CAAC,gBAAgB,EAAE,CAAC;wBAC3B,SAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;qBAC9B;iBAEF;qBAAM;oBACL,IAAI,KAAI,CAAC,iBAAiB,IAAI,GAAG,EAAE;wBACjC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;wBAC3B,IAAI,KAAI,CAAC,eAAe,IAAI,GAAG,IAAI,KAAI,CAAC,uBAAuB,IAAI,GAAG,EAAE;4BACtE,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,YAAY,IAAI,GAAG,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,EAAhD,CAAgD,CAAC,CAAC;yBACnG;6BAAM,IAAI,KAAI,CAAC,eAAe,IAAI,GAAG,IAAI,KAAI,CAAC,uBAAuB,IAAI,GAAG,EAAE;4BAC7E,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,YAAY,IAAI,GAAG,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,EAAzE,CAAyE,CAAC,CAAC;yBAC5H;6BAAM,IAAI,KAAI,CAAC,eAAe,IAAI,GAAG,IAAI,KAAI,CAAC,uBAAuB,IAAI,GAAG,EAAE;4BAC7E,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,YAAY,IAAI,GAAG,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,EAAhD,CAAgD,CAAC,CAAC;yBACnG;6BAAM,IAAI,KAAI,CAAC,eAAe,IAAI,GAAG,IAAI,KAAI,CAAC,uBAAuB,IAAI,GAAG,EAAE;4BAC7E,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,EAAvB,CAAuB,CAAC,CAAC;yBAC1E;wBACD,IAAI,KAAI,CAAC,cAAc,IAAI,KAAK,EAAE;4BAChC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,EAAjG,CAAiG,CAAC;yBACnJ;6BAAM,IAAI,KAAI,CAAC,cAAc,IAAI,KAAK,EAAE;4BACvC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAArV,CAAqV,CAAC;yBACvY;qBACF;yBAAM;wBACL,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;qBAE5B;oBACD,KAAI,CAAC,wBAAwB,EAAE,CAAC;oBAChC,KAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;iBAC3B;aACF;iBAAM;gBACL,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;IAEP,CAAC;IACD,0CAAW,GAAX;QACE,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,qCAAM,GAAN,UAAO,GAAG;QAAV,iBAgDC;QA/CC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;YACjD,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACpD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;gBAC9C,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;aACnC;YACD,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE;gBAC/B,IAAI,OAAO,CAAC,UAAU,IAAI,aAAa,EAAE;oBACvC,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE;wBACtB,IAAI,KAAI,CAAC,cAAc,IAAI,KAAK,EAAE;4BAChC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,EAApF,CAAoF,CAAC,CAAC;yBACjJ;6BAAM,IAAI,KAAI,CAAC,cAAc,IAAI,KAAK,EAAE;4BACvC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,EAA/F,CAA+F,CAAC,CAAC;yBAC5J;6BAAM,IAAI,KAAI,CAAC,cAAc,IAAI,KAAK,EAAE;4BACvC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,EAAjG,CAAiG,CAAC,CAAC;yBAC9J;6BAAM,IAAI,KAAI,CAAC,cAAc,IAAI,KAAK,EAAE;4BACvC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,EAA1C,CAA0C,CAAC,CAAC;yBACvG;6BAAM,IAAI,KAAI,CAAC,cAAc,IAAI,KAAK,EAAE;4BACvC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,EAA9C,CAA8C,CAAC,CAAC;yBAC3G;wBACD,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;qBACvC;yBAAM;wBACL,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;qBAChC;iBACF;qBACI,IAAI,OAAO,CAAC,UAAU,IAAI,aAAa,EAAE;oBAC5C,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE;wBACtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;wBAAC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;qBACrD;yBAAM,GAAG;oBAEV,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;iBACvC;aACF;iBAAM;gBACL,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aAExB;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IAGV,CAAC;IACD,4CAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,0CAAW,GAAX,UAAY,KAAK,EAAE,YAAY;QAC7B,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;QAChD,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE;YACpC,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;gBAC1C,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/B,IAAI,SAAO,GAAG,IAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBAEX,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACR,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBAC9C;qBACI;oBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;iBAC5D;gBAED,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;gBAE7C,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,UAAU,CAAC;oBACT,SAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAC7D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC7C,SAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,UAAU,CAAC;gBAC1D,CAAC,EAAE,GAAG,CAAC;aACR;iBAAM;gBACL,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/B,IAAI,SAAO,GAAG,IAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBAEX,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACR,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBAC9C;qBACI;oBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;iBAC5D;gBAED,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;gBAE7C,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,UAAU,CAAC;oBACT,SAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAC5D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC/C,CAAC,EAAE,GAAG,CAAC;aACR;SACF;aAAM;YACL,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;gBAChC,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBAEX,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;gBACtE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACR,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aAC9C;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;aAClE;YACD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAE1C,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,UAAU,CAAC;gBACT,SAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAC3D,SAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;YACzD,CAAC,EAAE,GAAG,CAAC;SACR;IACH,CAAC;IACD,oDAAqB,GAArB,UAAsB,QAAQ;QAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IACD,uDAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;QAChD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;YACnC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACR,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aAC9C;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;aAC5D;YAED,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAExD,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,UAAU,CAAC;gBACT,SAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAC7D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,SAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,UAAU,CAAC;YAC1D,CAAC,EAAE,GAAG,CAAC;SACR;aAAM;YACL,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,IAAI,UAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBAEX,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBAChE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACR,UAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aAC9C;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;aAC5D;YAED,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAExD,IAAI,UAAO,GAAG,IAAI,CAAC;YACnB,UAAU,CAAC;gBACT,UAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAC5D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,qCAAqC;YACvC,CAAC,EAAE,GAAG,CAAC;SACR;IACH,CAAC;IACD,uDAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;QAChD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;YAExE,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACtD,CAAC,CAAC,UAAU,CAAC;oBACX,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;wBAEtE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;wBACzD,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;qBAEzD;yBAAM;wBACL,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;wBAC/D,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;qBACvD;oBACD,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;gBACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACR,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;oBAEtE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBACzD,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;iBAEzD;qBAAM;oBACL,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;oBAC/D,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;iBACvD;gBACD,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;YACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACD,oDAAqB,GAArB,UAAsB,QAAQ;QAC5B,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;QAChD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExD,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;gBAC/D,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACtD,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;YACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IACD,+CAAgB,GAAhB;QACE,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;IAClD,CAAC;IAED,oDAAqB,GAArB,UAAsB,GAAG;QAEvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,oDAAqB,GAArB;QACE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEvB,CAAC,CAAC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;YAClE,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE;gBACpC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;iBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE;gBAC3C,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;aACpC;YACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAExH;IAEH,CAAC;IAED,2DAA4B,GAA5B,UAA6B,UAAU;QAAvC,iBAMC;QALC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClF,KAAI,CAAC,WAAW,CAAC,YAAY,GAAG,UAAU,CAAC;YAC3C,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,wCAAS,GAAT,UAAU,GAAG;QACX,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;QAEhD,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IACD,qCAAM,GAAN,UAAO,GAAG;QACR,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7B;aAAM,IAAI,GAAG,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7B;QACD,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,0CAAW,GAAX,UAAY,IAAI;QAAhB,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACtF,KAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,qDAAsB,GAAtB;QACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK;YACrF,IAAI,CAAC,WAAW,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,EAAE;YACxD,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;SACpC;aACI;YACH,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;SACpC;QACD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACH,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGC14DG,8NAAwI,KACtI,6IAAuB,KACrB,uKAAiD,mGAAsB,MACvE,4KAA0C,YAApC;;wBAAmC;MAAzC,wBAA0C,6PAA8H,KAE1K,kLAAsD,KACpD,yXAcqD,YALpC;;wBAAuC;MACvC;;wBAAmC;MAEnC;;wBAAuC;MACvC;;wBAAsC;MACtC;;wBAAmC;MAdpD,sxDAcqD,mDAbpC,mBAA2B,cAG3B,mBAAuB,cAFvB,mBAAyB,aAKzB,mBAAoD,+BAFpD,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAKnB,oBAAkC,EAHlC,oBAAsC,EARvD,aAcqD,EAbpC,SAA2B,EAG3B,SAAuB,EAFvB,SAAyB,EAKzB,SAAoD,EAFpD,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EAKnB,SAAkC,EAHlC,SAAsC;wGAczD,0LAA+F,KAC7F,i7CAKiC,iDAHlB,mBAAmB,YACnB,yBAAiB,EAEjB,qBAAiB,EAJjB,mBAAuB,EAGvB,uBAAoB,EAJnC,YAKiC,EAHlB,SAAmB,EACnB,SAAiB,EAEjB,SAAiB,EAJjB,SAAuB,EAGvB,SAAoB;wGAIrC,0LAA+F,KAC7F,i7CAKiC,iDAHlB,mBAAmB,YACnB,yBAAiB,EAEjB,qBAAiB,EAJjB,mBAAuB,EAGvB,uBAAoB,EAJnC,YAKiC,EAHlB,SAAmB,EACnB,SAAiB,EAEjB,SAAiB,EAJjB,SAAuB,EAGvB,SAAoB;wGAlBvC,kkBAA2G,IACzG,+KAAmD,KACjD,4KAA4C,YAAtC;;wBAAqC;MAA3C,wBAA4C,KAAC,yNAA+F,KAE9I,4YAA+F,IAS/F,4YAA+F,iDAb5F,0BAAsB,EAA3B,YAA2G,EAAtG,SAAsB,GAIqC,wCAAgC,GAA9F,YAA+F,EAAjC,SAAgC,GAShC,wCAAgC,GAA9F,YAA+F,EAAjC,SAAgC,2BAbpE,oBAAsB,EAAlD,YAA2G,EAA/E,SAAsB;wGAwBlD,gMAAqI,KAEnI,6IAAuB,KAErB,uKAAiD,kGAAqB,MACtE,4KAA4C,YAAtC;;wBAAqC;MAA3C,wBAA4C,6PAA8H,KAG5K,kLAAsD,KACpD,gTAQ4D,YAD3C;;wBAA6C;MAC7C;;wBAA0C;MAR3D,ugDAQ4D,mDAP3C,mBAA2B,cAG3B,mBAAuB,cAFvB,mBAAgC,oBAGhC,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANpC,aAQ4D,EAP3C,SAA2B,EAG3B,SAAuB,EAFvB,SAAgC,EAGhC,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;wGAMxC,olBAAkJ,IAChJ,uMAAoJ,YAAlD;;wBAAiD;MAAnJ,4zCAAoJ,mDADnG,0BAAsB,EAAzE,YAAkJ,EAA/F,SAAsB,GACpD,mBAAuC,sBAAC,mBAAkB,OAAC,2BAAmB,EAAjG,YAAoJ,EAAjI,SAAuC,EAAC,SAAkB,EAAC,SAAmB,2BADzB,oBAAsB,EAAhG,YAAkJ,EAAxE,SAAsB;wGAGhG,olBAAkJ,IAEhJ,8LAA8I,YAAlD;;wBAAiD;MAA7I,k0CAA8I,mDAF7F,0BAAsB,EAAzE,YAAkJ,EAA/F,SAAsB,GAEnC,6BAAmC,aAAtD,yBAAkB,EAAqC,2BAAmB,EAA3F,YAA8I,EAA1G,SAAmC,EAAtD,SAAkB,EAAqC,SAAmB,2BAFnB,oBAAsB,EAAhG,YAAkJ,EAAxE,SAAsB;gRApFpG,yLAAyD,KACzD,qMAAqE,KACrE,iMAAoE,KAClE,qKAAyC,KACvC,sKAA0C,KAE1C,sOAAyE,YAApE;;wBAAkB;MAAvB,wBAAyE,KACrE,oNAA0F,KAGhG,oLAAuD,KAErD,6YAAwI,IAwBxI,6YAA2G,IAwB3G,6YAAqI,IAqBrI,6YAAkJ,IAGlJ,6YAAkJ,IAKpJ,2LAAqC,YAAzB;;wBAAwB;MAApC,gaAAqC,MACnC,i3BAAiF,IAGnF,iNAA6D,YAAjD;;wBAA8B;MAA1C,gaAA6D,MAC3D,6LAAsM,YAA1C;;wBAAyC;MAArM,umBAAsM,mDAlFjM,iDAA4C,mBAAjD,aAAwI,EAAnI,SAA4C,GAwBiC,oBAAwB,kBAA1G,aAA2G,EAAzB,SAAwB,GAwBrG,0EAAiE,mBAAtE,aAAqI,EAAhI,SAAiE,GAqBjE,gEAA6C,IAAlD,aAAkJ,EAA7I,SAA6C,GAG7C,gEAA6C,IAAlD,aAAkJ,EAA7I,SAA6C,GAKxC,mBAAwB,aAApC,aAAqC,EAAzB,SAAwB,GACX,mBAAgB,YAAC,mBAAmB,aAAC,oBAAoB,EAAhF,aAAiF,EAA1D,SAAgB,EAAC,SAAmB,EAAC,SAAoB,GAGtE,mBAA8B,mBAA1C,aAA6D,EAAjD,SAA8B,GACtB,kBAAY,EAAC,4BAAqB,EAAC,kCAAiC,EAAC,qBAAa,EAAC,sBAAgB,EAAqB,qBAAiB,EAArC,sBAAmB,EAAzI,aAAsM,EAApL,UAAY,EAAC,UAAqB,EAAC,UAAiC,EAAC,UAAa,EAAC,UAAgB,EAAqB,UAAiB,EAArC,UAAmB;;;;;;;;;;;;;;;;AC7F7I;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACR;AACkB;AACO;AACK;AACG;AAChB;AACjB;AAEiB;AAEW;AACpB;AAEO;AACX;AACpB;AAUjC;IAmDE,4BAAoB,SAAmB,EAAS,oBAA0C,EAAS,KAAqB,EAAU,iBAAsC,EAAU,eAAgC,EAAU,eAAgC;QAAxO,cAAS,GAAT,SAAS,CAAU;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,UAAK,GAAL,KAAK,CAAgB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QA7C5P,UAAU;QACV,eAAU,GAAW,EAAE,CAAC;QACzB,WAAW;QACV,UAAK,GAAW,EAAE,CAAC;QACnB,aAAQ,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAOpC,cAAS,GAAW,CAAC,CAAC;QACtB,uBAAkB,GAAW,CAAC;QAE9B,eAAU,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QACrC,QAAG,GAAW,WAAW,CAAC;QAI1B,sBAAiB,GAAY,KAAK,CAAC;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,eAAU,GAAG,KAAK,CAAC;QAAC,eAAU,GAAG,CAAC,CAAC;QACnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACrB,cAAS,GAAG,CAAC,CAAC;QAC5B,kBAAa,GAAG,EAAE,CAAC;QAAoB,iBAAY,GAAG,EAAE,CAAC;QAAC,eAAU,GAAG,EAAE,CAAC;QAC1E,aAAQ,GAAW,EAAE,CAAC;QAAC,oBAAe,GAAG,EAAE,CAAC;QACrC,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC1O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/N,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjN,gBAAW,GAAiB,IAAI,kEAAY,EAAE,CAAC;QAK/C,mBAAc,GAAuB,EAAE,CAAC;QACxC,gBAAW,GAAmB,EAAE,CAAC;QACjC,eAAU,GAAkB,EAAE,CAAC;QAC/B,gBAAW,GAAmB,EAAE,CAAC;QACjC,qBAAgB,GAAU,EAAE,CAAC;QAC7B,cAAS,GAAiB,EAAE,CAAC;QAC7B,oBAAe,GAAY,IAAI,CAAC;QAE9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAhB+I,CAAC,CAAE,6CAA6C;IACiB,CAAC;IAiBlN,qCAAQ,GAAR;QAAA,iBAkEC;QA/DC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,KAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC;YAC3C,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAE7C,KAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,SAAS,EAAE;gBAC5J,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;oBACnB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAI,CAAC,KAAK,IAAI,UAAU,EAAE;oBAC5B,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;iBAC3J;qBAAM;oBACL,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;iBAC3J;aAEF;iBAAM;gBAEL,IAAI,KAAI,CAAC,KAAK,IAAI,UAAU,EAAE;oBAC5B,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;iBAC3J;qBAAM;oBACL,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;iBAC3J;gBAED,KAAI,CAAC,aAAa,GAAG;oBACnB,EAAE,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;iBAC5G,CAAC;aACH;YACH,KAAK;YACL,IAAI,KAAK,GAAG,WAAW,CAAC;YACxB,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YACpD,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC3C,KAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACpF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,GAAG;gBACrB,eAAe,EAAE,KAAK;gBACtB,IAAI,EAAE,cAAc;gBACpB,aAAa,EAAE,YAAY;gBAC3B,eAAe,EAAE,cAAc;gBAC/B,kBAAkB,EAAE,IAAI;gBACxB,cAAc,EAAE,CAAC;aAClB,CAAC;YAEF,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;gBAClC,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC;gBAC1G,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;YACD,KAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,WAAW,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kCAAK,GAAL,cAAU,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClC,6CAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IACD,2CAAc,GAAd;QAEE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;QACnE,4BAA4B;QAC5B,4GAA4G;QAC5G,SAAS;IACX,CAAC;IACD,yCAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACvI,CAAC;IACD,2CAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACtI;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,wCAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACvI,CAAC;IACD,0CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;IACjD,CAAC;IACM,0DAA6B,GAApC,UAAqC,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa;QAA7H,iBA+CC;QA9CC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,aAAa,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAChG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACjF,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;YAC5B,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE;gBAC/C,2FAA2F;gBAC3F,yDAAyD;gBACzD,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,KAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAE7B;iBAAM;gBACL,2FAA2F;gBAC3F,KAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,EAAE,CAAC;gBACpC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5B,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC5C,KAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;aAEjD;YACD,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;YACjC,KAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,EAAE,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5F,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE;wBACrC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACtD,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACtC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;qBAC3C;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAEV,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,0DAA6B,GAApC,UAAqC,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa;QAA7H,iBAgCC;QA/BC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,aAAa,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAChG,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YAC5E,GAAG,CAAC,OAAO,CAAC,kBAAQ;gBAClB,QAAQ,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;YAC5B,KAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,EAAE,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5F,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/E,IAAI,OAAO,GAAG,KAAI,CAAC;YAEnB,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,OAAO,CAAC,cAAc,IAAI,SAAS,EAAE;oBACvC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,UAAC,IAAI;wBACtC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE;4BACrC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC9C,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;4BACxD,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;4BACtC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;yBAC5C;oBACH,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAgB,GAAhB;QAAA,iBAyCC;QAxCC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE;YAE5B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;gBACxC,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,4BAA4B,GAAG;YAClC,aAAa,EAAE,6FAAsB;YACrC,YAAY,EAAE,0FAAqB;SACpC,CAAC;IAEJ,CAAC;IAED,gDAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBA6DC;QA3DC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE;gBAEjJ,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QAED,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAE5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,iBAAO;gBACjB,IAAI,OAAO,CAAC,MAAM,IAAI,WAAW,EAAE;oBAC/B,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;iBACzG;gBACD,IAAI,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,IAAI,IAAI,EAAE;oBACvE,2DAA2D;iBAC3D;qBACI;oBACJ,0DAA0D;iBAC1D;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SAEH;aACI;YACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACnF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,kBAAuB,CAAC;oBAC5B,kBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,kBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEhH,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;wBAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;wBAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;qBACpD,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,0DAA0D;SAC3D;IACH,CAAC;IACD,2CAAc,GAAd,UAAe,QAAQ;QAErB,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACnD;IAEH,CAAC;IAED,kDAAqB,GAArB,UAAsB,QAAQ;QAE5B,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC5C;IAEH,CAAC;IACD,6CAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QAChF,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;QACvD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7J;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC;iBAClL;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC3F,IAAI,SAAS,IAAI,IAAI,EAAE;gCACrB,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oCAC1C,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;wCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBAAE,CAAC,CAAC;iBACR;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACrF,IAAI,SAAS,IAAI,IAAI,EAAE;gCACrB,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oCAC1C,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;wCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBAAG,CAAC,CAAC;iBACT;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;4BACvF,IAAI,SAAS,IAAI,IAAI,EAAE;gCACrB,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oCAC1C,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;wCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBAAG,CAAC,CAAC;iBACT;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,uBAAuB,EAAE;oBACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7R;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACrF,IAAI,SAAS,IAAI,IAAI,EAAE;4BACrB,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC1C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAAE;gBACL;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACvF,IAAI,SAAS,IAAI,IAAI,EAAE;4BACrB,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC1C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAAE;gBACL,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACtF,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBAChK,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3F,IAAI,SAAS,IAAI,IAAI,EAAE;4BACrB,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC1C,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAAE;gBACL,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;gBAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;aACxD,CAAC;SACH;IACH,CAAC;IACD,0CAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,iDAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC;IAClC,CAAC;IACD,wCAAW,GAAX;IAEA,CAAC;IACD,0BAA0B;IAC1B,wDAAwD;IACxD,+BAA+B;IAC/B,+DAA+D;IAC/D,mDAAmD;IAEnD,mEAAmE;IACnE,0DAA0D;IAC1D,SAAS;IACT,4EAA4E;IAC5E,0DAA0D;IAC1D,SAAS;IAGT,6BAA6B;IAC7B,kCAAkC;IAElC,2DAA2D;IAC3D,sDAAsD;IACtD,+DAA+D;IAC/D,eAAe;IACf,eAAe;IACf,mBAAmB;IAEnB,OAAO;IACP,KAAK;IACL,GAAG;IACH,sCAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IACD,wCAAW,GAAX,UAAY,OAAO;QAAnB,iBAQC;QAPC,IAAI,CAAC,GAAG,OAAO,CAAC,gDAAgD,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAC9D,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,KAAI,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;YAC5J,CAAC,CAAC,CAAC;SAEJ;IACH,CAAC;IACD,6CAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAWC;QAVC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;QAClC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,UAAU,CAAC;YACT,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uFAAuF,CAAC;QACtH,CAAC,EAAE,CAAC,CAAC;IAEP,CAAC;IACD,qCAAQ,GAAR,UAAS,GAAG;QACV,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACnD,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,8CAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAChE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,8CAAiB,GAAjB,UAAkB,OAAO;QACvB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD,uCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAEvI,CAAC;IACD,+CAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,kDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,4CAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI;gBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,QAAQ,CAAC;aACjC;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC;aAC7B;SAEF;aACI;YACH,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK;gBACrC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;aAChC;SAEF;IACH,CAAC;IAED,oHAAoH;IACpH,oDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IAED,qDAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,GAAG,IAAI,WAAW,EAAE;YAAE,IAAI,CAAC,cAAc,EAAE,CAAC;SAAE;aAC7C,IAAI,GAAG,IAAI,QAAQ,EACxB;YAAE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAAE;aAC5B,IAAI,GAAG,IAAI,UAAU,EAC1B;YAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAAE;IAClC,CAAC;IACD,oDAAuB,GAAvB,UAAwB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QACvF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,uBAAuB,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACrC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI;wBAChE,YAAY,YAAC,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,gBAAgB;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,iBAAiB;yBAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC5O,CAAC,CAAC;iBACJ;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACtD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;qBAC9D,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI;qBACzD,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACtO;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAE/J;qBAAM;oBACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBACzD,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC5C,CAAC,CAAC;iBACJ;aACF;SACF;aACI;YACH,IAAI,CAAC,iBAAiB,GAAG;gBACvB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7C;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI;oBAChE,YAAY,YAAC,MAAM;wBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4BAAE,OAAO,gBAAgB;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;oBACvK,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC9D,2DAA2D;gBAC3D;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iBAC9D;gBACD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE;aAC7G,CAAC;SACH;IAEH,CAAC;IAEH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GCh4ByG,yMAAyH,YAA1F;;wBAA8C;MAA7E,wBAAyH,KACrN,uKAA2C;2GAHnD,wNAAyK,KACrK,yLAA6D,KAC3D,yHAAO,mJAA+E,IAAQ,8YAAyH,IAIzN,yLAA6D,KAC3D,yHAAO,wMAAsC,IAE/C,0LAA6D,KAC3D,yNAA8E,YAAhC;;wBAA+B;MAA7E,wBAA8E,uFAAU,mDARoF,uDAA0C,GAAxH,YAAyH,EAA3C,SAA0C,2BAFtL,qIAAyC,GAA/E,YAAyK,EAAnI,SAAyC,GAElE,mTAA+E,GAK/E,iNAAsC;2GARrD,oNAAoH,KAClH,udAAyK,iDAA9C,mBAA6C,oBAAxK,YAAyK,EAA9C,SAA6C;2GAyClK,sKAAkF,KAChF,oMAA4E,YAAlD;;wBAAiD;MAA3E,wBAA4E,KAC1E,oMAAkE;2GA3B9E,4KAA0E,KACxE;;;;;;wxBAA8C,IAC5C,iLAAoD,KAClD,uKAA0C,KAExC,4KAAgD,KAC9C,wHAAM,yFAAY,MAEpB,sKAAyC,KACvC;;;;;;;;;;;wBAAyG;MAAjE;;wBAA2C;MAAnF,+1CAAyG,IAG7G,wKAA0C,KACxC,6KAAgD,KAC9C,yHAAM,8FAAiB,MAEzB,sKAAyC,KACvC;;;;;;;;;;;wBAAqJ;MAA5F;;wBAA6C;MAAtG,gzDAAqJ,IAKzJ,uKAAyC,KACvC,gLAAmD,wFAAW,MAC9D,sKAAyC,KAAC;;;;;;;;;;;wBAA0G;MAAxE;;wBAAuC;MAAzE,gzDAA0G,IACpJ,+YAAkF,IAOtF,0LAA6D,KAC3D;;;;;;;;;;;wBACgE;MAAtD;;wBAA4C;MADtD,gzDACgE,IAElE,kMAAqE,KACnE,gOAA6F,KAC3F,gRAAwH,YAA1E;;wBAA8B;MAA5E,wBAAwH,mFAAM,MAEhI,qMAAkE,KAChE,yVAA0N,YAAlE;;wBAA4B;MAApL,wBAA0N,iFAAI,mDAhCxI,8BAAkB,EAA9D,oBAA2C,gCAAnF,aAAyG,EAArB,UAAkB,EAA9D,UAA2C,GAQuD,mBAAQ,EAAlJ,aAAqJ,EAAX,UAAQ,GAA1G,4BAAgB,EAAC,oBAA6C,kCAAtG,aAAqJ,EAA7G,UAAgB,EAAC,UAA6C,GAOiC,mBAAQ,EAAvG,aAA0G,EAAX,UAAQ,GAApF,0BAAc,EAAC,oBAAuC,4BAAzE,aAA0G,EAAvF,UAAc,EAAC,UAAuC,GAC7F,oBAAuC,kCAA7D,aAAkF,EAA5D,UAAuC,GASR,mBAAQ,EAD/D,aACgE,EAAT,UAAQ,GADQ,yCAA6B,EAC1F,oBAA4C,iCADtD,aACgE,EADO,UAA6B,EAC1F,UAA4C,2BAjC1D,8sBAA8C,GAQtC,8tBAAyG,GAQzG,o1BAAqJ,GAO7G,o1BAA0G,GAStJ,o1BACgE,GAOuH,0EAAoC,cAAzN,aAA0N,EAArC,UAAoC;2GA/DnO,6kBAA6I,IAC3I,uMAA2E,KACzE,6QACyG,YAApG;;;wBAAiG;MADtG,wBACyG,KAE3G,8YAAoH,IAiBpH,8YAA0E,iDAtBvE,kEAAqD,GAA1D,YAA6I,EAAxI,SAAqD,GAKxB,oBAA2B,qBAA3D,YAAoH,EAApF,SAA2B,GAiBZ,mBAA0B,qBAAzE,YAA0E,EAA3B,SAA0B;2GAkDzE,gMAAgG,KAC9F,uMAA2E,KACzE,4JAAsC,6IAAiD,IAEzF,uMAA2E,KACzE,4JAAsC,iFAA+B,MAEvE,uMAA2E,KACzE,4JAAsC,mFAA0B,MAElE,wHAAK,KAGL,oQAAuI,KACrI,0IAA8C,KAC9C,4NAAiF,YAAhC;;wBAA+B;MAAhF,wBAAiF,qGAAwB,yDAbnE,yOAAiD,GAGjD,uEAA+B,GAG/B,kEAA0B,GAM1D,mBAAuC,4BAA7C,aAA8C,EAAxC,SAAuC;2GAfnD,gLAAwE,KACtE,8YAAgG,iDAA7B,yCAA4B,GAA/F,YAAgG,EAA7B,SAA4B;uRA1EnG,gQAAoI,KAElI,8YAA6I,IAuE7I,8YAAwE,iDAvE6C,mBAAuB,kBAA5I,YAA6I,EAAxB,SAAuB,GAuExF,mBAAmB,cAAvE,YAAwE,EAApB,SAAmB;;;;;;;;;;;;;;;;ACzEzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8E;AACnB;AACC;AACjB;AACA;AAEqB;AACI;AACpE;IAoBE,+BAAmB,oBAA0C,EAAS,WAAwB,EAAU,MAAqB;QAA1G,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAZ7H,oBAAe,GAAY,IAAI,CAAC;QAChC,uBAAkB,GAAY,KAAK,CAAC;QACpC,gBAAW,GAAY,KAAK,CAAC;QAC7B,wBAAmB,GAAY,KAAK,CAAC;QACrC,sBAAiB,GAAiB,IAAI,wEAAY,EAAE,CAAC;QAGrD,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE1C,sBAAiB,GAAwB,EAAE,CAAC;QAC5C,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAGzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IAED,8CAAc,GAAd;QAEE,OAAO,IAAI,wDAAS,CAAC;YAEnB,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACvF,cAAc,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACzF,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC3F,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAEhF,CAAC,CAAC;IAGL,CAAC;IAED,gDAAgB,GAAhB;QACE,8BAA8B;QAC9B,uBAAuB;IACzB,CAAC;IACD,6CAAa,GAAb;QACE,wBAAwB;QACxB,uBAAuB;IAEzB,CAAC;IACD,qCAAK,GAAL,cAAU,CAAC;IACX,gDAAgB,GAAhB;QAAA,iBAMC;QALC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnE,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAkB,GAAlB;QAAA,iBAOC;QANC,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,gBAAM;YAC/C,MAAM,CAAC,OAAO,CAAC,iBAAO;gBACpB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAC,QAAQ,CAAC;YACvE,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAM,GAAN,UAAO,cAAc;QAArB,iBAMC;QALC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC7D,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAoB,GAApB;QACE,+BAA+B;QAC/B,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,2CAA2C;IAC7C,CAAC;IAED,wCAAQ,GAAR,UAAS,YAAY;QACnB,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QACvD,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,UAAU,CAAC;YACT,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+LAA+L,CAAC,CAAC;QAC3O,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,kDAAkB,GAAlB;QACE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,wEAAY,EAAE,CAAC;IAE9C,CAAC;IACD,yCAAS,GAAT,UAAU,cAAc;QAAxB,iBAUC;QATC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,iBAAO;YACpC,IAAI,OAAO,CAAC,aAAa,IAAI,cAAc,EAAE;gBAC3C,OAAO,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACjF,KAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,kDAAkB,GAAlB;QACE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IACD,sCAAM,GAAN,UAAO,GAAG;QACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IACH,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GClIC,kLAA6G,KAC3G,k6CAAuC,yBAArB,yBAAoB,EAAtC,YAAuC,EAArB,SAAoB;2GAExC,kLAAgG,KAC9F,wLAAsL,YAA3C;;wBAA0C;MAArL,qxBAAsL,mDAA3K,mBAA6B,eAA+E,mBAAmB,UAAzC,mBAAqB,WAA7E,mBAA6B,eAAC,mBAAyB,aAAhG,YAAsL,EAA3K,SAA6B,EAA+E,SAAmB,EAAzC,SAAqB,EAA7E,SAA6B,EAAC,SAAyB;2GAElG,gLACoD,KAClD,i0BAA6D,iDAA1C,mBAAyC,qBAA5D,YAA6D,EAA1C,SAAyC;2GAE9D,gLAAmG,KACjG,oyBAAgB;2GAElB,kLAA4J,KAC1J,g5BAAmD,yBAA5B,kCAA2B,EAAlD,YAAmD,EAA5B,SAA2B;2GAO5C,wQAAgK,YAA5C;;wBAAyC;MAA7J,wBAAgK;2GAChK,2QAAoK,YAA9C;;wBAA2C;MAAjK,wBAAoK;4GAItK,uKAAgE,KAC9D,6jBAMmC,iDAL3B,mBAAyB,eACzB,mBAAyB,iBACzB,mBAA2B,kBAG3B,mBAA0B,eAD1B,mBAAuB,eADvB,mBAAyB,iBAJjC,YAMmC,EAL3B,SAAyB,EACzB,SAAyB,EACzB,SAA2B,EAG3B,SAA0B,EAD1B,SAAuB,EADvB,SAAyB;2GAdvC,iLAA4E,KAC1E,8PAAkI,KAChI,yHAAO,2FAAc,MACrB,4LAAgE,KAC9D,+YAAgK,IAChK,+YAAoK,IAGxK,uMAA2E,KACzE,iZAAgE,iDAL0B,oBAA2B,qBAAnH,YAAgK,EAAxE,SAA2B,GACxB,mBAA0B,qBAArH,YAAoK,EAAzE,SAA0B,GAI5E,mBAAoB,eAA/D,aAAgE,EAArB,SAAoB;4GAgB7D,wQAAgK,YAA5C;;wBAAyC;MAA7J,wBAAgK;4GAChK,2QAAoK,YAA9C;;wBAA2C;MAAjK,wBAAoK;4GAItK,uKAAoE,KAClE,6jBAMmC,iDAL3B,mBAA6B,mBAC7B,mBAA6B,qBAC7B,mBAA2B,kBAG3B,mBAA0B,eAD1B,mBAAuB,eADvB,mBAAyB,iBAJjC,YAMmC,EAL3B,SAA6B,EAC7B,SAA6B,EAC7B,SAA2B,EAG3B,SAA0B,EAD1B,SAAuB,EADvB,SAAyB;4GAdvC,iLAA4E,KAC1E,2PAA+H,KAC7H,yHAAO,0FAAa,MACpB,4LAAgE,KAC9D,gZAAgK,IAChK,gZAAoK,IAGxK,uMAA2E,KACzE,iZAAoE,iDALsB,oBAA2B,qBAAnH,YAAgK,EAAxE,SAA2B,GACxB,mBAA0B,qBAArH,YAAoK,EAAzE,SAA0B,GAI5E,mBAAwB,mBAAnE,aAAoE,EAAzB,SAAwB;4GAgBjE,wQAAkK,YAA7C;;wBAA0C;MAA/J,wBAAkK;4GAClK,2QAAsK,YAA/C;;wBAA4C;MAAnK,wBAAsK;4GAIxK,uKAAqE,KACnE,6jBAMmC,iDAL3B,mBAA8B,oBAC9B,mBAA8B,sBAC9B,mBAA2B,kBAG3B,mBAA0B,eAD1B,mBAAwB,gBADxB,mBAAyB,iBAJjC,YAMmC,EAL3B,SAA8B,EAC9B,SAA8B,EAC9B,SAA2B,EAG3B,SAA0B,EAD1B,SAAwB,EADxB,SAAyB;4GAdvC,kLAA8E,KAC5E,0PAA8H,KAC5H,yHAAO,2FAAc,MACrB,4LAAgE,KAC9D,gZAAkK,IAClK,gZAAsK,IAG1K,uMAA2E,KACzE,iZAAqE,iDALqB,oBAA4B,sBAApH,YAAkK,EAA1E,SAA4B,GACzB,mBAA2B,sBAAtH,YAAsK,EAA3E,SAA2B,GAI7E,mBAAyB,oBAApE,aAAqE,EAA1B,SAAyB;4GAgBlE,wQAAgK,YAA5C;;wBAAyC;MAA7J,wBAAgK;4GAChK,2QAAoK,YAA9C;;wBAA2C;MAAjK,wBAAoK;4GAItK,uKAAoE,KAClE,6jBAMmC,iDAL3B,mBAA6B,mBAC7B,mBAA6B,qBAC7B,mBAA2B,kBAG3B,mBAA0B,eAD1B,mBAAuB,eADvB,mBAAyB,iBAJjC,YAMmC,EAL3B,SAA6B,EAC7B,SAA6B,EAC7B,SAA2B,EAG3B,SAA0B,EAD1B,SAAuB,EADvB,SAAyB;4GAdvC,iLAA4E,KAC1E,2PAA+H,KAC7H,yHAAO,gGAAmB,MAC1B,4LAAgE,KAC9D,gZAAgK,IAChK,gZAAoK,IAGxK,uMAA2E,KACzE,iZAAoE,iDALsB,oBAA2B,qBAAnH,YAAgK,EAAxE,SAA2B,GACxB,mBAA0B,qBAArH,YAAoK,EAAzE,SAA0B,GAI5E,mBAAwB,mBAAnE,aAAoE,EAAzB,SAAwB;4GAYvE,iNAA2G,KACzG,6PAAiI,KAC/H,yHAAO,wFAAW,MAClB,6MAAiF,KAC/E,sMAA4E,YAAhD;;wBAA+C;MAA3E,wBAA4E,8EAAC,MAGjF,yMAA6E,KAC3E,uKAA2C,KACzC,8jBAMmC,iDAL3B,mBAAmC,yBACnC,mBAAmC,2BACnC,mBAA2B,kBAG3B,mBAA0B,eAD1B,mBAAsB,cADtB,mBAAyB,iBAJjC,aAMmC,EAL3B,SAAmC,EACnC,SAAmC,EACnC,SAA2B,EAG3B,SAA0B,EAD1B,SAAsB,EADtB,SAAyB;2GAlGzC,4MAA2H,KACzH,+YAA4E,IAqB5E,gZAA4E,IAqB5E,gZAA8E,IAqB9E,gZAA4E,IAqB5E,iZAA2G,iDApFvD,mBAAuB,kBAA3E,YAA4E,EAAxB,SAAuB,GAqBvB,mBAAuB,kBAA3E,YAA4E,EAAxB,SAAuB,GAqBtB,mBAAwB,mBAA7E,YAA8E,EAAzB,SAAwB,GAqBzB,mBAAuB,kBAA3E,YAA4E,EAAxB,SAAuB,GAqBjB,mBAA4B,uBAAtF,aAA2G,EAAjD,SAA4B;4GAqBxF,qLAAyG,KACvG,kLAAsD,KACpD,mJAA6B,8FAE7B,MAGF,uKAA2C,KACzC,0PAIqD,YAApC;;wBAAmC;MAJpD,45CAIqD,mDAHpC,mBAA2B,cAE3B,mBAA4B,mBAD5B,mBAAyB,aAF1C,YAIqD,EAHpC,SAA2B,EAE3B,SAA4B,EAD5B,SAAyB;+bAxIhD,yLAA4D,KAC1D,kNAAgF,KAC9E,8LAA6H,YAA/C;;wBAA8C;MAA5H,s8BAA6H,MAE/H,+YAA6G,IAG7G,gZAAgG,IAGhG,gZACoD,IAGpD,gZAAmG,IAGnG,gZAA4J,IAG5J,gZAA2H,IA0G3H,iZAAyG,IAmBzG,4LAAgD,YAApC;;wBAAmC;MAA/C,gaAAgD,MAC9C,gLAAqD,KACnD,oMAAuE,yJAA6B,sHAAuC,MAG3I,8IAAuB,KAGrB,uLAA0D,KACxD,oWAAiO,YAAlM;;wBAA6C;MAA5E,wBAAiO,gFAAG,MAEtO,wLAA2D,KACzD,iWAAgO,YAAjM;;wBAA+C;MAA9E,wBAAgO,+EAAE,mDA3JxN,8BAA6B,EAAC,mBAA+B,gBAA7E,YAA6H,EAA7G,SAA6B,EAAC,SAA+B,GAEzB,mEAAsD,GAA5G,YAA6G,EAAvD,SAAsD,GAGtD,sDAAyC,GAA/F,aAAgG,EAA1C,SAAyC,GAG3C,yHACD,IADnD,aACoD,EADA,SACD,GAGC,2DAA8C,GAAlG,aAAmG,EAA/C,SAA8C,GAG5C,yHAAqG,IAA3J,aAA4J,EAAtG,SAAqG,GAG5E,wDAA2C,GAA1H,aAA2H,EAA5C,SAA2C,GA0GjE,4DAA+C,GAAxG,aAAyG,EAAhD,SAA+C,GAmB5F,mBAAmC,wBAA/C,aAAgD,EAApC,SAAmC;;;;;;;;;;;;;;;;AC9IjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACM;AAGmB;AACD;AACY;AACH;AAIjC;AAI3C;IA4EE,+BAAoB,eAAgC,EAAU,oBAA0C,EAAU,MAAqB,EAC7H,KAAqB,EAAU,iBAAsC;QAD3D,oBAAe,GAAf,eAAe,CAAiB;QAAU,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAe;QAC7H,UAAK,GAAL,KAAK,CAAgB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAvE/E,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QAErB,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAY,IAAI,CAAC;QAC9B,mBAAc,GAAmB,EAAE,CAAC;QAEpC,aAAQ,GAAW,KAAK,CAAC;QACzB,YAAO,GAAW,EAAE,CAAC;QAErB,iBAAY,GAAW,EAAE,CAAC;QAC1B,uBAAkB,GAAW,sBAAsB,CAAC;QACpD,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,wBAAmB,GAAY,KAAK,CAAC;QACrC,uBAAkB,GAAY,KAAK,CAAC;QACpC,oBAAe,GAAY,IAAI,CAAC;QAChC,oBAAe,GAAY,IAAI,CAAC;QAChC,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAChC,yBAAoB,GAAY,KAAK,CAAC;QACtC,0BAAqB,GAAY,KAAK,CAAC;QACvC,oBAAe,GAAmB,EAAE,CAAC;QAC9B,oBAAe,GAAQ;YAC5B,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;YACpC,OAAO,EAAE;gBACP,UAAU,EAAE;oBACV,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE,KAAK;iBACb;aACF;SACF,CAAC;QACK,iBAAY,GAAG,CAAC,EAAC,eAAe,EAAE,YAAY,EAAC,CAAC,CAAC;QACjD,iBAAY,GAAG,CAAC,EAAE,eAAe,EAAE,SAAS,EAAC,CAAC,CAAC;QAC/C,kBAAa,GAAG,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC/C,iBAAY,GAAG,CAAC,EAAE,eAAe,EAAE,SAAS,EAAC,CAAC,CAAC;QAC/C,gBAAW,GAAG,CAAC,EAAE,eAAe,EAAE,SAAS,EAAC,CAAC,CAAC;QAC9C,mBAAc,GAAG,EAAE,CAAC;QACpB,uBAAkB,GAAG,EAAE,CAAC;QACxB,wBAAmB,GAAG,EAAE,CAAC;QACzB,uBAAkB,GAAG,EAAE,CAAC;QACxB,6BAAwB,GAAG,EAAE,CAAC;QAC9B,iBAAY,GAAW,eAAe,CAAC;QAEvC,mBAAc,GAAG,IAAI,CAAC;QACtB,cAAS,GAAG,OAAO,CAAC;QAEpB,iBAAY,GAAU;YAC3B,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;SACvD,CAAC;QAKK,UAAK,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7G,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,sFAAsF;QACrK,yBAAoB,GAAW,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE1G,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,6CAA6C;QAC3I,uBAAkB,GAAW,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5H,oBAAe,GAAY,KAAK,CAAC;QAIxC,qBAAgB,GAAoB,EAAE,CAAC;QACvC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAGzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAED,wCAAQ,GAAR;QAAA,iBAyBC;QAxBC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,KAAI,CAAC,YAAY,IAAI,KAAK,EAAE;gBAC9B,KAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;aAC9C;iBAAM;gBACL,IAAI,KAAI,CAAC,YAAY,IAAI,eAAe,IAAI,KAAI,CAAC,YAAY,IAAI,kBAAkB,EAAE;oBACnF,KAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;iBAC9C;qBAAM,IAAI,KAAI,CAAC,YAAY,IAAI,iBAAiB,IAAI,KAAI,CAAC,YAAY,IAAI,oBAAoB,EAAE;oBAC9F,KAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;iBAChD;qBAAM,IAAI,KAAI,CAAC,YAAY,IAAI,iBAAiB,EAAE;oBACjD,KAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;oBAC5C,KAAI,CAAC,6BAA6B,EAAE,CAAC;oBACrC,KAAI,CAAC,cAAc,EAAE,CAAC;iBACvB;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACzF,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6B,GAA7B;QAEE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,8CAAc,GAAd;QAAA,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC1D,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,gDAAgB,GAAhB;QACE,IAAI,CAAC,UAAU,GAAG;YAChB,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAClE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACnE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC5D,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;SACjE,CAAC;IACN,CAAC;IAED,0CAAU,GAAV;QACE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,mDAAmB,GAAnB;QAAA,iBAoCC;QAnCC,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,kBAAkB;YACjC,eAAe,EAAE,oBAAoB;YACrC,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB;QACD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACtF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,SAAS,EAAE;YAC5J,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;gBAEnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SACpC;aACI;YACH,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aACrE,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAClF,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,KAAI,CAAC,kBAAkB,EAArC,CAAqC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,KAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,4CAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAErC,CAAC;IAED,wCAAQ,GAAR,UAAS,GAAG;QAAZ,iBAqFC;QApFC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,GAAG,CAAC;QAC9C,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,EAAE;YAClG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACrI,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBAAC,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAC5C,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,iBAAO;wBAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;wBAChC,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,YAAY,GAAG;wBAChB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;qBACnC,CAAC;iBAEL;YAEH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACxI,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAC7B,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,IAAI,QAAQ,IAAI,IAAI,EAAE;oBACpB,QAAQ,CAAC,OAAO,CAAC,iBAAO;wBACtB,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC9B,CAAC,CAAC,CAAC;oBACD,KAAI,CAAC,gBAAgB,GAAG;wBACtB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;qBAC/B,CAAC;iBAEL;YAEH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACtI,IAAI,SAAS,GAAG,EAAE;gBAClB,KAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;gBAAC,KAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;gBAC3D,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,KAAK,CAAC,OAAO,CAAC,iBAAO;wBACnB,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC/C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;oBACnC,CAAC,CAAC,CAAC;oBAEH,IAAI,IAAE,GAAG,KAAI,CAAC;oBACd,CAAC,CAAC,UAAU,CAAC;wBACX,IAAE,CAAC,iBAAiB,GAAG;4BACrB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;yBACpC,CAAC;oBACJ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBAEV;YAEH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACpI,IAAI,QAAQ,GAAG,EAAE;gBACjB,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAC7B,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,iBAAO;wBAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;wBAChC,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAChD,CAAC,CAAC,CAAC;oBAEH,IAAI,IAAE,GAAG,KAAI,CAAC;oBACd,CAAC,CAAC,UAAU,CAAC;wBACX,IAAE,CAAC,gBAAgB,GAAG;4BACpB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;yBACnC,CAAC;oBACJ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBAEV;YACH,CAAC,CAAC,CAAC;YACJ,yBAAyB;YAC3B,MAAM;SAEN;IAGH,CAAC;IACD,6CAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,IAAI,IAAI,CAAC,kBAAkB,IAAI,oBAAoB,EAAE;gBACnD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;aAClD;YACD,CAAC,CAAC,UAAU,CAAC;gBAEX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,IAAI,IAAI,CAAC,kBAAkB,IAAI,oBAAoB,EAAE;gBACnD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACjC;YACD,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;QACD,sDAAsD;QACtD,qDAAqD;IAEvD,CAAC;IACD,kDAAkB,GAAlB,UAAmB,QAAQ,EAAE,eAAe;QAExC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClC,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SACvK;aACI,IAAI,GAAG,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SAC9K;aACI,IAAI,GAAG,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SAC9K;aACI,IAAI,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SAC5K;aACI,IAAI,GAAG,IAAI,aAAa,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SAClL;aACI,IAAI,GAAG,IAAI,UAAU,EAAE;YAC1B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SAC/K;aACI,IAAI,GAAG,IAAI,mBAAmB,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SACxL;aACI,IAAI,GAAG,IAAI,WAAW,EAAE;YAC3B,4DAA4D;YAC5D,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SAChL;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,sDAAsD;YACtD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SAC1K;QAED,QAAQ;QACR,iBAAiB;QACjB,GAAG;QAEL,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEH,iDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,4FAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;;YAErB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QAEtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACC,2CAAW,GAAX,UAAY,KAAK;QACf,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,EAAxD,CAAwD,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,KAAK,GAAG,mEAAmE,EAAE,eAAe,CAAC,CAAC;gBACjJ,OAAO,KAAK,CAAC;aACd;SACF;QACD,4DAA4D;QAC5D,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,SAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC;QACN,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC3C,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACvC;SACF;IACH,CAAC;IACD,0CAAU,GAAV,UAAW,KAAK;QAEd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,EAAE;YACjD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACrJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;aAAM,IAAI,IAAI,CAAC,kBAAkB,IAAI,oBAAoB,EAAE;YAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IAED,qDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,uDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,sCAAM,GAAN,UAAO,GAAG,EAAE,IAAI;QACd,QAAQ,GAAG,EAAE;YACX,KAAK,cAAc;gBACjB,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACnD,IAAI,IAAI,IAAI,QAAQ,EAAE;oBACpB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACrD;qBAAM,IAAI,IAAI,IAAI,UAAU,EAAE;oBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;iBAClD;gBACD,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACnD,IAAI,IAAI,IAAI,QAAQ,EAAE;oBACpB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACrD;qBAAM,IAAI,IAAI,IAAI,UAAU,EAAE;oBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;iBAClD;gBACD,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBACrD,IAAI,IAAI,IAAI,QAAQ,EAAE;oBACpB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACrD;qBAAM,IAAI,IAAI,IAAI,UAAU,EAAE;oBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;iBAClD;gBACD,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACnD,IAAI,IAAI,IAAI,QAAQ,EAAE;oBACpB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;iBACrD;qBAAM,IAAI,IAAI,IAAI,UAAU,EAAE;oBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;iBAClD;gBACD,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,IAAI,IAAI,QAAQ,EAAE;oBACpB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,IAAE,GAAG,IAAI,CAAC;oBACd,CAAC,CAAC,UAAU,CAAC;wBACX,IAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBAClD,IAAE,CAAC,qBAAqB,GAAG,KAAK,CAAC;oBAEnC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBAIV;qBAAM,IAAI,IAAI,IAAI,UAAU,EAAE;oBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBACjD,qCAAqC;oBACrC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC3B;gBACD,MAAM;YACR;gBACE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjD,MAAK;SACR;QACD,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YACjD,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;SAC9C;aAAM;YACL,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;YAChD,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,8CAAc,GAAd;QAAA,iBA0BC;QAxBC,IAAI,SAAS,GAAC,EAAE;QAChB,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YAEjJ,IAAI,UAAU,IAAI,IAAI,EAAE;gBACtB,UAAU,CAAC,OAAO,CAAC,iBAAO;oBACxB,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpD,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;gBAEvE,CAAC,CAAC,CAAC;gBACH,IAAI,IAAE,GAAG,KAAI,CAAC;gBACd,CAAC,CAAC,UAAU,CAAC;oBACX,IAAE,CAAC,sBAAsB,GAAG;wBAC1B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;qBACpC,CAAC;gBACJ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;iBACI;gBACH,KAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;gBACnC,KAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;aAClC;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAY,GAAZ,UAAa,KAAc,EAAE,MAAe,EAAE,OAAgB,EAAE,MAAe,EAAE,WAAoB;QACnG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC;IAC1C,CAAC;IACD,yDAAyB,GAAzB;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,wDAAwB,GAAxB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iJAAiJ,CAAC,CAAC;QAChL,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,6CAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,iDAAiB,GAAjB,UAAkB,SAAS;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD,oDAAoB,GAApB,UAAqB,QAA6B;QAEhD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnF,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QACnH,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;QACnG,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAClG,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChD,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,QAAQ,CAAC,cAAc,IAAI,kBAAkB,EAAE;gBACjD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,OAAO,CAAC;gBACrD,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;aAC9E;iBAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,eAAe,EAAE;gBAErD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;oBACrC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;oBAC7C,IAAI,SAAO,GAAG,IAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,SAAO,CAAC,QAAQ,EAAE,CAAC,SAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAO,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,SAAO,CAAC,UAAU,EAAE,SAAO,CAAC,eAAe,CAAC,CAAC;oBAC7M,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBAEV;qBAAM;oBACL,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;iBAC3E;aAEF;iBACI,IAAI,QAAQ,CAAC,cAAc,IAAI,iBAAiB,EAAE;gBACrD,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;gBAC5C,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACrC,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBACI,IAAI,QAAQ,CAAC,cAAc,IAAI,yBAAyB,IAAI,QAAQ,CAAC,cAAc,IAAI,gBAAgB,IAAI,QAAQ,CAAC,cAAc,IAAI,oBAAoB,EAAE;gBAC/J,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE;oBAEjC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;iBAC1F;aACF;iBAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,wBAAwB,EAAE;gBAC9D,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;oBACpC,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;iBAC1F;aACF;iBACI,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,IAAI,QAAQ,CAAC,cAAc,IAAI,SAAS,EAAE;gBAAE,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;aAAE;iBAC5G;gBACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;oBAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBACnC,IAAI,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,EAAE;wBACjD,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;wBACne,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;wBAElD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;qBAC1L;yBAAM,IAAI,IAAI,CAAC,kBAAkB,IAAI,oBAAoB,EAAE;wBAC1D,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;wBACne,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;wBAElD,IAAI,CAAC,cAAc,EAAE,CAAC;qBACvB;yBACI,IAAI,QAAQ,CAAC,cAAc,IAAI,iBAAiB,EAAE;wBACrD,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;wBAC5C,IAAI,CAAC,6BAA6B,EAAE,CAAC;wBACrC,IAAI,CAAC,cAAc,EAAE,CAAC;qBACvB;iBACF;aACF;SACF;aACI;YACH,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC;IACH,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mHCvnBC,8KAAwF,KACxF,qHAAG,kGAAqB;mHAExB,kLAAoG,KACnG,2QASkE,YAAhD;;wBAA+C;MATjE,wkDASkE,mDARhD,mBAAkC,qBAGlC,mBAAwB,eAFxB,mBAAgC,oBAMhC,mBAAkD,6BAHlD,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAmB,EAPrC,YASkE,EARhD,SAAkC,EAGlC,SAAwB,EAFxB,SAAgC,EAMhC,SAAkD,EAHlD,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EACnB,SAAmB;mHAMtC,kLAAoG,KAClG,2QASiE,YAAhD;;wBAA+C;MAThE,wkDASiE,mDARhD,mBAAkC,qBAGlC,mBAAyB,gBAFzB,mBAAgC,oBAMhC,mBAA2C,sBAH3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAmB,EAPpC,YASiE,EARhD,SAAkC,EAGlC,SAAyB,EAFzB,SAAgC,EAMhC,SAA2C,EAH3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EACnB,SAAmB;mHAMtC,kLAAiG,KAC/F,2QAS+D,YAA9C;;wBAA6C;MAT9D,wkDAS+D,mDAR9C,mBAA+B,kBAG/B,mBAAoB,WAFpB,mBAA6B,iBAM7B,mBAA2C,sBAH3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAmB,EAPpC,YAS+D,EAR9C,SAA+B,EAG/B,SAAoB,EAFpB,SAA6B,EAM7B,SAA2C,EAH3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EACnB,SAAmB;mHAOtC,kLAAyG,KACvG,4QASuE,YAAtD;;wBAAqD;MATtE,wkDASuE,mDARtD,mBAAwC,2BAGxC,mBAA4B,mBAF5B,mBAAsC,0BAMtC,mBAA2C,sBAH3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAmB,EAPpC,YASuE,EARtD,SAAwC,EAGxC,SAA4B,EAF5B,SAAsC,EAMtC,SAA2C,EAH3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EACnB,SAAmB;mHAUtC,kLAAiG,KAC/F,2QAS+D,YAA9C;;wBAA6C;MAT9D,wkDAS+D,mDAR9C,mBAA+B,kBAI/B,mBAA0B,iBAH1B,mBAA6B,iBAM7B,mBAA2C,sBAJ3C,mBAAmB,UADnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAmB,EAPpC,YAS+D,EAR9C,SAA+B,EAI/B,SAA0B,EAH1B,SAA6B,EAM7B,SAA2C,EAJ3C,SAAmB,EADnB,SAAwD,EAGxD,SAAmB,EACnB,SAAmB;mHAYtC,kLAAmG,KACjG,8TASiE,YAAhD;;wBAA+C;MAThE,wkDASiE,mDARhD,mBAAiC,oBAGjC,mBAAoB,WAFpB,mBAA+B,mBAM/B,mBAA2C,sBAH3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAmB,EAPpC,YASiE,EARhD,SAAiC,EAGjC,SAAoB,EAFpB,SAA+B,EAM/B,SAA2C,EAH3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EACnB,SAAmB;mHAatC,kLAAqG,KACnG,iSAOkE,YAAjD;;wBAAgD;MAPjE,8/CAOkE,mDANjD,mBAAmC,sBAGnC,mBAAwB,eAFxB,mBAAiC,qBACjC,mBAAwD,yCAExD,mBAAmB,UACnB,oBAAmB,EANpC,YAOkE,EANjD,SAAmC,EAGnC,SAAwB,EAFxB,SAAiC,EACjC,SAAwD,EAExD,SAAmB,EACnB,SAAmB;mHAUtC,kLAAgH,KAChH,8oDAOuC,mDALpB,mBAAiC,oBAGjC,mBAA6B,oBAF7B,mBAA+B,mBAC/B,mBAAwD,yCAGxD,mBAAmB,UADnB,oBAAmB,EANtC,YAOuC,EALpB,SAAiC,EAGjC,SAA6B,EAF7B,SAA+B,EAC/B,SAAwD,EAGxD,SAAmB,EADnB,SAAmB;mHAnIxC,mLAAsD,KAEpD,sZAAwF,IAGxF,sZAAoG,IAcpG,sZAAoG,IAcpG,sZAAiG,IAejG,uZAAyG,IAkBzG,uZAAiG,IAoBjG,uZAAmG,IAqBnG,uZAAqG,IAiBrG,uZAAgH,iDA1H3G,6CAA+B,GAApC,YAAwF,EAAnF,SAA+B,GAGkB,qDAA6C,GAAnG,YAAoG,EAA9C,SAA6C,GAc7C,qDAA6C,GAAnG,YAAoG,EAA9C,SAA6C,GAc7C,kDAA0C,GAAhG,YAAiG,EAA3C,SAA0C,GAe1C,0DAAkD,GAAxG,aAAyG,EAAnD,SAAkD,GAkBlD,kDAA0C,GAAhG,aAAiG,EAA3C,SAA0C,GAoB1C,oDAA4C,GAAlG,aAAmG,EAA7C,SAA4C,GAqB5C,sDAA8C,GAApG,aAAqG,EAA/C,SAA8C,GAiB9C,iEAAyD,GAA/G,aAAgH,EAA1D,SAAyD;;;;;;;;;;;;;;;;AC5HjH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAMoB;AACc;AACV;AACkB;AAErD;AAEW;AAEuC;AACb;AAGR;AAEpB;AAGzC;IA+DE,uCAAoB,MAAc,EAAQ,oBAA0C,EAAU,iBAAsC,EAAU,WAAyB,EAAU,MAAqB,EAAU,eAAgC,EAAU,WAAwB;QAA9P,WAAM,GAAN,MAAM,CAAQ;QAAQ,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,gBAAW,GAAX,WAAW,CAAc;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAa;QA7ClR,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QA4BnB,qBAAgB,GAAoB,EAAE,CAAC;QACvC,aAAQ,GAAmB,EAAE,CAAC;QAC9B,eAAU,GAAW,cAAc,CAAC;QACpC,cAAS,GAAG,KAAK,CAAC;QAClB,eAAU,GAAW,IAAI,CAAC;QAC1B,WAAM,GAAW,4BAA4B,CAAC;QAC9C,cAAS,GAAW,MAAM,CAAC;QAQ3B,sBAAiB,GAAoB,EAAE,CAAC;QAGtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,gDAAQ,GAAR;QACE,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,gHAAgH;IAClH,CAAC;IAED,kEAA0B,GAA1B,UAA2B,kBAAkB,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO;QACjF,IAAI,kBAAkB,IAAI,UAAU,EAAE;YACpC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACrC;aACI,IAAI,kBAAkB,IAAI,UAAU,EAAE;YACzC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,IAAI,MAAI,GAAG,IAAI,CAAC;YAChB,CAAC,CAAC,UAAU,CAAC;gBACX,MAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACnE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aACI,IAAI,kBAAkB,IAAI,OAAO,EAAE;YACtC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC5B,IAAI,gBAAgB,IAAI,aAAa,EAAE;gBACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;aAC7D;iBAAM,IAAI,gBAAgB,IAAI,YAAY,IAAI,gBAAgB,IAAI,WAAW,IAAI,gBAAgB,IAAI,cAAc,EAAE;gBACpH,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;aAChE;SAEF;aACI,IAAI,kBAAkB,IAAI,eAAe,EAAE;YAC9C,IAAI,gBAAgB,IAAI,qBAAqB,EAAE;gBAC7C,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACnC,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;aAC9C;iBAAM;gBACL,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACnC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;aAC1C;SAEF;aACI,IAAI,kBAAkB,IAAI,OAAO,EAAE;YACtC,IAAI,gBAAgB,IAAI,aAAa,EAAE;gBACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;aACxD;iBACI;gBACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;aAC7D;SACF;aACI,IAAI,kBAAkB,IAAI,SAAS,EAAE;YAExC,IAAI,gBAAgB,IAAI,eAAe,EAAE;gBACvC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;gBACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACrD;iBAAM,IAAI,gBAAgB,IAAI,gBAAgB,EAAE;gBAC/C,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;gBACnC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACrD;iBAAM,IAAI,gBAAgB,IAAI,iBAAiB,EAAE;gBAChD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;gBACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACrD;iBAAM,IAAI,gBAAgB,IAAI,gBAAgB,EAAE;gBAC/C,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;gBACnC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACrD;iBACI,IAAI,gBAAgB,IAAI,cAAc,EAAE;gBAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;gBACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACrD;SACF;aACI,IAAI,kBAAkB,IAAI,WAAW,EAAE;YAC1C,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,gBAAgB,IAAI,iBAAiB,EAAE;gBAC9C,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;aACzC;iBAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,EAAE;gBACtD,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aAC9C;SACF;aAAM,IAAI,kBAAkB,IAAI,sBAAsB,EAAG;YACxD,IAAI,CAAC,oCAAoC,EAAE,CAAC;SAC7C;IACH,CAAC;IACD,0DAAkB,GAAlB,UAAmB,MAAM;QAAzB,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,mCAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,EAA7D,CAA6D,CAAC,CAAC;YAAA,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8DAAsB,GAAtB;QAAA,iBAmCC;QAjCC,IAAI,CAAC,kBAAkB,GAAgB;YACrC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG;YACtC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,0BAA0B,GAAG;YAChC,aAAa,EAAE,6FAAsB;SACtC,CAAC;IACJ,CAAC;IACD,wDAAgB,GAAhB,UAAiB,IAAI,EAAE,IAAI;QAA3B,iBAgBC;QAfC,IAAI,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAEzK,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC9C,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACtD,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;qBAC3F;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAEX,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+DAAuB,GAAvB,UAAwB,gBAAwB;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;iBAC9N;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpK;qBACI;oBACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG;gBACvB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC1F,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;aACpF,CAAC;SACH;IACH,CAAC;IAED,iEAAyB,GAAzB;QAAA,iBAmCC;QAlCC,IAAI,CAAC,kBAAkB,GAAgB;YACrC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;QAEpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG;YACtC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,6FAAsB;SACtC,CAAC;IAEJ,CAAC;IACD,kEAA0B,GAA1B,UAA2B,gBAAwB;QAEjD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBAC9D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,YAAC,MAAM;4BACtE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;4BAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,iDAAiD;4BACjD,2DAA2D;4BAC3D,uCAAuC;4BACvC,kGAAkG;4BAClG,2DAA2D;4BAC3D,KAAK;4BACL,OAAO,IAAI,CAAC;wBACd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjE,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpK;qBACI;oBACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG;gBACvB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;iBACxD;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBACnF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;wBAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,yDAAyD;4BACzD,qCAAqC;4BACrC,gGAAgG;4BAChG,yDAAyD;wBAC3D,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;gBAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;aACxD,CAAC;SACH;IACH,CAAC;IACM,0DAAkB,GAAzB,UAA0B,QAAQ,EAAE,SAAS,EAAE,OAAO;QAAtD,iBAwBC;QAtBC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC9G,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACrB,OAAO,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACzE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAE7B,sDAAsD;YACtD,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC/C,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACtD,4DAA4D;qBAG7D;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAET,6CAA6C;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,2DAAmB,GAAnB;QAAA,iBAiCC;QAhCC,IAAI,CAAC,eAAe,GAAgB;YAClC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG;YACnC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,6FAAsB;SACtC,CAAC;IAEJ,CAAC;IACD,4DAAoB,GAApB,UAAqB,gBAAwB;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;oBAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACnG,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;qBAC1D,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;qBACxD,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;qBAC1D,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;4BAChF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCACtD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;gCAAE,OAAO,yBAAyB;6BAAE;iCAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,yBAAyB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACtF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAE;gCAAE,OAAO,mBAAmB;6BAAE;iCAChF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,mBAAmB,EAAE;gCAAE,OAAO,uBAAuB;6BAAE;iCACtF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,uBAAuB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACpF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAE;gCAAE,OAAO,eAAe;6BAAE;iCAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,eAAe,EAAE;gCAAE,OAAO,kBAAkB;6BAAE;wBACpF,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAC3D,UAAU,MAAM;4BACd,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACvF,CAAC,EAAE,YAAY,YAAC,MAAM;4BACpB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE;gCAAE,OAAO,GAAG;6BAAE;iCAAM;gCAAE,OAAO,MAAM,CAAC,KAAK,CAAC;6BAAE;wBACpJ,CAAC;qBACJ,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACjK;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC5M;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7P;qBACI;oBACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YAEL,IAAI,CAAC,cAAc,GAAG;gBACpB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;iBACxD;gBACD,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;iBAC1D;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iBAC1D;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACtF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE;oBACnG,CAAC;iBACF;gBACD;oBAEE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAC3D,UAAU,MAAM;wBACd,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE;oBACvF,CAAC,EAAE,YAAY,YAAC,MAAM;wBACpB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE;4BAAE,OAAO,GAAG;yBAAE;6BAAM;4BAAE,OAAO,MAAM,CAAC,KAAK,CAAC;yBAAE;oBACpJ,CAAC;iBAEJ;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAChF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BACrD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;4BAAE,OAAO,yBAAyB;yBAAE;6BAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,yBAAyB,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;6BACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;4BAAE,OAAO,mBAAmB;yBAAE;6BAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,EAAE;4BAAE,OAAO,uBAAuB;yBAAE;6BACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,uBAAuB,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;6BACnF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;4BAAE,OAAO,eAAe;yBAAE;6BAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE;4BAAE,OAAO,kBAAkB;yBAAE;oBACnF,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;aAErG,CAAC;YAEF,IAAI,eAAe,GAAG,UAAU,MAAM;gBACpC,OAAO,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1E,CAAC,CAAC;SACH;IACH,CAAC;IACD,4DAAoB,GAApB,UAAqB,MAAM,EAAC,IAAI;QAAhC,iBAgBC;QAfC,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAE9H,IAAI,KAAI,CAAC,gBAAgB,IAAI,YAAY,EAAE;gBACzC,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,MAAM,EAAlB,CAAkB,CAAC,CAAC;aAC1D;iBAAM,IAAI,KAAI,CAAC,gBAAgB,IAAI,WAAW,EAAE;gBAC/C,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAK,EAAjB,CAAiB,CAAC,CAAC;aACzD;iBAAM,IAAI,KAAI,CAAC,gBAAgB,IAAI,cAAc,EAAE;gBAClD,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,SAAS,EAArB,CAAqB,CAAC,CAAC;aAC7D;iBAAM;gBACL,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,mEAA2B,GAA3B;QAAA,iBAoBC;QAnBC,IAAI,CAAC,wBAAwB,GAAgB;YAC3C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;QAEvD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,CAAC,aAAa,GAAG;YAC5C,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,6FAAsB;SACtC,CAAC;IAEJ,CAAC;IACD,qEAA6B,GAA7B,UAA8B,gBAAwB;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BAClL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC3D,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC1I,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE;oBAChE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACnJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBAC5D,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,YAAC,MAAM;4BACtE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;4BAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAChC,yDAAyD;gCACzD,qDAAqD;gCACrD,gGAAgG;gCAChG,yDAAyD;4BAC3D,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjE,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC1K;qBACI;oBACH,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;wBACD,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG;gBAC7B;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;iBACZ;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI;iBACzD;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE;oBAC7T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBACnF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;wBAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,yDAAyD;4BACzD,qDAAqD;4BACrD,gGAAgG;4BAChG,yDAAyD;wBAC3D,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBAED,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;aACrG,CAAC;SACH;IACH,CAAC;IACD,yDAAiB,GAAjB,UAAkB,GAAG;QAArB,iBA4BC;QA3BC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACnJ,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACnF,IAAI,QAAQ,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;oBACxD,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;iBAClG;qBAAM;oBACL,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBAClC;YACH,CAAC,CAAC,CAAC;YACH,wCAAwC;YACxC,mEAAmE;YACnE,8CAA8C;YAC9C,mEAAmE;YACnE,iDAAiD;YACjD,mEAAmE;YACnE,UAAU;YACR,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACnC,GAAG;YACH,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACpD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBAClD,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBAC7D;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IAEF,wDAAgB,GAAhB;QAAA,iBAuCC;QArCC,IAAI,CAAC,eAAe,GAAgB;YAClC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE3F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,kEAAkE;aAEnE;YACD,KAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;QAE/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG;YACnC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,6FAAsB;SACtC,CAAC;IAGJ,CAAC;IACD,wDAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QAChF,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;QACvD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpN;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrf;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE;oBAC3D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACjM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC7R,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;gCAAE,OAAO,EAAE,CAAC;6BAAE;iCAAM;gCAC1E,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC7L,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,kBAAkB,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBAChH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACpM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BAC7L,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC7T,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,0BAA0B;4BAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gCACjC,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,4CAA4C;oCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;oCAClC,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;wCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC7T,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,SAAS,IAAI,IAAI,EAAE;gCACrB,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oCAC1C,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;wCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACvL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC7T,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,0BAA0B;4BAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gCACjC,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,4CAA4C;oCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;wCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oBAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC7T,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,MAAM,CAAC,KAAK,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,EAAE;6BAAE;iCAAM;gCACzE,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACpD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACrL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC7T,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,MAAM,CAAC,KAAK,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,EAAE;6BAAE;iCAAM;gCACzE,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI;oBACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC;wBACD,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG;gBACpB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC/F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC7R,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC/H,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC7R,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;4BAAE,OAAO,EAAE,CAAC;yBAAE;6BAAM;4BAC1E,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;yBAClD;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;oBACD,YAAY,EAAE,UAAU,MAAM;wBAC5B,0BAA0B;wBAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;4BACjC,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,4CAA4C;gCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;gCAClC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBAED;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD,GAAG;gBACH,iGAAiG;gBACjG,kQAAkQ;gBAClQ,+BAA+B;gBAC/B,OAAO;gBACP,KAAK;gBACL,IAAI;gBACJ;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC7T,CAAC;oBACD,YAAY,EAAE,UAAU,MAAM;wBAC5B,0BAA0B;wBAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;4BACjC,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,4CAA4C;gCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC7T,CAAC;oBACD,YAAY,EAAE,UAAU,MAAM;wBAC5B,0BAA0B;wBAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;4BACjC,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,4CAA4C;gCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;gCAClC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;oCAClE,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;oBACD,sCAAsC;oBACtC,qDAAqD;oBAErD,GAAG;iBACJ;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBAED,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;gBACpG;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACzP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;aAEF,CAAC;SAEH;IACH,CAAC;IACD,gDAAQ,GAAR,UAAS,GAAG,EAAE,OAAO,EAAE,SAAS;QAAhC,iBAyFC;QAxFC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,GAAG,IAAI,YAAY,EAAE;YACvB,SAAS,GAAG,YAAY,CAAC;SAC1B;aACI,IAAI,GAAG,IAAI,iBAAiB,EAAE;YACjC,SAAS,GAAG,iBAAiB,CAAC;SAC/B;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,SAAS,GAAG,WAAW,CAAC;SACzB;aACI,IAAI,GAAG,IAAI,KAAK,EAAE;YACrB,SAAS,GAAG,WAAW,CAAC;SACzB;aAAM;YACL,SAAS,GAAG,YAAY,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,EAAxD,CAAwD,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,KAAK,GAAG,mEAAmE,EAAE,eAAe,CAAC,CAAC;gBACjJ,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAChJ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAG1B,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,IAAI,EAAE;oBACzE,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,CAAC,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC;oBACvG,KAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;iBACrD;gBACD,WAAW,CAAC,OAAO,CAAC,qBAAW;oBAC7B,WAAW,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACzF,WAAW,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;oBACtI,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,gBAAgB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;gBAC7J,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;gBAClC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE;oBACpF,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wBACpC,KAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC5E,6CAA6C;wBAC7C,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACvF,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,KAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACpG;oBACD,KAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,MAAM,CAAC,wDAAuD;oBAC/F,KAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC7B;qBACI;oBAEH,2FAA2F;oBAC3F,KAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,EAAE,CAAC;oBACpC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5B,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,EAAE,CAAC;oBAC5C,KAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;oBAChD,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBACnD;gBACD,IAAI,KAAI,CAAC,eAAe,CAAC,SAAS,IAAI,SAAS,EAAE;oBAC/C,KAAI,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACjG,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;iBAC9C;aAEF;iBAAM;gBACL,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;gBAClC,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,UAAU,CAAC;gBACpD,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,iBAAiB,EAAE;oBAChE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;iBACtE;qBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,mBAAmB,EAAE;oBACzE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;iBACzE;qBAAM,IAAI,KAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,gBAAgB,EAAE;oBACtE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;iBACtE;gBACD,IAAI,eAAe,IAAI,IAAI,EAAE;oBAC3B,6CAA6C;oBAC7C,IAAI,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvC,GAAG,IAAI,GAAG,CAAC;oBACX,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACjE;aACF;QACH,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,+DAAuB,GAAvB;QAAA,iBAkCC;QAjCC,IAAI,CAAC,iBAAiB,GAAgB;YACpC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,IAAI,KAAI,CAAC,iBAAiB,IAAI,KAAI,CAAC,iBAAiB,CAAC,GAAG;oBACtD,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aAErE;YACD,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAEtG,KAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,0FAAqB;SACpC,CAAC;IACJ,CAAC;IACD,+DAAuB,GAAvB,UAAwB,gBAAwB;QAC9C,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;YAChD,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACtE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF;QACD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC7I,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BACxI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YAGL,IAAI,CAAC,gBAAgB,GAAG;gBACtB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAC,MAAM;wBAClF,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBACtF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC3F,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wBACpF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACzD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC9D,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BACF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAC3E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,IAAI,GAAG,EAAE,CAAC;wBACd,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;4BAClC,IAAI,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE;gCAC1B,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;6BACrB;wBACH,CAAC,CAAC;wBACF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aAGF,CAAC;SACH;QACD,OAAO,CAAC,iBAAiB,CAAC,WAAW,GAAG,UAAU,MAAM;YAEtD,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;gBACrI,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;aACzE;QACH,CAAC;IACH,CAAC;IACD,0DAAkB,GAAlB;QAAA,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,UAAC,SAAS;YACvD,KAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAiB,GAAjB,UAAkB,MAAM,EAAE,SAAS;QAAnC,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACpJ,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,WAAW,GAAG,KAAI,CAAC,SAAS,CAAC,EAAhC,CAAgC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,gEAAwB,GAAxB;QAAA,iBA6BC;QA5BC,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAgB,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,CAAC;YAE1B,KAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;QAIlD,CAAC,CAAC,CAAC;IAIL,CAAC;IACD,gEAAwB,GAAxB,UAAyB,gBAAwB;QAC/C,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;YAChD,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACtE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACtC;SACF;QACD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,IAAI,gBAAgB,IAAI,IAAI,EAAG;YACvD,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,OAAO,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC9B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC9B,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAChM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC9B,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC3L,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;wCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACnE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC9B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YAGL,OAAO,CAAC,kBAAkB,GAAG;gBAC3B;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;iBACZ;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtF,OAAO,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;wBAClG,uDAAuD;wBACvD,oCAAoC;wBACpC,gBAAgB;wBAChB,wCAAwC;wBACxC,qFAAqF;wBACrF,0EAA0E;wBAC1E,OAAO;wBACP,YAAY;wBACZ,yBAAyB;wBACzB,OAAO;wBAEP,KAAK;wBACL,aAAa;wBACb,UAAU;wBACV,wBAAwB;wBACxB,GAAG;wBACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACrE;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;wBAClG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;wBACrG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;wBACvH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBAExF,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;4BACnE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;4BACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,iCAAiC;gCACjC,wDAAwD;4BAC1D,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;yBACb;oBAEH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBACpF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;4BACvE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,sGAAsG,CAAC;4BACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAC7B,iCAAiC;gCACjC,0DAA0D;4BAC5D,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;yBACb;oBACH,CAAC;iBAEF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;wBACjG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC/G,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACxE;gBACD;oBACE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACvF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC5F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAClD,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;oCAC5E,EAAE,IAAI,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACnE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;aAEF,CAAC;SAEH;IACH,CAAC;IACD,sDAAc,GAAd,UAAe,MAAM;QAArB,iBAyCC;QAxCC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAM;YAE5I,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,mCAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,EAA7D,CAA6D,CAAC,CAAC;YAEtG,qCAAqC;YACrC,gDAAgD;YAChD,sDAAsD;YACtD,uFAAuF;YACvF,2CAA2C;YAC3C,kFAAkF;YAClF,6FAA6F;YAC7F,2GAA2G;YAC3G,OAAO;YACP,8CAA8C;YAC9C,qDAAqD;YACrD,kCAAkC;YAClC,kDAAkD;YAClD,KAAK;YACL,UAAU;YACV,0CAA0C;YAC1C,kCAAkC;YAClC,kDAAkD;YAClD,sDAAsD;YACtD,wDAAwD;YACxD,kDAAkD;YAClD,KAAK;YACL,GAAG;YACH,QAAQ;YACR,wDAAwD;YACxD,8EAA8E;YAC9E,yEAAyE;YACzE,kCAAkC;YAClC,oDAAoD;YACpD,6CAA6C;YAC7C,iBAAiB;YACjB,sEAAsE;YACtE,KAAK;YACL,GAAG;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0DAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;QACjD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;gBACzD,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7C,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,UAAU,CAAC;YACrD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IACD,0DAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAK,CAAC;QACjD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExD,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;gBAC/D,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACtD,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;YACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IACD,wDAAgB,GAAhB,UAAiB,QAAQ;QACvB,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iCAA+B,QAAQ,CAAC,IAAI,CAAC,SAAS,SAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAO,CAAC,CAAC;IAC/G,CAAC;IACD,gEAAwB,GAAxB,UAAyB,QAAQ;QAC/B,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAuC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,SAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,cAAS,QAAQ,CAAC,IAAI,CAAC,EAAI,CAAC,CAAC;IACtJ,CAAC;IACD,2DAAmB,GAAnB,UAAoB,QAAQ;QAC1B,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAC,CAAC;IACtJ,CAAC;IACD,wDAAgB,GAAhB,UAAiB,QAAQ;QACvB,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0CAA0C,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAE,OAAO,CAAC,CAAC;IACpI,CAAC;IACD,0DAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,MAAM,GAAG,cAAc,CAAC;QAC5B,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YACnC,MAAM,GAAG,cAAc,CAAC;SACzB;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YAC1C,MAAM,GAAG,iBAAiB,CAAC;SAC5B;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YAC1C,MAAM,GAAG,gBAAgB,CAAC;SAC3B;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YAC1C,MAAM,GAAG,gBAAgB,CAAC;SAC3B;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YAC1C,MAAM,GAAG,cAAc,CAAC;SACzB;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YAC1C,MAAM,GAAG,iBAAiB,CAAC;SAC5B;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAA2B,GAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,GAAE,GAAG,GAAE,MAAM,CAAC,CAAC;IAC7H,CAAC;IAGD,4EAAoC,GAApC;QACE,IAAI,CAAC,iBAAiB,GAAgB;YACpC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;SAEjB,CAAC;QACF,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAElG,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG;YACrC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IACH,CAAC;IACD,sEAA8B,GAA9B,UAA+B,gBAAwB;QACrD,IAAI,CAAC,gBAAgB,GAAG;YACtB,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC5E,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAClE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACxE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACxE;gBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACzF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE;wBAClE,OAAO,KAAK,CAAC;qBACd;yBAAM;wBACL,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;qBAC9B;gBACH,CAAC;aAAC;YACJ,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACxE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;SAChF,CAAC;QACF,mCAAmC;QACnC,iFAAiF;QACjF,uEAAuE;QACvE,6EAA6E;QAC7E,oFAAoF;QACpF,IAAI;IACN,CAAC;IAED,yDAAiB,GAAjB,UAAkB,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe;QAAtF,iBAiBC;QAhBC,IAAI,OAAO,IAAI,EAAE,EAAE;YACjB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,eAAe,EAAE;gBACpB,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,uBAAuB;oBAChJ,uBAAuB,CAAC,OAAO,CAAC,kBAAQ;wBACtC,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBACrF,QAAQ,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;wBACnF,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC3I,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,iBAAiB,GAAG,uBAAuB,CAAC;oBACjD,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1F,CAAC,CAAC,CAAC;aACJ;SACF;IAEH,CAAC;IAEH,oCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GCxsED,iLAAqD,KACnD,wPASqD,YAApC;;wBAAmC;MATpD,skDASqD,mDARpC,mBAAmC,sBAGnC,mBAA4B,mBAF5B,mBAAiC,qBAMjC,mBAA2C,sBAH3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAyB,EAP1C,YASqD,EARpC,SAAmC,EAGnC,SAA4B,EAF5B,SAAiC,EAMjC,SAA2C,EAH3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EACnB,SAAyB;;;;;;;;;;;;;;;;ACL5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACgB;AACG;AACb;AAEnE;IAcE,gCAAoB,WAAwB,EAAU,iBAAsC,EAAQ,oBAA0C;QAA1H,gBAAW,GAAX,WAAW,CAAa;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAQ,yBAAoB,GAApB,oBAAoB,CAAsB;QAC5I,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,iDAAgB,GAAhB;QAAA,iBA8BC;QA7BC,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAC5K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI;SACtI,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAClG,KAAI,CAAC,aAAa,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,IAAI,KAAI,CAAC,aAAa,IAAI,IAAI,EAAE;gBAC9B,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;aAC3C;iBAAM;gBACL,KAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,8CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,4CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,8CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAE7B,CAAC;IACD,kDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC/E,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAChE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEnD,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAI,EAAE,CAAC;QAExB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACtE;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,oDAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBAyCC;QAxCC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE;gBAEjJ,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QACD,mDAAmD;QACnD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAE5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,iBAAO;gBAEjB,IAAI,OAAO,CAAC,MAAM,IAAI,iBAAiB,EAAE;oBACvC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;iBACvG;qBAAM,IAAI,OAAO,CAAC,MAAM,IAAI,iBAAiB,EAAE;oBAC9C,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;iBACvG;YAGH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SAEH;IAEH,CAAC;IACD,oDAAmB,GAAnB;QAAA,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;YACtE,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8CAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,iDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QAEzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG;gBACxB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;oBAC9D,OAAO,EAAE,IAAI;iBACd;gBACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC1E;oBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBACxE;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACzE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC3E,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC/E,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC/E,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;aAGhF,CAAC;SACH;IACH,CAAC;IACH,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGC5MW,gLAAoF,KAChF,4KAA+E,YAAzE;;;wBAAwE;MAA9E,wBAA+E,0OAA2G,KAC1L,gJAA0B,+SAAgH;sGAsBhJ,gLAAoF,KAClF,wLAA6D,KAC3D,kMAAkG,YAA1C;;wBAAyC;MAAjG,4oCAAkG,mDAApF,mBAAS,KAAmB,mBAAa,OAA/B,mBAAiB,SAAzC,YAAkG,EAApF,SAAS,EAAmB,SAAa,EAA/B,SAAiB;sGA7B/C,+OAAsN,KAEpN,ijBAAiG,IAC/F,yYAAoF,IAKpF,sLAAqG,KACpG,wXAasD,YAJpC;;wBAAwD;MACxD;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAbrD,ssDAasD,MAKzD,0YAAoF,iDAzBjD,uEAA6D,GAAhG,YAAiG,EAA9D,SAA6D,GAC1C,mBAA+B,0BAAnF,YAAoF,EAAhC,SAA+B,GAOhE,mBAA2B,cAG3B,mBAA0B,iBAF1B,mBAAyB,aAMzB,mBAA2C,sBAH3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,oBAAmB,UACnB,qBAAmB,EAPrC,YAasD,EAZpC,SAA2B,EAG3B,SAA0B,EAF1B,SAAyB,EAMzB,SAA2C,EAH3C,SAAmB,EAFnB,SAAwD,EAGxD,UAAmB,EACnB,UAAmB,GAWY,oBAA+B,0BAAnF,aAAoF,EAAhC,UAA+B,mDA3BqC,mGAA2F,GAArN,YAAsN,EAA5F,SAA2F,GAQvK,6DAA0D,GAApG,YAAqG,EAA3D,SAA0D;sGA+BlG,qmBAA4N,IAC1N,2OAA+G,yLAA8D,gGAAoC,sOAAqF,YAArC;;wBAAoC;MAApF,wBAAqF,0OAA2G,KAEjZ,kLAAoD,KAClD,uMAAyE,KACvE,yMAAsE,KACpE,yLAAkE;;;;;wBAAsP;MAA/L;;wBAAgD;MAAC;;wBAA2I;MAAnP,6tCAAsP,IACxT,oLAA6D,2HAAG,yFAAY,MAAI,mFAAW,MAC3F,yLAAkE,iFAA+B,MAEnG,0MAAsE,KACpE,yLAAkE;;;;;wBAAqQ;MAApM;;wBAA2C;MAAC;;wBAAqJ;MAAlQ,6tCAAqQ,IACvU,qLAA8D,2HAAG,0FAAa,MAAI,mFAAW,MAC7F,yLAAkE,iFAA+B,MAEnG,oMAAgE,KAE9D,yLAAkE,KAAC;;;;;wBAAkO;MAA5K;;wBAA0C;MAAC;;wBAA8H;MAA/N,6tCAAkO,IACrS,qLAA8D,KAAC,sHAAG,qFAAQ,MAAI,mFAAW,MACzF,yLAAkE,iFAAyB,MAE7F,oMAAgE,KAE9D,yLAAkE,KAAC;;;;;wBAA4O;MAAjL;;wBAA0C;MAAC;;wBAAmI;MAAzO,6tCAA4O,IAC/S,qLAA8D,2HAAG,oFAAO,MAAI,oFAAY,MACxF,yLAAkE,iFAAyB,MAE7F,wMAAoE,KAClE,yLAAkE,KAAC;;;;;wBAAmP;MAA3L;;wBAA8C;MAAC;;wBAAyI;MAAhP,6tCAAmP,IACtT,qLAA8D,2HAAG,sFAAS,MAAI,mFAAW,MACzF,yLAAkE,iFAA4B,MAEhG,wMAAoE,KAClE,yLAAkE;;;;;wBAA6P;MAAhM;;wBAA8C;MAAC;;wBAA8I;MAA1P,6tCAA6P,IAC/T,qLAA8D,2HAAG,sFAAS,MAAI,oFAAY,MAC1F,yLAAkE,iFAA4B,MAEhG,oMAAgE,KAC9D,yLAAkE;;;;;wBAAuN;MAApK;;wBAA0C;MAAC;;wBAAsH;MAApN,8tCAAuN,IACzR,sLAA8D,4HAAG,sFAAS,MAAI,gFAAQ,MACtF,0LAAkE,kFAA4B,MAEhG,qMAAgE,KAE9D,0LAAkE,KAAC;;;;;wBAAkO;MAA3K;;wBAA0C;MAAC;;wBAA6H;MAA/N,guCAAkO,IACrS,sLAA8D,4HAAG,qFAAQ,MAAI,gFAAQ,MACrF,0LAAkE,kFAA4B,MAEhG,sMAAiE,KAC/D,0LAAkE,KAAC;;;;;wBAA6N;MAAlK;;wBAA2C;MAAC;;wBAAmH;MAA1N,guCAA6N,IAChS,sLAA8D,4HAAG,mFAAM,MAAI,oFAAY,MACvF,0LAAkE,kFAAyB,MAE7F,0MAAqE,KAEnE,0LAAkE,KAAC;;;;;wBAA4O;MAAxL;;wBAA+C;MAAC;;wBAAqI;MAAzO,guCAA4O,IAC/S,sLAA8D,4HAAG,2FAAc,MAAI,gFAAQ,MAC3F,0LAAkE,kFAAiC,mDAzDtG,uFAAoF,GAAzF,YAA4N,EAAvN,SAAoF,GAMwC,oBAAgD,gCAAvG,aAAsP,EAA/L,UAAgD,GAKtC,oBAA2C,gCAA5G,aAAqQ,EAApM,UAA2C,GAMrD,oBAA0C,+BAAhG,aAAkO,EAA5K,UAA0C,GAMrC,oBAA0C,+BAArG,aAA4O,EAAjL,UAA0C,GAK7C,oBAA8C,mCAAtG,aAAmP,EAA3L,UAA8C,GAK1C,oBAA8C,mCAA3G,aAA6P,EAAhM,UAA8C,GAKxD,oBAA0C,+BAA7F,aAAuN,EAApK,UAA0C,GAMrC,oBAA0C,+BAAjG,cAAkO,EAA3K,UAA0C,GAKtC,oBAA2C,gCAAtG,cAA6N,EAAlK,UAA2C,GAMlD,qBAA+C,oCAAnG,cAA4O,EAAxL,WAA+C,2BAvD5C,mHAAmB,GAArJ,YAA4N,EAA1F,SAAmB,GAC0B,sEAAoC,GAKlH,+HAA+B,GAAtD,0oBAAsP,EAA/N,SAA+B,EAAtD,4EAAsP,GAEtP,oFAA+B,GAGR,0IAAyC,GAAhE,gpBAAqQ,EAA9O,UAAyC,EAAhE,kFAAqQ,GAErQ,oFAA+B,GAIP,+HAA8B,GAArD,gpBAAkO,EAA3M,UAA8B,EAArD,kFAAkO,GAEnO,8EAAyB,GAID,oIAAmC,GAA1D,gpBAA4O,EAArN,UAAmC,EAA1D,kFAA4O,GAE7O,8EAAyB,GAGD,iIAAgC,GAAvD,gpBAAmP,EAA5N,UAAgC,EAAvD,kFAAmP,GAEpP,iFAA4B,GAGL,sIAAqC,GAA5D,gpBAA6P,EAAtO,UAAqC,EAA5D,kFAA6P,GAE7P,iFAA4B,GAGL,4HAA2B,GAAlD,upBAAuN,EAAhM,UAA2B,EAAlD,kFAAuN,GAEvN,kFAA4B,GAIJ,gIAA+B,GAAtD,wpBAAkO,EAA3M,UAA+B,EAAtD,kFAAkO,GAEnO,kFAA4B,GAGJ,oIAAmC,GAA1D,wpBAA6N,EAAtM,UAAmC,EAA1D,kFAA6N,GAE9N,+EAAyB,GAID,6HAA4B,GAAnD,ypBAA4O,EAArN,UAA4B,EAAnD,mFAA4O,GAE7O,yFAAiC;sGA3D/G,iLAA4F,KAExF,kdAA4N,iDAAlI,mBAAuC,kBAAjI,YAA4N,EAAlI,SAAuC;sGAwEzH,wPAAmJ;sGAE1J,yWAY4D,YAJ5C;;wBAAsD;MACtD;;wBAAkD;MAClD;;wBAA8C;MAC9C;;wBAAkD;MAClD;;wBAA2C;MAZ3D,uqDAY4D,mIAX5C,mBAAmC,sBAInC,mBAA0B,iBAH1B,mBAAiC,qBAKjC,mBAA2C,sBAH3C,mBAAmB,UADnB,mBAAwD,yCAGxD,mBAAmB,UANnC,YAY4D,EAX5C,SAAmC,EAInC,SAA0B,EAH1B,SAAiC,EAKjC,SAA2C,EAH3C,SAAmB,EADnB,SAAwD,EAGxD,SAAmB;uGASnC,yWAY8D,YAJ9C;;wBAAiD;MACjD;;wBAA6C;MAC7C;;wBAAiD;MACjD;;wBAAqD;MACrD;;wBAA6C;MAZ7D,uqDAY8D,mIAX9C,mBAAqC,wBAGrC,mBAAyB,gBAFzB,mBAAmC,uBAKnC,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANnC,YAY8D,EAX9C,SAAqC,EAGrC,SAAyB,EAFzB,SAAmC,EAKnC,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;uGAQnC,yWAY2D,YAJ3C;;wBAAkD;MAClD;;wBAA8C;MAC9C;;wBAA0C;MAC1C;;wBAA8C;MAC9C;;wBAA0C;MAZ1D,uqDAY2D,mIAX3C,mBAAqC,wBAGrC,mBAAwB,eAFxB,mBAAgC,oBAKhC,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANnC,YAY2D,EAX3C,SAAqC,EAGrC,SAAwB,EAFxB,SAAgC,EAKhC,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;uGAQnC,yWAYwD,YAJxC;;wBAA+C;MAC/C;;wBAA2C;MAC3C;;wBAAuC;MACvC;;wBAA2C;MAC3C;;wBAAuC;MAZvD,uqDAYwD,mIAXxC,mBAA+B,kBAG/B,mBAAoB,WAFpB,mBAA6B,iBAK7B,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANnC,YAYwD,EAXxC,SAA+B,EAG/B,SAAoB,EAFpB,SAA6B,EAK7B,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;uGAQnC,0WAYiE,YAJjD;;wBAAwD;MACxD;;wBAAoD;MACpD;;wBAAgD;MAChD;;wBAAoD;MACpD;;wBAAgD;MAZhE,uqDAYiE,mIAXjD,mBAAwC,2BAGxC,mBAA4B,mBAF5B,mBAAsC,0BAKtC,mBAA2C,sBAF3C,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UANnC,YAYiE,EAXjD,SAAwC,EAGxC,SAA4B,EAF5B,SAAsC,EAKtC,SAA2C,EAF3C,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB;uGAWpC,wLAA4F,KAC1F,iuCAAyD,iDAA3C,mBAAS,KAAmB,mBAAa,OAA/B,mBAAiB,SAAzC,YAAyD,EAA3C,SAAS,EAAmB,SAAa,EAA/B,SAAiB;uGAE3C,wLAAwF,KACtF,g5CAAwF,iDAApD,6BAA+B,cAAlD,yBAAkB,EAAiC,2BAAmB,EAAvF,YAAwF,EAApD,SAA+B,EAAlD,SAAkB,EAAiC,SAAmB;uGAIzF,wLAA6F,KAC3F,i4CAAiE,iDAA9C,mBAAyB,aAAC,2BAAmB,EAAhE,YAAiE,EAA9C,SAAyB,EAAC,SAAmB;uGAIlE,wLAAgG,KAC9F,oyCAA8C,iDAAvC,mBAAwB,aAAC,mBAAa,SAA7C,YAA8C,EAAvC,SAAwB,EAAC,SAAa;uGAI/C,wLAAiG,KAC/F,yzCAAkH,iDAAb,mBAAY,MAAtE,mBAAwB,aAApD,0BAA2B,EAA0B,mBAAgC,iBAApG,YAAkH,EAAb,SAAY,EAAtE,SAAwB,EAApD,SAA2B,EAA0B,SAAgC;uGApBxG,kLAA0E,KACxE,0YAA4F,IAG5F,0YAAwF,IAKxF,0YAA6F,IAK7F,0YAAgG,IAKhG,2YAAiG,iDAlBrC,mBAA+B,0BAA3F,YAA4F,EAAhC,SAA+B,GAG/B,mBAA2B,sBAAvF,YAAwF,EAA5B,SAA2B,GAK3B,mBAAgC,2BAA5F,YAA6F,EAAjC,SAAgC,GAKhC,mBAAmC,8BAA/F,YAAgG,EAApC,SAAmC,GAKnC,mBAAoC,+BAAhG,aAAiG,EAArC,SAAoC;sGAnGpG,kLAA2F,KACzF,mjBAAuF,IACrF,6IAAuB,KACrB,4KAA+B,YAAzB;;wBAAwB;MAA9B,wBAA+B,0OAA2G,KAC1I,gJAA0B,wFAAiC,MAC3D,wHAAM,+YAAmJ,IACrJ,2EACL,gZAY4D,IAC3C,2EAEjB,iZAY8D,IAC7C,2EACjB,iZAY2D,IAC1C,2EACjB,iZAYwD,IACvC,2EACjB,iZAYiE,IAIpE,2YAA0E,iDA/ErE,4DAAkD,GAAvD,YAAuF,EAAlF,SAAkD,GAI+E,mBAAoB,eAAhJ,aAAmJ,EAAvB,SAAoB,GAE9E,mBAA+B,0BAAxG,aAY4D,EAZa,SAA+B,GAe/B,mBAAgC,2BAAzG,aAY8D,EAZW,SAAgC,GAchC,mBAA2B,sBAApG,aAY2D,EAZc,SAA2B,GAc3B,mBAAmC,8BAA5G,aAYwD,EAZiB,SAAmC,GAclC,mBAAoC,+BAA9G,aAYiE,EAZS,SAAoC,GAgB5D,mBAAoB,eAAzE,aAA0E,EAArB,SAAoB,mDA5E3C,kGAAiC;sGA1EnE,kOAAgI,KAC9H,yYAA4F,IAqE5F,yYAA2F,iDArEtC,oBAAsC,gCAA3F,YAA4F,EAAvC,SAAsC,GAqEpE,mBAAqC,gCAA5D,YAA2F,EAApE,SAAqC;uGA+G9D,kLAAmF,KACjF,uuCAAwI,iDAA5G,mBAAiC,aAAC,mBAA6B,WAAC,mBAAuB,YAAC,mBAAmB,UAAvI,YAAwI,EAA5G,SAAiC,EAAC,SAA6B,EAAC,SAAuB,EAAC,SAAmB;uGAYjJ,0LAAqF,YAAzE;;wBAAwB;MAApC,0cAAqF,MAEnF,q5CAIgC,iDANtB,mBAAwB,aAAoB,uBAA4B,EAApF,YAAqF,EAAzE,SAAwB,EAAoB,SAA4B,GAInE,mBAAe,QACf,yBAAiB,EACjB,oBAAgB,EAHhB,4BAAgC,EAD/C,YAIgC,EAFjB,SAAe,EACf,SAAiB,EACjB,SAAgB,EAHhB,SAAgC;4gCAlPjD,0LAAyD,KACzD,sMAAqE,KACrE,wLAAuD,KACrD,qLAAuD,KACrD,oMAAuE,KAEnE,sNAAmF,KACjF,+LAAwH,YAA/C;;wBAA8C;MAAvH,q8BAAwH,MAE1H,0YAAsN,IAoCtN,0YAAgI,IAqLhI,2YAAmF,IAS3F,2LAA4C,YAAhC;;wBAA+B;MAA3C,gaAA4C,MAC1C,m4BAA6D,IAG/D,2YAAqF,IAWrF,8LAA6D,KAC7D,gMAA+D,kDApPrC,yBAAwB,EAAC,mBAA+B,gBAAxE,aAAwH,EAAxG,SAAwB,EAAC,SAA+B,GAE3B,mBAA8B,yBAA7E,aAAsN,EAAvK,SAA8B,GAoC7B,mBAA+B,0BAA/E,aAAgI,EAAhF,SAA+B,GAqLzB,mBAA4B,uBAAlF,aAAmF,EAA7B,SAA4B,GAS9E,mBAA+B,oBAA3C,aAA4C,EAAhC,SAA+B,GACxB,mBAAgB,YAAC,mBAA0B,oBAA5D,aAA6D,EAA5C,SAAgB,EAAC,SAA0B,GAGzB,mBAAkB,aAAvD,aAAqF,EAAhD,SAAkB;;;;;;;;;;;;;;;;AC/OvD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0I;AAC9E;AACjB;AACuB;AACC;AAChB;AACF;AACN;AACM;AACyB;AAClB;AAC0B;AAEL;AAKlC;AAAA,CAAC;AAG5C,IAAK,WAAwD;AAA7D,WAAK,WAAW;IAAG,2EAAmB;IAAE,2EAAmB;AAAC,CAAC,EAAxD,WAAW,KAAX,WAAW,QAA6C;AAAA,CAAC;AAC9B;AAEK;AACoB;AACF;AACS;AAEI;AAGY;AAUhF;IAqJE,0BAAmB,oBAA0C,EAAU,aAA4B,EAAU,WAAyB,EAAU,IAAU,EAAU,eAAgC,EAAU,iBAAsC,EAAU,gBAAkC,EAAU,MAAqB,EAAU,KAAqB,EAAU,MAAc,EAAW,eAAgC;QAA9Y,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAU,gBAAW,GAAX,WAAW,CAAc;QAAU,SAAI,GAAJ,IAAI,CAAM;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAW,oBAAe,GAAf,eAAe,CAAiB;QA/Ija,iBAAY,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;QACnD,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,CAAC,CAAC;QAGd,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAEnB,eAAU,GAAY,KAAK,CAAC;QAE5B,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QACrB,eAAU,GAAG,EAAE,CAAC;QAChB,gBAAW,GAAG,EAAE,CAAC;QAEjB,SAAI,GAAW,EAAE,CAAC;QAClB,iBAAY,GAAW,sBAAsB,CAAC;QAE9C,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAE3B,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,aAAQ,GAAc,IAAI,2DAAS,EAAE,CAAC;QACtC,eAAU,GAAY,IAAI,CAAC;QAC3B,gBAAW,GAAY,IAAI,CAAC;QAC5B,wBAAmB,GAAW,CAAC,CAAC;QAIhC,uBAAkB,GAAW,sBAAsB,CAAC;QAGpD,uBAAkB,GAAW,aAAa,CAAC;QAC3C,YAAO,GAAY,IAAI,CAAC;QACxB,mBAAc,GAAY,KAAK,CAAC;QAChC,0BAAqB,GAAY,KAAK,CAAC;QAcvC,aAAQ,GAAG,MAAM,CAAC;QAClB,oBAAe,GAAmB,EAAE,CAAC;QACrC,YAAO,GAAW,EAAE,CAAC;QAQd,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAG9H,4BAAuB,GAAY,KAAK,CAAC;QACzC,wBAAmB,GAAY,KAAK,CAAC;QACrC,6BAAwB,GAAY,KAAK,CAAC;QAC1C,gCAA2B,GAAY,KAAK,CAAC;QAC7C,iCAA4B,GAAY,KAAK,CAAC;QAC9C,eAAU,GAAY,KAAK,CAAC;QAC5B,iCAA4B,GAAY,KAAK,CAAC;QAC9C,sCAAsC;QACtC,cAAS,GAAW,CAAC,CAAC;QAAC,oBAAe,GAAW,EAAE,CAAC;QAG7C,UAAK,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7G,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,sFAAsF;QACrK,yBAAoB,GAAW,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1G,cAAS,GAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,YAAO,GAAQ,IAAI,IAAI,EAAE,CAAC;QAC1B,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,6CAA6C;QAC3I,uBAAkB,GAAW,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QACnI,mBAAc,GAAmB,EAAE,CAAC;QACpC,qBAAgB,GAAmB,EAAE,CAAC;QACtC,mBAAc,GAAuB,EAAE,CAAC;QACxC,cAAS,GAAiB,EAAE,CAAC;QASnB,eAAU,GAAG,EAAE,CAAC;QAAC,eAAU,GAAG,EAAE,CAAC;QAI3C,sBAAiB,GAAG,KAAK,CAAC;QAAC,aAAQ,GAAG,KAAK,CAAC;QAE5C,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACjC,QAAG,GAAG,EAAE,CAAC;QACT,sBAAiB,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC7C,eAAU,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QACtC,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QAClC,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QAClC,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QAClC,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QAElC,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,kBAAa,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrC,kBAAa,GAAY,IAAI,CAAC;QAC9B,mCAAmC;QACnC,aAAQ,GAAW,EAAE,CAAC;QACtB,yBAAoB,GAAY,KAAK,CAAC;QAM/B,iBAAY,GAAG,IAAI,8FAAsB,EAAE,CAAC;QAEnD,2BAAsB,GAAY,IAAI,CAAC;QACvC,4BAAuB,GAAY,KAAK,CAAC;QACzC,kCAA6B,GAAY,KAAK,CAAC;QAC/C,yBAAoB,GAAY,KAAK,CAAC;QACtC,iBAAY,GAAY,KAAK,CAAC;QAE9B,gBAAW,GAAG,EAAE,CAAC;QACjB,cAAS,GAAG,EAAE,CAAC;QAEf,mBAAc,GAAG,EAAE,CAAC;QACpB,4BAAuB,GAAY,KAAK,CAAC;QAEvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;gBACxC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aAC5G,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;SACzD;QACD,yDAAyD;IAC3D,CAAC;IACD,2CAAgB,GAAhB,UAAiB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QAChF,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC;QACvD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,IAAI,gBAAgB,IAAI,SAAS,EAAE;YAC3D,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7J;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACrG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC/Q,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACpD,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BAClL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC/Q,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS,EAAE,UAAU,MAAM;4BAC3I,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS,EAAE,UAAU,MAAM;4BAC3I,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACpI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCACrC,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS,EAAE,UAAU,MAAM;4BACrI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC/S,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,0BAA0B;4BAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gCACjC,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,4CAA4C;oCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oCACnC,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;wCAClB,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS,EAAE,UAAU,MAAM;4BACvI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC/S,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;4BAC/B,0BAA0B;4BAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gCACjC,IAAI,MAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAChC,IAAI,EAAE,GAAG,EAAE,CAAC;gCACZ,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAC,EAAE,EAAE;oCACjC,4CAA4C;oCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;oCAClC,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,MAAM,EAAE;wCAClB,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,GAAC,CAAC,GAAG,gBAAgB,CAAC;qCACvE;yCACI;wCACH,EAAE,IAAI,CAAC,CAAC,GAAC,CAAC,GAAG,GAAG,CAAC;qCAClB;iCAEF;gCACD,OAAO,EAAE;6BAEV;iCAAM;gCACL,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC;wBACD,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BACrC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;gCAC9C,OAAO,EAAE,CAAC;6BACX;iCAAM;gCACL,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;yBAEF;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBACtW;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACvF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC/S,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC/B,0BAA0B;wBAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;4BACjC,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,4CAA4C;gCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;gCAClC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC/S,CAAC,EAAE,YAAY,EAAE,UAAU,MAAM;wBAC/B,0BAA0B;wBAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;4BACjC,IAAI,MAAI,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,EAAE,GAAG,EAAE,CAAC;4BACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACjC,4CAA4C;gCAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCACnC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oCAClB,EAAE,IAAI,qCAAqC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;iCACvE;qCACI;oCACH,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iCAClB;6BAEF;4BACD,OAAO,EAAE;yBAEV;6BAAM;4BACL,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBACF;gBACD,GAAG;gBACH,iGAAiG;gBACjG,oPAAoP;gBACpP,+BAA+B;gBAC/B,OAAO;gBACP,QAAQ;gBACR;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC5F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC1G,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;4BACpM,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;aACF,CAAC;SAEH;IACH,CAAC;IACD,wCAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,sCAAW,GAAX;IAEA,CAAC;IAED,wCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,sCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,wCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,4CAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QAEtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,2CAAgB,GAAhB;QAAA,iBAyCC;QAvCC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QAAC,IAAI,CAAC,OAAO,GAAG;YAChB,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,+BAA+B;QAC/B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC3F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5D,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YAED,KAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7C,kIAAkI;YAClI,oMAAoM;YACpM,sHAAsH;YACtH,0LAA0L;YAC1L,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;SACtC,CAAC;IACJ,CAAC;IAED,8CAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBAwDC;QAvDC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,EAAE;gBAChI,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QAED,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAC5B,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,iBAAO;gBACjB,IAAI,OAAO,CAAC,MAAM,IAAI,iBAAiB,EAAE;oBACvC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;oBACnC,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,OAAO,CAAC,gCAAgC,CAAC;iBACvG;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,gCAAgC,GAAG,KAAK,CAAC;iBACpE;YAGH,CAAC,CAAC,CAAC;SAEJ;QACD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SAEH;aACI;YACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAEzF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,kBAAuB,CAAC;oBAC5B,kBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,kBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEhH,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;wBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;wBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;qBAC9C,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,0DAA0D;SAC3D;IACH,CAAC;IACD,2CAAgB,GAAhB,UAAiB,QAAQ;QACvB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBACpC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACpE;iBAAM;gBACL,sBAAsB;gBACtB,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACrE;SACF;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;IACH,CAAC;IAED,oDAAyB,GAAzB,UAA0B,KAAK;QAE7B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,sCAAsC;gBACtC,oDAAoD;gBACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;gBACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAGtB,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;SACF;aAAM;YACL,uCAAuC;SACxC;IAEH,CAAC;IAED,sDAA2B,GAA3B,UAA4B,KAAK;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;gBACpC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;gBACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAGtB,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;SACF;aAAM;YACL,uCAAuC;SACxC;IAEH,CAAC;IAEC,+BAA+B;IAC/B,2CAA2C;IAE3C,yEAAyE;IACzE,mDAAmD;IACnD,0EAA0E;IAC1E,uDAAuD;IACvD,0CAA0C;IAC1C,KAAK;IACL,UAAU;IACV,mDAAmD;IACnD,0EAA0E;IAC1E,qDAAqD;IACrD,oDAAoD;IACpD,0EAA0E;IAC1E,KAAK;IACL,GAAG;IACH,QAAQ;IAER,gCAAgC;IAChC,2CAA2C;IAC3C,8DAA8D;IAC9D,4EAA4E;IAC5E,iEAAiE;IACjE,2CAA2C;IAC3C,kDAAkD;IAClD,mCAAmC;IACnC,OAAO;IACP,KAAK;IACL,UAAU;IACV,8DAA8D;IAC9D,4EAA4E;IAC5E,iEAAiE;IACjE,2CAA2C;IAC3C,kDAAkD;IAClD,iCAAiC;IACjC,OAAO;IACP,KAAK;IACL,GAAG;IACN,IAAI;IAEH,sDAA2B,GAA3B,UAA4B,GAAU;QACpC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,sDAA2B,GAA3B,UAA4B,KAAK;QAE/B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aAAE;YACvE,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAExC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,IAAM,SAAO,GAAG,IAAI,CAAC;gBACrB,CAAC,CAAC,UAAU,CAAC;oBAEX,SAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAKT,gCAAgC;gBAChC,+EAA+E;gBAC/E,iDAAiD;gBACjD,wEAAwE;gBACxE,qDAAqD;gBACrD,+EAA+E;gBAC/E,UAAU;gBACV,iDAAiD;gBACjD,wEAAwE;gBACxE,mDAAmD;gBACnD,iDAAiD;gBACjD,gFAAgF;gBAChF,GAAG;gBACH,sCAAsC;gBACtC,oDAAoD;aAErD;SACF;aACI;YACH,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;YACrC,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;YAEzB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACpE,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBAClE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACnC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC1C,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC5B;aACF;iBACI;gBACH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACpE,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBAClE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACnC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC1C,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC1B;gBACD,yEAAyE;gBACzE,+BAA+B;gBAC9B,gDAAgD;aAClD;SAEF;IACH,CAAC;IACD,gDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAExC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,EAAE;gBACvB,sEAAsE;gBACtE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/C,gCAAgC;gBAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAM,SAAO,GAAG,IAAI,CAAC;gBACrB,CAAC,CAAC,UAAU,CAAC;oBAEX,SAAO,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;oBACvC,SAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAGV;SACF;aACI;YACH,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;YACrC,IAAI,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YACpE,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpE,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/C,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aAC1B;SACF;IAEH,CAAC;IACD,mDAAwB,GAAxB,UAAyB,KAAK;QAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;gBAC1B,sEAAsE;gBACtE,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAM,SAAO,GAAG,IAAI,CAAC;gBACrB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC3C,SAAO,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;SAC1C;IACH,CAAC;IACD,6CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aAAC;YACtE,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,sDAAsD;gBACtD,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,sEAAsE;gBACtE,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAM,SAAO,GAAG,IAAI,CAAC;gBACrB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;aACI;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;gBACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpE,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrD,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC1C,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IACD,4CAAiB,GAAjB,UAAkB,OAAO;QAEvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,cAAc,EAAE,CAAC;IAE1B,CAAC;IACD,yCAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qLAAqL,CAAC,CAAC;QACpN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,gDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,gDAAqB,GAArB,UAAsB,gBAAwB,EAAc,UAA2B;QAAvC,+CAAuC;QACrF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE;YAClM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,KAAK;gBAChM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC1P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACrP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAElT,CAAC;QACF,0BAA0B;QAC1B,KAAK;QACL,mFAAmF;QACnF,wCAAwC;QACxC,iHAAiH;QACjH,SAAS;QACT,4EAA4E;QAC5E,gHAAgH;QAChH,SAAS;QACT,4EAA4E;QAC5E,yBAAyB;QACzB,SAAS;QACT,8EAA8E;QAC9E,mHAAmH;QACnH,gXAAgX;QAChX,iHAAiH;QACjH,SAAS;QACT,cAAc;QACd,0EAA0E;QAC1E,SAAS;QACT,OAAO;QACP,MAAM;QACN,KAAK;QACL,4NAA4N;QAC5N,iDAAiD;QACjD,sCAAsC;QACtC,oDAAoD;QACpD,yDAAyD;QACzD,iDAAiD;QACjD,2CAA2C;QAC3C,WAAW;QACX,oBAAoB;QACpB,UAAU;QACV,gEAAgE;QAChE,6JAA6J;QAC7J,6DAA6D;QAC7D,sDAAsD;QAEtD,IAAI;IACN,CAAC;IACD,6CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,2CAAgB,GAAhB;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM;oBAC9B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9D,oFAAoF;SACrF;IAEH,CAAC;IAED,mCAAQ,GAAR;QAAA,iBAyEC;QAvEC,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,kBAAkB;YACjC,eAAe,EAAE,oBAAoB;YACrC,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,SAAS,CAAC;SAC1D;QACD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACtF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACzF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC5F,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YAAC,KAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,SAAS,EAAE;YAC5J,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;gBAEnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SACpC;aACI;YACH,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aACrE,CAAC;YACF,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;YAC7C,yCAAyC;YACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SACpC;QAGD,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,YAAY,CAAC;QAE7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE;gBACzD,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,GAAG,KAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,qBAAqB,GAAG,KAAI,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,KAAI,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;gBACpe,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;aACnD;YAED,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;YAElC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;YAC3C,KAAI,CAAC,kBAAkB,IAAI,KAAI,CAAC,YAAY,CAAC;QAC/C,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,qCAAU,GAAV;QACE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,uCAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAErC,CAAC;IACD,yCAAc,GAAd,UAAe,IAAS;QAEtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;SAC5B;IACH,CAAC;IACD,sCAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,wCAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,oCAAS,GAAT,UAAU,QAAQ;QAAlB,iBA2CC;QA1CC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,IAAI,IAAI,UAAU,EAAE;YAC/B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnE,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACjE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;oBAC7B,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;iBAChC;gBACD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;oBACxB,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;iBAC5B;gBACD,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7F,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,QAAQ,CAAC,IAAI,IAAI,UAAU,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAClE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;oBACzB,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;iBAC5B;gBACD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;oBACxB,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;iBAC5B;gBACD,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;gBACrF,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,CAAC;SACJ;QACD,uDAAuD;QACvD,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC;YACX,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACpE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAIM,uDAA4B,GAAnC,UAAoC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM;QAAhG,iBAwEC;QAtEC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,UAAU,EAAlE,CAAkE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpI,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,UAAU,GAAG,mEAAmE,EAAE,eAAe,CAAC,CAAC;gBACtJ,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACxI,WAAW,CAAC,OAAO,CAAC,qBAAW;gBAE7B,WAAW,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACzF,WAAW,CAAC,SAAS,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBACrF,WAAW,CAAC,QAAQ,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC3H,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;YAC1C,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;YAClC,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAGlC,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE;oBACpF,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wBACpC,KAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC5E,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACvF,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,KAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACpG;oBACD,KAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,MAAM,CAAC,wDAAuD;oBAC/F,KAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC7B;qBACI;oBACH,KAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,EAAE,CAAC;oBACpC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5B,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,EAAE,CAAC;oBAC5C,KAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;oBAChD,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBACnD;gBAED,IAAI,KAAI,CAAC,kBAAkB,IAAI,wBAAwB,IAAI,KAAI,CAAC,kBAAkB,IAAI,qBAAqB,EAAG;oBAC5G,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;iBACtD;qBACI,IAAI,KAAI,CAAC,kBAAkB,IAAI,wBAAwB,IAAI,KAAI,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;oBAChH,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;iBAE9C;gBACD,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBAE5C,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAEjG,KAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC;gBAC1C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtD,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;gBAC3E,IAAI,MAAI,GAAG,KAAI,CAAC;gBAChB,CAAC,CAAC,UAAU,CAAC;oBACX,MAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,MAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC/G,MAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,MAAM,GAAG,MAAI,CAAC,WAAW,CAAC;oBACxD,MAAI,CAAC,aAAa,CAAC,iBAAiB,GAAG,MAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACpE,MAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,MAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;gBAChF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBAAM;gBACL,KAAI,CAAC,oBAAoB,CAAC,YAAY,GAAG,UAAU,CAAC;gBACpD,uDAAuD;aACxD;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;IAEM,6CAAkB,GAAzB,UAA0B,QAAQ,EAAE,SAAS,EAAE,OAAO;QAAtD,iBAuBC;QAtBC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAC9G,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACrB,OAAO,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACzE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACjD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC/C,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACzD,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;qBAG3D;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAET,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IACM,6CAAkB,GAAzB,UAA0B,QAAQ,EAAE,SAAS,EAAE,OAAO;QAAtD,iBAeC;QAdC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACjF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,oCAAoC;QACpC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;IAC5C,CAAC;IAED,mCAAQ,GAAR,UAAS,GAAG;QAAZ,iBAwCC;QAvCC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,GAAG,CAAC;QAC9C,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,EAAE;YACpG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;SAEJ;QACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,IAAI,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,EAAE;YAC3G,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SACxG;aACI,IAAI,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,IAAI,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,EAAE;YAChH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClK;aACI,IAAI,IAAI,CAAC,kBAAkB,IAAI,UAAU,EAAE;YAC9C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;SACpE;aAEI,IAAI,IAAI,CAAC,kBAAkB,IAAI,sBAAsB,EAAE;YAC1D,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,kBAAkB,GAAG,sBAAsB,CAAC;YACjD,IAAI,CAAC,UAAU,GAAG,sBAAsB,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,oCAAM,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3G,IAAI,CAAC,OAAO,GAAG,oCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAEvD,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,SAAO,CAAC,UAAU,EAAE,SAAO,CAAC,QAAQ,EAAE,SAAO,CAAC,SAAS,EAAE,SAAO,CAAC,OAAO,CAAC,CAAC;YAC5H,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IAED,qCAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,CAAC;IACD,mCAAQ,GAAR;QAAA,iBAUC;QATC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;QAE1C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpD,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAC9D,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,8CAAmB,GAAnB,UAAoB,EAAE,EAAE,IAAI;QAA5B,iBAWC;QAVC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACnF,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,qCAAU,GAAV;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9D,CAAC;IACD,qCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,IAAI,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;YAC3G,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClL;aAAM,IAAI,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,IAAI,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,EAAG,EAAG,qBAAqB;YAC3I,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAElC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SACxH;aACI;YAEH,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAE9I;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,gDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,kDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,2CAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAoCC;QAnCC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACrC,IAAI,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,IAAI,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,EAAE;YAC3G,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjL,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAClF,kFAAkF;gBAClF,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,wBAAwB,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,KAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;SAEJ;aAAM,IAAI,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,IAAI,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,EAAE;YAClH,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACvH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAClF,kFAAkF;gBAClF,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,wBAAwB,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,KAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;SACJ;aAAM;YAEL,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,IAAI,sBAAsB,EAAE;gBACjE,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;YAED,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;SACpC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IAErB,CAAC;IAED,wCAAa,GAAb,UAAc,YAAqB,EAAE,eAAwB,EAAE,WAAoB,EAAE,cAAuB,EAAE,SAAkB,EAAE,QAAiB,EAAE,QAAiB,EAAE,QAAiB,EAAE,SAAkB,EAAE,gBAAyB;QACtO,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,WAAW,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,cAAc,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,SAAS,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,QAAQ,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,QAAQ,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,gBAAgB,CAAC;IAC5D,CAAC;IAED,qCAAU,GAAV,UAAW,KAAU,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;QACvD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SAEpD;aACI;YACH,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YACnD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACxC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,QAAQ,EAAE,EAAE;gBACV,KAAK,qBAAqB,CAAC,CAAC;oBAC1B,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;oBAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxF,MAAM;iBACP;gBACD,KAAK,qBAAqB,CAAC,CAAC;oBAC1B,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;oBAC3C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxF,MAAM;iBACP;gBACD,KAAK,eAAe,CAAC,CAAC;oBACpB,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;oBACvC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxF,MAAM;iBACP;gBACD,KAAK,eAAe,CAAC,CAAC;oBACpB,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;oBACvC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxF,MAAM;iBACP;gBACD,KAAK,mBAAmB,CAAC,CAAC;oBACxB,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;oBACxC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxF,MAAM;iBACP;gBACD,KAAK,mBAAmB,CAAC,CAAC;oBACxB,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;oBACxC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxF,MAAM;iBACP;gBACD,KAAK,eAAe,CAAC,CAAC;oBACpB,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;oBACpC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxF,MAAM;iBACP;gBACD,KAAK,eAAe,CAAC,CAAC;oBACpB,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;oBACpC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxF,MAAK;iBACN;gBACD,KAAK,gBAAgB,CAAC,CAAC;oBACrB,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;oBACrC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBACxF,MAAM;iBACP;gBACD,KAAK,oBAAoB,CAAC,CAAC;oBACzB,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;oBACzC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBACxF,MAAM;iBACP;gBACD,OAAQ,CAAC,CAAC;oBACR,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC1F;aACF;SAEF;IACH,CAAC;IACD,2CAAgB,GAAhB,UAAiB,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;QAC3C,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAChD,CAAC,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;QAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACpD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,GAAG,IAAI,SAAS,EAAE;gBAEpB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;gBAC1C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBAEtC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC;gBAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;iBACI,IAAI,GAAG,IAAI,MAAM,EAAE;gBACtB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;gBACxC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;gBAC1C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBAEtC,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC;gBACzC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aAC3B;iBACI,IAAI,GAAG,IAAI,aAAa,EAAE;gBAE7B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;gBACzC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBAGtC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,eAAe,GAAG,0BAA0B,CAAC;gBAClD,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;iBACI,IAAI,GAAG,IAAI,YAAY,EAAE;gBAE5B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;gBAC1C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBAGrC,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC;gBAC/C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;aACtC;iBACI;gBACH,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC;gBAC7C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE;oBACtC,IAAI,CAAC,4BAA4B,EAAE,CAAC;iBACrC;qBAAM;oBACL,2DAA2D;iBAC5D;gBACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;gBACpC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;gBAC1C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAElC,IAAI,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtJ,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;iBACrC;aAEF;SACF;aACI;YACH,4EAA4E;YAC5E,iFAAiF;YACjF,wEAAwE;YACxE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC5B;IACH,CAAC;IACD,uDAA4B,GAA5B;QAAA,iBAoCC;QAnCC,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,2DAA2D,SAAQ;SACjS,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,+BAA+B;QAC/B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,KAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YACrD,KAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YAChI,KAAI,CAAC,oBAAoB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,oCAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClM,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;YACpH,KAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,oCAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxL,KAAI,CAAC,iCAAiC,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG;YACvC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QAED,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;IAC3C,CAAC;IACD,4DAAiC,GAAjC,UAAkC,gBAAgB;QAAlD,iBA6BC;QA5BC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,EAAE;gBAChI,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QAED,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YACjF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;gBACnD,IAAI,gBAAgB,SAAO,CAAC;gBAC5B,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpD,gBAAgB,CAAC,OAAO,CAAC,aAAG;oBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEhH,CAAC,CAAC;aACH;iBAAM;gBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;oBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;oBAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE;iBAC9C,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,0DAA0D;IAC5D,CAAC;IACD,mDAAwB,GAAxB,UAAyB,gBAAwB;QAC/C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,YAAC,MAAM;4BACtE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;4BAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gCACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gCAC1C,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gCAC9F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;4BACzD,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjE,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrK;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,MAAM;4BAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACvF,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC3e;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBACzD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CACA,CAAC;iBACH;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS,EAAE,UAAU,MAAM;4BAC3I,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS,EAAE,UAAU,MAAM;4BACrI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;gCAAE,OAAO,EAAE,CAAC;6BAAE;iCAAM;gCAC1E,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BAClD;wBACH,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,SAAS,EAAE,UAAU,MAAM;4BACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC;wBACD,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG;gBACxB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;iBACZ;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI;iBACxD;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;4BAAE,OAAO,EAAE,CAAC;yBAAE;6BAAM;4BAC1E,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;yBAClD;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBACtW;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACvF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC/S,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBAC/S,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC5F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBACvF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBACnF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;wBAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;4BACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;4BAC1C,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BAC9F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;wBACzD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC3O,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;yBAC5B;oBACH,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;aACpF,CAAC;SACH;IAEH,CAAC;IACD,mDAAwB,GAAxB,UAAyB,KAAK;QAC5B,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IACD,iDAAsB,GAAtB,UAAuB,KAAK;QAC1B,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IACD,mDAAwB,GAAxB,UAAyB,KAAK;QAC5B,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACxC,CAAC;IACD,uDAA4B,GAA5B;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC/E,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,gDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC9B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,8CAAmB,GAAnB;IAEA,CAAC;IACD,2CAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAAhC,iBASC;QARC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC1F,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC9B,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,0CAAe,GAAf;QAEE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAIzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,2CAAgB,GAAhB,UAAiB,IAAI,EAAE,IAAI;QAA3B,iBAoBC;QAlBC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjM,OAAO,CAAC,OAAO,CAAC,iBAAO;YACvB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACjD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC9C,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBAC1D;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC1C,8DAA8D;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAuB,GAAvB,UAAwB,gBAAwB;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACxD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,YAAC,MAAM;4BAChE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,+GAA+G,CAAC;4BACjI,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAChC,OAAO,CAAC,iBAAiB,GAAG,UAAU,CAAC;gCACvC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gCACnC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;gCAC7F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;4BACzD,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjE,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;iBAC9N;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpK;qBACI;oBACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBAC1B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG;gBACvB;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBAC1B,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI;iBAC1C;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC1F,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1D,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAC7E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,+GAA+G,CAAC;wBACjI,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,OAAO,CAAC,iBAAiB,GAAG,UAAU,CAAC;4BACvC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;4BACnC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;4BAC7F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;wBACzD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBAED,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;aACpF,CAAC;SACH;IACH,CAAC;IAED,+CAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC7B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,6CAAkB,GAAlB;IAEA,CAAC;IAED,iDAAsB,GAAtB;QAAA,iBAmCC;QAjCC,IAAI,CAAC,qBAAqB,GAAgB;YACxC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,0DAA0D,CAAC,QAAQ;SAChS,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,CAAC,aAAa,GAAG;YACzC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,0BAA0B,GAAG;YAChC,aAAa,EAAE,8FAAsB;SACtC,CAAC;IACJ,CAAC;IACD,+CAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IACD,6CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IACD,+CAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IACD,mDAAwB,GAAxB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACjF,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,uCAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEpC,CAAC;IACD,+CAAoB,GAApB,UAAqB,MAAM;QAA3B,iBAoCC;QAnCC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,8KAA8K;QAC9K,gCAAgC;QAChC,sFAAsF;QACtF,OAAO;QACP,+BAA+B;QAC/B,uBAAuB;QACvB,8BAA8B;QAC9B,yDAAyD;QACzD,wDAAwD;QACxD,6DAA6D;QAC7D,kEAAkE;QAClE,SAAS;QACT,SAAS;QACT,aAAa;QACb,6CAA6C;QAC7C,KAAK;QAGL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACjL,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC1C,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACnD,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtD;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,4CAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,eAAe,EAAE,CAAC;YAC1B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,0CAAe,GAAf;IACA,CAAC;IACD,4CAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,0CAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,4CAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IACD,gDAAqB,GAArB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC3E,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,8CAAmB,GAAnB;QAAA,iBAiCC;QAhCC,IAAI,CAAC,eAAe,GAAgB;YAClC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,0DAA0D,CAAC,QAAQ;SAChS,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG;YACnC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;SACtC,CAAC;IAEJ,CAAC;IAED,+CAAoB,GAApB,UAAqB,gBAAwB;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAG,KAAK;wBACZ,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;oBAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS,EAAE,UAAU,MAAM;4BACzI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACnG,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;qBAAC,CAAC,CAAC;iBAC/D;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;qBAAC,CAAC,CAAC;iBAC7D;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;qBAAC,CAAC,CAAC;iBAC/D;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;4BAChF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCACtD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;gCAAE,OAAO,yBAAyB;6BAAE;iCAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,yBAAyB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACtF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAE;gCAAE,OAAO,mBAAmB;6BAAE;iCAChF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,mBAAmB,EAAE;gCAAE,OAAO,uBAAuB;6BAAE;iCACtF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,uBAAuB,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;iCACpF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAE;gCAAE,OAAO,eAAe;6BAAE;iCAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,eAAe,EAAE;gCAAE,OAAO,kBAAkB;6BAAE;wBACpF,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAC3D,UAAU,MAAM;4BACd,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BAAE;wBACvF,CAAC,EAAE,YAAY,YAAC,MAAM;4BACpB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE;gCAAE,OAAO,GAAG;6BAAE;iCAAM;gCAAE,OAAO,MAAM,CAAC,KAAK,CAAC;6BAAE;wBACpJ,CAAC;qBACJ,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAG,KAAK,EAAG,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACnK;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC5M;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7P;qBACI;oBACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YAEL,IAAI,CAAC,cAAc,GAAG;gBACpB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;iBAAC;gBAC1D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK;iBAAC;gBAC5D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iBAAC;gBAC5D;oBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACtF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE;oBACnG,CAAC;iBACF;gBACD;oBAEE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAC3D,UAAU,MAAM;wBACd,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE;oBACvF,CAAC,EAAE,YAAY,YAAC,MAAM;wBACpB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAwB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE;4BAAE,OAAO,GAAG;yBAAE;6BAAM;4BAAE,OAAO,MAAM,CAAC,KAAK,CAAC;yBAAE;oBACpJ,CAAC;iBAEJ;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAChF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;4BAAE,OAAO,UAAU;yBAAE;6BACrD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;4BAAE,OAAO,yBAAyB;yBAAE;6BAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,yBAAyB,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;6BACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;4BAAE,OAAO,mBAAmB;yBAAE;6BAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,EAAE;4BAAE,OAAO,uBAAuB;yBAAE;6BACrF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,uBAAuB,EAAE;4BAAE,OAAO,iBAAiB;yBAAE;6BACnF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,EAAE;4BAAE,OAAO,eAAe;yBAAE;6BAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE;4BAAE,OAAO,kBAAkB;yBAAE;oBACnF,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnE,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;aAEpG,CAAC;YAEF,IAAI,eAAe,GAAG,UAAU,MAAM;gBACpC,OAAO,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1E,CAAC,CAAC;SACH;IACH,CAAC;IACD,6CAAkB,GAAlB;QACE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAErC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;QACxH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAGX,CAAC;IACD,kDAAuB,GAAvB,UAAwB,KAAK;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAChC,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,kDAAuB,GAAvB,UAAwB,KAAK;QAC3B,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IACD,gDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IACD,kDAAuB,GAAvB,UAAwB,KAAK;QAC3B,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACvC,CAAC;IACD,sDAA2B,GAA3B;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACjF,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,gDAAqB,GAArB;IAEA,CAAC;IAED,oDAAyB,GAAzB;QAAA,iBAoCC;QAlCC,IAAI,CAAC,qBAAqB,GAAgB;YACxC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,0DAA0D,CAAC,QAAQ;SACjS,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;QAEpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,CAAC,aAAa,GAAG;YACzC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;SACtC,CAAC;IAEJ,CAAC;IAED,qDAA0B,GAA1B,UAA2B,gBAAwB;QAEjD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBAC9D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,YAAC,MAAM;4BACtE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;4BAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gCACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gCACnC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gCAC9F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;4BACzD,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjE,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACvK;qBACI;oBACH,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;wBAC7B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG;gBAC1B;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;iBACxD;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC/D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBACnF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;wBAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;4BACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;4BACnC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BAC9F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;wBACzD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;gBAChD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;gBAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;aACxD,CAAC;SACH;IACH,CAAC;IACD,8CAAmB,GAAnB;QAEE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAEhC,CAAC;IACD,4CAAiB,GAAjB,UAAkB,GAAG;QAArB,iBAwBC;QAvBC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC/L,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACnF,IAAI,QAAQ,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;oBACxD,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;iBAClG;qBAAM;oBACL,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBAClC;YACH,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACjC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACpD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBAClD,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC5D,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;qBACrE;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAAA,CAAC;IACF,sDAA2B,GAA3B;QAAA,iBAoBC;QAnBC,IAAI,CAAC,wBAAwB,GAAgB;YAC3C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,2DAA2D,SAAQ;SAChS,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;QAEvD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,CAAC,aAAa,GAAG;YAC5C,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,8FAAsB;SACtC,CAAC;IAEJ,CAAC;IACD,qDAA0B,GAA1B,UAA2B,KAAK;QAC9B,IAAI,CAAC,8BAA8B,EAAE,CAAC;IACxC,CAAC;IACD,mDAAwB,GAAxB,UAAyB,KAAK;QAC5B,IAAI,CAAC,8BAA8B,EAAE,CAAC;IACxC,CAAC;IACD,qDAA0B,GAA1B,UAA2B,KAAK;QAC9B,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,8BAA8B,EAAE,CAAC;IAC1C,CAAC;IACD,yDAA8B,GAA9B;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACpF,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,qDAA0B,GAA1B,UAA2B,KAAK;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACnC,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACrC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,mDAAwB,GAAxB;IAEA,CAAC;IACD,wDAA6B,GAA7B,UAA8B,gBAAwB;QACpD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BAClL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;qBACF,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE;oBAC3D,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAG,SAAS,EAAE,UAAU,MAAM;4BAC3I,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE;oBAChE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM;4BACnJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;4BACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBACnD,CAAC;qBACF,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE;oBAC5D,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,YAAC,MAAM;4BACtE,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;4BAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;gCAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gCACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;gCACnD,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gCAC9F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;4BACzD,CAAC,CAAC,CAAC;4BACH,OAAO,IAAI,CAAC;wBACd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjE,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC1K;qBACI;oBACH,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;wBAChC,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBACjU,CAAC;wBACD,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG;gBAC7B;oBACE,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,GAAG;oBACV,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;iBACZ;gBACD;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI;iBACzD;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE;oBAC7T,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACjU,CAAC,EAAE,YAAY,EAAE,UAAC,MAAM;wBACtB,OAAO,oCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBACnF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,+FAA+F,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;wBAC9I,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAChC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;4BACvD,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;4BACnD,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BAC9F,OAAO,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;wBACzD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBAED,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;aACrG,CAAC;SACH;IACH,CAAC;IAED,kCAAO,GAAP;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IAExC,CAAC;IACD,uCAAY,GAAZ,UAAa,GAAG;QAEd,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,GAAG,IAAI,UAAU,EAAE;gBACrB,IAAI,CAAC,kBAAkB,GAAG,wBAAwB,CAAC;aACpD;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEvH,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;gBAC1C,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;aACxB;SACF;aACI;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,uBAAuB,GAAG,KAAK;YACpC,IAAI,GAAG,IAAI,UAAU,EAAE;gBACrB,IAAI,CAAC,kBAAkB,GAAG,wBAAwB,CAAC;aACpD;SACF;IACH,CAAC;IACD,sCAAW,GAAX,UAAY,KAAK;QAEf,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,EAAxD,CAAwD,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,KAAK,GAAG,mEAAmE,EAAE,eAAe,CAAC,CAAC;gBACjJ,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,SAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAI,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC3C,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBACvC;aACF;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,yCAAc,GAAd,UAAe,EAAE;QAAjB,iBA8BC;QA5BC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,iBAAiB,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9B,IAAI,SAAS,IAAI,EAAE,EAAE;oBACnB,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;iBAClC;qBAAM;oBACL,SAAS,GAAG,SAAS,GAAG,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;iBACpD;aACF;SACF;QACD,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,SAAS,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;YACpD,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,EAAE;gBACpG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;oBACnB,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC,CAAC,CAAC;aAEJ;SACF;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,6BAA6B;IAC7B,uBAAuB;IACvB,sBAAsB;IACtB,qCAAqC;IACrC,kKAAkK;IAClK,uKAAuK;IACvK,qJAAqJ;IACrJ,gLAAgL;IAChL,8GAA8G;IAC9G,KAAK;IACL,UAAU;IACV,sCAAsC;IACtC,kHAAkH;IAClH,uHAAuH;IACvH,2GAA2G;IAC3G,6HAA6H;IAC7H,gEAAgE;IAChE,KAAK;IAEL,GAAG;IAEH,2CAAgB,GAAhB,UAAiB,MAAM;QACrB,6CAA6C;QAC7C,iCAAiC;QACjC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,iDAAiD;gBACjD,oDAAoD;gBACpD,2DAA2D;gBAC3D,sEAAsE;gBACtE,+CAA+C;gBAC/C,sDAAsD;gBACtD,qDAAqD;gBAErD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAE9H,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBAC5C,+CAA+C;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,+CAA+C;iBAChD;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;iBAC/C;aACF;YAED,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,6CAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,yCAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;YACpD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBACpC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3C;iBACI;gBACH,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC5C;SACF;IACH,CAAC;IACD,mCAAQ,GAAR;QACE,gDAAgD;QAChD,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClB,UAAU;QACV,mBAAmB;QACnB,sCAAsC;QACtC,6CAA6C;QAC7C,sBAAsB;QACtB,0BAA0B;QAC1B,GAAG;IACL,CAAC;IACD,yCAAc,GAAd;QAEE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;QACH,mCAAmC;IACrC,CAAC;IAED,WAAW;IAEX,yBAAyB;IACzB,qLAAqL;IACrL,GAAG;IACH,UAAU;IACV,+BAA+B;IAC/B,yBAAyB;IACzB,uLAAuL;IACvL,KAAK;IACL,GAAG;IACH,UAAU;IACV,sDAAsD;IACtD,yBAAyB;IACzB,uLAAuL;IACvL,KAAK;IAEL,GAAG;IACH,UAAU;IACV,+CAA+C;IAC/C,qLAAqL;IACrL,GAAG;IACH,wCAAa,GAAb,UAAc,GAAG;QAEf,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,IAAI,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;YAC3G,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YAErC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClL;aAAM,IAAI,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,IAAI,IAAI,CAAC,kBAAkB,IAAI,qBAAqB,EAAG,EAAG,qBAAqB;YAC3I,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YAEpC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SACxH;aACI;YAEH,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAE9I;QACD,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IACD,+CAAoB,GAApB,UAAqB,QAA6B;QAChD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;QACnG,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAElG,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAEvC,IAAI,QAAQ,CAAC,cAAc,IAAI,wBAAwB,EAAG,EAAG,qBAAqB;gBAChF,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;oBAC7B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBACxH;gBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAC1C,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACrC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACzF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;oBACnC,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;iBACpD;gBAED,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,GAAG,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,qBAAqB,GAAG,QAAQ,CAAC,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;gBACze,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAGlD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;aACrC;iBACI,IAAI,QAAQ,CAAC,cAAc,IAAI,kBAAkB,EAAE;gBACtD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;oBAErC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;oBAC7C,IAAI,SAAO,GAAG,IAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBAEV;qBACI;oBACH,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;oBACrZ,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAElD,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;iBAE9E;aAEF;iBACI,IAAI,QAAQ,CAAC,cAAc,IAAI,eAAe,EAAE;gBAEnD,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC/Y,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAEhD,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;aAE7E;iBACI,IAAI,QAAQ,CAAC,cAAc,IAAI,gBAAgB,IAAI,QAAQ,CAAC,cAAc,IAAI,gBAAgB,IAAI,QAAQ,CAAC,cAAc,IAAI,aAAa,IAAI,QAAQ,CAAC,cAAc,IAAI,YAAY,IAAI,QAAQ,CAAC,cAAc,IAAI,cAAc,IAAI,QAAQ,CAAC,cAAc,IAAI,WAAW,IAAI,QAAQ,CAAC,cAAc,IAAI,iBAAiB,IAAI,QAAQ,CAAC,cAAc,IAAI,kBAAkB,IAAI,QAAQ,CAAC,cAAc,IAAI,qBAAqB,IAAI,QAAQ,CAAC,cAAc,IAAI,yBAAyB,IAAI,QAAQ,CAAC,cAAc,IAAI,oBAAoB,IAAI,QAAQ,CAAC,cAAc,IAAI,sBAAsB,IAAI,QAAQ,CAAC,cAAc,IAAI,mBAAmB,IAAI,QAAQ,CAAC,cAAc,IAAI,aAAa,IAAI,QAAQ,CAAC,cAAc,IAAI,iBAAiB,IAAI,QAAQ,CAAC,cAAc,IAAI,eAAe,IAAI,QAAQ,CAAC,cAAc,IAAI,gBAAgB,IAAI,QAAQ,CAAC,cAAc,IAAI,iBAAiB,IAAI,QAAQ,CAAC,cAAc,IAAI,gBAAgB,IAAI,QAAQ,CAAC,cAAc,IAAI,cAAc,IAAI,QAAQ,CAAC,cAAc,IAAI,sBAAsB,EAAE;gBACl/B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC;gBAClD,kUAAkU,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3X,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,IAAI,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;oBACxF,QAAQ,CAAC,cAAc,IAAI,yBAAyB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;wBAChF,QAAQ,CAAC,cAAc,IAAI,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;4BACtE,QAAQ,CAAC,cAAc,IAAI,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;gCAC1E,QAAQ,CAAC,cAAc,IAAI,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACvG,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,oCAAM,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC7K,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,oCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvH,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,SAAO,CAAC,UAAU,EAAE,SAAO,CAAC,QAAQ,EAAE,SAAO,CAAC,SAAS,EAAE,SAAO,CAAC,OAAO,CAAC,CAAC;gBAC5H,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAET,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,GAAG,QAAQ,CAAC,cAAc,EAAG,MAAM,EAAE,qBAAqB,GAAG,QAAQ,CAAC,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC1e,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;aAInD;iBACI,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE;gBACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK;aACpC;iBACI;gBACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;oBAC7B,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjL,IAAI,QAAQ,CAAC,aAAa,IAAI,IAAI,EAAE;wBAClC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC;wBACjD,IAAI,SAAO,GAAG,IAAI,CAAC;wBACnB,CAAC,CAAC,UAAU,CAAC;4BACX,SAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBACjD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;qBAEV;oBAED,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,GAAG,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,qBAAqB,GAAG,QAAQ,CAAC,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;oBACze,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;iBACnD;aAEF;SAEF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IAED,wCAAa,GAAb;QAAA,iBAwBC;QAvBC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAClF,kFAAkF;YAClF,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAI,CAAC,YAAY,CAAC,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,KAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE/E,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,YAAY,CAAC;YAC5C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,KAAI,CAAC,SAAS,GAAG,oCAAM,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3G,KAAI,CAAC,OAAO,GAAG,oCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAEvD,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5H,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAEX,CAAC,CAAC,CAAC;QAEH,qFAAqF;IAEvF,CAAC;IAED,yCAAc,GAAd,UAAe,GAAG;QAChB,QAAQ,GAAG,EAAE;YACX,KAAK,aAAa,CAAC,CAAC;gBAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC;gBAClD,MAAM;aACP;YACD,KAAK,cAAc,CAAC,CAAC;gBACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAAjD,CAAiD,CAAC,CAAC;gBACjH,MAAM;aACP;YACD,KAAK,mBAAmB,CAAC,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,EAAtD,CAAsD,CAAC,CAAC;gBACtH,MAAM;aACP;YACD,KAAK,YAAY,CAAC,CAAC;gBACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAA/C,CAA+C,CAAC,CAAC;gBAC/G,MAAM;aACP;YACD,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,EAApD,CAAoD,CAAC,CAAC;gBACpH,MAAM;aACP;YACD,KAAK,YAAY,CAAC,CAAC;gBACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,EAA/C,CAA+C,CAAC,CAAC;gBAC/G,MAAM;aACP;YACD,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,EAApD,CAAoD,CAAC,CAAC;gBACpH,MAAM;aAEP;SACF;IACH,CAAC;IAGD,uCAAY,GAAZ;QACE,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,8FAAsB,EAAE,CAAC;IACnD,CAAC;IAED,+CAAoB,GAApB,UAAqB,QAAQ;QAE3B,6DAA6D;QAC7D,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,6CAA2C,QAAQ,CAAC,IAAI,CAAC,SAAS,SAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAO,CAAC,CAAC;gBACvH,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBACxD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAE/C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAGV,CAAC;IAED,2CAAgB,GAAhB,UAAiB,GAAG;QAClB,IAAI,GAAG,IAAI,mBAAmB,EAAE;YAC9B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjL,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBAEX,SAAO,CAAC,cAAc,CAAC,SAAO,CAAC,kBAAkB,CAAC,CAAC;YACrD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IACH,CAAC;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GClgHiB,mPAAiH,YAA5G;;wBAAuB;MAA5B,wBAAiH;6GAS/G,8LAA0H,KACxH,kRAC4G,YAD/D;;;wBAAsF;MAAnI,wBAC4G,gFAAwB,MAEpI,gKAA0C,+NAAsF,YAA5C;;wBAA2C;MAArF,wBAAsF,KAChI,gKAA0C,gOAA6F,YAAlD;;wBAAiD;MAA5F,wBAA6F,wDAHjI,4HAAgC,GAAC,sFAAoE,GAD3G,YAC4G,EAAtG,SAAgC,EAAC,SAAoE,GAAC,sEAAwB;6GAJxI,yeAAgH,IAE9G,ydAA0H,IAQ1H,wNAA4G,KAC1G;;;;;;;;;;;wBAAuL;MAAlI;;wBAA6B;MAAiE;;wBAAmC;MAAtL,+wCAAuL,IACvL,yLAA4D,KAC1D,yKAA4C,KAC1C,+OAAkG,YAAzD;;wBAAmC;MAA5E,wBAAkG,mFAAM,MAE1G,8KAAiD,KAC/C,4RAA0I,YAAxE;;wBAA8B;MAAhG,wBAA0I,iFAAI,mDAjBvF,8BAA0B,EAAzF,YAAgH,EAAjD,SAA0B,GAElF,mBAAiD,wBAAtD,YAA0H,EAArH,SAAiD,GASC,oBAA6B,kBAAlF,YAAuL,EAAlI,UAA6B,mDAD7D,mBAA8B,sBAArD,YAA4G,EAArF,SAA8B,GACnD,qtBAAuL;6GA0B3L,mPAAyH,YAApH;;wBAA2B;MAAhC,wBAAyH;6GAQvH,8LAAqH,KAEnH,qPACoG,YADvD;;;wBAA8E;MAA3H,wBACoG,gFAAgB,MAEpH,gKAA0C,+NAAkF,YAAxC;;wBAAuC;MAAjF,wBAAkF,KAC5H,gKAA0C,gOAAyF,YAA9C;;wBAA6C;MAAxF,wBAAyF,wDAH7H,gIAA4B,GAAC,0FAAgE,GADnG,YACoG,EAA9F,SAA4B,EAAC,SAAgE,GAAC,sEAAgB;6GAKtH,gdAAgJ,IAC9I,mMAA6E,KAC3E,uMAA2E,sGAAyB,2BAFS,kCAA8B,EAA/I,YAAgJ,EAA/B,SAA8B;6GATjJ,6eAA4H,IAC1H,ydAAqH,IAQrH,gZAAgJ,IAMhJ,wNAA6G,KAC3G;;;;;;;;;;;wBAAmM;MAA9I;;wBAAiC;MAAqE;;wBAAuC;MAAlM,gxCAAmM,IACnM,+KAAkD,KAChD,yKAA4C,KAC1C,+OAAsG,YAA7D;;wBAAuC;MAAhF,wBAAsG,mFAAM,MAE9G,8KAAiD,KAC/C,4RAAqJ,YAAnF;;wBAAyC;MAA3G,wBAAqJ,iFAAI,mDAtB1F,kCAA8B,EAArG,YAA4H,EAArD,SAA8B,GAC9F,mBAA4C,2BAAjD,YAAqH,EAAhH,SAA4C,GAQ5C,8EAA8D,IAAnE,YAAgJ,EAA3I,SAA8D,GAOZ,oBAAiC,sBAAtF,aAAmM,EAA9I,UAAiC,mDADjE,mBAA+B,uBAAtD,YAA6G,EAAtF,SAA+B,GACpD,utBAAmM;6GA+BvM,mPAAyH,YAApH;;wBAA2B;MAAhC,wBAAyH;8GASvH,8LAAuH,KACrH,qPACoG,YADvD;;;wBAA8E;MAA3H,wBACoG,gFAAgB,MAEpH,gKAA0C,+NAAkF,YAAxC;;wBAAuC;MAAjF,wBAAkF,KAC5H,iKAA2C,gOAAyF,YAA9C;;wBAA6C;MAAxF,wBAAyF,wDAH9H,gIAA4B,GAAC,0FAAgE,GADnG,YACoG,EAA9F,SAA4B,EAAC,SAAgE,GAAC,sEAAgB;8GAMtH,gdAA8J,IAC5J,mMAA6E,KAC3E,uMAC0B,sGAAyB,2BAHwE,kCAA8B,EAA7J,YAA8J,EAA/B,SAA8B;8GAT/J,8eAA6H,IAC3H,0dAAuH,IAQvH,iZAA8J,IAQ9J,wNAA6G,KAC3G;;;;;;;;;;;wBAAmM;MAA9I;;wBAAiC;MAAqE;;wBAAuC;MAAlM,gxCAAmM,IACnM,+KAAkD,KAChD,yKAA4C,KAC1C,+OAAsG,YAA7D;;wBAAuC;MAAhF,wBAAsG,mFAAM,MAE9G,8KAAiD,KAC/C,4RAAsJ,YAApF;;wBAA0C;MAA5G,wBAAsJ,iFAAI,mDAxB1F,kCAA8B,EAAtG,YAA6H,EAArD,SAA8B,GAC/F,mBAA8C,4BAAnD,YAAuH,EAAlH,SAA8C,GAQ9C,4FAA4E,IAAjF,YAA8J,EAAzJ,SAA4E,GAS1B,oBAAiC,sBAAtF,aAAmM,EAA9I,UAAiC,mDADjE,mBAA+B,uBAAtD,YAA6G,EAAtF,SAA+B,GACpD,utBAAmM;8GAuC7M,kMAAgG,KAC9F,mPAAsG,YAAjG;;wBAAgC;MAArC,wBAAsG;8GAgBhG,sIAAyD,wDAAnB,mBAAkB,UAAxD,YAAyD,EAAnB,SAAkB;8GAEtD,wHAAoC,6OAA8F,YAAtF;;wBAAqC;MAA7C,wBAA8F,2NAAoF;8GAEtN,wHAAoC,KAAC,kQAA8G,YAAzF;;wBAAqC;MAA1D,wBAA8G;8GAHrJ,wHAAsC,KACpC,iZAAoC,IAEpC,iZAAoC,yBAF9B,kEAA6B,GAAnC,YAAoC,EAA9B,SAA6B,GAE7B,kEAA6B,GAAnC,YAAoC,EAA9B,SAA6B;8GALvC,uMAAyI,KACvI,iZAAyD,IACzD,iZAAsC,yBADhC,2DAA+B,GAArC,YAAyD,EAAnD,SAA+B,GAC/B,2DAA+B,GAArC,YAAsC,EAAhC,SAA+B,2BAFP,2IAAqC,GAArE,YAAyI,EAAzG,SAAqC;8GATzE,yHAA6D,KAC3D,gMAA+E,KAC7E,oLAAmF,gFAAe,MAClG,4JAAsC,6LAA4D,KAClG,2TAEgF,YAF5E;;wBAA+C;MAE/C;;wBAAyC;MAF7C,wBAEgF,sFAEhF,MACA,iZAAyI,iDAArI,wCAA2B,GAA/B,YAAyI,EAArI,SAA2B,2BARlB,mHAAoB,GAAnC,YAA+E,EAAhE,SAAoB,GAC7B,6HAA8B,GAAlC,YAAmF,EAA/E,SAA8B,GAAiD,gEAAe,GAE9C,+HAAgC,GAEtC,yHAAiC,GAF/E,YAEgF,EAF5B,SAAgC,EAEtC,SAAiC,GAAC,0HAEhF;8GAwDI,8KAA6E,KAC3E,yNAAmF,YAA1C;;wBAAyC;MAAlF,wBAAmF;8GAErF,8KAA6E,KAC3E,2NACgD,YAA1C;;wBAAyC;MAD/C,wBACgD,8EAAC;8GAGjD,oPACyC,YADL;;wBAAqC;MAAzE,wBACyC,KACvC,sKAA0C;8GAO9C,8PAEsC,YAFnC;;wBAAuC;MAA1C,iXAEsC,GADZ,+LAAgE,IAD1F,YAEsC,EADZ,SAAgE,2BAAsB,4IAAgC,GAC7I,uIAAkC,GAFrC,YAEsC,EAD0E,SAAgC,EAC7I,SAAkC;8GACrC,8PAE2F,YAFxF;;wBAAuC;MAA1C,wBAE2F,gCAApE,4IAAgC,GAAC,uIAAkC,GAF1F,YAE2F,EAApE,SAAgC,EAAC,SAAkC;8GA9B9F,uHAAmC,KACjC,sKAAyC,KACvC,oKAAwC,KACtC,wLAA4D,KAC5D,iKAA2C,yFAE3C,MAEF,iZAA6E,IAG7E,iZAA6E,IAI7E,uKAA0C,KACxC,kZACyC,IAM7C,wHAAK,KACH,qKAAqE,iFAAsB,MAC3F,kZAEsC,IACtC,kZAE2F,iDAtBtF,wCAA0B,GAA/B,YAA6E,EAAxE,SAA0B,GAG1B,wCAA0B,GAA/B,YAA6E,EAAxE,SAA0B,GAKrB,wCAA2B,GAAnC,aACyC,EADjC,SAA2B,GASM,wCAA2B,GAAtE,aAEsC,EAFK,SAA2B,GAInE,wCAA0B,GAD7B,aAE2F,EADxF,SAA0B,2BALO,qIAAgC,GAApE,aAAqE,EAAjC,SAAgC,GAAC,8EAAsB;8GA3BnG,yHAA6D,KAC3D,4KAAiE,KAC/D,oLAAoF,gFAAgB,MACpG,iZAAmC,yBAA/B,oDAA8B,GAAlC,YAAmC,EAA/B,SAA8B,2BAFlB,wHAA0B,GAA5C,YAAiE,EAA/C,SAA0B,GACtC,6HAA+B,GAAnC,YAAoF,EAAhF,SAA+B,GAAiD,gEAAgB;8GAuC1G,iMAAyG,KACvG,sHAAI,KACF,kKAA4C,KAC1C,8OAA6F,YAA/B;;wBAA8B;MAA5F,wBAA6F,mFAAM,MAErG,kKAA4C,KAC1C,+SAAsJ,YAA7B;;wBAA4B;MAArJ,wBAAsJ,iFAAI;6GAxS5K,uLAA0F,KACxF,2KAA6C,KAE3C,iMAAmE,KACjE,uOAA0G,KACxG,0NAA8F,8EAAC,MAC7F,yMAA6E,KAC3E,mMAAuE,KACrE,yHAAO,KACL,sHAAI,KACF,iKAA0C,uFAAU,MAM5D,6MAA+E,KAC7E,kLAAoD,KAClD,wKAA2C,KACzC,6IAAsB,KACtB,uKAA0C,KACxC,sHAAG,sFAAS,MAGhB,yKAA2C,KACzC,sKAAyC,KACvC,iZAAiH,IAEnH,gLAAmD,KACjD,iSAAiJ,YAAxE;;wBAAsC;MAA/G,wBAAiJ,KAC/I,0KAA6C,6FAAgB,MAC7D,qLAAwD,KAE1D,iZAAgH,IA4BtH,uMAAyE,KACvE,6IAAsB,KAGtB,uKAA0C,KACxC,sHAAG,2FAAc,MAEnB,wKAA0C,KACxC,sKAAyC,KACvC,iZAAyH,IAE3H,uLAA0D,KACxD,sSAA0J,YAAxG;;wBAA0C;MAA5F,wBAA0J,KACxJ,8KAAiD,kGAAqB,MACtE,qLAAwD,KAE1D,iZAA4H,IAoClI,uMAAyE,KACvE,yKAA4C,KAC1C,6IAAsB,KAGtB,uKAA0C,KACxC,sHAAG,4FAAe,MAGtB,wKAA0C,KACxC,sKAAyC,KACvC,iZAAyH,IAE3H,uLAA0D,KACxD,iUAA+K,YAA7H;;wBAA0C;MAA5F,wBAA+K,KAC7K,8KAAiD,mGAAsB,MACvE,2KAA8C,KAGhD,kZAA6H,IAsCnI,uKAA0C,KAC1C,yMAA4E,6RAAwI,YAA3B;;wBAA0B;MAAvI,wBAAwI,iGAAoB,MAK9O,iRAAoH,YAA3B;;wBAA0B;MAAnH,wBAAoH,KAClH,2NAA8F,8EAAC,MAC/F,0MAA6E,KAC3E,oMAAuE,KACrE,0HAAO,KACL,uHAAI,KACF,iKAA0C,uFAAU,MAK5D,6MAA+E,KAC7E,yKAA4C,KAC1C,kZAAgG,IAIlG,wKAA0C,KACxC,2fAAiH,IAE/G,2dAA6D,IAoB/D,2LAA8D,KAC5D,yLAA4D,KAC1D,qIAA2B,KACzB,mKAA4C,KAAC,+OAAmG,YAA1D;;wBAAoC;MAA7E,wBAAmG,mFAAM,MACtJ,mKAA4C,qTAAyJ,YAAzE;;wBAA+B;MAA/G,wBAAyJ,iFAAI,MAQrN,gMAAkE,KAChE,2NAA8F,8EAAC,MAC/F,0MAA6E,KAC3E,oMAAuE,KACrE,0HAAO,KACL,wHAAI,KACF,kKAA0C,sFAAS,MAK3D,8MAA+E,KAC7E,oLAAsD,KAEpD,sNAAwF,KACtF,qPAA6F,YAA1B;;wBAAuB;MAA1F,wBAA6F,KAGjG,mLAAqD,KACnD,ggBAAwF,IAEtF,4dAA6D,IAwCjE,4LAA8D,KAC5D,mZAAyG,IAY7G,yNAAqE,YAAzD;;wBAAgC;MAA5C,8ZAAqE,MACnE,qMAAoE,KAClE,yQAA4I,YAA5F;;wBAAiC;MAAjF,4rBAA4I,MAE9I,wKAA6C,KAC3C,8IAAsB,KAGtB,8IAAsB,KACpB,iUAAoK,YAAzI;;wBAA0B;MAArD,wBAAoK,mFAAM,MAC1K,sTAAuJ,YAA/G;;wBAAwB;MAAhE,wBAAuJ,iFAAI,mDA9R5D,mBAAmB,cAA9G,aAAiH,EAAtB,SAAmB,GAOzG,mBAAgB,WAArB,aAAgH,EAA3G,SAAgB,GAqC0E,mBAAuB,kBAAtH,aAAyH,EAA1B,SAAuB,GAOjH,mBAAoB,eAAzB,aAA4H,EAAvH,SAAoB,GA+CsE,mBAAuB,kBAAtH,aAAyH,EAA1B,SAAuB,GAQvF,mBAAoB,eAAnD,aAA6H,EAA9F,SAAoB,GAyDa,wCAAyB,GAA/F,aAAgG,EAA1B,SAAyB,GAKnC,+BAA2B,EAAvF,aAAiH,EAArD,SAA2B,GAE9E,mBAAqD,gBAA5D,aAA6D,EAAtD,SAAqD,GAmDE,gCAAuB,EAAvF,cAAwF,EAAxB,UAAuB,GAE9E,oBAAqD,eAA5D,cAA6D,EAAtD,UAAqD,GAyCO,oBAAmC,8BAAxG,cAAyG,EAApC,UAAmC,GAYhG,oBAAgC,qBAA5C,cAAqE,EAAzD,UAAgC,GAEvB,oBAA8B,gBAAC,oBAAiC,kBAAjF,cAA4I,EAA3H,UAA8B,EAAC,UAAiC,mDAtFzE,mBAAsB,cAA1B,aAA2B,EAAvB,SAAsB;8GA+H5B,mMAA+H,KAC7H,qPAC4G,YAD/D;;;wBAA4F;MAAzI,wBAC4G,gFAAwB,yDAA9H,4HAAgC,GAAC,sFAAoE,GAD3G,YAC4G,EAAtG,SAAgC,EAAC,SAAoE,GAAC,sEAAwB;8GAHxI,4cAA6F,IAC3F,0dAA+H,iDAD/D,8BAA0B,EAA5F,YAA6F,EAA3B,SAA0B,GACrF,mBAAiD,wBAAtD,YAA+H,EAA1H,SAAiD;8GA0BtD,mMAA0H,KACxH,qPACoG,YADvD;;;wBAAiF;MAA9H,wBACoG,gFAAgB,yDAA9G,gIAA4B,GAAC,0FAAgE,GADnG,YACoG,EAA9F,SAA4B,EAAC,SAAgE,GAAC,sEAAgB;8GAHxH,6dAA2L,IACzL,0dAA0H,iDADgC,kCAA8B,EAA1L,YAA2L,EAA/B,SAA8B,GACnL,mBAA4C,2BAAjD,YAA0H,EAArH,SAA4C;8GAKnD,6dAA4L,IAC1L,mMAA6E,KAC3E,uMAA2E,sGAAyB,2BAFqD,kCAA8B,EAA3L,YAA4L,EAA/B,SAA8B;8GA2BzL,mMAA2H,KACzH,qPACoG,YADvD;;;wBAAiF;MAA9H,wBACoG,gFAAgB,yDAA9G,gIAA4B,GAAC,0FAAgE,GADnG,YACoG,EAA9F,SAA4B,EAAC,SAAgE,GAAC,sEAAgB;8GAHxH,6dAA6L,IAC3L,0dAA2H,iDADiC,kCAA8B,EAA5L,YAA6L,EAA/B,SAA8B,GACrL,mBAA6C,4BAAlD,YAA2H,EAAtH,SAA6C;8GAQpD,6dAA8L,IAC5L,mMAA6E,KAC3E,uMAC0B,sGAAyB,2BAHwG,kCAA8B,EAA7L,YAA8L,EAA/B,SAA8B;8GAyBjM,yHAA6D,KAC3D,qLAAoE,KAClE,oLAAmF,gFAAe,MAClG,2TAEgF,YAF5E;;wBAA+C;MAE/C;;wBAAyC;MAF7C,wBAEgF,kFAEhF,iCANa,mHAAoB,GAAnC,YAAoE,EAArD,SAAoB,GAC7B,6HAA8B,GAAlC,YAAmF,EAA/E,SAA8B,GAAiD,gEAAe,GAC9C,oIAAqC,GAE3C,yHAAiC,GAF/E,YAEgF,EAF5B,SAAqC,EAE3C,SAAiC,GAAC,sEAEhF;8GAsBI,2IAAoD,+LAAuB;8GAC3E,kNAAkI,YAA/H;;wBAAuC;MAA1C,wBAAkI,gCAAnC,gIAAkC,GAAjI,YAAkI,EAAnC,SAAkC;8GANzI,yHAA6D,KAC3D,kJAAkD,KAChD,oLAAoF,gFAAgB,MACpG,sHAAI,KACF,oJAA8B,KAC5B,iZAAoD,IACpD,iZAAkI,yBAD/H,oDAA8B,GAAjC,YAAoD,EAAjD,SAA8B,GACU,oDAA+B,GAA1E,YAAkI,EAAvF,SAA+B,2BAL9D,6HAA+B,GAAjD,YAAkD,EAAhC,SAA+B,GAC3C,6HAA+B,GAAnC,YAAoF,EAAhF,SAA+B,GAAiD,gEAAgB;8GAxIhH,sLAAoF,KAClF,yKAA4C,KAC1C,sKAA0C,KACxC,iVAAqN,KACnN,yJAAmC,uFAAU,MAIjD,gMAAmE,KACjE,0JAAoC,8HAAO,sFAAS,MACpD,4JAAoC,KAClC,uKAA0C,KAExC,sKAAyC,KACvC,kQAA2H,YAAzE;;wBAAyC;MAA3F,wBAA2H,KACzH,+KAAkD,4FAAe,MACjE,qLAAwD,KAE1D,kZAA6F,IAUjG,mLAAsD,KACpD,4SAAkJ,YAAzC;;wBAAwC;MAAjJ,wBAAkJ,KAKxJ,+LAAiE,KAC/D,2JAAoC,+HAAO,4FAAe,MAC1D,4JAAoC,KAClC,uKAA0C,KAExC,6KAAgD,KAC9C,sSAA6J,YAA3G;;wBAA6C;MAA/F,wBAA6J,KAC3J,mLAAsD,kGAAqB,MAC3E,qLAAwD,KAE1D,kZAA2L,IAM3L,kZAA4L,IAShM,mLAAsD,KACpD,6SAAoJ,YAA1C;;wBAAyC;MAAnJ,wBAAoJ,KAM1J,+LAAiE,KAC/D,2JAAoC,+HAAO,4FAAe,MAC1D,4JAAoC,KAClC,uKAA0C,KAExC,6KAAgD,KAC9C,sSAA6J,YAA3G;;wBAA6C;MAA/F,wBAA6J,KAC3J,mLAAsD,mGAAsB,MAC5E,2KAA8C,KAEhD,kZAA6L,IAS7L,kZAA8L,IAUlM,mLAAsD,KACpD,6SAAoJ,YAA1C;;wBAAyC;MAAnJ,wBAAoJ,KAK5J,yKAA4C,KAC1C,uKAA0C,KACxC,kVAAqN,KACnN,0JAAmC,uFAAU,MAGjD,8LAAiE,KAC/D,2fAAiH,IAE/G,2dAA6D,IAenE,yKAA4C,KAC1C,uKAA0C,KACxC,kVAAqN,KACnN,0JAAmC,sFAAS,MAGhD,+LAAkE,KAChE,8fAAwF,IAEtF,2dAA6D,iDApHpD,mBAAmB,cAAxB,aAA6F,EAAxF,SAAmB,GA0BnB,iHAA4F,KAAjG,aAA2L,EAAtL,SAA4F,GAM5F,kHAA6F,KAAlG,aAA4L,EAAvL,SAA6F,GA0B7F,mHAA8F,KAAnG,aAA6L,EAAxL,SAA8F,GAS9F,oHAA+F,KAApG,aAA8L,EAAzL,SAA+F,GAuB9C,+BAA2B,EAAvF,aAAiH,EAArD,SAA2B,GAE9E,mBAAqD,gBAA5D,aAA6D,EAAtD,SAAqD,GAsBE,+BAAuB,EAAvF,aAAwF,EAAxB,SAAuB,GAE9E,mBAAqD,eAA5D,aAA6D,EAAtD,SAAqD;8GAmBpE,2NAAkI,YAAtH;;wBAAqC;MAAjD,ubAAkI,MAChI,4LAE8D,YAA5C;;wBAA2C;MAF7D,mmBAE8D,mDAH+C,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAC7B,iBAAY,EAAC,iCAA2B,EAAC,qCAAqC,EAC9E,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EADpE,YAE8D,EAF5C,SAAY,EAAC,SAA2B,EAAC,SAAqC,EAC9E,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;8GAItE,mOACoE,YADxD;;wBAA6C;MAAzD,ubACoE,MAClE,4LAEsE,YAApD;;wBAAmD;MAFrE,mmBAEsE,mDAHvB,qBAAkB,EADvD,mBAA6C,kCAAzD,YACoE,EAAnB,SAAkB,EADvD,SAA6C,GAErC,iBAAY,EAAC,iCAA2B,EAAC,qCAAqC,EAC9E,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EADpE,YAEsE,EAFpD,SAAY,EAAC,SAA2B,EAAC,SAAqC,EAC9E,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;6GAxetE,gZAA0F,IAsU1F,iZAAoF,IAyJpF,iZAAkI,IAMlI,iZACoE,iDAteX,wCAAgC,GAAzF,YAA0F,EAAjC,SAAgC,GAsUhC,uCAA0B,GAAnF,YAAoF,EAA3B,SAA0B,GAyJjC,mBAA+B,0BAAjF,YAAkI,EAAhF,SAA+B,GAMvB,mBAAuC,kCAAjG,YACoE,EADV,SAAuC;;;;;;;;;;;;;;;;ACtejG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACb;AACN;AACF;AACP;AACY;AACpB;AAEgC;AACV;AACD;AACM;AACJ;AACD;AACpB;AACI;AACN;AAEP;AAGpC;IA0EE,iCAAoB,SAAmB,EAAU,KAAqB,EAAS,eAAgC,EAAU,MAAqB,EAAU,WAAwB,EAAU,WAAyB,EACzM,oBAA0C,EAAU,cAA8B;QAD5F,iBAgCC;QAhCmB,cAAS,GAAT,SAAS,CAAU;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAS,oBAAe,GAAf,eAAe,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,gBAAW,GAAX,WAAW,CAAc;QACzM,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,mBAAc,GAAd,cAAc,CAAgB;QApE5F,cAAS,GAAc,IAAI,2DAAS,EAAE,CAAC;QACvC,iBAAY,GAAmB,IAAI,uEAAc,EAAE,CAAC;QACpD,kBAAa,GAAoB,IAAI,+EAAe,EAAE,CAAC;QACvD,SAAI,GAAc,IAAI,2DAAS,EAAE,CAAC;QAClC,aAAQ,GAAsB,IAAI,oFAAiB,EAAE,CAAC;QACtD,0BAAqB,GAAmB,EAAE,CAAC;QAC3C,6BAAwB,GAAmB,EAAE,CAAC;QAC9C,8BAAyB,GAAmB,EAAE,CAAC;QAC/C,kBAAa,GAAG,EAAE,CAAC;QACnB,iBAAY,GAAG,EAAE,CAAC;QAElB,cAAS,GAAsB,EAAE,CAAC;QAClC,cAAS,GAAG,EAAE,CAAC;QACf,YAAO,GAAY,IAAI,CAAC;QACxB,gBAAW,GAAY,IAAI,CAAC;QAI5B,gCAA2B,GAAY,KAAK,CAAC;QAC7C,cAAS,GAAG,CAAC,CAAC;QACd,gBAAW,GAAY,IAAI,CAAC;QAC5B,uBAAkB,GAAG,KAAK,CAAC;QAG3B,mBAAc,GAAW,CAAC,CAAC;QAC3B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,wBAAmB,GAAY,IAAI,CAAC;QACpC,yBAAoB,GAAY,IAAI,CAAC;QACrC,yBAAoB,GAAY,IAAI,CAAC;QACrC,wBAAmB,GAAY,IAAI,CAAC;QACpC,wBAAmB,GAAY,IAAI,CAAC;QACpC,wBAAmB,GAAY,IAAI,CAAC;QAKpC,0BAAqB,GAA0B,IAAI,mFAAqB,EAAE,CAAC;QAC3E,qBAAgB,GAAqB,IAAI,yEAAgB,EAAE,CAAC;QAE5D,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAG1C,SAAI,GAAW,EAAE,CAAC;QACX,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAC9H,SAAI,GAAG,IAAI,kDAAY,EAAE,CAAC;QAC1B,aAAQ,GAAG,KAAK,CAAC;QACjB,UAAK,GAAU,EAAE,CAAC;QAClB,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,KAAK,CAAC;QACrB,gBAAW,GAAG,KAAK,CAAC;QACpB,oBAAe,GAAG,KAAK,CAAC;QACxB,oBAAe,GAAG,KAAK,CAAC;QACxB,4BAAuB,GAAY,KAAK,CAAC;QACzC,oCAA+B,GAAY,KAAK,CAAC;QAIjD,gBAAW,GAAY,IAAI,CAAC;QAC5B,iBAAY,GAAY,IAAI,CAAC;QAC7B,oBAAe,GAAY,IAAI,CAAC;QAChC,qBAAgB,GAAY,IAAI,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAChC,qBAAgB,GAAY,IAAI,CAAC;QACjC,2BAAsB,GAAY,IAAI,CAAC;QACvC,uBAAkB,GAAY,KAAK,CAAC;QAEpC,gBAAW,GAAW,IAAI,CAAC;QAGzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC;aACpD,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAC7C,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC;aACpD,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAC7C,KAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC;aACnD,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAE7C,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC;aACvD,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAC7C,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC;aACvD,SAAS,CAAC,UAAC,EAAqC;gBAAnC,cAAI,EAAE,UAAE,EAAE,kBAAM,EAAE,kBAAM,EAAE,oBAAO;YAC7C,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC,CAAC,CACH,CAAC;IAEJ,CAAC;IAED,kDAAgB,GAAhB,UAAiB,IAAI;QACnB,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;SACF;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;SACF;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;SAEA;IACL,CAAC;IAED,qDAAmB,GAAnB,UAAoB,IAAI;QACtB,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;SACF;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;SAEF;IACH,CAAC;IACD,+CAAa,GAAb,UAAc,IAAI;QAAlB,iBAgCC;QA/BC,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,WAAS,GAAG,EAAE,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,4CAA4C,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;gBACpE,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzC,WAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,IAAI,cAAc,EAAE;YAEjC,IAAI,WAAS,GAAG,EAAE,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oDAAoD,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC5E,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzC,WAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,WAAS,GAAG,EAAE,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oDAAoD,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC5E,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzC,WAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IACF,wCAAwC;IACvC,iDAAe,GAAf;QAAA,iBAsDC;QApDC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAEzE,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACjC,IAAI,EAAE,GAAG,KAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YAC1C,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC;YAClC,KAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC;YAE9C,KAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,eAAe,CAAC;YACvD,KAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,eAAe;YACtD,KAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,KAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,KAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,IAAI,KAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,EAAE;gBACnH,KAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,EAAE,EAAE,cAAc,EAAE,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,gBAAgB;oBAC9G,KAAI,CAAC,wBAAwB,GAAG,gBAAgB,CAAC;oBACjD,IAAI,KAAI,CAAC,IAAI,IAAI,UAAU,EAAE;wBAC3B,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,KAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,sBAAsB,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBACvJ;yBAAM;wBACL,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,KAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,sBAAsB,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBAC5J;gBACH,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,EAAE,EAAE,KAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,gBAAgB;oBACtI,KAAI,CAAC,yBAAyB,GAAG,gBAAgB,CAAC;oBAElD,IAAI,KAAI,CAAC,IAAI,IAAI,UAAU,EAAE;wBAC3B,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC;wBACtE,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,sBAAsB,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBACxJ;yBAAM;wBACL,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,sBAAsB,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBAC7J;oBACD,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;gBAGH,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;gBAElE,iCAAiC;gBAC/B,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACnE,GAAG;gBAEH,IAAI,OAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5B,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;wBAC9B,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,OAAO,CAAC,kBAAkB,EAAlC,CAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBAClJ;yBAAM;wBACL,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,OAAO,CAAC,kBAAkB,EAAlC,CAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;qBACvJ;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAGV;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAQ,GAAR;QAAA,iBAcC;QAbC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAE;YAC1C,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;YAC/C,KAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,KAAI,CAAC,WAAW,KAAK,IAAI,IAAI,KAAI,CAAC,WAAW,KAAK,SAAS,IAAI,KAAI,CAAC,WAAW,KAAK,EAAE,EAAE;gBAC1F,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;aAClC;iBAAM;gBAEL,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;gBACnZ,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACtZ,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,oDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;QACzE,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;IAChF,CAAC;IACD,oBAAoB;IACpB,KAAK;IACL,kDAAkD;IAClD,4DAA4D;IAC5D,+CAA+C;IAE/C,kCAAkC;IAClC,oCAAoC;IACpC,oCAAoC;IACpC,GAAG;IACH,mBAAmB;IAEnB,oCAAoC;IACpC,qCAAqC;IACrC,oCAAoC;IACpC,GAAG;IACH,6CAAW,GAAX;QAEE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC,CAAC;YACjG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iDAAiD,CAAC,CAAC;YAClF,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iDAAiD,CAAC,CAAC;QAC7F,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IACD,sDAAoB,GAApB,UAAqB,QAAQ;QAA7B,iBA4BC;QA1BC,IAAI,CAAC,GAAG,OAAO,CAAC,oDAAoD,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,QAAQ,IAAI,QAAQ,EAAE;gBACxB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0CAA0C,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBAClE,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBAEF,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;aACpE;iBACI,IAAI,QAAQ,IAAI,kBAAkB,EAAE;gBACvC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBACtE,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aACvD;YACD,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7E,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpF,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAE3F,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,0DAAwB,GAAxB;QAAA,iBAmBC;QAjBC,IAAI,CAAC,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0CAA0C,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;gBAClE,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAE;gBACtC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB;YACpE,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7E,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,iBAAiB,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpF,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;SAEJ;IACH,CAAC;IAED,kDAAgB,GAAhB;QAAA,iBAkBC;QAjBC,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;QAChF,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE;YACvE,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACtE,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5F,KAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,KAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBAC5G,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,oDAAkB,GAAlB;QACE,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,8CAAY,GAAZ;QAAA,iBAwBC;QAtBC,IAAI,CAAC,QAAQ,GAAG,IAAI,oFAAiB,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9C,kFAAkF;QAClF,iFAAiF;QACjF,iFAAiF;QACjF,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE;YACvE,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;gBACrE,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;oBACtE,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACxF,KAAI,CAAC,kBAAkB,GAAG,CAAC,KAAI,CAAC,kBAAkB,CAAC;oBACnD,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;oBACzB,KAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;wBAC5G,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;oBAC/B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,KAAK,CAAC,wCAAwC,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IACD,6CAAW,GAAX;QACE,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAC;QACzE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,iDAAe,GAAf;QACE,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,qCAAqC;YACrC,iCAAiC;YACjC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;YACnF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,KAAK,CAAC,wBAAwB,CAAC,CAAC;SACjC;IACH,CAAC;IAED,iDAAe,GAAf;QACE,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE;YAEpC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC5E,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;YAC7D,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;YACnF,IAAI,CAAC,YAAY,GAAG,IAAI;SAEzB;aAAM;YACL,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACvC;IACH,CAAC;IAED,iDAAe,GAAf,UAAgB,eAAe;QAA/B,iBAoCC;QAlCC,IAAI,eAAe,IAAI,cAAc,EAAE;YACrC,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;YACrE,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;YACrE,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;SACpD;QAED,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACxD,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,IAAI,EAAG;YAChF,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,eAAe,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACjE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1F,2BAA2B;gBAC3B,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC7D,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC7D,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAC;gBAC7E,kCAAkC;gBAClC,IAAI,eAAe,IAAI,cAAc,EAAE;oBACrC,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBACpC;qBAAM,IAAI,eAAe,IAAI,cAAc,EAAE;oBAC5C,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBACpC;gBACD,wBAAwB;gBACxB,uBAAuB;gBACvB,kCAAkC;gBAClC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9B,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE/B,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,CAAC,mDAAmD,CAAC;SAC3D;IACH,CAAC;IACD,kDAAgB,GAAhB,UAAiB,eAAe;QAAhC,iBAmCC;QAjCC,IAAI,eAAe,IAAI,cAAc,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,iBAAiB,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;SACrD;aACI;YACH,IAAI,CAAC,aAAa,CAAC,iBAAiB,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;SACrD;QAED,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACjE,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,IAAI,EAAE;YACzF,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAEnE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wCAAwC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5F,2BAA2B;gBAC3B,+DAA+D;gBAC/D,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC9D,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC5E,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC7D,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAC;gBAC7E,qCAAqC;gBACrC,KAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBACnC,wBAAwB;gBACxB,uBAAuB;gBACvB,kCAAkC;gBAClC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9B,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC/B,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,CAAC,0DAA0D,CAAC,CAAC;SACnE;IACH,CAAC;IACD,oDAAkB,GAAlB;QAAA,iBA4BC;QA1BC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,CAAC;QAE3D,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC1E,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtF,KAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,wBAAwB;oBACxB,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAC;oBACzE,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC/B,KAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,8BAA8B;oBAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9B,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC3B,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,KAAK,CAAC,KAAI,CAAC,SAAS,CAAC,aAAa,GAAG,iBAAiB,CAAC;aACxD;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,qDAAmB,GAAnB;QAAA,iBAgDC;QA9CC,IAAI,KAAK,GAAG,IAAI,gFAAe,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAE;gBACvB,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7D,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE3D,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE;oBACjF,4CAA4C;oBAC5C,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,sBAAsB,CAAC;oBAC5C,KAAK,CAAC,aAAa,GAAG,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3C,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3E,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1E,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE;wBACxB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAC5B;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,GAAG,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,EAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;gBAC5H,IAAI,KAAK,GAAG,IAAI,gFAAe,EAAE,CAAC;gBAClC,2FAA2F;gBAC3F,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;gBACb,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1E,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE;oBAEnG,4CAA4C;oBAC5C,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC;oBAC5C,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC5B;aACF;SAEF;QAED,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACjE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACnF,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YAEpB,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YACxD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oDAAkB,GAAlB,UAAmB,eAAe,EAAE,MAAM;QAA1C,iBAmBC;QAlBC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACnG,KAAI,CAAC,aAAa,GAAG,WAAW,CAAC;YAEjC,IAAI,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;gBAChH,KAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3E,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;aACzI;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,EAAE;YACnD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;aACI,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IAEH,CAAC;IACD,0DAAwB,GAAxB,UAAyB,eAAe;QAAxC,iBA0BC;QAzBC,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,eAAe,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,gBAAgB;YAC3H,KAAI,CAAC,wBAAwB,GAAG,gBAAgB,CAAC;YACjD,IAAI,KAAI,CAAC,IAAI,IAAI,WAAW,EAAE;gBAC5B,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;gBACnF,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC5E,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC7D,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;aACpF;iBACI;gBACH,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;gBACxF,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;aACzF;YACD,KAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,KAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,IAAI,EAAE;gBACvD,KAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,cAAc,CAAC;gBAC/E,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;aAC/G;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7C,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAC/B;IACH,CAAC;IACD,0DAAwB,GAAxB,UAAyB,eAAe;QAAxC,iBAmBC;QAlBC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,eAAe,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,gBAAgB;YACzI,KAAI,CAAC,yBAAyB,GAAG,gBAAgB,CAAC;YAClD,IAAI,KAAI,CAAC,IAAI,IAAI,WAAW,EAAE;gBAC5B,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC5E,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC7D,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;aACpF;iBAAM;gBACL,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;aACzF;YAED,KAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAChC,IAAI,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,IAAI,EAAE;gBACvD,KAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,cAAc,CAAC,CAAC;gBAChF,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;aAC/G;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iDAAe,GAAf,UAAgB,UAAU;QACxB,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QACrD,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAC1D,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;YAC7E,CAAC,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;QACpF,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACpD,sEAAsE;QACtE,8EAA8E;QAC9E,8EAA8E;QAC9E,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAgB,GAAhB,UAAiB,UAAU,EAAE,GAAG;QAAhC,iBA+CC;QA9CC,IAAI,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE;YAC5B,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;SACvD;aAAM;YACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;SACxD;QACD,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;QAC7E,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;YACzF,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;QAChG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC9F,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,EAAhB,CAAgB,CAAC,CAAC;YACpE,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;gBAC5D,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;oBACvH,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC9H,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;YAED,KAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACvF,IAAI,QAAQ,IAAI,IAAI,EAAE;oBACpB,KAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC;oBAC9C,IAAI,IAAI,GAAG,KAAI,CAAC;oBAChB,4BAA4B;oBAC5B,8FAA8F;oBAC9F,mGAAmG;oBACnG,WAAW;iBACZ;qBACI;oBACH,KAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,KAAI,CAAC,cAAc,CAAC;oBAC/C,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC;oBACpD,KAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC9C,KAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,KAAI,CAAC,sBAAsB,CAAC;oBACpE,KAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,KAAI,CAAC,sBAAsB,CAAC;oBACpE,KAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,KAAI,CAAC,kBAAkB,CAAC;oBAE3D,IAAI,GAAG,IAAI,OAAO,EAAE;wBAClB,KAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBACnF,CAAC,CAAC,CAAC;qBACJ;iBACF;YACH,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAW,GAAX;QACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAED,sCAAI,GAAJ,UAAK,IAAI,EAAE,QAAQ;QACjB,0BAA0B;QAC1B,IAAI,IAAI,IAAI,CAAC,EAAE;YACb,IAAI,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACpC;QACD,CAAC,CAAC,UAAU,CAAC;YAEX,wDAAwD;YACxD,IAAI,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE;gBAC5B,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;aACzD;iBACI;gBACH,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;aAC1D;YACD,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC7C,IAAI,IAAI,IAAI,CAAC,EAAE;gBACb,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;aAC7D;YAED,+BAA+B;YAC/B,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YACnE,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6CAA6C,CAAC;YAC/F,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,eAAe,EAAE;gBAC/D,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;aAClC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAGD,2CAAS,GAAT,UAAU,MAAM,EAAE,IAAI,EAAE,QAAQ;QAE9B,IAAI,MAAM,GAAG,CAAC,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,EAArC,CAAqC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;aACxD;SACF;aACI;YACH,IAAI,QAAQ,IAAI,MAAM,EAAE;gBAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;aAAE;SAE3E;QAED,IAAI,QAAQ,IAAI,MAAM,EAAE;YACtB,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW,GAAG,KAAK;SACzB;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAG3B,CAAC;IAED,mDAAiB,GAAjB;QAAA,iBAQC;QAPC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;YAC5F,KAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC;YACxC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,EAAC;gBACvD,KAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,UAAU,CAAC;gBAC7E,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;aAC1G;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+CAAa,GAAb,UAAc,UAAU;QACtB,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACnC,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,0CAA0C,CAAC,CAAC;IAGxF,CAAC;IACD,8CAAY,GAAZ,UAAa,UAAU;QAAvB,iBAYC;QAXC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACtD,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,UAAU,CAAC;YAEX,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;YACvE,gFAAgF;QAClF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEX,CAAC;IACD,4CAAU,GAAV,UAAW,EAAE,EAAE,MAAM;QAEnB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,MAAM,IAAI,CAAC,EAAE;YACf,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SACxB;QAED,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;QAC9E,0BAA0B;QAC1B,8KAA8K;QAC9K,QAAQ;QACR,sBAAsB;QACtB,0EAA0E;QAC1E,oBAAoB;QACpB,kFAAkF;QAClF,mGAAmG;QAEnG,+DAA+D;QAC/D,SAAS;QACT,KAAK;QACL,GAAG;QACH,QAAQ;QACR,4EAA4E;QAC5E,oBAAoB;QACpB,kFAAkF;QAClF,kGAAkG;QAElG,+DAA+D;QAC/D,SAAS;QACT,KAAK;QACL,GAAG;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,oDAAkB,GAAlB,UAAmB,GAAG;QAAtB,iBAUC;QATC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACjG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;gBAEzF,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,sBAAsB,EAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;SACN;QACC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IAEzC,CAAC;IACD,4DAA0B,GAA1B,UAA2B,GAAG;QAA9B,iBAWC;QAVC,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACvE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iCAAiC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrF,KAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,KAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBAChG,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;IAE/C,CAAC;IACD,+CAAa,GAAb,UAAc,IAAI;QAEhB,yBAAyB;QACzB,qCAAqC;QACrC,kCAAkC;QAClC,qCAAqC;QACrC,kCAAkC;QAClC,qCAAqC;IACvC,CAAC;IAED,gDAAc,GAAd;QACE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,oFAAiB,EAAE,CAAC;IAC1C,CAAC;IACD,+CAAa,GAAb,UAAc,IAAI;QAEhB,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SAC7B;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SACjC;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SACjC;IACH,CAAC;IAED,+CAAa,GAAb,UAAc,MAAM,EAAE,IAAI;QAExB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;YACjC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;YACrC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;YACrC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;aACzD;iBACI;gBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;aACzD;SACF;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,kDAAgB,GAAhB,UAAiB,MAAM,EAAE,IAAI;QAE3B,2CAA2C;QAC3C,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;YACjC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;YACrC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;YACrC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;aACzD;iBACI;gBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;aACzD;SACF;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,8CAAY,GAAZ,UAAa,aAAa,EAAE,YAAY;QAEtC,WAAW;QACX,+BAA+B;QAC/B,KAAK;QACL,kDAAkD;QAClD,4DAA4D;QAN9D,iBAsFC;QA9EC,sDAAsD;QACtD,6DAA6D;QAC7D,qCAAqC;QACrC,oCAAoC;QACpC,KAAK;QACL,0EAA0E;QAC1E,wCAAwC;QACxC,KAAK;QACL,wFAAwF;QACxF,+BAA+B;QAC/B,OAAO;QACP,GAAG;QAEH,gBAAgB;QAGhB,IAAI,YAAY,IAAI,UAAU,EAAE;YAE9B,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;YACxC,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,EAAE;gBACjE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,iBAAO;oBACxC,IAAI,OAAO,CAAC,EAAE,IAAI,KAAI,CAAC,kBAAkB,EAAE;wBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC5C,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;wBACxC,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;wBACjC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;qBAC1B;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;aACF;iBACI;gBACH,KAAK,CAAC,0BAA0B,CAAC;aAClC;SAEJ;aACI,IAAI,YAAY,IAAI,cAAc,EAAE;YACvC,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC;YAC5C,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE;gBAC3E,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,iBAAO;oBAC3C,IAAI,OAAO,CAAC,EAAE,IAAI,KAAI,CAAC,sBAAsB,EAAE;wBAC7C,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAChD,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;wBAC5C,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;wBAClC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;qBAC9B;gBACH,CAAC,CAAC,CAAC;gBACH,iFAAiF;gBACjF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBAC1B;aACF;iBACI;gBACH,KAAK,CAAC,8BAA8B,CAAC;aACtC;SACF;aACI,IAAI,YAAY,IAAI,cAAc,EAAE;YACvC,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC;YAC5C,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE;gBAC3E,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,iBAAO;oBAC5C,IAAI,OAAO,CAAC,EAAE,IAAI,KAAI,CAAC,sBAAsB,EAAE;wBAC7C,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAChD,KAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;wBAC5C,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;wBAClC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;qBAC9B;gBACH,CAAC,CAAC,CAAC;gBACL,mFAAmF;gBACjF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBAC1B;aACF;iBAAM;gBACL,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACvC;SACF;IAGH,CAAC;IACD,gDAAc,GAAd;QACE,gCAAgC;QAChC,gCAAgC;QAChC,+BAA+B;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAC;QACzE,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;QACnF,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;QAC7D,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;QACnF,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;QACpC,gCAAgC;QAChC,oCAAoC;QACpC,oCAAoC;IACtC,CAAC;IAED,+CAAa,GAAb,UAAc,GAAG;QAAjB,iBAmEC;QAlEC,QAAQ,GAAG,EAAE;YACX,KAAK,eAAe;gBAAE;oBACpB,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE;wBACxE,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;wBAC5B,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAC;wBAC9E,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;wBAC9C,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;qBAC1B;yBAAM;wBACL,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE;4BACpC,KAAK,CAAC,4BAA4B,CAAC,CAAC;yBACrC;6BAAM,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAC;4BAC1C,KAAK,CAAC,4BAA4B,CAAC,CAAC;yBACrC;qBACF;oBACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;iBAC1B;gBAAA,CAAC;gBACA,MAAM;YAER,KAAK,gBAAgB;gBAAE;oBACrB,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE;wBACpC,KAAK,CAAC,4BAA4B,CAAC,CAAC;qBACrC;yBAAM;wBACL,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;wBAChC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;wBACxF,YAAY,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;wBAC/C,YAAY,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;wBACjD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;qBAC9B;oBACD,4CAA4C;oBAC5C,wCAAwC;oBACxC,SAAS;oBACT,kCAAkC;oBAClC,GAAG;iBAEJ;gBAAA,CAAC;gBACA,MAAM;YAER,KAAK,gBAAgB;gBAAE;oBACrB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;oBAChC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC;oBACxF,YAAY,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;oBAC/C,YAAY,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;oBACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC7B,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;wBACpH,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;wBAC7B,KAAI,CAAC,gBAAgB,GAAG,IAAI,yEAAgB,EAAE,CAAC;wBAC/C,KAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,KAAI,CAAC,cAAc,CAAC;wBAC/C,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC;wBACpD,KAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,KAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;wBACpE,KAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,KAAI,CAAC,sBAAsB,CAAC;wBACpE,KAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,KAAI,CAAC,sBAAsB,CAAC;wBACpE,KAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,KAAI,CAAC,kBAAkB,CAAC;wBAE3D,KAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;4BACjF,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4BAC1B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;wBAC3B,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBAGJ;gBAAA,CAAC;gBACA,MAAM;SACT;IACH,CAAC;IACD,0CAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,cAAc,EAAE;YACrC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;SACjC;IACH,CAAC;IAED,4CAAU,GAAV,UAAW,IAAI;QACb,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACtB,wEAAwE;SACxE;aAAM,IAAI,IAAI,IAAI,cAAc,EAAE;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,2EAA2E;SAC5E;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC1B,4EAA4E;SAC5E;IAEH,CAAC;IAED,6CAAW,GAAX,UAAY,KAAK,EAAE,IAAI;QAErB,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;YACtE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;aAAM,IAAI,IAAI,IAAI,cAAc,EAAE;YACjC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1E,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC;YACtE,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC1E,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;IAEH,CAAC;IACD,gDAAc,GAAd,UAAe,KAAK,EAAE,IAAI;QACxB,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC3E,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACrD,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aAAM,IAAI,IAAI,IAAI,cAAc,EAAE;YACjC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC/E,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC/E,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;IAEH,CAAC;IACD,wCAAM,GAAN,UAAO,EAAE,EAAE,IAAI;QAAf,iBA2CC;QA1CC,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,gBAAgB;gBAC9G,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,KAAK,CAAC,yCAAyC,CAAC,CAAC;iBAClD;qBACI;oBACH,KAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC5D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC1F,KAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC3B,CAAC,CAAC,CAAC;iBACJ;YAEH,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,IAAI,cAAc,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,gBAAgB;gBACvH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,KAAK,CAAC,0DAA0D,CAAC,CAAC;iBACnE;qBACI;oBACH,KAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC5D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC1F,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC;oBAEzD,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,IAAI,IAAI,cAAc,EAAE;YAE/B,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa;gBACnF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,KAAK,CAAC,oDAAoD,CAAC,CAAC;iBAC7D;qBACI;oBACH,KAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC5D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC1F,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC;oBACzD,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SAEJ;IACH,CAAC;IACD,0CAAQ,GAAR,UAAS,SAAS,EAAE,EAAE,EAAE,QAAQ;QAC9B,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,QAAQ,EAAE;YACZ,CAAC,CAAC,GAAG,GAAG,EAAE,GAAE,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;SAC9D;aAAK;YACJ,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;SACjE;IACH,CAAC;IACD,uCAAK,GAAL;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,iCAAiC;QACjC,+CAA+C;IAEjD,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8QC5wCD,yKAA4C,KAE1C,gLAAoD,KAClD,8LAAoH,YAA/C;;wBAA8C;MAAnH,47BAAoH,MAGtH,kLAAsD,KACpD,4MAAgF,KAC9E,0MAAoF,iGAA4B,MAIpH,+KAAkD,KAChD,+VAWqD,YALpC;;wBAAuC;MACvC;;wBAAmC;MAEnC;;wBAAuC;MACvC;;wBAAiD;MACjD;;wBAAmC;MAXpD,0pDAWqD,mDArBrC,qBAAoB,EAAC,mBAA+B,gBAApE,YAAoH,EAApG,SAAoB,EAAC,SAA+B,GAWnD,mBAA8B,iBAG9B,mBAAmB,UAFnB,mBAA4B,gBAC5B,mBAAwD,yCAExD,mBAAmB,UAGnB,oBAAkC,EARnD,aAWqD,EAVpC,SAA8B,EAG9B,SAAmB,EAFnB,SAA4B,EAC5B,SAAwD,EAExD,SAAmB,EAGnB,SAAkC,mDAbmC,oDAA4B;;;;;;;;;;;;;;;;ACRtH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkE;AACQ;AAGV;AACR;AAEb;AACc;AAExB;AAC4C;AAEtB;AACZ;AACyB;AAKpE;IA4CE,sBAAoB,aAA4B,EAAU,MAAqB,EAAU,eAAgC,EAAU,iBAAsC,EAChK,oBAA0C,EAAU,MAAc,EAAU,KAAqB,EAAU,cAA+B;QAD/H,kBAAa,GAAb,aAAa,CAAe;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAChK,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,mBAAc,GAAd,cAAc,CAAiB;QAnCnJ,iBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAe,GAAG,EAAE,CAAC;QAErB,aAAQ,GAAW,MAAM,CAAC;QAC1B,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QAEnB,eAAU,GAAG,EAAE,CAAC;QAChB,sBAAiB,GAAG,OAAO,CAAC;QAC5B,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,YAAO,GAAoB,EAAE,CAAC;QAIvB,UAAK,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7G,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,sFAAsF;QACrK,yBAAoB,GAAW,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE1G,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,6CAA6C;QAC3I,uBAAkB,GAAW,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QAInI,gBAAW,GAAW,CAAC,CAAC;QACxB,oBAAe,GAAmB,EAAE,CAAC;QACrC,aAAQ,GAAW,CAAC,CAAC;QACrB,aAAQ,GAAW,CAAC,CAAC;QACrB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,uBAAkB,GAAW,CAAC,CAAC;QAC/B,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAG,EAAE,CAAC;QAIlB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,IAAI,KAAK;IAC5B,CAAC;IACD,sCAAe,GAAf;QACE,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,UAAU,CAAC,cAAc,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,kCAAW,GAAX;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IACnI,CAAC;IACD,kCAAW,GAAX,UAAY,IAAI;QACd,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE;YAC9B,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACnC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/C,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAI,IAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,OAAU,IAAI,SAAI,GAAG,SAAI,IAAM;SAChC;IAEH,CAAC;IAED,0CAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBAwCC;QAvCC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,OAAO,GAAa,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,qBAAqB,GAAU,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE;gBAEjJ,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxE;SACF;QACD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;QACnE,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAuB,CAAC;QAC5B,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhH,CAAC,CAAC;SAEH;aACI;YACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACxF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE;oBACnD,IAAI,kBAAuB,CAAC;oBAC5B,kBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,kBAAgB,CAAC,OAAO,CAAC,aAAG;wBAC1B,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEhH,CAAC,CAAC;iBACH;qBAAM;oBACL,KAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG;wBAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE;qBACpD,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,8BAAO,GAAP,UAAQ,QAAQ,EAAE,MAAM;QAAxB,iBA2BC;QA1BC,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,uBAAuB;YACzI,uBAAuB,CAAC,OAAO,CAAC,kBAAQ;gBACtC,QAAQ,CAAC,YAAY,GAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC9D,IAAI,QAAQ,GAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC;gBAC9D,QAAQ,CAAC,IAAI,GAAE,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC9E,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAEvF,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;YACvC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACnF,KAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC;YAC1C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/C,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;YACpE,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAE1G,OAAO,CAAC,aAAa,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;gBAE9D,OAAO,CAAC,aAAa,CAAC,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnE,OAAO,CAAC,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;YAC/E,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEhD,CAAC;IACD,+BAAQ,GAAR;QAAA,iBAwFC;QAtFC,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE;gBACnE,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;aACtC;YACD,IAAI,KAAI,CAAC,SAAS,IAAI,OAAO,EAAE;gBAC7B,KAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,GAAG,KAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC/F,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC;gBACpC,KAAI,CAAC,oBAAoB,GAAG,QAAQ,GAAG,KAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/H,KAAI,CAAC,kBAAkB,GAAE,MAAM,GAAG,KAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACxH,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;aACxB;iBACI,IAAI,KAAI,CAAC,SAAS,IAAI,WAAW,EAAE;gBACtC,KAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,GAAG,KAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACrG,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,YAAY,CAAC;gBACpC,KAAI,CAAC,oBAAoB,GAAG,QAAQ,GAAG,KAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACrI,KAAI,CAAC,kBAAkB,GAAG,MAAM,GAAG,KAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC3H,KAAI,CAAC,OAAO,GAAG,WAAW,CAAC;aAC5B;iBACI,IAAI,KAAI,CAAC,SAAS,IAAI,QAAQ,EAAE;gBACnC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;gBACpB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3C,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;gBACrB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,KAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7E,KAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1E,KAAI,CAAC,oBAAoB,GAAG,QAAQ,GAAG,KAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACjI,KAAI,CAAC,kBAAkB,GAAG,MAAM,GAAG,KAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;aAE1H;iBACI;gBACH,KAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC;gBAC1D,KAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC;gBAAA,CAAC;gBACzD,KAAI,CAAC,oBAAoB,GAAG,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvF,KAAI,CAAC,kBAAkB,GAAG,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC7E,KAAI,CAAC,OAAO,GAAG,cAAc,CAAC;aAC/B;YACD,KAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC;YACvD,KAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC;YACnD,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YAC7Z,KAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAEpD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,kBAAkB;YACjC,eAAe,EAAE,oBAAoB;YACrC,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QAEF,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,EAAE;YACpG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aACrE,CAAC;YACF,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;YAC7C,yCAAyC;YACzC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;IAC7D,CAAC;IAED,iDAA0B,GAA1B;QAAA,iBAKC;QAHC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,uCAAgB,GAAhB;QAAA,iBAkCC;QAjCC,IAAI,CAAC,cAAc,GAAgB;YACjC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/D,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YAED,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,KAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YAChI,KAAI,CAAC,oBAAoB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClM,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;YACpH,KAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACxL,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YACxC,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,aAAa,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAgB,GAAhB,UAAiB,gBAAwB;QAEvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;oBACtB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;iBACjD,CAAC,CAAC;aAEJ;SACF;aAAM;YACL,IAAI,CAAC,aAAa,GAAG;gBAEnB,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;gBACzF,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBACnF,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC1E,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC/D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7E,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACxE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACtE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACxE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;aACzE,CAAC;SACH;IACH,CAAC;IACD,iCAAU,GAAV,UAAW,KAAK;QAChB,kDAAkD;QAChD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACpD,+EAA+E;QAC9E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IACD,4CAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,8CAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,mCAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE1B,CAAC;IACD,qCAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,kCAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE1B,CAAC;IACD,oCAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,uCAAgB,GAAhB;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,wCAAiB,GAAjB,UAAkB,GAAG;QAEnB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAC/B,CAAC;IACD,2CAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,KAAK,CAAC;QAEzD,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC;QAAA,CAAC;QACzD,IAAI,CAAC,oBAAoB,GAAG,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvF,IAAI,CAAC,kBAAkB,GAAG,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7E,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnD,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAC3C,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACxE,IAAI,IAAE,GAAG,IAAI,CAAC;YACd,CAAC,CAAC,UAAU,CAAC;gBACX,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACpD,CAAC,CAAC,UAAU,CAAC;oBACX,IAAE,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;oBACzD,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBACvD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC7C,IAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,UAAU,CAAC;gBACrD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAET;aACI,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iCAA+B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,YAAS,CAAC,CAAC;SACrG;aACI,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,aAAa,EAAE;YACpD,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAuC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,SAAI,IAAI,eAAY,CAAC,CAAC;SACxH;aACI,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAE,SAAS,EAAE;YAC9F,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6CAA2C,QAAQ,CAAC,IAAI,CAAC,kBAAkB,SAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,UAAO,CAAC,CAAC;SAC3I;aACI,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;YAChG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,6CAA2C,QAAQ,CAAC,IAAI,CAAC,kBAAkB,SAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,UAAO,CAAC,CAAC;SAC3I;aACI,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAChD,uGAAuG;YACvG,kGAAkG;YAElG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAExE,IAAI,IAAE,GAAG,IAAI,CAAC;YACd,CAAC,CAAC,UAAU,CAAC;gBACX,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACpD,CAAC,CAAC,UAAU,CAAC;oBACX,IAAE,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;oBAC/D,IAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;gBACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;IACH,CAAC;IAED,oCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IACD,kCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IACD,oCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAED,2CAAoB,GAApB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC1E,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IAED,4BAAK,GAAL,UAAM,GAAG;QACP,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,2BAAI,GAAJ,UAAK,GAAG;QACN,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/C;IACH,CAAC;IACD,2BAAI,GAAJ,UAAK,GAAG;QACN,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/C;IAEH,CAAC;IACD,2BAAI,GAAJ,UAAK,GAAG;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,oCAAa,GAAb,UAAc,GAAG;QAEf,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IAED,gCAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAC3B,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAC/F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjI,IAAI,CAAC,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;YACzH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;aACI,IAAI,GAAG,IAAI,oBAAoB,EAAE;YACpC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvI,IAAI,CAAC,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC7H,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;SAC5B;aACI,IAAI,GAAG,IAAI,gBAAgB,EAAE;YAChC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,oBAAoB,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjI,IAAI,CAAC,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;SAE1H;aACI,IAAI,GAAG,IAAI,iBAAiB,EAAE;YACjC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChG,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClG,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;SAC1B;aACI;YACH,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC;YAC1D,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC;YAAA,CAAC;YACzD,IAAI,CAAC,oBAAoB,GAAG,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvF,IAAI,CAAC,kBAAkB,GAAG,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC7E,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;SAC/B;QACD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IACrD,CAAC;IACD,oCAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,2CAAoB,GAApB,UAAqB,QAA6B;QAChD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC/F,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpC,iCAAiC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,GAAG;SACJ;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,4BAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC;IAE7D,CAAC;IACH,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGCnlBW,wHAAkC;mGAIhC,wHAAgC,6OAAwG,YAAhG;;wBAA+C;MAAvD,wBAAwG,2KAA0C;mGAClL,wHAAgC,KAAC,uOAAuG,YAA/F;;wBAA+C;MAAvD,wBAAuG,0KAAyC;mGAHnL,wHAAkC,KAChC,wHAAM,6OAA+F,YAAvF;;wBAAsC;MAA9C,wBAA+F,4KAA2C,KAChJ,sYAAgC,IAChC,sYAAgC,yBAD1B,kEAAyB,GAA/B,YAAgC,EAA1B,SAAyB,GACzB,kEAAyB,GAA/B,YAAgC,EAA1B,SAAyB;mGANnC,qNAAiJ,KAC/I,sYAAkC,IAElC,sYAAkC,yBAF5B,2DAA2B,GAAjC,YAAkC,EAA5B,SAA2B,GAE3B,2DAA2B,GAAjC,YAAkC,EAA5B,SAA2B,2BAHS,mIAAyB,GAArE,YAAiJ,EAArG,SAAyB;mGALvE,qIAA6D,KAC3D,oLAA2E,gFAAW,MACtF,mQAAwI,YAAtC;;wBAAqC;MAAvI,wBAAwI,kFAExI,MACA,sYAAiJ,iDAA7I,+CAAuC,wBAA3C,YAAiJ,EAA7I,SAAuC,2BAJvC,yHAAsB,GAA1B,YAA2E,EAAvE,SAAsB,GAAiD,gEAAW,GAClF,2HAAwB,GAA5B,YAAwI,EAApI,SAAwB,GAA4G,sEAExI;mGApCV,yNAA4F,KAC1F,mMAAsE,KACpE,6JAAsC,KACpC,sHAAI,KACF,0KAAoD,kFAAK,MACzD,2LAAqE,KACnE,yLAA6D,KAC3D,mRAAyH,YAAtB;;wBAAqB;MAAxH,wBAAyH,qFAAQ,MAEnI,gPAAmH,KACjH,8UAA8K,YAAvB;;wBAAsB;MAA7K,wBAA8K,8EAAC,MAMzL,kPAA2J,KACzJ,6RAAyH,YAAnB;;wBAAiB;MAAvH,wBAAyH,KACzH,4MAA2F,KACzF,yKAA4C,KAC1C,+OAA0F,YAAjD;;wBAA2B;MAApE,wBAA0F,mFAAM,MAElG,yKAA4C,KAC1C,kSAAsI,YAApE;;wBAAoB;MAAtF,wBAAsI,iFAAI,MAKhJ,2MAAmJ,KACjJ,sfAAwG,IAEtG,6ZAA+B,IAC7B,gdAA6D,IAmBnE,0JAAmC,KACjC,qIAAwB,KACtB,mJAA4B,KAAE,+OAAqF,YAA5C;;wBAAsB;MAA/D,wBAAqF,mFAAM,MACzH,oJAA6B,2TAAoJ,YAApE;;wBAAoB;MAApG,wBAAoJ,iFAAI,mDAzB1H,2BAAuB,EAApF,aAAwG,EAA3C,SAAuB,GAE3E,2BAAuB,EAA9B,aAA+B,EAAxB,SAAuB,GACb,mBAA6C,YAA5D,aAA6D,EAA9C,SAA6C,mDAhBiB,mBAAuB,eAAC,uDAA+C,GAA1J,aAA2J,EAAxE,SAAuB,EAAC,SAA+C,GAEvF,mBAAyB,iBAA1F,aAA2F,EAA1B,SAAyB,GAUxB,4FAA8E,IAAlJ,aAAmJ,EAA/E,SAA8E,GAwB5I,oBAAmB,UAAvB,aAAwB,EAApB,SAAmB;;;;;;;;;;;;;;;;ACpD3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACrB;AACf;AAEa;AACqB;AAClC;AACyB;AACpE;IAkBE,uBAAoB,WAAwB,EAAU,MAAqB,EAAU,eAAgC;QAAjG,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAZrH,cAAS,GAAmB,EAAE,CAAC;QAE/B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,YAAO,GAAG,EAAE,CAAC;QAEb,cAAS,GAAG,CAAC,CAAC;QACd,iBAAY,GAAY,IAAI,CAAC;QAC7B,mBAAc,GAAY,IAAI,CAAC;QAC/B,YAAO,GAAY,KAAK,CAAC;QACzB,0BAAqB,GAA0B,IAAI,0FAAqB,EAAE,CAAC;QAE3E,SAAI,GAAS,IAAI,wDAAI,EAAE,CAAC;QAEtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,gCAAQ,GAAR;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,mCAAW,GAAX;QAAA,iBAIC;QAHC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC/D,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4BAAI,GAAJ,UAAK,IAAI,EAAE,QAAQ;QAEf,CAAC,CAAC,UAAU,CAAC;YAEX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;YACtD,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC;YAC1F,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC;YAEhG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;YAC1D,kBAAkB;YAClB,gEAAgE;YAChE,GAAG;YAEH,+BAA+B;YAC/B,qDAAqD;YACrD,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YACrE,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAEtE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,eAAe,EAAE;gBAC/D,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;aAClC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAE3B,CAAC;IAED,kCAAU,GAAV;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,gCAAQ,GAAR;QAAA,iBAwBC;QAvBC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;SACrD;QAGD,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAQ;YAEvE,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACrB,KAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;oBACrD,KAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,KAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,CAAC,CAAC,CAAC;aAEA;iBAAM;gBACL,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACjC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACnB,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,uCAAe,GAAf;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,6BAAK,GAAL;QACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,gCAAQ,GAAR;QAAA,iBAsDE;QApDA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAE;YACrB,IAAI,EAAE,CAAC,IAAI,IAAI,MAAM,EAAE;gBACrB,IAAI,MAAM,GAAG,IAAI,iEAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAE1B,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC/C,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACpF,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9D,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBACjE,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC7B;aAEF;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,GAAG,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,EAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;gBAC5H,IAAI,MAAM,GAAG,IAAI,iEAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAE1B,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;gBAE/C,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC1F,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACd,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBACjE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC7B;aACF;SACF;QACD,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAQ;YAE/E,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,6EAA6E;gBAC7E,kFAAkF;gBAClF,uBAAuB;gBACvB,wBAAwB;gBACxB,4BAA4B;gBAE5B,4DAA4D;gBAC5D,iDAAiD;gBACjD,KAAK;gBACL,KAAK;gBAEL,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;aAC1E;iBAAM;gBACL,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACjC,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACnB,sBAAsB;gBACtB,gBAAgB;gBAChB,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,kCAAU,GAAV;QACE,CAAC,CAAC,UAAU,CAAC;YAEX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;YACtD,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC;YAC1F,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC;YAEhG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACvE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,kCAAU,GAAV,UAAW,QAAQ,EAAC,EAAE,EAAE,MAAM;QAA9B,iBA2BC;QA1BC,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YACvE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAE5E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;SAE5D;aACI;YAEH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YACvE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;YAC5E,kBAAkB;YAClB,4BAA4B;YAC1B,IAAI,CAAC,GAAG,OAAO,CAAC,4CAA4C,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,IAAI,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;oBAChD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC9E,KAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;gBAC5F,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,gDAAgD,CAAC;aAClG;YACH,WAAW;SACZ;IACH,CAAC;IAED,iCAAS,GAAT;QAAA,iBAkBC;QAjBC,IAAI,CAAC,GAAG,OAAO,CAAC,wDAAwD,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAuC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC/D,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC,CAAC;YACF,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,CAAC,CAAC;SAC5C;QAED,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC7E,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC9C,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpF,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,qCAAqC,EAAE,OAAO,GAAG,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEjH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iCAAS,GAAT,UAAU,MAAM,EAAC,KAAK,EAAC,GAAG;IAE1B,CAAC;IACH,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uHC1LS,uKAAiG,KAC/F,gLAAmD,KACjD,qKAAyC,0FAAa,MACtD,qKAAyC,KACvC,sLAAoD,KAClD;;;;;;;;;;;wBAAiG;MAApC;;wBAAiC;MAA9F,+wCAAiG,yBAApC,kBAAiC,iCAA9F,YAAiG,EAApC,SAAiC,2BAA9F,qtBAAiG;uHAP3G,iLAA2E,KAEzE,meAAiG,IAcjG,wKAA4C,KAI1C,iLAAqD,KACnD,4IAAsB,KACtB,4IAAsB,KACpB,uPAAmG,YAA5B;;wBAA2B;MAAlG,wBAAmG,mFAAM,MACzG,sQAA0G,YAA7D;;wBAAyB;MAAtE,wBAA0G,iFAAI,mDAtB1E,mBAAsD,eAAhG,YAAiG,EAAvD,SAAsD;uHA9BtG,kLAAiF,KAC/E,0KAA8C,KAC5C,+KAAyD,0FAAa,MAGxE,+KAAmD,KACjD,+KAAmD,KACjD,gQAA8H,YAAlE;;;wBAA2C;MAAvG,wBAA8H,KAEhI,gLAAoD,KAClD,6QAYiE,YADhD;;wBAAmC;MACnC;;wBAA+C;MAZhE,+rDAYiE,MAIrE,gLAAmD,KACjD,gLAAmD,KACnD,2ZAA2E,iDAjBxD,mBAA8B,gBAG9B,mBAA4B,mBAF5B,mBAAkC,sBAQlC,mBAA2C,sBAL3C,mBAAmB,UAFnB,mBAAwD,yCAKxD,mBAAmB,UACnB,oBAAoB,EAHnB,oBAAuB,EACxB,oBAAoC,EAPrD,aAYiE,EAXhD,SAA8B,EAG9B,SAA4B,EAF5B,SAAkC,EAQlC,SAA2C,EAL3C,SAAmB,EAFnB,SAAwD,EAKxD,SAAmB,EACnB,SAAoB,EAHnB,SAAuB,EACxB,SAAoC,GAWH,oBAAsB,iBAA1E,aAA2E,EAAvB,UAAsB;uHA2D1E,iLAA4E,KAE1E,uKAA0C,KACxC,gLAAmD,KACjD,qKAAyC,kGAAqB,MAC9D,qKAAyC,KACvC,sKAA0C,KACxC;;;;;;;;;;;wBAA0G;MAA7C;;wBAA0C;MAAvG,gxCAA0G,IAOhH,iLAAmD,KACjD,sKAAyC,4FAAe,MACxD,sKAAyC,KACvC,uKAA0C,KACxC;;;;;;;;;;;wBAAoG;MAAvC;;wBAAoC;MAAjG,ixCAAoG,IAM1G,iLAAmD,KACjD,sKAAyC,+FAAkB,MAC3D,uKAAyC,KACvC,wKAA0C,KAGxC;;;;;wBAA6D;MAAhC;;wBAA+B;MAA5D,gtCAA6D,IAC3D,8yBAAkB,+EAAG,MACrB,8yBAAkB,8EAAE,MAW9B,yKAA4C,KAI1C,kLAAqD,KACnD,6IAAsB,KACtB,6IAAsB,KACpB,wPAAmG,YAA5B;;wBAA2B;MAAlG,wBAAmG,mFAAM,MACzG,uQAAyG,YAA5D;;wBAAwB;MAArE,wBAAyG,iFAAI,mDA5C9C,mBAA0C,+BAAvG,aAA0G,EAA7C,SAA0C,GAW1C,oBAAoC,yBAAjG,aAAoG,EAAvC,UAAoC,GAYpE,oBAA+B,oBAA5D,aAA6D,EAAhC,UAA+B,GAClD,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,2BAzBnB,qtBAA0G,GAW1G,guBAAoG,GAYpG,ouBAA6D;uHAxD3E,kLAAyE,KACvE,0KAA8C,KAC5C,+KAAyD,kGAAqB,MAGhF,+KAAmD,KAEjD,gLAAoD,KAClD,gUAYqD,YAHpC;;wBAAmC;MACnC;;wBAA+C;MAC/C;;wBAAwD;MACxD;;wBAAmC;MAZpD,8oDAYqD,MAIzD,gLAAmD,KACjD,gLAAmD,KACnD,2ZAA4E,iDAjBzD,mBAAqC,uBAGrC,mBAAqB,YAFrB,mBAAiC,qBAGjC,mBAAmB,UAFnB,mBAAwD,yCAIxD,mBAAmB,UACnB,oBAAoB,EAFpB,oBAAuB,EANxC,YAYqD,EAXpC,SAAqC,EAGrC,SAAqB,EAFrB,SAAiC,EAGjC,SAAmB,EAFnB,SAAwD,EAIxD,SAAmB,EACnB,SAAoB,EAFpB,SAAuB,GAYU,mBAAuB,kBAA3E,aAA4E,EAAxB,SAAuB;uHAxFnF,qLAAyD,KACrD,0ZAAiF,IA6DjF,0ZAAyE,iDA7DpB,mBAA2B,sBAAhF,YAAiF,EAA5B,SAA2B,GA6D3B,mBAAmB,cAAxE,YAAyE,EAApB,SAAmB;;;;;;;;;;;;;;;;AC9D5E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEyC;AACf;AACQ;AACV;AACS;AACxB;AACS;AAClB;AAC6B;AACU;AACnB;AAE/D;IA+BE,2CAAoB,iBAAsC,EAAS,oBAA0C,EAAU,eAAgC,EAAU,WAAwB,EAAU,MAAqB,EAAU,YAA0B;QAAxO,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAzB5P,sBAAiB,GAAY,IAAI,CAAC;QAClC,wBAAmB,GAAY,IAAI,CAAC;QACpC,gBAAW,GAAY,KAAK,CAAC;QAS7B,qBAAgB,GAAU,EAAE,CAAC;QAC7B,6BAAwB,GAAU,EAAE,CAAC;QACrC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,QAAG,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAE/B,mBAAc,GAAY,KAAK,CAAC;QAChC,oBAAe,GAAY,KAAK,CAAC;QACjC,sBAAiB,GAAe,EAAE,CAAC;QACnC,iBAAY,GAAe,EAAE,CAAC;QAC9B,cAAS,GAAyB,EAAE,CAAC;QACrC,aAAQ,GAAG,IAAI,6EAAkB,EAAE,CAAC;QACpC,cAAS,GAA2B,IAAI,wFAAsB,EAAE,CAAC;QACxD,SAAI,GAAW,IAAI,CAAC;QAE3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,oDAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,4DAAgB,GAAhB;QAAA,iBAqCC;QApCC,IAAI,CAAC,aAAa,GAAgB;YAChC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ;YAC5M,uBAAuB,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI;SAE1F,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;QAE5C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG;YACjC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,oFAAmB;SAClC,CAAC;IAEJ,CAAC;IACD,4DAAgB,GAAhB,UAAiB,gBAAwB;QAEvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBAC3C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAC,IAAI;qBACxD,CAAC,CAAC;iBACJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,KAAK,qBAAqB,EAAE;oBAClE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;iBAC/G;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;oBACxD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC9O;qBACI;oBACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;wBAC5B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC/D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aAGF;SACF;aAAM;YACL,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,mBAAmB,GAAG;gBAEzB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;iBAC9E;gBACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAC;gBAClE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC5D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,aAAa,EAAE;gBAC3D,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;gBACrC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE;gBACxD;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,YAAC,MAAM;wBACpH,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5B,CAAC;oBACD,gBAAgB,EAAE;wBAChB,UAAU,EAAE,EAAE;wBACd,MAAM,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,CAAC;wBACvG,WAAW,EAAE,UAAU,KAAK;wBAC5B,CAAC;qBACF;iBAEF;gBACD,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAC;gBACnE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAC;gBACzD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;aAEtG,CAAC;SACH;IACH,CAAC;IAED,iEAAqB,GAArB;QAAA,iBAQC;QAPC,IAAI,CAAC,eAAe,CAAC,oCAAoC,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC1G,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACjC,KAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;IAC3B,CAAC;IACD,yDAAa,GAAb,UAAc,GAAG;QACf,IAAI,GAAG,IAAI,eAAe,EAAE;YAC1B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aAAM,IAAI,GAAG,IAAI,WAAW,EAAE;YAC7B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;IACH,CAAC;IACD,2DAAe,GAAf;IAEA,CAAC;IACD,yDAAa,GAAb;QAAA,iBA8BC;QA7BC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAQ;YAG9B,IAAI,MAAM,GAAG,IAAI,yDAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;YACpD,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC5B,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;YAC1D,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC;YAC/B,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACtC,MAAM,CAAC,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC;YAAA,CAAC;YAE7B,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC5E,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qDAAqD,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzG,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,iDAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,oDAAQ,GAAR,UAAS,KAAK;QACV,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAED,qDAAS,GAAT;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,IAAI,yDAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,qDAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,8DAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAqBC;QAnBC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC,aAAG;YAClB,IAAI,MAAM,GAAG,IAAI,yDAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAClD,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACpD,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,MAAM,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,uDAAW,GAAX,UAAY,OAAO;QACjB,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,oDAAQ,GAAR,UAAS,GAAG;QACV,IAAI,GAAG,IAAI,qBAAqB,EAAE;YAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aAAM,IAAI,GAAG,IAAI,aAAa,EAAE;YAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;IACH,CAAC;IAED,yDAAa,GAAb;QAAA,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YAE/E,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,kEAAsB,GAAtB;QACE,IAAI,CAAC,oBAAoB,GAAgB;YACvC,wMAAwM;YACxM,4FAA4F;YAC3F,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YACzJ,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI;SACzF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG;YACxC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,YAAY,EAAE,oFAAmB;SAClC,CAAC;IAEJ,CAAC;IACD,oEAAwB,GAAxB,UAAyB,gBAAwB;QAC/C,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,kBAAkB,GAAG;YAEtB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC/B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aAC5E;YACH;gBACE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,EAAE;aAC7D;YACD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5E,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE;YACjF;gBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACzE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;wBAC7B,OAAO,KAAK,CAAC;qBACd;yBACI;wBACH,OAAO,IAAI,CAAC;qBACb;gBACH,CAAC;aAAE;YAEL;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;oBACjG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACA,CAAC;IACN,CAAC;IAED,wDAAY,GAAZ;QAAA,iBAQC;QANC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YACjE,KAAI,CAAC,QAAQ,GAAG,IAAI,6EAAkB,EAAE,CAAC;YACzC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,KAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uEAA2B,GAA3B,UAA4B,KAAK;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;SACF;IACH,CAAC;IAED,wDAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACD,gEAAoB,GAApB,UAAqB,IAAI;QAAzB,iBAqBC;QApBC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,WAAW,EAAE;YACvB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC7C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;QAGD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAE5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,0DAAc,GAAd,UAAe,IAAI;QAAnB,iBASC;QARC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QAE5B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YACjE,KAAI,CAAC,QAAQ,GAAG,IAAI,6EAAkB,EAAE,CAAC;YACzC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,KAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAuB,GAAvB,UAAwB,KAAK;QAA7B,iBAgCC;QA9BC,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;SAC1B;aAAM;YAEL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBAC3C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;oBACtB,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,EAAC,CAAC,CAAC,CAAC;iBAE5F;qBAAM;oBACL,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,EAAC,CAAC,CAAC,CAAC;iBAC5F;gBACD,IAAI,GAAG,GAAE,UAAU,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,EAAZ,CAAY,CAAC,CAAC;gBAE3C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAE5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrF,CAAC,CAAC,CAAC;aAEJ;SACF;IAEH,CAAC;IACD,oEAAwB,GAAxB,UAAyB,KAAsB;QAC7C,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IACH,wCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGCzbW,uHAAqD,KACnD,qJAA+B,sPAAmD;wGAtC5F,0kBAAkJ,IAChJ,4TAAgM,KAC9L,yJAAmC,2GAA8B,MAAQ,sHAAM,KAEjF,iRAA8I,KAC5I,2MAA+E,KAC7E,yMAA6E,KAC3E,qHAAG,uFAAU,MAEf,2KAA8C,mFAE9C,MAGF,4MAA+E,KAC7E,0MAA6E,KAC3E,sHAAG,qGAAwB,MAE7B,2KAA8C,iFAE9C,MAGF,4MAA+E,KAC7E,0MAA6E,KAC3E,sHAAG,0FAAa,MAElB,2KAA8C,mFAE9C,MAGF,4MAA+E,KAC7E,0MAA6E,KAC3E,sHAAG,4FAAe,MAEpB,2NAA8F,KAC5F,qdAAqD,iDArCZ,oDAA0C,GAA3F,YAAkJ,EAAjG,SAA0C,GAqC9E,mBAA+C,qBAApD,aAAqD,EAAhD,SAA+C,mDA5BR,2DAE9C,GAgB8C,6DAE9C;wGAuBE,sSAAiO,YAAtE;;wBAAuC;MAAlM,wBAAiO,KAC/N;;;;;;;;;;;;;;;;;wBAAyP;MAAxJ;;wBAA+B;MAAhI,wzDAAyP,iFAE3P,mDAFsB,yBAAa,EAA+B,kIAAgC,GAAhG,YAAyP,EAArO,UAAa,EAA+B,UAAgC,GAA5E,yBAAa,EAAgE,oBAA+B,oBAAhI,YAAyP,EAArO,UAAa,EAAgE,UAA+B,2BADrG,iIAA8B,GAAC,sIAAkC,GAA9F,YAAiO,EAApM,SAA8B,EAAC,SAAkC,GAC1D,iIAA6B,GAA/D,ioBAAyP,EAAvN,SAA6B,EAA/D,2EAAyP,sFAE3P;wGAGJ,iLAAgF,KAC9E,8LAA0K,YAAxC;;wBAAuC;MAAzK,q+BAA0K,mDAA1H,mBAAuC,oBAAC,mBAAyC,qBAAhH,6BAA8B,EAA/C,YAA0K,EAA1H,SAAuC,EAAC,SAAyC,EAAhH,SAA8B;wGAOnC,kPAA2H,YAAtH;;wBAA6B;MAAlC,wBAA2H;wGAC3H,mPAA4H,YAAvH;;wBAA8B;MAAnC,wBAA4H;wGAapI,oPAAqH,YAA7B;;wBAA4B;MAApH,wBAAqH;yGAIrH,iPAA+K,YAAzB;;wBAAwB;MAA9K,wBAA+K;wGATnL,6IAA2C,KACzC,qKAAyC,KACvC,qHAAG,KAAC,+OAAwF,YAAzB;;wBAAsB;MAArF,wBAAwF,KAE9F,4IAAsB,KACpB,2YAAqH,IAEvH,4IAAsB,KAAC,mKAA6C,oGAAwD,MAC5H,6IAAsB,KACpB,6YAA+K,iDAJ5K,sCAAyB,GAA5B,YAAqH,EAAlH,SAAyB,GAIzB,gHAA0F,KAA7F,aAA+K,EAA5K,SAA0F,mDAF3B,kHAAwD;yGAM9H,4JAAyE,KACvE,iSAMqE,YAApD;;wBAAmD;MANpE,w+CAMqE,mDALpD,mBAAuC,0BAIvC,mBAAuB,cAHvB,mBAAgC,oBAChC,mBAAwD,yCACxD,mBAAmB,UAJpC,YAMqE,EALpD,SAAuC,EAIvC,SAAuB,EAHvB,SAAgC,EAChC,SAAwD,EACxD,SAAmB;yGAMpC,iMACiG,YAA9C;;wBAA6C;MADhG,koCACiG,2BAA7E,6BAA8B,EADlD,YACiG,EAA7E,SAA8B;wGAvCtD,4LAA2F,KACzF,4kBAA+I,IAE7I,4LAA4F,KAC1F,mJAA6B,KAC3B,wHAAM,gZAA2H,IACjI,wHAAM,iZAA4H,IAGtI,ujBAAsH,IACpH,qJAA8B,yFAAY,MAI9C,4YAA2C,IAa3C,6YAAyE,IAUzE,ihBAAwD,IACtD,6YACiG,IAGnG,+JAAkC,kDAzC7B,4DAAkD,GAAvD,YAA+I,EAA1I,SAAkD,GAIR,uCAAwB,GAA3D,YAA2H,EAAxF,SAAwB,GACvB,sCAAuB,GAA3D,aAA4H,EAAxF,SAAuB,GAGhE,2DAAiD,GAAtD,aAAsH,EAAjH,SAAiD,GAKnD,mBAAoB,eAAzB,aAA2C,EAAtC,SAAoB,GAapB,+CAAkC,GAAvC,aAAyE,EAApE,SAAkC,GAUlC,4DAAkD,GAAvD,aAAwD,EAAnD,SAAkD,GACjC,gDAAgC,GAApD,aACiG,EAD7E,UAAgC,mDArCkC,iDAAsD,GAA9I,YAA+I,EAAvD,SAAsD,GAE3F,8CAA0C,GAA3F,YAA4F,EAA3C,SAA0C,GAMjB,+CAA2C,GAArH,aAAsH,EAA5C,SAA2C;yGA6C3H,kPAA6J,KAC3J,yIAAoD,wDAA9C,mBAA6C,kCAAnD,YAAoD,EAA9C,SAA6C;yGAHvD,mkBAAuH,IAErH,4YAA6J,iDAFnH,4DAAkD,GAA9F,YAAuH,EAA3E,SAAkD,GAEvF,+CAAgC,GAArC,YAA6J,EAAxJ,SAAgC;yGASzC,sNAAmH,YAAvG;;wBAAgC;MAA5C,0bAAmH,MACjH,4LAA2H,YAAtD;;wBAAqD;MAA1H,+eAA2H,mDAD7B,qBAAkB,EAAtG,mBAAgC,qBAA5C,YAAmH,EAAnB,SAAkB,EAAtG,SAAgC,GACxB,mBAAwB,gBAAC,yBAAyB,EAApE,YAA2H,EAAzG,SAAwB,EAAC,SAAyB;yGAMxE,wNAAmG,YAAvF;;wBAAiC;MAA7C,+ZAAmG,MAEjG,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,KAC9E,iJAA2B,0FAAa,MAAI,sHAAM,KAClD,2JAAqC,KACnC,kJAA2B,gHAAmC,MAAI,uHAAM,KAE1E,0RAA+I,YAA3H;;wBAAqC;MAAzD,wBAA+I,+EAAE,mDARzI,mBAAiC,sBAA7C,YAAmG,EAAvF,SAAiC;sRA1I7C,iNAAoF,KAElF,6MAA+G,KAC/G,8LAAoH,YAA/C;;wBAA8C;MAAnH,i8BAAoH,MAGpH,4LAA+D,KAC7D,2YAAkJ,IA8ClJ,oNAAkF,KAGhF,iLAAoD,KAClD,sKAAyC,KACvC,gOAAiI,KAC/H,qdAAiO,IAMrO,4YAAgF,IAGhF,4YAA2F,IAoD/F,6YAAuH,IAWzH,6YAAmH,IAOrH,6YAAmG,iDAvIjF,qBAAoB,EAAC,mBAA+B,gBAApE,YAAoH,EAApG,SAAoB,EAAC,SAA+B,GAI7D,0CAA2C,sBAAhD,YAAkJ,EAA7I,SAA2C,GAoD2J,mBAA6B,YAAhO,aAAiO,EAA9B,SAA6B,GAM/N,mBAA0B,qBAA/B,aAAgF,EAA3E,SAA0B,GAGT,oBAA2B,qBAAjD,aAA2F,EAArE,SAA2B,GAoDhD,mBAAoB,eAAzB,aAAuH,EAAlH,SAAoB,GAWkB,mBAA0B,qBAAvE,aAAmH,EAAtE,SAA0B,GAO3B,oBAA2B,sBAAzE,aAAmG,EAArD,UAA2B,mDAxIV,gDAAiD,GAA9G,YAA+G,EAAlD,SAAiD,GAwDvB,gDAAiD,GAAhI,aAAiI,EAAlD,SAAiD;;;;;;;;;;;;;;;;AC1D1I;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmF;AACzB;AACf;AAE4C;AACnB;AAEJ;AAChC;AAC4C;AAGrB;AACI;AAChB;AAC2B;AAC3B;AAI3C;IAwDE,4BAAoB,cAAgC,EAAS,oBAA0C,EAAU,eAAgC,EAAU,WAAwB,EAAU,iBAAsC,EAAU,MAAqB;QAA9O,mBAAc,GAAd,cAAc,CAAkB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAe;QAjDlQ,SAAI,GAAU,IAAI,mDAAK,EAAE,CAAC;QACnB,UAAK,GAAa,EAAE,CAAC;QAE5B,uBAAkB,GAAG,KAAK,CAAC;QAC3B,kBAAa,GAAY,KAAK,CAAC;QAC/B,sBAAiB,GAAY,KAAK,CAAC;QACnC,sBAAiB,GAAW,OAAO,CAAC;QAEpC,kBAAa,GAAW,CAAC,CAAC;QAC1B,cAAS,GAAW,KAAK,CAAC;QAC1B,iBAAY,GAAY,KAAK,CAAC;QAC9B,uBAAkB,GAAY,KAAK,CAAC;QACpC,eAAU,GAAY,KAAK,CAAC;QAC5B,uBAAkB,GAAW,IAAI,CAAC;QAClC,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,aAAQ,GAAW,MAAM,CAAC;QAC1B,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAW,CAAC,CAAC;QAC1B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,qBAAgB,GAAU,EAAE,CAAC;QAC7B,gBAAW,GAAW,CAAC,CAAC;QAExB,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAG1C,oBAAe,GAAmB,EAAE,CAAC;QAC9B,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC5O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1N,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjN,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAKvC,uBAAkB,GAAY,KAAK,CAAC;QAEpC,cAAS,GAAmB,EAAE,CAAC;QAE/B,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,iBAAY,GAAiB,IAAI,wEAAY,EAAE,CAAC;QAChD,wBAAmB,GAAY,KAAK,CAAC;QACrC,cAAS,GAAyB,EAAE,CAAC;QAGnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IA1B+I,CAAC,CAAE,6CAA6C;IACiB,CAAC;IA2BlN,qCAAQ,GAAR;QAAA,iBAyBC;QAvBC,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC;QAEvC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,EAAE;YACpG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,CAAC;SACH;aACI;YACH,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aACrE,CAAC;YACF,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;SAE9C;IAGH,CAAC;IAED,4CAAe,GAAf;QAEE,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC;YACT,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC;YAC/G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,8EAA8E,CAAC;YACnH,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC;YAEvG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;IAEV,CAAC;IACD,yDAA4B,GAA5B;QAAA,iBAyBC;QAvBC,IAAI,CAAC,uBAAuB,GAAgB;YAC1C,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QAEF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,qDAAwB,GAAxB,UAAyB,gBAAwB;QAC/C,IAAI,OAAO,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG;YACvB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YACD;gBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;aACzE;YACD;gBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;aAC5E;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC3F,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC;qBAAE;gBACxE,CAAC;aAAG;YACN;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;oBACzF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACxE,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC/F,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACxE,CAAC;aACD;YACF;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM;oBACvF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBACxE,CAAC;aACD;YACF;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,YAAC,MAAM;oBAClG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,gDAAgD,CAAC;oBAClE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IAEN,CAAC;IACD,8CAAiB,GAAjB,UAAkB,YAAY;QAC5B,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;QAChD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC;YACT,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QACvK,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yDAA4B,GAA5B,UAA6B,GAAG;QAC9B,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAElC,CAAC;IACD,oDAAuB,GAAvB,UAAwB,YAAY;QAApC,iBAMC;QAJC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YACjE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACzF,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uDAA0B,GAA1B;QAAA,iBAMC;QAHC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YAC5E,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAoB,GAApB;QAAA,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAChF,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,6CAAgB,GAAhB;QAEE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YAEnG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;SACjE;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,uBAAuB;QACvB,kEAAkE;IACpE,CAAC;IACD,yCAAY,GAAZ;QACE,uBAAuB;QACvB,kEAAkE;QAElE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YAEnG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;SAC9D;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;IACH,CAAC;IACD,mDAAsB,GAAtB;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,UAAU,CAAC;YACT,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QACxK,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD,yCAAY,GAAZ;QAAA,iBAkBC;QAjBC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC/D,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YACnB,KAAI,CAAC,IAAI,CAAC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAC9E,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC1D,IAAI,KAAI,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;gBACtC,KAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aAC1B;iBAAM;gBACL,KAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACzB;YAED,IAAI,KAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC;gBACnC,KAAI,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;;gBAEjC,KAAI,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAS,GAAT,UAAU,KAAK,EAAE,GAAG;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oCAAO,GAAP;QAAA,iBAkBC;QAjBC,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YAED,KAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;YAChI,KAAI,CAAC,oBAAoB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClM,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC;YACpH,KAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE1L,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yCAAY,GAAZ,UAAa,IAAI;QAChB,gFAAgF;IACjF,CAAC;IACD,+CAAkB,GAAlB;QAAA,iBAiBC;QAhBC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YACnE,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAG;gBAC1B,GAAG,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACzE,IAAI,GAAG,CAAC,cAAc,IAAI,IAAI,EAAE;oBAC9B,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;iBAC/D;gBACD,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE;oBACzB,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;iBACrD;qBACI;oBACH,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;iBACvB;gBACD,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,aAAa,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAa,GAAb,UAAc,UAAU;QACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC;YAC/G,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,8EAA8E,CAAC;YAC5H,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC;QAClH,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC5Z,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI;YAC9B,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;gBACrC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;aAC1C;iBACI;gBACH,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAChC;SACF;aACI;YACH,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;YACrC,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,IAAI,UAAU,IAAI,IAAI,EAAE;gBACtB,CAAC,CAAC,UAAU,CAAC;oBACX,SAAO,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,SAAO,CAAC,WAAW,EAAE,SAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAO,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,SAAO,CAAC,UAAU,CAAC,CAAC;oBAC1M,SAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAO,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,SAAO,CAAC,YAAY,EAAE,SAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;wBACzL,SAAO,CAAC,gBAAgB,GAAG,YAAY,CAAC;oBAC1C,CAAC,CAAC,CAAC;gBAEL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;iBAAM;gBACL,SAAO,CAAC,4BAA4B,EAAE,CAAC;gBACvC,SAAO,CAAC,kBAAkB,EAAE,CAAC;aAC9B;SACF;QAED,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;YACrC,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;gBACnC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;aAC1C;SAEF;aACI;YACH,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;gBACnC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;IAEH,CAAC;IACD,uCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxL,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;IAEtF,CAAC;IACD,+CAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACxF,CAAC;IACD,kDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,oDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,iDAAoB,GAApB,UAAqB,GAAG;QAAxB,iBA+BC;QA9BC,QAAQ,CAAC;QACT,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;SAC9B;aACI,IAAI,GAAG,IAAI,gBAAgB,EAChC;YACE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,aAAa,CAAC,cAAc,CAAC,SAAO,CAAC,SAAS,CAAC,CAAC;gBACxD,SAAO,CAAC,aAAa,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;aACI,IAAI,GAAG,IAAI,mBAAmB,EAAE;SAEpC;aACI,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;aACI;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAEzB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;gBAC1K,KAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;YACvC,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,2CAAc,GAAd,UAAe,YAAY;QAEzB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,0DAA0D,CAAC;QAC7G,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,wKAAwK,CAAC,CAAC;IACvM,CAAC;IACD,2CAAc,GAAd,UAAe,GAAG;QAChB,QAAQ,GAAG,EAAE;YACX,KAAK,MAAM;gBACT,IAAI,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR;gBACE,IAAI,CAAC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC/C;IACH,CAAC;IACD,yCAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAE1L,CAAC;IACD,2CAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACzL,sCAAsC;SACtC;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACxL,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,wCAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxL,qCAAqC;IACvC,CAAC;IACD,0CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxL,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,wCAAW,GAAX;QACE,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,IAAI,WAAW,EAAE;YAC9D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1D,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC;YACzD,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;aAAM;YACL,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACzD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;YAC1D,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;IACH,CAAC;IACD,mDAAsB,GAAtB,UAAuB,KAAK;QAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;gBACvG,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,CAAC,EAAE;oBACxC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC7D,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;iBACrD;gBACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;SACF;aACI;YACH,IAAI,CAAC,YAAY,GAAI,KAAK,CAAC;SAC5B;IAEH,CAAC;IACD,wBAAwB;IACxB,mCAAmC;IACnC,GAAG;IACH,yCAAY,GAAZ,UAAa,GAAG;QAGd,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IACD,0CAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxL,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;YAC/B,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBAC7G,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;YACvG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;YACvF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IACD,uCAAU,GAAV;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK;QAC/B,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,yCAAyC;QACzC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAE3D,CAAC;IAED,yCAAY,GAAZ,UAAa,UAAU;QAAvB,iBAaC;QAZC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnD,YAAY,GAAG,MAAM,CAAC;YACtB,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;YAC7D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAET,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC1C,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtC,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,iDAAoB,GAApB,UAAqB,QAA6B;QAC9C,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjF,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;gBAC7B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACzP;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;aAAM;YACL,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzP;IAEL,CAAC;IACD,iDAAoB,GAApB;QAEE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/M;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxM;IACH,CAAC;IAED,kCAAK,GAAL;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAEzC,CAAC;IAGD,0CAAa,GAAb;QAAA,iBAMC;QALC,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YAC/E,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE7B,CAAC,CAAC,CAAC;IAEL,CAAC;IACH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGChqBC,sKAAiG,KAC/F,6LAA6D,KAC7D,+LAA+D,KAC/D,0LAAqC,YAAzB;;wBAAwB;MAApC,4ZAAqC,MACnC;;;y7CAWuB,IAGzB,4IAAsB,KACtB,sHAAM,KACN,ocAcqD,YAbpC;;wBAA+B;MAQ/B;;wBAAiD;MACjD;;wBAAsC;MACtC;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAdpD,msDAcqD,mDA/BzC,mBAAwB,aAApC,YAAqC,EAAzB,SAAwB,GAKvB,mBAAqB,WAKrB,mBAAmB,UAPnB,mBAAmB,UAKnB,mBAAmC,kBAJnC,mBAAqC,mBAErC,mBAAmB,UAJnB,6BAAwB,EAKxB,mBAAuB,YAEvB,8BAAyB,EAEzB,oBAAe,QACf,oBAAW,MAXtB,eAIW,SAAqB,EAKrB,SAAmB,EAPnB,SAAmB,EAKnB,SAAmC,EAJnC,SAAqC,EAErC,SAAmB,EAJnB,SAAwB,EAKxB,SAAuB,EAEvB,UAAyB,EAEzB,UAAe,EACf,UAAW,CAAC,GAOR,oBAA2B,cAG3B,oBAA4B,mBAF5B,oBAAyB,aAKzB,oBAA2C,sBAF3C,oBAAmB,UAFnB,oBAAwD,yCAGxD,oBAAmB,UAPpC,aAcqD,EAZpC,UAA2B,EAG3B,UAA4B,EAF5B,UAAyB,EAKzB,UAA2C,EAF3C,UAAmB,EAFnB,UAAwD,EAGxD,UAAmB,mDAvBvB,0CAAoC,EAA/C,YAWuB,EAXZ,SAAoC,GAgBhC,oBAA6B,eAA9C,YAcqD,EAdpC,UAA6B;wGA+BhD,gLAA8F,KAC5F,qkCAAqC,yBAArB,2BAAoB,EAApC,YAAqC,EAArB,SAAoB;wGAkGtB,0tBAAiE,+EAAkB,2BAAvC,mHAAoB,GAAhE,YAAiE,EAArB,+HAAoB,GAAhE,YAAiE,EAArB,SAAoB,2BAAC,sEAAkB;wGASrF,kQAAwH,YAApB;;wBAAmB;MAAvH,wBAAwH,0GAA6B;wGA6CjJ,0tBAA0D,+EAAO,2BAAvB,gHAAe,GAAzD,YAA0D,EAAhB,4HAAe,GAAzD,YAA0D,EAAhB,SAAe,2BAAC,6DAAO;wGATzE,6JAAsF,KACpF,4JAAsC,gFAAO,MAC7C,4JAAsC,gFAAQ,MAC9C,4JAAsC,uFAAuB,MAC7D,sKAAgD,KAE9C,+IAAyB,KACvB,+KAAyD,KACvD,2uBAAkB,kFAAM,MACxB,sdAA0D,iDADlD,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACT,mBAAiC,cAAzC,aAA0D,EAAlD,SAAiC,mDART,+DAAO,GACP,6DAAQ,GACR,wEAAuB;wGApN3E,mLAAqD,KAEnD,yLAAyD,KACzD,qMAAqE,KAErE,yOAAsG,KACpG;;;;;;gxBAAM,IACJ,sRAA4G,YAAnC;;wBAA0B;MAAnG,wBAA4G,uFAC5G,ySAA2H,YAA3B;;wBAA0B;MAA1H,wBAA2H,sFAAS,6HAAI,KAM5I,6YAAiG,IAsCjG,2LAAmD,YAAvC;;wBAAsC;MAAlD,6ZAAmD,MACjD,oHAAI,oGAAuB,MAC3B,6SAOwE,YAAvD;;wBAAsD;MAPvE,29CAOwE,MAI1E,6YAA8F,IAI9F,kMAA6D,KAC3D,6LAA8D,KAC5D;;;;;;mxBAAM,IACJ,6IAAoB,KAClB,2SAAwK,KACtK,2KAA8C,0FAAa,MAE7D,wOAAoG,KAClG,gMAAmE,KACjE,6IAAsB,KACpB,0HAAO,qGAAwB,MAEjC,6IAAsB,KAEpB,+OAAuF,YAAhC;;wBAA+B;MAAtF,wBAAuF,KAG3F,gMAAmE,KACjE,6IAAsB,KACpB,0HAAO,kGAAqB,MAE9B,6IAAsB,KACpB,yOAA4F,KAGhG,iMAAmE,KACjE,6IAAsB,KACpB,0HAAO,uGAA0B,MAEnC,8IAAsB,KACpB,qLAAuD,KACrD,2uBAAkB,8EAAE,MACpB,2uBAAkB,+EAAG,MACrB,2uBAAkB,gFAAI,MAI5B,gMAAmE,KACjE,6IAAsB,KACpB,0HAAO,wGAA2B,MAEpC,6IAAsB,KACpB,mNAAkE,YAAjC;;wBAAgC;MAAjE,wBAAkE,kFAAK,6HAAI,KAG/E,gMAAmE,KACjE,6IAAsB,KAGtB,6IAAsB,KACpB,oNAAmE,YAAjC;;wBAAgC;MAAlE,wBAAmE,mFAAM,6HAAI,KAGjF,gMAAmE,KACjE,6IAAsB,KAGtB,6IAAsB,KACpB,kNAAkE,YAAlC;;wBAAiC;MAAjE,wBAAkE,iFAAI,6HAAI,KAG9E,gMAAmE,KACjE,6IAAsB,KAGtB,6IAAsB,KACpB,oNAAsE,YAApC;;wBAAmC;MAArE,wBAAsE,mFAAM,6HAAI,KAGpF,gMAAmE,KACjE,6IAAsB,KAGtB,6IAAsB,KACpB,kNAAkE,YAAlC;;wBAAiC;MAAjE,wBAAkE,iFAAI,8HAAI,KAG9E,kMAAmE,KACjE,8IAAsB,KACpB,2HAAO,4GAA+B,MAExC,8IAAsB,KACpB,iQAA0G,YAAnD;;wBAAiC;MAAxF,wBAA0G,KACxG,8uBAAkB,8EAAE,MACpB,8uBAAkB,+EAAG,MAI3B,mNAAoF,KAClF,8IAAsB,KACpB,2HAAO,oGAAuB,MAEhC,8IAAsB,KACpB,qLAAuD,KACrD,8uBAAkB,uFAAW,MAC7B,udAAiE,IAIvE,kNAAoF,KAClF,8IAAsB,KAGtB,8IAAsB,KACpB,8YAAwH,IAK9H,6OAAwG,KACtG,yHAAK,0SAAyI,YAAtB;;wBAAqB;MAAxI,wBAAyI,4HAAG,6KAAkD,KACnM,oTAMwD,YAAvC;;wBAAsC;MANvD,48CAMwD,MAIjC,2EACzB,MAIN,wKAAyC,KACvC,oKAAqC,KACnC,8SAA0K,KACxK,4KAA8C,kIAAqD,MAErG,qQAAgI,KAC9H,gOAAiG,KAC/F,mMAA2E,KACzE,uKAA+C,8EAAC,MAChD,uKAA+C,wFAAW,MAC1D,uKAA+C,6FAAgB,MAC/D,gMAAwE,qGAAwB,MAGlG,udAAsF,IAoB1F,iNAA6E,KAC3E,uKAAyC,8PAAqH,mFAAM,MACpK,uKAAyC,4UAA4K,YAAvB;;wBAAsB;MAA3K,wBAA4K,wFAAW,MAQ1O,wIAAgB,kDAjOT,oEAAuD,GAA5D,aAAiG,EAA5F,SAAuD,GAsChD,mBAAsC,2BAAlD,aAAmD,EAAvC,SAAsC,GAI/B,oBAAsC,yBAGtC,oBAAmC,0BAFnC,oBAAoC,wBACpC,oBAAwD,yCAExD,oBAAmB,UANpC,aAOwE,EALvD,UAAsC,EAGtC,UAAmC,EAFnC,UAAoC,EACpC,UAAwD,EAExD,UAAmB,GAKjC,uDAAyC,GAA9C,aAA8F,EAAzF,UAAyC,GAmCtB,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GAkDT,oBAAS,EAAjB,cAAkB,EAAV,iCAAS,EAAjB,cAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,cAAkB,EAAV,iCAAS,EAAjB,cAAkB,EAAV,UAAS,GAUT,oBAAS,EAAjB,cAAkB,EAAV,iCAAS,EAAjB,cAAkB,EAAV,UAAS,GACT,oBAAmC,eAA3C,cAAiE,EAAzD,UAAmC,GASlB,oBAAiB,OAA5C,cAAwH,EAA7F,UAAiB,GAU/B,oBAAmB,UAEnB,oBAA8B,kBAH9B,oBAAwD,yCAExD,qBAAmB,EAJpC,cAMwD,EAHvC,UAAmB,EAEnB,UAA8B,EAH9B,UAAwD,EAExD,UAAmB,GAyBE,oBAA+C,YAArF,cAAsF,EAAhD,UAA+C,mDA3M7F,8sBAAM,GAgDW,mBAAiC,eAAlD,aAOwE,EAPvD,SAAiC,GAiBhD,ouBAAM;;;;;;;;;;;;;;;;ACvEZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AACA;AAEJ;AAChC;AAEoC;AACY;AACxB;AACkB;AACQ;AACL;AAEnB;AACf;AAC8B;AAC9B;AAEM;AACE;AACF;AACQ;AAEQ;AACE;AACnC;AAKhC,IAAY,KAAoC;AAAhD,WAAY,KAAK;IAAG,uCAAO;IAAE,uCAAO;IAAE,yCAAQ;AAAC,CAAC,EAApC,KAAK,KAAL,KAAK,QAA+B;AAChD,IAAM,UAAU,GAAG,iFAAiF,CAAC;AACrG,IAAM,eAAe,GAAG,OAAO,CAAC;AAChC;IAuEE,4BAAmB,oBAA0C,EAAU,eAAgC,EAAU,sBAA6C,EAAU,eAAgC,EAAU,iBAAsC,EAAU,MAAqB,EAAU,gBAAkC,EAAU,MAAc,EAAU,KAAkB,EAAU,KAAqB;QAAnY,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,2BAAsB,GAAtB,sBAAsB,CAAuB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAa;QAAU,UAAK,GAAL,KAAK,CAAgB;QAjEtZ,iBAAY,GAAG,EAAE,CAAC;QAClB,cAAS,GAAG,EAAE,CAAC;QAGf,oBAAe,GAAG,EAAE,CAAC;QACrB,kBAAa,GAAe,EAAE,CAAC;QAC/B,kBAAa,GAAe,EAAE,CAAC;QAE/B,gBAAW,GAAY,KAAK,CAAC;QAC7B,gBAAW,GAAY,KAAK,CAAC;QAC7B,YAAO,GAAG,EAAE,CAAC;QACb,mBAAc,GAAuB,IAAI,KAAK,EAAe,CAAC;QAC9D,mBAAc,GAAuB,IAAI,KAAK,EAAe,CAAC;QAC9D,+BAA0B,GAAG,EAAE,CAAC;QAChC,gBAAW,GAAE,EAAE,CAAC;QACT,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,sFAAsF;QAC1O,yBAAoB,GAAW,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAExN,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzI,uBAAkB,GAAW,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,mCAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClL,aAAQ,GAAG,KAAK,CAAC;QAChD,eAAU,GAAG,EAAE,CAAC;QAEhB,kBAAa,GAAG,EAAE,CAAC;QACnB,cAAS,GAAG,EAAE,CAAC;QAIf,aAAQ,GAAW,EAAE,CAAC;QAGtB,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,QAAG,GAAG,EAAE,CAAC;QACT,YAAO,GAAY,IAAI,CAAC;QAGxB,eAAU,GAAY,KAAK,CAAC;QAE5B,oBAAe,GAAY,KAAK,CAAC;QAMjC,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,0DAAQ,EAAE,CAAC;QACnC,aAAQ,GAAc,IAAI,4DAAS,EAAE,CAAC;QACtC,eAAU,GAAG,KAAK,CAAC;QAMnB,aAAQ,GAAG,KAAK,CAAC;QAGjB,6BAAwB,GAAY,KAAK,CAAC;QAG1C,4BAAuB,GAAoB,EAAE,CAAC;QAC9C,kBAAa,GAAmB,EAAE,CAAC;QACnC,eAAU,GAAG,KAAK,CAAC;QAGjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAxD+I,CAAC,CAAE,6CAA6C;IACiB,CAAC;IAyDlN,UAAU;IACV,uDAAuD;IAEvD,iBAAiB;IACjB,GAAG;IACH,4CAAe,GAAf;QACE,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,UAAU,CAAC,cAAc,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,uDAAuD;IACzD,CAAC;IACD,wCAAW,GAAX;QACE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IACpI,CAAC;IACD,qCAAQ,GAAR;QAAA,iBAgEC;QA/DC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBAEX,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YAC5C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,SAAS,EAAE;YAC5J,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBACxF,KAAK,CAAC,OAAO,CAAC,eAAK;gBACnB,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;SACJ;aACI;YAEH,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;aAC5G,CAAC;YACF,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;YAC7C,yCAAyC;SAC1C;QACD,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,mGAAmG;QACnG,0CAA0C;QAC1C,OAAO;QACP,uCAAuC;QACvC,KAAK;QACL,gDAAgD;QAChD,8DAA8D;QAC9D,UAAU;QACV,gMAAgM;QAChM,GAAG;QACH,kEAAkE;QAClE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QACxC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC/D,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAK1B,CAAC;IAED,6CAAgB,GAAhB;QACE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,GAAG,EAAE;YACf,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,KAAK,EAAE,CAAC;aACT;YACD,IAAI,KAAK,GAAG,EAAE,EAAE;gBACd,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;oBAC7B,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;wBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;qBACtE;oBACD,KAAK,EAAE,CAAC;iBACT;aACF;SAEF;IACH,CAAC;IAED,6CAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7J;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACpJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC9Q;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,kBAAkB,EAAE;oBAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,YAAC,MAAM;4BACzL,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,MAAM,CAAC,KAAK,CAAC;6BAAE;iCAAM;gCAEtD,OAAO,wBAAwB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;6BACpF;wBACH,CAAC;qBAAE,CAAC,CAAC;iBACR;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,MAAM;4BACrI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCACxB,OAAO,mDAAmD,CAAC;6BAC5D;iCACI;gCACH,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;oCAChE,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iCAC/F;gCACD,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CACA,CAAC;iBACH;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;oBACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACjL;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBACD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBACjJ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,IAAI,EAAC;gBACnE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAC;gBAC7D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC1E,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;gBAClD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;gBACtD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnF;oBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;wBAEpF,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BAAE,OAAO,MAAM,CAAC,KAAK,CAAC;yBAAC;6BAAM;4BAErD,OAAO,wBAAwB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;yBACpF;oBACH,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,MAAM;wBACrI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4BACxB,OAAO,mDAAmD,CAAC;yBAC5D;6BACI;4BACH,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAChE,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;6BAC/F;4BACD,OAAO,MAAM,CAAC,KAAK,CAAC;yBACrB;oBACH,CAAC;iBAEF;gBACD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;aACvG,CAAC;YACF,IAAI,eAAe,GAAG,UAAU,MAAM;gBACpC,OAAO,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1E,CAAC,CAAC;SACH;QACD,SAAS,UAAU,KAAK,CAAC;QAEzB,+CAA+C;QAC/C,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,MAAM;YAC1C,kBAAkB;YAClB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAEjC,mCAAmC;YACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC;gBACxB,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,yDAAyD;QACzD,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG;YAC5B,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC;QAEF,yDAAyD;QACzD,UAAU,CAAC,SAAS,CAAC,gBAAgB,GAAG;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,sCAAsC;QACtC,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG;YAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC;QAEF,sCAAsC;QACtC,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG;YAC7B,mDAAmD;YACnD,8CAA8C;QAChD,CAAC,CAAC;QAEF,mDAAmD;QACnD,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG;YAC7B,gEAAgE;YAChE,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IAED,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,+CAAkB,GAAlB,UAAmB,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QAA3D,iBAYC;QAVC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;YACzC,IAAI,CAAC,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,IAAI,EAAE;gBACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBACrH,KAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IACD,wCAAW,GAAX;IAEA,CAAC;IACD,+CAAkB,GAAlB,UAAmB,QAAQ;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,8CAAiB,GAAjB;QAEE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;YAEvB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,6CAAgB,GAAhB;QAAA,iBAiDC;QA/CC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC5F,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACpE,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5D,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5C;YAED,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAE1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG;YACzB,aAAa,EAAE,6FAAsB;YACrC,YAAY,EAAE,qFAAmB;SAElC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IAED,8CAAiB,GAAjB,UAAkB,GAAG,EAAE,OAAO;QAA9B,iBAiBC;QAfC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC7G,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACnF,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACrF,IAAI,QAAQ,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;oBACxD,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;iBAClG;qBAAM;oBACL,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBAClC;YACH,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,6CAAgB,GAAhB,UAAiB,MAAM;QAErB,4CAA4C;QAC5C,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YAEX,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC/C,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;YAClD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAC1D,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,CAAC,CAAC;YAClE,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEnD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC/C,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC1D,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;gBACpD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;aACpD;YAED,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC5C;iBAAM;gBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;aACjD;YACD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,+CAAkB,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,qCAAQ,GAAR;QAEE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpB,CAAC;IACD,2CAAc,GAAd;QAEE,IAAI,IAAI,GAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YACjF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aACjE;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,CAAC;aAC/E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAqB,GAArB,UAAsB,EAAE,EAAE,IAAI;QAA9B,iBAcC;QAZC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAClF,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,2CAA2C;YAC3C,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,kDAAqB,GAArB,UAAsB,gBAAwB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACtP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE;YAClM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC9P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,KAAK;gBAChM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAC/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC1P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACpP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAElT,CAAC;IAEJ,CAAC;IACD,+CAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,6CAAgB,GAAhB;IAEA,CAAC;IACD,8CAAiB,GAAjB,UAAkB,OAAO;QAAzB,iBAiEC;QA9DC,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;YAC3D,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAE3E,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC3E,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAEjE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxB,CAAC,CAAC,CAAC;gBAEH,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;oBAC/C,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;iBAChC;gBACD,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;oBAC1C,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;iBAC5B;gBACD,IAAI,MAAM,IAAI,IAAI;oBAChB,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;YACjG,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QACrE,IAAI,CAAC,kBAAkB,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACtG,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QACjF,IAAI,CAAC,gBAAgB,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC/F,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAEtD,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEzC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,CAAC;gBACpC,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEhD,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACrC;YACD,IAAI,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACxD,8FAA8F;YAC9F,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACrF,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAET,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,sCAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAuC,OAAO,CAAC,EAAE,2BAAwB,CAAC,CAAC;QAErG,iFAAiF;IACnF,CAAC;IACD,wCAAW,GAAX,UAAY,OAAO;QAAnB,iBAOC;QANC,IAAI,CAAC,GAAG,OAAO,CAAC,qDAAqD,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACjE,KAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,uCAAU,GAAV,UAAW,OAAO;QAAlB,iBASC;QARC,IAAI,CAAC,wBAAwB,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;QAC/D,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,uBAAuB;YACrG,uBAAuB,CAAC,OAAO,CAAC,kBAAQ;gBACtC,QAAQ,CAAC,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAAgC,GAAhC,UAAiC,KAAK;QAEpC,qBAAqB;QACrB,4BAA4B;QAC5B,uCAAuC;QACvC,WAAW;IACb,CAAC;IAED,iEAAoC,GAApC;QAEE,IAAI,CAAC,sBAAsB,GAAgB;YACzC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,sBAAsB,CAAC,aAAa,GAAG;YAC1C,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IACH,CAAC;IACD,2CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7D,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC/C,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;gBACpC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3C;iBACI;gBACH,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC5C;SACF;IACH,CAAC;IAED,iDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yCAAuC,QAAQ,CAAC,IAAI,CAAC,EAAE,2BAAwB,CAAC,CAAC;IAC7G,CAAC;IACD,2DAA8B,GAA9B,UAA+B,gBAAwB;QACrD,IAAI,CAAC,qBAAqB,GAAG;YAC3B,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE;YACtE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;YACtD,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE;YACvE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;SAC7D,CAAC;IACJ,CAAC;IACD,qDAAwB,GAAxB;QAEE,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC,SAAS,IAAI,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,SAAS,EAAE;YAC9I,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,UAAC,MAAM;gBACnE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SACrE;IACH,CAAC;IACD,yCAAY,GAAZ,UAAa,IAAS;QAEpB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,2CAAc,GAAd,UAAe,IAAS;QAEtB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QACd,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SAC3D;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,wCAAW,GAAX,UAAY,KAAU;QAEpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,0CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,uCAAU,GAAV,UAAW,KAAK;QAAhB,iBAgBC;QAfC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACtH,QAAQ,CAAC,OAAO,CAAC,kBAAQ;gBACvB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACnF,IAAI,QAAQ,CAAC,kBAAkB,IAAI,qBAAqB,EAAE;oBACxD,QAAQ,CAAC,kBAAkB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;iBAClG;qBAAM;oBACL,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBAClC;YACH,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,oHAAoH;IACpH,oDAAuB,GAAvB,UAAwB,IAAI;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnB,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtH,CAAC;IAED,yCAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,KAAK,IAAI,kBAAkB,EAAE;YAE/B,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;SAClE;aACI;YAGH,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,gEAAgE;YAChE,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACjE;IACH,CAAC;IAED,yCAAY,GAAZ,UAAa,KAAK;QAAlB,iBAgCC;QA/BC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,GAAG,UAAC,CAAC;YAEpB,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;YACrC,IAAI,IAAI,GAAG,IAAI,UAAU,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,QAAQ,GAAG,6CAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnD,IAAI,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAClD,KAAI,CAAC,SAAS,GAAG,8CAAU,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,eAAc;YAC1F,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;YAErC,KAAI,CAAC,OAAO,GAAG,8CAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;iBACxE;aACF;YACD,KAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,8CAAU,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3F,CAAC;QACD,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAChE,IAAI,CAAC,cAAc,EAAE,CAAC;IAExB,CAAC;IAED,kDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YAEX,CAAC,CAAC,UAAU,CAAC;YAEb,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,oCAAO,GAAP;QACE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAClE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7D,sFAAsF;IACxF,CAAC;IAED,mDAAsB,GAAtB,UAAuB,YAAY,EAAE,UAAU;QAC/C,IAAI,aAAa,GAAG,KAAK,EACvB,UAAU,GAAG,EAAE,CAAC;QAElB,UAAU,CAAC,GAAG,CAAC,UAAU,IAAI;YAC3B,IAAI,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YAE1C,IAAI,gBAAgB,IAAI,UAAU,EAAE;gBAClC,UAAU,CAAC,gBAAgB,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,aAAa,GAAG,IAAI,CAAC;aACtB;iBACI;gBACH,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;gBACpC,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;QACD,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,uDAA0B,GAA1B,UAA2B,GAAG;QAE5B,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,eAAe,GAAG;gBACrB,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBACnD,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC/C,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;gBACjD,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC7C,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACzC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBACnC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACvC,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;gBACjD,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;gBACvD,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACvC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC7C,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC7C,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBACrC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACvC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBACnC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBACrC,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACzC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBACnC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBACnD,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC7C,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC/C,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3C,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBACrC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3C,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBAC7D,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC/C,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE;gBACjE,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC/C,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE;gBACjE,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;gBACjD,EAAE,UAAU,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE;gBACnE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3C,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC/C,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;gBACjD,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;aAE1C,CAAC;SACH;QACD,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,eAAe,GAAG;gBACrB,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBACzD,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3C,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBACnD,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBACnD,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC7C,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC7C,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBACrC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACvC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBACnC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACvC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBACnC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBACnD,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBACnD,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3C,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3C,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;gBACjD,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3C,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;gBACjD,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC/C,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACzC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC/C,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBACjC,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;aAG9D,CAAC;SACH;IACH,CAAC;IAED,sCAAS,GAAT;QACE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACjE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAChE,CAAC;IACD,6CAAgB,GAAhB,UAAiB,MAAM;QACrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC;IAEjC,CAAC;IACD,uCAAU,GAAV;QAAA,iBAiCC;QAhCC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,GAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAE,CAAC;QACzD,IAAI,IAAI,IAAI,SAAS,EAAE;YACrB,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,OAAO,EAAE,KAAK;gBAEpD,SAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAExF,CAAC,CAAC,CAAC;SAEJ;aACI;YACH,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,OAAO,EAAE,KAAK;gBAEtD,IAAI,UAAU,GAAG,IAAI,0DAAQ,EAAE,CAAC;gBAChC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC9C,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5C,SAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,SAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC/D,SAAO,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,eAAe,CAAC,CAAC;YAEzE,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,2CAAc,GAAd;QAAA,iBAUC;QARC,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACzE,QAAQ,CAAC,OAAO,CAAC,iBAAO;YACxB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAE9C,CAAC;IACD,2CAAc,GAAd;QAAA,iBAUC;QATG,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC3E,QAAQ,CAAC,OAAO,CAAC,iBAAO;YACtB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAE9C,CAAC;IACD,4CAAe,GAAf,UAAgB,GAAG;QAAnB,iBAiFC;QA9EC,IAAI,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC;QACjC,IAAI,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC;QAC9E,+BAA+B;QAC/B,KAAK;QAEL,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YACtC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5B,aAAa,GAAG,IAAI,CAAC;SACtB;aACI;YACH,IAAI,GAAG,IAAI,CAAC;YACZ,aAAa,GAAG,KAAK;SACtB;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YACvC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9B,cAAc,GAAG,IAAI;SACtB;aACI;YACH,KAAK,GAAG,IAAI,CAAC;YACb,cAAc,GAAG,KAAK;SACvB;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YACrC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1B,YAAY,GAAG,IAAI,CAAC;SAErB;aACI;YACH,GAAG,GAAG,IAAI,CAAC;YACX,YAAY,GAAG,KAAK;SACrB;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YACvC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9B,cAAc,GAAG,IAAI,CAAC;SACvB;aACI;YACH,KAAK,GAAG,IAAI,CAAC;YACb,cAAc,GAAG,KAAK;SACvB;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YACrC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1B,YAAY,GAAG,IAAI;SACpB;aACI;YACH,GAAG,GAAG,IAAI,CAAC;YACX,YAAY,GAAG,KAAK;SACrB;QAGC,IAAI,UAAU,GAAG,CAAC,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAE,CAAC;QACjE,IAAI,KAAe,CAAC;QAGtB,KAAK,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC;QAC/G,IAAI,UAAU,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAO;gBACrE,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,KAAI,CAAC,OAAO,IAAI,IAAI,EAAE;oBACxB,KAAK,CAAC,0BAA0B,CAAC;iBAClC;qBACI;oBACH,KAAK,CAAC,oBAAoB,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;SAEJ;aACI,IAAI,UAAU,IAAI,UAAU,EAAE;YACjC,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAO;gBACtE,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,KAAI,CAAC,OAAO,IAAI,IAAI,EAAE;oBACxB,KAAK,CAAC,yBAAyB,CAAC;iBACjC;qBACI;oBACH,KAAK,CAAC,oBAAoB,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;SAEJ;IAEL,CAAC;IAED,0CAAa,GAAb,UAAc,GAAG,EAAC,QAAQ;QACxB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAExD,CAAC;IAED,iDAAoB,GAApB;QAEE,IAAI,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,UAAU,GAAG,CAAC,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAE,CAAC;YACjE,IAAI,UAAU,IAAI,UAAU,EAAE;gBAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE;oBAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;iBACvD;aACF;iBACI,IAAI,UAAU,IAAI,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE;oBAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;iBACvD;aACF;SAEF;IACH,CAAC;IACH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+GC3wCD,uXAYqD,YAJpC;;wBAA+C;MAC/C;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAAmC;MAZpD,+pDAYqD,mDAXpC,mBAA2B,cAE3B,mBAAuB,cADvB,mBAAyB,aAKzB,mBAA2C,sBAF3C,mBAAmB,UADnB,mBAAwD,yCAExD,mBAAmB,UANpC,YAYqD,EAXpC,SAA2B,EAE3B,SAAuB,EADvB,SAAyB,EAKzB,SAA2C,EAF3C,SAAmB,EADnB,SAAwD,EAExD,SAAmB;;;;;;;;;;;;;;;;ACJpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0E;AAGG;AACb;AACvB;AAEzC;IAgBE,mCAAmB,oBAA0C,EAAU,iBAAsC,EAAU,MAAc;QAAlH,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAT5H,uBAAkB,GAAG,wBAAwB,CAAC;QAOhD,iBAAY,GAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,wFAAwF;QAC9O,eAAU,GAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM;QAE7I,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,4CAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE1B,CAAC;IACD,iDAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IACD,oDAAgB,GAAhB;QAAA,iBA2BC;QA1BC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG,EAC1B;QACD,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI;YAC3K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI;SACtI,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,EAAC,CAAC,EAAE,EAAC,GAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAClJ,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACxC,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,kBAAkB,EAAC,iBAAiB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,0DAAsB,GAA7B,UAA8B,UAAU,EAAE,SAAS;QAAnD,iBAmBC;QAlBC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACrC,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAClN,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;YACtC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC1C,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBACtF,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAC3B,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,YAAY,EAAzB,CAAyB,CAAC,CAAC;gBAElE,IAAI,SAAS,IAAI,iBAAiB,EAAE;oBAClC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,QAAQ,EAApB,CAAoB,CAAC,CAAC;iBACvE;qBAAM,IAAI,SAAS,IAAI,mBAAmB,EAAE;oBAC3C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,WAAW,EAAvB,CAAuB,CAAC,CAAC;iBAC1E;YAEH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qDAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YAChC,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;YACtE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACR,SAAO,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;SAC9C;aACI;YACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;SAClE;QACD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/D,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,OAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC3D,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;QACzD,CAAC,EAAE,GAAG,CAAC;IACT,CAAC;IAED,oDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE;YACvI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SACpD;QACD,IAAI,qBAAqB,GAAa,EAAE,CAAC;QAEzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAE1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;oBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBAC9D,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;iBACjD,CAAC,CAAC;aACJ;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBACvE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACzI,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC1D,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC9D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC9H,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,EAAE;gBAClK,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7E,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACtE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACtE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC9D,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAClE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACpE,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC5E,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC/D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACtE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;aACrE,CAAC;SACH;IACH,CAAC;IACD,iDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,+CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,iDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,qDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,qFAAsB,EAAE,CAAC;QAEhE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;QAExB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QACD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,wBAAwB,EAAC,CAAC,EAAE,EAAC,GAAE,CAAC;QAC1I,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACtE;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACH,gCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GC3LD,gJAA6C,KAC3C,yLAAoD,YAAxC;;wBAAuC;MAAnD,ivBAAoD;2GAQ9C,+LAAqR,YAA3C;;wBAA0C;MAApR,++BAAqR,mDAAhO,mBAA2B,cAAC,mBAAmB,UAAkH,mBAAmB,UAApI,kBAAU,EAAC,kBAAgB,EAAC,0BAAuB,EAAC,iEAA4D,GAArN,YAAqR,EAAhO,SAA2B,EAAC,SAAmB,EAAkH,SAAmB,EAApI,SAAU,EAAC,SAAgB,EAAC,SAAuB,EAAC,SAA4D;2GAJ3N,kPAAmI,KAEjI,kOAA0H,KACxH,gLAAoD,KAClD,+YAAqR,IAEvR,skBAA+P,IAE7P,mLAAuD,KAErD,qJAA+B,8HAAO,8FAAiB,MACvD,+MAA4E,KAC1E,8VAYqD,YAJpC;;wBAAuC;MACvC;;wBAAmC;MACnC;;wBAAuC;MACvC;;wBAA0C;MAC1C;;wBAAmC;MAZpD,snDAYqD,mDApBxC,kDAAmC,GAApD,YAAqR,EAApQ,SAAmC,GAEjD,4NAAwM,GAA7M,YAA+P,EAA1P,SAAwM,GAQtL,mBAA2B,cAG3B,mBAA8B,qBAF9B,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAPpC,aAYqD,EAVpC,SAA2B,EAG3B,SAA8B,EAF9B,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,mDAjBJ,mDAA2C,GAAnF,YAA0H,EAAlF,SAA2C;2GAyH3E,sJAAoE,6OAA0D;2GAiB9H,mNAA6H,KAC3H,2NAA+F,0HAAG,4IAAkC,IAEpI,wMAA4E,gFAAwB,iCAFF,8OAAkC,GAExD,6EAAwB;2GA5G9G,mLAAmF,KAEjF,oRAAwJ,KACtJ,6IAAuB,8HAAO,yFAAY,MAC1C,4IAAsB,KACpB,sPAAqG,YAA7F;;wBAAwB;MAAhC,wBAAqG,KACnG,4NAA4F,KAKlG,uQAA0I,KAExI,sMAA0E,KACxE,wKAA2C,KACzC,qJAA8B,qFAAQ,MAExC,wKAA2C,KACzC,qKAA8C,+IAAwC,IAI1F,mLAAsD,KACpD,wKAA2C,KACzC,qJAA8B,qFAAQ,MAExC,wKAA2C,KACzC,qJAA8B,kFAA4B,MAI9D,mLAAsD,KACpD,wKAA2C,KACzC,qJAA8B,kFAAK,MAErC,wKAA2C,KACzC,uJAAgC,kFAAyB,MAG7D,mLAAsD,KACpD,wKAA2C,KACzC,qJAA8B,kFAAK,MAErC,wKAA2C,KACzC,uJAAgC,kFAA6B,MAIjE,mLAAsD,KACpD,wKAA2C,KACzC,qJAA8B,kFAAK,MAErC,wKAA2C,KACzC,uJAAgC,+IAA4D,IAMhG,mLAAsD,KACpD,wKAA2C,KACzC,qJAA8B,qFAAQ,MAExC,wKAA2C,KACzC,uJAAgC,kFAAqB,MAGzD,mLAAsD,KACpD,wKAA2C,KACzC,qJAA8B,mFAAM,MAEtC,wKAA2C,KACzC,uJAAgC,kFAAuB,MAG3D,mLAAsD,KACpD,wKAA2C,KACzC,qJAA8B,sFAAS,MAEzC,wKAA2C,KACzC,uJAAgC,kFAAuB,MAG3D,mLAAsD,KACpD,wKAA2C,KACzC,qJAA8B,qFAAQ,MAExC,wKAA2C,KACzC,gZAAoE,IAIxE,mLAAsD,KACpD,wKAA2C,KACzC,qJAA8B,0FAAa,MAE7C,wKAA2C,KACzC,uJAAgC,kFAA0B,MAKhE,0PAA6H,KAC3H,qQAAwI,KACtI,yKAA4C,KAC1C,ydAA6H,IAM/H,qKAAwC,KACtC,8RAAwJ,YAArC;;wBAAoC;MAAvJ,wBAAwJ,kDAxBjJ,kDAAmC,GAA1C,aAAoE,EAA7D,SAAmC,GAiB6C,oBAAqC,mBAA5H,aAA6H,EAAtC,UAAqC,mDAvF9E,6NAAwC,GASxD,qEAA4B,GAS1B,kEAAyB,GAQzB,sEAA6B,GAS7B,sPAA4D,GAW5D,8DAAqB,GAQrB,gEAAuB,GAQvB,gEAAuB,GAiBvB,mEAA0B;2GA6B5D,6OAAuJ,KACrJ,2NAA+F,0HAAG,4IAAkC,IAEpI,wMAA4E,gFAAwB,iCAFF,8OAAkC,GAExD,6EAAwB;2GAX5G,gLAAgF,KAC9E,yNAA6F,KAC3F,uQAA2I,KACzI,yHAAO,yFAAa,MACpB,uKAAiD,KAAC,4PAAkH,YAAtC;;wBAAqC;MAAjH,wBAAkH,KAGtK,uMAA2E,KACzE,wdAAuJ,iDAAtC,mBAAqC,mBAAtJ,YAAuJ,EAAtC,SAAqC;2GAlKhK,8MAA+H,KAC7H,+YAAmI,IAkCnI,gLAAoD,KAClD,+YAAmF,IAsHnF,+YAAgF,iDAzJ6B,oBAAmB,aAAlI,YAAmI,EAApB,SAAmB,GAmC1E,oBAA4B,sBAAlF,YAAmF,EAA7B,SAA4B,GAsH9B,mBAA2B,sBAA/E,YAAgF,EAA5B,SAA2B,mDA1JzC,iDAA0C,GAApF,YAA+H,EAArF,SAA0C;4GA8KpF,mNAA4I,YAAhI;;wBAA6B;MAA8C;;wBAAoD;MAA3I,+ZAA4I,MAC1I,s5CAIiC,iDALvB,mBAA6B,kBAAzC,YAA4I,EAAhI,SAA6B,GAGxB,mBAAoB,aACpB,yBAAiB,EACjB,qBAAiB,EAHjB,6BAAiC,EADhD,YAIiC,EAFlB,SAAoB,EACpB,SAAiB,EACjB,SAAiB,EAHjB,SAAiC;4GAOhD,mMAAoI,YAAtC;;wBAAqC;MAAnI,69BAAoI,mDAAvF,mBAA6B,aAAC,yBAAkB,EAA7F,YAAoI,EAAvF,SAA6B,EAAC,SAAkB;4GAC7F,6wBAA8F,iDAAjD,mBAA6B,aAAC,yBAAkB,EAA7F,YAA8F,EAAjD,SAA6B,EAAC,SAAkB;4GAF/F,kNAAoL,YAAxK;;wBAAgC;MAA5C,6dAAoL,MAClL,6YAAoI,IACpI,6YAA8F,iDAFJ,sDAAyC,GAAzH,mBAAgC,qBAA0F,sDAA6C,GAAnL,YAAoL,EAAxF,SAAyC,EAAzH,SAAgC,EAA0F,SAA6C,GAC3J,qCAAsB,GAA5C,YAAoI,EAA9G,SAAsB,GACtB,qCAAsB,GAA5C,YAA8F,EAAxE,SAAsB;4GAG9C,kNAAsI,YAA1H;;wBAAgC;MAA5C,6dAAsI,MACpI,8LAAsH,YAA7C;;wBAA4C;MAArH,+9CAAsH,mDAD5B,qBAAkB,EAAlG,mBAAgC,qBAAmE,qBAAsB,EAArI,YAAsI,EAA1C,SAAkB,EAAlG,SAAgC,EAAmE,SAAsB,GACtG,mBAAwB,aAAxC,iBAAe,EAA0B,yBAAkB,EAAxE,YAAsH,EAAzF,SAAwB,EAAxC,SAAe,EAA0B,SAAkB;4GAI1E,wNAA6I,YAAjI;;wBAAiC;MAA7C,6dAA6I,MAC3I,oKAA0C,KACxC,qMAAyE,KACvE,yKAAoD,yGAA4B,MAElF,iLAAoD,KAClD,iMAAoE,KAClE,gLAAoD,KAClD,sKAA0C,kFAAK,MAC/C,wKAA2C,8IAAoD,IAEjG,iLAAoD,KAClD,uKAA0C,kFAAK,MAC/C,wKAA2C,gNAAqE,IAElH,iLAAoD,KAClD,uKAA0C,uFAAU,MACpD,wKAA2C,iFAAwB,MAErE,iLAAoD,KAClD,uKAA0C,qFAAQ,MAClD,wKAA2C,iFAA2B,MAExE,iLAAoD,KAClD,uKAA0C,qFAAQ,MAClD,wKAA2C,iFAAuB,MAGtE,uMAA0E,KACxE;;;;;;;;;;;wBAAgM;MAAlG;;wBAAyC;MAAvI,mwDAAgM,IAElM,uMAA0E,KACxE,8IAAuB,KACvB,sKAAyC,qQAA2G,YAA5B;;wBAA2B;MAA1G,wBAA2G,+EAAE,MACtJ,sKAAyC,wTAAwK,YAAtC;;wBAAqC;MAAvK,wBAAwK,mFAAM,mDAlC5H,qBAAkB,EAAzG,mBAAiC,sBAAyE,qBAAsB,EAA5I,YAA6I,EAA1C,SAAkB,EAAzG,SAAiC,EAAyE,SAAsB,GA6BmD,mBAAQ,EAA/L,aAAgM,EAAT,UAAQ,GAAxH,kCAAsB,EAAC,oBAAyC,8BAAvI,aAAgM,EAAzH,UAAsB,EAAC,UAAyC,mDApB1F,yOAAoD,GAIpD,mZAAqE,GAIrE,kEAAwB,GAIxB,qEAA2B,GAI3B,iEAAuB,GAIpE,k1BAAgM;4GA+B9L,yMAAiG,KAC/F,yHAAO,qFAAQ;4GAQX,yMAAiG,KAC/F,yHAAO,4OAAyD;4GASlE,yMAAiG,KAC/F,yHAAO,8MAA4B;4GASrC,0MAAkG,KAChG,yHAAO,0MAAwB;4GASjC,0MAAkG,KAChG,yHAAO,6MAA2B;4GAe5B,gzBAA+G,+EAAiB,2BAAxH,sHAAsB,GAA9B,YAA+G,EAAvG,kIAAsB,GAA9B,YAA+G,EAAvG,SAAsB,2BAAgC,qEAAgD,GAA9G,YAA+G,EAAjD,SAAgD,GAAC,sEAAiB;4GA0BhI,gyBAA8D,+EAAiB,2BAAvE,sHAAsB,GAA9B,YAA8D,EAAtD,kIAAsB,GAA9B,YAA8D,EAAtD,SAAsB,2BAAgC,sEAAiB;4GAqBjF,8OAAmJ,YAAnD;;;wBAAkD;MAAlJ,wBAAmJ;4GACrJ,+OAAoJ,YAAlD;;;wBAAiD;MAAnJ,wBAAoJ;4GAGlJ,8OAAqJ,YAApD;;;wBAAmD;MAApJ,wBAAqJ;4GACvJ,+OAAsJ,YAAnD;;;wBAAkD;MAArJ,wBAAsJ;4GAGpJ,8OAA2J,YAAxD;;;wBAAqD;MAAxJ,wBAA2J;4GAC7J,+OAA0J,YAArD;;;wBAAoD;MAAzJ,wBAA0J;4GAGxJ,8OAAuJ,YAArD;;;wBAAoD;MAAtJ,wBAAuJ;4GACzJ,+OAAwJ,YAApD;;;wBAAmD;MAAvJ,wBAAwJ;4GAGtJ,8OAAmJ,YAAnD;;;wBAAkD;MAAlJ,wBAAmJ;4GACrJ,+OAAoJ,YAAlD;;;wBAAiD;MAAnJ,wBAAoJ;4GAGlJ,8OAAuJ,YAArD;;;wBAAoD;MAAtJ,wBAAuJ;4GACzJ,+OAAwJ,YAApD;;;wBAAmD;MAAvJ,wBAAwJ;4GAGtJ,8OAAmJ,YAAnD;;;wBAAkD;MAAlJ,wBAAmJ;4GACrJ,+OAAoJ,YAAlD;;;wBAAiD;MAAnJ,wBAAoJ;4GAuB5I,gYAA8R,YAA9F;;wBAAuC;MAAvO,wBAA8R,yFAAY,iCAArC,kBAAwB,kCAA7R,YAA8R,EAAzB,SAAwB;4GAC7R,8XAA6R,YAA9E;;wBAAiD;MAAC;;wBAA2B;MAA5R,wBAA6R,mFAAM;4GAJzS,uKAA6E,KAC3E,uKAA0C,KACxC,kLAAsD,KACpD,gZAA8R,IAC9R,gZAA6R,IAE/R,yLAA6D,gFAAgB,MAC7E,2LAA+D,iFAAa,MAC5E,4LAA+D,mJAAuC,IACtG,4LAA+D,oJAAwC,yBANmI,qDAA4B,GAApQ,YAA8R,EAAtD,SAA4B,GACjF,oDAA2B,GAA9M,YAA6R,EAA1G,SAA2B,2BAEnJ,qEAAgB,GACd,mEAAa,GACb,sSAAuC,GACvC,sSAAwC;4GA/GnH,8LAAqF,KACnF,mMAAsE,KACpE,qMAAyE,KACvE,yHAAO,mFAAM,MAEf,sLAAyD,KACvD,mLAAsD,KAEpD;;;;;wBAAwI;MAAlF;;wBAAsB;MAAC;;;wBAA0D;MAAvI,2vDAAwI,IACtI,ozBAAqB,uFAAW,MAChC,0dAA+G,IAInH,oLAAsD,KACpD;;;;;wBAAwI;MAAlF;;wBAAsB;MAAC;;;wBAA0D;MAAvI,6vDAAwI,IACtI,ozBAAqB,kFAAM,MAC3B,izBAAkB,6FAAiB,MACnC,izBAAkB,oFAAQ,MAC1B,izBAAkB,sFAAU,MASpC,oMAAsE,KACpE,wMAA2E,KAG3E,uLAAyD,KACvD,oLAAsD,KACpD;;;;;wBAAwI;MAAlF;;wBAAsB;MAAC;;;wBAA0D;MAAvI,6vDAAwI,IACtI,ozBAAqB,kFAAM,MAC3B,0dAA8D,IAIlE,oLAAsD,KACpD;;;;;wBAAsJ;MAAzF;;wBAA6B;MAAC;;;wBAA0D;MAArJ,6vDAAsJ,IACpJ,ozBAAqB,kFAAM,MAC3B,40BAAoC,sFAAU,MAC9C,4zBAA6B,wFAAY,MACzC,i0BAAkC,6FAAiB,MAS3D,gLAAmD,KACnD,iLAAmD,KACjD,2LAA8D,gFAC1D,uZAAmJ,IACrJ,iZAAoJ,mFACtJ,MACA,2LAA8D,gFAC1D,wZAAqJ,IACvJ,kZAAsJ,mFACxJ,MACA,4LAA8D,gFAC1D,wZAA2J,IAC7J,kZAA0J,mFAC5J,MACA,4LAA8D,gFAC1D,wZAAuJ,IACzJ,kZAAwJ,mFAC1J,MACA,4LAA8D,gFAC1D,wZAAmJ,IACrJ,kZAAoJ,mFACtJ,MACA,4LAA8D,gFAC1D,wZAAuJ,IACzJ,kZAAwJ,mFAC1J,MACA,4LAA8D,gFAC1D,wZAAmJ,IACrJ,kZAAoJ,mFACtJ,MAGF,mLAAoD,KAClD,6LAA8D,KAE5D,gNAA2E,KACzE,kLAAmD,KACjD,sKAAwC,KACtC,yMAA2E,KACzE,2QAAyH,YAAhC;;wBAA+B;MAAxH,wBAAyH,KAG7H,yLAA2D,KAC3D,0LAA4D,iFAAK,MACjE,iLAAmD,iFAAI,MACvD,oLAAsD,iFAAI,MAC1D,oLAAsD,+EAAE,MAE1D,2dAA6E,iDA9FhC,kBAAQ,EAArD,YAAwI,EAA3F,SAAQ,GAAxB,0BAAe,EAAU,oBAAsB,WAA5E,aAAwI,EAA3G,SAAe,EAAU,UAAsB,GAClE,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACW,oBAA8B,YAA7D,aAA+G,EAAhF,UAA8B,GAKlB,mBAAQ,EAArD,aAAwI,EAA3F,UAAQ,GAAxB,2BAAe,EAAU,oBAAsB,WAA5E,aAAwI,EAA3G,UAAe,EAAU,UAAsB,GAClE,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GAe0B,mBAAQ,EAArD,aAAwI,EAA3F,UAAQ,GAAxB,2BAAe,EAAU,oBAAsB,WAA5E,aAAwI,EAA3G,UAAe,EAAU,UAAsB,GAClE,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACW,oBAA8B,YAA7D,aAA8D,EAA/B,UAA8B,GAKX,mBAAQ,EAA5D,aAAsJ,EAAlG,UAAQ,GAA/B,kCAAsB,EAAU,oBAA6B,kBAA1F,aAAsJ,EAAzH,UAAsB,EAAU,UAA6B,GAChF,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,6BAAkB,EAA1B,aAAoC,EAA5B,0CAAkB,EAA1B,aAAoC,EAA5B,UAAkB,GAClB,+BAAoB,EAA5B,aAA6B,EAArB,4CAAoB,EAA5B,aAA6B,EAArB,UAAoB,GACpB,oCAAyB,EAAjC,aAAkC,EAA1B,iDAAyB,EAAjC,aAAkC,EAA1B,UAAyB,GAY2B,+CAAiC,GAA/F,aAAmJ,EAArF,UAAiC,GAClC,gDAAkC,GAAjG,aAAoJ,EAArF,UAAkC,GAGjC,gDAAkC,GAAhG,cAAqJ,EAAvF,UAAkC,GACnC,iDAAmC,GAAlG,cAAsJ,EAAvF,UAAmC,GAGlC,kDAAoC,GAAlG,cAA2J,EAA7F,UAAoC,GACrC,mDAAqC,GAApG,cAA0J,EAA3F,UAAqC,GAGpC,iDAAmC,GAAjG,cAAuJ,EAAzF,UAAmC,GACpC,kDAAoC,GAAnG,cAAwJ,EAAzF,UAAoC,GAGnC,+CAAiC,GAA/F,cAAmJ,EAArF,UAAiC,GAClC,gDAAkC,GAAjG,cAAoJ,EAArF,UAAkC,GAGjC,iDAAmC,GAAjG,cAAuJ,EAAzF,UAAmC,GACpC,kDAAoC,GAAnG,cAAwJ,EAAzF,UAAoC,GAGnC,+CAAiC,GAA/F,cAAmJ,EAArF,UAAiC,GAClC,gDAAkC,GAAjG,cAAoJ,EAArF,UAAkC,GAoBrD,oBAAkC,gBAA5E,cAA6E,EAAnC,UAAkC,2BA9F5E,k0BAAwI,GAOxI,o1BAAwI,GAmBxI,o1BAAwI,GAOxI,o1BAAsJ;4GAgF9J,8MAAsH,KACpH,qKAAyC,KACvC,mMAAuE,KACrE,yHAAO,oFAAO,MAEhB,yMAA6E,8IAE7E,IAEF,qKAAyC,KACvC,8LAAkE,KAChE,0HAAO,iFAAI,MAEb,0MAA6E,wFAE7E,yDAV6E,2PAE7E,GAM6E,iHAE7E;4GAlLR,0MAAiG,KAC/F,8IAAuB,KACrB,ygBAAmG,GAAhD,qEAA+C,MAChG,8LAAkE,KAChE,yHAAO,qFAAQ,MAEjB,gZAAiG,IAMnG,6hBAAqH,GAAhD,sEAA+C,MAClH,qMAAwE,KACtE,0HAAO,oFAAO,MAEhB,iZAAiG,IAMnG,6hBAAqH,GAAhD,sEAA+C,MAClH,+LAAkE,KAChE,0HAAO,oFAAO,MAEhB,iZAAkG,IAMpG,8hBAAsH,GAAhD,sEAA+C,MACnH,+LAAkE,KAChE,0HAAO,uFAAU,MAEnB,iZAAkG,IAMpG,iZAAqF,IAyHrF,iZAAsH,IAoBxH,yKAA4C,KAC1C,wPAAoG,YAAlD;;wBAA0B;MAA5E,wBAAoG,kDAtLjD,0DAA+C,IAAlG,YAAmG,EAAhD,SAA+C,GAI3F,gCAAmB,GAAxB,YAAiG,EAA5F,SAAmB,GAM2C,2DAA+C,IAApH,aAAqH,EAAhD,SAA+C,GAI7G,gCAAmB,GAAxB,aAAiG,EAA5F,SAAmB,GAM2C,2DAA+C,IAApH,aAAqH,EAAhD,SAA+C,GAI7G,gCAAmB,GAAxB,aAAkG,EAA7F,SAAmB,GAM4C,2DAA+C,IAArH,aAAsH,EAAhD,SAA+C,GAI9G,gCAAmB,GAAxB,aAAkG,EAA7F,SAAmB,GAMsC,mBAAoB,eAApF,aAAqF,EAArB,SAAoB,GAyH/E,sDAAoC,IAAzC,aAAsH,EAAjH,SAAoC;4GAkCrC,gyBAAqF,iFAErF,2BAFmE,mHAAiB,GAApF,YAAqF,EAAlB,+HAAiB,GAApF,YAAqF,EAAlB,SAAiB,2BAAC,sEAErF;4GAiCA,gyBAA4D,iFAE5D,2BAF0C,mHAAiB,GAA3D,YAA4D,EAAlB,+HAAiB,GAA3D,YAA4D,EAAlB,SAAiB,2BAAC,sEAE5D;4GAauB,wHAA+B,gMAAsB;4GAD5E,gzBAA2E,iFACpD,sZAA+B,yBADT,mHAAoB,GAAjE,YAA2E,EAA9B,+HAAoB,GAAjE,YAA2E,EAA9B,SAAoB,GACpC,kBAAwB,6BAA9B,YAA+B,EAAzB,SAAwB,2BADsB,sEACpD;4GAgBnB,gzBAA+G,+EAAiB,2BAAxH,sHAAsB,GAA9B,YAA+G,EAAvG,kIAAsB,GAA9B,YAA+G,EAAvG,SAAsB,2BAAgC,qEAAgD,GAA9G,YAA+G,EAAjD,SAAgD,GAAC,sEAAiB;4GA0BhI,gyBAA8D,+EAAiB,2BAAvE,sHAAsB,GAA9B,YAA8D,EAAtD,kIAAsB,GAA9B,YAA8D,EAAtD,SAAsB,2BAAgC,sEAAiB;4GAqBjF,8OAAmJ,YAAnD;;;wBAAkD;MAAlJ,wBAAmJ;4GACrJ,+OAAoJ,YAAlD;;;wBAAiD;MAAnJ,wBAAoJ;4GAGlJ,8OAAqJ,YAApD;;;wBAAmD;MAApJ,wBAAqJ;4GACvJ,+OAAsJ,YAAnD;;;wBAAkD;MAArJ,wBAAsJ;4GAGpJ,8OAA2J,YAAxD;;;wBAAqD;MAAxJ,wBAA2J;4GAC7J,+OAA0J,YAArD;;;wBAAoD;MAAzJ,wBAA0J;4GAGxJ,8OAAuJ,YAArD;;;wBAAoD;MAAtJ,wBAAuJ;4GACzJ,+OAAwJ,YAApD;;;wBAAmD;MAAvJ,wBAAwJ;4GAGtJ,8OAAmJ,YAAnD;;;wBAAkD;MAAlJ,wBAAmJ;4GACrJ,+OAAoJ,YAAlD;;;wBAAiD;MAAnJ,wBAAoJ;4GAGlJ,8OAAuJ,YAArD;;;wBAAoD;MAAtJ,wBAAuJ;4GACzJ,+OAAwJ,YAApD;;;wBAAmD;MAAvJ,wBAAwJ;4GAGtJ,8OAAmJ,YAAnD;;;wBAAkD;MAAlJ,wBAAmJ;4GACrJ,+OAAoJ,YAAlD;;;wBAAiD;MAAnJ,wBAAoJ;4GAuB5I,gYAA8R,YAA9F;;wBAAuC;MAAvO,wBAA8R,yFAAY,iCAArC,kBAAwB,kCAA7R,YAA8R,EAAzB,SAAwB;4GAC7R,8XAA6R,YAA9E;;wBAAiD;MAAC;;wBAA2B;MAA5R,wBAA6R,mFAAM;4GAJzS,uKAA6E,KAC3E,uKAA0C,KACxC,kLAAsD,KACpD,gZAA8R,IAC9R,gZAA6R,IAE/R,yLAA6D,gFAAgB,MAC7E,2LAA+D,iFAAa,MAC5E,4LAA+D,mJAAuC,IACtG,4LAA+D,oJAAwC,yBANmI,qDAA4B,GAApQ,YAA8R,EAAtD,SAA4B,GACjF,oDAA2B,GAA9M,YAA6R,EAA1G,SAA2B,2BAEnJ,qEAAgB,GACd,mEAAa,GACb,sSAAuC,GACvC,sSAAwC;4GA/GnH,8LAAqF,KACnF,mMAAsE,KACpE,qMAAyE,KACvE,yHAAO,mFAAM,MAEf,sLAAyD,KACvD,mLAAsD,KAEpD;;;;;wBAAwI;MAAlF;;wBAAsB;MAAC;;;wBAA0D;MAAvI,2vDAAwI,IACtI,ozBAAqB,uFAAW,MAChC,0dAA+G,IAInH,oLAAsD,KACpD;;;;;wBAAwI;MAAlF;;wBAAsB;MAAC;;;wBAA0D;MAAvI,6vDAAwI,IACtI,ozBAAqB,kFAAM,MAC3B,izBAAkB,6FAAiB,MACnC,izBAAkB,oFAAQ,MAC1B,izBAAkB,sFAAU,MASpC,oMAAsE,KACpE,wMAA2E,KAG3E,uLAAyD,KACvD,oLAAsD,KACpD;;;;;wBAAwI;MAAlF;;wBAAsB;MAAC;;;wBAA0D;MAAvI,6vDAAwI,IACtI,ozBAAqB,kFAAM,MAC3B,0dAA8D,IAIlE,oLAAsD,KACpD;;;;;wBAAsJ;MAAzF;;wBAA6B;MAAC;;;wBAA0D;MAArJ,6vDAAsJ,IACpJ,ozBAAqB,kFAAM,MAC3B,40BAAoC,sFAAU,MAC9C,4zBAA6B,wFAAY,MACzC,i0BAAkC,6FAAiB,MAS3D,gLAAmD,KACnD,iLAAmD,KACjD,2LAA8D,gFAC1D,uZAAmJ,IACrJ,iZAAoJ,mFACtJ,MACA,2LAA8D,gFAC1D,wZAAqJ,IACvJ,kZAAsJ,mFACxJ,MACA,4LAA8D,gFAC1D,wZAA2J,IAC7J,kZAA0J,mFAC5J,MACA,4LAA8D,gFAC1D,wZAAuJ,IACzJ,kZAAwJ,mFAC1J,MACA,4LAA8D,gFAC1D,wZAAmJ,IACrJ,kZAAoJ,mFACtJ,MACA,4LAA8D,gFAC1D,wZAAuJ,IACzJ,kZAAwJ,mFAC1J,MACA,4LAA8D,gFAC1D,wZAAmJ,IACrJ,kZAAoJ,mFACtJ,MAGF,mLAAoD,KAClD,6LAA8D,KAE5D,gNAA2E,KACzE,kLAAmD,KACjD,sKAAwC,KACtC,yMAA2E,KACzE,2QAAyH,YAAhC;;wBAA+B;MAAxH,wBAAyH,KAG7H,yLAA2D,KAC3D,0LAA4D,iFAAK,MACjE,iLAAmD,iFAAI,MACvD,oLAAsD,iFAAI,MAC1D,oLAAsD,+EAAE,MAE1D,2dAA6E,iDA9FhC,kBAAQ,EAArD,YAAwI,EAA3F,SAAQ,GAAxB,0BAAe,EAAU,oBAAsB,WAA5E,aAAwI,EAA3G,SAAe,EAAU,UAAsB,GAClE,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACW,oBAA8B,YAA7D,aAA+G,EAAhF,UAA8B,GAKlB,mBAAQ,EAArD,aAAwI,EAA3F,UAAQ,GAAxB,2BAAe,EAAU,oBAAsB,WAA5E,aAAwI,EAA3G,UAAe,EAAU,UAAsB,GAClE,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GAe0B,mBAAQ,EAArD,aAAwI,EAA3F,UAAQ,GAAxB,2BAAe,EAAU,oBAAsB,WAA5E,aAAwI,EAA3G,UAAe,EAAU,UAAsB,GAClE,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACW,oBAA8B,YAA7D,aAA8D,EAA/B,UAA8B,GAKX,mBAAQ,EAA5D,aAAsJ,EAAlG,UAAQ,GAA/B,kCAAsB,EAAU,oBAA6B,kBAA1F,aAAsJ,EAAzH,UAAsB,EAAU,UAA6B,GAChF,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,6BAAkB,EAA1B,aAAoC,EAA5B,0CAAkB,EAA1B,aAAoC,EAA5B,UAAkB,GAClB,+BAAoB,EAA5B,aAA6B,EAArB,4CAAoB,EAA5B,aAA6B,EAArB,UAAoB,GACpB,oCAAyB,EAAjC,aAAkC,EAA1B,iDAAyB,EAAjC,aAAkC,EAA1B,UAAyB,GAY2B,+CAAiC,GAA/F,aAAmJ,EAArF,UAAiC,GAClC,gDAAkC,GAAjG,aAAoJ,EAArF,UAAkC,GAGjC,gDAAkC,GAAhG,cAAqJ,EAAvF,UAAkC,GACnC,iDAAmC,GAAlG,cAAsJ,EAAvF,UAAmC,GAGlC,kDAAoC,GAAlG,cAA2J,EAA7F,UAAoC,GACrC,mDAAqC,GAApG,cAA0J,EAA3F,UAAqC,GAGpC,iDAAmC,GAAjG,cAAuJ,EAAzF,UAAmC,GACpC,kDAAoC,GAAnG,cAAwJ,EAAzF,UAAoC,GAGnC,+CAAiC,GAA/F,cAAmJ,EAArF,UAAiC,GAClC,gDAAkC,GAAjG,cAAoJ,EAArF,UAAkC,GAGjC,iDAAmC,GAAjG,cAAuJ,EAAzF,UAAmC,GACpC,kDAAoC,GAAnG,cAAwJ,EAAzF,UAAoC,GAGnC,+CAAiC,GAA/F,cAAmJ,EAArF,UAAiC,GAClC,gDAAkC,GAAjG,cAAoJ,EAArF,UAAkC,GAoBrD,oBAAkC,gBAA5E,cAA6E,EAAnC,UAAkC,2BA9F5E,k0BAAwI,GAOxI,o1BAAwI,GAmBxI,o1BAAwI,GAOxI,o1BAAsJ;4GAiGxJ,uKAA8D,KAC5D;;;qwBAA8H,IAC5H,6XAAoJ,YAA9H;;wBAAgC;MAAoC;;;wBAAyD;MAAnJ,+yDAAoJ,IAGtJ,kOAAoG,KAClG,sKAAyC,KACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAA0Q;MAA/I;;yBAAgC;MAA3J,k8DAA0Q,IAE5Q,sKAAyC;;;;;;;;;;;;;;;;;;kqBAAiM,iDAR3K,wBAAkB,EAAzD,6BAAmB,EAAC,oBAAkB,EAAiC,oBAA4B,EAAzC,uBAAY,EAAhG,YAA8H,EAA7D,SAAkB,EAAzD,SAAmB,EAAC,SAAkB,EAAiC,SAA4B,EAAzC,SAAY,GACzB,qBAAoB,EAAzF,YAAoJ,EAA/E,UAAoB,GAAlC,yBAAa,EAA9C,oBAAgC,qBAAtD,YAAoJ,EAA7F,UAAa,EAA9C,UAAgC,GAKyD,yBAAa,EAAC,oBAAgC,qBAA3J,aAA0Q,EAA7J,UAAa,EAAC,UAAgC,GAA/H,yEAAmB,GAAqC,sBAAwB,EAA5D,qBAAmC,EAAnF,aAA0Q,EAA9O,UAAmB,EAAqC,UAAwB,EAA5D,UAAmC,GAEA,yEAAmB,GAA8D,+BAA+B,EAAxD,sBAAwB,EAA5D,qBAAmC,EAAnG,aAAiM,EAArJ,UAAmB,EAA8D,UAA+B,EAAxD,UAAwB,EAA5D,UAAmC,mDAP5I,ktBAAoJ,GAKkE,mHAA8B,GAAlP,gpBAA0Q,EAAtD,UAA8B,EAAlP,kFAA0Q;4GAzBtR,8MAAuG,KAErG,8LAAkE,KAChE,yHAAO,iFAAI,MAEb,oLAAwD,kFAExD,MAEA,8KAAkD,KAChD,qKAAyC,KACvC,6MAAiF,KAC/E,yHAAO,kFAAK,MAIhB,6KAAgD,KAE9C,iZAA8D,IAiBlE,iMAAoE,KAAC,sNAAiE,YAA1D;;wBAAqB;MAA5B,wBAAiE,8HAAM,KAAC,4LAAiE,kDAjBhK,gCAAmB,GAA7D,aAA8D,EAApB,SAAmB,mDAbT,yEAExD;4GAhMJ,sKAA6D,KAC3D,0gBAAmG,GAAhD,qEAA+C,MAChG,8LAAkE,KAChE,yHAAO,qFAAQ,MAEjB,sLAAyD,KACvD;;;;;wBACuD;MADK;;;;wBAAsE;MAC1H;;wBAAqC;MAD7C,4vDACuD,IACrD,ozBAAqB,6FAAiB,MACtC,0dAAqF,IAO3F,+hBAAsH,GAAhD,sEAA+C,MACnH,qMAAwE,KACtE,0HAAO,oFAAO,MAGhB,uLAAyD,KACvD,sLAAyD,KACvD,+TAAqN,YAA7E;;;wBAA4E;MAApN,wBAAqN,wLAAsD,KAAO,6EAAK,MAEzR,uLAA0D,KACxD,4VAA6Q,YAAhF;;;wBAA+E;MAA5Q,wBAA6Q,6LAA2D,KAAO,kFAAU,MAE3V,sKAAyC,KACvC,mUAA2N,YAA/E;;;wBAA8E;MAA1N,wBAA2N,2LAAyD,KAAO,+EAAO,MAEpS,sKAAyC,KACvC,qUAA+N,YAAjF;;;wBAAgF;MAA9N,wBAA+N,6LAA2D,KAAO,kFAAU,MAMjT,8hBAAqH,GAAhD,sEAA+C,MAClH,+LAAkE,KAChE,0HAAO,oFAAO,MAEhB,uLAAyD,KACvD;;;;;wBAAuL;MAAhI;;wBAAoC;MAAC;;;;wBAAiF;MAA7K,6vDAAuL,IACrL,0dAA4D,IAOlE,giBAAuH,GAAhD,sEAA+C,MACpH,+LAAkE,KAChE,0HAAO,uFAAU,MAEnB,uLAAyD,KACvD;;;;;wBAAqL;MAApH;;wBAAmC;MAAU;;;wBAAsE;MAApL,6vDAAqL,IACnL,s1BAAgD,0FAAc,MAC9D,0dAA2E,IAOjF,iZAAqF,IAwHrF,iZAAuG,iDAxLpD,0DAA+C,IAAlG,YAAmG,EAAhD,SAA+C,GAMhD,kBAAQ,EADtD,aACuD,EAAT,SAAQ,GADzB,0CAA8B,EACnD,oBAAqC,0BAD7C,aACuD,EAD1B,UAA8B,EACnD,UAAqC,GACnC,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,oBAA0D,mCAAlE,aAAqF,EAA7E,UAA0D,GAOF,4DAA+C,IAArH,aAAsH,EAAhD,UAA+C,GAsBhD,4DAA+C,IAApH,aAAqH,EAAhD,UAA+C,GAK8D,mBAAQ,EAAtL,aAAuL,EAAT,UAAQ,GAA/I,2BAAe,EAAC,oBAAoC,yBAA3F,aAAuL,EAAhJ,UAAe,EAAC,UAAoC,GACjF,oBAAiC,eAAzC,aAA4D,EAApD,UAAiC,GAOwB,4DAA+C,IAAtH,aAAuH,EAAhD,UAA+C,GAKb,mBAAQ,EAA7G,aAAqL,EAAhF,UAAQ,GAA/D,8BAAkB,EAAC,oBAAmC,wBAApG,aAAqL,EAAvI,UAAkB,EAAC,UAAmC,GAC1F,uBAAY,EAApB,aAAgD,EAAxC,oCAAY,EAApB,aAAgD,EAAxC,UAAY,GACZ,oBAAoC,cAA5C,aAA2E,EAAnE,UAAoC,GAOc,oBAAoB,eAApF,aAAqF,EAArB,UAAoB,GAwH/E,qBAAqB,eAA1B,aAAuG,EAAlG,UAAqB,mDAnLtB,m0BACuD,GAmByF,iDAA8C,GAA5L,aAA6Q,EAA/H,UAA8C,GAiB9L,o1BAAuL,GAavL,o1BAAqL,GACrJ,qBAAiB,EAA/C,aAAgD,EAAlB,UAAiB;4GAwKrD,8LAAuF,KACrF,yHAAO,mFAAM,MACb,sHAAM,2HAAM;4GAIZ,uMAAwH;4GACxH;;;;;;;;;;;wBAAkR;MAAtG;;wBAAyC;MAA8B;;wBAA8B;MAAjR,2zDAAkR,iDAA5D,kBAAQ,EAA9N,YAAkR,EAA5D,SAAQ,GAAzE,iCAAsB,EAAC,oBAAyC,8BAArN,YAAkR,EAA7H,SAAsB,EAAC,UAAyC,2BAArN,2zBAAkR;4GAEpR,sNAA+G,KAC7G,yHAAO,qFAAQ,MACf,sHAAM,2HAAM;4GAGZ,uHAA2C,2eAE3C;4GAjBJ,8MAAuG,KACrG,gZAAuF,IAIvF,0LAA8D,KAE5D,gZAAwH,IACxH,gZAAkR,IAEpR,gZAA+G,IAI/G,+PAAkI,KAChI,0dAA2C,iDAdxC,oBAAoB,cAAzB,YAAuF,EAAlF,SAAoB,GAMhB,0DAAgD,GAAvD,YAAwH,EAAjH,SAAgD,GAChB,0DAAgD,GAAvF,YAAkR,EAA3O,SAAgD,GAEpF,oBAAoB,cAAzB,YAA+G,EAA1G,SAAoB,GAKlB,mBAAqC,mBAA1C,aAA2C,EAAtC,SAAqC;4GAgBtC,gyBAAwE,iFAExE,2BAF8C,yHAAyB,GAAvE,YAAwE,EAA1B,qIAAyB,GAAvE,YAAwE,EAA1B,SAAyB,2BAAC,sEAExE;4GAVR,8OAA0I,KACxI,8LAAkE,KAChE,yHAAO,mFAAM,MAEf,kLAAqD,KACnD,kLAAqD,KACnD;;;;;wBAA8I;MAAhG;;;wBAAqD;MAAU;;wBAAgC;MAA7I,2vDAA8I,IAC5I,ozBAAqB,yFAAa,MAClC,0dAAwE,iDAF0B,kBAAQ,EAA5G,YAA8I,EAA1C,SAAQ,GAA/E,4BAAgB,EAAgE,oBAAgC,qBAA7I,aAA8I,EAAjH,UAAgB,EAAgE,UAAgC,GACnI,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,oBAAqC,iBAA7C,aAAwE,EAAhE,UAAqC,mDARwC,mBAAsB,cAAnH,YAA0I,EAA7C,SAAsB,GAM7G,k0BAA8I;4GAoB9I,wSAA6M,iFAAI;4GACjN,gWAA2T,YAArP;;wBAA2B;MAAjG,wBAA2T,iFAAI,yDAA7N,yJAAuF,IAAzL,YAA2T,EAAzN,SAAuF;4GAT/L,4NAA8H,KAC5H,oKAAwC,KACxC,weAAuF,GAAlF,yEAA+D,MAClE,mOAAiG,KAC/F,wPAA0F,YAA5C;;wBAAuB;MAArE,wBAA0F,mFAAM,MAElG,wMAAsE,KAEpE,iZAA6M,IAC7M,iZAA2T,iDAP1T,gEAA+D,IAApE,YAAuF,EAAlF,SAA+D,GAMxD,2CAAyC,eAAjD,aAA6M,EAArM,SAAyC,GACzC,yCAAsC,eAA9C,aAA2T,EAAnT,SAAsC,mDAT6B,mBAAsB,cAAvG,YAA8H,EAA7C,SAAsB;4GAvd3G,iMAA4F,KAC1F,0MAA8E,KAG7E,uSAAoL,KAC/K,wKAA4C,sFAAS,MACrD,2PAA2G,YAAhC;;wBAA6B;MAAxG,wBAA2G,KAE/G,4MAAgF,KAC9E,oLAAwD,KAExD,qLAAyD,KACvD,+LAAqP,YAA3C;;wBAA0C;MAApP,g/BAAqP,MAGzP,iZAAiG,IAGjG,iZAAiG,IA4LjG,iZAA6D,IAgO7D,iZAAuG,IAuBvG,iZAA0I,IAkB1I,iZAA8H,iDA3czG,mBAA2B,cAAC,mBAAmB,UAAsH,mBAAmB,UAAxI,kBAAU,EAAC,kBAAgB,EAAC,8BAA2B,EAAC,iEAA4D,GAArL,aAAqP,EAApO,SAA2B,EAAC,SAAmB,EAAsH,SAAmB,EAAxI,SAAU,EAAC,SAAgB,EAAC,SAA2B,EAAC,SAA4D,GAGpL,gCAAmB,GAAxB,aAAiG,EAA5F,SAAmB,GAGnB,gCAAmB,GAAxB,aAAiG,EAA5F,SAAmB,GA4LnB,iCAAmB,GAAxB,aAA6D,EAAxD,UAAmB,GAgOyD,qBAAqB,eAAtG,aAAuG,EAAtB,UAAqB,GAuBc,qBAAqB,eAAzI,aAA0I,EAAtB,UAAqB,GAkBjC,qBAAqB,eAA7H,aAA8H,EAAtB,UAAqB,mDAnd+B,mBAAsB,cAAnL,YAAoL,EAAvB,SAAsB;4GAuf5K,wHAA0B,6OAA0D;4GAGlF,gyBAAqF,iFAErF,2BAFmE,mHAAiB,GAApF,YAAqF,EAAlB,+HAAiB,GAApF,YAAqF,EAAlB,SAAiB,2BAAC,sEAErF;4GAJF;;;;;wBAAwL;MAAtH;;;;wBAAsE;MAAC;;wBAAqC;MAA9K,yvDAAwL,IACtL,kzBAAqB,6FAAiB,MACtC,0dAAqF,iDAFwF,kBAAQ,EAAvL,YAAwL,EAAT,SAAQ,GAAtI,2BAAgB,EAAwE,oBAAqC,0BAA9K,YAAwL,EAAvI,SAAgB,EAAwE,UAAqC,GACpK,uBAAY,EAApB,YAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,oBAA0D,mCAAlE,aAAqF,EAA7E,UAA0D,2BAFpE,2zBAAwL;4GAa1L,sLAA8E,gNAE9E;4GACA,sLAA6E,KAC3E,qLAAyD,KACvD,+TAAiM,YAAxD;;wBAAuD;MAAhM,wBAAiM,uLAAsD,KAAO,6EAAK,MAErQ,sLAA0D,KACxD,2VAAwP,YAA3D;;wBAA0D;MAAvP,wBAAwP,4LAA2D,KAAO,kFAAU,MAEtU,qLAAyD,KACvD,kUAAqM,YAA1D;;wBAAyD;MAApM,wBAAqM,2LAAyD,KAAO,+EAAO,MAE9Q,sKAAyC,KACvC,qUAA0M,YAA5D;;wBAA2D;MAAzM,wBAA0M,6LAA2D,wDANvH,gDAA8C,GAA5L,YAAwP,EAA1G,SAA8C;4GAgB9L,wHAA0B,4MAE1B;4GAEE,gyBAA4D,iFAE5D,2BAF0C,mHAAiB,GAA3D,YAA4D,EAAlB,+HAAiB,GAA3D,YAA4D,EAAlB,SAAiB,2BAAC,sEAE5D;4GAHF;;;;;wBAA2M;MAAhI;;wBAAoC;MAAC;;;;wBAAiF;MAAjM,yvDAA2M,IACzM,ydAA4D,iDADoI,kBAAQ,EAA1M,YAA2M,EAAT,SAAQ,GAA/I,0BAAe,EAAC,oBAAoC,yBAA/G,YAA2M,EAAhJ,SAAe,EAAC,UAAoC,GACrG,oBAAiC,eAAzC,YAA4D,EAApD,UAAiC,2BAD3C,2zBAA2M;4GAgBlL,wHAA+B,gMAAsB;4GAD5E,gzBAA2E,iFACpD,sZAA+B,yBADT,mHAAoB,GAAjE,YAA2E,EAA9B,+HAAoB,GAAjE,YAA2E,EAA9B,SAAoB,GACpC,kBAAwB,6BAA9B,YAA+B,EAAzB,SAAwB,2BADsB,sEACpD;4GAHzB;;;;;wBAAoL;MAA/F;;wBAAmC;MAAU;;wBAAiD;MAAnL,yvDAAoL,IAClL,o1BAAgD,0FAAc,MAC9D,0dAA2E,iDAF4C,kBAAQ,EAAjI,YAAoL,EAA3D,SAAQ,GAA/D,6BAAkB,EAAC,oBAAmC,wBAAxH,YAAoL,EAAlH,SAAkB,EAAC,UAAmC,GAC9G,uBAAY,EAApB,YAAgD,EAAxC,oCAAY,EAApB,aAAgD,EAAxC,UAAY,GACZ,oBAAoC,cAA5C,aAA2E,EAAnE,UAAoC,2BAF9C,2zBAAoL,GACpJ,qBAAiB,EAA/C,YAAgD,EAAlB,UAAiB;4GAc7C,8OAAmJ,YAAnD;;;wBAAkD;MAAlJ,wBAAmJ;4GACrJ,+OAAoJ,YAAlD;;;wBAAiD;MAAnJ,wBAAoJ;4GAGlJ,8OAAqJ,YAApD;;;wBAAmD;MAApJ,wBAAqJ;4GACvJ,+OAAsJ,YAAnD;;;wBAAkD;MAArJ,wBAAsJ;6GAGpJ,8OAA2J,YAAxD;;;wBAAqD;MAAxJ,wBAA2J;6GAC7J,+OAA0J,YAArD;;;wBAAoD;MAAzJ,wBAA0J;6GAGxJ,8OAAuJ,YAArD;;;wBAAoD;MAAtJ,wBAAuJ;6GACzJ,+OAAwJ,YAApD;;;wBAAmD;MAAvJ,wBAAwJ;6GAGtJ,8OAAmJ,YAAnD;;;wBAAkD;MAAlJ,wBAAmJ;6GACrJ,+OAAoJ,YAAlD;;;wBAAiD;MAAnJ,wBAAoJ;6GAGlJ,8OAAuJ,YAArD;;;wBAAoD;MAAtJ,wBAAuJ;6GACzJ,+OAAwJ,YAApD;;;wBAAmD;MAAvJ,wBAAwJ;6GAGtJ,8OAAmJ,YAAnD;;;wBAAkD;MAAlJ,wBAAmJ;6GACrJ,+OAAoJ,YAAlD;;;wBAAiD;MAAnJ,wBAAoJ;4GA/B1J,4LAA8F,KAC5F,qMAAyE,KACvE,yHAAO,KAET,sLAAyD,KACvD,8KAAkD,gFAC9C,sZAAmJ,IACrJ,gZAAoJ,mFACtJ,MACA,+KAAkD,gFAC9C,uZAAqJ,IACvJ,iZAAsJ,mFACxJ,MACA,+KAAkD,gFAC9C,wZAA2J,IAC7J,kZAA0J,mFAC5J,MACA,+KAAkD,gFAC9C,wZAAuJ,IACzJ,kZAAwJ,mFAC1J,MACA,+KAAkD,gFAC9C,wZAAmJ,IACrJ,kZAAoJ,mFACtJ,MACA,+KAAkD,gFAC9C,wZAAuJ,IACzJ,kZAAwJ,mFAC1J,MACA,+KAAkD,gFAC9C,wZAAmJ,IACrJ,kZAAoJ,mFACtJ,mDA1BkE,8CAAiC,GAA/F,YAAmJ,EAArF,SAAiC,GAClC,+CAAkC,GAAjG,YAAoJ,EAArF,SAAkC,GAGjC,+CAAkC,GAAhG,aAAqJ,EAAvF,SAAkC,GACnC,gDAAmC,GAAlG,aAAsJ,EAAvF,SAAmC,GAGlC,iDAAoC,GAAlG,aAA2J,EAA7F,SAAoC,GACrC,kDAAqC,GAApG,aAA0J,EAA3F,SAAqC,GAGpC,gDAAmC,GAAjG,aAAuJ,EAAzF,SAAmC,GACpC,iDAAoC,GAAnG,aAAwJ,EAAzF,SAAoC,GAGnC,8CAAiC,GAA/F,aAAmJ,EAArF,SAAiC,GAClC,+CAAkC,GAAjG,aAAoJ,EAArF,SAAkC,GAGjC,iDAAmC,GAAjG,aAAuJ,EAAzF,UAAmC,GACpC,kDAAoC,GAAnG,aAAwJ,EAAzF,UAAoC,GAGnC,+CAAiC,GAA/F,aAAmJ,EAArF,UAAiC,GAClC,gDAAkC,GAAjG,aAAoJ,EAArF,UAAkC;6GAa/F,gzBAA+G,+EAAiB,2BAAxH,sHAAsB,GAA9B,YAA+G,EAAvG,kIAAsB,GAA9B,YAA+G,EAAvG,SAAsB,2BAAgC,qEAAgD,GAA9G,YAA+G,EAAjD,SAAgD,GAAC,sEAAiB;6GARxI,8MAAgH,KAC9G,qMAAyE,KACvE,yHAAO,mFAAM,MAEf,sLAAyD,KACvD,mLAAsD,KACpD;;;;;wBAAmH;MAA7D;;wBAAsB;MAAC;;wBAAqC;MAAlH,2vDAAmH,IACjH,ozBAAqB,uFAAW,MAChC,2dAA+G,IAInH,oLAAsD,KACpD;;;;;wBAAmH;MAA7D;;wBAAsB;MAAC;;wBAAqC;MAAlH,6vDAAmH,IACjH,ozBAAqB,kFAAM,MAC3B,izBAAkB,6FAAiB,MACnC,izBAAkB,oFAAQ,MAC1B,izBAAkB,sFAAU,mDAXe,kBAAQ,EAArD,YAAmH,EAAtE,SAAQ,GAAxB,0BAAe,EAAU,oBAAsB,WAA5E,aAAmH,EAAtF,SAAe,EAAU,UAAsB,GAClE,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACW,oBAA8B,YAA7D,aAA+G,EAAhF,UAA8B,GAKlB,mBAAQ,EAArD,aAAmH,EAAtE,UAAQ,GAAxB,2BAAe,EAAU,oBAAsB,WAA5E,aAAmH,EAAtF,UAAe,EAAU,UAAsB,GAClE,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,2BAXnB,k0BAAmH,GAOnH,o1BAAmH;6GAqBjH,gyBAA8D,+EAAiB,2BAAvE,sHAAsB,GAA9B,YAA8D,EAAtD,kIAAsB,GAA9B,YAA8D,EAAtD,SAAsB,2BAAgC,sEAAiB;6GARvF,8MAAgH,KAC9G,uMAA2E,KACzE,yQAAyH,YAAhC;;wBAA+B;MAAxH,wBAAyH,KAE3H,sLAAyD,KACvD,mLAAsD,KACpD;;;;;wBAAmH;MAA7D;;wBAAsB;MAAC;;wBAAqC;MAAlH,2vDAAmH,IACjH,ozBAAqB,kFAAM,MAC3B,2dAA8D,IAIlE,oLAAsD,KACpD;;;;;wBAAqI;MAAxE;;wBAA6B;MAAC;;wBAAyC;MAApI,6vDAAqI,IACnI,ozBAAqB,kFAAM,MAC3B,40BAAoC,sFAAU,MAC9C,4zBAA6B,wFAAY,MACzC,i0BAAkC,6FAAiB,mDAXR,kBAAQ,EAArD,YAAmH,EAAtE,SAAQ,GAAxB,0BAAe,EAAU,oBAAsB,WAA5E,aAAmH,EAAtF,SAAe,EAAU,UAAsB,GAClE,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACW,oBAA8B,YAA7D,aAA8D,EAA/B,UAA8B,GAKX,mBAAQ,EAA5D,aAAqI,EAAjF,UAAQ,GAA/B,kCAAsB,EAAU,oBAA6B,kBAA1F,aAAqI,EAAxG,UAAsB,EAAU,UAA6B,GAChF,uBAAY,EAApB,aAAqB,EAAb,oCAAY,EAApB,aAAqB,EAAb,UAAY,GACZ,6BAAkB,EAA1B,aAAoC,EAA5B,0CAAkB,EAA1B,aAAoC,EAA5B,UAAkB,GAClB,+BAAoB,EAA5B,aAA6B,EAArB,4CAAoB,EAA5B,aAA6B,EAArB,UAAoB,GACpB,oCAAyB,EAAjC,aAAkC,EAA1B,iDAAyB,EAAjC,aAAkC,EAA1B,UAAyB,2BAXnC,k0BAAmH,GAOnH,o1BAAqI;6GA8B/H,gYAA8R,YAA9F;;wBAAuC;MAAvO,wBAA8R,yFAAY,iCAArC,kBAAwB,kCAA7R,YAA8R,EAAzB,SAAwB;6GAC7R,8XAA6R,YAA9E;;wBAAiD;MAAC;;wBAA2B;MAA5R,wBAA6R,mFAAM;6GAJzS,uKAA6E,KAC3E,uKAA0C,KACxC,kLAAsD,KACpD,iZAA8R,IAC9R,iZAA6R,IAE/R,yLAA6D,gFAAgB,MAC7E,2LAA+D,iFAAa,MAC5E,4LAA+D,mJAAuC,IACtG,4LAA+D,oJAAwC,yBANmI,qDAA4B,GAApQ,YAA8R,EAAtD,SAA4B,GACjF,oDAA2B,GAA9M,YAA6R,EAA1G,SAA2B,2BAEnJ,qEAAgB,GACd,mEAAa,GACb,+RAAuC,GACvC,+RAAwC;6GAQ/G,gLAA2E,KACzE,uKAA2C,KACzC,6WAAkO,YAArC;;wBAAoC;MAAjO,wBAAkO,+GAAkC;6GA/B1Q,6LAA+F,KAC7F,gMAAmG,KACjG,8MAA2E,KACzE,yLAA6D,KAC3D,oKAAwC,KAGxC,wLAA4D,gFAAG,MAC/D,yLAA6D,iFAAI,MACjE,yLAA6D,iFAAI,MACjE,0LAA6D,+EAAE,MAEjE,2dAA6E,IAiBjF,kZAA2E,iDAjB7B,mBAAkC,gBAA5E,aAA6E,EAAnC,SAAkC,GAiB5B,mBAAsB,iBAA1E,aAA2E,EAAvB,SAAsB,mDA5BvB,kDAA+C,GAAlG,YAAmG,EAAhD,SAA+C;4GA/KxG,mLAAuG,KACrG,kLAAqD,KAEnD,gMAAoE,KAElE,sKAA0C,KACxC,qWAAkP,KAChP,wKAA4C,2FAAc,MAC1D,2PAA2G,YAAhC;;wBAA6B;MAAxG,wBAA2G,KAIjH,wMAA4E,KAC1E,+LAAqP,YAA3C;;wBAA0C;MAApP,g/BAAqP,MAGvP,yMAA4E,KAC1E,sMAAyE,KACvE,0HAAO,kFAAK,MAEd,sLAAyD,KACvD,iZAA0B,IAC1B,iZAAwL,IAS5L,8MAAiF,KAC/E,uMAA0E,KACxE,0HAAO,iFAAI,MAEb,iZAA8E,IAG9E,iZAA6E,IAgB/E,8MAAiF,KAC/E,sMAAyE,KACvE,0HAAO,iFAAI,MAEb,sLAAyD,KACvD,iZAA0B,IAG1B,iZAA2M,IAQ/M,+MAAkF,KAChF,sMAAyE,KACvE,0HAAO,qFAAQ,MAEjB,sLAAyD,KACvD,iZAAoL,IASxL,iZAA8F,IAoC9F,kZAAgH,IA0BhH,kZAAgH,IA0BhH,4LAA+D,KAE/D,kZAA+F,iDAjK5E,mBAA2B,cAAC,mBAAmB,UAAsH,mBAAmB,UAAxI,kBAAU,EAAC,kBAAgB,EAAC,8BAA2B,EAAC,iEAA4D,GAArL,aAAqP,EAApO,SAA2B,EAAC,SAAmB,EAAsH,SAAmB,EAAxI,SAAU,EAAC,SAAgB,EAAC,SAA2B,EAAC,SAA4D,GAQ7K,gCAAmB,GAAzB,aAA0B,EAApB,SAAmB,GACjB,gCAAmB,GAA3B,aAAwL,EAAhL,SAAmB,GAavB,iCAAmB,GAAzB,aAA8E,EAAxE,UAAmB,GAGpB,iCAAmB,GAAxB,aAA6E,EAAxE,UAAmB,GAqBhB,iCAAmB,GAAzB,aAA0B,EAApB,UAAmB,GAGjB,iCAAmB,GAA3B,aAA2M,EAAnM,UAAmB,GAanB,iCAAmB,GAA3B,aAAoL,EAA5K,UAAmB,GASgC,oBAA8B,yBAA7F,aAA8F,EAA/B,UAA8B,GAoCZ,oBAA8B,yBAA/G,aAAgH,EAA/B,UAA8B,GA0B9B,oBAA8B,yBAA/G,aAAgH,EAA/B,UAA8B,GA4B/C,oBAA8B,yBAA9F,aAA+F,EAA/B,UAA8B,mDAxKiI,mBAAsB,cAAjP,YAAkP,EAAvB,SAAsB;4GAjfjQ,kNAAkJ,YAAtI;;wBAAwB;MAApC,wgBAAkJ,MAEhJ,qPAA+H,KAC7H;;;;;;oyBAAoD,IAElD,gZAA4F,IAse1F,iZAAuG,iDA3eP,qBAAkB,EAA9G,mBAAwB,aAAuC,uBAA4B,EAAoB,qBAAsB,EAAjJ,YAAkJ,EAA1C,SAAkB,EAA9G,SAAwB,EAAuC,SAA4B,EAAoB,SAAsB,GAKvE,gCAAuB,GAA3F,YAA4F,EAAxB,UAAuB,GAsenC,0DAAgD,IAAtG,aAAuG,EAAjD,UAAgD,mDAzeJ,mBAAsB,cAA9H,YAA+H,EAAvB,SAAsB,GAC5H,ktBAAoD;6GAosBxD,0NAAyG,YAA7F;;wBAAmC;MAA/C,+ZAAyG,MACvG,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,2HAAM,KACpF,sKAA0C,KACxC,gMAAoE,0FAAa,MACjF,yKAA4C,mGAAsB,MAEpE,sKAAyC,KACvC,sKAAyC,KACvC,6QAC4E,YAApE;;;wBAAmE;MAD3E,wBAC4E,iFAE5E,MACA,oPACkD,YAA1C;;wBAAyC;MADjD,wBACkD,qFAElD,mDAhBI,mBAAmC,wBAA/C,YAAyG,EAA7F,SAAmC;6GAsB/C,sNAA6F,YAAjF;;wBAA+B;MAA3C,+ZAA6F,MAC3F,oKAA0C,KACxC,0MAA8E,8FAAiB,MAC/F,yMAA6E,KAC3E,qNAAyF,sFAAS,MAAM,sHAAM,KAC9G,wLAA4D,gHAAmC,MAEjG,wLAA2D,KACzD,uKAA0C,KAG1C,sKAAyC,KACvC,qKAAwC,KACtC,sSACmE,YAAnD;;;wBAAkD;MADlE,wBACmE,iFAEnE,MAEF,qKAAwC,KACtC,wWAA4N,YAArC;;wBAAoC;MAA3N,wBAA4N,mFAAM,mDAnBhO,mBAA+B,oBAA3C,YAA6F,EAAjF,SAA+B;u2BAz8B3C,+YAA6C,IAI7C,gZAA+H,IA8K/H,iZAA4I,IAQ5I,iZAAoL,IAKpL,iZAAsI,IAKtI,iZAA6I,IAwC7I,iZAAkJ,IAusBlJ,kZAAyG,IAsBzG,kZAA6F,iDAz8BxF,4BAAkB,GAAvB,YAA6C,EAAxC,SAAkB,GAIlB,4BAAkB,GAAvB,aAA+H,EAA1H,SAAkB,GA8KmB,mBAAuB,kBAAjE,aAA4I,EAAlG,SAAuB,GAQpB,mBAA0B,qBAAvE,aAAoL,EAAvI,SAA0B,GAK1B,mBAA0B,qBAAvE,aAAsI,EAAzF,SAA0B,GAKzB,mBAA2B,sBAAzE,aAA6I,EAA/F,SAA2B,GAwCjB,mBAAkB,aAA1E,aAAkJ,EAA1F,SAAkB,GAusBC,mBAA6B,wBAAxG,aAAyG,EAA9B,SAA6B,GAsBrC,mBAAyB,oBAA5F,aAA6F,EAA1B,SAAyB;;;;;;;;;;;;;;;;ACz8B5F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+L;AAC3H;AACN;AACc;AAC3B;AACA;AACN;AACY;AACC;AACiB;AAEpB;AACc;AACV;AACd;AAAA,CAAC;AACwB;AACZ;AACxD,IAAY,UAAoB;AAAhC,WAAY,UAAU;IAAG,6CAAK;AAAC,CAAC,EAApB,UAAU,KAAV,UAAU,QAAU;AACgC;AAEa;AACc;AAK3F;IAyIE,+BAAmB,oBAA0C,EAAU,KAAqB,EAAU,iBAAsC,EAAU,eAAgC,EAAU,WAAyB,EAAU,MAAc,EAAU,QAAkB,EAAU,gBAAkC,EAAU,MAAqB,EAAE,SAAqB;QAA/W,iBAoBC;QApBkB,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAU,gBAAW,GAAX,WAAW,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAU;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAe;QA3HxV,eAAU,GAAY,KAAK,CAAC;QAE5B,iBAAY,GAAY,KAAK,CAAC;QAI9B,iBAAY,GAAY,IAAI,CAAC;QAC7B,WAAM,GAAY,IAAI,CAAC;QACvB,aAAQ,GAAY,IAAI,CAAC;QACzB,aAAQ,GAAY,IAAI,CAAC;QACzB,gBAAW,GAAY,IAAI,CAAC;QAC5B,cAAS,GAAY,KAAK,CAAC;QAC3B,aAAQ,GAAa,IAAI,yDAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QAInC,YAAO,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAM;QACvC,qBAAgB,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAQ;QAClD,kBAAa,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvC,mBAAc,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACtC,oBAAe,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACvC,qBAAgB,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1C,sBAAiB,GAAY,KAAK,CAAC;QAEnC,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAG,CAAC,CAAC;QAEd,qBAAgB,GAAG,CAAC,CAAC;QACrB,sBAAiB,GAAG,CAAC,CAAC;QACtB,iBAAY,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAmB,EAAE,CAAC;QACrC,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAC7C,yBAAoB,GAAgB,IAAI,gEAAW,EAAE,CAAC;QACtD,uBAAkB,GAAwB,IAAI,iFAAmB,EAAE,CAAC;QACpE,mBAAc,GAAG,CAAC,CAAC;QACnB,aAAQ,GAAG,EAAE,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QACnB,qBAAgB,GAAiB,EAAE,CAAC;QACpC,UAAK,GAAU,IAAI,mDAAK,EAAE,CAAC;QAC3B,WAAM,GAAG,CAAC,CAAC;QACX,mBAAc,GAAmB,EAAE,CAAC;QACpC,uBAAkB,GAAG,EAAE,CAAC;QACxB,iBAAY,GAAmB,EAAE,CAAC;QAClC,aAAQ,GAAmB,EAAE,CAAC;QAM9B,kBAAa,GAAW,IAAI,CAAC;QAC7B,gBAAW,GAAW,IAAI,CAAC;QAe3B,+BAA0B,GAAY,KAAK,CAAC;QAC5C,yBAAoB,GAAY,KAAK,CAAC;QACtC,kBAAa,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QACzC,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QAErC,gBAAW,GAAY,KAAK,CAAC;QAG7B,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE1C,yBAAoB,GAAG,IAAI,0DAAY,EAAU,CAAC;QAElD,uBAAkB,GAAG,IAAI,0DAAY,EAAW,CAAC;QACjD,UAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,gBAAW,GAAmB,EAAE,CAAC;QAIjC,gBAAW,GAAgB,IAAI,+DAAW,EAAE,CAAC;QAE7C,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,cAAS,GAAY,KAAK,CAAC;QAE3B,yBAAoB,GAAY,IAAI,CAAC;QACrC,qBAAgB,GAAW,CAAC,CAAC;QAC7B,uBAAkB,GAAY,KAAK,CAAC;QACpC,YAAO,GAAY,IAAI,CAAC;QACxB,oBAAe,GAAG,KAAK,CAAC;QAExB,aAAQ,GAAiB,EAAE,CAAC;QAG5B,aAAQ,GAAG,KAAK,CAAC;QACjB,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAmB,EAAE,CAAC;QAC/B,sBAAiB,GAAmB,EAAE,CAAC;QACvC,cAAS,GAAmB,EAAE,CAAC;QAC/B,kBAAa,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAC,YAAY,EAAE,CAAC,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,CAAC;QACnJ,0BAAqB,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9J,eAAU,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;QAE3H,aAAQ,GAAG,YAAY,CAAC;QAAC,aAAQ,GAAG,CAAC,CAAC;QAAC,aAAQ,GAAG,gBAAgB,CAAC;QAAC,oBAAe,GAAG,mBAAmB,CAAC;QAC1G,wBAAmB,GAAY,KAAK,CAAC;QACrC,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAY,KAAK,CAAC;QAC9B,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAW,CAAC,CAAC;QAC3B,wBAAmB,GAAY,KAAK,CAAC;QACrC,0BAAqB,GAAY,KAAK,CAAC;QACvC,mBAAc,GAAY,KAAK,CAAC;QAChC,sBAAiB,GAAY,KAAK,CAAC;QAwuCnC,4BAAuB,GAAG,UAAC,MAAM;YACzB,yDAAoE,EAAnE,cAAM,EAAE,eAA2D,CAAC;YAC3E,IAAM,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,IAAM,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC;YAEjC,OAAU,KAAK,SAAI,OAAO,SAAI,MAAQ,CAAC;QACzC,CAAC;QA5uCC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAM;YAClE,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAErB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;gBAChC,KAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3B,KAAI,CAAC,OAAO,CAAC,EAAE,GAAG,KAAI,CAAC,EAAE,CAAC;gBAE1B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,EAAE,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,EAAE,EAAE,KAAI,CAAC,IAAI,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IACD,2CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,GAAG;YACD,IAAI,gBAAgB,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACtD,MAAM,GAAG,IAAI,CAAC;aACf;YACD,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC;SAChD,QAAQ,gBAAgB,EAAE;QAC3B,IAAI,MAAM,EAAE;YAEV,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAC/B;aAAM;SAEN;IACH,CAAC;IAED,iDAAiB,GAAjB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+HAA+H,CAAC,CAAC;QACjL,CAAC,EAAE,CAAC,CAAC;IACH,CAAC;IAED,6CAAa,GAAb,UAAc,QAAQ;QACpB,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,2BAA2B;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACxF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,kEAAkE;SAEnE;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC5B,6BAA6B;YAC5B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAClC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,eAAe,CAAC;YAC3D,kEAAkE;YAClE,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBAC1B,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAO,CAAC,EAAE,CAAC,CAAC;oBAElC,SAAO,CAAC,WAAW,CAAC,SAAS,GAAG,SAAO,CAAC,EAAE,CAAC;oBAC3C,IAAI,SAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;wBACvD,IAAI,KAAK,GAAG,SAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;wBAChE,SAAO,CAAC,WAAW,CAAC,WAAW,GAAG,SAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;qBACtF;yBAAM;wBACL,SAAO,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;qBACxC;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;YACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QACD,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE5B,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;YACtC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;SAC/D;IACH,CAAC;IACD,6CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,2CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,6CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,iDAAiB,GAAjB;QACE,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACvE,IAAI,MAAM,GAA2B,IAAI,sFAAsB,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC;SACrL;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACrC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SACjD;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5D,CAAC;IACD,gDAAgB,GAAhB,UAAiB,gBAAwB;QACvC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,4BAA4B,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE;oBACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;qBACZ,CAAC,CAAC;iBACJ;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;gCACpP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBAAE,CAAC,CAAC;iBAC1D;qBAAM,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC5e;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;iBAErD;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;oBAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC7T,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,MAAM,CAAC,KAAK,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,EAAE;6BAAE;iCAAM;gCACzE,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI,IAAI,4BAA4B,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;oBACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;4BAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;gCAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;6BAAE;wBAC7T,CAAC;wBACD,YAAY,EAAE,UAAU,MAAM;4BAC5B,IAAI,MAAM,CAAC,KAAK,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,EAAE;6BAAE;iCAAM;gCACzE,OAAO,MAAM,CAAC,KAAK,CAAC;6BACrB;wBACH,CAAC;qBACF,CAAC,CAAC;iBAEJ;qBACI;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACtC,UAAU,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBAC3C,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;4BACzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;gCACpP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;6BAC5B;wBACH,CAAC;wBACD,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;qBACjD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;iBAC/D;gBAED;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxR,CAAC;iBAAE;gBACL;oBACE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC/F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxR,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxR,CAAC;iBACF;gBACD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE,CAAC,CAAC,EAAE;gBAC/W;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxR,CAAC;iBAAC;gBACJ;oBACE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxR,CAAC;iBAAE;gBACL;oBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxR,CAAC;iBAAC;gBACJ;oBACE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBACrF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxR,CAAC;iBAAE;gBACL;oBACE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxR,CAAC;iBAAE;gBACL;oBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,MAAM;wBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;4BAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAAE;oBACxR,CAAC;iBAAE;aACN,CAAC;SACH;IACH,CAAC;IACD,6CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,2CAAW,GAAX;QACE,wBAAwB;QACxB,uDAAuD;QACvD,0EAA0E;QAC1E,2CAA2C;QAC3C,OAAO;QACP,gFAAgF;QAChF,OAAO;IACT,CAAC;IAED,gDAAgB,GAAhB;QAAA,iBAgCC;QA/BC,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,gBAAwB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAE5F,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAE1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IACzC,CAAC;IACD,8CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3E,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;SAChC;aACI;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACxC,qEAAqE;YAC/D,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBAC1B,IAAI,SAAO,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAO,CAAC,EAAE,CAAC,CAAC;oBAElC,SAAO,CAAC,WAAW,CAAC,SAAS,GAAG,SAAO,CAAC,EAAE,CAAC;oBAC3C,IAAI,SAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;wBACvD,IAAI,KAAK,GAAG,SAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;wBAChE,SAAO,CAAC,WAAW,CAAC,WAAW,GAAG,SAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;qBACtF;yBAAM;wBACL,SAAO,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;qBACxC;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;SACF;QACD,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE5B,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;YACtC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;SAC/D;IAEH,CAAC;IACD,uCAAO,GAAP,UAAQ,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAC,SAAS;QAE/G,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,OAAO,IAAI,EAAE,EAAE;oBACjB,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvF;qBACI;oBACH,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACvG;aACF;SACF;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;aAAM,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QAGD,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,WAAW,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,gDAAgB,GAAhB,UAAiB,GAAG,EAAE,IAAI;QAA1B,iBAiFC;QAhFC,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,SAAS,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnD,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAO;oBACjE,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACrS,IAAI,OAAO,CAAC,EAAE,IAAI,SAAS,EAAE;wBAC3B,KAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;4BAClE,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;4BAC3B,IAAI,OAAO,GAAG,KAAI,CAAC;4BACnB,CAAC,CAAC,UAAU,CAAC;gCACX,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCAC3B,OAAO,CAAC,WAAW,CAAC,SAAS,GAAG,GAAG,CAAC;gCACpC,IAAI,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;oCACvD,IAAI,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;oCAChE,OAAO,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;iCACtF;qCAAM;oCACL,OAAO,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;iCACxC;4BAEH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBACX,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SAEJ;aAAM,IAAI,IAAI,IAAI,UAAU,EAAE;YAC7B,IAAI,GAAG,IAAI,SAAS,EAAE;gBACpB,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;oBAC3D,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;oBAE3B,IAAI,OAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjD,OAAO,CAAC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1D,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;wBACvD,IAAI,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvD,IAAI,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;4BAChE,OAAO,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;yBACtF;6BAAM;4BACL,OAAO,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;yBACxC;oBACH,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;aACJ;SAEF;aAAM;YACL,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,SAAS,EAAE;gBAChC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;oBACvE,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;oBAC3B,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;aACJ;SAEF;QAED,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACjF,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAE9B,IAAI,KAAI,CAAC,YAAY,KAAK,IAAI,IAAI,KAAI,CAAC,YAAY,KAAK,SAAS,EAAE;gBACjE,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC;gBAC9F,IAAI,YAAY,GAAG,MAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEvD,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC;gBACtE,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACV,SAAO,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACV;YAGD,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;gBAClF,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,KAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;gBACjC,KAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAClB,KAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAGL,CAAC;IAED,wCAAQ,GAAR;QAAA,iBAmFC;QAjFC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;SACjD;QAED,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,GAAG,KAAK,CAAC;QAC5D,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACrC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SAChD;aACI;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;gBAChC,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,EAAE;oBACnB,KAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;iBACxB;gBACD,IAAI,KAAI,CAAC,MAAM,IAAI,IAAI,EAAE;oBACvB,WAAW,GAAG,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC9C;gBACD,IAAI,KAAI,CAAC,IAAI,IAAI,IAAI,EAAE;oBACrB,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;iBAE5B;gBACD,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,EAAE,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;gBAEtC,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,MAAM,EAAE,IAAI,EAAC,MAAM,CAAC,CAAC;gBACnD,KAAI,CAAC,OAAO,CAAC,EAAE,GAAG,KAAI,CAAC,EAAE,CAAC;gBAC1B,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,EAAE,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;SAEJ;QACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,IAAI,WAAW,EAAE;YAC9D,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,cAAc,CAAC;SACvD;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;YAClG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,yDAAS,CAAC;YACnC,UAAU,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC3E,kBAAkB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,0DAAU,CAAC,QAAQ,CAAC;YAC3F,MAAM,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,0DAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,0DAAU,CAAC,aAAa,CAAC;YAChI,QAAQ,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,0DAAU,CAAC,aAAa,CAAC;YAC5E,iBAAiB,EAAE,IAAI,2DAAW,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,0DAAU,CAAC,QAAQ,CAAC;SAC1F,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAC9E,EAAE,CAAC,OAAO,CAAC,YAAE;YACb,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;YAC5B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,WAAW,EAAE;wBAC/B,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBAChD;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;gBACxD,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvS,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAO;gBACvD,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,wCAAQ,GAAR,UAAS,SAAS,EAAE,IAAI,EAAE,MAAM;QAC9B,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;QAC5B,4CAA4C;QAC5C,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;YAC5B,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE;wBAC1B,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,SAAO,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC/B;oBAED,SAAO,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAE/C,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;IAEH,CAAC;IACD,sCAAM,GAAN;QAAA,iBA8BC;QA7BC,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK;QACtB,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,EAAE;YACjD,OAAO,KAAK,CAAC;QAEf,IAAI,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,IAAI,wBAAwB,EAAE;YAC7E,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC/D,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACjE,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBACpH,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACvB,CAAC,CAAC,CAAC;gBACH,iCAAiC;gBACjC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAChE,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAChE,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBAChG,OAAO,CAAC,OAAO,CAAC,iBAAO;gBACvB,CAAC,CAAC,CAAC;gBACL,mCAAmC;gBACjC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC7B,CAAC,CAAC,CAAC;SACJ;QAED,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,kDAAkB,GAAlB,UAAmB,MAAM;QAAzB,iBAIC;QAHC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAY,IAAI,YAAI,CAAC,YAAY,GAAG,YAAY,EAAhC,CAAgC,CAAC,CAAC;SACxF;IACH,CAAC;IACD,+CAAe,GAAf,UAAgB,SAAS,EAAE,IAAI;QAA/B,iBAiCC;QA/BC,IAAI,IAAI,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE;YAE/C,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAEhB,iHAAiH;YACjH,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;gBAC3K,WAAW,CAAC,OAAO,CAAC,qBAAW;oBAC7B,WAAW,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACzF,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,gBAAgB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;gBAC7J,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC;gBAE3C,uBAAuB;gBAEvB,IAAI,KAAI,CAAC,UAAU,IAAI,KAAK,EAAE;oBAC5B,IAAI,SAAO,GAAG,KAAI,CAAC;oBACnB,CAAC,CAAC,UAAU,CAAC;wBACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;4BACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,MAAM,EAAE;gCAClC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;6BAChD;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACV;YAGH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,+CAAe,GAAf,UAAgB,SAAS;QAAzB,iBASC;QARC,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC7G,WAAW,CAAC,OAAO,CAAC,qBAAW;gBAC7B,WAAW,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACzF,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,gBAAgB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;YAC7J,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;YACtC,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAW,GAAX,UAAY,EAAE,EAAE,IAAI;QAApB,iBA4BC;QA3BC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAE5B;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,UAAC,WAAW;gBACrD,WAAW,CAAC,OAAO,CAAC,qBAAW;gBAG/B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,eAAe,GAAG,WAAW,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,UAAC,WAAW;gBACrD,WAAW,CAAC,OAAO,CAAC,qBAAW;gBAC/B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;IAGH,CAAC;IACM,2CAAW,GAAlB,UAAmB,gBAAwB;QACzC,kFAAkF;IACpF,CAAC;IAED,+CAAe,GAAf;QAAA,iBAoKC;QAnKC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,SAAS,EAAE,EAAC,MAAM;YAC3C,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;wBACnD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;4BAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;4BACnI,OAAO;yBACR;qBAEF;iBACF;aACF;YACD,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;SAC/D;aACI,EAAC,MAAM;YACV,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;wBACnD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE;4BAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+FAA+F,EAAE,eAAe,CAAC,CAAC;4BACtI,OAAO;yBACR;qBAEF;iBACF;aACF;SACF;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAG;YAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SAE/C;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;SAClC;QAGD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;YAC7G,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAChD;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE;QAC7D,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/D,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE;YACtG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SAC3H;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE;YAC5G,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;SAC3H;QACD,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;QAC9D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAM;YAE3D,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAE3B,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,iDAAiD;gBACjD,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;YACjC,KAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;YAChC,KAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YAEzB,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC/D,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBAEpB,KAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;gBACtC,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;gBACnF,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAEhF,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7C,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,KAAI,CAAC,cAAc,IAAI,4BAA4B,IAAI,KAAI,CAAC,cAAc,IAAI,wBAAwB,EAAE;gBAC1G,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,KAAI,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;gBACxB,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC;gBAClB,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEhB,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC;oBACX,IAAI,SAAO,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,EAAE;wBAC/C,SAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC;wBAEvC,SAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;qBAEvC;yBAAM,IAAI,SAAO,CAAC,WAAW,CAAC,YAAY,IAAI,OAAO,EAAE;wBACtD,SAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;wBAClC,SAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;qBACpC;yBAAM;wBACH,SAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;wBACrC,SAAO,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;qBACtC;gBACD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aAEV;iBACI,IAAI,KAAI,CAAC,cAAc,IAAI,kCAAkC,IAAI,KAAI,CAAC,cAAc,IAAI,8BAA8B,EAAE;gBAC3H,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,KAAI,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;gBACxB,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC;gBAClB,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,KAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE,CAAC;gBACrC,KAAI,CAAC,WAAW,CAAC,WAAW,GAAG,KAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC;gBACrE,KAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;gBACjE,KAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBACvD,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;aAG9C;iBAAM;gBACL,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;oBACrC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBAC7C;qBAAM;oBACL,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACrC,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,KAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE;oBACpC,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjB;gBACD,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;aAC9C;QAGH,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI;QACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,KAAK;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI;QACpB,sBAAsB;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK;QAEtB,yBAAyB;QAEzB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,0CAA0C;QAC1C,+DAA+D;QAC/D,GAAG;IAKL,CAAC;IAEM,6DAA6B,GAApC,UAAqC,YAAY;QAAjD,iBAUC;QATC,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACrH,WAAW,CAAC,OAAO,CAAC,qBAAW;gBAC7B,WAAW,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACzF,WAAW,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;gBACnG,WAAW,CAAC,SAAS,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC;QAC7C,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,oDAAoB,GAApB,UAAqB,aAAa,EAAE,QAAiB,EAAE,SAAS;QAAhE,iBAwIC;QAvIC,IAAM,OAAO,GAAG,IAAI,OAAO,CAAM,UAAC,OAAO,EAAE,MAAM;YAC/C,KAAI,CAAC,WAAW,CAAC,EAAE,GAAG,aAAa,CAAC;YACpC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,EAAE;gBACb,KAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;gBAChC,KAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;gBACtC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5B,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,KAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE,CAAC;gBACrC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;gBAChC,KAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;gBACtC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;gBAE5C,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC1C,CAAC,CAAC,4BAA4B,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC9D,oEAAoE;gBACjE,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;gBAC/D,IAAI,QAAQ,GAAG,GAAG,CAAC;gBACnB,IAAI,OAAO,GAAG,MAAM;gBACpB,IAAI,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;gBAChC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAExC,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjB;iBACI;gBAEH,IAAI,aAAa,IAAI,IAAI,IAAI,aAAa,IAAI,MAAM,IAAI,aAAa,IAAI,CAAC,EAAE;oBAC1E,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;oBACvE,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,WAAW,CAAC,EAAE;oBACjC,KAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,YAAY,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;wBAC9E,EAAE,CAAC,OAAO,CAAC,YAAE;wBACb,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBAC3B,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,kBAAkB,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;oBAE9E,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAClG,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;wBACzD,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;wBAC1B,KAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC;wBAClF,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC;wBACtF,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC1C,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBAE1C,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE;4BAClC,KAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;4BAEpC,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;yBAEhD;6BAAM,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE;4BACzC,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;4BAC/B,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;yBAC3C;6BAAM;4BACL,KAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;4BAClC,KAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,CAAC;yBAC7C;wBAED,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACjC,KAAI,CAAC,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;wBAChD,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;wBACnB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACrB,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wBACtB,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;wBACzB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACrB,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;wBACxC,KAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;wBAC1K,KAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;4BAC9E,KAAK,CAAC,OAAO,CAAC,eAAK;4BACnB,CAAC,CAAC,CAAC;4BACH,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;4BAC9B,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;4BAC3D,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCACtC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;6BACtC;iCAAM;gCACL,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;6BACtC;4BACD,IAAI,EAAE,GAAG,CAAC,CAAC;4BACX,IAAI,MAAM,GAAG,EAAE,CAAC;4BAChB,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,MAAM,EAAE;gCACrC,EAAE,GAAG,GAAG,CAAC;gCACT,MAAM,GAAG,MAAM;6BAChB;iCACI,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,EAAE;gCAC/C,EAAE,GAAG,GAAG,CAAC;gCACT,MAAM,GAAG,WAAW;6BACrB;iCACI,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,oBAAoB,EAAE;gCACxD,EAAE,GAAG,GAAG,CAAC;gCACT,MAAM,GAAG,oBAAoB;6BAC9B;iCACI,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,wBAAwB,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,mBAAmB,EAAE;gCAC9G,EAAE,GAAG,GAAG,CAAC;gCACT,MAAM,GAAG,WAAW;6BACrB;iCAAM,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,wBAAwB,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,mBAAmB,EAAE;gCAChH,EAAE,GAAG,GAAG,CAAC;gCACT,MAAM,GAAG,WAAW;6BACrB;iCAAM,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,8BAA8B,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,yBAAyB,EAAE;gCAC5H,EAAE,GAAG,GAAG,CAAC;gCACT,MAAM,GAAG,WAAW;6BACrB;iCAAM,IAAI,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,kBAAkB,EAAE;gCACxD,EAAE,GAAG,GAAG,CAAC;gCACT,MAAM,GAAG,kBAAkB;6BAC5B;iCAAM;6BAEN;4BAED,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;wBACnC,CAAC,CAAC,CAAC;wBAEH,IAAI,KAAI,CAAC,UAAU,IAAI,KAAK,EAAE;4BAC5B,IAAI,SAAO,GAAG,KAAI,CAAC;4BACnB,CAAC,CAAC,UAAU,CAAC;gCACX,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oCACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,aAAa,EAAE;wCACjC,SAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wCAC/C,SAAO,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;qCAC/B;gCACH,CAAC,CAAC,CAAC;4BACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;yBACV;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;QAEH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IAEjB,CAAC;IACD,yCAAS,GAAT,UAAU,GAAG;QACX,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE;YAAE,OAAO,gBAAgB,CAAC;IAC7D,CAAC;IACD,4CAAY,GAAZ;QACE,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;QAEhC,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACnP,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;aAC5E;iBAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACvI,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;gBAE3E,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;aAC5C;iBAAM;gBACL,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC3C,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;aAC5E;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;SACjD;IAEH,CAAC;IAED,2CAAW,GAAX,UAAY,QAAQ;QAClB,IAAI,QAAQ,IAAI,EAAE,EAAE;YACnB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC,CAAC;YAC/E,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC;YACzE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,0DAAU,CAAC,QAAQ,CAAC,CAAC;YAC3E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACzB,gCAAgC;SAEhC;IACH,CAAC;IACD,+CAAe,GAAf,UAAgB,QAAQ;QACtB,IAAI,QAAQ,IAAI,EAAE,EAAE;YAClB,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC,CAAC;YACjF,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC;YAC5E,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACvC,2BAA2B;YAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,SAAS,EAAE;gBACxC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,kDAAkD,CAAC,CAAC;gBAC7E,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;gBAC5E,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aACtC;YACF,IAAI;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;SAClC;IACH,CAAC;IAED,yCAAS,GAAT;QACE,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC;QACrC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC,CAAC;QAC/E,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC,CAAC;IACnF,CAAC;IACD,0CAAU,GAAV,UAAW,EAAE,EAAE,UAAU,EAAE,aAAa;QAAxC,iBA2DC;QA1DG,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAE7C,IAAI,EAAE,IAAI,SAAS,EAAE;YAEnB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAC7D;aACI,IAAI,EAAE,IAAI,WAAW,EAAE;YAE1B,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAChE;aACI,IAAI,EAAE,IAAI,MAAM,EAAE;YAErB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAE3D;aACI,IAAI,EAAE,IAAI,WAAW,EAAE;YAE1B,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAE3D;QAEH,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAChC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;SAC5C;aAAM;YACL,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D;QAED,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC3H,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,IAAI,OAAO,GAAG,KAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,SAAS,EAAE;oBAC9C,OAAO,CAAC,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;iBAC7C;qBACI;oBACH,IAAI,aAAa,IAAI,CAAC,IAAI,aAAa,IAAI,SAAS,EAAE;wBACpD,OAAO,CAAC,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACvD,OAAO,CAAC,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpD;iBAEF;gBACD,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC;gBACxD,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACzD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAEX,CAAC,CAAC,CAAC;IAGP,CAAC;IACD,8CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;YACrE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,8CAAc,GAAd,UAAe,IAAI;QAEjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAChE,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC/D,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;aAChC;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gDAAgD,CAAC,CAAC;aAC7E;YAED,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YAC/C,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACtC,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;aAChC;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gDAAgD,CAAC,CAAC;aAC7E;YACD,CAAC,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YAC/C,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACtC,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACzC,8CAA8C;YAC9C,8CAA8C;SAC/C;IACH,CAAC;IACD,8CAAc,GAAd;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IACD,2CAAW,GAAX;QAEE,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,iEAAiE;YAClE,4CAA4C;SAC5C;IAEH,CAAC;IAED,oDAAoB,GAApB,UAAqB,QAAQ,IAAI,CAAC;IAClC,8CAAc,GAAd,UAAe,GAAG;QAChB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,6CAAa,GAAb,UAAc,GAAG;QACf,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACb,CAAC;IAED,oBAAoB;IACpB,KAAK;IACL,yCAAyC;IACzC,OAAO;IACP,qCAAqC;IACrC,sFAAsF;IACtF,WAAW;IACX,qDAAqD;IAErD,KAAK;IACL,UAAU;IACV,mCAAmC;IACnC,kDAAkD;IAClD,qDAAqD;IACrD,8CAA8C;IAC9C,6CAA6C;IAC7C,KAAK;IAEL,GAAG;IAIH,4CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,MAAM,GAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,iDAAiB,GAAjB,UAAkB,OAAO;QACjB,2BAAqC,EAApC,YAAI,EAAE,gBAA8B,CAAC;QAExC,wBAAkC,EAAjC,aAAK,EAAE,eAA0B,CAAC;QAEvC,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,KAAK,GAAG,IAAI,CAAC;SACd;QAED,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;SAClC;QAED,OAAU,KAAK,SAAI,OAAS,CAAC;IAC/B,CAAC;IAUD,yCAAS,GAAT,UAAU,IAAI,EAAE,cAAc;QACxB,wBAAkC,EAAjC,aAAK,EAAE,eAA0B,CAAC;QACvC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE5B,+CAA+C;QAC/C,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,IAAI,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;SAC1B;aAAM;YACL,IAAI,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;SAC/B;QAGD,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC;QAChE,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;QAC7B,IAAI,IAAI,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE;QAE5B,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC3D,CAAC;IAGD,0CAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IACD,yCAAS,GAAT;QAEE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,kBAAkB,EAAE;YAC/C,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;YAC9E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,0DAAU,CAAC,QAAQ,CAAC,CAAC;YACzE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,kBAAkB,EAAE;gBACzF,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;gBAC5E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,0DAAU,CAAC,QAAQ,CAAC,CAAC;gBAC3E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACjE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;aACI;YACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,kBAAkB,EAAE;gBACzF,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;gBAC5E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,0DAAU,CAAC,QAAQ,CAAC,CAAC;gBAC3E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACjE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;YACD,6BAA6B;SAC9B;IACH,CAAC;IAED,uCAAO,GAAP;QAEE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,kBAAkB,EAAE;YACjD,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;YAC5E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,0DAAU,CAAC,QAAQ,CAAC,CAAC;YAC3E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACjE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,kBAAkB,EAAE;gBACrF,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;gBAC9E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,0DAAU,CAAC,QAAQ,CAAC,CAAC;gBACzE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC/D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF;aACI;YACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,kBAAkB,EAAE;gBACrF,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;gBAC9E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,0DAAU,CAAC,QAAQ,CAAC,CAAC;gBACzE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC/D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;YACD,6BAA6B;SAC9B;IACH,CAAC;IAED,0CAAU,GAAV;QACE,kCAAkC;QAClC,oDAAoD;QACpD,UAAU;QACV,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACjD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4FAA4F,EAAE,eAAe,CAAC,CAAC;wBACnI,OAAO;qBACR;iBACF;aACF;SACF;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,GAAG;IACL,CAAC;IACD,gDAAgB,GAAhB,UAAiB,WAAW;QAG1B,IAAI,WAAW,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI,IAAI,WAAW,IAAI,MAAM,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAC9D;QACD,GAAG;IAEL,CAAC;IACD,qDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,qDAAqB,GAArB;QACE,UAAU,CAAC;YACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,gDAAgB,GAAhB,UAAiB,SAAS,EAAE,IAAI;QAAhC,iBAYC;QAXC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YAC1F,WAAW,CAAC,OAAO,CAAC,eAAK;gBACvB,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;gBACxC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzN,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjC,KAAK,CAAC,OAAO,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC9B,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,8CAAc,GAAd;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oLAAoL,CAAC,CAAC;QACpO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,qDAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAgB;YACnC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACrO,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG;YACpC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,qDAAqB,GAArB,UAAsB,gBAAwB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG;YACrB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI;aAC/D;YACD;gBAEE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;oBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;wBAC9B,OAAO,uDAAuD,CAAC;qBAChE;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE;wBAC/D,+FAA+F;wBAC/F,OAAO,kDAAkD,CAAC;qBAC3D;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,0FAA0F;wBAC1F,OAAO,gDAAgD,CAAC;qBACzD;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBACjE,OAAO,+EAA+E,CAAC;qBACxF;yBACI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBACnE,6GAA6G;wBAC7G,OAAO,oDAAoD,CAAC;qBAC7D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,EAAE;wBACrW,0FAA0F;wBAC1F,OAAO,sDAAsD,CAAC;qBAC/D;yBACI;wBACH,2FAA2F;wBAC3F,OAAO,8CAA8C,CAAC;qBACvD;gBAEH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,YAAY,YAAC,MAAM;oBACrP,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE;YAClM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC7P;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,KAAK;gBAChM,YAAY,YAAC,MAAM;oBACjB,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,EAAE;wBAAE,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAAE;yBACzM;wBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;qBAAE;gBAE/B,CAAC;aACF;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YAC1P,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACpP,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,YAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAEjT,CAAC;IACJ,CAAC;IACD,gDAAgB,GAAhB,UAAiB,MAAM;QACrB,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjC,6CAA6C;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;SAClC;;YACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,GAAG,CAAC;QAE1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,IAAI,OAAO,CAAC,OAAO,EAAE;gBAEnB,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;iBAC/C;aACF;iBAAM;gBACL,IAAI,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;gBAE1C,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;gBAE9H,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM;oBACL,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBAC3C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACjD;aACF;YACD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IACD,0DAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAClD,CAAC;IACD,gDAAgB,GAAhB;QAAA,iBAWC;QAVC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YACrE,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACtC,CAAC;IACD,4CAAY,GAAZ,UAAa,GAAG;QACd,IAAI,GAAG,IAAI,uBAAuB,IAAI,GAAG,IAAI,yBAAyB,EAAE;YACtE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM;SACN;IACH,CAAC;IACD,0DAA0B,GAA1B,UAA2B,GAAG;QAC5B,IAAI,GAAG,IAAI,uBAAuB,EAAE;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0HAA0H,CAAC,CAAC;YACzK,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,UAAU,CAAC;gBACT,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0GAA0G,CAAC,CAAC;YACzJ,CAAC,EAAE,CAAC,CAAC;SACN;IACH,CAAC;IAID,mDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,oDAAoD;IACtD,CAAC;IACD,gDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,EAAE;YAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAClC;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;YACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM,IAAI,KAAK,CAAC,OAAO,IAAI,aAAa,EAAE;YAEzC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;gBAC9H,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,UAAU,CAAC;oBACT,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;gBAC1K,CAAC,EAAE,CAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;SACF;IACH,CAAC;IAED,2CAAW,GAAX;QACE,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/E,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YACX,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;gBAC/D,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACtD,EAAE,CAAC,oBAAoB,CAAC,aAAa,GAAG,SAAS,CAAC;YACpD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,gDAAgB,GAAhB,UAAiB,KAAK;QACpB,uCAAuC;QACvC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,oDAAoD;QACpD,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,gDAAgB,GAAhB,UAAiB,SAAS,EAAC,OAAO,EAAE,QAAQ;QAC1C,IAAI,aAAa,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAC,EAAE,EAAE,CAAC,CAAC;QAC7K,IAAI,KAAK,CAAC;QACV,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7B;aAAM;YACL,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAClD;QAED,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE;YACtB,aAAa,GAAG,CAAC;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;oBAClD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;oBAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;oBACzC,WAAW,EAAE,KAAK;oBAClB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK;oBAC3B,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,QAAQ,CAAC;oBAC7F,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC;iBAC7F,CAAC,CAAC;SACJ;aAAM;YACL,aAAa,GAAG,EAAE,CAAC;SACpB;QAED,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,EACpB;YACE,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE;gBAC9H,aAAa,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;oBAClD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;oBAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;oBACzC,WAAW,EAAE,KAAK;oBAClB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK;oBAC7F,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,QAAQ,CAAC;oBAC7F,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC;iBAC7F,CAAC,CAAC;aACJ;iBAAM;aAEN;SAEF;QACD,OAAO,aAAa,CAAC;IAEvB,CAAC;IACD,uCAAO,GAAP,UAAQ,GAAG;QACT,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QACtB,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QACtB,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;QACzB,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QACxB,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QACtB,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QAExB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,+CAAe,GAAf,UAAgB,KAAW;QAEzB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YACnE,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,EAAE;YAC3E,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,EAAE;YAC7E,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,EAAE;YAC5E,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1E,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,EAAE;YAC5E,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1E,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,uCAAO,GAAP,UAAQ,KAAK,EAAE,KAAK;QAClB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC9C;IAEH,CAAC;IACD,4CAAY,GAAZ,UAAa,SAAe,EAAC,cAAqB;QAChD,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACrB,KAAK,QAAQ,CAAC,CAAC;gBACb,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM;aACP;YACD,KAAK,SAAS,CAAC,CAAC;gBACd,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5C,MAAM;aACP;YACD,KAAK,SAAS,CAAC,CAAC;gBACd,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5C,MAAM;aACP;YACD,KAAK,SAAS,CAAC,CAAC;gBACd,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnE,MAAM;aACP;YACD,KAAK,UAAU,CAAC,CAAC;gBACf,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnE,MAAM;aACP;YACD,KAAK,UAAU,CAAC,CAAC;gBACf,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnE,MAAM;aACP;YACD,KAAK,UAAU,CAAC,CAAC;gBACf,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnE,MAAM;aACP;YAAC,KAAK,WAAW,CAAC,CAAC;gBAClB,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzE,MAAM;aACP;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACrB,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvC,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACL,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM;aACP;SACF;QAED,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAE3B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SAC5C;aAAM,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAG;YACnC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SAC5C;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QAG5D,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACjE,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAG,oBAAoB,CAAC,CAAC,CAAC;SACvF;aAAM;YACL,OAAO,KAAK,GAAG,cAAc,EAAE;gBAC7B,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7D,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;oBACjC,KAAK,EAAE,CAAC;iBACT;aAEF;SACF;QAED,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uCAAuC;QACjK,kGAAkG;QAElG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAE5B,CAAC;IAED,kDAAkB,GAAlB;QAAA,iBA6FC;QA5FC,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,wBAAwB;QAExB,+EAA+E;QAC/E,4GAA4G;QAE5G,iFAAiF;QACjF,6CAA6C;QAC7C,mCAAmC;QAEnC,gDAAgD;QAChD,2LAA2L;QAE3L,oFAAoF;QACpF,2HAA2H;QAC3H,6KAA6K;QAC7K,6BAA6B;QAC7B,kCAAkC;QAClC,SAAS;QACT,cAAc;QACd,4BAA4B;QAC5B,2BAA2B;QAC3B,OAAO;QACP,OAAO;QAIP,UAAU;QAEV,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,IAAI,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,MAAM,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE;gBAC1C,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAExG,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aAC9B;SAGF;QACC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,aAAG;YACtC,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YAExG,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACzC,KAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAA3G,CAA2G,CAAC,CAAC;YACpJ,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,cAAI;gBACrC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,gBAAgB,CAAC,EAAG;oBACxC,IAAI,WAAW,GAAG,CAAC,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;oBAC5E,IAAI,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,EAAE,YAAY,CAAC,CAAC;oBACnH,uKAAuK;oBACvK,IAAI,WAAW,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,IAAI,cAAc,GAAG,GAAG,CAAC,OAAO,IAAI,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,IAAI,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE;wBACpM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;wBACnB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC;qBACzB;iBAEF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,GAAG;QAGH,IAAI,IAAI,CAAC,eAAe,IAAI,YAAY,EAAE;YACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC,KAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAG,EAAE,CAAE,CAAC,EAArH,CAAqH,CAAC,CAAC;SACpL;aAAM,IAAI,IAAI,CAAC,eAAe,IAAI,cAAc,EAAE;YACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,KAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAApH,CAAoH,CAAC,CAAC;SACnL;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAhG,CAAgG,CAAC,CAAC;SAC/J;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAK,SAAS,EAAE;YAChE,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,oBAAoB,CAAC,IAAI,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,EAAhI,CAAgI,CAAC,CAAC,MAAM,CAAC;YAEpL,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,YAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,oBAAoB,CAAC,IAAI,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,EAAhI,CAAgI,CAAC,CAAC;gBACtL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;SAEF;QAED,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;YAC5B,IAAI,KAAK,GAAG,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,WAAW,GAAG,KAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,OAAO;gBAC9D,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;YAClH,CAAC,CAAC,CAAC;YACH,IAAI,GAAG,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;YACxE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QAEnB,CAAC,CAAC,CAAC;IAIL,CAAC;IAED,kDAAkB,GAAlB,UAAmB,SAAS,EAAC,QAAQ;QACnC,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QAExC,2IAA2I;QAC3I,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;YACvC,IAAI,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAEnG,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gBACxD,OAAO,IAAI;aACZ;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IAGH,CAAC;IAED,8CAAc,GAAd,UAAe,KAAK;QAClB,QAAQ,KAAK,EAAE;YACb,KAAK,CAAC,CAAC,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC7B,MAAM;aACP;YACD,KAAK,EAAE,CAAC,CAAC;gBACP,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC7B,MAAM;aACP;YACD,KAAK,EAAE,CAAC,CAAC;gBACP,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC7B,MAAM;aACP;YACD,KAAK,EAAE,CAAC,CAAC;gBACP,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC7B,MAAM;aACP;YACD,KAAK,EAAE,CAAC,CAAC;gBACP,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC7B,MAAM;aACP;YAAA,KAAK,EAAE,CAAC,CAAC;gBACR,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC7B,MAAM;aACP;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC9B,MAAM;aACP;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC9B,MAAM;aACP;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC9B,MAAM;aACP;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC9B,MAAM;aACP;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC9B,MAAM;aACP;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC9B,MAAM;aACP;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC9B,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC9B,MAAM;aACP;SACF;IACH,CAAC;IACD,+CAAe,GAAf;QACE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YAClC,KAAK,IAAI,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,EAAE;YACnC,KAAK,IAAI,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,EAAE;YACrC,KAAK,IAAI,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,EAAE;YACpC,KAAK,IAAI,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YAClC,KAAK,IAAI,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,EAAE;YACpC,KAAK,IAAI,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YAClC,KAAK,IAAI,CAAC,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,uDAAuB,GAAvB,UAAwB,GAAG;QAA3B,iBAcC;QAbC,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAC3F,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC5E,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YACxG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;YACnE,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3G,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,WAAW,CAAC,SAAS,EAAlC,CAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5G,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAEnC;aAAM;YACL,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAClC;IAEH,CAAC;IAED,sDAAsB,GAAtB;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,UAAU,CAAC;YACT,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+IAA+I,CAAC,CAAC;QACnM,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,mDAAmB,GAAnB;QACE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACvD,CAAC;IAGD,yCAAS,GAAT;QACE,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IAED,8CAAc,GAAd,UAAe,KAAK;QAApB,iBAcC;QAbC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,UAAC,WAAW;YACrE,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW,IAAI,KAAI,CAAC,WAAW,CAAC,WAAW,EAA9D,CAA8D,CAAC,CAAC;YAClG,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBACpC,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,UAAU,CAAC;oBACT,SAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;gBACzB,CAAC,EAAE,GAAG,CAAC;aACR;QAGH,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,2CAAW,GAAX,UAAY,KAAK,EAAE,EAAE;QAArB,iBAqCC;QApCC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YAC3E,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAC,GAAG;gBAChC,OAAO,IAAI,UAAU,GAAG,GAAG,CAAC,eAAe,GAAG,eAAe,CAAC;YAChE,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAQ;YAC9F,IAAI,YAAY,GAAG,QAAQ,CAAC;YAC5B,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;YACxC,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrI,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxI,IAAI,OAAO,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,KAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,KAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzJ,IAAI,OAAO,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,IAAI,KAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,KAAI,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzJ,IAAI,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;YAC/B,IAAI,OAAO,GAAG,oNAAoN;kBAC9N,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO;kBACxD,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,OAAO;kBAC1E,eAAe,GAAG,SAAS,GAAG,OAAO;kBACrC,OAAO;kBACP,OAAO;kBACP,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;kBAC/D,gBAAgB,GAAG,OAAO,GAAG,OAAO;kBACpC,QAAQ,CAAC;YACb,CAAC,CAAC,KAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC3B,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,KAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC3B,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAU,GAAV;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IAED,wDAAwB,GAAxB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAC1C,CAAC;IAED,oDAAoB,GAApB,UAAqB,aAAa;QAChC,IAAI,aAAa,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAC,EAAE,EAAE,CAAC,CAAC;QAC7K,aAAa,GAAG,CAAC;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;gBACvD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;gBAC1D,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACtD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC;gBACjD,WAAW,EAAE,aAAa;gBAC1B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK;gBAC3B,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,QAAQ,CAAC;gBAChI,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC;aAEhI,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IACD,iDAAiB,GAAjB,UAAkB,aAAa,EAAC,WAAW;QAA3C,iBAoBC;QAnBC,IAAI,MAAM,GAAG,mBAAO,CAAC,gEAAiB,CAAC,CAAC;QACxC,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC1F,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACnE,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAEnF,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,aAAG;YACtC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,gBAAgB,CAAC,EAAE;gBAErC,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBAClG,IAAI,YAAY,GAAG,SAAS,EAAE;oBAC5B,IAAI,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;oBAGrG,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAApE,CAAoE,CAAC,CAAC;oBAC1H,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;iBAC5B;aACF;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,kDAAkB,GAAlB;QACE,4DAA4D;QAC5D,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAGpD,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mCAAmC,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAErG,CAAC;IAED,4CAAY,GAAZ;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,UAAU,CAAC;YAEX,IAAI,EAAE,CAAC,YAAY,IAAI,SAAS,EAAE;gBAEhC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;aAC7D;iBACI,IAAI,EAAE,CAAC,YAAY,IAAI,WAAW,EAAE;gBAEvC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;aAChE;iBACI,IAAI,EAAE,CAAC,YAAY,IAAI,MAAM,EAAE;gBAElC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAE3D;iBACI,IAAI,EAAE,CAAC,YAAY,IAAI,WAAW,EAAE;gBAEvC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAE3D;QACH,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAGX,CAAC;IAED,iDAAiB,GAAjB;QAEE,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YAC9H,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,UAAU,CAAC;gBACT,CAAC,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;YAC1K,CAAC,EAAE,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;IAEH,CAAC;IACD,yDAAyB,GAAzB;QACE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IACD,8CAAc,GAAd;QACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,UAAU,CAAC;YACT,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,0IAA0I,CAAC,CAAC;QAC5L,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,4CAAY,GAAZ;QAEE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC;QAC9D,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IACH,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GCn0E8C,wHAAuC,gFAAG;2GALjF,4SAEqJ,YAA1E;;wBAAyE;MAFpJ,wBAEqJ,KACnJ,uKAA2C,KACzC,mKAA2D,0MACxB,kZAAuC,IAG5E,sKAA0C,KACxC,8PAAyH,YAApH;;wBAA0C;MAA/C,wBAAyH,0BAJhF,4DAAgC,GAAtC,YAAuC,EAAjC,SAAgC,2BAHxE,oHAAkB,GAFvB,YAEqJ,EAAhJ,SAAkB,GAEa,2HAA0B,GAA1D,YAA2D,EAA3B,SAA0B,GAAC,kNACxB;2GASzC,+KAAqE,KACnE,2LAA+D,KAC7D,yJAAmC,0HAAG,0FAAwC,MAC9E,qKAAyC,KAEvC,4KAAwC,YAAlC;;wBAAiC;MAAvC,wBAAwC,KAAC,0NAAgG,KACzI,4KAAkC,YAA5B;;wBAA2B;MAAjC,wBAAkC,KAAC,wMAA8E,wDAJ7E,wGAAwC;2GAgC9E,kLAAmG,KACjG,unBAA8D,iDAAlD,mBAAuB,YAAC,0BAAyB,EAA7D,YAA8D,EAAlD,SAAuB,EAAC,SAAyB;2GAjBjE,kjBAAgH,IAC9G,8lBAA6H,IAC3H,kWAUqD,YAHpC;;wBAAsC;MACtC;;wBAAiD;MACjD;;wBAA+C;MAC/C;;wBAAmC;MAVpD,snDAUqD,MAIvD,+YAAmG,iDAhBlE,oEAA2D,GAA9F,YAAgH,EAA7E,SAA2D,GACvF,2BAAiB,EAA+B,kFAAuE,GAA5H,YAA6H,EAAxH,SAAiB,EAA+B,SAAuE,GAEzG,mBAAuC,0BAGvC,mBAAqB,YAFrB,mBAAyB,aACzB,mBAAwD,yCAExD,mBAAmB,UACnB,oBAAkC,EANnD,YAUqD,EATpC,SAAuC,EAGvC,SAAqB,EAFrB,SAAyB,EACzB,SAAwD,EAExD,SAAmB,EACnB,SAAkC,GAQhD,mBAA4C,qCAAjD,aAAmG,EAA9F,SAA4C;2GAKjD,uMAAiK,YAAlD;;wBAAiD;MAAhK,4zCAAiK,mIAA9I,mBAAwB,YAAC,0BAAmB,EAAC,2BAAmB,EAAnF,YAAiK,EAA9I,SAAwB,EAAC,SAAmB,EAAC,SAAmB;2GAGnF,q5CAAkH,iDAApD,6BAA+B,aAAlD,yBAAkB,EAAiC,2BAAmB,EAAjH,YAAkH,EAApD,SAA+B,EAAlD,SAAkB,EAAiC,SAAmB;2GAJnH,0jBAAyH,IACvH,8YAAiK,IAGjK,8YAAkH,iDAJ/G,wDAA+C,GAApD,YAAyH,EAApH,SAA+C,GACkC,oBAA0B,oBAA9G,YAAiK,EAA7E,SAA0B,GAG7F,mBAAyB,oBAA1C,YAAkH,EAAjG,SAAyB;2GAO9C,uHAAwC;+WAlE9C,gLAAmD,KACjD,kLAAqD,KACjD,iNAAqF,KACnF,udAEqJ,IAYvJ,8YAAqE,IAWrE,yMAA2E,KACzE,4LAA+D,KAC7D,sKAAyC,4JAAgC,iFAAa,MACtF,uKAA0C,KACxC,6PAA4L,YAAvL;;;wBAA6G;MAAlH,wBAA4L,KAGhM,+YAAgH,IAoBhH,+YAAyH,IAU7H,wHAAK,KACH,+YAAwC,IAG1C,4LAAyD,YAA7C;;wBAAyB;MAArC,2bAAyD,MACvD,4JAAuC,KACrC,iLAAmD,KACjD,4KAA+C,KAC7C,sHAAG,gHAAmC,MAExC,uHAAM,4HAAM,KACZ,8LAAiE,KAC/D,sHAAG,6HAAgD,MAAI,uHAAM,sGACpC,6HAAM,kFAC3B,6HAAM,8HAEZ,mDA5EsB,mBAAkD,kBAF1E,YAEqJ,EAA7H,SAAkD,GAYvE,oBAAiB,WAAtB,YAAqE,EAAhE,SAAiB,GAkB2E,mBAAgB,WAA/G,aAAgH,EAAjB,SAAgB,GAoB1D,mBAA4B,uBAAjF,aAAyH,EAApE,SAA4B,GAW9E,mBAAkC,6BAAvC,aAAwC,EAAnC,SAAkC,GAGH,qBAAkB,EAA5C,mBAAyB,cAArC,aAAyD,EAAnB,SAAkB,EAA5C,SAAyB,mDAvC0C,uDAAa;;;;;;;;;;;;;;;;AC9BhG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmE;AACO;AAExB;AACO;AACO;AACrB;AACkB;AACmB;AACd;AACqC;AAKvG;IAoCE,+BAAoB,KAAqB,EAAU,iBAAsC,EAAU,MAAc,EAAU,SAAgC,EACjJ,MAAqB,EAAS,oBAA0C,EAAS,eAAgC;QADvG,UAAK,GAAL,KAAK,CAAgB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAuB;QACjJ,WAAM,GAAN,MAAM,CAAe;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,oBAAe,GAAf,eAAe,CAAiB;QA1B3H,sBAAiB,GAAW,EAAE,CAAC;QAE/B,eAAU,GAAY,KAAK,CAAC;QAE5B,qBAAgB,GAAY,KAAK,CAAC;QAClC,kBAAa,GAAY,IAAI,CAAC;QAC9B,gBAAW,GAAY,KAAK,CAAC;QAC7B,iBAAY,GAAQ,EAAE,CAAC;QACvB,oBAAe,GAAQ,EAAE,CAAC;QAC1B,QAAG,GAAG,EAAE,CAAC;QACT,UAAK,GAAG,CAAC,CAAC;QACV,UAAK,GAAa,IAAI,0DAAQ,EAAE,CAAC;QAGjC,sBAAiB,GAAY,IAAI,CAAC;QAClC,yBAAoB,GAAY,KAAK,CAAC;QAItC,sBAAiB,GAAY,KAAK,CAAC;QACnC,aAAQ,GAAY,IAAI,CAAC;QAID,0BAAqB,GAAG,iBAAiB,CAAC;QAGhE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAGrE,CAAC;IAED,wCAAQ,GAAR;QAAA,iBAuCC;QArCC,IAAI,KAAK,GAAY,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAChC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACjC,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAC1D,IAAI,KAAI,CAAC,OAAO,IAAI,CAAC,EAAE;gBACrB,IAAI,kBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAChE,IAAI,kBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAChE,IAAI,oBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBACpE,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAC/C,IAAI,KAAG,GAAG,KAAI,CAAC;oBACf,UAAU,CAAC;wBACT,IAAI,kBAAgB,IAAI,IAAI,IAAI,kBAAgB,IAAI,IAAI,EAAE;4BACxD,KAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAgB,CAAC,EAAE,oBAAkB,EAAE,kBAAgB,EAAE,EAAE,CAAC,CAAC;yBACxF;6BACI;4BACH,KAAG,CAAC,YAAY,CAAC,KAAG,CAAC,OAAO,EAAE,oBAAkB,EAAE,WAAW,EAAE,KAAG,CAAC,UAAU,CAAC,CAAC;yBAChF;oBACH,CAAC,EAAE,GAAG,CAAC,CAAC;iBAET;qBACI;oBACH,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,OAAO,EAAE,oBAAkB,EAAC,WAAW,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;iBAClF;aACF;iBACI;gBACH,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACrD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACvB;aACF;QAEH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE1B,CAAC;IACD,yCAAS,GAAT,UAAU,UAAU;QAApB,iBAOC;QANC,IAAI,UAAU,GAAG,IAAI,qEAAc,EAAE,CAAC;QACtC,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAM;YAChE,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAY,GAAZ,UAAa,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,UAAU;QAAnD,iBAwBC;QAvBC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS;QAC1B,IAAI,CAAC,uBAAuB,CAAC,YAAY,GAAG,UAAU,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAClD,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAClD,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,OAAO,IAAI,CAAC,EAAE;YAEhB,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACrE,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEtB,IAAI,GAAG,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,OAAO,EAAf,CAAe,CAAC;gBACxD,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBACpC,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE5B,CAAC,CAAC,CAAC;SAEJ;IAEH,CAAC;IACD,4CAAY,GAAZ,UAAa,QAAQ;QAArB,iBAmEC;QAlEC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;YAChE,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1C,KAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC7C,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC9C,IAAI,SAAO,GAAG,KAAI,CAAC;gBACnB,UAAU,CAAC;oBACT,SAAO,CAAC,SAAS,GAAG,EAAE,CAAC;oBACvB,SAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAO,CAAC,YAAY,CAAC,CAAC;gBACrD,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;iBACI;gBACH,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE;oBACjC,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC;oBAC9C,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;iBACrB;qBACI;oBACH,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC5B,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC;iBAC9C;gBAED,IAAI,SAAS,GAAG,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChC,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;gBAChC,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,EAAE;oBACvC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM;iBACpC;gBACD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3C,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjD;gBACD,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC1D,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAE/C,IAAI,kBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBAChE,IAAI,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBAChE,IAAI,kBAAgB,IAAI,IAAI,IAAI,gBAAgB,IAAI,IAAI,EAAE;wBACxD,IAAI,EAAE,GAAG,KAAI,CAAC;wBACd,UAAU,CAAC;4BACT,CAAC,CAAC,GAAG,GAAG,kBAAgB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BAC5C,CAAC,CAAC,GAAG,GAAG,kBAAgB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAE7C,CAAC,EAAE,GAAG,CAAC,CAAC;qBACT;yBACI;wBACH,UAAU,CAAC;4BACT,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BAClC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACnC,CAAC,EAAE,GAAG,CAAC,CAAC;qBACT;iBACF;qBACI;oBACH,UAAU,CAAC;wBACT,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACnC,CAAC,EAAE,GAAG,CAAC,CAAC;iBACT;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,IAAI,QAAQ,IAAI,KAAK,EAAE;YACrD,UAAU,CAAC;gBACT,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC,EAAE,GAAG,CAAC,CAAC;SAET;IACH,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC/B,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,EAAE;YACvC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;SACpC;QACD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IACD,oCAAI,GAAJ;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC/B,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,EAAE;YACvC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;SACpC;QACD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IACD,2CAAW,GAAX,UAAY,OAAO,EAAE,GAAG;QAAxB,iBAcC;QAbC,IAAI,KAAK,GAAY,KAAK,CAAC;QAC3B,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO;YAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACjD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9E,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAE3B,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IACD,gDAAgB,GAAhB;QAAA,iBA0CC;QAzCI,IAAI,CAAC,uBAAuB,GAAgB;YAC1C,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI;YAC7K,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,qBAAqB,EAAE,IAAI;SAC3J,CAAC;QAAC,IAAI,CAAC,OAAO,GAAG;YAChB,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACH,gDAAgD;QAC/C,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YAChC,uFAAuF;YACvF,+BAA+B;YAC7B,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,KAAK;SACN;aAAM,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC9E,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;gBAC3B,KAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACzF,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;gBAC3B,KAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,uBAAuB,CAAC,aAAa,GAAG;YAC3C,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;IAEH,CAAC;IACD,wDAAwB,GAAxB;QAAA,iBA2BC;QA1BC,IAAI,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE;YACnD,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;gBAChE,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE;oBAAE,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,KAAK,CAAC;iBAAE;qBAAM;oBACzF,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC5B,KAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC;iBAC9C;gBACD,IAAI,SAAS,GAAG,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC/B,IAAI,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,EAAE;oBACvC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM;iBACpC;gBACD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3C,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjD;gBACD,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACtG,CAAC,CAAC,CAAC;YACH,UAAU,CAAC;gBACT,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;IAEH,CAAC;IACD,gDAAgB,GAAhB,UAAiB,gBAAgB,EAAE,YAAY;QAC7C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,gBAAgB,IAAI,EAAE,EAAE;YAC1B,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,uBAAuB,GAAa,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;qBAC1C,CAAC,CAAC;iBACJ;qBAAM,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACxJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;oBACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;wBACxG,YAAY,YAAC,MAAM;4BACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gCAAE,OAAO,gBAAgB;6BAAE;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,UAAU;6BAAE;iCACpG,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gCAAE,OAAO,iBAAiB;6BAAE;wBAC7D,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBAC/C,CAAC,CAAC;iBACJ;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;oBAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC3K;qBACI,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;oBAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC/I;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACjC,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC;wBACtC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;qBACvG,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YAEL,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gBAChC,IAAI,CAAC,UAAU,GAAG;oBAChB;wBACE,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;wBACzC,aAAa,EAAE,IAAI;qBACpB;iBAAC,CAAC;gBACL,YAAY,CAAC,OAAO,CAAC,aAAG;oBACtB,IAAI,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE;wBACzB,QAAQ,GAAG,CAAC,UAAU,EAAE;4BACtB,KAAK,IAAI,CAAC,CAAC;gCACT,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACvE,MAAM;6BACP;4BACD,KAAK,gBAAgB,CAAC,CAAC;gCACrB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;oCAChH,YAAY,YAAC,MAAM;wCACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4CAAE,OAAO,gBAAgB;yCAAE;6CAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4CAAE,OAAO,UAAU;yCAAE;6CAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4CAAE,OAAO,iBAAiB;yCAAE;oCACrK,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iCACpI,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gCACzF,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iCAC9D,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;iCAC9D,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iCACvD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iCACvD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;iCAC/C,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iCACjD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;iCAC7C,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;iCAChD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;wCAC/E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wCACzC,IAAI,CAAC,SAAS,GAAG,iFAAiF,CAAC;wCACnG,OAAO,IAAI,CAAC;oCACd,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;iCACjD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,cAAc;4BACd,6BAA6B;4BAC7B,oDAAoD;4BACpD,OAAO;4BACP,UAAU;4BACV,GAAG;4BACH,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;iCACjD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;iCACxD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACjG,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,MAAM;6BACP;4BACD,KAAK,eAAe,CAAC,CAAC;gCACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wCAC9F,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACxB,OAAO,QAAQ,CAAC;yCACjB;6CAAM;4CACL,OAAO,SAAS,CAAC;yCAClB;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACjF,MAAM;6BACP;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACpG,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzE,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACjF,MAAM;6BACP;4BACD,KAAK,iBAAiB,CAAC,CAAC;gCACtB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACnG,MAAM;6BACP;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACrG,MAAM;6BACP;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACrG,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACtF,MAAM;6BACP;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACtF,MAAM;6BACP;yBAEF;qBAGF;yBACI;wBAEH,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,EAAE;4BAC/B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gCACtB,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oCAE5F,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;wCAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qCACnC;yCAAM;wCACL,OAAO,MAAM,CAAC,KAAK,CAAC;qCACrB;gCAGH,CAAC;6BACF,CAAC;yBACH;6BACI;4BACH,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,EAAE;gCAClC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;6BACrG;iCAAM;gCACL,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;6BACvG;yBACF;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;iBACI,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gBACrC,IAAI,CAAC,UAAU,GAAG;oBAChB;wBACE,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;wBACzC,aAAa,EAAE,IAAI;qBACpB;iBAAC,CAAC;gBAEL,YAAY,CAAC,OAAO,CAAC,aAAG;oBACtB,IAAI,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE;wBACzB,QAAQ,GAAG,CAAC,UAAU,EAAE;4BACtB,KAAK,cAAc,CAAC,CAAC;gCACnB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gCAC3I,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gCAC/H,MAAK;6BACN;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACpF,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACtF,MAAK;6BACN;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACxF,MAAK;6BACN;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACjF,MAAK;6BACN;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACnF,MAAK;6BACN;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC;gCAC9E,MAAK;6BACN;4BAED,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCAC5E,MAAK;6BACN;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC;gCACpF,MAAK;6BACN;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACnF,MAAK;6BACN;4BACD,KAAK,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCAC3E,MAAK;6BACN;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCAC5E,MAAK;6BACN;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCAC1F,MAAK;6BACN;4BACD,KAAK,eAAe,CAAC,CAAC;gCACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCAChG,MAAK;6BACN;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACzE,MAAK;6BACN;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACzE,MAAK;6BACN;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACrF,MAAK;6BACN;4BACD,KAAK,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC3E,MAAK;6BACN;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC/E,MAAK;6BACN;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC1F,MAAK;6BACN;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCACnF,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACtF,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAClF,MAAK;6BACN;4BACD,KAAK,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC3E,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACrF,MAAK;6BACN;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC3F,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACzF,MAAK;6BACN;4BACD,KAAK,oBAAoB,CAAC,CAAC;gCACzB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC7F,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACzF,MAAK;6BACN;4BACD,KAAK,oBAAoB,CAAC,CAAC;gCACzB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC7F,MAAK;6BACN;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC3F,MAAK;6BACN;4BACD,KAAK,qBAAqB,CAAC,CAAC;gCAC1B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC9F,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,GAAG,CAAC;gCACzG,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACpF,MAAK;6BACN;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAChF,MAAK;6BACN;4BAAC,KAAK,aAAa,CAAC,CAAC;gCACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACrF,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAClF,MAAK;6BACN;4BAAC,KAAK,cAAc,CAAC,CAAC;gCACrB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACtF,MAAK;6BACN;yBAGF;qBACF;yBAAM;wBACL,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;qBACvG;gBAEH,CAAC,CAAC,CAAC;aAEJ;iBACI;gBACH,IAAI,CAAC,UAAU,GAAG;oBAChB;wBACE,KAAK,EAAE,GAAG;wBACV,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,EAAE;wBACT,iBAAiB,EAAE,IAAI;wBACvB,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,KAAK;wBACX,UAAU,EAAE,CAAC;wBACb,uBAAuB,EAAE,IAAI;wBAC7B,mCAAmC,EAAE,IAAI;wBACzC,aAAa,EAAE,IAAI;qBACpB;iBAAC,CAAC;gBACL,YAAY,CAAC,OAAO,CAAC,aAAG;oBACtB,IAAI,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE;wBACzB,QAAQ,GAAG,CAAC,UAAU,EAAE;4BACtB,KAAK,IAAI,CAAC,CAAC;gCACT,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACvE,MAAM;6BACP;4BACD,KAAK,gBAAgB,CAAC,CAAC;gCACrB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;oCAChH,YAAY,YAAC,MAAM;wCACjB,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4CAAE,OAAO,gBAAgB;yCAAE;6CAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4CAAE,OAAO,UAAU;yCAAE;6CAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;4CAAE,OAAO,iBAAiB;yCAAE;oCACrK,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iCACpI,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gCACzF,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK;iCAC9D,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACpF,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACtF,MAAK;6BACN;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACxF,MAAK;6BACN;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCAC9F,MAAK;6BACN;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK;iCAC9D,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iCACvD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;iCACvD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;iCAC/C,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK;iCACjD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;iCAC7C,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;iCAChD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,YAAC,MAAM;wCAC/E,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wCACzC,IAAI,CAAC,SAAS,GAAG,iFAAiF,CAAC;wCACnG,OAAO,IAAI,CAAC;oCACd,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;iCACjD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,IAAI,CAAC,CAAC;gCACT,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;iCAC/C,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;iCACjD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;iCAClD,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACjG,MAAM;6BACP;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,MAAM;6BACP;4BACD,KAAK,eAAe,CAAC,CAAC;gCACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI;oCAChE,YAAY,EAAE,UAAU,MAAM;wCAC5B,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;4CACxB,OAAO,QAAQ,CAAC;yCACjB;6CAAM;4CACL,OAAO,SAAS,CAAC;yCAClB;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,MAAM;wCACjF,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE;4CACzB,OAAO,KAAK,CAAC;yCACd;6CAAM,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE;4CAChC,OAAO,SAAS,CAAC;yCAClB;6CAAM;4CACL,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;oCACH,CAAC;iCACF,CAAC,CAAC;gCACH,MAAM;6BACP;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACpG,MAAM;6BACP;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzE,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,MAAM;6BACP;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACzF,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACjF,MAAM;6BACP;4BACD,KAAK,iBAAiB,CAAC,CAAC;gCACtB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACnG,MAAM;6BACP;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACrG,MAAM;6BACP;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACrG,MAAM;6BACP;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACtF,MAAM;6BACP;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACtF,MAAM;6BACP;4BACD,KAAK,cAAc,CAAC,CAAC;gCACnB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gCAC3I,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gCAC/H,MAAK;6BACN;4BAED,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACjF,MAAK;6BACN;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACnF,MAAK;6BACN;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC;gCAC9E,MAAK;6BACN;4BAED,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCAC5E,MAAK;6BACN;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC;gCACpF,MAAK;6BACN;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACnF,MAAK;6BACN;4BACD,KAAK,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCAC3E,MAAK;6BACN;4BACD,KAAK,OAAO,CAAC,CAAC;gCACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCAC5E,MAAK;6BACN;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCAC1F,MAAK;6BACN;4BACD,KAAK,eAAe,CAAC,CAAC;gCACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCAChG,MAAK;6BACN;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACzE,MAAK;6BACN;4BACD,KAAK,KAAK,CAAC,CAAC;gCACV,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACzE,MAAK;6BACN;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACrF,MAAK;6BACN;4BACD,KAAK,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC3E,MAAK;6BACN;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC/E,MAAK;6BACN;4BACD,KAAK,aAAa,CAAC,CAAC;gCAClB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC1F,MAAK;6BACN;4BACD,KAAK,UAAU,CAAC,CAAC;gCACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCACnF,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACtF,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAClF,MAAK;6BACN;4BACD,KAAK,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC3E,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACrF,MAAK;6BACN;4BACD,KAAK,kBAAkB,CAAC,CAAC;gCACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC3F,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACzF,MAAK;6BACN;4BACD,KAAK,oBAAoB,CAAC,CAAC;gCACzB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC7F,MAAK;6BACN;4BACD,KAAK,WAAW,CAAC,CAAC;gCAChB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACzF,MAAK;6BACN;4BACD,KAAK,oBAAoB,CAAC,CAAC;gCACzB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC7F,MAAK;6BACN;4BACD,KAAK,YAAY,CAAC,CAAC;gCACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC3F,MAAK;6BACN;4BACD,KAAK,qBAAqB,CAAC,CAAC;gCAC1B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCAC9F,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,GAAG,CAAC;gCACrG,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACpF,MAAK;6BACN;4BACD,KAAK,QAAQ,CAAC,CAAC;gCACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACvF,MAAK;6BACN;4BAAC,KAAK,aAAa,CAAC,CAAC;gCACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACrF,MAAK;6BACN;4BACD,KAAK,SAAS,CAAC,CAAC;gCACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACjF,MAAK;6BACN;4BAAC,KAAK,cAAc,CAAC,CAAC;gCACrB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;gCACtF,MAAK;6BACN;yBACF;qBACF;yBACI;wBACH,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,EAAE;4BAC/B,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,EAAE;gCAC3B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;iCACjD,CAAC,CAAC;6BACJ;iCACI,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,EAAE;gCACvC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wCAC1F,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE;4CACzB,OAAO,KAAK,CAAC;yCACd;6CAAM,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE;4CAChC,OAAO,IAAI,CAAC;yCACb;wCAAC;4CACA,OAAO,GAAG,CAAC;yCACZ;oCAEH,CAAC;iCACF,CAAC;6BACH;iCAAM,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAE;gCACrC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK;iCAC3D,CAAC,CAAC;6BACJ;iCACI;gCAEH,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oCACtB,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;wCAC1K,CAAC,GAAG,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wCAE7I,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE;4CAC1C,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;gDACxB,OAAO,QAAQ,CAAC;6CACjB;iDAAM;gDACL,OAAO,SAAS,CAAC;6CAClB;yCACF;6CAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,gBAAgB,EAAE;4CAClD,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gDAAE,OAAO,gBAAgB;6CAAE;iDAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gDACjF,OAAO,kBAAkB;6CAC1B;iDAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gDAAE,OAAO,iBAAiB;6CAAE;yCAC7D;6CACI;4CACH,OAAO,MAAM,CAAC,KAAK,CAAC;yCACrB;wCACD,GAAG;oCAGL,CAAC;iCACJ,CAAC;6BACH;yBACF;6BACI;4BACH,IAAI,GAAG,CAAC,UAAU,IAAI,YAAY,EAAE;gCAClC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;6BACrG;iCAAM;gCAEL,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;6BACvG;yBAEF;qBACF;gBAEH,CAAC,CAAC,CAAC;aAEJ;SAIF;IAEH,CAAC;IACD,6CAAa,GAAb,UAAc,MAAM;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,oDAAoB,GAApB,UAAqB,QAAQ;QAC3B,0DAA0D;QAE1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC;QAChD,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YAEhC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;SACnC;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,uBAAuB,CAAC,YAAY,GAAG,QAAQ,CAAC;IAEvD,CAAC;IACD,yCAAS,GAAT;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAAA,EAAE;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,8CAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAExB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5E,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gBACtE,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3C;iBACI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gBAC3E,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC5C;SACF;IAEH,CAAC;IACD,kDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;oBAChC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC5C,IAAI,CAAC,uBAAuB,CAAC,YAAY,GAAG,QAAQ,CAAC;iBACtD;qBACI;oBACH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBAChE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAChF;aACF;SACF;IACH,CAAC;IAED,0CAAU,GAAV;QACE,UAAU,CAAC;YACT,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uIAAuI,CAAC,CAAC;QAEtK,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,wDAAwB,GAAxB,UAAyB,GAAG;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,iDAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,+CAAe,GAAf;QACE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,uBAAuB,CAAC,YAAY,GAAG,UAAU,CAAC;IACzD,CAAC;IACD,qCAAK,GAAL,cAAU,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,GAAG,KAAK,CAAC,CAAC,CAAC;IACrE,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGC5vCK,2QAAmJ,YAA7B;;wBAA4B;MAAlJ,wBAAmJ;yGACnJ,8QAAuJ,YAA7B;;wBAA4B;MAAtJ,wBAAuJ;yGAKvJ,+QAAwJ,YAA7B;;wBAA4B;MAAvJ,wBAAwJ;yGACxJ,4QAAoJ,YAA7B;;wBAA4B;MAAnJ,wBAAoJ;yGAQlJ,gMAAyF,YAAvD;;wBAAoC;MAAtE,wBAAyF,KAEvF,kzBAA6B,MAC3B,wHAAM,gFAAiB,2BADtB,wBAAyB,EAA5B,YAA6B,EAA1B,SAAyB,2BACpB,sEAAiB;yGAvBnC,+NAAkI,KAEhI,iLAAoD,KAClD,gLAAoD,KAElD,4YAAmJ,IACnJ,4YAAuJ,IAGzJ,gLAAoD,KAElD,4YAAwJ,IACxJ,6YAAoJ,IAIxJ,iLAAoD,KAElD,2MAA8E,KAC5E,gLAAmD,KACjD,sdAAyF,iDAfA,mBAA0B,qBAArH,YAAmJ,EAAxD,SAA0B,GACvB,oBAA2B,qBAAzH,YAAuJ,EAAzD,SAA2B,GAK1B,oBAA2B,qBAA1H,YAAwJ,EAAzD,SAA2B,GAC9B,mBAA0B,qBAAtH,aAAoJ,EAAxD,SAA0B,GAQhH,mBAA6B,WAAjC,aAAyF,EAArF,SAA6B;yGAerC,wLAA2F,KACzF,6IAAsB,KACpB,4KAAgD,KAC9C,qJAA+B,sFAAS,MAE1C,wLAA2D,KACzD;;;;;wBAK8D;MALjB;;wBAA2B;MAElD;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAL7D,+wEAK8D,IAIlE,6IAAsB,KACpB,sKAAyC,KACvC;;;;;;;;;;;wBAA8P;MAA9F;;wBAAkB;MAAC;;wBAAwE;MAA3P,ixCAA8P,IAEhQ,4KAA+C,KAE7C,0QAA8J,YAA1G;;wBAAkE;MAAtH,wBAA8J,KAIlK,+KAAkD,KAChD,yPAA8F,YAAtB;;wBAAmB;MAA3F,wBAA8F,kDApBtE,mBAAsB,gBACtB,mBAA4B,kBADlD,YAK8D,EALxC,SAAsB,EACtB,SAA4B,GADL,oBAA2B,gBAAxE,aAK8D,EALjB,UAA2B,GAWwF,oBAAkB,OAAlL,aAA8P,EAA9F,UAAkB,2BAXlL,m0BAK8D,GAM9D,ouBAA8P;yGAcpQ,wLAA2F,KACzF,sKAAyC,KACvC,4KAAgD,KAC9C,qJAA+B,sFAAS,MAE1C,wLAA2D,KACzD;;;;;wBAK8D;MALjB;;wBAA2B;MAElD;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAL7D,+wEAK8D,IAIlE,6IAAsB,KACpB,sKAAyC,KACvC;;;;;;;;;;;wBAA8P;MAA9F;;wBAAkB;MAAC;;wBAAwE;MAA3P,ixCAA8P,IAGhQ,4KAA+C,KAC7C,0QAA8J,YAA1G;;wBAAkE;MAAtH,wBAA8J,kDAfxI,mBAAsB,gBACtB,mBAA4B,kBADlD,YAK8D,EALxC,SAAsB,EACtB,SAA4B,GADL,oBAA2B,gBAAxE,aAK8D,EALjB,UAA2B,GAWwF,oBAAkB,OAAlL,aAA8P,EAA9F,UAAkB,2BAXlL,m0BAK8D,GAM9D,ouBAA8P;yGAiBlQ,yMAA6G,KAC3G,uTAS+C,YAF9B;;wBAAiD;MACjD;;wBAAsC;MACtC;;wBAA6B;MAT9C,6iDAS+C,mDAR9B,mBAAiC,oBAGjC,mBAAqB,YAFrB,mBAA+B,mBAI/B,mBAAmB,UAHnB,mBAAwD,yCAExD,mBAAmB,UALpC,YAS+C,EAR9B,SAAiC,EAGjC,SAAqB,EAFrB,SAA+B,EAI/B,SAAmB,EAHnB,SAAwD,EAExD,SAAmB;0GA4BkD,wHAAoD,kcAA6B;0GAIzJ,wHAAuD,2MAAyB;0GAChF,wHAAmG,+EAAE;0GACrG,wHAAmD,sMAAoB;0GAGvE,wHAA6D,kNAAgC;0GAC7F,wHAA8C,mGAAsB;0GACpE,wHAA8C,oGAAuB;0GA7BnF,oOAAmI,KACjI,kNAAqF,KACnF,0OAA8G,KAC5G,wHAAM,yFAAY,MAEpB,oQAAiI,KAC/H,wHAAK,KACH,6MAAgF,KAC9E,qKAAyC,KACvC,uLAA2D,iFAAuB,MAClF,8NAAiG,sFACvF,oJAAuB,kFAA+B,MAGlE,4LAA8D,KAC5D,kJAA2B,iFAAoB,MAC/C,wHAAK,iFAAoB,MACzB,wHAAK,KACH,yHAAM,sNAAkE,kZAAoD,IAAoC,8EAAqB,MAGvL,wHAAK,KACH,8YAAuD,IACvD,8YAAmG,IACnG,8YAAmD,IAErD,wHAAK,KACH,8YAA6D,IAC7D,8YAA8C,IAC9C,8YAA8C,IASxD,8NAA2F,KACzF,kNAAqF,KACnF,uMAA0E,8FAA2C,MAEvH,oLAAuD,KACrD,gTAO6D,YAA5C;;wBAA2C;MAP5D,4+CAO6D,MAMjE,sKAAyC,KACvC,wLAA2D,KACzD,sLAA+D,8EAAC,MAElE,wLAA2D,kDA1C2B,+DAA6C,IAAnD,aAAoD,EAA9C,SAA6C,GAIrH,wEAAgD,IAAtD,aAAuD,EAAjD,SAAgD,GAChD,oIAA4F,KAAlG,aAAmG,EAA7F,UAA4F,GAC5F,qEAA4C,IAAlD,aAAmD,EAA7C,UAA4C,GAG5C,6EAAsD,IAA5D,aAA6D,EAAvD,UAAsD,GACtD,qDAAuC,GAA7C,aAA8C,EAAxC,UAAuC,GACvC,qDAAuC,GAA7C,aAA8C,EAAxC,UAAuC,GAelC,oBAAmC,sBAGnC,oBAAgC,uBAFhC,oBAAiC,qBAGjC,oBAAmB,UAFnB,oBAAwD,yCAGxD,oBAAmB,UANpC,aAO6D,EAN5C,UAAmC,EAGnC,UAAgC,EAFhC,UAAiC,EAGjC,UAAmB,EAFnB,UAAwD,EAGxD,UAAmB,mDAxC2B,iEAAuB,GAEjD,kEAA+B,GAIrC,8DAAoB,GAC1C,8DAAoB,GAEjB,+RAAkE,GAAwF,6DAAqB,GAsBjH,0EAA2C,GAGrC,oBAAqC,oBAAC,oBAAkC,mBAAxJ,aAO6D,EAPmB,UAAqC,EAAC,UAAkC;0GA7ClK,kMAAiG,KAC/F,mMAAyJ,YAA3C;;wBAA0C;MAAxJ,o0BAAyJ,MACzJ,6YAAmI,iDAD7G,mBAA4B,YAAC,mBAAkB,OAAkB,yBAAsB,EAAvC,wBAAgB,EAAtF,YAAyJ,EAAnI,SAA4B,EAAC,SAAkB,EAAkB,SAAsB,EAAvC,SAAgB,GACjF,oBAAiC,yBAAtC,YAAmI,EAA9H,SAAiC;0GA4F9C,6MAAqF,YAAzE;;wBAAsB;MAAlC,0bAAqF,MACnF,2IAAuB,KACrB,oKAA8C,8FAAiB,MAAS,sHAAM,KAC9E,oJAA8B,mFAAM,MAAO,sHAAM,KACjD,2JAAqC,KACnC,qJAA8B,6FAAgB,MAAO,uHAAM,KAE7D,0RAAsI,YAAlH;;wBAA4B;MAAhD,wBAAsI,+EAAE,mDAPxF,qBAAkB,EAA1D,mBAAsB,WAAlC,YAAqF,EAAjC,SAAkB,EAA1D,SAAsB;+LApNlC,gMAAoE,KAIpE,4YAAkI,IAgClI,0LAA6D,KAC3D,wQAAsI,KAEpI,4YAA2F,IA+B3F,4YAA2F,IA+B7F,0NAAuF,KAErF,kLAAqD,KACnD,6YAA6G,IAc7G,8YAAiG,IA8FvG,8YAAqF,iDAhNa,4CAA+B,GAAjI,YAAkI,EAAhC,SAA+B,GAmClE,4CAA+B,GAA1F,YAA2F,EAAhC,SAA+B,GA+B/B,4CAA+B,GAA1F,YAA2F,EAAhC,SAA+B,GAkCX,oBAA+B,yBAA5G,aAA6G,EAAhC,SAA+B,GAcvG,mBAA0B,mBAA/B,aAAiG,EAA5F,SAA0B,GA8FF,mBAAgB,WAAnD,aAAqF,EAAlD,SAAgB;;;;;;;;;;;;;;;;ACpNnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0F;AACtB;AACD;AACA;AAGV;AACiB;AAEzB;AACQ;AACS;AAGlE;IAuDE,6BAAmB,oBAA0C,EAAS,eAAgC,EAAU,iBAAsC,EAAU,MAAc;QAA3J,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,oBAAe,GAAf,eAAe,CAAiB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAqB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAhD9K,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAC1C,kBAAa,GAAG,EAAE,CAAC;QAEnB,kBAAa,GAAG,EAAE,CAAC;QACnB,SAAI,GAAW,EAAE,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAEhB,2BAAsB,GAAY,IAAI,CAAC;QACvC,qBAAgB,GAAY,KAAK,CAAC;QAClC,eAAU,GAAY,IAAI,CAAC;QAC3B,qBAAgB,GAAY,IAAI,CAAC;QACjC,YAAO,GAAa,IAAI,yDAAQ,EAAE,CAAC;QACnC,iBAAY,GAAiB,IAAI,iEAAY,EAAE,CAAC;QAChD,iBAAY,GAAY,KAAK,CAAC;QAC9B,eAAU,GAAY,KAAK,CAAC;QAE5B,SAAI,GAAG,EAAE,CAAC;QAMV,+BAA0B,GAAG,CAAC,CAAC;QAC/B,qBAAgB,GAAmB,EAAE,CAAC;QACtC,cAAS,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,qBAAgB,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QAC3C,sBAAiB,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QAC5C,qBAAgB,GAAE,GAAG,CAAC;QACtB,wBAAmB,GAAG,GAAG,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QACnB,2BAAsB,GAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC5J,iBAAY,GAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,sFAAsF;QACnJ,yBAAoB,GAAW,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChG,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QAC7B,yBAAoB,GAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QACxJ,eAAU,GAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAE,6CAA6C;QACrG,uBAAkB,GAAW,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QAIxF,cAAS,GAAW,CAAC,CAAC;QAEtB,oBAAe,GAAG,EAAE,CAAC;QAOnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9F,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAG;gBACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IACD,sCAAQ,GAAR;QAAA,iBA0CC;QAxCC,IAAI,CAAC,aAAa,GAAG;YACnB,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;SAC5G,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACpF,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxB,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,UAAU,CAAC;YACX,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACjC,QAAQ,CAAC,0BAA0B,EAAE,CAAC;QACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,yCAAyC;QACzC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;YACzF,WAAW,CAAC,OAAO,CAAC,qBAAW;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC;SAClB,CAAC;QAEF,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACjC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAE;YACjD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+FAA+F,CAAC,CAAC;YACxI,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;YAC7B,sEAAsE;SACvE;QACD,wDAAwD;IAE1D,CAAC;IAED,oCAAM,GAAN,UAAO,GAAG;QACR,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7B;aAAM,IAAI,GAAG,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7B;QAED,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,kDAAoB,GAApB,UAAqB,GAAG;QACtB,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAC5D,6BAA6B;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,8BAA8B;QAE9B,qCAAqC;QAErC,GAAG;IACL,CAAC;IACD,4CAAc,GAAd,UAAe,GAAG;QAEjB,8BAA8B;QAC7B,wBAAwB;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAGnB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC;YACT,IAAI,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5D,IAAI,cAAc,IAAI,UAAU,EAAE;gBAClC,sCAAsC;gBACrC,qCAAqC;gBACpC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAChC;iBAAM,IAAI,cAAc,IAAI,UAAU,EAAE;gBACxC,uCAAuC;gBACtC,oCAAoC;gBACpC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAChC;QAEH,CAAC,EAAE,GAAG,CAAC;IACT,CAAC;IACD,2CAAa,GAAb;QACE,UAAU,CAAC;YACT,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,8GAA8G,CAAC,CAAC;QACzJ,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD,yCAAW,GAAX,UAAY,IAAI;QAAhB,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,YAAY;YACtF,KAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,mDAAqB,GAArB;QAEE,IAAI,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,2CAA2C,CAAC,CAAC;QACnH,0EAA0E;QAC1E,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,GAAG,0BAA0B,CAAC;QACpC,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAC;QACnC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QAEnE,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B;QACrE,GAAG,CAAC,EAAE,GAAG,mBAAmB,CAAC;QAC7B,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;QAC3B,CAAC,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAE/D,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B;QACrE,GAAG,CAAC,EAAE,GAAG,kBAAkB,CAAC;QAC5B,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;QAC3B,CAAC,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAG7D,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B;QAC7E,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,4BAA4B;QACxD,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;QAC3B,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5B,QAAQ,CAAC,EAAE,GAAG,WAAW,CAAC;QAC1B,wCAAwC;QACxC,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;QAC5E,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,2BAA2B;QACxD,KAAK,CAAC,EAAE,GAAG,qBAAqB,CAAC;QACjC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAE,kCAAkC;QAC/F,2EAA2E;QAC3E,4BAA4B;QAE5B,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAGtC,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B;QAC9E,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,4BAA4B;QACzD,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;QAC7B,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC;QAC9B,SAAS,CAAC,EAAE,GAAG,YAAY,CAAC;QAC5B,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;QAC7E,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,2BAA2B;QAC1D,MAAM,CAAC,EAAE,GAAG,sBAAsB,CAAC;QACnC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAE,kCAAkC;QAC9F,2EAA2E;QAC3E,4BAA4B;QAE5B,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;QACrE,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEnD,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;QACzE,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;QAE1E,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,GAAG,SAAS,aAAa;YACnE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAED,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,GAAG,SAAS,aAAa;YACpE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,8CAAgB,GAAhB;QACE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,kDAAkD;QAClD,8BAA8B;QAC9B,KAAK;IAEP,CAAC;IACD,+CAAiB,GAAjB;QACE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,kDAAkD;QAClD,8BAA8B;QAC9B,KAAK;IACP,CAAC;IACD,wDAA0B,GAA1B;QAAA,iBASC;QAPC,IAAI,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACrG,KAAK,CAAC,OAAO,CAAC,eAAK;YACnB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,oCAAM,GAAN,UAAO,GAAG;QACR,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAClE,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,GAAG,CAAC;YACxC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,UAAU,CAAC;gBACX,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACtC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACV;aAAM;YACL,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACvC;IACH,CAAC;IACD,0CAAY,GAAZ,UAAa,IAAS;QAEpB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,sCAAsC;IACxC,CAAC;IACD,4CAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;aACxB;SACF;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACtG,sCAAsC;SACtC;aAAM;YACN,yBAAyB;YACxB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACvB;IACH,CAAC;IACD,yCAAW,GAAX,UAAY,KAAU;QACpB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;SAC1B;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACvG,uCAAuC;IACvC,CAAC;IACD,2CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,wBAAwB;QACxB,qCAAqC;QACrC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,gDAAkB,GAAlB,UAAmB,QAAQ;QACzB,+DAA+D;QAC/D,2BAA2B;IAC7B,CAAC;IACD,8CAAgB,GAAhB;QACE,IAAI,CAAC,iBAAiB,GAAgB;YACpC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG;YACrC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtB,CAAC;IACD,8CAAgB,GAAhB,UAAiB,gBAAgB;QAE7B,IAAI,CAAC,gBAAgB,GAAG;YACtB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;gBACzC,aAAa,EAAE,IAAI;aACpB;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;YAClD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;YACxD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YACnF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YAChD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YACpE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;YACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;YACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;YACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;YAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;YAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACpE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;YAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;SAExD,CAAC;IAEN,CAAC;IACD,0CAAY,GAAZ,UAAa,GAAG,IAAI,CAAC;IACrB,2CAAa,GAAb;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,yCAAW,GAAX;IAEA,CAAC;IACD,4CAAc,GAAd,UAAe,QAAQ;QAAvB,iBAoCC;QAnCC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBACvE,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;gBACvB,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,uEAAuE,CAAC;gBAE/G,0GAA0G;gBACzG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC/D,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,KAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;aACJ;iBACM;gBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,qDAAqD;gBACnD,iCAAiC;gBACjC,2CAA2C;gBAC3C,0BAA0B;gBAC1B,GAAG;aACJ;YACD,CAAC,CAAC,+CAA+C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC9E,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,wEAAwE;YACtE,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACT,oDAAoD;SACrD;aACI;YACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;IACH,CAAC;IACD,kDAAoB,GAApB,UAAqB,QAAQ;QAC3B,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACvF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACpC;QACD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAEjB,CAAC;IAED,qCAAO,GAAP;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,0DAA4B,GAA5B,UAA6B,SAAS;QAAtC,iBAQC;QAPC,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAChG,QAAQ,CAAC,OAAO,CAAC,kBAAQ;YACzB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YACrC,KAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC,MAAM,CAAC;QACpD,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,yCAAW,GAAX;QACE,UAAU,CAAC;YACT,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QAC7J,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IACD,sDAAwB,GAAxB,UAAyB,OAAO;QAAhC,iBA2BC;QAzBC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;YAElE,0GAA0G;YAC1G,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,4BAA4B,CAAC,CAAC,GAAG,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBAElM,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,KAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC9B,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,KAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,SAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,SAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;oBAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,SAAO,CAAC,SAAS,EAAE;wBACrC,SAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACrD,SAAO,CAAC,WAAW,CAAC,cAAc,CAAC,SAAO,CAAC,SAAS,CAAC,CAAC;qBACvD;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAEV;IAEH,CAAC;IAED,6DAA+B,GAA/B;QACE,IAAI,CAAC,iBAAiB,GAAgB;YACpC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;SACtO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG;YACrC,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtB,CAAC;IACD,sDAAwB,GAAxB,UAAyB,gBAAwB;QAC7C,IAAI,CAAC,kBAAkB,GAAG;YACxB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,GAAG;gBACV,YAAY,EAAE,cAAc;gBAC5B,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,mCAAmC,EAAE,IAAI;aAC1C;YACD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;YAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;YACxD,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;YACjE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YAChD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YACnF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YAChD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;YAC5D,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YAChE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YACrD,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;YACnD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACzD,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACzD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;YACnD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;YACrD,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;YAChE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1D,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACxD,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;YACjD,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;YACvD,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACjE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;YAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;YAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACnE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7D,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YACpE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;YAC3E,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;SACxD,CAAC;IACN,CAAC;IACD,mDAAqB,GAArB,UAAsB,KAAK;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC9B,CAAC,CAAC,UAAU,CAAC;gBACX,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACX,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,iDAAmB,GAAnB;IAEA,CAAC;IACD,+CAAiB,GAAjB,UAAkB,GAAG,IAAI,CAAC;IAW5B,0BAAC;AAAD,CAAC;;;;;;;;;;;;;;ACrnBD;AAAA;AAAA;AAAA;AAAoG;AAE7F,SAAS,sBAAsB,CAAC,MAAc;IACnD,OAAO,UAAC,OAAwB;QAC9B,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC;AAED;IAAA;IAYA,CAAC;IALC,uDAAQ,GAAR,UAAS,OAAwB;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9F,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEH,2CAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2HCrBG,kLAAgF,KAC9E,0KAA8C,KAC5C,+KAAyD,uFAAU,MAErE,+KAAmD,KACjD,gLAAoD,KAClD,yMAA6E,KAE3E,gQAA4H,YAAhE;;wBAAyC;MAArG,wBAA4H,KAKhI,sMAA0E,KACxE,0SAUgE,YAF/C;;wBAAmC;MACnC;;wBAA6C;MAC7C;;wBAA8C;MAV/D,0lDAUgE,MAKpE,iLAAmD,KACjD;;;;;;myBAAsD,IACpD,iLAAoD,KAGpD,gNAAkF,KAChF,kLAAqD,+HAAO,sFAAS,MACrE,kLAAqD;;;;;;;;;;;wBAA4L;MAA5I;;wBAA4C;MAA5F,+0DAA4L,IAEnP,8MAAgF,KAC9E,iLAAoD,+HAAO,uFAAU,MACrE,iLAAoD;;;;;;;;;;;wBAAkL;MAA/J;;wBAAkC;MAArD,+0DAAkL,IAExO,iLAAoD,KAGpD,8LAAiE,KAC/D,6IAAsB,KACtB,mLAAsD,KACpD,kUAAmL,YAAlC;;wBAAiC;MAAlL,wBAAmL,mFAAM,MAE3L,8MAAiF,KAC/E,2VAAkO,YAAnM;;wBAA0B;MAAzD,wBAAkO,iFAAI,mDApCzN,mBAA2B,cAG3B,mBAA2B,kBAF3B,mBAAyB,aACzB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAoB,EAFpB,oBAAuB,EALxC,aAUgE,EAT/C,SAA2B,EAG3B,SAA2B,EAF3B,SAAyB,EACzB,SAAwD,EAGxD,SAAmB,EACnB,SAAoB,EAFpB,SAAuB,GAiB4G,oBAA8B,oBAA3H,aAA4L,EAA/F,UAA8B,GAAjH,iDAAqC,EAA6E,qBAA+B,oBAA3G,oBAA4C,iCAA5F,aAA4L,EAAlL,UAAqC,EAA6E,UAA+B,EAA3G,UAA4C,GAIqB,oBAA8B,oBAAhJ,aAAkL,EAAhE,UAA8B,GAA1F,uCAA2B,EAAC,qBAA+B,oBAA9F,oBAAkC,uBAArD,aAAkL,EAA5H,UAA2B,EAAC,UAA+B,EAA9F,UAAkC,2BAV7G,8tBAAsD,GAMG,o1BAA4L,GAI7L,o1BAAkL,GAW/C,2EAA4C,cAAjO,aAAkO,EAA7C,UAA4C;2HAwB7N,wtBAA8E,+EAA2B,2BAAjG,kIAAiC,GAAzC,YAA8E,EAAtE,8IAAiC,GAAzC,YAA8E,EAAtE,SAAiC,2BAAqC,iFAA2B;2HA0C3G,6xBAA8E,+EAA2B,2BAAjG,kIAAiC,GAAzC,YAA8E,EAAtE,8IAAiC,GAAzC,YAA8E,EAAtE,SAAiC,2BAAqC,iFAA2B;2HA1DrH,kLAA2E,KACzE,0KAA8C,KAC5C,+KAAyD,0FAAa,MAExE,gLAAmD,KACjD,iLAAoD,KAClD,uMAA2E,KAEzE,gQAA8H,YAAlE;;wBAA2C;MAAvG,wBAA8H,KAEhI,sLAAyD,KACvD,+LAAmE,KACjE,6IAAsB,KACtB,wKAA2C,KACzC,sOAAgG,YAA5C;;wBAA2C;MAA/F,wBAAgG,KAC9F,yuBAAkB,0FAAc,MAChC,weAA8E,IAUxF,uMAA0E,KACxE,2SAUoE,YAFnD;;wBAAqC;MACrC;;wBAA6C;MAC7C;;wBAAkD;MAVnE,0lDAUoE,MAMxE,iLAAmD,KACjD;;;;;;+xBAAkD,IAChD,kMAAoE,KAClE,oMAAuE,2FAEvE,MACA,qMAAwE,KACtE;;;;;;;;;;;wBAAuM;MAA1G;;wBAAoC;MAAjI,+0DAAuM,IAG3M,iMAAmE,KACjE,kMAAqE,qFAAQ,MAC7E,sMAAwE,KACtE;;;;;wBAAyK;MAAvC;;wBAAsC;MAAxK,8wDAAyK,IACvK,01BAA4C,kGAAsB,MAClE,weAA8E,IAKpF,iMAAmE,KACjE,kMAAqE,uFAAU,MAC/E,qMAAwE,KACtE;;;;;;;;;;;wBAAsK;MAAjC;;wBAA8B;MAAnK,+0DAAsK,IAK1K,oNAAuF,KACrF,mNAAsF,KAEpF,mLAAsD,KACpD,4SAA+J,YAApC;;wBAAmC;MAA9J,wBAA+J,mFAAM,MAEvK,8MAAiF,KAC/E,2VAA0N,YAAvB;;wBAAsB;MAAzN,wBAA0N,iFAAI,mDA/DpN,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACyB,mBAAmC,kBAA7E,aAA8E,EAApC,SAAmC,GAYpE,mBAA2B,cAG3B,mBAAwB,eAFxB,mBAAyB,aACzB,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAoB,EAFpB,oBAAuB,EALxC,aAUoE,EATnD,SAA2B,EAG3B,SAAwB,EAFxB,SAAyB,EACzB,SAAwD,EAGxD,SAAmB,EACnB,SAAoB,EAFpB,SAAuB,GAkBiI,oBAAiC,uBAAtM,aAAuM,EAAlC,UAAiC,GAAvI,yCAA6B,EAAsC,qBAAkC,uBAAvE,oBAAoC,yBAAjI,aAAuM,EAAxI,UAA6B,EAAsC,UAAkC,EAAvE,UAAoC,GAMpG,oBAAiC,uBAA9D,aAAyK,EAA5I,UAAiC,GAAC,2CAA+B,EAAC,qBAAkC,uBAAC,oBAAsC,2BAAxK,aAAyK,EAA1G,UAA+B,EAAC,UAAkC,EAAC,UAAsC,GAC9J,4BAAiB,EAAzB,aAA4C,EAApC,yCAAiB,EAAzB,aAA4C,EAApC,UAAiB,GACiB,oBAAmC,kBAA7E,aAA8E,EAApC,UAAmC,GAQvC,oBAAiC,uBAAzE,aAAsK,EAA9H,UAAiC,GAAoC,mCAAuB,EAA1D,qBAAkC,uBAAyB,oBAA8B,mBAAnK,aAAsK,EAAzD,UAAuB,EAA1D,UAAkC,EAAyB,UAA8B,2BAtBzK,ouBAAkD,GAM5C,o1BAAuM,GAMvM,o1BAAyK,GAUzK,o1BAAsK,GAYV,2EAAwC,cAAlM,aAA0N,EAAhE,UAAwC;2HA1IlN,qLAAyD,KACrD,8ZAAgF,IA2DhF,8ZAA2E,iDA3DtB,mBAA0B,qBAA/E,YAAgF,EAA3B,SAA0B,GA2D1B,mBAAqB,gBAA1E,YAA2E,EAAtB,SAAqB;;;;;;;;;;;;;;;;AC3D9E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AACc;AAClB;AAEN;AACf;AAEoC;AACnB;AAE5D;IA4BE,+CAAmB,oBAA0C,EAAU,WAAwB,EAAU,MAAqB,EAAU,YAA0B;QAA/I,yBAAoB,GAApB,oBAAoB,CAAsB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAtB3J,uBAAkB,GAAY,IAAI,CAAC;QACnC,kBAAa,GAAY,KAAK,CAAC;QAGtC,eAAU,GAAiB,IAAI,iFAAY,EAAE,CAAC;QAC9C,WAAM,GAAY,IAAI,4EAAO,EAAE,CAAC;QAChC,sBAAiB,GAAY,KAAK,CAAC;QACnC,yBAAoB,GAAY,KAAK,CAAC;QAa7B,gBAAW,GAAW,IAAI,CAAC;QACpC,cAAS,GAA2B,IAAI,uFAAsB,EAAE,CAAC;QAE/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,wDAAQ,GAAR;QACE,+FAA+F;QAC/F,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACjC,UAAU;QACR,qaAAqa;QACra,oDAAoD;QACtD,GAAG;IACL,CAAC;IAED,qDAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAE9D,CAAC;IACD,yDAAS,GAAT;QACE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,4EAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,iFAAY,EAAE,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,6DAAa,GAAb,UAAc,KAAK;QACjB,IAAI,KAAK,IAAI,YAAY,EAAE;YACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,iFAAY,EAAE,CAAC;SACtC;aAAM,IAAI,KAAK,IAAI,cAAc,EAAE;YAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,4EAAO,EAAE,CAAC;SAC7B;QAED,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,qBAAqB,GAAG,KAAK,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,GAAG,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC5b,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,iEAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,KAAK,IAAI,YAAY,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,iFAAY,EAAE,CAAC;SACtC;aAAM,IAAI,KAAK,IAAI,cAAc,EAAE;YAClC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,4EAAO,EAAE,CAAC;SAC7B;IAGH,CAAC;IAED,kEAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,KAAK,IAAI,YAAY,EAAE;YACzB,OAAO,IAAI,wDAAS,CAAC;gBACnB,qBAAqB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,yDAAU,CAAC,QAAQ,CAAC;gBAChG,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;aAC7E,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,IAAI,wDAAS,CAAC;gBACnB,iBAAiB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,yDAAU,CAAC,QAAQ,CAAC;gBACpF,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;gBACxE,mBAAmB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,yDAAU,CAAC,QAAQ,CAAC;aACzF,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,gEAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,WAAW,GAAgB;YAC9B,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ;YAC1M,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI;SACzF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QAGF,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE/B,CAAC;IAED,gEAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,IAAI,YAAY,EAAE;YAEzB,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;iBAC9E;gBACD,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBACxE;oBACE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBAC9E;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACzE;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAEzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;4BAC9B,IAAI,CAAC,SAAS,GAAG,wEAAwE,CAAC;yBAC3F;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,yEAAyE,CAAC;yBAC5F;wBAGD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACrD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC;SAEH;aAAM,IAAI,KAAK,IAAI,cAAc,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG;gBAChB;oBACE,KAAK,EAAE,GAAG;oBACV,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,iBAAiB,EAAE,IAAI;oBACvB,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,CAAC;oBACb,uBAAuB,EAAE,IAAI;oBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;iBAC9E;gBACD,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;gBACpE;oBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBAC9E,EAAC;oBACA,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;iBAC9E;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;gBACzE;oBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;wBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAEzC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;4BAC9B,IAAI,CAAC,SAAS,GAAG,wEAAwE,CAAC;yBAC3F;6BAAM;4BACL,IAAI,CAAC,SAAS,GAAG,yEAAyE,CAAC;yBAC5F;wBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC7B,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACrD,CAAC,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC;SACH;IAEH,CAAC;IAED,4DAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IACD,8DAAc,GAAd,UAAe,KAAsB;QACnC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,oEAAoB,GAApB,UAAqB,IAAI;QAAzB,iBAmBC;QAlBC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,cAAc,EAAE;YAC1B,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,UAAC,IAAI;gBACnD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC/C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,gEAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,IAAI,CAAC,aAAa,EAAE;oBACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;iBAClC;qBAAM;oBACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;iBAC/B;aAEF;SACF;aAAM;YACL,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC9B;SAEF;IACH,CAAC;IACD,yDAAS,GAAT,UAAU,KAAK;QACb,IAAI,KAAK,IAAI,YAAY,EAAE;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,iFAAY,EAAE,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,4EAAO,EAAE,CAAC;SAC7B;IAEH,CAAC;IAED,8DAAc,GAAd;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,CAAC,EAAE;YACzI,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,CAAC,CAAC;SACvC;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,EAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,2EAA2B,GAA3B,UAA4B,QAAQ,EAAE,IAAI;QAA1C,iBAsBC;QArBC,IAAI,IAAI,IAAI,YAAY,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACvE,KAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;gBAClC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvB,KAAI,CAAC,UAAU,GAAG,IAAI,iFAAY,EAAE,CAAC;gBACrC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+CAA+C,EAAE,kCAAkC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7H,CAAC,CAAC,CAAC;SACJ;aAEI,IAAI,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpE,KAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACtC,KAAI,CAAC,UAAU,GAAG,IAAI,iFAAY,EAAE,CAAC;gBACrC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2CAA2C,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACpH,CAAC,CAAC,CAAC;SACJ;IAGH,CAAC;IACD,0DAAU,GAAV;QACE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,EAAE;YACjH,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;SAC/B;QAED,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAC,cAAc,CAAC,CAAC;IAC/D,CAAC;IACD,2DAAW,GAAX,UAAY,KAAK;QACf,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,KAAK,EAA5B,CAA4B,CAAC,CAAC;SACzF;IAEH,CAAC;IACD,6DAAa,GAAb,UAAc,KAAK,EAAE,GAAG;QACtB,IAAI,GAAG,IAAI,UAAU,EAAE;YACrB,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC,GAAG,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC,GAAG,CAAC;SAC7C;IACH,CAAC;IAED,kEAAkB,GAAlB,UAAmB,IAAI;QAAvB,iBAqBC;QApBC,IAAI,IAAI,IAAI,YAAY,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpE,KAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;aACI;YAEH,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpE,KAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,EAAhB,CAAgB,CAAC,CAAC;gBAE5D,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAC/D,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;oBAC3B,KAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;gBAErC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SAGJ;IAEH,CAAC;IAED,sEAAsB,GAAtB,UAAuB,QAAQ,EAAE,KAAK;QACpC,IAAI,KAAK,IAAI,YAAY,EAAE;YACzB,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,EAAE;gBAC3B,IAAI,CAAC,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;gBAChE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;oBAC3B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;iBACjE;aACF;iBAAM;gBACL,IAAI,CAAC,GAAG,OAAO,CAAC,gDAAgD,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;oBAC3B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;iBACjE;aACF;SACF;aACI,IAAI,KAAK,IAAI,cAAc,EAAE;YAChC,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,EAAE;gBAC3B,IAAI,CAAC,GAAG,OAAO,CAAC,kDAAkD,CAAC,CAAC;gBACpE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;iBAC/D;aACF;iBAAM;gBACL,IAAI,CAAC,GAAG,OAAO,CAAC,oDAAoD,CAAC,CAAC;gBACtE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;iBAC/D;aACF;SACF;IAEH,CAAC;IACH,4CAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gHC/YG,iLAAyE,KACvE,gQAA4G,YAA5B;;wBAAyB;MAAzG,wBAA4G,yFAAY,wJAA4B,yGAA4B;gHAElL,iLAA0E,KACxE,mJAA6B,yNAAuC;gHAIpE,wQAAqI,YAAzB;;wBAAsB;MAAlI,wBAAqI;gHACrI,0QAAuI,YAA1B;;wBAAuB;MAApI,wBAAuI;gHAWnI,wtBAAqE,+EAAY,2BAAzE,sHAAqB,GAA7B,YAAqE,EAA7D,kIAAqB,GAA7B,YAAqE,EAA7D,SAAqB,2BAAwC,kEAAY;gHAOjF,wtBAAwD,+EAAY,2BAA5D,mHAAkB,GAA1B,YAAwD,EAAhD,+HAAkB,GAA1B,YAAwD,EAAhD,SAAkB,2BAA8B,kEAAY;gHAqChE,6xBAAuE,+EAAuB,2BAAtF,8HAA6B,GAArC,YAAuE,EAA/D,0IAA6B,GAArC,YAAuE,EAA/D,SAA6B,2BAAkC,6EAAuB;iHAO9F,6xBAAwD,+EAAY,2BAA5D,mHAAkB,GAA1B,YAAwD,EAAhD,+HAAkB,GAA1B,YAAwD,EAAhD,SAAkB,2BAA8B,kEAAY;iHAsBrE,6xBAA4D,+EAAQ,2BAAzB,gHAAgB,GAA3D,YAA4D,EAAjB,4HAAgB,GAA3D,YAA4D,EAAjB,SAAgB,2BAAC,6DAAQ;iHAWnE,6xBAA2D,+EAAiB,2BAArC,mHAAmB,GAA1D,YAA2D,EAApB,+HAAmB,GAA1D,YAA2D,EAApB,SAAmB,2BAAC,sEAAiB;iHAQ9E,sPAAqS,YAA/N;;wBAA+C;MAArH,wBAAqS;iHACrS,4PAAgQ,YAAlD;;wBAA+C;MAA7P,wBAAgQ;iHAUhQ,gLAA0F,gOAA4F,YAAjD;;wBAAgD;MAA3F,wBAA4F;iHACtL,gLAA0F,+NAA0G,YAAhE;;wBAA+D;MAAzG,wBAA0G;gHAjExM,8IAA2E,KACzE,uJAAiC,kJAAyB,KAC1D,yJAAkC,KAChC;;;;;wBAAqd;MAA1Y;;wBAAmC;MAAoS;;;wBAAkE;MAApd,iXAAqd,GAA3T,yFAAyM,KAAnW,itCAAqd,IACnd,8yBAAkB,wFAAY,MAC9B,6dAAuE,IAG3E,0JAAkC,KAEhC;;;;;wBAAihB;MAAvc;;wBAAwC;MAAwF;;;;wBAAwH;MAAlU,kXAAihB,GAA9M,0FAA6M,KAAhhB,mtCAAihB,IAC/gB,8yBAAkB,6FAAiB,MACnC,8dAAwD,IAI5D,qKAA6C,KAC3C;;;;;;;;;;;;;;;;;;;;;;;wBAA2hB;MAAnf;;wBAAkC;MAAgN;;;wBAA0D;MAApV,kXAA2hB,GAAtM,0FAAmM,KAAxhB,6tBAA2hB,GAAhZ,gEAA4B,KAAvK,8gCAA2hB,IAG7hB,0JAAkC,KAEhC;;;;;wBAC2N;MADjJ;;wBAA4B;MAC9F;;;wBAA6D;MADrE,kXAC2N,GAArJ,0FAAoJ,KAD1N,mtCAC2N,IACzN,g0BAA2B,kFAAM,MACjC,8yBAAkB,oFAAQ,MAI9B,yJAAiC,KAC/B;;;;;wBAGuM;MAH7H;;wBAA4B;MAErG;;wBAAuC;MAFxC,kXAGuM,GAAtM,0FAAqM,KAHtM,mtCAGuM,IACtM,8dAA4D,IAG/D,wJAAiC,KACjC;;;;;;;;;;;wBAA+a;MAAvY;;wBAA0B;MAAuU;;wBAAoC;MAA7a,kXAA+a,GAA3O,0FAAoM,KAAxY,oxCAA+a,IAC/a,wHAAI,KACF;;;;;wBAI8M;MAHtM;;wBAA0B;MAE1B;;wBAAuC;MAH/C,kXAI8M,GAAtM,0FAAqM,KAJ7M,mtCAI8M,IAC5M,8dAA2D,IAG/D,qKAA6C,KAC3C;;;;;;;;;;;;;;;;;;;;;;;wBAA8gB;MAAte;;wBAA2B;MAA0M;;;wBAA0D;MAAvU,kXAA8gB,GAAtM,0FAAmM,KAA3gB,6tBAA8gB,GAA1Y,gEAA4B,KAAhK,ghCAA8gB,IAGhhB,4KAAmD,KACjD,sZAAqS,IACrS,sZAAgQ,IAEhQ;;;;;;;;;;;wBAAkG;MAA1D;;wBAAiC;MAAzE,oxCAAkG,IAClG;;;;;;;;;;;wBAAoG;MAA5D;;wBAAkC;MAA1E,oxCAAoG,IAEtG,0JAAkC,KAChC;;;;;;;;;;;wBAAuc;MAA/Z;;wBAAmC;MAAgV;;wBAAyC;MAApc,mXAAuc,GAAtP,2FAAyM,KAA1Z,uxCAAuc,IAGzc,4KAAoD,KAClD,sZAA0F,IAC1F,sZAA0F,iDA9DgE,yQAAyM,IAAnW,YAAqd,EAA3T,SAAyM,GAApP,2DAA0C,GAA9E,mBAAmC,kCAA9G,YAAqd,EAAtW,SAA0C,EAA9E,UAAmC,GACpG,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACqB,oBAAgC,eAAtE,aAAuE,EAAjC,UAAgC,GAK2P,8QAA6M,IAAhhB,aAAihB,EAA9M,UAA6M,GAA7Z,4DAA0C,GAAnF,mBAAwC,uCAAlH,aAAihB,EAA9Z,UAA0C,EAAnF,UAAwC,GACxG,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACU,oBAA4B,WAAvD,aAAwD,EAA7B,UAA4B,GAK4R,oQAAmM,IAAxhB,aAA2hB,EAAtM,UAAmM,GAA7Y,mCAA4B,WAAvK,aAA2hB,EAAhZ,UAA4B,GAAwE,4DAA0C,GAAjP,mBAAkC,iCAA1E,aAA2hB,EAA5S,UAA0C,EAAjP,UAAkC,GAMJ,uKAAoJ,IAD1N,aAC2N,EAArJ,UAAoJ,GADnH,4DAA0C,GAAvE,mBAA4B,2BAAtG,aAC2N,EADpH,UAA0C,EAAvE,UAA4B,GAE5F,oBAAS,EAAjB,aAA2B,EAAnB,iCAAS,EAAjB,aAA2B,EAAnB,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GAQlB,sQAAqM,IAHtM,aAGuM,EAAtM,UAAqM,GAFrM,4DAA0C,GAD+B,mBAA4B,2BAAtG,aAGuM,EAFtM,UAA0C,EAD+B,UAA4B,GAI7F,oBAAkC,gBAA1C,aAA4D,EAApD,UAAkC,GAIuJ,oQAAoM,IAAxY,aAA+a,EAA3O,UAAoM,GAApU,4DAA0C,GAAtE,mBAA0B,yBAAlE,aAA+a,EAA3W,UAA0C,EAAtE,UAA0B,GAMxD,sQAAqM,IAJ7M,aAI8M,EAAtM,UAAqM,GAH1K,4DAA0C,GAArE,mBAA0B,yBADlC,aAI8M,EAH3K,UAA0C,EAArE,UAA0B,GAIxB,oBAA8B,YAAtC,aAA2D,EAAnD,UAA8B,GAIgS,oQAAmM,IAA3gB,aAA8gB,EAAtM,UAAmM,GAAvY,mCAA4B,WAAhK,aAA8gB,EAA1Y,UAA4B,GAAkE,6DAA0C,GAApO,oBAA2B,0BAAnE,cAA8gB,EAA5S,WAA0C,EAApO,WAA2B,GAImD,mQAA4K,KAAlS,cAAqS,EAA/K,WAA4K,GACtN,oMAAiI,KAA7M,cAAgQ,EAApL,WAAiI,GAErK,oBAAiC,gCAAzE,cAAkG,EAA1D,WAAiC,GACjC,oBAAkC,iCAA1E,cAAoG,EAA5D,WAAkC,GAGuI,2QAAyM,IAA1Z,cAAuc,EAAtP,WAAyM,GAA9U,6DAA0C,GAA9E,oBAAmC,kCAA3E,cAAuc,EAA3X,WAA0C,EAA9E,WAAmC,GAIvB,6DAAqC,GAAzF,cAA0F,EAAtC,WAAqC,GACrC,6DAAqC,GAAzF,cAA0F,EAAtC,WAAqC,2BA9D2Q,6IAA6C,GAAjZ,woBAAqd,EAAjH,SAA6C,EAAjZ,2EAAqd,GAOvT,4IAA2C,GAAzM,gpBAAihB,EAAnX,UAA2C,EAAzM,kFAAihB,GAOhV,8IAA6C,GAA9O,gpBAA2hB,EAA1V,UAA6C,EAA9O,kFAA2hB,GAKzY,gJAA+C,GAAjM,gpBAC2N,EADzE,UAA+C,EAAjM,kFAC2N,GAQ/K,gJAA+C,GAD3F,gpBAGuM,EAF3J,UAA+C,EAD3F,kFAGuM,GAK5C,uIAAsC,GAAnM,gpBAA+a,EAAlR,UAAsC,EAAnM,kFAA+a,GAIra,8IAA6C,GAFrD,gpBAI8M,EAFtM,UAA6C,EAFrD,kFAI8M,GAKpB,wIAAuC,GAAjO,upBAA8gB,EAApV,UAAuC,EAAjO,kFAA8gB,GAOpc,yHAAqB,GAA/F,+pBAAkG,EAAxB,WAAqB,EAA/F,yFAAkG,GACvB,0HAAsB,GAAjG,+pBAAoG,EAAzB,WAAsB,EAAjG,yFAAoG,GAGiE,6IAA2C,GAAhN,+pBAAuc,EAAlS,WAA2C,EAAhN,yFAAuc;gHA5E/c,gLAAuE,KACrE,gKAAyC,KACvC,uHAAI,KACF,2IAAqB,KACrB,4IAAsB,yFAAY,MAClC,4IAAsB,8FAAiB,MACvC,uJAAiC,qFAAQ,MACzC,6IAAsB,mFAAM,MAC5B,4IAAqB,mFAAM,MAC3B,4IAAqB,iFAAI,MACzB,6IAAsB,iFAAI,MAC1B,6IAAsB,mFAAM,MAC5B,4IAAqB,kFAAK,MAC1B,6IAAsB,qFAAQ,MAC9B,6IAAsB,oFAAO,MAE/B,6dAA2E,iDAAvE,mBAAoD,mBAAxD,aAA2E,EAAvE,SAAoD;iHAwE5D,gLAAwE,KAEtE,4IAAsB,KAEtB,qjBAA4F,IAC1F,sKAA0C,KACxC,sPAAyG,YAAlC;;wBAAiC;MAAxG,wBAAyG,mFAAM,MAEjH,4KAAgD,KAC9C,uPAAyF,YAAxB;;wBAAuB;MAAxF,wBAAyF,iFAAI,mDAL3F,yDAAiD,GAAvD,YAA4F,EAAtF,SAAiD;iHAWzD,gLAAyE,KAEvE,uKAA2C,KACzC,uPASqD,YAApC;;wBAAmC;MATpD,4mDASqD,mDARpC,mBAA2B,cAG3B,mBAA4B,mBAF5B,mBAAyB,aAGzB,mBAAmB,UAFnB,mBAAwD,yCAGxD,mBAAmB,UAEnB,oBAAkC,EADlC,oBAAsC,EAPvD,YASqD,EARpC,SAA2B,EAG3B,SAA4B,EAF5B,SAAyB,EAGzB,SAAmB,EAFnB,SAAwD,EAGxD,SAAmB,EAEnB,SAAkC,EADlC,SAAsC;iHAwCrD,uQAAuL,KACrL,sLAA0D,0HAAG,mNAAsG,IACnK,sKAA0C,0HAAG,kFAAK,MAAI,iFAA8B,MACpF,uLAA0D,2HAAG,oFAAO,MAAI,4EAAqB,iCAFhC,2cAAsG,GAC7G,sEAA8B,GACZ,oEAAqB;iHA/BvG,oNAA2G,YAA/F;;wBAA6B;MAAzC,ubAA2G,MACzG,8KAAoD,KAClD,wOAA4G,KAC1G,yHAAO,0FAAa,MACpB,8PAAoH,YAAtC;;wBAAoC;MAAlH,wBAAoH,KAEtH,sKAA0C,KAGxC;;;;;;;;;;;wBAAsP;MAAtL;;wBAAyB;MAAzF,myCAAsP,IAExP,iLAAoD,KAClD,6IAAsB,KAEtB,uKAA0C,KACxC,uKAA0C,KACxC,uPAA2G,YAArC;;wBAAoC;MAA1G,wBAA2G,mFAAM,MAEnH,6KAAgD,KAC9C,wPAAqG,YAApC;;wBAAkC;MAAnG,wBAAqG,iFAAI,MAKjH,oKAA0C,KACxC,yMAA4E,KAC1E,4OAA+G,2FAAc,MAC7H,gLAAmD,KACjD,8dAAuL,iDA5BvG,qBAAkB,EAA9F,mBAA6B,kBAAzC,YAA2G,EAAnB,SAAkB,EAA9F,SAA6B,GASmE,iCAAsB,EAA5D,oBAAyB,cAAzF,aAAsP,EAAhJ,SAAsB,EAA5D,UAAyB,GAmBmD,oBAA4C,mBAAtL,aAAuL,EAA7C,UAA4C,2BAnBxL,qtBAAsP;iHA4CxP,gOAAqJ,KACnJ,2LAA8D,KAC5D,yHAAO,wFAAW,MAAQ,wHAAM,4IAA0C,IAAO,sHAAM,KACvF,yHAAO,wFAAW,MAAQ,yHAAM,8IAAqC,IAAO,uHAAM,KAClF,0HAAO,2FAAc,MAAQ,yHAAM,iFAAwC,MAAO,uHAAM,KACxF,0HAAO,wFAAW,MAAQ,yHAAM,kFAAmC,MAAO,uHAAM,KAChF,0HAAO,yFAAY,MAAQ,yHAAM,kFAAgB,MAAO,uHAAM,KAAC,uHAAM,wDAJrC,6OAA0C,GAC1C,6OAAqC,GAClC,kFAAwC,GAC3C,2EAAmC,GAClC,oEAAgB;iHAdzD,mLAA+E,KAC7E,+KAAmD,KACjD,6RAAiK,KAC/J,qHAAG,KAAC,+OAAmG,YAApC;;wBAAiC;MAAhG,wBAAmG,KAI3G,yLAA6D,KAC3D,6dAAqJ,iDAAlD,mBAAiD,+BAApJ,YAAqJ,EAAlD,SAAiD;iHAYxJ,4NAAkI,YAAtH;;wBAAqC;MAAjD,ubAAkI,MAKhI,oKAA0C,KACxC,gLAAoD,yKAA8C,8FAAiB,MACnH,gLAAoD,KAClD,iJAA4B,oFAAO,MAErC,gLAAoD,KAClD,iLAAoD,KAClD,kJAA4B,iGAAoB,MAAI,uHAAM,KAE5D,iLAAoD,KAClD,8RAAwL,YAA3E;;;wBAA0E;MAAvL,wBAAwL,+EAAE,MAE1L,kUAA2L,YAAvK;;wBAAyC;MAA7D,wBAA2L,mFAAM,mDAjB1F,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC;4RA3OnD,uLAA2D,KACzD,qKAAyC,KACvC,mZAAyE,IAGzE,mZAA0E,IAI1E,2LAA+D,KAC7D,mZAAqI,IACrI,oZAAuI,IAK3I,kLAAqD,KAEnD,kLAAoD,KAClD,sLAAyD,KACvD,oPAAuH,YAA1F;;wBAAoD;MAAjF,wBAAuH,KACrH,yuBAAkB,qGAAyB,MAC3C,6dAAqE,IAIzE,qMAAwE,KACtE,oPAA+H,YAAlG;;wBAA4D;MAAzF,wBAA+H,KAC7H,yuBAAkB,2GAA+B,MACjD,6dAAwD,IAK5D,uMAAyE,KACvE,qPAAkH,YAArF;;wBAA+C;MAA5E,wBAAkH,KAChH,yuBAAkB,mGAAuB,MACzC,yuBAAkB,qGAAyB,MAC3C,yuBAAkB,8GAAkC,MAO1D,oZAAuE,IAwFvE,qZAAwE,IAexE,qZAAyE,IAsB3E,qZAA2G,IA6C3G,qZAA+E,IAoB/E,qZAAkI,iDAzO3E,kCAAmB,GAAxE,YAAyE,EAApB,SAAmB,GAGnB,mCAAoB,GAAzE,YAA0E,EAArB,SAAoB,GAKf,oBAAmB,aAA3E,YAAqI,EAA7E,SAAmB,GACjB,mBAAkB,aAA5E,aAAuI,EAA7E,SAAkB,GAUhE,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACa,mBAAsC,qBAApE,aAAqE,EAAvC,SAAsC,GAM5D,mBAAS,EAAjB,aAAkB,EAAV,+BAAS,EAAjB,aAAkB,EAAV,SAAS,GACU,mBAA4B,WAAvD,aAAwD,EAA7B,SAA4B,GAO/C,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GACT,oBAAS,EAAjB,aAAkB,EAAV,iCAAS,EAAjB,aAAkB,EAAV,UAAS,GAO4B,mCAAmB,GAAtE,aAAuE,EAApB,UAAmB,GAwFlB,mCAAmB,GAAvE,aAAwE,EAApB,UAAmB,GAenB,oCAAoB,GAAxE,aAAyE,EAArB,UAAoB,GAsBhC,oBAAuB,kBAAjE,aAA2G,EAAjE,UAAuB,GA6C5D,oBAAuB,kBAA5B,aAA+E,EAA1E,UAAuB,GAoBsB,oBAA+B,0BAAjF,aAAkI,EAAhF,UAA+B;;;;;;;;;;;;;;;;AC3OnF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoC;AAGuB;AAC5C;AACW;AACR;AACM;AAEnE;IA2CE,oCAAoB,WAAwB,EAAU,eAAgC,EAAS,oBAA0C;QAArH,gBAAW,GAAX,WAAW,CAAa;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAS,yBAAoB,GAApB,oBAAoB,CAAsB;QA9BzI,oBAAe,GAAoB,IAAI,oFAAe,EAAE,CAAC;QAGzD,aAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,kBAAa,GAAG,EAAE,CAAC;QAAC,cAAS,GAAG,EAAE,CAAC;QACnC,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,YAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,eAAU,GAAY,KAAK,CAAC;QAI5B,cAAS,GAAG,IAAI,0DAAY,EAAU,CAAC;QACvC,sBAAiB,GAAY,KAAK,CAAC;QACnC,oBAAe,GAAY,KAAK,CAAC;QACjC,gBAAW,GAAW,EAAE,CAAC;QACzB,eAAU,GAAW,CAAC,CAAC;QACvB,oBAAe,GAAY,KAAK,CAAC;QAC1B,kBAAa,GAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,iEAAiE,EAAE,CAAC;QAC9H,gBAAW,GAAG,CAAC,CAAC;QAKT,sBAAiB,GAAY,KAAK,CAAC;QAC1C,4BAAuB,GAAY,KAAK,CAAC;QACzC,iBAAY,GAAgB,IAAI,+DAAW,EAAE,CAAC;QAE9C,sBAAiB,GAAG,CAAC,CAAC;QAAC,cAAS,GAAG,EAAE,CAAC;QACtC,wBAAmB,GAAY,KAAK,CAAC;QACrC,gBAAW,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,KAAK,EAAE,CAAC,CAAC;QAEnJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,EAAD,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,6CAAQ,GAAR;QACE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC7B,CAAC;IACD,uDAAkB,GAAlB;QAAA,iBAaC;QAZC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;YACpE,KAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,EAAhB,CAAgB,CAAC,CAAC;YAC5D,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC/D,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,EAAhB,CAAgB,CAAC,CAAC;gBACzD,KAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,CAAC,EAAhB,CAAgB,CAAC,CAAC;YAEnE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACpF,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAAwB,GAAxB;QAAA,iBAiBC;QAhBC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC9D,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjF,KAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACrG,QAAQ,CAAC,OAAO,CAAC,iBAAO;oBACtB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC,KAAK,GAAC,OAAO,CAAC,SAAS,CAAC,EAAC,GAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBAElK,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAE/B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAIL,CAAC;IAED,0DAAqB,GAArB;QAAA,iBAwBC;QAvBC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;YAE7G,MAAM,CAAC,OAAO,CAAC,aAAG;gBAChB,GAAG,CAAC,oBAAoB,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,GAAG,CAAC,kBAAkB,EAA9B,CAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7F,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC9J,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;YAE/B,KAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC;YACvC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,CAAC,EAAb,CAAa,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO,IAAK,UAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAzC,CAAyC,EAAE,CAAC,CAAC,CAAC;YAEnJ,KAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,EAAf,CAAe,CAAC,CAAC,CAAC;iBAC3E,GAAG,CAAC,qBAAW;gBACd,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,WAAW,EAA9B,CAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,WAAW,EAA9B,CAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClM,KAAK,EAAE,WAAW;iBACnB;YACH,CAAC,CAAC,CAAC;YAEL,KAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;YAC9B,KAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAa,GAAb;QAEE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzB,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,kBAAkB,EAAE,CAAC;YACrB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YAC9B,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,CAAC;YACZ,eAAe,EAAE,EAAE;YACnB,oBAAoB,EAAE,EAAE;YACxB,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,EAAE;YACR,KAAK,EAAC,EAAE;YACR,YAAY,EAAE,IAAI;YAClB,IAAI,EAAC,EAAE;SACR,CAAC,CAAC;IAEL,CAAC;IACD,gDAAW,GAAX;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,CAAC,EAApB,CAAoB,CAAC,CAAC;QAChF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAED,wDAAmB,GAAnB,UAAoB,gBAAgB;QAApC,iBAMC;QALC,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,gBAAM;YACvE,KAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAW,GAAX,UAAY,SAAS;QACnB,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEhD,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC,CAAC;QAC1H,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC,CAAC;QACxH,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC,CAAC;QAC1H,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC,CAAC;QAC5H,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC,CAAC;QAC1H,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC,CAAC;QAC5H,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC,CAAC;QACxH,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC,CAAC;QACnH,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,4EAA4E,CAAC,CAAC;IAEtH,CAAC;IACD,kDAAa,GAAb,UAAc,SAAS;QACrB,IAAI,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,SAAS,EAAhC,CAAgC,CAAC,CAAC;QAC1F,eAAe,CAAC,OAAO,CAAC,aAAG;YACzB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAE5C,CAAC;IACD,2CAAM,GAAN,UAAO,KAAK,EAAE,IAAI;QAEhB,QAAQ,IAAI,EAAE;YACZ,KAAK,aAAa,CAAC,CAAC;gBAClB,IAAI,KAAK,IAAI,GAAG,EAAE;oBAChB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,IAAI,KAAK,EAAxB,CAAwB,CAAC,CAAC;iBAC7F;qBAAM;oBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC;iBACvD;gBAED,MAAM;aACP;YACD,KAAK,qBAAqB,CAAC,CAAC;gBAC1B,IAAI,KAAK,IAAI,GAAG,EAAE;oBAChB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,kBAAkB,IAAI,KAAK,EAA7B,CAA6B,CAAC,CAAC;iBAClG;qBAAM;oBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC;iBACvD;gBACD,MAAM;aACP;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,IAAI,KAAK,IAAI,GAAG,EAAE;oBAChB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAK,EAAjB,CAAiB,CAAC,CAAC;iBACtF;qBACI;oBACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC;iBACvD;gBACD,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACP,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC;gBACtD,MAAM;aACP;SACF;IACH,CAAC;IACD,2CAAM,GAAN,UAAO,KAAK;QACV,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,KAAK,IAAI,IAAI,EAAE;YAEjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;SAChD;IAEH,CAAC;IAGD,iDAAY,GAAZ,UAAa,IAAI;QACf,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;YAC5E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;IACH,CAAC;IACD,gDAAW,GAAX,UAAY,KAAK,EAAE,IAAI;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IACD,oDAAe,GAAf,UAAgB,KAAK,EAAE,OAAO,EAAE,IAAI;QAClC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,kBAAkB;YAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;YAC1D,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;oBAC/B,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;oBAC1E,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;gBAElF,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,kBAAkB,EAAE;SAE1B;aAAM,IAAI,IAAI,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAE5B,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,UAAU,CAAC;gBACX,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,mHAAmH,CAAC,CAAC;YAClK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACT;IAEH,CAAC;IACD,uDAAkB,GAAlB;QACE,CAAC,CAAC,UAAU,CAAC;YACX,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,sKAAsK,CAAC,CAAC;QACtN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,qDAAgB,GAAhB,UAAiB,KAAK;QAAtB,iBA8CD;QA5CG,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAClE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE;gBACvF,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;gBACpE,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC3C,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gBAAM;oBAChE,KAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,KAAI,CAAC,YAAY,GAAG,IAAI,+DAAW,EAAE,CAAC;oBACtC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC,CAAC;aACH;iBACI;gBACH,KAAK,CAAC,oBAAoB,CAAC,CAAC;aAC7B;SAEF;aACI,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,IAAI,CAAC,EAAE;YACvE,IAAI,OAAO,GAAG,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;gBACtD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACpL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;gBACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;aAC9B;iBAAM;gBACL,KAAK,CAAC,oBAAoB,CAAC,CAAC;aAC7B;SAKF;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC5B;IAGL,CAAC;IACC,6CAAQ,GAAR;QAAA,iBASC;QAPC,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,KAAK,IAAI,EAAE;YACnG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC1G,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;YAEjC,CAAC,CAAC;SACH;IAEH,CAAC;IAED,qDAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK;SAEpO,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;YAC/B,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,EAAE;aACb;SACF;IACH,CAAC;IAED,qDAAgB,GAAhB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG;YAEhB;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBACzJ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBAC/D,CAAC;aACF;YACD;gBACE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBACnK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBAC/D,CAAC;aAAE;YACL;gBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBACpH,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBAC/D,CAAC;aAAC;YACJ;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAG,SAAS,EAAE,UAAU,MAAM;oBAC7G,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBAC/D,CAAC,EAAC,YAAY,YAAC,MAAM;oBACnB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC5B,OAAO,QAAQ,CAAC;qBACjB;yBAAM;wBACL,OAAO,UAAU,CAAC;qBACnB;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBAC5G,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBAC/D,CAAC;aACF;YACD;gBACE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI;aAC9E;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI;aAChF;YACD;gBACE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,YAAC,MAAM;oBACxG,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,IAAK,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAG;wBAC9E,IAAI,CAAC,SAAS,GAAG,0EAA0E,CAAC;qBAC7F;yBACI,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxE,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;qBAClG;oBAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;oBACrD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,MAAM;oBACrH,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;qBAAE;gBAC/D,CAAC;aAAE;SACN,CAAC;IAEJ,CAAC;IACD,kDAAa,GAAb,UAAc,KAAK;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,gDAAW,GAAX;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;SACjD;IACH,CAAC;IAED,gDAAW,GAAX;QACE,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC/C,IAAI,OAAO,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC;YACT,IAAI,OAAO,CAAC,iBAAiB,EAAE;gBAC7B,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAxD,CAAwD,CAAC,CAAC;aACtI;iBAAM;gBACL,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,CAAC;aAC7D;QACD,CAAC,EAAE,GAAG,CAAC;IAEX,CAAC;IAED,+DAA0B,GAA1B,UAA2B,KAAK;QAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,UAAU,CAAC;YACT,CAAC,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,oHAAoH,CAAC,CAAC;QAC5K,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACH,iCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oHC9cG,kLAA8E,KAE5E,iLAAqD,KACnD,0KAA8C,KAC5C,+JAAyC,oGAAuB,MAKpE,iLAAoD,KAClD,iLAAoD,KAClD,yLAA6D,+MAAgE,YAAhC;;wBAA+B;MAA/D,wBAAgE,sMAAuE,KAEpM,mLAAsD,KACpD,iLAAoD,KAClD,kLAAqD,uLAA2D,6FAAgB,MAIlI,iLAAoD,KAElD,yJAAkC,0HAA6C,MAOrF,kLAAoD,KAClD,0LAA6D,gNAAgE,YAAhC;;wBAA+B;MAA/D,wBAAgE,uMAAuE,KAEpM,mLAAsD,KACpD,iLAAoD,KAClD,kLAAqD,uLAA2D,4FAAe,MAIjI,iLAAoD,KAElD,yJAAkC,wIAA2D;oHASvG,kLAAgF,KAC9E,0KAA8C,KAC5C,+KAAyD,6FAAgB,MAE3E,gLAAmD,KACjD,iLAAoD,KAClD,mMAAuE,KAGvE,iMAAqE,KAEnE,6QACuE,YAD1C;;wBAAsD;MAAnF,wBACuE,KACrE,0vBAAyB,gGAAqB,MAC9C,yuBAAgB,yFAAa,MAMnC,uMAA0E,KAExE,2SAUsE,YAFrD;;wBAAyC;MACzC;;wBAAoD;MACpD;;wBAAoD;MAVrE,0lDAUsE,MAK1E,iLAAmD,KACjD;;;;;;8xBAAiD,IAC/C,iLAAoD,KAEpD,gNAAkF,KAChF,kLAAqD,+HAAO,6FAAgB,MAC5E,kLAAqD;;;;;;;;;;;wBAAgM;MAAnJ;;wBAAyC;MAAtF,+0DAAgM,IAEvP,8MAAgF,KAC9E,iLAAoD,+HAAO,uFAAU,MACrE,iLAAoD;;;;;;;;;;;wBAA2M;MAAxL;;wBAAyC;MAA5D,+0DAA2M,IAGjQ,iLAAoD,kDArCxC,mBAAO,EAAf,aAAyB,EAAjB,+BAAO,EAAf,aAAyB,EAAjB,SAAO,GACP,mBAAO,EAAf,aAAgB,EAAR,+BAAO,EAAf,aAAgB,EAAR,SAAO,GASF,mBAA2B,cAG3B,mBAA6B,oBAF7B,mBAA+B,mBAC/B,mBAAwD,yCAGxD,mBAAmB,UACnB,oBAAoB,EAFpB,qBAAuB,EALxC,aAUsE,EATrD,SAA2B,EAG3B,SAA6B,EAF7B,SAA+B,EAC/B,SAAwD,EAGxD,SAAmB,EACnB,SAAoB,EAFpB,UAAuB,GAgBsG,oBAAmC,yBAA1H,aAAgM,EAAzG,UAAmC,GAAhH,8CAAkC,EAA+E,qBAAoC,yBAAlH,oBAAyC,8BAAtF,aAAgM,EAAtL,UAAkC,EAA+E,UAAoC,EAAlH,UAAyC,GAI8C,oBAAmC,yBAAxK,aAA2M,EAAtE,UAAmC,GAA3G,8CAAkC,EAAC,qBAAoC,yBAAjH,oBAAyC,8BAA5D,aAA2M,EAA9I,UAAkC,EAAC,UAAoC,EAAjH,UAAyC,2BATpH,ouBAAiD,GAKQ,o1BAAgM,GAIjM,o1BAA2M;oHAoC7P,6yBAAuF,+EAAwB,2BAAvG,8HAA8B,GAAtC,YAAuF,EAA/E,0IAA8B,GAAtC,YAAuF,EAA/E,SAA8B,2BAAiD,6EAAwB;oHAVvH,gLAA2E,KACzE,iLAAoD,KAElD,qKAAyC,KACvC,gQAAuH,YAA3D;;wBAAoC;MAAhG,wBAAuH,KAGzH,sKAA0C,KAExC;;;;;wBAAoH;MAAvF;;wBAA2B;MAAC;;wBAA0D;MAAnH,8sCAAoH,IAClH,ieAAuF,IAK3F,kMAAqE,KAEnE,yMAAmF,YAAtD;;wBAAqD;MAAlF,wBAAmF,KACjF,2vBAAyB,gGAAqB,MAC9C,yuBAAgB,yFAEhB,MAON,uMAA0E,KAExE,2SAUqE,YAFpD;;wBAAmC;MACnC;;wBAA+C;MAC/C;;wBAAmD;MAVpE,0lDAUqE,mDA/BtC,mBAA2B,gBAAxD,YAAoH,EAAvF,SAA2B,GACN,mBAAsC,oBAAtF,aAAuF,EAAvC,SAAsC,GAQ9E,mBAAO,EAAf,aAAyB,EAAjB,gCAAO,EAAf,aAAyB,EAAjB,UAAO,GACP,oBAAO,EAAf,aAAgB,EAAR,iCAAO,EAAf,aAAgB,EAAR,UAAO,GAYF,oBAA2B,cAG3B,oBAAwB,eAFxB,oBAAyB,aACzB,oBAAwD,yCAGxD,oBAAmB,UACnB,qBAAoB,EAFpB,qBAAuB,EALxC,aAUqE,EATpD,UAA2B,EAG3B,UAAwB,EAFxB,UAAyB,EACzB,UAAwD,EAGxD,UAAmB,EACnB,UAAoB,EAFpB,UAAuB,2BA1BtC,qtBAAoH;oHAoC1H,uMAA+I,KAC7I,uMAA2E,KACzE,qKAA+C,mIAAsD,MAAQ,sHAAM,KAErH,uMAA2E,KACzE,yHAAO,iKAAqF,MAAQ,sHAAM,2HAAM,KAElH,sLAAyD,KACvD,kLAAqD,+HAAO,2GAA8B,MAC1F,kLAAqD,8HAAM,qGAAwB,MAErF,uLAAyD,KACvD,kLAAqD,+HAAO,0GAA6B,MACzF,mLAAqD,KACnD,kLAAoD,KAClD;;;;;wBAK8D;MALG;;wBAA2B;MAEtE;;wBAAiC;MACjC;;wBAAqC;MACrC;;wBAAmC;MACnC;;wBAAuC;MAL7D,gxEAK8D,IAKpE,uKAA0C,KAE1C,8LAAiE,KAC/D,6IAAsB,KACtB,mLAAsD,KACpD,kUAAmL,YAAlC;;wBAAiC;MAAlL,wBAAmL,mFAAM,MAE3L,+MAAkF,KAChF,sWAAyO,YAA1M;;wBAA0B;MAAzD,wBAAyO,iFAAI,mDAlBrN,mBAAqB,eACrB,oBAA4B,kBADlD,aAK8D,EALxC,SAAqB,EACrB,UAA4B,GADe,oBAA2B,gBAA5F,aAK8D,EALG,UAA2B,mDAf/F,kEAAwD,GAA7D,YAA+I,EAA1I,SAAwD,GAerD,q0BAK8D,GAaN,4CAAwC,GAAlG,aAAyO,EAA/K,UAAwC;oHAuB9F,6yBAAuF,+EAAwB,2BAAvG,8HAA8B,GAAtC,YAAuF,EAA/E,0IAA8B,GAAtC,YAAuF,EAA/E,SAA8B,2BAAiD,6EAAwB;oHAzG3H,kLAA+E,KAC7E,0KAA8C,KAC5C,+KAAyD,4FAAe,MAE1E,uZAA2E,IA6C3E,uZAA+I,IAuC/I,gLAAmD,KACjD;;;;;;iyBAAoD,IAClD,iLAAoD,KAGpD,gNAAkF,KAChF,kLAAqD,+HAAO,uFAAU,MACtE,kLAAqD;;;;;;;;;;;wBAA0L;MAA3I;;wBAA2C;MAA1F,+0DAA0L,IAEjP,8MAAgF,KAC9E,iLAAoD,+HAAO,uFAAU,MACrE,iLAAoD;;;;;;;;;;;wBAA8L;MAA3K;;wBAAwC;MAA3D,+0DAA8L,IAEpP,8MAAgF,KAC9E,iLAAoD,+HAAO,mFAAM,MACjE,kLAAoD,KAClD;;;;;wBAAsP;MAAhK;;wBAA4C;MAAC;;wBAAmD;MAAtL,8wDAAsP,IACpP,ieAAuF,IAK7F,iLAAoD,KAGpD,8LAAiE,KAC/D,6IAAsB,KACtB,mLAAsD,KACpD,kUAA2K,YAA1B;;wBAAyB;MAA1K,wBAA2K,mFAAM,MAEnL,8MAAiF,KAC/E,2VAAqO,YAAtM;;wBAA+B;MAA9D,wBAAqO,iFAAI,mDAnH9L,oBAAuB,iBAA1E,YAA2E,EAAxB,SAAuB,GA6C8C,mBAAsB,iBAA9I,YAA+I,EAAvB,SAAsB,GA8CQ,oBAA8B,oBAAzH,aAA0L,EAA/F,UAA8B,GAA/G,gDAAoC,EAA4E,qBAA+B,oBAA1G,oBAA2C,gCAA1F,aAA0L,EAAhL,UAAoC,EAA4E,UAA+B,EAA1G,UAA2C,GAImC,oBAA8B,oBAA5J,aAA8L,EAAhE,UAA8B,GAAhG,6CAAiC,EAAC,qBAA+B,oBAA1G,oBAAwC,6BAA3D,aAA8L,EAAlI,UAAiC,EAAC,UAA+B,EAA1G,UAAwC,GAK0G,oBAA8B,oBAArP,aAAsP,EAA/B,UAA8B,GAArM,iDAAqC,EAAkG,qBAA+B,oBAAhI,oBAA4C,iCAAlI,aAAsP,EAAtM,UAAqC,EAAkG,UAA+B,EAAhI,UAA4C,GAChF,oBAAsC,oBAAtF,aAAuF,EAAvC,UAAsC,2BAhB9F,qtBAAoD,GAMK,k1BAA0L,GAI3L,o1BAA8L,GAKhP,o1BAAsP,GAe5D,2EAA0C,cAApO,aAAqO,EAA3C,UAA0C;oHAWlP,2NAAkI,YAAtH;;wBAAqC;MAAjD,ubAAkI,MAChI,4LAA8L,YAA5C;;wBAA2C;MAA7L,+kBAA8L,mDADjF,qBAAkB,EAArH,mBAAqC,0BAAjD,YAAkI,EAAnB,SAAkB,EAArH,SAAqC,GAC7B,2BAAqB,EAAC,oCAAoC,EAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAA/H,YAA8L,EAA5K,SAAqB,EAAC,SAAoC,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;oHAIjI,gOAAiJ,YAArI;;wBAA0C;MAAtD,ubAAiJ,MAC/I,4LAA+M,YAAjD;;wBAAgD;MAA9M,+kBAA+M,mDADnF,qBAAkB,EAApI,mBAA0C,+BAAtD,YAAiJ,EAAnB,SAAkB,EAApI,SAA0C,GAClC,iCAA2B,EAAC,0CAA0C,EAAC,oBAAa,EAAC,qBAAgB,EAAqB,oBAAiB,EAArC,qBAAmB,EAA3I,YAA+M,EAA7L,SAA2B,EAAC,SAA0C,EAAC,SAAa,EAAC,SAAgB,EAAqB,SAAiB,EAArC,SAAmB;oHA9P7I,sLAA0D,KACtD,uZAA8E,IAgD9E,uZAAgF,IAqEhF,uZAA+E,IAkInF,uZAAkI,IAKlI,wZAAiJ,iDA5PxF,mBAAwB,mBAA7E,YAA8E,EAAzB,SAAwB,GAgDxB,mBAA0B,qBAA/E,YAAgF,EAA3B,SAA0B,GAqE1B,mBAAyB,oBAA9E,YAA+E,EAA1B,SAAyB,GAkIhC,mBAA+B,0BAAjF,YAAkI,EAAhF,SAA+B,GAK1B,mBAAoC,+BAA3F,aAAiJ,EAA1F,SAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5PhD;AAEwC;AACvB;AACqB;AACnB;AACE;AAErB;AAG3C;IAoCE,wCAAmB,oBAA0C,EAAS,WAAwB,EAAU,MAAqB,EAAU,YAA0B;QAA9I,yBAAoB,GAApB,oBAAoB,CAAsB;QAAS,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,iBAAY,GAAZ,YAAY,CAAc;QA9BjK,qBAAgB,GAAqB,IAAI,iFAAgB,EAAE,CAAC;QAI5D,sBAAiB,GAAY,KAAK,CAAC;QACnC,mBAAc,GAAY,KAAK,CAAC;QAKhC,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QAEnB,oBAAe,GAAG,EAAE,CAAC;QACrB,uBAAkB,GAAY,KAAK,CAAC;QACpC,qBAAgB,GAAY,KAAK,CAAC;QAClC,cAAS,GAAG,GAAG,CAAC;QAChB,oBAAe,GAAG,CAAC,CAAC;QAEpB,cAAS,GAA2B,IAAI,8FAAsB,EAAE,CAAC;QACjE,qBAAgB,GAAY,IAAI,CAAC;QACjC,sBAAiB,GAAY,KAAK,CAAC;QACnC,uBAAkB,GAAY,KAAK,CAAC;QACpC,4BAAuB,GAAY,KAAK,CAAC;QACzC,iCAA4B,GAAY,KAAK,CAAC;QAC9C,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,gBAAW,GAAkB,IAAI,8EAAa,EAAE;QAChD,2BAAsB,GAAY,KAAK,CAAC;QAC/B,gBAAW,GAAW,IAAI,CAAC;QACpC,kBAAa,GAAW,IAAI,CAAC;QAE3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,iDAAQ,GAAR;QAEE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,+FAA+F;QAC/F,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3B,UAAU;QACV,+ZAA+Z;QAC/Z,sDAAsD;QACtD,GAAG;IACL,CAAC;IACD,qDAAY,GAAZ,UAAa,IAAI;QACf,IAAI,IAAI,IAAI,OAAO,EAAE;YACnB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAChC;aAAM,IAAI,IAAI,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;SAC9B;QAED,IAAI,GAAG,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,GAAG,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACjb,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,sDAAa,GAAb,UAAc,KAAK,EAAE,IAAI;QACvB,IAAI,IAAI,IAAI,gBAAgB,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;SAClC;IAEH,CAAC;IAED,qDAAY,GAAZ,UAAa,KAAsB;QACjC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,2DAAkB,GAAlB,UAAmB,KAAsB;QACvC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IACD,6DAAoB,GAApB,UAAqB,IAAI;QAAzB,iBAoBC;QAnBC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,gBAAgB,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;QAGD,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,QAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,yDAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI;YACjL,uBAAuB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI;SACzF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAE1B,CAAC;IAED,yDAAgB,GAAhB;QACE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aAC9E;YACD;gBACE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,uBAAuB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aACpF;YACD,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YACzE;gBACE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACvF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;wBACrC,OAAO,kBAAkB,CAAC;qBAC3B;yBACI;wBACH,OAAO,iBAAiB,CAAC;qBAC1B;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;oBACjG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG;YACtB;gBACE,KAAK,EAAE,GAAG;gBACV,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;aAC9E;YACD;gBACE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,uBAAuB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;aACvF;YACD,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC/E;gBACE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,YAAC,MAAM;oBACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,GAAG,+EAA+E,CAAC;oBACjG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7B,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;wBAClC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAC,QAAQ,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IAGJ,CAAC;IACD,qDAAY,GAAZ,UAAa,IAAS;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,uDAAc,GAAd,UAAe,IAAS;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAM,KAAK,GAAW,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAClC;IACH,CAAC;IAED,sDAAa,GAAb,UAAc,KAAU;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,uDAAc,GAAd;QAAA,iBAYC;QAXC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,gBAAM;gBAC5F,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5F,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;aACI;YACH,KAAK,CAAC,eAAe,CAAC,CAAC;SACxB;IAEH,CAAC;IACD,8DAAqB,GAArB;QACE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,sDAAa,GAAb;QAEE,IAAI,CAAC,gBAAgB,GAAG,IAAI,iFAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,8EAAa,EAAE,CAAC;IACzC,CAAC;IAED,wDAAe,GAAf,UAAgB,QAAQ,EAAE,IAAI;QAA9B,iBA2BC;QA1BC,IAAI,IAAI,IAAI,OAAO,EAAE;YACnB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACjF,IAAI,MAAM,GAAG,GAAG,EAAE;oBAChB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;wBAC9E,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;oBAC7B,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACpC,KAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;oBAC9E,0BAA0B;oBAC1B,8KAA8K;oBAC9K,QAAQ;iBACT;YACH,CAAC,CAAC;SACH;aACI,IAAI,IAAI,IAAI,QAAQ,EAAE;YACzB,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,wCAAwC,CAAC,CAAC;YACpF,0BAA0B;YAE1B,oLAAoL;YACpL,QAAQ;SACT;IAEH,CAAC;IAED,2DAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;IACH,CAAC;IAED,gEAAuB,GAAvB,UAAwB,GAAG;QACzB,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;SAC3C;IACH,CAAC;IACD,qDAAY,GAAZ,UAAc,GAAG;QACf,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,EAAE;gBAC9G,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;aAC9B;YAED,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACjD;aAAM,IAAI,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,EAAE;gBAChI,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC;aACpC;YACD,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC;SACjD;IAEH,CAAC;IACD,kEAAyB,GAAzB,UAA0B,KAAK;QAA/B,iBAOC;QANC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3D,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/B,KAAI,CAAC,WAAW,GAAG,IAAI,8EAAa,EAAE,CAAC;YACvC,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE,uBAAuB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4DAAmB,GAAnB,UAAoB,QAAQ;QAA5B,iBAOC;QANC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAM;YACzD,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9B,KAAI,CAAC,gBAAgB,GAAG,IAAI,iFAAgB,EAAE,CAAC;YAC/C,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sDAAa,GAAb;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,iFAAgB,EAAE,CAAC;IACjD,CAAC;IACD,0DAAiB,GAAjB,UAAkB,GAAG;QACnB,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,iFAAgB,EAAE,CAAC;YAC/C,IAAI,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7F,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,aAAa,GAAG,CAAC;SACpD;aAAM,IAAI,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,8EAAa,EAAE,CAAC;YAEvC,IAAI,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,EAArC,CAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YACpH,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,aAAa,GAAG,CAAC;SACrD;IAEH,CAAC;IAED,mDAAU,GAAV,UAAW,GAAG,EAAE,KAAK,EAAE,KAAK;QAC1B,IAAI,MAAM,GAAG,6DAAI,GAAG,EAAE,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,CAAC,CAAC;iBACV;qBAAM;oBACL,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvC;aACF;iBAAM;gBACL,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;QAEH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wDAAe,GAAf,UAAgB,GAAG;QAAnB,iBA2BC;QA1BC,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACnF,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;gBAC3B,IAAI,KAAI,CAAC,SAAS,KAAK,GAAG,EAAE;oBAC1B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACvD,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,EAClC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;wBACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;iBACJ;gBAED,gFAAgF;YAClF,CAAC,CAAC,CAAC;SACJ;aAAM,IAAG,GAAG,IAAG,QAAQ,EAAC;YACvB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACpE,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;gBAChC,IAAI,KAAI,CAAC,SAAS,KAAK,GAAG,EAAE;oBAC1B,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACjE,IAAI,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,EACrC,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;wBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IACD,+CAAM,GAAN,UAAO,GAAG;QACR,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACrD,CAAC;IACD,2DAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAC9D;SACF;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IAEH,CAAC;IACD,gEAAuB,GAAvB,UAAwB,KAAK;QAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;QACnD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACzD;SACF;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IAEH,CAAC;IACD,oDAAW,GAAX,UAAY,IAAS;IAErB,CAAC;IACD,wDAAe,GAAf;IAEA,CAAC;IACD,sDAAa,GAAb,UAAc,GAAG,EAAC,IAAI;QACpB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,4DAAmB,GAAnB,UAAoB,GAAG;IAEvB,CAAC;IACD,mEAA0B,GAA1B,UAA2B,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAC,CAAC;IACjE,8CAAK,GAAL;QACE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAE9D,CAAC;IACH,qCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wGC9ZO,uSAOqD,YAApC;;wBAAmC;MAPpD,w+CAOqD,mIALpC,mBAA2B,cAE3B,mBAAwB,eADxB,mBAAyB,aAEzB,mBAAmB,UACnB,mBAAmB,UALnB,iBAAkB,EADnC,YAOqD,EALpC,SAA2B,EAE3B,SAAwB,EADxB,SAAyB,EAEzB,SAAmB,EACnB,SAAmB,EALnB,SAAkB;wGAUrC,uMAAqG,KACnG,mMAAuE,KACrE,qPAAkG,YAA9E;;wBAA4B;MAAhD,wBAAkG,mFAAM,MAE1G,kMAAsE,KACpE,4QAAiI,YAAlG;;wBAAoC;MAAnE,wBAAiI,iFAAI;wGAjD3I,yiBAAqH,IACnH,uKAA2C,KACzC,wLAAkE,wGAA2B,MAE/F,uLAA0D,KACxD,mMAAkD,YAA7C;;wBAAwB;MAA7B,wBAAkD,KAChD,oNAAwF,KACtF,0vBAAuC,yGAA6B,MAGxE,kLAAoD,KAClD,mMAAqE,YAA7C;;wBAA4C;MAApE,wBAAqE,kFAA4B,MACjG,mMAAqE,YAA7C;;wBAA4C;MAApE,wBAAqE,kFAA4B,MACjG,mMAAqE,YAA7C;;wBAA4C;MAApE,wBAAqE,kFAA4B,MACjG,mMAAqE,YAA7C;;wBAA4C;MAApE,wBAAqE,kFAA4B,MACjG,mMAAqE,YAA7C;;wBAA4C;MAApE,wBAAqE,kFAA4B,MACjG,mMAAqE,YAA7C;;wBAA4C;MAApE,wBAAqE,kFAA4B,MACjG,mMAAqE,YAA7C;;wBAA4C;MAApE,wBAAqE,kFAA4B,MACjG,mMAAqE,YAA7C;;wBAA4C;MAApE,wBAAqE,kFAA4B,MACjG,mMAAqE,YAA7C;;wBAA4C;MAApE,wBAAqE,kFAA4B,MACjG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MAGtG,4YAOqD,IAIvD,4YAAqG,iDA5ClG,iEAAuD,GAA5D,YAAqH,EAAhH,SAAuD,GAO5C,sBAAY,EAApB,YAAuC,EAA/B,kCAAY,EAApB,aAAuC,EAA/B,SAAY,GA0BP,oBAAyB,oBAA1C,aAOqD,EAPpC,UAAyB,GAW+B,oBAAyB,oBAApG,aAAqG,EAA1B,UAAyB,mDArCzE,oBAAiB,EAAtC,YAAuC,EAAlB,SAAiB,GAI6B,qEAA4B,GAC5B,qEAA4B,GAC5B,qEAA4B,GAC5B,qEAA4B,GAC5B,qEAA4B,GAC5B,qEAA4B,GAC5B,uEAA4B,GAC5B,uEAA4B,GAC5B,uEAA4B,GAC1B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B;wGA0BxG,uLAA6F,KAC3F,uKAAiD,yGAA4B;wGAgC7E,uSAO6D,YAA5C;;wBAA2C;MAP5D,w+CAO6D,mIAL5C,mBAAmC,sBAEnC,mBAAuB,cADvB,mBAAyB,aAEzB,mBAAmB,UACnB,mBAAmB,UALnB,iBAAkB,EADnC,YAO6D,EAL5C,SAAmC,EAEnC,SAAuB,EADvB,SAAyB,EAEzB,SAAmB,EACnB,SAAmB,EALnB,SAAkB;wGA/BrC,uLAA4F,KAC1F,oMAAuD,YAAlD;;wBAA4B;MAAjC,wBAAuD,KACrD,oNAAwF,KACtF,yvBAAuC,0GAA8B,MAIzE,iLAAoD,KAClD,mMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,iFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MACpG,oMAAuE,YAA9C;;wBAA6C;MAAtE,wBAAuE,kFAA6B,MAGtG,4YAO6D,iDAlCjD,sBAAY,EAApB,YAAuC,EAA/B,kCAAY,EAApB,YAAuC,EAA/B,SAAY,GA2BP,oBAAiC,4BAAlD,aAO6D,EAP5C,UAAiC,mDA3BzB,oBAAiB,EAAtC,YAAuC,EAAlB,SAAiB,GAK+B,qEAA6B,GAC7B,sEAA6B,GAC7B,sEAA6B,GAC7B,sEAA6B,GAC7B,sEAA6B,GAC7B,sEAA6B,GAC7B,sEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B,GAC7B,wEAA6B;wGAaxG,uMAA6G,KAC3G,mMAAuE,KACrE,qPAA0G,YAAtF;;wBAAoC;MAAxD,wBAA0G,mFAAM,MAElH,uLAA2D,KACzD,4QAAkI,YAAnG;;wBAAqC;MAApE,wBAAkI,iFAAI;wGAjD5I,kjBAA+H,IAC7H,2YAA6F,IAG7F,2YAA4F,IAwC5F,2YAA6G,iDA5C1G,yEAA+D,GAApE,YAA+H,EAA1H,SAA+D,GACP,8CAAiC,GAA5F,YAA6F,EAAlC,SAAiC,GAGlC,8CAAiC,GAA3F,YAA4F,EAAlC,SAAiC,GAwChB,mBAAiC,4BAA5G,YAA6G,EAAlC,SAAiC;wGAnG9G,2YAAqH,IAuDrH,2YAA+H,iDAvD7C,oBAAkC,4BAApH,YAAqH,EAAnC,SAAkC,GAuDhB,oBAA0B,oBAA9H,YAA+H,EAA3B,SAA0B;;;;;;;;;;;;;;;;ACxDlI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmD;AACA;AACS;AACQ;AACA;AACf;AACV;AACwB;AACL;AACE;AAEhE;IAwCE,4BAAoB,WAAwB,EAAS,eAAgC,EAAU,eAAgC,EAAS,YAAiC;QAArJ,gBAAW,GAAX,WAAW,CAAa;QAAS,oBAAe,GAAf,eAAe,CAAiB;QAAU,oBAAe,GAAf,eAAe,CAAiB;QAAS,iBAAY,GAAZ,YAAY,CAAqB;QA9BzK,cAAS,GAAc,IAAI,kEAAS,EAAE,CAAC;QACvC,YAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;QACnC,YAAO,GAAa,IAAI,gEAAQ,EAAE,CAAC;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,kBAAa,GAAY,KAAK,CAAC;QAC/B,sBAAiB,GAAY,KAAK,CAAC;QACnC,8BAAyB,GAAY,KAAK,CAAC;QAQ3C,UAAK,GAAG,CAAC,CAAC;QACV,aAAQ,GAAa,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QAE3C,2BAAsB,GAAG,EAAE,CAAC;QAG5B,2BAAsB,GAAG,EAAE,CAAC;QAC5B,oBAAe,GAAG,EAAE,CAAC;QACrB,iBAAY,GAAG,EAAE,CAAC;QAClB,gBAAW,GAAG,EAAE,CAAC;QAMjB,mBAAc,GAAoB,IAAI,sEAAe,EAAE,CAAC;QAEtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,qCAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IACD,6CAAgB,GAAhB;QACE,IAAI,CAAC,WAAW,GAAgB;YAC9B,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;SACvO,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAgB;YACtC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAC,0BAA0B,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU;SACvO,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,UAAU,EAAE;gBACV;oBACE,EAAE,EAAE,SAAS;oBACb,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,oBAAoB;iBAChC;aACF;YACD,QAAQ,EAAE,OAAO;SAElB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG,EAE1B,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,6CAAgB,GAAhB;QACE,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,mCAAmC,EAAE,IAAI;aAC1C;YAED,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE;SAOnE,CAAC;IACJ,CAAC;IACD,iDAAoB,GAApB;QACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,oDAAuB,GAAvB,cAA4B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC;IAC7D,6CAAgB,GAAhB,UAAiB,YAAY;QAC3B,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;IAClC,CAAC;IACD,wCAAW,GAAX,UAAY,OAAO,EAAE,GAAG;QACtB,0DAA0D;IAC5D,CAAC;IACD,wCAAW,GAAX;QAEE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS;oBAC1L,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS;oBACxL,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU;oBAC3L,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU;oBAC5L,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE;oBAC9L,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACX,CAAC;IACD,4CAAe,GAAf;QACE,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,UAAU,CAAC;YACX,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAC,IAAI;gBAC/C,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU;oBAC9L,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU;oBAC5L,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU;oBAC5L,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU;oBAC5L,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,OAA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,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjG,M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","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 = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { ChatAdapter, IChatGroupAdapter, User, Group, Message, ChatParticipantStatus, ParticipantResponse, ParticipantMetadata, ChatParticipantType, IChatParticipant } from 'ng-chat';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport * as signalR from \"@aspnet/signalr\";\r\n\r\nexport class SignalRGroupAdapter extends ChatAdapter implements IChatGroupAdapter {\r\n public userId: string;\r\n\r\n private hubConnection: signalR.HubConnection\r\n public static serverBaseUrl: string = 'https://cbb7a1dda647.ngrok.io/'; // Set this to 'https://localhost:5001/' if running locally\r\n\r\n constructor(private username: string, private http: HttpClient) {\r\n super();\r\n\r\n this.initializeConnection();\r\n }\r\n\r\n private initializeConnection(): void {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(`${SignalRGroupAdapter.serverBaseUrl}groupchat`, {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .build();\r\n\r\n this.hubConnection\r\n .start()\r\n .then(() => {\r\n this.joinRoom();\r\n\r\n this.initializeListeners();\r\n })\r\n .catch(err => console.log(`Error while starting SignalR connection: ${err}`));\r\n }\r\n\r\n private initializeListeners(): void {\r\n this.hubConnection.on(\"generatedUserId\", (userId) => {\r\n // With the userId set the chat will be rendered\r\n this.userId = userId;\r\n });\r\n\r\n this.hubConnection.on(\"messageReceived\", (participant, message) => {\r\n // Handle the received message to ng-chat\r\n this.onMessageReceived(participant, message);\r\n });\r\n\r\n this.hubConnection.on(\"friendsListChanged\", (participantsResponse: Array) => {\r\n // Use polling for the friends list for this simple group example\r\n // If you want to use push notifications you will have to send filtered messages through your hub instead of using the \"All\" broadcast channel\r\n //this.onFriendsListChanged(participantsResponse.filter(x => x.participant.id != this.userId));\r\n });\r\n }\r\n\r\n joinRoom(): void {\r\n if (this.hubConnection && this.hubConnection.state == signalR.HubConnectionState.Connected) {\r\n this.hubConnection.send(\"join\", this.username);\r\n }\r\n }\r\n\r\n listFriends(): Observable {\r\n // List connected users to show in the friends list\r\n // Sending the userId from the request body as this is just a demo \r\n return this.http\r\n .post(`${SignalRGroupAdapter.serverBaseUrl}listFriends`, { currentUserId: this.userId })\r\n .pipe(\r\n map((res: any) => res),\r\n catchError((error: any) => Observable.throw(error.error || 'Server error'))\r\n );\r\n }\r\n\r\n getMessageHistory(destinataryId: any): Observable {\r\n // This could be an API call to your web application that would go to the database\r\n // and retrieve a N amount of history messages between the users.\r\n return of([]);\r\n }\r\n\r\n sendMessage(message: Message): void {\r\n if (this.hubConnection && this.hubConnection.state == signalR.HubConnectionState.Connected)\r\n this.hubConnection.send(\"sendMessage\", message);\r\n }\r\n\r\n groupCreated(group: Group): void {\r\n this.hubConnection.send(\"groupCreated\", group);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { ApplicationComponent } from './application/application.component';\r\nimport { HomeComponent } from './application/home/home.component';\r\nimport { CustomerComponent } from './application/customer/customer.component';\r\nimport { PracticeComponent } from './application/practice/practice.component';\r\nimport { NotesComponent } from './application/notes/notes.component';\r\nimport { AccountContactComponent } from './application/account-contact/account-contact.component';\r\nimport { OpportunitiesComponent } from './application/opportunities/opportunities.component';\r\nimport { ResponsewizardComponent } from './application/responsewizard/responsewizard.component';\r\nimport { OpportunitiesdashboardComponent } from './application/opportunities/opportunitiesdashboard/opportunitiesdashboard.component';\r\nimport { ContactsComponent } from './application/contacts/contacts.component';\r\nimport { LeadsComponent } from './application/leads/leads.component';\r\nimport { LeadsdashboardComponent } from './application/leads/leadsdashboard/leadsdashboard.component';\r\nimport { ContactsdashboardComponent } from './application/contacts/contactsdashboard/contactsdashboard.component';\r\nimport { ScheduletaskComponent } from './application/scheduletask/scheduletask.component';\r\nimport { EmailsComponent } from './application/emails/emails.component';\r\nimport { TasklistComponent } from './application/tasklist/tasklist.component';\r\nimport { TasklistdashboardComponent } from './application/tasklist/tasklistdashboard/tasklistdashboard.component';\r\nimport { ConfigurationdashboardComponent } from './application/configurationdashboard/configurationdashboard.component';\r\nimport { ForgotpasswordComponent } from './forgotpassword/forgotpassword.component';\r\nimport { ReportsComponent } from './application/reports/reports.component';\r\nimport { AccountComponent } from './application/account-contact/account/account.component';\r\nimport { ResetpasswordComponent } from './resetpassword/resetpassword.component';\r\nimport { CampaignsComponent } from './application/campaigns/campaigns.component';\r\nimport { DashboardComponent } from './application/dashboard/dashboard.component';\r\nimport { CalllistComponent } from './application/calllist/calllist.component';\r\nimport { ViewcalllistComponent } from './application/viewcalllist/viewcalllist.component';\r\nimport { TaskComponent } from './application/task/task.component';\r\nimport { ForecastingComponent } from './application/forecasting/forecasting.component';\r\nimport { QuickViewComponent } from './application/quick-view/quick-view.component';\r\nimport { MonthCalenderComponent } from './application/month-calender/month-calender.component';\r\nimport { SalestoolComponent } from './application/salestool/salestool.component';\r\nimport { TicketsComponent } from './application/tickets/tickets.component';\r\nimport { PageComponent } from './application/page/page.component';\r\nimport { AuditLogComponent } from './application/audit-log/audit-log.component';\r\nimport { ZendeskhomeComponent } from './application/zendeskhome/zendeskhome.component';\r\nimport { CustomercontactsComponent } from './application/customercontacts/customercontacts.component';\r\nimport { ImportedComponent } from './application/imported/imported.component';\r\nimport { RhxComponent } from './application/rhx/rhx.component';\r\nimport { PendedproposalsComponent } from './application/pendedproposals/pendedproposals.component';\r\nimport { SalesXcrmComponent } from './application/sales-xcrm/sales-xcrm.component';\r\nimport { UploadDocumentComponent } from './application/upload-document/upload-document.component';\r\nimport { AdvancedTableComponent } from './application/advanced-table/advanced-table.component';\r\nimport { AutomatedEmailsComponent } from './application/automated-emails/automated-emails.component';\r\nimport { MarketingComponent } from './application/marketing/marketing.component';\r\nimport { ProjectsComponent } from './application/projects/projects.component';\r\nimport { SystemRegistrationComponent } from './application/system-registration/system-registration.component';\r\nimport { ProposalsComponent } from './application/proposals/proposals.component';\r\nimport { UserMessagingComponent } from './application/user-messaging/user-messaging.component';\r\nimport { LeadsConfigurationComponent } from './application/leads-configuration/leads-configuration.component';\r\nimport { AdminReportsComponent } from './application/reports/admin-reports/admin-reports.component';\r\nimport { SearchResultComponent } from './application/search-result/search-result.component';\r\nimport { ProfileComponent } from './application/profile/profile.component';\r\nimport { QuickSearchComponent } from './application/quick-search/quick-search.component';\r\nimport { CampaignConfigurationComponent } from './application/campaign-configuration/campaign-configuration.component';\r\nimport { AboutsalesXCRMComponent } from './application/aboutsales-xcrm/aboutsales-xcrm.component';\r\nimport { MessagingComponent } from './application/messaging/messaging.component';\r\nimport { AddNewAccountComponent } from './application/add-new-account/add-new-account.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: '/login', pathMatch: 'full' },\r\n { path: 'login', component: LoginComponent }, \r\n { path: 'resetpassword/:userid', component: ResetpasswordComponent },\r\n { path: 'forgotpassword', component: ForgotpasswordComponent },\r\n {\r\n path: 'application', component: ApplicationComponent,\r\n children: [ \r\n { path: 'application', component: ApplicationComponent },\r\n { path: 'home/:term', component: HomeComponent },\r\n { path: 'customer/:id', component: CustomerComponent },\r\n { path: 'customer/:id/:term', component: CustomerComponent },\r\n { path: 'practice', component: PracticeComponent },\r\n { path: 'notes/:id/:type', component: NotesComponent },\r\n { path: 'account-contact/:practiceid/:accountid', component: AccountContactComponent },\r\n { path: 'opportunities/:contactid', component: OpportunitiesComponent },\r\n { path: 'responsewizard/:type/:SubMenuType', component: ResponsewizardComponent },\r\n { path: 'opportunities/:contactid/:type', component: OpportunitiesComponent },\r\n { path: 'opportunitiesdashboard/:contactid/:type/:term/:id', component: OpportunitiesdashboardComponent },\r\n { path: 'contacts/:subtype/:term', component: ContactsComponent },\r\n { path: 'leads/:contactid', component: LeadsComponent },\r\n { path: 'leads/:contactid/:id', component: LeadsComponent },\r\n { path: 'leadsdashboard/:contactid/:type/:term', component: LeadsdashboardComponent },\r\n { path: 'contactsdashboard/:contactid/:permission', component: ContactsdashboardComponent },\r\n { path: 'contactsdashboard/:contactid/:edit', component: ContactsdashboardComponent },\r\n { path: 'contactsdashboard/:contactid/:edit/:campaignid', component: ContactsdashboardComponent },\r\n { path: 'campaigns/:campaignid', component: CampaignsComponent },\r\n { path: 'scheduletask/:type/:id/:taskid', component: ScheduletaskComponent },\r\n { path: 'emails/:type/:ids', component: EmailsComponent },\r\n { path: 'tasklist', component: TasklistComponent },\r\n { path: 'tasklistdashboard/:type/:id/:taskid/:term', component: TasklistdashboardComponent },\r\n { path: 'configurationdashboard/:subMenuId', component: ConfigurationdashboardComponent },\r\n { path: 'reports/:type', component: ReportsComponent },\r\n { path: 'account/:type', component: AccountComponent },\r\n { path: 'account/:type/:map/:term', component: AccountComponent },\r\n { path: 'campaigns', component: CampaignsComponent },\r\n { path: 'dashboard/:type', component: DashboardComponent },\r\n { path: 'addAccount/:practiceid/:accountid', component: AccountContactComponent },\r\n { path: 'calllist/:contactids/:calllistid', component: CalllistComponent },\r\n { path: 'viewcalllist', component: ViewcalllistComponent },\r\n { path: 'task', component: TaskComponent },\r\n { path: 'forecasting', component: ForecastingComponent },\r\n { path: 'forecasting/:ContactId', component: ForecastingComponent },\r\n { path: 'quick-view/:ids/:term', component: QuickViewComponent },\r\n { path: 'month-calender/:subMenuId', component: MonthCalenderComponent },\r\n { path: 'month-calender/:subMenuId/:viewType', component: MonthCalenderComponent },\r\n { path: 'messaging/:messageid', component: MessagingComponent },\r\n { path: 'salestool/:subMenuId', component: SalestoolComponent },\r\n { path: 'system-registration', component: SystemRegistrationComponent },\r\n { path: 'tickets/:contactid', component: TicketsComponent },\r\n { path: 'tickets/:contactid/:ContOrAccType', component: TicketsComponent },\r\n { path: 'page', component: PageComponent },\r\n { path: 'configurationdashboard/:documentmanagement', component: ConfigurationdashboardComponent },\r\n { path: 'audit-log', component: AuditLogComponent },\r\n { path: 'zendeskhome/:accountorContactid', component: ZendeskhomeComponent },\r\n { path: 'zendeskhome/:accountorContactid/:type', component: ZendeskhomeComponent },\r\n { path: 'zendeskhome/:accountorContactid/:ticketId/:type', component: ZendeskhomeComponent },\r\n { path: 'customercontacts', component: CustomercontactsComponent },\r\n { path: 'customercontacts/:term/:contactid', component: CustomercontactsComponent },\r\n { path: 'imported/:sourcepage', component: ImportedComponent },\r\n { path: 'rhx/:subMenuId', component: RhxComponent },\r\n { path: 'pendedProposals', component: PendedproposalsComponent },\r\n { path: 'sales-xcrm.component', component: SalesXcrmComponent },\r\n { path: 'upload-document', component: UploadDocumentComponent },\r\n { path: 'advanced-table/:queryId/:searchtype', component: AdvancedTableComponent },\r\n { path: 'search-result/:queryId/:searchtype', component: SearchResultComponent}, \r\n { path: 'automated-emails', component: AutomatedEmailsComponent },\r\n { path: 'marketing', component: MarketingComponent },\r\n // { path: 'projects/:accId/:type', component: ProjectsComponent },\r\n { path: 'projects/:accId/:type/:ProjectID', component: ProjectsComponent },\r\n { path: 'projects', component: ProjectsComponent },\r\n { path: 'Proposals/:type', component: ProposalsComponent },\r\n { path: 'Proposals/:id/:type', component: ProposalsComponent },\r\n { path: 'Proposals/:id/:type/:ConOrAccType', component: ProposalsComponent },\r\n { path: 'Proposals/:id/:ProposalId/:type/:ConOrAccType', component: ProposalsComponent },\r\n { path: 'user-messaging', component: UserMessagingComponent },\r\n { path: 'Leads-Configuration', component: LeadsConfigurationComponent },\r\n { path: 'admin-reports/:type', component: AdminReportsComponent },\r\n { path: 'profile', component: ProfileComponent },\r\n { path: 'quicksearch', component: QuickSearchComponent },\r\n { path: 'CampaignConfiguration', component: CampaignConfigurationComponent },\r\n { path: 'aboutsales-xcrm/:type', component: AboutsalesXCRMComponent },\r\n { path: 'addnewaccount', component: AddNewAccountComponent },\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n


\r\n\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, ElementRef} from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { AppSettings } from './app.settings';\r\nimport { environment } from '../environments/environment';\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\r\nimport { Keepalive } from '@ng-idle/keepalive';\r\nimport { Router } from '@angular/router';\r\nimport { Compiler } from '@angular/core';\r\nimport { EventTargetInterruptSource } from '@ng-idle/core';\r\nimport { CustomerService } from './services/customer.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n currentDate: any;\r\n currentuser: any;\r\n TimeOutDialog: boolean = false;\r\n count: string = '2:00';\r\n addressFormGroup: FormGroup;\r\n\r\n constructor(private element: ElementRef, private compiler: Compiler, private http: HttpClient, private settings: AppSettings,\r\n private idle: Idle, private router: Router, private customerService: CustomerService, private keepalive: Keepalive) {\r\n\r\n this.compiler.clearCache();\r\n settings.baseUrl = environment.apiBaseUrl;\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n idle.setIdle(1800);\r\n idle.setTimeout(120);\r\n //idle.setIdle(900);\r\n //idle.setTimeout(120);\r\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES)\r\n idle.setInterrupts([\r\n new EventTargetInterruptSource(\r\n this.element.nativeElement, 'keydown DOMMouseScroll mousewheel mousedown touchstart touchmove scroll mousemove')]\r\n );\r\n\r\n idle.onIdleEnd.subscribe(() => this.idleState = 'No longer idle.');\r\n idle.onTimeout.subscribe(() => {\r\n this.idleState = 'Timed out!';\r\n this.timedOut = true;\r\n });\r\n\r\n idle.onTimeoutWarning.subscribe((countdown: number) => {\r\n\r\n var sec_num = countdown;\r\n var hours = Math.floor(sec_num / 3600);\r\n var minutes = Math.floor((sec_num - (hours * 3600)) / 60);\r\n var seconds = sec_num - (hours * 3600) - (minutes * 60);\r\n\r\n this.count = '0' + hours + \":\" + '0' + minutes + ':' + seconds;\r\n\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n if (this.currentuser != null) {\r\n\r\n this.TimeOutDialog = true;\r\n this.TimeOutDialogCss();\r\n $(setTimeout(function () {\r\n $(this).css('z-index', 8);\r\n $('.tooltiptopicevent').remove();\r\n }, 300));\r\n }\r\n\r\n });\r\n\r\n idle.onIdleStart.subscribe(() => {\r\n this.idleState = 'IDLE_START';\r\n });\r\n idle.onTimeout.subscribe(() => {\r\n \r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n if (this.currentuser != null) {\r\n var AuditLogId = Number(localStorage.getItem(\"AuditLogId\"));\r\n this.customerService.updatelogin(this.currentuser.id, 0, \"System Timed Out\", AuditLogId).then((user) => { });\r\n }\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('temptoken');\r\n localStorage.removeItem('QuickSearchConfig');\r\n localStorage.removeItem('TempTable');\r\n localStorage.removeItem('dashboardTab');\r\n localStorage.removeItem('selectedQueryCount');\r\n localStorage.removeItem('advSearchTabName');\r\n localStorage.removeItem('advSearchQueryId');\r\n localStorage.removeItem('SelectedSubMenu');\r\n localStorage.removeItem('SelectedUserIds');\r\n localStorage.removeItem('QuickSearchConfig');\r\n localStorage.removeItem('RhxAccountVal');\r\n localStorage.removeItem('RhxContactVal');\r\n localStorage.removeItem('CompaignVal');\r\n localStorage.removeItem('CompaignselVal');\r\n this.reset();\r\n this.router.navigateByUrl(`/login`);\r\n this.TimeOutDialog = false;\r\n });\r\n\r\n idle.watch();\r\n }\r\n StaySignedIn() {\r\n this.reset();\r\n this.TimeOutDialog = false;\r\n\r\n }\r\n\r\n TimeOutDialogCss() {\r\n setTimeout(function () {\r\n $('#TimeOutDialog .dialog').attr('style', 'width:32%;padding-bottom:0px;min-height:40%;overflow:auto;left:0%;top:15%;padding:0;border-radius:10px;');\r\n }, 4)\r\n }\r\n\r\n AgreeSignout() {\r\n\r\n\r\n this.router.navigateByUrl(`/login`);\r\n\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n if (this.currentuser != null) {\r\n\r\n var AuditLogId = Number(localStorage.getItem(\"AuditLogId\"));\r\n this.customerService.updatelogin(this.currentuser.id, 0, \"User Logged Out\", AuditLogId).then((user) => { });\r\n }\r\n\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('temptoken');\r\n localStorage.removeItem('QuickSearchConfig');\r\n localStorage.removeItem('TempTable');\r\n localStorage.removeItem('dashboardTab');\r\n localStorage.removeItem('selectedQueryCount');\r\n localStorage.removeItem('advSearchTabName');\r\n localStorage.removeItem('advSearchQueryId');\r\n localStorage.removeItem('SelectedSubMenu');\r\n localStorage.removeItem('SelectedUserIds');\r\n localStorage.removeItem('QuickSearchConfig');\r\n localStorage.removeItem('RhxAccountVal');\r\n localStorage.removeItem('RhxContactVal');\r\n localStorage.removeItem('CompaignVal');\r\n localStorage.removeItem('CompaignselVal');\r\n this.reset();\r\n this.router.navigateByUrl(`/login`);\r\n this.TimeOutDialog = false;\r\n }\r\n\r\n reset() {\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n }\r\n ngOnInit() {\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n","import \"froala-editor/js/froala_editor.pkgd.min.js\";\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';\r\nimport { PopoverModule } from 'ngx-smart-popover';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { HttpClientModule, HttpInterceptor } from '@angular/common/http';\r\nimport { AppSettings } from './app.settings';\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\nimport { AuthService } from './services/authentication.service';\r\nimport { AuthenticationInterceptor } from './authentication-interceptor';\r\nimport { AdvancedsearchService } from './services/advancedsearch.service';\r\nimport { UserService } from './services/user.service';\r\nimport { AccountsService } from './services/accounts.service';\r\nimport { CommonModule, DecimalPipe, HashLocationStrategy, LocationStrategy } from \"@angular/common\";\r\n//import { CalendarModule } from \"ap-angular-fullcalendar/angular2-fullcalendar\";\r\nimport { ScheduletaskComponent } from './application/scheduletask/scheduletask.component';\r\nimport { TomorrowactivitiesComponent } from './application/tomorrowactivities/tomorrowactivities.component';\r\nimport { UnreadMessagesComponent } from './application/unread-messages/unread-messages.component';\r\nimport { CustomerService } from './services/customer.service';\r\nimport { HttpModule } from '@angular/http';\r\nimport { CookieService, CookieOptions } from 'angular2-cookie/core';\r\nimport { DashboardComponent } from './application/dashboard/dashboard.component';\r\nimport { ResponsewizardComponent } from './application/responsewizard/responsewizard.component';\r\nimport { ApplicationComponent } from './application/application.component';\r\nimport { DialogComponent } from './application/dialog/dialog.component';\r\nimport { EditdeletecvComponent } from './application/editdeletecv/editdeletecv.component';\r\nimport { NotesrendererComponent } from './application/notesrenderer/notesrenderer.component';\r\nimport { ViewcalllistComponent } from './application/viewcalllist/viewcalllist.component';\r\nimport { DocumentmanagementComponent } from './application/documentmanagement/documentmanagement.component';\r\nimport { PageComponent } from './application/page/page.component';\r\nimport { EditdeleteComponent } from './application/editdelete/editdelete.component';\r\nimport { ProgressBarModule } from \"angular-progress-bar\";\r\nimport { AngularMultiSelectModule } from 'angular2-multiselect-dropdown';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { SearchdataComponent } from './application/searchdata/searchdata.component';\r\nimport { LoadAccountcontactInfoComponent } from './application/load-accountcontact-info/load-accountcontact-info.component';\r\nimport { CampaignsComponent } from './application/campaigns/campaigns.component';\r\nimport { HomeComponent } from './application/home/home.component';\r\nimport { EditdeletecvcheckComponent } from './application/editdeletecvcheck/editdeletecvcheck.component';\r\nimport { CustomerComponent } from './application/customer/customer.component';\r\nimport { PracticeComponent } from './application/practice/practice.component';\r\nimport { NotesComponent } from './application/notes/notes.component';\r\nimport { AccountContactComponent } from './application/account-contact/account-contact.component';\r\nimport { ContactsComponent } from './application/contacts/contacts.component';\r\nimport { LeadsComponent } from './application/leads/leads.component';\r\nimport { LeadsdashboardComponent } from './application/leads/leadsdashboard/leadsdashboard.component';\r\nimport { ContactsdashboardComponent } from './application/contacts/contactsdashboard/contactsdashboard.component';\r\nimport { OpportunitiesComponent } from './application/opportunities/opportunities.component';\r\nimport { OpportunitiesdashboardComponent } from './application/opportunities/opportunitiesdashboard/opportunitiesdashboard.component';\r\nimport { EmailsComponent } from './application/emails/emails.component';\r\nimport { AddressmapComponent } from './application/addressmap/addressmap.component';\r\nimport { TasklistComponent } from './application/tasklist/tasklist.component';\r\nimport { StatusIdsComponent } from './application/status-ids/status-ids.component';\r\nimport { HistoryComponent } from './application/history/history.component';\r\nimport { TasklistdashboardComponent } from './application/tasklist/tasklistdashboard/tasklistdashboard.component';\r\nimport { AboutsalesXCRMComponent } from './application/aboutsales-xcrm/aboutsales-xcrm.component';\r\nimport { ConfigurationdashboardComponent } from './application/configurationdashboard/configurationdashboard.component';\r\nimport { AdvancedTableComponent } from './application/advanced-table/advanced-table.component';\r\nimport { ReportsComponent } from './application/reports/reports.component';\r\nimport { AddOpportunityComponent } from './application/opportunities/add-opportunity/add-opportunity.component';\r\nimport { AccountComponent } from './application/account-contact/account/account.component';\r\nimport { UserlistComponent } from './application/userlist/userlist.component';\r\nimport { EditactivatecvComponent } from './application/editactivatecv/editactivatecv.component';\r\nimport { ForgotpasswordComponent } from './forgotpassword/forgotpassword.component';\r\nimport { ResetpasswordComponent } from './resetpassword/resetpassword.component';\r\nimport { AdvancedsearchComponent } from './application/advancedsearch/advancedsearch.component';\r\nimport { SearchboxfilterPipe } from './pipes/searchboxfilter.pipe';\r\nimport { CalllistComponent } from './application/calllist/calllist.component';\r\nimport { TaskComponent } from './application/task/task.component';\r\nimport { EditcontactComponent } from './application/editcontact/editcontact.component';\r\nimport { ConvertcontacttoLeadComponent } from './application/convertcontactto-lead/convertcontactto-lead.component';\r\nimport { ActivitiesNotesInfoComponent } from './application/activities-notes-info/activities-notes-info.component';\r\nimport { CalllisthistoryComponent } from './application/calllisthistory/calllisthistory.component';\r\nimport { ForecastingComponent } from './application/forecasting/forecasting.component';\r\nimport { OpportunityhistoryComponent } from './application/opportunityhistory/opportunityhistory.component';\r\nimport { QuickViewComponent } from './application/quick-view/quick-view.component';\r\nimport { ContactsofCustomerComponent } from './application/contactsof-customer/contactsof-customer.component';\r\nimport { MonthCalenderComponent } from './application/month-calender/month-calender.component';\r\nimport { AddNewAccountComponent } from './application/add-new-account/add-new-account.component';\r\nimport { UserQuotaComponent } from './application/user-quota/user-quota.component';\r\nimport { ProjectsComponent } from './application/projects/projects.component';\r\nimport { MarketingComponent } from './application/marketing/marketing.component';\r\nimport { SalestoolComponent } from './application/salestool/salestool.component';\r\nimport { DocumentComponent } from './application/document/document.component';\r\nimport { TicketsComponent } from './application/tickets/tickets.component';\r\nimport { PaginationComponent } from './pagination/pagination.component';\r\nimport { AuditLogComponent } from './application/audit-log/audit-log.component';\r\nimport { EmailsdivComponent } from './application/emailsdiv/emailsdiv.component';\r\nimport { ZendeskhomeComponent } from './application/zendeskhome/zendeskhome.component';\r\nimport { CustomercontactsComponent } from './application/customercontacts/customercontacts.component';\r\nimport { ImportedComponent } from './application/imported/imported.component';\r\nimport { RhxComponent } from './application/rhx/rhx.component';\r\nimport { DropdownCOnfigurationComponent } from './application/dropdown-configuration/dropdown-configuration.component';\r\nimport { SalesXcrmComponent } from './application/sales-xcrm/sales-xcrm.component';\r\nimport { OwnershipsharingComponent } from './application/ownershipsharing/ownershipsharing.component';\r\nimport { UploadDocumentComponent } from './application/upload-document/upload-document.component';\r\nimport { AutomatedEmailsComponent } from './application/automated-emails/automated-emails.component';\r\nimport { RoleComponent } from './application/role/role.component';\r\nimport { AddressComponent } from './application/address/address.component';\r\nimport { TicketConfigurationComponent } from './application/ticket-configuration/ticket-configuration.component';\r\nimport { SystemRegistrationComponent } from './application/system-registration/system-registration.component';\r\nimport { ProposalConfigurationComponent } from './application/proposal-configuration/proposal-configuration.component';\r\nimport { OpportunitiesConfigurationComponent } from './application/opportunities-configuration/opportunities-configuration.component';\r\nimport { ProposalsComponent } from './application/proposals/proposals.component';\r\nimport { UserMessagingComponent } from './application/user-messaging/user-messaging.component';\r\nimport { NotificationComponent } from './application/notification/notification.component';\r\nimport { StatusIDconfigurationComponent } from './application/status-idconfiguration/status-idconfiguration.component';\r\nimport { LeadsConfigurationComponent } from './application/leads-configuration/leads-configuration.component';\r\nimport { AdminReportsComponent } from './application/reports/admin-reports/admin-reports.component';\r\nimport { ForbiddenValidatorDirectiveDirective } from './application/shared/forbidden-validator-directive.directive';\r\nimport { DragulaModule, DragulaService } from 'ng2-dragula';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\n//import { Ng2FittextModule } from \"ng2-fittext\";\r\nimport { TextMaskModule } from 'angular2-text-mask';\r\nimport { RecaptchaModule, RECAPTCHA_SETTINGS, RecaptchaSettings } from 'ng-recaptcha';\r\nimport { OpprtunitiesService } from './services/opprtunities.service';\r\nimport { MailserviceService } from './services/mailservice.service';\r\nimport { HeroService } from './services/hero.service';\r\nimport { LeadsService } from './services/leads.service';\r\nimport { MessagingService } from './services/messaging.service';\r\nimport { AgmCoreModule } from '@agm/core';\r\nimport { FullCalendarModule } from '@fullcalendar/angular';\r\nimport dayGridPlugin from '@fullcalendar/daygrid';\r\nimport interactionPlugin from '@fullcalendar/interaction';\r\nimport listPlugin from '@fullcalendar/list';\r\nimport { QuickSearchComponent } from './application/quick-search/quick-search.component';\r\nimport { SearchResultComponent } from './application/search-result/search-result.component';\r\nimport { AccountContactInfoComponent } from './application/account-contact-info/account-contact-info.component';\r\nimport { AddEditAccountComponent } from './application/add-edit-account/add-edit-account.component';\r\nimport { ReleaseNotesComponent } from './application/release-notes/release-notes.component';\r\nimport { ContactUsComponent } from './application/contact-us/contact-us.component';\r\nimport { DeletePopupComponent } from './application/delete-popup/delete-popup.component';\r\nimport { AccountorcontactviewComponent } from './application/accountorcontactview/accountorcontactview.component';\r\nimport { SearchFieldComponent } from './application/search-field/search-field.component';\r\nimport { UserdataheaderComponent } from './application/userdataheader/userdataheader.component';\r\nimport { ProfileComponent } from './application/profile/profile.component';\r\nimport { AccountDetailsComponent } from './application/account-details/account-details.component';\r\nimport { AccountTransferOwnershipComponent } from './application/account-transfer-ownership/account-transfer-ownership.component';\r\nimport { TaskListConfigurationComponent } from './application/task-list-configuration/task-list-configuration.component';\r\nimport { PendedproposalsComponent } from './application/pendedproposals/pendedproposals.component';\r\nimport { NewNotesComponent } from './application/new-notes/new-notes.component';\r\nimport { CampaignConfigurationComponent } from './application/campaign-configuration/campaign-configuration.component';\r\nimport { LinkDeleteComponent } from './application/link-delete/link-delete.component';\r\nimport { DocumentManagementConfigurationComponent } from './application/document-management-configuration/document-management-configuration.component';\r\nimport { SoftwareLicenseConfigurationComponent } from './application/software-license-configuration/software-license-configuration.component';\r\nimport { SoftwareLicensingComponent } from './application/software-license-configuration/software-licensing/software-licensing.component';\r\nimport { OtherStandardReportsComponent } from './application/reports/other-standard-reports/other-standard-reports.component';\r\nimport { ProjectConfigurationComponent } from './application/projects/project-configuration/project-configuration.component';\r\nimport { CreateProjectsComponent } from './application/projects/create-projects/create-projects.component';\r\nimport { RevenueDashboardComponent } from './application/dashboard/revenue-dashboard/revenue-dashboard.component';\r\nimport { MySalesxcrmConfigurationComponent } from './application/sales-xcrm/my-salesxcrm-configuration/my-salesxcrm-configuration.component';\r\nimport { CampaignDashboardComponent } from './application/dashboard/campaign-dashboard/campaign-dashboard.component';\r\nimport { ProjectsDashboardComponent } from './application/dashboard/projects-dashboard/projects-dashboard.component';\r\nimport { SubscriptionComponent } from \"./application/subscription/subscription.component\";\r\nimport { UserRoleConfigurationComponent } from \"./application/user-role-configuration/user-role-configuration.component\";\r\nimport { MessagingComponent } from './application/messaging/messaging.component';\r\nimport { TicketsDashboardComponent } from './application/dashboard/tickets-dashboard/tickets-dashboard.component';\r\nimport { AccountConfigurationComponent } from './application/account-contact/account-configuration/account-configuration.component';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { HeadersComponent } from './application/headers/headers.component';\r\nimport { CreateTicketComponent } from './application/tickets/create-ticket/create-ticket.component';\r\nimport { ChatComponent } from './application/chat/chat.component';\r\nimport { MatIconModule } from '@angular/material/icon'\r\nimport { ChatService } from './services/chat.service';\r\nimport { CapsLockDirective } from './caps-lock.directive';\r\nimport { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner';\r\nimport { SassdateContactsComponent } from './application/sassdate-contacts/sassdate-contacts.component';\r\nimport { ContactPhotoComponent } from './application/contacts/contact-photo/contact-photo.component';\r\nimport { ProposalItemsComponent } from './application/reports/proposal-items/proposal-items.component';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nFullCalendarModule.registerPlugins([ // register FullCalendar plugins\r\n dayGridPlugin,\r\n interactionPlugin,\r\n listPlugin\r\n]);\r\n\r\n@NgModule({\r\n declarations: [CapsLockDirective,\r\n AppComponent, LoginComponent, UnreadMessagesComponent, DashboardComponent, TomorrowactivitiesComponent, ScheduletaskComponent, ResponsewizardComponent, AddressComponent ,\r\n ApplicationComponent, DialogComponent, EditdeletecvComponent, SassdateContactsComponent, ProposalItemsComponent, NotesrendererComponent, ViewcalllistComponent, DocumentmanagementComponent, PageComponent,\r\n EditdeleteComponent, SearchdataComponent, LoadAccountcontactInfoComponent, CampaignsComponent, HomeComponent, EditdeletecvcheckComponent, CustomerComponent,\r\n PracticeComponent, NotesComponent, AccountContactComponent, OpportunitiesComponent, OpportunitiesdashboardComponent, ContactsComponent, LeadsComponent, LeadsdashboardComponent, ContactsdashboardComponent, EmailsComponent, AddressmapComponent, TasklistComponent, StatusIdsComponent, HistoryComponent,\r\n TasklistdashboardComponent, AboutsalesXCRMComponent, ConfigurationdashboardComponent, AdvancedTableComponent, ReportsComponent, AddOpportunityComponent, ChatComponent,\r\n AccountComponent, UserlistComponent, EditactivatecvComponent, ForgotpasswordComponent, ResetpasswordComponent, AdvancedsearchComponent, SearchboxfilterPipe,\r\n CalllistComponent, TaskComponent, EditcontactComponent, ConvertcontacttoLeadComponent, ActivitiesNotesInfoComponent, CalllisthistoryComponent, ForecastingComponent, UserRoleConfigurationComponent,\r\n OpportunityhistoryComponent, QuickViewComponent, ContactsofCustomerComponent, MonthCalenderComponent, MessagingComponent, UserQuotaComponent, ProjectsComponent,\r\n MarketingComponent, SalestoolComponent, DocumentComponent, TicketsComponent, PaginationComponent, AuditLogComponent, EmailsdivComponent, ZendeskhomeComponent,\r\n CustomercontactsComponent, ImportedComponent, RhxComponent, DropdownCOnfigurationComponent, SalesXcrmComponent, OwnershipsharingComponent, UploadDocumentComponent,\r\n AutomatedEmailsComponent, RoleComponent, AddressComponent, TicketConfigurationComponent, SystemRegistrationComponent, ProposalConfigurationComponent,\r\n OpportunitiesConfigurationComponent, ProposalsComponent, UserMessagingComponent, NotificationComponent, StatusIDconfigurationComponent, ContactPhotoComponent,\r\n LeadsConfigurationComponent, AdminReportsComponent, ForbiddenValidatorDirectiveDirective, SearchResultComponent, AccountContactInfoComponent, AddEditAccountComponent, ReleaseNotesComponent, ContactUsComponent, DeletePopupComponent, AccountorcontactviewComponent, SearchFieldComponent, UserdataheaderComponent, ProfileComponent, AccountDetailsComponent, QuickSearchComponent, AccountTransferOwnershipComponent, TaskListConfigurationComponent, PendedproposalsComponent, NewNotesComponent, CampaignConfigurationComponent, LinkDeleteComponent, DocumentManagementConfigurationComponent, SoftwareLicenseConfigurationComponent, SoftwareLicensingComponent, OtherStandardReportsComponent, ProjectConfigurationComponent, CreateProjectsComponent, RevenueDashboardComponent, MySalesxcrmConfigurationComponent, CampaignDashboardComponent, ProjectsDashboardComponent, SubscriptionComponent, TicketsDashboardComponent, AccountConfigurationComponent, AddNewAccountComponent, HeadersComponent, CreateTicketComponent\r\n ],\r\n imports: [\r\n BrowserModule, NgSelectModule,Ng4LoadingSpinnerModule.forRoot(),\r\n AgmCoreModule.forRoot({\r\n apiKey: 'AIzaSyB_-RI5MbnINvz5gsJOvLDyjr_o7fgkAFQ',\r\n libraries: ['places']\r\n }), MatProgressSpinnerModule,\r\n AppRoutingModule, FroalaEditorModule.forRoot(), FroalaViewModule.forRoot(), FormsModule, ReactiveFormsModule, PopoverModule, BrowserAnimationsModule, ToastrModule.forRoot(), \r\n HttpClientModule, NgIdleKeepaliveModule.forRoot(), HttpModule, ProgressBarModule, AngularMultiSelectModule, NgxMaterialTimepickerModule, CommonModule, MatDividerModule, MatIconModule, MatListModule,\r\n DragulaModule.forRoot(), MyDatePickerModule, TextMaskModule, RecaptchaModule.forRoot(), ChartsModule, FullCalendarModule, MatFormFieldModule, MatInputModule, MatDialogModule,\r\n AgGridModule.withComponents([NotesrendererComponent, SassdateContactsComponent,ProposalItemsComponent,EditdeletecvComponent, EditactivatecvComponent, EditdeletecvcheckComponent, EditdeleteComponent, LinkDeleteComponent, CalllisthistoryComponent ])\r\n ],\r\n providers: [\r\n { provide: CookieOptions, useValue: {} }, { provide: LocationStrategy, useClass: HashLocationStrategy },\r\n AppSettings, CustomerService, MailserviceService, DecimalPipe, AccountsService, CookieService, HeroService, DragulaService, OpprtunitiesService, LeadsService, UserService, PageComponent, OpportunitiesdashboardComponent, \r\n AdvancedsearchService, ChatService, MessagingService,ApplicationComponent],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AppSettings {\r\n get baseUrl(): string { return localStorage.getItem(\"baseUrl\"); }\r\n set baseUrl(val: string) { localStorage.setItem(\"baseUrl\", val); }\r\n \r\n\r\n constructor() {\r\n\r\n }\r\n}","\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Current Version: {{'v' + appVersion}}
Release Date: {{today}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n 2017-2021 SalesXCRM all Rights Reserved
\r\n SalesXCRM is a Registered Trademark
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Feature
\r\n
\r\n Not Available at this time
\r\n
\r\n \r\n
\r\n\r\n
\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport * as moment from 'moment'\r\nimport { ReleaseNotes } from '../../models/releaseNotes';\r\nimport { DatePipe } from '@angular/common';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { ContactUs } from '../../models/contact-us';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { ActivatedRoute } from '@angular/router';\r\ndeclare var $: any;\r\nconst { version: version } = require('package.json');\r\nconst { date: date } = require('package.json');\r\n@Component({\r\n selector: 'app-aboutsales-xcrm',\r\n templateUrl: './aboutsales-xcrm.component.html',\r\n styleUrls: ['./aboutsales-xcrm.component.css']\r\n})\r\nexport class AboutsalesXCRMComponent implements OnInit {\r\n SearchNotAvailable: boolean = false;\r\n releaseNotesDiv: boolean = false;\r\n AddreleaseNotesDiv: boolean = false;\r\n ReadMoreDiv: boolean = false;\r\n releaseNotesListDiv: boolean = false;\r\n ContactUs: boolean = false;\r\n aboutus: boolean = true;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n releaseNotesmodel: ReleaseNotes = new ReleaseNotes();\r\n selectedNote: ReleaseNotes;\r\n public pdfSrc : any;\r\n releasenotesArray: Array = [];\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n currentuser: any;\r\n appVersion: string;\r\n today: Date;\r\n @Input()\r\n OpenPageType: string;\r\n userprevilages: any;\r\n subscriptionDiv: boolean = false;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n \r\n constructor(private route: ActivatedRoute,public applicationComponent: ApplicationComponent, private userservice: UserService, private toastr: ToastrService, private customerService: CustomerService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.appVersion = version;\r\n this.today = date;\r\n this.customerService.GetPrivilagesByuser(this.currentuser.id).then(result => {\r\n this.userprevilages = result;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n if (params['type'] != undefined && params['type'] != null) {\r\n this.OpenPageType = params['type'];\r\n }\r\n });\r\n\r\n this.OpenAboutusPageType(this.OpenPageType);\r\n\r\n }\r\n OpenAboutusPageType(val) {\r\n if (val == 'AboutSalesXCRM') {\r\n this.aboutus = true;\r\n this.releaseNotesDiv = false;\r\n this.ContactUs = false;\r\n this.saveAuditlog('About SalesXCRM');\r\n } else if (val == 'ContactUs') {\r\n this.aboutus = false;\r\n this.releaseNotesDiv = false;\r\n this.ContactUs = true;\r\n this.saveAuditlog('Contact Us');\r\n } else if (val == 'ReleaseNotes') {\r\n this.aboutus = false;\r\n this.releaseNotesDiv = true;\r\n this.ContactUs = false;\r\n this.saveAuditlog('Release Notes');\r\n } else if (val == 'MySubScription') {\r\n this.aboutus = false;\r\n this.ContactUs = false;\r\n this.releaseNotesDiv = false;\r\n this.subscriptionDiv = true;\r\n this.saveAuditlog('My SubScription');\r\n }\r\n \r\n }\r\n\r\n ReleaseNotesShow() {\r\n this.OpenPageType = 'ReleaseNotes';\r\n this.OpenAboutusPageType(this.OpenPageType);\r\n }\r\n ShowContactus() {\r\n var thisTab = this.userprevilages.filter(p => p.resource == \"Contact Us\" || p.resource.toLowerCase() == \"Contact Us\")[0];\r\n if (thisTab == undefined || (thisTab !== undefined && thisTab.canview == false)) {\r\n this.toastr.warning(\"You1 Do Not have Access to \" + \"Contact Us\" + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\", { timeOut: 1500 });\r\n\r\n return false;\r\n\r\n } else {\r\n this.OpenPageType = 'ContactUs';\r\n this.OpenAboutusPageType(this.OpenPageType);\r\n }\r\n }\r\n\r\n close() {\r\n this.sendMsgEvent.emit(\"AboutUs\");\r\n }\r\n Return(val) {\r\n this.ReadMoreDiv = false;\r\n this.AddreleaseNotesDiv = false;\r\n this.releaseNotesListDiv = true;\r\n }\r\n\r\n closeReleaseNotesDiv(msg) {\r\n this.releaseNotesDiv = false;\r\n this.aboutus = true;\r\n }\r\n closesubscriptionDiv(msg) {\r\n this.subscriptionDiv = false;\r\n this.aboutus = true;\r\n }\r\n\r\n Click() {\r\n const downloadLink = document.createElement(\"a\");\r\n downloadLink.style.display = \"none\";\r\n document.body.appendChild(downloadLink);\r\n downloadLink.setAttribute(\"href\", 'http://localhost:14164/Proposals/20200416PO3.pdf');\r\n downloadLink.setAttribute(\"target\", '_blank'); \r\n downloadLink.setAttribute(\"download\", 'Me');\r\n \r\n downloadLink.click();\r\n document.body.removeChild(downloadLink);\r\n }\r\n \r\n CancelContactUs(msg) { this.ContactUs = false; this.aboutus = true; }\r\n\r\n SearchNot() { this.SearchNotAvailable = false; }\r\n MySubscribtion() {\r\n var thisTab = this.userprevilages.filter(p => p.resource == \"My Subscription\" || p.resource.toLowerCase() == \"My Subscription\")[0];\r\n if (thisTab == undefined || (thisTab !== undefined && thisTab.canview == false)) {\r\n this.toastr.warning(\"You Do Not have Access to \" + \"My SubScription\" + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\", { timeOut: 1500 });\r\n\r\n return false;\r\n\r\n } else {\r\n this.OpenPageType = 'MySubScription';\r\n this.OpenAboutusPageType(this.OpenPageType);\r\n }\r\n\r\n }\r\n\r\n saveAuditlog(Action) {\r\n var obj: AuditLogModel = { id: 0, type: Action, action: Action, AccountOrContactId: 0, AccountOrContact: \"\", documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: Action, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n Task History \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n Name:\r\n
\r\n
\r\n {{displaycontact.firstname}} {{displaycontact.middlename}} {{displaycontact.lastname}}, {{displaycontact.titleName}}\r\n
\r\n
\r\n
\r\n
\r\n Contact Type:\r\n
\r\n
\r\n {{displaycontact.contacttypeName}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n Address1:\r\n
\r\n
\r\n {{displaycontact.address1}}\r\n
\r\n
\r\n
\r\n
\r\n Address2:\r\n
\r\n
\r\n {{displaycontact.address2}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n City/State\r\n
\r\n
\r\n {{displaycontact.city}}, {{displaycontact.state | uppercase}}. \r\n\r\n
\r\n
\r\n
\r\n
\r\n Zip/Country:\r\n
\r\n
\r\n 5\">-{{displaycontact.zip | slice:0:5 }}{{displaycontact.zip | slice:5:20 }}, {{displaycontact.country}}\r\n\r\n
\r\n
\r\n
\r\n
\r\n Island:\r\n
\r\n
\r\n {{displaycontact.ProvidenceIsland}}\r\n\r\n
\r\n
\r\n
\r\n
\r\n email:\r\n
\r\n
\r\n {{displaycontact.email}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n Cell #\r\n
\r\n
\r\n {{displaycontact.cell}}\r\n
\r\n
\r\n
\r\n
\r\n Office #:\r\n
\r\n
\r\n {{displaycontact.office}}\r\n
\r\n
\r\n
\r\n
\r\n Specialty:\r\n
\r\n
\r\n {{displaycontact.specialityName}}\r\n
\r\n
\r\n
\r\n
\r\n Sub Specialty:\r\n
\r\n
\r\n {{displaycontact.subspecialityName}}\r\n
\r\n
\r\n
\r\n
\r\n Sex:\r\n
\r\n
\r\n {{(displaycontact.sex == 315)?'Male':'Female'}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n DOB:\r\n
\r\n
\r\n {{displaycontact.DOB}}\r\n
\r\n
\r\n
\r\n
\r\n College/Year:\r\n
\r\n
\r\n {{displaycontact.collegeName}}\r\n \r\n /{{displaycontact.collegegrandyear}}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n Med School/Year:\r\n
\r\n
\r\n {{displaycontact.medschoolName}}\r\n \r\n / {{displaycontact.medschoolgrandyear}}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n Residency/Year:\r\n
\r\n
\r\n {{displaycontact.residencyName}}\r\n /{{displaycontact.residencygrandyear}} \r\n
\r\n\r\n
\r\n
\r\n
\r\n Fellowship/Year:\r\n
\r\n
\r\n {{displaycontact.fellowshipName}}\r\n /{{displaycontact.fellowshipgrandyear}}\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n Home address:\r\n
\r\n
\r\n {{displaycontact.homeaddress}}\r\n
\r\n
\r\n
\r\n
\r\n City/State/Zip:\r\n
\r\n
\r\n {{displaycontact.homecity}}\r\n /{{displaycontact.homestate | uppercase}}\r\n /{{displaycontact.homezip | slice:0:5}} 5\">-{{displaycontact.homezip | slice:5:20}}\r\n
\r\n
\r\n
\r\n
\r\n Home #:\r\n
\r\n
\r\n {{displaycontact.home}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n Owner:\r\n
\r\n
\r\n {{displaycontact.owner}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\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, Optional, EventEmitter, Output, ViewChild } from '@angular/core';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { Contacts } from 'src/app/models/contacts';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Viewaccount } from '../../models/viewaccount';\r\nimport { Notes } from '../../models/notes';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AccountDetailsComponent } from '../account-details/account-details.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'account-contact-info',\r\n templateUrl: './account-contact-info.component.html',\r\n styleUrls: ['./account-contact-info.component.css']\r\n})\r\nexport class AccountContactInfoComponent implements OnInit {\r\n account: Accounts = new Accounts();\r\n displaycontact: Contacts = new Contacts();\r\n @Input()\r\n accountId: number;\r\n @Input()\r\n Type: string;\r\n @Input()\r\n PageFrom: string;\r\n @Input()\r\n isNotesDialog: boolean;\r\n @Input()\r\n tab: string;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n currentuser: any;\r\n ContactsprovidersitemCount = 0;\r\n public gridOptionsProvider: GridOptions;\r\n allContactsproviders: Contacts[];\r\n allContacts: Contacts[];\r\n public columnDefsProvider: any[];\r\n public columnDefs: any[];\r\n public sideBar;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n SortedContactType;\r\n itemCount = 0;\r\n SortedStatus;\r\n SelectedStatus;\r\n SelectedContactType;\r\n Contacttotal: Contacts[];\r\n viewaccount: Viewaccount = new Viewaccount();\r\n noteslist: Array = [];\r\n photoForConatctView: boolean = false;\r\n @Output()\r\n btnClickEvent = new EventEmitter();\r\n ConUrlImage = '';\r\n allowAccess: boolean = true;\r\n addEditInsideContact: boolean = false;\r\n public contactpermission: string;\r\n @ViewChild(AccountDetailsComponent) accdetailcmp;\r\n constructor(private customerService: CustomerService, public applicationComponent: ApplicationComponent, private opprtunityservice: OpprtunitiesService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void { \r\n this.initializeAgGrid();\r\n if (this.Type == \"Customer\" || this.Type==\"Account\") {\r\n this.GetAccountInfo();\r\n } else {\r\n this.GetContactInfo(this.accountId);\r\n }\r\n }\r\n initializeAgGrid() {\r\n this.gridOptionsProvider = {\r\n pagination: false, enableColResize: true, paginationPageSize: 1000, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 36).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefsProvider(columnSelections);\r\n });\r\n this.gridOptionsProvider.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n\r\n }\r\n createColumnDefsProvider(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefsProvider = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefsProvider.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else {\r\n this.columnDefsProvider.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefsProvider = [ \r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'zip', headerName: 'ZIP', hide: false },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'contacttype', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n ];\r\n }\r\n\r\n }\r\n public GetAccountInfo() {\r\n this.customerService.GetByAccountId(this.accountId).then(result => {\r\n this.account = result;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata);\r\n this.customerService.GetAllContactproviderByAccount(this.account.id, this.currentuser.id).then((contacts) => {\r\n \r\n this.allContactsproviders = contacts;\r\n \r\n this.allContacts = contacts;\r\n var rew = Array.from(new Set(this.allContactsproviders.map(s => s.contacttype)))\r\n .map(contacttype => {\r\n return {\r\n Name: ((this.allContactsproviders.filter(x => x.contacttype == contacttype)[0].contacttypeName != null) ? this.allContactsproviders.filter(x => x.contacttype == contacttype)[0].contacttypeName : '') + \" (\" + this.allContactsproviders.filter(x => x.contacttype == contacttype).length + \")\",\r\n Value: contacttype\r\n }\r\n });\r\n this.SelectedContactType = \"All\";\r\n this.SortedStatus = [\r\n { id: 0, Value: 'Active & Inactive' + \" (\" + this.allContactsproviders.length + \")\" },\r\n { id: 309, Value: 'Active' + \" (\" + this.allContactsproviders.filter(x => x.Status == 309).length + \")\" },\r\n { id: 310, Value: 'Inactive' + \" (\" + this.allContactsproviders.filter(x => x.Status == 310).length + \")\" }\r\n\r\n ];\r\n this.SelectedStatus = 309;\r\n \r\n this.SortedContactType = rew;\r\n\r\n this.itemCount = contacts.length;\r\n \r\n });\r\n });\r\n\r\n \r\n }\r\n public GetContactInfo(contactid) {\r\n this.customerService.GetContactById(contactid).then(result => {\r\n this.displaycontact = result;\r\n this.ConUrlImage = \"\";\r\n this.customerService.Getcontactimage(contactid).then(res => {\r\n this.ConUrlImage = res.photo;\r\n\r\n });\r\n this.customerService.GetByAccountId(this.displaycontact.accountid).then(result => {\r\n this.account = result;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata);\r\n this.GetCustomerNotes(this.account.id.toString(), 'Customer');\r\n });\r\n\r\n });\r\n }\r\n\r\n ContactTypeFilter(val) {\r\n if (val == 'All') {\r\n this.Contacttotal = this.allContacts;\r\n if (this.SelectedStatus != 0) {\r\n this.allContactsproviders = this.allContacts.filter(x => x.Status == this.SelectedStatus);\r\n } else {\r\n this.allContactsproviders = this.allContacts;\r\n }\r\n } else {\r\n this.Contacttotal = this.allContacts.filter(x => x.contacttype == val);\r\n if (this.SelectedStatus != 0) {\r\n this.allContactsproviders = this.allContacts.filter(x => x.contacttype == val && x.Status == this.SelectedStatus);\r\n }\r\n else {\r\n this.allContactsproviders = this.allContacts.filter(x => x.contacttype == val);\r\n }\r\n\r\n }\r\n this.SortedStatus = [\r\n { id: 0, Value: 'Active & Inactive' + \" (\" + this.Contacttotal.length + \")\" },\r\n { id: 309, Value: 'Active' + \" (\" + this.Contacttotal.filter(x => x.Status == 309).length + \")\" },\r\n { id: 310, Value: 'Inactive' + \" (\" + this.Contacttotal.filter(x => x.Status == 310).length + \")\" }\r\n\r\n ];\r\n\r\n }\r\n AddTask() {\r\n this.sendMsgEvent.emit(\"task\");\r\n }\r\n ContactStatusFilter(val) {\r\n if (val == 0) {\r\n if (this.SelectedContactType == 'All')\r\n this.allContactsproviders = this.allContacts;\r\n else {\r\n this.allContactsproviders = this.allContacts.filter(x => x.contacttype == this.SelectedContactType);\r\n }\r\n } else {\r\n if (this.SelectedContactType != 'All') {\r\n this.allContactsproviders = this.allContacts.filter(x => x.Status == val && x.contacttype == this.SelectedContactType);\r\n }\r\n else {\r\n this.allContactsproviders = this.allContacts.filter(x => x.Status == val);\r\n }\r\n\r\n }\r\n //this.SelectedContactType = \"All\";\r\n }\r\n\r\n buttonClick(btnName, val) {\r\n this.btnClickEvent.emit({ btnName: btnName, val: val });\r\n\r\n }\r\n GetCustomerNotes(contactid, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.noteslist = taskhistory;\r\n });\r\n\r\n }\r\n\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata) {\r\n\r\n //var properCity = city.charAt(0).toUpperCase() + city.substr(1).toLowerCase();\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.accdetailcmp.loadAccountId(accId);\r\n }\r\n\r\n btnClickReceived(event) {\r\n\r\n }\r\n\r\n editcontact(contactId) {\r\n\r\n if (this.contactpermission == \"view\" || this.account.isAccountPermission == \"View\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('tickets') > -1) {\r\n this.sendMsgEvent.emit('edit');\r\n }\r\n }\r\n\r\n }\r\n addFilesaccinfo(event) {\r\n if (this.contactpermission == 'view') {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else {\r\n let files = event.srcElement.files;\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n this.addCharge(file);\r\n }\r\n }\r\n }\r\n\r\n addCharge(file) {\r\n this.photoForConatctView = true;\r\n let contact = new Contacts();\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n contact.id = selfObj.accountId;\r\n contact.phototype = file.type;\r\n contact.photo = reader.result.toString();\r\n selfObj.GetContactInfo(selfObj.accountId);\r\n selfObj.customerService.uploadPhoto(contact).then((user) => {\r\n selfObj.customerService.Getcontactimage(selfObj.accountId).then(res => {\r\n selfObj.ConUrlImage = res.photo;\r\n selfObj.photoForConatctView = false;\r\n });\r\n\r\n });\r\n }, 500));\r\n \r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

\r\n ACCOUNT CONFIGURATION\r\n

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

\r\n Account Fields\r\n\r\n

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

\r\n Account Fields Configuration\r\n\r\n

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
Field Name Type Of FieldTab TypeData TypePick List
Editable
{{field.FieldName}}{{field.TypeOfField}}\r\n {{field.TableName}}\r\n {{field.DataType}}{{field.PickListEditable}}
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
IdSort OrderPick List NameActions
{{fieldData.id}}{{fieldData.Sortorder}}{{fieldData.itemName}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

\r\n {{SelectedConfigurationType}}\r\n\r\n

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Field NameDisplay As
{{item.FieldName}}{{item.DisplayAs}}
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

\r\n Account Sharing Groups\r\n\r\n

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

\r\n Group Names\r\n\r\n

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

\r\n Contact Fields\r\n

\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n Contact Fields Configuration\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
Field Name Type Of FieldData TypePick List
Editable
{{field.FieldName}}{{field.TypeOfField}}{{field.DataType}}{{field.PickListEditable}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Sort OrderPick List NameActions
{{fieldData.id}}{{fieldData.Sortorder}}{{fieldData.itemName}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n

\r\n Contact Page Configuration\r\n\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Field Name Display As
{{item.FieldName}}{{item.DisplayAs}}
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n

\r\n Contact Page Configuration\r\n\r\n

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Field NameDisplay As
{{item.FieldName}}{{item.DisplayAs}}
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n You are Deleting the following {{DeletePickListObj.Category}} : {{DeletePickListObj.itemName}}:
\r\n
\r\n\r\n
\r\n The system has found the {{DeletePickListObj.Category}} being used in the system.
\r\n Before deleting you must select another {{DeletePickListObj.Category}}
\r\n to replace the {{DeletePickListObj.Category}} you are Deleting.
\r\n
\r\n
\r\n
\r\n Please select a {{DeletePickListObj.Category}} to replace this {{DeletePickListObj.Category}} \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n The ID you have selected to DELETE is being used by an
\r\n Account / Contact. Please select an ID that will replace this ID.

\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\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 } from '@angular/core';\r\nimport { LeadsService } from '../../../services/leads.service';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { DragulaService } from 'ng2-dragula';\r\nimport { Subscription } from 'rxjs';\r\nimport { AccountFields } from '../../../models/AccountFields';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { SystemRowConfiguration } from '../../../models/system-row-configuration';\r\nimport { GridOptions, RowDragEndEvent } from \"ag-grid/main\";\r\nimport { PickListModel } from '../../../models/PickListModel';\r\nimport { AuditLogModel } from '../../../models/auditlog';\r\nimport { FormConfiguration } from '../../../models/FormConfiguration';\r\nimport { SharingGroups } from '../../../models/Accountsharing';\r\nimport { Dropdowntype, Dropdown } from '../../../models/dropdowntype';\r\nimport { UserService } from '../../../services/user.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-account-configuration',\r\n templateUrl: './account-configuration.component.html',\r\n styleUrls: ['./account-configuration.component.css']\r\n})\r\nexport class AccountConfigurationComponent implements OnInit {\r\n @Input()\r\n type: string;\r\n @Input() SubMenuType: string = null;\r\n currentuser: any;\r\n subs = new Subscription();\r\n AccountFields: AccountFields = new AccountFields();\r\n ContactFields: AccountFields = new AccountFields();\r\n ShowAccountFieldForm: boolean = false;\r\n AccountFieldConfiguration: boolean = false;\r\n AccountPageConfiguration: boolean = false;\r\n ContactPageConfiguration: boolean = false;\r\n DisableFields: boolean = false;\r\n ContactConfigInfo: boolean = true;\r\n AddEditContactFields: boolean = false;\r\n ContactFieldsConfiguration: boolean = false;\r\n ShowContactFieldForm: boolean = false;\r\n contactFieldform: FormGroup;\r\n ShowShareGroupFieldForm: boolean = false;\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\r\n AccountOptionPage: boolean = true;\r\n SelectedConfigurationType = \"\";\r\n AddEditAccountField: boolean = false;\r\n accountFieldform: FormGroup;\r\n public ShowFieldItemTable: boolean = false;\r\n public DeleteMatchPopUp: boolean = false;\r\n public TableColumns: any;\r\n public SelectedAccountPage: string = \"\";\r\n public DuplicateTableColumns: any;\r\n public PickListColumns: any;\r\n public gridOptionsView: GridOptions;\r\n public gridConfigFeildsView: GridOptions;\r\n public expanded: boolean = false;\r\n PreviewAccountForm: boolean = false;\r\n SelectedField: AccountFields;\r\n FiledDataList : PickListModel[];\r\n DuplicateFiledDataList = [];\r\n PickListIds = [];\r\n MappedAccounts = [];\r\n PickListArray: PickListModel = new PickListModel();\r\n DeletePickListObj: PickListModel;\r\n ReplaceItem = []; dropdownSetting = {}; documenttypeList = [];\r\n AccountFieldsSelected = [];\r\n public columnDefs;\r\n public ConfigFeildscolumnDefs;\r\n public sideBar;\r\n FormConfiguration: FormConfiguration = new FormConfiguration();\r\n AccountSharingHomePage: boolean = true;\r\n AccGroupNames: boolean = false;\r\n SharingGroupsList: SharingGroups[] = [];\r\n SharingGroup: SharingGroups = new SharingGroups();\r\n ShareGroupFieldform: FormGroup;\r\n public ShareGroupsgridOptions: GridOptions;\r\n dropdownTypes: any;\r\n private gridApi; Specialitytypelist: Dropdowntype[] = [];\r\n Collegelist: Dropdowntype[] = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n accounttypeList: Dropdowntype[] = [];\r\n ownershipList: Dropdowntype[] = [];\r\n pmpurchasedList: Dropdowntype[] = [];\r\n rcmlist: Dropdowntype[] = [];\r\n AccountIdlist: Dropdowntype[] = [];\r\n ContactIdslist: Dropdowntype[] = [];\r\n ehrpurchasedList: Dropdowntype[] = [];\r\n dropdown: Dropdown = new Dropdown();\r\n rowedit: boolean = false;\r\n specialityids = [];\r\n dropdownid: number;\r\n dropItemName: string; dropdownCategory: string; selectedNewVal: string;\r\n AccountIdArr: Dropdowntype[] = [];\r\n contactIdArr: Dropdowntype[] = [];\r\n showAccountContactDialog: boolean = false;\r\n replaceId: number;\r\n public show: boolean = true;\r\n\r\n constructor(private leadservice: LeadsService, private customerService: CustomerService, private toastr: ToastrService, public applicationComponent: ApplicationComponent, private dragulaService: DragulaService, private userService: UserService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.subs.add(this.dragulaService.drop(\"Questions-bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n this.Order();\r\n })\r\n );\r\n this.subs.add(this.dragulaService.drop(\"AccountFieldData-bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n this.CategoryOrder();\r\n })\r\n );\r\n this.subs.add(this.dragulaService.drop(\"ContactFieldData-bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n this.CategoryOrder();\r\n })\r\n );\r\n }\r\n\r\n ngOnInit(): void {\r\n this.accountFieldform = this.getAccountFieldsForm();\r\n this.LoadDropDownValues(this.type);\r\n this.dropdownSetting = {\r\n singleSelection: true,\r\n text: \"Select Document Name\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 2\r\n };\r\n\r\n\r\n if (this.type == '422') {\r\n if (this.SubMenuType !== null && this.SubMenuType !== undefined && this.SubMenuType !== '') {\r\n this.ContactsField(this.SubMenuType);\r\n\r\n } else {\r\n var obj: AuditLogModel = { id: 0, type: 'Contact Configuration', action: 'Contact Config', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Contact Config', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n }\r\n else {\r\n this.AccountField(\"Add/Edit\");\r\n \r\n }\r\n }\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n\r\n }\r\n\r\n AccountField(val) {\r\n if (val == 'Add/Edit') {\r\n this.AccountOptionPage = false;\r\n this.AddEditAccountField = true;\r\n this.AccountFieldConfiguration = false;\r\n this.AccountPageConfiguration = false;\r\n this.accountFieldform = this.getAccountFieldsForm();\r\n this.AccountFields = new AccountFields();\r\n this.ShowAccountFieldForm = false;\r\n this.getAccountFields('Accounts');\r\n\r\n } else if (val == 'Configuration') {\r\n this.AccountOptionPage = false;\r\n this.AddEditAccountField = false;\r\n this.AccountFieldConfiguration = true; \r\n this.AccountPageConfiguration = false;\r\n this.getAccountFields('Accounts');\r\n \r\n } else if (val == 'AccountMailingPageConfiguration' || val == 'AccountSpecificsPageConfiguration' || val == 'AccountShippingPageConfiguration') {\r\n \r\n if (val == \"AccountMailingPageConfiguration\") {\r\n this.SelectedConfigurationType = \"Account Mailing Page Configuration\";\r\n this.getAccountFields('Mailing Address');\r\n this.getSavedOder('Mailing Address');\r\n }\r\n else if (val == \"AccountSpecificsPageConfiguration\")\r\n {\r\n this.SelectedConfigurationType = \"Account Specifics Page Configuration\";\r\n this.getAccountFields('Account Specifics');\r\n this.getSavedOder('Account Specifics');\r\n }\r\n else {\r\n this.SelectedConfigurationType = \"Account Shipping Page Configuration\";\r\n this.getAccountFields('Shipping Address');\r\n this.getSavedOder('Shipping Address');\r\n }\r\n this.AccountOptionPage = false;\r\n this.AddEditAccountField = false;\r\n this.AccountFieldConfiguration = false;\r\n this.AccountPageConfiguration = true;\r\n \r\n }\r\n\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Account Configuration', action: 'Account Config - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Account Config - ' + val, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n }\r\n DeleteField(data) {\r\n if (data.isdeleted == 0) {\r\n data.isdeleted = 1;\r\n } else {\r\n data.isdeleted = 0;\r\n }\r\n\r\n if (data.TableName == \"Accounts\") {\r\n this.AccountFields = data;\r\n this.SaveAccountField('Accounts');\r\n }\r\n else {\r\n\r\n this.ContactFields = data;\r\n this.SaveAccountField('Contacts');\r\n }\r\n }\r\n\r\n ShowFieldForm(val) {\r\n if (val == 'Accounts') {\r\n this.ShowAccountFieldForm = true;\r\n this.AccountFields.TypeOfField = 'Custom';\r\n }\r\n else if (val == 'Contacts') {\r\n this.ShowContactFieldForm = true;\r\n this.ContactFields.TypeOfField = 'Custom';\r\n }\r\n else if (val == 'AccountSharingGroup') {\r\n this.ShowShareGroupFieldForm = true;\r\n\r\n }\r\n }\r\n\r\n CloseAccountField(val) {\r\n if (val == 'Add/Edit') {\r\n this.AddEditAccountField = false;\r\n this.AccountFieldConfiguration = false;\r\n this.AccountPageConfiguration = false;\r\n } else if (val == 'Configuration') {\r\n this.AddEditAccountField = false;\r\n this.AccountFieldConfiguration = false;\r\n this.AccountPageConfiguration = false;\r\n this.ShowFieldItemTable = false;\r\n } else if (val == 'AccountPageConfiguration') {\r\n this.AddEditAccountField = false;\r\n this.AccountFieldConfiguration = false;\r\n this.AccountPageConfiguration = false;\r\n }\r\n\r\n this.AccountOptionPage = true;\r\n }\r\n SaveAccountField(val) {\r\n if (val == 'Accounts') {\r\n this.AccountFields.TableName = 'Accounts';\r\n this.customerService.SaveAccountField(this.AccountFields).then(result => {\r\n this.AccountFields = new AccountFields();\r\n this.toastr.success(\"Account Fields Saved Successfully.\", \"Account Fields\", { timeOut: 600 });\r\n this.getAccountFields('Accounts');\r\n this.ShowAccountFieldForm = false;\r\n });\r\n } else if ('Contacts') {\r\n this.ContactFields.TableName = 'Contacts';\r\n this.customerService.SaveAccountField(this.ContactFields).then(result => {\r\n this.ContactFields = new AccountFields();\r\n this.toastr.success(\"Contact Fields Saved Successfully.\", \"Contact Fields\", { timeOut: 600 });\r\n this.getAccountFields('Contacts');\r\n this.ShowContactFieldForm = false;\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n getAccountFields(val) {\r\n this.initializeAgGrid();\r\n this.SelectedAccountPage = val;\r\n this.customerService.GetTableFields(val, this.currentuser.id).then(result => {\r\n this.TableColumns = result;\r\n if (this.ContactPageConfiguration == true || this.AccountPageConfiguration == true) {\r\n this.DuplicateTableColumns = this.TableColumns.filter(x => x.isdeleted == 0);\r\n } else {\r\n this.DuplicateTableColumns = result;\r\n }\r\n this.PickListColumns = this.TableColumns.filter(x => x.DataType == 'Pick List' && x.isdeleted == 0);\r\n });\r\n }\r\n initializeAgGridConfigFeild() {\r\n this.gridConfigFeildsView = {\r\n enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createdConfigFeildsColumnDefs(\"\");\r\n }\r\n createdConfigFeildsColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.ConfigFeildscolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, rowDrag: true\r\n },\r\n { field: 'Sortorder', headerName: 'Sort Order', hide: false },\r\n\r\n { field: 'itemName', headerName: 'Pick List Name', hide: false },\r\n \r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n \r\n eDiv.innerHTML = '';\r\n \r\n eDiv.addEventListener('click', function () {\r\n selfObj.DeletePickList(params.data,'Accounts');\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n initializeAgGrid() {\r\n this.gridOptionsView = { \r\n enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createColumnDefs(\"\");\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, rowDrag:true\r\n },\r\n { field: 'FieldName', headerName: 'Field Name', hide: false },\r\n { field: 'TableName', headerName: 'Table Name', hide: true },\r\n { field: 'TypeOfField', headerName: 'Type Of Field', hide: false },\r\n {\r\n field: 'TableName', headerName: 'Tab Type', hide: false, cellStyle: function (params) {\r\n if (params.value == \"Mailing Address\") {\r\n return { color: 'red' };\r\n } else if (params.value == \"Account Specifics\") {\r\n return { color: 'blue' };\r\n } else {\r\n return { color: 'green' };\r\n }\r\n }\r\n },\r\n { field: 'DisplayAs', headerName: 'Display As', hide: false },\r\n { field: 'RequiredField', headerName: 'Required Field', hide: false },\r\n { field: 'DataType', headerName: 'Data Type', hide: false },\r\n { field: 'PickListEditable', headerName: 'Pick List Editable', hide: false },\r\n { field: 'DataFormat', headerName: 'Data Format', hide: false },\r\n { field: 'MaxLimit', headerName: 'Max Limit', hide: false },\r\n { field: 'Description', headerName: 'Description', hide: false },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted == 0 && params.data.TypeOfField == 'Custom') {\r\n eDiv.innerHTML = '';\r\n }\r\n else if (params.data.isdeleted == 1 && params.data.TypeOfField == 'Custom') {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n selfObj.DeleteField(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n\r\n if (event.api.getSelectedNodes()[0].data && event.api.getSelectedNodes()[0].data.TableName == 'Accounts') {\r\n this.AccountFields = event.api.getSelectedNodes()[0].data;\r\n\r\n this.ShowAccountFieldForm = true;\r\n if (this.AccountFields.TypeOfField == 'Standard') {\r\n this.DisableFields = true;\r\n } else {\r\n this.DisableFields = false;\r\n }\r\n } else if (event.api.getSelectedNodes()[0].data && event.api.getSelectedNodes()[0].data.TableName == 'Contacts') {\r\n this.ContactFields = event.api.getSelectedNodes()[0].data;\r\n\r\n this.ShowContactFieldForm = true;\r\n if (this.ContactFields.TypeOfField == 'Standard') {\r\n this.DisableFields = true;\r\n } else {\r\n this.DisableFields = false;\r\n }\r\n }\r\n\r\n\r\n } else {\r\n\r\n }\r\n\r\n }\r\n\r\n FilterByTypeOfField(event) {\r\n this.DuplicateTableColumns = [];\r\n if (event.target.value == 2) {\r\n this.DuplicateTableColumns = this.TableColumns.filter(x => x.TypeOfField == 'Standard');\r\n } else if (event.target.value == 3) {\r\n this.DuplicateTableColumns = this.TableColumns.filter(x => x.TypeOfField == 'Custom');\r\n } else {\r\n this.DuplicateTableColumns = this.TableColumns;\r\n }\r\n }\r\n\r\n SortByType(event) {\r\n this.DuplicateTableColumns = [];\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (event.target.value == 1) {\r\n selfObj.DuplicateTableColumns = selfObj.TableColumns.sort((a, b) => a.SortOrder - b.SortOrder);\r\n } else if (event.target.value == 2) {\r\n var data = selfObj.TableColumns;\r\n data = data.sort((a, b) => a.FieldName.localeCompare(b.FieldName));\r\n selfObj.DuplicateTableColumns = data;\r\n }\r\n }, 200));\r\n\r\n\r\n }\r\n\r\n showCheckboxes(val) {\r\n this.PickListColumns = [];\r\n if (val == 'Accounts') { \r\n this.expanded = true;\r\n this.PickListColumns = this.TableColumns.filter(x => x.DataType == 'Pick List' && x.isdeleted == 0); \r\n } else if (val == 'Contacts') { \r\n this.expanded = true;\r\n this.PickListColumns = this.TableColumns.filter(x => x.DataType == 'Pick List' && x.isdeleted == 0); \r\n }\r\n }\r\n\r\n\r\n onCheckboxChange(field, event) {\r\n if (event.target.checked == true) {\r\n $('.FieldCheckBox').prop('checked', false);\r\n $('#chkBox' + field.id).prop('checked', true);\r\n this.SelectedField = field;\r\n \r\n this.customerService.GetPickListData(this.SelectedField.FieldName, this.SelectedField.id, this.currentuser.id).then((accounttype) => {\r\n this.FiledDataList = accounttype;\r\n this.DuplicateFiledDataList = accounttype;\r\n if (this.SelectedField.id != 0) {\r\n this.ShowFieldItemTable = true;\r\n this.initializeAgGridConfigFeild();\r\n } else {\r\n this.ShowFieldItemTable = false;\r\n }\r\n });\r\n\r\n\r\n }\r\n }\r\n\r\n AddNewFieldData(id, val, type) {\r\n if (type == 'Accounts') {\r\n if (val == 'Add') {\r\n var toDoEmpty = ({ id: 0, FieldID: 0, isdeleted: 0, Sortorder: 0, itemName: '', Category: '' })\r\n this.FiledDataList.push(toDoEmpty);\r\n $(setTimeout(function () {\r\n $('#PickListSortOrder' + id).attr('contenteditable', \"true\")\r\n $('#PickListName' + id).attr('contenteditable', \"true\")\r\n $('#PickListRow' + id).attr('style', \"background-color:#b7e4ff\");\r\n }, 200));\r\n }\r\n } else if (type == 'Contacts') {\r\n if (val == 'Add') {\r\n var toDoEmpty = ({ id: 0, FieldID: 0, isdeleted: 0, Sortorder: 0, itemName: '', Category: '' })\r\n this.FiledDataList.push(toDoEmpty);\r\n $(setTimeout(function () {\r\n $('#ConPickListSortOrder' + id).attr('contenteditable', \"true\")\r\n $('#ConPickListName' + id).attr('contenteditable', \"true\")\r\n $('#ConPickListRow' + id).attr('style', \"background-color:#b7e4ff\");\r\n }, 200));\r\n }\r\n }\r\n\r\n }\r\n keyupPickList(val) {\r\n if ((this.PickListIds.filter(f => f.Index == val)).length == 0) {\r\n this.PickListIds.push({ Index: val });\r\n }\r\n\r\n }\r\n SavePickListData(val) {\r\n if (this.PickListIds.length > 0) {\r\n this.PickListArray = new PickListModel();\r\n if (val == 'Accounts') {\r\n this.PickListIds.forEach(id => {\r\n this.PickListArray.id = parseInt($('#PickListID' + id.Index).html());\r\n this.PickListArray.Sortorder = parseInt($('#PickListSortOrder' + id.Index).html());\r\n this.PickListArray.itemName = $('#PickListName' + id.Index).html();\r\n this.PickListArray.isdeleted = 0;\r\n this.PickListArray.FieldID = this.SelectedField.id;\r\n this.PickListArray.Category = this.PickListColumns.filter(x => x.id == this.SelectedField.id)[0].FieldName;\r\n });\r\n } else if (val == 'Contacts') {\r\n this.PickListIds.forEach(id => {\r\n\r\n this.PickListArray.id = parseInt($('#ConPickListID' + id.Index).html());\r\n this.PickListArray.Sortorder = parseInt($('#ConPickListSortOrder' + id.Index).html());\r\n this.PickListArray.itemName = $('#ConPickListName' + id.Index).html();\r\n this.PickListArray.isdeleted = 0;\r\n this.PickListArray.FieldID = this.SelectedField.id;\r\n this.PickListArray.Category = this.PickListColumns.filter(x => x.id == this.SelectedField.id)[0].FieldName;\r\n });\r\n }\r\n\r\n this.SaveData(this.PickListArray);\r\n\r\n }\r\n\r\n }\r\n\r\n SaveData(PickListArray) {\r\n this.customerService.SavePickList(PickListArray).then(result => {\r\n this.toastr.success(\"Saved Successfully.\", \"Pick List\", { timeOut: 600 });\r\n this.customerService.GetPickListData(this.SelectedField.FieldName, this.SelectedField.id, this.currentuser.id).then((accounttype) => {\r\n this.FiledDataList = accounttype;\r\n this.DuplicateFiledDataList = accounttype;\r\n this.PickListIds = [];\r\n });\r\n });\r\n }\r\n\r\n getPickListFields() {\r\n this.initializeAgGrid();\r\n this.customerService.GetTableFields('tblaccounts', this.currentuser.id).then(result => {\r\n this.TableColumns = result;\r\n });\r\n }\r\n\r\n PickListRowClick(row, type) {\r\n if (type == 'Accounts') {\r\n\r\n if (this.PickListColumns.filter(x => x.id == row.FieldID)[0].PickListEditable == 'Yes') {\r\n $(setTimeout(function () {\r\n $('#PickListSortOrder' + row.id).attr('contenteditable', \"true\")\r\n $('#PickListName' + row.id).attr('contenteditable', \"true\")\r\n $('#PickListRow' + row.id).attr('style', \"background-color:#b7e4ff\");\r\n }, 200));\r\n }\r\n } else if (type == 'Contacts' && this.PickListColumns.filter(x => x.id == row.FieldID)[0].PickListEditable == 'Yes') {\r\n $(setTimeout(function () {\r\n $('#ConPickListSortOrder' + row.id).attr('contenteditable', \"true\")\r\n $('#ConPickListName' + row.id).attr('contenteditable', \"true\")\r\n $('#ConPickListRow' + row.id).attr('style', \"background-color:#b7e4ff\");\r\n }, 200));\r\n }\r\n\r\n }\r\n\r\n PickListSortByType(value) {\r\n this.DuplicateFiledDataList = [];\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (value == 'SortOrder') {\r\n selfObj.DuplicateFiledDataList = selfObj.FiledDataList.sort((a, b) => a.Sortorder - b.Sortorder);\r\n } else if (value == 'FieldName') {\r\n var data = selfObj.FiledDataList;\r\n data = data.sort((a, b) => a.itemName.localeCompare(b.itemName));\r\n selfObj.DuplicateFiledDataList = data;\r\n }\r\n }, 200));\r\n \r\n }\r\n\r\n SaveFieldDataOrderBy(value) {\r\n this.customerService.SaveFieldDataOrderBy(this.SelectedField.id, value).then(mappedAccounts => {\r\n\r\n\r\n });\r\n }\r\n\r\n DeletePickList(val, Type) {\r\n this.DeletePickListObj = val;\r\n this.documenttypeList = [];\r\n if (Type == 'Accounts' && this.PickListColumns.filter(x => x.id == val.FieldID)[0].PickListEditable == 'Yes') {\r\n\r\n this.customerService.GetAccountsByFieldData(val.Category, val.id).then(mappedAccounts => {\r\n this.MappedAccounts = mappedAccounts;\r\n if (mappedAccounts && mappedAccounts.length > 0) {\r\n\r\n this.customerService.GetSpecialityList(val.Category, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(acc => {\r\n this.documenttypeList.push({ \"id\": acc.id, \"itemName\": acc.itemName, \"category\": acc.category });\r\n });\r\n });\r\n this.DeleteMatchPopUp = true;\r\n this.DeleteMatchPopUpCss();\r\n }\r\n else {\r\n this.DeletePickListObj.isdeleted = 1;\r\n this.SaveData(this.DeletePickListObj);\r\n }\r\n });\r\n\r\n } else if (Type == 'Contacts' && this.PickListColumns.filter(x => x.id == val.FieldID)[0].PickListEditable == 'Yes') {\r\n this.customerService.GetContactsByFieldData(val.Category, val.id).then(mappedAccounts => {\r\n this.MappedAccounts = mappedAccounts;\r\n if (mappedAccounts && mappedAccounts.length > 0) {\r\n\r\n this.customerService.GetSpecialityList(val.Category, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(acc => {\r\n this.documenttypeList.push({ \"id\": acc.id, \"itemName\": acc.itemName, \"category\": acc.category });\r\n });\r\n });\r\n this.DeleteMatchPopUp = true;\r\n this.DeleteMatchPopUpCss();\r\n }\r\n else {\r\n this.DeletePickListObj.isdeleted = 1;\r\n this.SaveData(this.DeletePickListObj);\r\n }\r\n });\r\n }\r\n }\r\n DeleteMatchPopUpCss() {\r\n setTimeout(function () {\r\n $('#DeleteMatchPopUp .dialog').attr('style', 'width: 45%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 81%;overflow: auto;height: 81%;top: 11%;left: 53%;');\r\n }, 4);\r\n }\r\n Confirmation(val) {\r\n this.DeleteMatchPopUp = false;\r\n }\r\n ReplaceAccountType() {\r\n var ids = this.MappedAccounts.map(a => a.id);\r\n this.customerService.UpdateAccountByColumn(this.ReplaceItem[0].category, this.ReplaceItem[0].id, ids.join(',').toString()).then((accounttype) => {\r\n this.DeletePickListObj.isdeleted = 1;\r\n this.SaveData(this.DeletePickListObj);\r\n this.DeleteMatchPopUp = false;\r\n this.ReplaceItem = [];\r\n });\r\n }\r\n ContactsField(val) {\r\n if (val == 'Add/Edit') {\r\n this.ContactConfigInfo = false;\r\n this.AddEditContactFields = true;\r\n this.ContactFieldsConfiguration = false;\r\n\r\n this.contactFieldform = this.getContactFieldsForm();\r\n this.ContactFields = new AccountFields();\r\n this.getAccountFields('Contacts');\r\n this.ContactPageConfiguration = false;\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Contact Configuration', action: 'Contact Config - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Contact Config - ' + val, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n } else if (val == 'Configuration') {\r\n this.ContactConfigInfo = false;\r\n this.AddEditContactFields = false;\r\n this.ContactFieldsConfiguration = true;\r\n this.ContactPageConfiguration = false;\r\n this.getAccountFields('Contacts');\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Contact Configuration', action: 'Contact Config - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Contact Config - ' + val, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n } else if (val == 'Close_Add/Edit') {\r\n this.ContactConfigInfo = true;\r\n this.AddEditContactFields = false;\r\n this.ContactFieldsConfiguration = false;\r\n this.ContactPageConfiguration = false;\r\n this.ShowContactFieldForm = false;\r\n } else if (val == 'Close_Configuration') {\r\n this.ContactConfigInfo = true;\r\n this.AddEditContactFields = false;\r\n this.ContactFieldsConfiguration = false;\r\n this.ContactPageConfiguration = false;\r\n this.ShowFieldItemTable = false;\r\n } else if (val == \"ContactPageConfiguration\") {\r\n this.ContactConfigInfo = false;\r\n this.AddEditContactFields = false;\r\n this.ContactFieldsConfiguration = false;\r\n this.ContactPageConfiguration = true;\r\n this.getAccountFields('Contacts');\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Contact Configuration', action: 'Contact Config - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Contact Config - ' + val, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n this.getSavedOder('Contacts');\r\n } else if (val == 'Close_ContactPageConfiguration') {\r\n this.ContactConfigInfo = true;\r\n this.AddEditContactFields = false;\r\n this.ContactFieldsConfiguration = false;\r\n this.ContactPageConfiguration = false;\r\n }\r\n\r\n }\r\n\r\n getContactFieldsForm(): FormGroup {\r\n\r\n return new FormGroup({\r\n\r\n 'FieldName': new FormControl(this.ContactFields.FieldName, Validators.required),\r\n 'TypeofField': new FormControl(this.ContactFields.TypeOfField, Validators.required),\r\n 'DisplayAs': new FormControl(this.ContactFields.DisplayAs, Validators.required),\r\n 'address1': new FormControl(this.ContactFields.RequiredField, Validators.required),\r\n 'RequiredField': new FormControl(this.ContactFields.DataType, Validators.required),\r\n 'PickListEditable': new FormControl(this.ContactFields.PickListEditable, Validators.required),\r\n 'DataFormat': new FormControl(this.ContactFields.DataFormat, Validators.required),\r\n 'MaxLimit': new FormControl(this.ContactFields.MaxLimit, Validators.required),\r\n 'Description': new FormControl(this.ContactFields.Description, Validators.required),\r\n 'SortOrder': new FormControl(this.ContactFields.SortOrder, Validators.required),\r\n\r\n });\r\n\r\n\r\n }\r\n PreviewForm(val) {\r\n if (val == 'Open') {\r\n this.PreviewAccountForm = true;\r\n this.PreviewAccountFormCss();\r\n } else {\r\n this.PreviewAccountForm = false;\r\n }\r\n\r\n }\r\n PreviewAccountFormCss() {\r\n setTimeout(function () {\r\n //$('#PreviewAccountForm .dialog').attr('style', 'width: 45%;padding-bottom: 0px;border: 4px solid rgb(117, 218, 51);min-height: 81%;overflow: auto;height: 81%;top: 11%;left: 53%;');\r\n $('#PreviewAccountForm .dialog').attr('style', 'width: 44%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 81%;overflow: auto;height: 81%;top: 11%;left: 54%;');\r\n }, 4);\r\n }\r\n\r\n SaveFields() {\r\n this.FormConfiguration.FormName = this.SelectedAccountPage;\r\n this.customerService.SaveFormConfiguration(this.FormConfiguration).then(res => {\r\n this.getSavedOder(this.FormConfiguration.FormName);\r\n this.toastr.success(this.FormConfiguration.FormName + \"Fields Saved Successfully.\", this.FormConfiguration.FormName + \" Fields\", { timeOut: 600 });\r\n });\r\n }\r\n Order() {\r\n var TaskIdArr = [];\r\n $.each($(\"#FieldTable tbody tr td[id$='FieldID']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).text());\r\n TaskIdArr.push(TaskIds + \"~\" + k);\r\n\r\n });\r\n this.FormConfiguration.OrderFields = TaskIdArr.join(',');\r\n }\r\n getSavedOder(typ) {\r\n this.customerService.GetFormConfiguration(this.currentuser.id, typ).then(res => {\r\n if (res != null && res.length > 0) {\r\n this.FormConfiguration = res[0];\r\n let obj: string[] = [res[0].OrderFields, typ];\r\n this.customerService.getSaveFormFields(obj).then(x => {\r\n this.AccountFieldsSelected = x;\r\n this.AccountFieldsSelected.forEach(ele => {\r\n $('#FieldSelectionCheck' + ele.indexvalue + 'Id' + ele.id).prop('checked', true);\r\n $('#SelectOption' + ele.indexvalue).text(ele.FieldName);\r\n $('#SelectOption' + ele.indexvalue).val(ele.id);\r\n\r\n });\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n AccountSharingGroup(val) {\r\n if (val == 'Add/Edit') {\r\n this.AccGroupNames = true;\r\n this.AccountSharingHomePage = false;\r\n this.initializeAccShareGroupAgGrid();\r\n this.GetAllAccountSharingGroups();\r\n }\r\n }\r\n initializeAccShareGroupAgGrid() {\r\n this.ShareGroupsgridOptions = {\r\n enableColResize: true, enableSorting: true, paginationPageSize: 1000,defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true,\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createAccShareGroupColumnDefs(\"\");\r\n }\r\n createAccShareGroupColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 60,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n enableTooltip: true, rowDrag: true\r\n },\r\n { field: 'SharingGroupId', headerName: 'SharingGroupId', hide: true },\r\n { field: 'SharingGroupName', headerName: 'SharingGroupName', hide: false },\r\n { field: 'SortOrder', headerName: 'SortOrder', hide: false },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted == 0) {\r\n eDiv.innerHTML = '';\r\n }\r\n else if (params.data.isdeleted == 1) {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n selfObj.DeleteShareGroup(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n\r\n GetAllAccountSharingGroups() {\r\n this.customerService.GetAllAccountSharingGroups(this.currentuser.id).then((ShareGroups) => {\r\n this.SharingGroupsList = ShareGroups;\r\n });\r\n }\r\n\r\n\r\n myFunction(val) {\r\n document.getElementById(\"myDropdownAcc\" + val).classList.toggle(\"show\");\r\n }\r\n\r\n SelectedFieldChkChange(i, item, event) {\r\n if (event.target.checked == true) {\r\n var res = this.AccountFieldsSelected.filter(e => e.id == item.id);\r\n if (res.length <= 0) {\r\n $('.FieldSelectionCheckBox').prop('checked', false);\r\n $('#FieldSelectionCheck' + i + 'Id' + item.id).prop('checked', true);\r\n $('#SelectOption' + i).text(item.FieldName);\r\n $('#SelectOption' + i).val(item.id);\r\n $('.dropdownAcc-content').removeClass(\"show\");\r\n item.indexvalue = i;\r\n this.AccountFieldsSelected.push(item);\r\n if (this.type == '422') {\r\n this.FormConfiguration.FormName = \"Contacts\";\r\n } else {\r\n this.FormConfiguration.FormName = \"Accounts\";\r\n }\r\n\r\n this.FormConfiguration.DisplayFields = this.AccountFieldsSelected.map(x => x.id).join(\",\");\r\n this.FormConfiguration.OrderFields = this.AccountFieldsSelected.map(x => x.id + \"~\" + x.indexvalue).join(\",\");\r\n this.FormConfiguration.userid = this.currentuser.id;\r\n }\r\n else {\r\n alert(\"Field already Exist\");\r\n $('#FieldSelectionCheck' + i + 'Id' + item.id).prop('checked', false);\r\n }\r\n }\r\n else {\r\n $('.FieldSelectionCheckBox').prop('checked', false);\r\n $('#SelectOption' + i).text(\"Select Field\");\r\n $('#SelectOption' + i).val(null);\r\n this.AccountFieldsSelected = this.AccountFieldsSelected.filter(e => e.id != item.id);\r\n }\r\n }\r\n\r\n DeletePageField(i, item, event) {\r\n $('.FieldSelectionCheckBox').prop('checked', false);\r\n $('#SelectOption' + i).text(\"Select Field\");\r\n $('#SelectOption' + i).val(null);\r\n this.AccountFieldsSelected = this.AccountFieldsSelected.filter(e => e.id != item.id);\r\n }\r\n\r\n\r\n CloseAccGroupNames(val) {\r\n if (val == 'Close_Add/Edit') {\r\n this.AccountSharingHomePage = true;\r\n this.AccGroupNames = false;\r\n this.ShowShareGroupFieldForm = false;\r\n this.SharingGroup = new SharingGroups();\r\n }\r\n\r\n }\r\n SaveAccountShareGroup() {\r\n this.SharingGroup.isdeleted = 0;\r\n this.SharingGroup.Createdby = this.currentuser.id;\r\n\r\n this.SaveSharingGroup();\r\n }\r\n SaveSharingGroup() {\r\n this.customerService.SaveAccountShareGroupData(this.SharingGroup).then(res => {\r\n this.GetAllAccountSharingGroups();\r\n this.SharingGroup = new SharingGroups();\r\n this.ShowShareGroupFieldForm = false;\r\n this.toastr.success(\"Account Sharing Group Saved Successfully.\", \" Account Sharing Groups\", { timeOut: 600 });\r\n });\r\n }\r\n\r\n onSharingGroupSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.SharingGroup = event.api.getSelectedNodes()[0].data;\r\n this.ShowShareGroupFieldForm = true;\r\n }\r\n }\r\n }\r\n\r\n DeleteShareGroup(ParamData) {\r\n this.SharingGroup = ParamData;\r\n this.SharingGroup.isdeleted = 1;\r\n this.SaveSharingGroup();\r\n\r\n }\r\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"SharingGroups\");\r\n }\r\n onRowDragEndStages(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"SharingGroups\");\r\n }\r\n \r\n\r\n onRowDragEndSteps(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"SharingGroups\");\r\n }\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == \"AccountFields\") {\r\n this.gridOptionsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.id);\r\n });\r\n } else if (type == \"ContactFields\") {\r\n this.gridOptionsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.id);\r\n });\r\n }\r\n else if (type == \"SharingGroups\") {\r\n this.ShareGroupsgridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.SharingGroupId);\r\n });\r\n } else {\r\n this.gridConfigFeildsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.id);\r\n });\r\n }\r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentuser.id;\r\n\r\n this.leadservice.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n });\r\n }\r\n\r\n\r\n getAccountFieldsForm(): FormGroup {\r\n\r\n return new FormGroup({\r\n\r\n 'FieldName': new FormControl(this.AccountFields.FieldName, Validators.required),\r\n\r\n 'TypeofField': new FormControl(this.AccountFields.TypeOfField, Validators.required),\r\n 'DisplayAs': new FormControl(this.AccountFields.DisplayAs, Validators.required),\r\n 'address1': new FormControl(this.AccountFields.RequiredField, Validators.required),\r\n 'RequiredField': new FormControl(this.AccountFields.DataType, Validators.required),\r\n 'PickListEditable': new FormControl(this.AccountFields.PickListEditable, Validators.required),\r\n 'DataFormat': new FormControl(this.AccountFields.DataFormat, Validators.required),\r\n 'MaxLimit': new FormControl(this.AccountFields.MaxLimit, Validators.required),\r\n 'Description': new FormControl(this.AccountFields.Description, Validators.required),\r\n 'SortOrder': new FormControl(this.AccountFields.SortOrder, Validators.required),\r\n\r\n });\r\n\r\n\r\n }\r\n LoadDropDownValues(type) {\r\n this.leadservice.GetAllDropdownsList(type).then((dropdowns) => {\r\n this.dropdownTypes = dropdowns;\r\n this.dropdownTypes.forEach(drop => {\r\n $('#' + drop.dropdownName + 'Value').css('display', 'none')\r\n $('#' + drop.dropdownName + 'Div').css('display', 'none')\r\n });\r\n });\r\n }\r\n showPageCheckbeoxs() {\r\n \r\n if (!this.expanded) {\r\n this.expanded = true;\r\n }\r\n else {\r\n this.expanded = false;\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n printSortStateToConsole(event) {\r\n\r\n const sortState = this.gridApi.getSortModel();\r\n if (sortState.length == 0) {\r\n } else {\r\n\r\n for (var i = 0; i < sortState.length; i++) {\r\n const item = sortState[i];\r\n var sortoorder = [];\r\n this.ShareGroupsgridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data);\r\n });\r\n\r\n if (item.sort == 'asc') {\r\n sortoorder = sortoorder.sort(function (a, b) { return a.Sortorder - b.Sortorder });\r\n\r\n } else {\r\n sortoorder = sortoorder.sort(function (a, b) { return a.Sortorder + b.Sortorder });\r\n }\r\n let IDs = sortoorder.map(s => s.SharingGroupId);\r\n\r\n this.rowconfig.SortOrder = IDs.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = \"SharingGroups\";\r\n this.rowconfig.userid = this.currentuser.id;\r\n\r\n this.leadservice.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n });\r\n\r\n }\r\n }\r\n\r\n }\r\n CancelDropdown(clickedButton) {\r\n this.LoadDropDownValues(this.type);\r\n $('#' + clickedButton + 'Value').css('display', 'none')\r\n $('#' + clickedButton + 'Div').css('display', 'none')\r\n $('#' + clickedButton + 'Table').css('height', '79%')\r\n\r\n }\r\n edit(specid, dropName) {\r\n $('#' + dropName + specid + 'itemName').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + dropName + specid + 'Buttons').attr('style', \"background-color:#b7e4ff;\")\r\n $('.disableEditable').attr('contenteditable', \"false\");\r\n $('#' + dropName + specid + 'itemName').attr('contenteditable', \"true\")\r\n this.rowedit = true;\r\n }\r\n keyupTask(dropName, specid) {\r\n this.specialityids = [];\r\n if (specid > 0) {\r\n if ((this.specialityids.filter(f => f.Index == specid && f.Type == dropName)).length == 0)\r\n this.specialityids.push({ Index: specid, Type: dropName });\r\n\r\n }\r\n $('#' + dropName + specid + 'itemName').css(\"color\", \"red\");\r\n $('#' + dropName + 'Div').css('display', 'block');\r\n $('#' + dropName + 'Table').css('height', '68%')\r\n }\r\n onAccountAgGridReady(event) {\r\n this.gridOptionsView.api = event.api;\r\n }\r\n\r\n onAccountRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"AccountFields\");\r\n }\r\n onConfigFeildsRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(this.SelectedField.id);\r\n }\r\n delete(specid, itemName, dropName, dropdownvalues) {\r\n this.dropdown.id = specid;\r\n this.dropdown.itemName = itemName;\r\n this.dropdown.category = dropName;\r\n this.customerService.checkIdaleadymapped(this.dropdown).then(result => {\r\n\r\n if (result == null) {\r\n var c = confirm(\"Select Yes To Confirm You Want to Delete ??\");\r\n $('#' + dropName + specid + 'itemName').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + dropName + specid + 'Buttons').attr('style', \"background-color:#b7e4ff;\")\r\n if (c == true) {\r\n this.customerService.deleteDropdown(specid, itemName).then(result => {\r\n this.toastr.success(\"DropDown Deleted Successfully.\", \"Drop Down List\", { timeOut: 600 });\r\n this.LoadDropDownValues(this.type);\r\n \r\n this.dropdown = new Dropdown();\r\n $('#' + itemName + 'Value').val('');\r\n });\r\n }\r\n else {\r\n $('#' + dropName + specid + 'itemName').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n $('#' + dropName + specid + 'Buttons').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n this.LoadDropDownValues(this.dropdown.itemName)\r\n }\r\n }\r\n else {\r\n this.dropdownid = specid;\r\n this.dropItemName = itemName;\r\n this.dropdownCategory = dropName;\r\n this.AccountIdArr = dropdownvalues;\r\n this.contactIdArr = dropdownvalues;\r\n this.showAccountContactDialog = true;\r\n this.showAdvancedSearchDialogCss();\r\n\r\n }\r\n });\r\n }\r\n Replaceanddelete(drpId, drpName, replaceid) {\r\n this.customerService.ReplaceandDelete(drpId, drpName, replaceid).then(result => {\r\n this.showAccountContactDialog = false;\r\n this.dropdown = new Dropdown();\r\n $('#' + drpName + 'Value').val('');\r\n this.toastr.success(\"Dropdown deleted successfully.\", \"Dropdown\", { timeOut: 600 });\r\n });\r\n }\r\n showAdvancedSearchDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width:30%;padding-bottom:0px;border:4px solid rgb(49,189,240);border-radius:5%;min-height:20%;overflow:auto;height:31%;left:0%;top:37%;padding:0;');\r\n }, 4)\r\n }\r\n\r\n onAgGridReady(event) {\r\n this.gridApi = event.api;\r\n }\r\n\r\n onContactAgGridReady(event) {\r\n this.gridOptionsView.api = event.api;\r\n }\r\n onContactRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"ContactFields\");\r\n }\r\n onConfigFeildsAgGridReady(event) {\r\n this.gridApi = event.api;\r\n }\r\n CategoryOrder() {\r\n let TaskIdArr = [];\r\n $.each($(\"#\" + this.SelectedField.ColumnName + \" tr td:nth-child(2)\"), function (k, v) {\r\n var TaskIds = $.trim($(this).attr('id'));\r\n TaskIdArr.push(TaskIds.split('~')[1]);\r\n\r\n });\r\n\r\n this.userService.SaveConfigFieldDataSortOrder(TaskIdArr.join(','), this.SelectedField.FieldName, this.SelectedField.id, this.currentuser.id).then(result => {\r\n this.toastr.success(\"Questions Re-Ordered Successfully.\", \" Questions\", { timeOut: 600 });\r\n });\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n d\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n ACTIVITIES ({{activitieslist.length}})\r\n
\r\n\r\n
\r\n 0\" src=\"../../../assets/img/Activities - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n NOTES ({{noteslist.length}})\r\n
\r\n\r\n
\r\n\r\n 0\" src=\"../../../assets/img/Notes - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n EMAILS ({{emailslist.length}})\r\n
\r\n\r\n
\r\n 0\" src=\"../../../assets/img/Emails Green Icon - Account Details Box.png\" style=\"height:70%\" />\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n SMS (0)\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n DOCUMENTS ({{userdocumentlist.length}})\r\n
\r\n\r\n
\r\n 0\" src=\"../../../assets/img/Documents - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n CAMPAIGNS ({{Campignslist.length}})\r\n
\r\n
\r\n 0\" src=\"../../../assets/img/Campaigns Green Icon - Account Details Box.png\" style=\"height:70%\" />\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n OPPORTUNITIES ({{Opportunitylist.length}})\r\n
\r\n\r\n
\r\n 0\" src=\"../../../assets/img/Account Details Opportunities Green.png\" style=\"height:70%\" />\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n TICKETS ({{ticketslist.length}})\r\n
\r\n\r\n
\r\n 0\" src=\"../../../assets/img/Tickets - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n PROJECTS ({{ProjectsList.length}})\r\n
\r\n\r\n
\r\n\r\n 0\" src=\"../../../assets/img/Projects - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n

DOCUMENTS

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

Proposal Documents

\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n EMAILS ({{emailslist.length}})\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
Account : {{viewaccount.viewaccountname}}
\r\n\r\n
\r\n 0\" class=\"fa fa-arrow-left \" aria-hidden=\"true\" id=\"previous\" (click)=\"previousdocument()\">\r\n
\r\n
\r\n
\r\n = documentindex\" class=\"fa fa-arrow-right \" aria-hidden=\"true\" id=\"next\" (click)=\"nextdocument()\">\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
0\" style=\"height:100%;padding:0;\" class=\"col-xs-12\"> \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n Edit\r\n Save\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n


\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
{{account.accountname}}
\r\n
{{account.address1}}, {{account.address2}}
\r\n
{{account.city}},{{account.state| uppercase}},{{account.zip | slice:0:5}} 5\">-{{account.zip | slice:5:20}}
\r\n
Fax: {{account.fax}}
\r\n
\r\n\r\n
\r\n
Owner:{{currentuser.username}}
\r\n

\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
Adding Account Address
\r\n
\r\n
\r\n \r\n The Address for this account was not selected from\r\n google Address list.Please select one of the two\r\n options below: Select \" Go to Google Address \" and\r\n select google address for the account -or- select\r\n \"Save\" and system will save the address you have\r\n added to account.\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n License Alert
\r\n
\r\n The Contact has a license for this Account. You must delete the license assigned to this Contact before deleting the Contact
\r\n
\r\n \r\n
\r\n\r\n
\r\n","import { Component, OnInit, ElementRef, Optional, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Customers } from '../../models/customers';\r\nimport { Notes } from '../../models/notes';\r\nimport { AccountsService } from './../../services/accounts.service';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { DatePipe, TitleCasePipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormControl, FormGroup, FormArray, FormBuilder, Validators } from '@angular/forms';\r\nimport { Statistics } from '../../models/statistics';\r\nimport { Location } from '@angular/common';\r\nimport { Tickets } from '../../models/tickets';\r\nimport { Emails } from '../../models/emails';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Viewaccount } from '../../models/viewaccount';\r\nimport { Accountlocations } from '../../models/data-model';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { AccountDocuments } from '../../models/account-documents';\r\nimport { GridOptions } from \"ag-grid/main\";\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Column } from 'ag-grid';\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { EditactivatecvComponent } from '../editactivatecv/editactivatecv.component';\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { OwnershipsharingComponent } from '../ownershipsharing/ownershipsharing.component';\r\nimport { UploadDocumentComponent } from '../../application/upload-document/upload-document.component';\r\nimport { AddressComponent } from '../address/address.component';\r\nimport { DocumentmanagementComponent } from '../documentmanagement/documentmanagement.component';\r\nimport { HistoryComponent } from '../history/history.component';\r\nimport { forbiddenNameValidator } from '../shared/forbidden-validator-directive.directive';\r\nimport { AddressUpdate } from 'src/app/models/AddressUpdate';\r\nimport { NotesComponent } from '../notes/notes.component';\r\nimport { AccountDetailsComponent } from '../account-details/account-details.component';\r\nimport { AccountsHistory } from '../../models/AccountHistory';\r\nimport { ContactsSortOrder } from '../../models/ContactsSortOrder';\r\nimport { UserService } from '../../services/user.service';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { Projects } from '../../models/ProjectConfiguration';\r\nimport { Campaign } from '../../models/Campaign';\r\nimport { CampaignsComponent } from '../campaigns/campaigns.component';\r\nimport { ContactPhotoComponent } from '../contacts/contact-photo/contact-photo.component';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'account-contact',\r\n templateUrl: './account-contact.component.html',\r\n styleUrls: ['./account-contact.component.css']\r\n})\r\nexport class AccountContactComponent implements OnInit {\r\n @Input()\r\n contactId;\r\n currentuser: any;\r\n notedescription: string;\r\n userprevilages: any;\r\n dialogOpen: boolean = false;\r\n showmapWarning: boolean = false;\r\n AccountIdsDialog: boolean = false;\r\n showticketsinfo: boolean = false;\r\n expanded: boolean = false;\r\n tableDivHGT = screen.height * 0.48666;//0.51444\r\n addContactBodyHGT1 = screen.height * 0.4333;//0.46\r\n SaveAccDialog: boolean = false;\r\n documentview: boolean = false;\r\n isOpenGoogleMap: boolean = false;\r\n public searchControl: FormControl;\r\n accid: number;\r\n customercontacttypelist: Dropdowntype[];\r\n documentlist: Array = [];\r\n AccountIdArr: Dropdowntype[] = [];\r\n contactIdArr: Dropdowntype[] = [];\r\n Years: any[];\r\n MedSchoolYears: any[];\r\n ResidencyYears: any[];\r\n FellowShipYears: any[];\r\n accountform: FormGroup;\r\n contactform: FormGroup;\r\n notes: Notes = new Notes();\r\n StatusDropdownList: Dropdowntype[] = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n titleCasePipe: TitleCasePipe = new TitleCasePipe();\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n public getRowHeight;\r\n public zipmask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n account: Accounts = new Accounts();\r\n accountHistory: AccountsHistory = new AccountsHistory();\r\n Myaccount: Accounts = new Accounts();\r\n viewaccount: Viewaccount = new Viewaccount();\r\n contacts: Contacts = new Contacts();\r\n customer: Customers = new Customers();\r\n accountlocations: Accountlocations = new Accountlocations();\r\n @ViewChild(HistoryComponent) historyComp;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n @ViewChild(UploadDocumentComponent) uploadDoc;\r\n @ViewChild(AddressComponent) adddata;\r\n @ViewChild(CampaignsComponent) campaincmp;\r\n @ViewChild(ContactPhotoComponent) contactphotocmp;\r\n accountslist: Array = [];\r\n contactslist: Array = [];\r\n noteslist: Array = [];\r\n public accountid: number = 0;\r\n public practiceid: string;\r\n public historyName: string;\r\n public statisticbox: string;\r\n contactid: number;\r\n leadstatus: number;\r\n public sideBar;\r\n public NotesideBar;\r\n public contactpermission: string;\r\n uploadDocumentShow = false;\r\n customertypeList: Dropdowntype[] = [];\r\n OwnerList: Dropdowntype[] = [];\r\n accounttypeList: Dropdowntype[] = [];\r\n ownershiplist: Dropdowntype[] = [];\r\n Accountstatisticlist: Array = [];\r\n SuffixList: Dropdowntype[] = [];\r\n SexList: Dropdowntype[] = [];\r\n TitleList: Dropdowntype[] = [];\r\n contacttypelist: Dropdowntype[] = [];\r\n Specialitytypelist: Dropdowntype[] = [];\r\n Collegelist: Dropdowntype[] = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n StatesList: Dropdowntype[] = [];\r\n CitiesList: Dropdowntype[] = [];\r\n PractiseList: Dropdowntype[] = [];\r\n ehrpurchasedList: Dropdowntype[] = [];\r\n pmpurchasedList: Dropdowntype[] = [];\r\n rcmlist: Dropdowntype[] = [];\r\n itemResource: any;\r\n ContactStaffitemResource: any;\r\n items = [];\r\n itemCount = 0;\r\n staffitems = []; selectedItems = [];\r\n staffitemCount = 0;\r\n locationId = 0;\r\n locId = 0;\r\n conid: number;\r\n permission: string;\r\n typ: string;\r\n ismatchduplicate: string;\r\n PhoneDuplicate = false;\r\n websiteduplicate = false;\r\n params: any;\r\n ContactStaffparams: any;\r\n showDialog = false;\r\n taskDialog = false;\r\n pdfDialog = false;\r\n DeleteConfirmationPopup = false;\r\n DuplicateAccountDialog: boolean = false;\r\n leftGridDetailsDiv: boolean = true;\r\n AddContacttableDiv: boolean = false;\r\n isShowDetailsChecked: boolean = false;\r\n showAddEditAccount: boolean = false;\r\n showAccountHistoryHx: boolean = false;\r\n showAddEditContact: boolean = false;\r\n AccountotherDetailsDiv: boolean = true;\r\n EditAccountFormDiv: boolean = false;\r\n AddAccountFormDiv: boolean = false;\r\n showSccountInfo: boolean = true;\r\n leftMainDivHideShow: boolean = true;\r\n rightMainDivHideShow: boolean = true;\r\n ShowContactView: boolean = false;\r\n isTaskShow: boolean = false;\r\n contactSharingid: number = 0;\r\n AccountstatisticsBoxDuplicate: boolean = true;\r\n leftGridDetailsDivDuplicate: boolean = false;\r\n accountSharingid: number = 0;\r\n ViewPhotoDialog = false;\r\n locationCount: number = 2;\r\n MonthList: Dropdowntype[] = [];\r\n DayList: Dropdowntype[] = [];\r\n ContactOrder: Dropdowntype[] = [];\r\n public providerId: number = 0;\r\n activitieslist: Array = [];\r\n ticketslist: Array = [];\r\n ProjectsList: Array = [];\r\n emailslist: Array = [];\r\n Campignslist: Array = [];\r\n Opportunitylist: Array = [];\r\n FeeAmountdiv: boolean = false;\r\n hidDiv: boolean = true;\r\n notesshowDialog = false;\r\n futureTaskDialog = false;\r\n quickViewHistoryDialog = false;\r\n quickViewnotesDialog = false;\r\n quickViewActivitiesDialog = false;\r\n quickViewCampaignsDialog = false;\r\n quickViewSMSDialog = false;\r\n QuickViewTicketsDialog: boolean = false;\r\n QuickViewDocumentsinfo: boolean = false;\r\n QuickViewProposalsinfo: boolean = false;\r\n QuickViewEmailinfo: boolean = false;\r\n QuickViewOpportunityInfo: boolean = false;\r\n QuickViewProjectInfo: boolean = false;\r\n allnotes: Notes[];\r\n accounttaskDialoghgt = screen.height * 0.43222;\r\n url = '';\r\n userdocumentlist: any[] = [];\r\n Originaluserdocumentlist: any[] = [];\r\n POdocumentlist: any[] = [];\r\n public accountstaticsticsId: number = 1;\r\n public stateInfo = [];\r\n private data: Array = [];\r\n public rows: Array = [];\r\n public columns: Array = [\r\n { title: 'Date', name: 'created' },\r\n { title: 'Type', name: 'type' },\r\n { title: 'Note Description', name: 'notedescription' }\r\n ];\r\n Ids = [];\r\n public page: number = 1;\r\n currentYear = new Date().getFullYear();\r\n pdfopen = false;\r\n public itemsPerPage: number = 10;\r\n public maxSize: number = 5;\r\n public numPages: number = 1;\r\n public length: number = 0;\r\n public zendtype: string = 'Expand';\r\n public config: any = {\r\n paging: true,\r\n sorting: { columns: this.columns },\r\n filtering: { filterString: '' },\r\n className: ['table-striped', 'table-bordered']\r\n };\r\n stateTextBox: boolean = true;\r\n stateDropDown: boolean = false;\r\n displayZipCode: boolean = true;\r\n AccountContactPage: boolean = true;\r\n displayCountryName: boolean = false;\r\n seletedcountry: any;\r\n countryId: number = 1;\r\n documentindex: number = 0;\r\n accDocCount: number = 0;\r\n conDocCount: number = 0;\r\n accConDocCount: number = 0;\r\n public elementRef;\r\n textareaLength: number = 15;\r\n addresses: Accountlocations[];\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n heroForm: FormGroup;\r\n nameChangeLog: string[] = [];\r\n allContactsproviders: Contacts[];\r\n Contacttotal: Contacts[];\r\n allContacts: Contacts[];\r\n public context;\r\n id: number;\r\n SelectedCountryId: number;\r\n taskid: number;\r\n collegeyearDrop: boolean = true;\r\n MedSchoolyearDrop: boolean = true;\r\n ResidencyyearDrop: boolean = true;\r\n FellowshipyearDrop: boolean = true;\r\n selectedcontact: string[] = [];\r\n addressupdate: AddressUpdate = new AddressUpdate();\r\n selectedAddressOption: string = '';\r\n enableUpdateAll: boolean = false;\r\n enableSelectContacts: boolean = false;\r\n enableDoNotUpdate: boolean = false;\r\n public frameworkComponents; public columnDefsnotes: any[];\r\n public gridOptionsnotes: GridOptions;\r\n today = new Date();\r\n public AccountorCustomertype;\r\n @Input()\r\n type: string;\r\n @Input()\r\n tab: string = 'Account';\r\n @Input()\r\n SelectedContactId: number;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n NotesDec = false;\r\n isDocumentsInfoDivVisible: boolean = false;\r\n isTicketsInfoDivVisible: boolean = false;\r\n accountstatisticBox: string = 'Close';\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n timezonevalue: string;\r\n isModal: boolean = false;\r\n SixBoxExpand: boolean = false;\r\n setDocumentDetails = 0;\r\n fixHeight = 101;\r\n divHeight = (screen.height * 0.1611);\r\n divHeight1 = (screen.height * 0.53);//0.44\r\n divHeight2 = (screen.height * 0.13888);\r\n accounttaskDialog: boolean = false;\r\n accountactivitiesinfo: boolean = false;\r\n ShowAccountHx: boolean = false;\r\n accountnotesinfo: boolean = false;\r\n accountemailinfo: boolean = false;\r\n campaignsinfo: boolean = false;\r\n documentsinfo: boolean = false;\r\n Proposalinfo: boolean = false;\r\n Projectsinfo: boolean = false;\r\n AccountcontactIds: string = \"\";\r\n accountotherDetailsTable: boolean = true;\r\n customeracces: number = 0;\r\n deleteduserName: string = \"\";\r\n IsEditAccount: boolean = false;\r\n divHeight3 = (screen.height * 0.514444);//0.42555\r\n userdocumentcount: number = 0;\r\n isSharing: boolean = false;\r\n action: string;\r\n isSharingShow: boolean = false;\r\n public lattitude: number;\r\n public longitude: number;\r\n public address1: string;\r\n public zoom: number;\r\n @ViewChild(\"search\")\r\n public searchElementRef: ElementRef;\r\n docstatus: string = \"New\";\r\n documentcount: number = 0;\r\n SortedContactType;\r\n DocumentsFilter;\r\n postatuslist;\r\n SortedStatus;\r\n SelectedStatus;\r\n SelectedContactType;\r\n ContactsSortOrderBy = \"LA-Z\";\r\n @ViewChild(DocumentmanagementComponent) docMgmtComp;\r\n @ViewChild(UploadDocumentComponent) uploadDocComp: UploadDocumentComponent;\r\n @ViewChild(NotesComponent) notecomp;\r\n @ViewChild(AccountDetailsComponent) accdetailcmp;\r\n userInfo: string;\r\n locstateDropDown;\r\n EditAddressDiv: boolean = false;\r\n showContinueButton: boolean = false;\r\n ShowContactstoSelect: boolean = false;\r\n deleteRowData: any;\r\n contactStatus: any;\r\n public ShowPDF: boolean = false;\r\n public EditDocument: boolean = true;\r\n DocExpandView: boolean = false;\r\n CampaignType: string = 'All';\r\n\r\n ContactsOrder: ContactsSortOrder = new ContactsSortOrder();\r\n LicenseExistWarningDialog: boolean = false;\r\n showviewcampaign = false;\r\n constructor(private fb: FormBuilder,private accountsService: AccountsService,\r\n public applicationComponent: ApplicationComponent,private route: ActivatedRoute,\r\n private customerService: CustomerService, private toastr: ToastrService,\r\n private location: Location, private router: Router, myElement: ElementRef, private leadservice: LeadsService,\r\n private opprtunityservice: OpprtunitiesService, private userService: UserService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.customeracces = this.currentuser.customertypeaccess;\r\n this.account.customertypeid = 0;\r\n this.account.isaddressadded = null;\r\n this.contacts.isaddressadded = null;\r\n this.account.accounttype = null;\r\n this.account.ownerid = null;\r\n this.account.state = null;\r\n this.account.city = null;\r\n this.account.multiplelocations = 0;\r\n this.account.speciality = null;\r\n this.account.accountStatus = 1;\r\n this.account.ownership = null;\r\n this.account.rcm = null;\r\n this.account.ehr = null;\r\n this.account.pm = null;\r\n this.account.ownerid = this.currentuser.id;\r\n this.account.pm = null;\r\n this.account.pm = null;\r\n this.ResetContact();\r\n this.elementRef = myElement;\r\n this.createForm();\r\n }\r\n\r\n AddDocumentsNewAccount(val) { \r\n this.docstatus = val;\r\n if (this.uploadDocumentShow) {\r\n this.documentcount = 0;\r\n this.uploadDocComp.OpenFilemanual(this.docstatus);\r\n } else {\r\n this.docMgmtComp.uploadFiles();\r\n }\r\n }\r\n\r\n onOpenUploadDocument(msg) {\r\n \r\n var isnum = /^\\d+$/.test(msg);\r\n if (isnum) {\r\n this.userdocumentcount = msg;\r\n }\r\n else if (msg == \"UploadDocument\") {\r\n this.uploadDocumentShow = true;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.uploadDocComp.OpenFilemanual(objSelf.docstatus);\r\n objSelf.documentcount = 0;\r\n }, 100));\r\n\r\n } else if (msg == \"ShowPDF\") {\r\n this.ShowPDF = true;\r\n } else if (msg == \"Hide\") {\r\n this.ShowPDF = false;\r\n this.DocumentsFilterBy('Display All',)\r\n } else if (msg == 'EditDocumentTrue') {\r\n this.EditDocument = false;\r\n } else if (msg == 'EditDocumentFalse') {\r\n this.EditDocument = true;\r\n }\r\n }\r\n\r\n CloseNotesDiv(val) {\r\n this.notesshowDialog = false;\r\n this.close();\r\n }\r\n\r\n Nameval(event) {\r\n var regex = new RegExp(\"^[-a-zA-Z0-9!'_.&()-{}\\|;:?/\\\" ]+$\");\r\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n }\r\n\r\n Island_Countryval(event) {\r\n var regex = new RegExp(\"^[a-zA-Z ]+$\");\r\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n }\r\n\r\n\r\n handleClick(event) {\r\n var clickedComponent = event.target;\r\n var nodeData = clickedComponent[0].text;\r\n if (nodeData == 'Select College') {\r\n this.collegeyearDrop = false;\r\n } else if (nodeData == 'Select Med School') {\r\n this.MedSchoolyearDrop = false;\r\n } else if (nodeData == 'Select Residency') {\r\n this.ResidencyyearDrop = false;\r\n } else if (nodeData == 'Select Fellowship') {\r\n this.FellowshipyearDrop = false;\r\n }\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n $('#test').val('Account');\r\n\r\n\r\n } else {\r\n\r\n }\r\n }\r\n \r\n ResetContact() {\r\n this.contacts = new Contacts();\r\n this.contacts.contacttype = null;\r\n this.contacts.suffix = null;\r\n this.contacts.sex = null;\r\n this.contacts.title = null;\r\n this.contacts.speciality = null;\r\n this.contacts.accountStatus = 0;\r\n this.contacts.subspeciality = null;\r\n this.contacts.college = null;\r\n this.contacts.collegegrandyear = null;\r\n this.contacts.medschool = null;\r\n this.contacts.medschoolgrandyear = null;\r\n this.contacts.residency = null;\r\n this.contacts.residencygrandyear = null;\r\n this.contacts.fellowship = null;\r\n this.contacts.fellowshipgrandyear = null;\r\n this.contacts.ownerid = null; \r\n this.contacts.firstname = null;\r\n this.contacts.lastname = null;\r\n this.contacts.practiceid = 0;\r\n $('#title').removeClass('not-required')\r\n $('#test').val('');\r\n }\r\n cancelAccount() {\r\n this.EditAccountFormDiv = false;\r\n this.AccountotherDetailsDiv = true;\r\n this.AddAccountFormDiv = false;\r\n this.rightMainDivHideShow = true;\r\n\r\n if (this.account.id == 0) {\r\n this.location.back();\r\n } else {\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n }\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, paginationPageSize: 1000, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: this.tab == \"QuickView\" ?'multiple': 'multiple'\r\n\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n } \r\n ],\r\n position: 'left',\r\n };\r\n \r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent,\r\n editdeletecv: EditdeletecvComponent,\r\n editactivatecv: EditactivatecvComponent\r\n };\r\n\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 23).then((config) => {\r\n \r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n });\r\n\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n }\r\n deleteRowAg(rowdata) {\r\n this.deleteRowData = rowdata;\r\n if (this.deleteRowData.isLicenseKey == false) {\r\n if (this.currentuser.userrole == 1 && rowdata.ownerid == this.currentuser.id) {\r\n this.contactStatus = this.deleteRowData.isdeleted\r\n this.DeleteConfirmationPopupCss();\r\n } else {\r\n alert(\"Please Contact System Admin / Owner of the Account to delete\");\r\n }\r\n \r\n } else {\r\n this.LicenseExistWarningDialog = true;\r\n setTimeout(function () {\r\n $('#LicenseExistWarningDialog .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 24%;top:10%');\r\n }, 4)\r\n }\r\n \r\n }\r\n DeleteConfirmationPopupCss() {\r\n this.DeleteConfirmationPopup = true;\r\n setTimeout(function () {\r\n $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else { \r\n this.DeleteConfirmationPopupCss();\r\n \r\n let isdeletedstatus = (this.deleteRowData.isdeleted == 1) ? 0 : 1;\r\n this.customerService.Deactivatecontact(this.deleteRowData.id, isdeletedstatus).then((user) => {\r\n this.ticketslist = [];\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 400));\r\n this.DeleteConfirmationPopup = false;\r\n });\r\n }\r\n } else {\r\n this.DeleteConfirmationPopup = false;\r\n }\r\n }\r\n\r\n convertLead(id) {\r\n this.showDialog = !this.showDialog;\r\n this.router.navigateByUrl(`/application/leads/${id}`);\r\n }\r\n\r\n convertContactAg(rowdata) {\r\n this.contactid = rowdata.id;\r\n this.leadstatus = 0;\r\n this.showDialog = !this.showDialog;\r\n this.customerService.GetContactById(rowdata.id).then(result => {\r\n this.contacts = result;\r\n this.leadstatus = this.contacts.converttolead;\r\n\r\n });\r\n $(setTimeout(function () {\r\n $('.dialog ').attr('style', 'height:180px;width:35%;padding-top: 3%;background: rgb(186,219,152) !important;border:4px solid rgb(49,189,240);border-radius:5%;overflow:visible;')\r\n }, 4));\r\n }\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.columnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n this.columnDefs.push({\r\n field: 'notes', headerName: 'Notes', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.style.textAlign = 'center';\r\n eDiv.style.alignContent = 'center';\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openNotesDialogAg(params.data.id);\r\n });\r\n return eDiv;\r\n }, hide: false, width: 25 });\r\n } else if (fieldHeaderVisibleArray[0] == \"isLicenseKey\") {\r\n this.columnDefs.push({\r\n field: 'isLicenseKey', headerName: 'LK', hide: false, width: parseInt(fieldHeaderVisibleArray[3]), cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isLicenseKey == true ) {\r\n eDiv.innerHTML = '';\r\n }\r\n else if (params.data.isdeleted == false) {\r\n eDiv.innerHTML = '';\r\n }\r\n return eDiv;\r\n }\r\n });\r\n \r\n \r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"actions\") {\r\n this.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: isDeActive ? 'editactivatecv' : 'editdeletecv', hide: false, pinned: 'right', width: 120 });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"Status\") {\r\n this.columnDefs.push({\r\n field: 'Status', headerName: 'Contact Status', hide: false, suppressSorting: true, width: parseInt(fieldHeaderVisibleArray[3]), cellRenderer(params) {\r\n if (params.data.Status === 309) {\r\n return \"Active\";\r\n } else {\r\n return \"InActive\";\r\n }\r\n } });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"image\") {\r\n this.columnDefs.push({\r\n field: 'image', headerName: 'Image', hide: false, width: parseInt(fieldHeaderVisibleArray[3]), cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n \r\n if (params.data.photo != null) {\r\n eDiv.innerHTML = '';\r\n\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.openfile(params.data);\r\n });\r\n } else {\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.openfile(params.data);\r\n });\r\n }\r\n\r\n\r\n return eDiv;\r\n }\r\n });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 32,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'lastname', headerName: 'Last Name', hide: false, width: 120 },\r\n { field: 'firstname', headerName: 'First Name', hide: false, width: 120 },\r\n { field: 'titleName', headerName: 'Title', hide: false, width: 80 },\r\n \r\n {\r\n field: 'image', headerName: 'Image', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.photo != null) {\r\n eDiv.innerHTML = '';\r\n\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.openfile(params.data);\r\n });\r\n } else {\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.openfile(params.data);\r\n });\r\n }\r\n return eDiv;\r\n }\r\n },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n {\r\n field: 'Status', headerName: 'Contact Status', hide: false, cellRenderer(params) {\r\n if (params.data.Status === 309) {\r\n return \"Active\";\r\n } else {\r\n return \"InActive\";\r\n }\r\n }\r\n },{\r\n field: 'isLicenseKey', headerName: 'LK', hide: false, width: 100 , cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isLicenseKey == true) {\r\n eDiv.innerHTML = '';\r\n }\r\n else if (params.data.isdeleted == false) {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n return eDiv;\r\n }\r\n },\r\n { field: 'DOB', headerName: 'DOB', hide: false, width: 80 },\r\n {\r\n field: 'notes', headerName: 'Notes', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.style.textAlign = 'center';\r\n eDiv.style.alignContent = 'center';\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openNotesDialogAg(params.data.id);\r\n });\r\n return eDiv;\r\n }, hide: false, width: 25\r\n },\r\n { field: 'zip', headerName: 'ZIP', hide: false, width: 80 },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'actions', headerName: 'Actions', cellRenderer: isDeActive ? 'editactivatecv' : 'editdeletecv', hide: false, pinned: 'right', width: 120 },\r\n { field: 'contacttypeName', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffixName', headerName: 'Suffix', hide: true },\r\n { field: 'sexName', headerName: 'Sex', hide: true },\r\n { field: 'subspecialityName', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'collegeName', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschoolName', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residencyName', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowshipName', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true },\r\n \r\n ];\r\n }\r\n }\r\n openfile(contact) { \r\n this.ViewPhotoDialog = true;\r\n this.ViewPhotoDialogCss();\r\n this.contacts = contact;\r\n \r\n }\r\n ViewPhotoDialogCss() {\r\n setTimeout(function () {\r\n $('#ViewPhotoDialog .dialog').attr('style', 'width: 50%;padding-bottom: 0px;min-height: 25%;overflow: auto;height: 70%;padding: 0;left: 23%;top: 20%;');\r\n }, 4);\r\n }\r\n\r\n\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n \r\n }, 400));\r\n }\r\n autoSizeAll() {\r\n if (this.gridOptions && this.gridOptions.columnApi) { \r\n this.gridOptions.columnApi.autoSizeAllColumns();\r\n }\r\n }\r\n editRowAg(rowdata) {\r\n \r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n \r\n this.contactId = rowdata.id;\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n \r\n }\r\n }\r\n\r\n LoadContactEdit(contactId) {\r\n \r\n this.AccountotherDetailsDiv = false;\r\n this.AddContacttableDiv = true;\r\n this.type = \"Contact\";\r\n $('#test').val('Contact');\r\n this.contacts = new Contacts();\r\n this.customerService.Getcontacttypes(2).then((accounttype) => {\r\n this.contacttypelist = [];\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.contacttypelist = accounttype;\r\n });\r\n\r\n this.ResetContact();\r\n $('#ticketHeader').addClass('col-xs-12 otherCss');\r\n $('#emailHeader').addClass('col-xs-12 otherCss');\r\n $('#notesHeader').addClass('col-xs-12 otherCss');\r\n $('#activityHeader').addClass('col-xs-12 otherCss');\r\n $('#documentHeader').addClass('col-xs-12 otherCss');\r\n $('#projectHeader').addClass('col-xs-12 otherCss');\r\n\r\n this.customerService.GetContactById(contactId).then(result => { \r\n this.getyears(); \r\n this.loadcontacttitles(result.contacttype).then(() => {\r\n this.contacts = result;\r\n this.adddata.loadaddress(this.contacts);\r\n this.changeCityStateZip(this.contacts.country, this.contacts.state);\r\n this.titleSelected();\r\n });\r\n });\r\n this.AccountstatisticsBoxDuplicate = false;\r\n\r\n $('#AccountViewDiv').removeClass('col-xs-6 col-sm-6 col-md-6');\r\n $('#AccountViewDiv').addClass('col-xs-12 col-sm-12 col-md-12');\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n if (this.tab == 'QuickView') {\r\n this.showSccountInfo = false;\r\n this.ShowContactView = true;\r\n this.contactid = rowEvent.data.id;\r\n } else {\r\n this.router.navigateByUrl(`/application/contactsdashboard/${rowEvent.data.id}/${this.practiceid}`);\r\n }\r\n }\r\n\r\n onAccountMessageReceived(msg) {\r\n this.showSccountInfo = true; \r\n this.ShowContactView = false;\r\n this.contactid = this.account.id;\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n }\r\n Getall6boxesinfo(accid) {\r\n this.customerService.GetAllEmailsList(accid, 'Customer').then((emails) => {\r\n this.emailslist = emails;\r\n });\r\n this.leadservice.GetAllTaskHistoryByContact(accid, 'Customer', this.currentuser.timezone).then((activities) => {\r\n this.activitieslist = activities; \r\n });\r\n this.customerService.GetAllDocumentList(accid, 'Account', this.currentYear, 'Account').then((document) => {\r\n this.Originaluserdocumentlist = document;\r\n this.userdocumentlist = document.filter(x => x.DocSavedFrom !== \"Proposal\");\r\n this.POdocumentlist = document.filter(x => x.DocSavedFrom === \"Proposal\");\r\n \r\n });\r\n this.customerService.GetAllProjectsByAccountId(accid).then(res => {\r\n this.ProjectsList = res;\r\n });\r\n\r\n \r\n }\r\n AccountData(Accountid) {\r\n this.loadAccountInformation(Accountid); \r\n this.customerService.GetDocumentsCount(Accountid.toString().replace('show', ''), 'Account').then(result => {\r\n this.userdocumentcount = result;\r\n\r\n });\r\n\r\n\r\n }\r\n loadAccountInformation(Accountid) {\r\n if (this.tab == 'QuickView') {\r\n $('#Accountinformation').removeClass(\"container\")\r\n $('#Accountinformation').removeAttr('style')\r\n $('#Accountinformation').attr('style', 'padding-left:0.5%;height:100%')\r\n }\r\n \r\n $('#title').removeClass('not-required');\r\n if (Accountid != undefined && Accountid != 0 && Accountid.toString().indexOf('edit') > -1) {\r\n this.contactid = parseInt(Accountid.toString().replace('edit', ''));\r\n this.GetAllProviderAndContactInfo(Accountid.toString().replace('edit', ''));\r\n this.customerService.GetByAccountId(Accountid.toString().replace('edit', '')).then(result => {\r\n this.account = result;\r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n\r\n });\r\n \r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.ProvidenceIsland, this.account.owner);\r\n this.AccountsharingAg('Edit');\r\n });\r\n }\r\n else if (Accountid != undefined && Accountid != 0 && Accountid.toString().indexOf('show') > -1) {\r\n this.contactid = parseInt(Accountid.toString().replace('show', ''));\r\n this.GetAllProviderAndContactInfo(Accountid.toString().replace('show', ''));\r\n\r\n this.AccountotherDetailsDiv = true;\r\n this.EditAccountFormDiv = false;\r\n\r\n this.rightMainDivHideShow = true;\r\n\r\n this.customerService.GetByAccountId(Accountid.toString().replace('show', '')).then(result => {\r\n this.account = result;\r\n \r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.ProvidenceIsland, this.account.owner);\r\n });\r\n\r\n }\r\n else if (Accountid != 0) {\r\n this.contactid = Accountid; \r\n }\r\n this.customerService.GetAllStatistics().then((statistics) => {\r\n this.Accountstatisticlist = [];\r\n statistics.forEach(statistics => {\r\n this.Accountstatisticlist.push(statistics)\r\n });\r\n\r\n });\r\n this.Getall6boxesinfo(this.contactid);\r\n this.accountform = this.getAccountForm();\r\n \r\n var url = window.location.href;\r\n if (url.indexOf('account-contact') > -1 && url.indexOf('edit') > -1) {\r\n }\r\n else if (url.indexOf('account-contact') > -1) {\r\n }\r\n else if (url.indexOf('addAccount') > -1) {\r\n this.leftMainDivHideShow = false;\r\n this.rightMainDivHideShow = false;\r\n this.applicationComponent.pageViewed = \"AddAccount\";\r\n }\r\n \r\n\r\n this.customerService.GetSpecialityList(\"ContactOrderBy\", this.currentuser.id).then((Acids) => {\r\n this.ContactOrder = Acids;\r\n });\r\n }\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n this.accountid = (params['accountid'] == undefined) ? this.contactId : params['accountid'];\r\n this.account.id = (params['accountid'] == undefined) ? this.contactId : params['accountid'];\r\n this.practiceid = params['practiceid']; \r\n this.AccountData(this.account.id);\r\n });\r\n this.applicationComponent.totalglobalsearchcount = 0;\r\n this.AccountstatisticsBoxDuplicate = false;\r\n this.accountstatisticBox = \"Close\";\r\n this.leftGridDetailsDiv = true;\r\n this.AddContacttableDiv = false;\r\n this.EditAccountFormDiv = false;\r\n $('#accotIdNotes').val(this.accountid);\r\n this.account.accnumber = '0';\r\n var loggedInUserId = this.currentuser.id;\r\n if (this.currentuser.customertypeaccess == 1) {\r\n $('#Customertype').css('display', 'block');\r\n } else {\r\n $('#Customertype').css('display', 'none');\r\n }\r\n this.customerService.GetPrivilagesByuser(loggedInUserId).then(result => {\r\n this.userprevilages = result;\r\n });\r\n\r\n $('#1').attr('style', 'display:block');\r\n $('#_accountsub').attr('style', 'display:block');\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('account-contact') > -1) {\r\n\r\n this.gridOptions = {\r\n pagination: true, paginationPageSize: 1000, rowSelection: 'multiple'\r\n };\r\n this.divHeight1 = (screen.height * 0.4722);\r\n this.divHeight3 = (screen.height * 0.46222);\r\n this.divHeight2 = (screen.height * 0.1540);\r\n this.fixHeight = 115;\r\n \r\n\r\n }\r\n else if (url.indexOf('quick-view') > -1) {\r\n this.divHeight1 = (screen.height * 0.46222);\r\n this.divHeight3 = (screen.height * 0.4355);\r\n this.divHeight2 = (screen.height * 0.145666);\r\n\r\n }\r\n \r\n\r\n $('#tableDiv').css('display', 'none');\r\n if (this.applicationComponent.selectedsubbutton == 'addaccount') {\r\n }\r\n this.searchControl = new FormControl();\r\n }\r\n invokeEvent(place: Object) {\r\n }\r\n\r\n\r\n public onAccStatusClick() {\r\n if (this.currentuser.customerStatus == 0) {\r\n alert(\"You don't have access to Change Account Status. If you want to Access, please change it from User Configuration \")\r\n\r\n }\r\n }\r\n\r\n\r\n getAccountForm(): FormGroup {\r\n\r\n return new FormGroup({\r\n\r\n 'accountname': new FormControl(this.account.accountname, [\r\n Validators.required,\r\n forbiddenNameValidator(/bob/i) // <-- Here's how you pass in the custom validator.\r\n ]),\r\n\r\n 'country': new FormControl(this.account.country, Validators.required),\r\n 'address1': new FormControl(this.account.address1, Validators.required),\r\n 'accounttype': new FormControl(this.account.accounttype, Validators.required),\r\n 'ownership': new FormControl(this.account.ownership, Validators.required),\r\n 'state': new FormControl(this.account.state, Validators.required),\r\n 'otherstate': new FormControl(this.account.state, Validators.required),\r\n 'city': new FormControl(this.account.city, Validators.required),\r\n 'zip': new FormControl(this.account.zip, Validators.required),\r\n 'ownerid': new FormControl(this.account.ownerid, Validators.required),\r\n 'customertypeid': new FormControl(this.account.customertypeid, Validators.nullValidator),\r\n 'Practice': new FormControl(this.account.practiceid, Validators.nullValidator),\r\n 'address2': new FormControl(this.account.address2, Validators.nullValidator),\r\n 'phone': new FormControl(this.account.phone, Validators.nullValidator),\r\n 'fax': new FormControl(this.account.fax, Validators.nullValidator),\r\n 'alterphone1': new FormControl(this.account.alterphone1, Validators.nullValidator),\r\n 'alterphone2': new FormControl(this.account.alterphone2, Validators.nullValidator),\r\n 'website': new FormControl(this.account.website, Validators.nullValidator),\r\n 'speciality': new FormControl(this.account.speciality, Validators.nullValidator),\r\n 'accountStatus': new FormControl(this.account.accountStatus, Validators.nullValidator),\r\n });\r\n\r\n\r\n }\r\n\r\n \r\n get accountname() { return this.accountform.get('accountname'); }\r\n\r\n onChange(stateid) {\r\n this.customerService.GetAllCitiesList(stateid).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.CitiesList = accounttype;\r\n });\r\n }\r\n\r\n \r\n cancelContact() {\r\n \r\n this.AccountotherDetailsDiv = true;\r\n this.AddContacttableDiv = false;\r\n this.collegeyearDrop = true;\r\n this.MedSchoolyearDrop = true;\r\n this.ResidencyyearDrop = true;\r\n this.FellowshipyearDrop = true;\r\n if (this.tab != \"QuickView\") {\r\n let numb = this.accountid.toString().match(/\\d/g);\r\n this.accid = parseInt(numb.join(\"\"));\r\n if (this.account.id == 0) {\r\n this.customerService.GetByAccountId(this.accid).then((account) => {\r\n this.account = account;\r\n this.customerService.GetAccountHistoryById(this.accid, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n\r\n });\r\n });\r\n\r\n if (this.account.website != null && this.account.website.indexOf('www.') >= 0) {\r\n this.account.website = ((this.account.website).split('www.')[1])\r\n }\r\n\r\n } else {\r\n this.customerService.GetByAccountId(this.account.id).then((account) => {\r\n this.account = account;\r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n\r\n });\r\n });\r\n\r\n if (this.account.website != null && this.account.website.indexOf('www.') >= 0) {\r\n this.account.website = ((this.account.website).split('www.')[1])\r\n }\r\n }\r\n\r\n }\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n\r\n\r\n }\r\n CloseHistory() {\r\n this.showAccountHistoryHx = false;\r\n this.AccountotherDetailsDiv = true;\r\n }\r\n LoadAcchistory(accountId) {\r\n this.accdetailcmp.loadAccountId(accountId);\r\n this.customerService.GetAccountHistoryById(accountId, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result; \r\n if (this.accountHistory.HistoryNotes != \"\") {\r\n var currentUserids = []; var dateViewed = [];\r\n var Accountviwed = this.accountHistory.HistoryViewed != null ? this.accountHistory.HistoryViewed.split('|') : [];\r\n \r\n Accountviwed.forEach(eledata => {\r\n if (eledata != \"\") {\r\n currentUserids.push(eledata != null ? eledata.split(':')[0] : null);\r\n dateViewed.push(eledata != null ? eledata.split(':')[1] : null);\r\n }\r\n });\r\n \r\n var currentdate = this.datePipe.transform(this.today, \"yyyy-MM-dd\");\r\n \r\n if (currentUserids.length > 0 && dateViewed.length > 0 && (currentUserids.includes(this.currentuser.id.toString()) && dateViewed.includes(currentdate))) { \r\n this.showAccountHistoryHx = false;\r\n this.AccountotherDetailsDiv = true;\r\n } else {\r\n this.showAccountHistoryHx = true;\r\n this.AccountotherDetailsDiv = false;\r\n }\r\n this.showAccountHistoryHxCss();\r\n }\r\n\r\n this.viewaccount.AccountHistoryNote = this.accountHistory.HistoryNotes;\r\n \r\n \r\n } else {\r\n \r\n this.viewaccount.AccountHistoryNote = null;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.ProvidenceIsland, this.account.owner);\r\n \r\n \r\n }\r\n\r\n });\r\n }\r\n showAccountHistoryHxCss() {\r\n setTimeout(function () {\r\n $('#ShowAccountHx .dialog').attr('style', 'width: 25%;padding-bottom:0px;min-height:63%;overflow: auto;height:80%;padding:0;top:10%;border:1px solid black;left:72%; background-color: lightyellow;');\r\n }, 4)\r\n }\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata,Providence,owner) {\r\n \r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.viewaccount.ProvidenceIsland = Providence;\r\n this.viewaccount.ownerName = owner;\r\n this.LoadAcchistory(accId);\r\n \r\n }\r\n cancelDialog() { this.DuplicateAccountDialog = false; }\r\n\r\n Continue() { this.SaveAccountInfo(this.selectedAddressOption); }\r\n SaveCustomeAddress() {\r\n this.account.isaddressadded = true;\r\n this.contacts.isaddressadded = true;\r\n this.showmapWarning = false;\r\n }\r\n\r\n showEditAddressDiv() {\r\n if (this.account.isaddressadded && this.account.id != 0) {\r\n this.customerService.GetAccountContactList(this.account.id).then((contacts) => {\r\n if (contacts.length != 0) {\r\n this.EditAddressDiv = true;\r\n this.showContinueButton = false;\r\n let so = this;\r\n setTimeout(function () {\r\n so.checkBoxChecked('UpdateAll');\r\n }, 400);\r\n } else {\r\n this.SaveAccount('DoNotUpdate');\r\n }\r\n });\r\n\r\n } else {\r\n this.SaveAccount('DoNotUpdate');\r\n }\r\n }\r\n cancelEditAddressDiv() {\r\n this.EditAddressDiv = false;\r\n }\r\n\r\n SaveAccount(val) {\r\n if (this.account.isaddressadded) {\r\n if (this.account.id == 0) {\r\n this.accountsService.checkduplicateAccountName(this.account.accountname).then(result => {\r\n \r\n if (result == \"No\") {\r\n this.accountsService.checkduplicates(this.account).then(resultdata => {\r\n \r\n if (resultdata == \"No\") {\r\n this.SaveAccountInfo(val);\r\n }\r\n else {\r\n this.ismatchduplicate = result;\r\n if (resultdata == 'WebsiteDuplicate') { this.websiteduplicate = true; }\r\n this.SaveAccDialog = true;\r\n }\r\n });\r\n }\r\n else {\r\n this.DuplicateAccountDialog = true\r\n this.deleteduserName = result;\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width:45% !important;border: 4px solid rgb(49,189,240);border-radius:5%; height:70%;top:16%;max-width:none;padding:0;');\r\n }, 200));\r\n\r\n }\r\n });\r\n\r\n\r\n } else {\r\n\r\n this.SaveAccountInfo(val);\r\n }\r\n\r\n this.EditAccountFormDiv = false;\r\n this.AccountotherDetailsDiv = true;\r\n }\r\n else {\r\n this.showmapWarning = true;\r\n this.showmapWarningDialogCss();\r\n }\r\n }\r\n showmapWarningDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width:30%;padding-bottom: 0px;border:4px solid rgb(49,189,240);border-radius:5%;min-height: 40%;overflow: visible;height: 42%;top: 32%;left: 56%;');\r\n }, 4);\r\n }\r\n openAcchistoryNotes() {\r\n this.showAccountHistoryHx = true;\r\n }\r\n\r\n closeduplicatediv() {\r\n this.SaveAccDialog = false;\r\n }\r\n SaveAccountInfo(val) {\r\n this.account.userid = this.currentuser.id;\r\n this.accountsService.addaccount(this.account).then(result => {\r\n this.account = result;\r\n this.SaveAccDialog = false;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.ProvidenceIsland, this.account.owner);\r\n this.addresses = this.prepareSaveHero();\r\n this.accountsService.addaccountLocations(this.addresses).then(result => {\r\n });\r\n this.addressupdate.address1 = this.account.address1;\r\n this.addressupdate.address2 = this.account.address1;\r\n this.addressupdate.city = this.account.city;\r\n this.addressupdate.state = this.account.state;\r\n this.addressupdate.zip = this.account.zip;\r\n switch (val) {\r\n case 'UpdateAll': {\r\n this.customerService.GetAccountContactList(this.account.id).then((contacts) => {\r\n let contactids = [];\r\n contacts.forEach(contacts => {\r\n contactids.push(contacts.id);\r\n });\r\n this.addressupdate.ContactIds = contactids.join(',');\r\n this.updatecontactaddress(this.addressupdate);\r\n });\r\n break;\r\n }\r\n case 'SelectContacts': {\r\n this.addressupdate.ContactIds = this.selectedcontact.join(',');\r\n this.updatecontactaddress(this.addressupdate);\r\n break;\r\n }\r\n case 'DoNotUpdate': {\r\n break;\r\n }\r\n }\r\n this.AccountData(this.account.id);\r\n this.toastr.success(\"Account saved successfully.\", \"Account Saved\", { timeOut: 600 });\r\n this.cancelContact();\r\n this.EditAddressDiv = false;\r\n $('#test').val('');\r\n if (this.account.zip != undefined || this.account.zip != null) {\r\n if (this.account.zip.toString().length >= 6) {\r\n this.account.zip = this.account.zip.toString().slice(0, 5) + \"-\" + this.account.zip.toString().slice(5);\r\n } else if (this.account.zip.toString().length === 5) {\r\n this.account.zip = this.account.zip.toString();\r\n } else {\r\n this.account.zip = this.account.zip;\r\n }\r\n }\r\n this.GetCustomerNotes(this.account.id.toString(), 'Customer');\r\n this.router.navigateByUrl(`/application/account-contact/0/show` + this.account.id);\r\n });\r\n\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n $('#statisticHeader').attr('style', 'text-align: left;');\r\n this.AddAccountFormDiv = false;\r\n this.rightMainDivHideShow = true;\r\n this.addresses = null;\r\n }\r\n\r\n updatecontactaddress(addressupdate) {\r\n this.accountsService.updatecontactaddress(addressupdate).then(result => {\r\n this.addressupdate = new AddressUpdate();\r\n \r\n });\r\n }\r\n\r\n multipleLocation(id) {\r\n \r\n if (id == 1) {\r\n this.secretLairs.push(this.fb.group(new Accountlocations()));\r\n $('#multipleLocation').val('0');\r\n } else {\r\n\r\n }\r\n\r\n }\r\n\r\n addContact() {\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n \r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Contacts\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.clear();\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n\r\n }\r\n }\r\n \r\n\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n this.contactId = 0;\r\n\r\n\r\n }\r\n\r\n }\r\n \r\n GetAllProviderAndContactInfo(accountid) {\r\n \r\n this.initializeAgGrid();\r\n \r\n this.customerService.GetAllContactproviderByAccount(accountid, this.currentuser.id).then((contacts) => {\r\n contacts.forEach(contacts => {\r\n this.getTicketsData(contacts.id);\r\n this.getCampaignData(this.currentuser.id);\r\n this.getOpportunityData(contacts.id);\r\n this.userService.GetAllSoftwareLicense(this.currentuser.id, contacts.id.toString()).then(result => {\r\n if (result && result.length > 0) {\r\n contacts.isLicenseKey = true;\r\n } else {\r\n contacts.isLicenseKey = false;\r\n }\r\n });\r\n \r\n });\r\n this.allContactsproviders = contacts;\r\n this.AccountcontactIds = this.allContactsproviders.map(s => s.id).join(\",\");\r\n \r\n this.allContacts = contacts;\r\n var rew = Array.from(new Set(this.allContactsproviders.map(s => s.contacttype)))\r\n .map(contacttype => {\r\n return {\r\n Name: ((this.allContactsproviders.filter(x => x.contacttype == contacttype)[0].contacttypeName != null) ? this.allContactsproviders.filter(x => x.contacttype == contacttype)[0].contacttypeName: '' ) + \" (\" + this.allContactsproviders.filter(x => x.contacttype == contacttype).length + \")\",\r\n Value: contacttype\r\n }\r\n });\r\n this.SelectedContactType = \"All\";\r\n this.SortedStatus = [\r\n { id: 0, Value: 'Active & Inactive' + \" (\" + this.allContactsproviders.length + \")\" },\r\n { id: 309, Value: 'Active' + \" (\" + this.allContactsproviders.filter(x => x.Status == 309).length + \")\" },\r\n { id: 310, Value: 'Inactive' + \" (\" + this.allContactsproviders.filter(x => x.Status == 310).length + \")\" }\r\n \r\n ];\r\n this.SelectedStatus = 309;\r\n\r\n this.SortedContactType = rew;\r\n this.getContactorder();\r\n \r\n\r\n this.itemCount = contacts.length;\r\n if (this.SelectedContactId != 0) {\r\n \r\n }\r\n });\r\n if (this.account.id == 0) {\r\n this.GetCustomerNotes(accountid, 'Customer')\r\n } else {\r\n this.GetCustomerNotes(accountid, 'Customer')\r\n }\r\n\r\n }\r\n\r\n getContactorder() {\r\n this.customerService.GetSaveContactOrder(this.currentuser.id).then((result) => {\r\n if (result) {\r\n this.ContactsOrder = result;\r\n this.ContactsSortOrderBy = result.OrderByValue;\r\n } else {\r\n this.ContactsOrder.OrderByValue = \"LA-Z\";\r\n }\r\n this.ContactsSortOrder(this.ContactsOrder.OrderByValue);\r\n \r\n });\r\n }\r\n\r\n getTicketsData(Conid) {\r\n this.ticketslist = [];\r\n this.customerService.GetTicketsListByContact(Conid, 'All').then((tickets) => {\r\n tickets.forEach(ticket => {\r\n ticket.createdDate = this.datePipe.transform(ticket.createdDate, \"MM/dd/yyyy\");\r\n this.ticketslist.push(ticket)\r\n });\r\n });\r\n }\r\n getCampaignData(userid) {\r\n \r\n this.opprtunityservice.GetAllCampaigns(userid).then((Campaigns) => { \r\n this.Campignslist = Campaigns;\r\n console.log(\"this.Campignslist\", this.Campignslist);\r\n // this.Campignslist = this.Campignslist.filter(x => x.ContactsLinked != null && this.AccountcontactIds.includes(x.ContactsLinked));\r\n \r\n });\r\n }\r\n getOpportunityData(Conid) {\r\n\r\n this.Opportunitylist = [];\r\n this.opprtunityservice.GetAllOpportunitiesListByAccountorContact(Conid, 'Opt').then((custm) => {\r\n custm.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n this.Opportunitylist.push(customer);\r\n });\r\n\r\n });\r\n \r\n }\r\n\r\n saveaccountContact() {\r\n \r\n if (this.contacts.isaddressadded) {\r\n this.adddata.sendBackAddress();\r\n var titleContain = 1;\r\n if ($(\"#title\").hasClass(\"required\") || $('#title').hasClass('not-required')) {\r\n if (this.contacts.title == null) {\r\n titleContain = 0;\r\n\r\n }\r\n } else {\r\n titleContain = 1;\r\n }\r\n if (titleContain == 1) {\r\n this.adddata.sendBackAddress();\r\n this.contacts.accountid = this.account.id;\r\n this.contacts.userid = this.currentuser.id;\r\n this.contacts.isshared = this.account.isshared;\r\n\r\n this.accountsService.addcontact(this.contacts).then(result => {\r\n this.contacts.id = result.id;\r\n $('#test').val('');\r\n this.contacts.userid = this.currentuser.id;\r\n this.toastr.success(\"Contact saved successfully.\", \"Contact Saved\", { timeOut: 600 });\r\n\r\n this.AccountotherDetailsDiv = true;\r\n this.AddContacttableDiv = false;\r\n\r\n this.length = this.data.length;\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n this.customerService.loadaccountdata(this.contacts.accountid).then(result => {\r\n this.account = result;\r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n\r\n });\r\n if (this.account.city != null) {\r\n\r\n var city = this.account.city;\r\n var cityArray = city.split(' ');\r\n var newcity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newcity == '') {\r\n newcity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n } else {\r\n newcity = newcity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n this.account.city = newcity;\r\n }\r\n\r\n var state = this.account.state;\r\n var properstate = state.charAt(0).toUpperCase() + state.substr(1).toLowerCase();\r\n this.account.state = properstate;\r\n\r\n });\r\n this.FellowshipyearDrop = true;\r\n this.MedSchoolyearDrop = true;\r\n this.ResidencyyearDrop = true;\r\n this.collegeyearDrop = true;\r\n });\r\n\r\n\r\n }\r\n } else {\r\n this.showmapWarning = true;\r\n this.showmapWarningDialogCss1();\r\n }\r\n }\r\n showmapWarningDialogCss1() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width:30%;padding-bottom: 0px;border:4px solid rgb(49,189,240);border-radius:5%;min-height: 40%;overflow: visible;height: 42%;top: 50%;left: 56%;');\r\n }, 4);\r\n }\r\n rowColors(car) {\r\n if (car.id == this.contacts.id) return 'rgb(216, 208, 33)';\r\n }\r\n\r\n editAccount(val) {\r\n $('#emailIds').val(val);\r\n\r\n this.customerService.GetDocumentsCount(val, 'Account').then(result => {\r\n this.userdocumentcount = result;\r\n\r\n });\r\n\r\n if (val != 0) {\r\n $('#Accountlabel').html('Edit Account');\r\n this.AddAccountFormDiv = true;\r\n //this.applicationComponent.pageViewed = \"AddAccount\";\r\n this.rightMainDivHideShow = false;\r\n // rightMainDiv\r\n this.AccountotherDetailsDiv = false;\r\n this.locId = 0;\r\n this.account = new Accounts();\r\n this.customerService.GetByAccountId(val).then(result => {\r\n this.account = result;\r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n\r\n });\r\n this.adddata.loadaddress(this.account);\r\n if (this.account.customertypeid == 0) { this.accountstatisticBox = 'Close'; }\r\n if (this.account != null) {\r\n this.customerService.getAccountPermission(this.account.id, this.currentuser.id).then(perresult => {\r\n this.account.isAccountPermission = perresult;\r\n });\r\n }\r\n $('.coustomButton').removeClass('mainactiveButton');\r\n if (this.account.customertypeid == 0) {\r\n $(\"#contact\").addClass(\"mainactiveButton\");\r\n } else {\r\n $(\"#customers\").addClass(\"mainactiveButton\");\r\n }\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.ProvidenceIsland, this.account.owner);\r\n this.Getall6boxesinfo(this.account.id);\r\n //this.multipleLocation(this.account.multiplelocations);\r\n this.customerService.GetLocationByAccountId(this.account.id).then(result => {\r\n this.addresses = result;\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n });\r\n\r\n this.seletedcountry = this.account.country;\r\n if (result.country == '1') {\r\n this.countryState(1, this.account.state, null);\r\n }\r\n else {\r\n this.countryState(2, this.account.state, null);\r\n\r\n }\r\n if (this.account.customertypeid == 0 || this.account.customertypeid == undefined || this.account.customertypeid == null) {\r\n\r\n if (this.account.accnumber == '' || this.account.accnumber == '0' || this.account.accnumber == null || this.account.accnumber == undefined) {\r\n $('#accnumber').val('0');\r\n this.account.accnumber = '0';\r\n }\r\n }\r\n //document.getElementById('accountid').style.display = 'block';\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n else {\r\n\r\n }\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('account-contact/0/edit') > -1) {\r\n\r\n this.tableDivHGT = 300;\r\n }\r\n if (url.indexOf('account-contact') > -1 || url.indexOf('addAccount') > -1) {\r\n\r\n this.tableDivHGT = 300;\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n AccountStisticboxclose() {\r\n this.accountstatisticBox = 'Close';\r\n this.AccountotherDetailsDiv = true;\r\n }\r\n AccountStisticboxOpen() {\r\n this.accountstatisticBox = 'Open';\r\n this.AccountotherDetailsDiv = false;\r\n\r\n }\r\n close() {\r\n if (this.tab === 'QuickView') {\r\n this.SixBoxExpand = false;\r\n this.sendMsgEvent.emit(\"Collapse\");\r\n }\r\n $('#setDocumentDetails').val(0); \r\n if (this.account.accnumber == '0') {\r\n this.GetCustomerNotes(this.account.id.toString(), 'Customer');\r\n }\r\n else {\r\n this.GetCustomerNotes(this.account.id.toString(), 'Customer');\r\n }\r\n this.Getall6boxesinfo(this.account.id.toString());\r\n this.accountotherDetailsTable = true;\r\n this.accountnotesinfo = false;\r\n this.accountemailinfo = false;\r\n this.showticketsinfo = false;\r\n this.documentsinfo = false;\r\n this.Proposalinfo = false;\r\n this.Projectsinfo = false;\r\n this.AccountStisticboxOpen();\r\n this.isDocumentsInfoDivVisible = false;\r\n this.AccountStisticboxclose();\r\n \r\n }\r\n expandaccountnotes(val) {\r\n this.historyName = val;\r\n this.typ = 'Account';\r\n this.conid = this.account.id;\r\n\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n if (this.tab === 'QuickView') {\r\n this.isModal = true; \r\n this.quickViewHistoryDialog = true;\r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog');\r\n this.quickViewnotesDialog = true;\r\n this.quickViewActivitiesDialog = false;\r\n this.QuickViewDocumentsinfo = false;\r\n this.QuickViewProposalsinfo = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewEmailinfo = false;\r\n this.QuickViewOpportunityInfo = false;\r\n this.QuickViewProjectInfo = false;\r\n this.isModal = false;\r\n } else {\r\n this.isModal = false;\r\n this.accountnotesinfo = true;\r\n this.AccountStisticboxclose();\r\n this.accountotherDetailsTable = false;\r\n this.accountactivitiesinfo = false;\r\n this.accountemailinfo = false;\r\n this.showticketsinfo = false;\r\n this.documentsinfo = false;\r\n this.Projectsinfo = false;\r\n $('#accotIdNotes').val(this.account.id);\r\n $('#accotTypeNotes').val('Customer');\r\n }\r\n }\r\n }\r\n\r\n expandaccountemails(val) {\r\n this.historyName = val;\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n if (this.tab === 'QuickView') {\r\n this.quickViewHistoryDialog = true;\r\n \r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog');\r\n this.QuickViewEmailinfo = true;\r\n this.quickViewnotesDialog = false;\r\n this.quickViewActivitiesDialog = false;\r\n this.QuickViewDocumentsinfo = false;\r\n this.QuickViewProposalsinfo = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewOpportunityInfo = false;\r\n this.QuickViewProjectInfo = false;\r\n } else {\r\n this.isModal = false;\r\n this.accountotherDetailsTable = false;\r\n this.accountemailinfo = true;\r\n this.documentsinfo = false;\r\n this.Projectsinfo = false;\r\n this.accountactivitiesinfo = false;\r\n this.accountnotesinfo = false;\r\n this.showticketsinfo = false;\r\n }\r\n \r\n }\r\n }\r\n\r\n expandaccountactivities(name) {\r\n this.historyName = name;\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n if (this.tab === 'QuickView') {\r\n this.quickViewHistoryDialog = true; \r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog');\r\n this.quickViewActivitiesDialog = true;\r\n this.quickViewnotesDialog = false;\r\n this.QuickViewDocumentsinfo = false;\r\n this.QuickViewProposalsinfo = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewEmailinfo = false;\r\n this.QuickViewOpportunityInfo = false;\r\n this.QuickViewProjectInfo = false;\r\n } else {\r\n this.isModal = false;\r\n this.accountotherDetailsTable = false;\r\n this.accountnotesinfo = false;\r\n this.accountemailinfo = false;\r\n this.showticketsinfo = false;\r\n this.documentsinfo = false;\r\n this.Projectsinfo = false;\r\n this.accountactivitiesinfo = true;\r\n }\r\n \r\n this.historyComp.getAllActivities(this.contactid, 'Customer');\r\n }\r\n }\r\n expandcampaigns(val) { \r\n this.historyName = val;\r\n this.quickViewHistoryDialog = true;\r\n //if (this.showviewcampaign) {\r\n // $('#quickViewHistoryDialog .dialog').attr('style', 'width:100%;padding:0;min-height:63%;overflow:auto;height:92%;top:8%;margin-right:0%;');\r\n //} else {\r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog');\r\n // }\r\n this.quickViewCampaignsDialog = true;\r\n this.quickViewnotesDialog = false;\r\n this.QuickViewDocumentsinfo = false;\r\n this.QuickViewProposalsinfo = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewEmailinfo = false;\r\n this.QuickViewOpportunityInfo = false;\r\n this.QuickViewProjectInfo = false;\r\n this.quickViewActivitiesDialog = false;\r\n this.customerService.GetSpecialityList(\"CampaignStatus\", this.currentuser.id).then((Rows) => {\r\n this.StatusDropdownList = Rows;\r\n });\r\n }\r\n expandsms(val) {\r\n this.historyName = val;\r\n this.quickViewHistoryDialog = true;\r\n \r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog');\r\n this.quickViewCampaignsDialog = false;\r\n this.quickViewSMSDialog = true;\r\n this.quickViewnotesDialog = false;\r\n this.QuickViewDocumentsinfo = false;\r\n this.QuickViewProposalsinfo = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewEmailinfo = false;\r\n this.QuickViewOpportunityInfo = false;\r\n this.QuickViewProjectInfo = false;\r\n this.quickViewActivitiesDialog = false;\r\n }\r\n expandOpportunities(val) {\r\n this.historyName = val;\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n if (this.tab === 'QuickView') {\r\n \r\n this.quickViewHistoryDialog = true;\r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog');\r\n \r\n this.quickViewActivitiesDialog = false;\r\n this.quickViewnotesDialog = false;\r\n this.QuickViewDocumentsinfo = false;\r\n this.QuickViewProposalsinfo = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewEmailinfo = false;\r\n this.quickViewCampaignsDialog = false;\r\n this.QuickViewOpportunityInfo = true;\r\n this.QuickViewProjectInfo = false;\r\n } else {\r\n this.isModal = false;\r\n this.accountotherDetailsTable = false;\r\n this.accountnotesinfo = false;\r\n this.accountemailinfo = false;\r\n this.showticketsinfo = false;\r\n this.documentsinfo = false;\r\n this.Projectsinfo = false;\r\n this.accountactivitiesinfo = true;\r\n }\r\n\r\n }\r\n }\r\n expanddocuments(val,name) {\r\n this.historyName = name;\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n\r\n if (this.tab === 'QuickView') {\r\n this.quickViewHistoryDialog = true;\r\n \r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog'); \r\n this.quickViewActivitiesDialog = false;\r\n this.quickViewnotesDialog = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.quickViewSMSDialog = false;\r\n this.isDocumentsInfoDivVisible = true;\r\n this.QuickViewEmailinfo = false;\r\n this.QuickViewOpportunityInfo = false;\r\n this.QuickViewProjectInfo = false;\r\n if (val == 'With Proposal') {\r\n this.QuickViewDocumentsinfo = false;\r\n this.customerService.GetSpecialityList(\"ProposalPo\", this.currentuser.id).then((status) => { \r\n this.postatuslist = status;\r\n });\r\n this.QuickViewProposalsinfo = true;\r\n \r\n } else {\r\n this.QuickViewDocumentsinfo = true;\r\n this.QuickViewProposalsinfo = false;\r\n }\r\n\r\n } else {\r\n $('#setDocumentDetails').val(1);\r\n this.accountotherDetailsTable = false;\r\n this.documentsinfo = true;\r\n this.accountnotesinfo = false;\r\n this.accountemailinfo = false;\r\n this.showticketsinfo = false;\r\n this.accountactivitiesinfo = false;\r\n this.Projectsinfo = false;\r\n this.isDocumentsInfoDivVisible = true;\r\n\r\n if (val == 'With Proposal') {\r\n this.documentsinfo = false;\r\n this.Proposalinfo = true;\r\n } else {\r\n this.documentsinfo = true;\r\n this.Proposalinfo = false;\r\n }\r\n\r\n }\r\n this.loadDocFilterDropDown(val);\r\n }\r\n }\r\n\r\n loadDocFilterDropDown(val) {\r\n\r\n if (val == 'With Proposal') {\r\n this.DocumentsFilter = Array.from(new Set(this.POdocumentlist.map(s => s.documentname)))\r\n .map(contacttype => {\r\n return {\r\n Name: ((this.POdocumentlist.filter(x => x.documentname == contacttype)[0].documentname != null) ? this.POdocumentlist.filter(x => x.documentname == contacttype)[0].documentname : '') + \" (\" + this.POdocumentlist.filter(x => x.documentname == contacttype).length + \")\",\r\n Value: contacttype\r\n }\r\n });\r\n } else {\r\n this.DocumentsFilter = Array.from(new Set(this.userdocumentlist.map(s => s.documentname)))\r\n .map(contacttype => {\r\n return {\r\n Name: ((this.userdocumentlist.filter(x => x.documentname == contacttype)[0].documentname != null) ? this.userdocumentlist.filter(x => x.documentname == contacttype)[0].documentname : '') + \" (\" + this.userdocumentlist.filter(x => x.documentname == contacttype).length + \")\",\r\n Value: contacttype\r\n }\r\n });\r\n }\r\n\r\n }\r\n DocumentsFilterBy(event) {\r\n this.docMgmtComp.DocumentsFilterBy(event)\r\n }\r\n DocumentsStatusBy(event) {\r\n this.docMgmtComp.DocumentsStatusBy(event)\r\n }\r\n expandtickets(val) {\r\n this.historyName = val;\r\n if (this.tab === 'QuickView') {\r\n \r\n this.quickViewHistoryDialog = true;\r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog');\r\n this.QuickViewDocumentsinfo = false;\r\n this.QuickViewProposalsinfo = false;\r\n this.quickViewActivitiesDialog = false;\r\n this.quickViewnotesDialog = false;\r\n this.QuickViewEmailinfo = false;\r\n this.QuickViewTicketsDialog = true;\r\n this.QuickViewOpportunityInfo = false;\r\n this.QuickViewProjectInfo = false;\r\n } else {\r\n this.accountotherDetailsTable = false;\r\n this.Projectsinfo = false;\r\n this.showticketsinfo = true;\r\n this.isTicketsInfoDivVisible = true;\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n expandProjects(val) {\r\n this.historyName = val;\r\n if (this.tab === 'QuickView') { \r\n this.quickViewHistoryDialog = true;\r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog');\r\n \r\n this.QuickViewDocumentsinfo = false;\r\n this.QuickViewProposalsinfo = false;\r\n this.quickViewActivitiesDialog = false;\r\n this.quickViewnotesDialog = false;\r\n this.QuickViewEmailinfo = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewOpportunityInfo = false;\r\n this.QuickViewProjectInfo = true;\r\n } else {\r\n this.accountotherDetailsTable = false;\r\n this.showticketsinfo = false;\r\n this.isTicketsInfoDivVisible = false;\r\n this.accountnotesinfo = false;\r\n this.accountemailinfo = false;\r\n this.documentsinfo = false;\r\n this.Projectsinfo = false;\r\n this.accountactivitiesinfo = false;\r\n\r\n this.Projectsinfo = true;\r\n }\r\n\r\n }\r\n\r\n refresh() {\r\n this.account.city = null;\r\n this.account.state = null;\r\n this.account.zip = null;\r\n\r\n }\r\n countryState(id, state, type) {\r\n \r\n this.SelectedCountryId = id;\r\n this.stateTextBox = true;\r\n this.stateDropDown = true;\r\n var $stateDropdownDiv = $('#stateDropDown').parent().parent();\r\n\r\n if (id == 1) {\r\n\r\n $('#citySateZipSpan').html('City/State/Zip');\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n $('#contactCityDiv').css('display', 'block');\r\n this.getSelectedState('all');\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = true;\r\n this.displayCountryName = false;\r\n $stateDropdownDiv.removeClass('col-xs-6');\r\n $stateDropdownDiv.addClass('col-xs-3');\r\n $stateDropdownDiv.prop(\"style\", \"padding-right:0px\");\r\n $('#stateDropDown').prop(\"placeholder\", \"Select State\");\r\n if (type == 'Refresh') { this.refresh(); }\r\n if (this.seletedcountry !== null && this.seletedcountry != undefined && this.seletedcountry == 1) {\r\n if (state != undefined || state != null)\r\n $('#stateDropDown').val(state);\r\n }\r\n else\r\n $('#stateDropDown').val('');\r\n this.countryId == 1;\r\n }\r\n else if (id == 2) {\r\n $('#citySateZipSpan').html('City/State/Zip');\r\n\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n\r\n this.getSelectedState('bahamas');\r\n // document.getElementById('contactCityDiv').style.display = 'none';\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = false;\r\n this.displayCountryName = true;\r\n $stateDropdownDiv.removeClass('col-xs-3');\r\n $stateDropdownDiv.addClass('col-xs-6');\r\n $stateDropdownDiv.prop(\"style\", \"padding:0px\");\r\n $('#stateDropDown').prop(\"placeholder\", \"Select Island\");\r\n if (this.seletedcountry !== null && this.seletedcountry != undefined && this.seletedcountry == 2) {\r\n if (state != undefined || state != null)\r\n $('#stateDropDown').val(state);\r\n }\r\n else\r\n $('#stateDropDown').val('');\r\n $('#displayCountry').val('Bahamas');\r\n this.countryId == 2;\r\n }\r\n else {\r\n //this.account.city = null;\r\n //this.account.state = null;\r\n //this.account.zip = null;\r\n if (type == 'Refresh') { this.refresh(); }\r\n // $('#stateTextBox').val('');\r\n\r\n $('#stateTextBox').prop(\"placeholder\", \"Select State\");\r\n this.stateTextBox = false;\r\n this.stateDropDown = true;\r\n }\r\n }\r\n\r\n changeCityStateZip(id, state) {\r\n\r\n\r\n\r\n var $stateDropdownDiv = $('#contactstateTextBox').parent();\r\n if (id == 1) {\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n this.getSelectedState('all');\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = true;\r\n this.displayCountryName = false;\r\n $stateDropdownDiv.removeClass('col-xs-6');\r\n $stateDropdownDiv.addClass('col-xs-3');\r\n $stateDropdownDiv.prop(\"style\", \"padding-right:0px\");\r\n $('#contactstateTextBox').prop(\"placeholder\", \"Select State\");\r\n $('#contactstateTextBox').val(state);\r\n $('#contactCityDiv').removeClass('col-xs-6');\r\n $('#contactCityDiv').addClass('col-xs-6');\r\n this.countryId == 1;\r\n }\r\n else if (id == 2) {\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n this.getSelectedState('bahamas');\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = false;\r\n this.displayCountryName = true;\r\n $stateDropdownDiv.removeClass('col-xs-3');\r\n $stateDropdownDiv.addClass('col-xs-6');\r\n $stateDropdownDiv.prop(\"style\", \"padding:0px\");\r\n $('#contactstateTextBox').prop(\"placeholder\", \"Select Island\");\r\n $('#contactstateTextBox').val(state);\r\n\r\n $('#contactCityDiv').removeClass('col-xs-6');\r\n $('#contactsDisplayCountry').val('Bahamas');\r\n this.countryId == 2;\r\n }\r\n }\r\n getSelectedState(country) {\r\n this.customerService.GetAllStateList(country).then((state) => {\r\n state.forEach(accounttype => {\r\n });\r\n this.StatesList = state;\r\n this.stateInfo = state;\r\n\r\n });\r\n }\r\n statePopulate(zipid, cityid, stateid, stateDDN) {\r\n var that = this;\r\n var zipCode = $('#' + zipid).val();\r\n var newStr = zipCode.replace(/_/g, \"\");\r\n var newStrArray = newStr.split(\"-\");\r\n if (newStrArray[0].length > 4) {\r\n var url = \"http://ziptasticapi.com/\" + newStrArray[0];\r\n \r\n $.ajax({\r\n url: url,\r\n dataType: \"json\",\r\n type: 'GET',\r\n success: function (data) {\r\n $('#' + cityid).val(data.city);\r\n that.loadstate(data.state, stateid, stateDDN);\r\n if (zipid == 'contactzip') {\r\n that.contacts.city = data.city;\r\n\r\n }\r\n if (zipid == 'contacthomezip') {\r\n that.contacts.homecity = data.city;\r\n\r\n }\r\n else {\r\n that.account.city = data.city;\r\n\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n locstatePopulate(ival, zipid, cityid, stateid, stateDDN) {\r\n \r\n var that = this;\r\n var zipCode = $('#' + ival + zipid).val();\r\n var newStr = zipCode.replace(/_/g, \"\");\r\n var newStrArray = newStr.split(\"-\");\r\n if (newStrArray[0].length > 4) {\r\n var url = \"http://ziptasticapi.com/\" + newStrArray[0];\r\n $.ajax({\r\n url: url,\r\n dataType: \"json\",\r\n type: 'GET',\r\n success: function (data) {\r\n\r\n $('#' + ival + cityid).val(data.city);\r\n that.locloadstate(ival, data.state, stateid, stateDDN, data.city);\r\n\r\n }\r\n\r\n });\r\n }\r\n }\r\n statePopulateAddLoction(id) {\r\n\r\n var zipId = 'zip_' + id;\r\n var stateId = 'state_' + id;\r\n var cityId = 'city_' + id;\r\n var zipCode = $('#' + zipId).val();\r\n var newStr = zipCode.replace(/_/g, \"\");\r\n var newStrArray = newStr.split(\"-\");\r\n if (newStrArray[0] > 4) {\r\n var url = \"http://ziptasticapi.com/\" + newStrArray[0];\r\n $.ajax({\r\n url: url,\r\n dataType: \"json\",\r\n type: 'GET',\r\n success: function (data) {\r\n $('#' + cityId).val(data.city);\r\n $('#' + stateId).val(data.state);\r\n }\r\n\r\n });\r\n }\r\n }\r\n locloadstate(ival, state, stateid, stateDDN, city) {\r\n\r\n $('.selectedState').removeClass('selectedState');\r\n var countryCode = ($('#country').val());\r\n if (countryCode == 1 && stateDDN == 'locstateDropDown') {\r\n for (var i = 0; i < 50; i++) {\r\n if (this.StatesList[i].itemName.trim().toString() == state) {\r\n $('#' + ival + stateDDN).val(state)\r\n $('#' + this.StatesList[i].id).addClass('selectedState');\r\n this.heroForm.value.secretLairs[ival].state = state;\r\n this.heroForm.value.secretLairs[ival].city = city;\r\n\r\n }\r\n }\r\n } else {\r\n $('#' + ival + stateid).val(state);\r\n this.heroForm.value.secretLairs[ival].state = state;\r\n\r\n\r\n }\r\n }\r\n loadstate(state, stateid, stateDDN) {\r\n $('.selectedState').removeClass('selectedState');\r\n var countryCode = ($('#country').val());\r\n if (countryCode == 1 && stateDDN == 'stateDropDown') {\r\n for (var i = 0; i < 50; i++) {\r\n if (this.StatesList[i].itemName.trim().toString() == state) {\r\n $('#' + stateDDN).val(state)\r\n $('#' + this.StatesList[i].id).addClass('selectedState');\r\n this.account.state = state;\r\n }\r\n }\r\n } else {\r\n $('#' + stateid).val(state);\r\n\r\n if (stateid == 'contactstateTextBox') {\r\n this.contacts.state = state;\r\n\r\n }\r\n if (stateid == 'contacthomestate') {\r\n this.contacts.homestate = state;\r\n\r\n }\r\n else {\r\n this.account.state = state;\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n GetStateByID(stateId) {\r\n\r\n if (/^\\d+$/.test(stateId)) {\r\n for (var i = 0; i < 50; i++) {\r\n if (this.StatesList[i].id.toString() == stateId) {\r\n this.contacts.state = this.StatesList[i].itemName;\r\n }\r\n }\r\n }\r\n else {\r\n this.contacts.state = stateId;\r\n }\r\n\r\n\r\n }\r\n\r\n ResetAccount() {\r\n\r\n this.account.id = 0;\r\n this.account.customertypeid = 0;\r\n this.account.country = \"1\";\r\n this.account.accounttype = null;\r\n this.account.accountname = null;\r\n this.account.ownerid = null;\r\n this.account.state = null;\r\n this.account.city = null;\r\n this.account.practiceid = 0;\r\n this.account.address1 = null;\r\n this.account.address2 = null;\r\n this.account.zip = null;\r\n this.account.phone = null;\r\n this.account.fax = null;\r\n this.account.alterphone1 = null;\r\n this.account.ownership = null;\r\n this.account.alterphone2 = null;\r\n this.account.website = null;\r\n this.account.ownerid = null;\r\n this.account.multiplelocations = 0;\r\n this.locationId = 0;\r\n this.locationCount = 1;\r\n this.account.rcm = null;\r\n this.account.ehr = null;\r\n this.account.pm = null;\r\n this.account.ownerid = this.currentuser.id;\r\n this.accountlocations = new Accountlocations();\r\n this.account.speciality = null;\r\n this.account.accountStatus = 0;\r\n this.countryState(1, null, null);\r\n $('#test').val('');\r\n }\r\n\r\n getyears() {\r\n var range = [];\r\n var year = new Date().getFullYear();\r\n for (var i = 0; i < 7; i++) {\r\n range.push({\r\n label: year + i,\r\n value: parseInt(String(year + i).slice(2, 4))\r\n });\r\n }\r\n\r\n\r\n this.Years = range;\r\n }\r\n showStateList() {\r\n document.getElementById('stateList').style.display = 'block';\r\n\r\n }\r\n hideStateList() {\r\n document.getElementById('stateList').style.display = 'none';\r\n }\r\n locshowStateList(i) {\r\n document.getElementById(i + 'locstateList').style.display = 'block';\r\n\r\n }\r\n lochideStateList(i) {\r\n document.getElementById(i + 'locstateList').style.display = 'none';\r\n }\r\n contactsShowStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'block';\r\n }\r\n contactsHideStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'none';\r\n }\r\n selectState(id, name) {\r\n $('.selectedState').removeClass('selectedState');\r\n $('#' + id).addClass('selectedState');\r\n $('#stateDropDown').val(name);\r\n this.account.state = name;\r\n }\r\n locselectState(ival, id, name) {\r\n\r\n $('.selectedState').removeClass('selectedState');\r\n $('#' + id).addClass('selectedState');\r\n $('#' + ival + 'locstateDropDown').val(name);\r\n this.heroForm.value.secretLairs[ival].state = name;\r\n\r\n }\r\n contactsSelectState(id, name) {\r\n $('.selectedState').removeClass('selectedState');\r\n $('#cont_' + id).addClass('selectedState');\r\n $('#contactstateTextBox').val(name);\r\n this.contacts.state = name;\r\n }\r\n nextStatistics() {\r\n var count = this.accountstaticsticsId\r\n count++;\r\n if (count <= this.Accountstatisticlist.length) {\r\n document.getElementById('accountstatisticsCount').innerHTML = '(' + count + ' of ' + this.Accountstatisticlist.length + ')';\r\n this.accountstaticsticsId++;\r\n var id = this.accountstaticsticsId;\r\n $('.statistic').attr('style', 'display:none');\r\n $('#' + id).attr('style', 'display:block;background:white;');\r\n $('#' + id + '_accountsub').attr('style', 'display:block;background:white;height:102px;overflow:auto;');\r\n document.getElementById('previous').style.display = 'block';\r\n if (count == this.Accountstatisticlist.length) {\r\n document.getElementById('next').style.display = 'none';\r\n }\r\n }\r\n\r\n }\r\n previousStatistics() {\r\n var count = this.accountstaticsticsId\r\n count--;\r\n if (count > 0) {\r\n document.getElementById('accountstatisticsCount').innerHTML = '(' + count + ' of ' + this.Accountstatisticlist.length + ')';\r\n this.accountstaticsticsId--;\r\n var id = this.accountstaticsticsId;\r\n $('.statistic').attr('style', 'display:none');\r\n $('#' + id).attr('style', 'display:block;background:white;');\r\n $('#' + id + '_accountsub').attr('style', 'display:block;background:white;height:102px;overflow:auto;');\r\n document.getElementById('next').style.display = 'block';\r\n if (count == 1) {\r\n document.getElementById('previous').style.display = 'none';\r\n } else {\r\n document.getElementById('previous').style.display = 'block';\r\n }\r\n }\r\n }\r\n CampaignReceived(msg) { \r\n $('#quickViewHistoryDialog .dialog').attr('style', 'width:100%;padding:0;min-height:63%;overflow:auto;height:92%;top:8%;margin-right:0%;');\r\n //this.showviewcampaign = true;\r\n }\r\n SavedDocuments(msg) {\r\n if (msg != \"496\" && msg != \"497\" && msg != \"498\" && msg != \"499\" && msg != \"500\" && msg != \"501\" && msg != \"554\") {\r\n this.uploadDocumentShow = false;\r\n this.customerService.GetAllDocumentList(this.account.id.toString(), 'Account', this.currentYear, 'Account').then((document) => {\r\n document.forEach(document => {\r\n document.DateUploaded = this.datePipe.transform(document.DateUploaded, \"MM-dd-yyyy\");\r\n });\r\n this.Originaluserdocumentlist = document;\r\n this.Getall6boxesinfo(this.account.id.toString());\r\n });\r\n }\r\n \r\n }\r\n expandDiv() {\r\n var ExpandVal = $('#expandid').html();\r\n //AccountViewDiv\r\n if (ExpandVal == \"X\") {\r\n this.expanded = false;\r\n $('#expandid').html('')\r\n $('#LeftMainDiv').removeClass('col-xs-12')\r\n $('#LeftMainDiv').addClass('col-xs-6')\r\n\r\n this.AccountstatisticsBoxDuplicate = false;\r\n //$('#AccountViewDiv').removeClass('col-xs-12 col-sm-12 col-md-12');\r\n //$('#AccountViewDiv').add('col-xs-6 col-sm-6 col-md-6');\r\n this.rightMainDivHideShow = true;\r\n } else {\r\n this.AccountstatisticsBoxDuplicate = true;\r\n this.expanded = true;\r\n $('#expandid').html('X');\r\n $('#LeftMainDiv').removeClass('col-xs-6')\r\n $('#LeftMainDiv').addClass('col-xs-12') \r\n this.rightMainDivHideShow = false;\r\n }\r\n\r\n }\r\n Expandzendesk() {\r\n if (this.zendtype = 'Expand') {\r\n document.getElementById('zendesktype').innerHTML = \"Close\";\r\n this.zendtype = \"Close\";\r\n } else {\r\n document.getElementById('zendesktype').innerHTML = \"Expand\";\r\n this.zendtype = \"Expand\";\r\n }\r\n }\r\n IsButtonAccess(btn, type) {\r\n this.toastr.clear();\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (btn == this.userprevilages[j].resource) {\r\n if (type == \"add\" && this.userprevilages[j].canadd == false) {\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n if (type == \"edit\" && this.userprevilages[j].canedit == false) {\r\n this.toastr.warning(\"You Do Not have Access to edit – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n resetAccountNumber() {\r\n if (this.account.id != 0) {\r\n\r\n if ($('#customertypeid').val() != 0) {\r\n if (this.account.accnumber == '' || this.account.accnumber == '0') {\r\n $('#accnumber').val('');\r\n this.account.accnumber = null;\r\n }\r\n } else {\r\n if (this.account.accnumber == '' || this.account.accnumber == '0' || this.account.accnumber == null) {\r\n $('#accnumber').val('0');\r\n this.account.accnumber = '0';\r\n }\r\n }\r\n }\r\n }\r\n loadcontacttitles(val): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n\r\n this.customerService.GetTitleListbycontacttype(val).then((accounttype) => {\r\n this.TitleList = accounttype;\r\n this.contacts.title = null;\r\n if (val == 'Physician' || val == 'DPM' || val == 'NP' || val == 'PT' || val == 'PA') {\r\n $('#title').removeClass('required');\r\n $('#title').addClass('not-required');\r\n document.getElementById('titlespan').style.display = 'block';\r\n\r\n } else {\r\n $(\"#title\").prop(\"required\", false)\r\n $('#title').removeClass('not-required');\r\n $('#title').removeClass('required');\r\n document.getElementById('titlespan').style.display = 'none';\r\n\r\n }\r\n //resolve();\r\n });\r\n\r\n });\r\n return promise;\r\n }\r\n special_char(event) {\r\n\r\n var k = event.charCode;\r\n return (!(k === 124));\r\n }\r\n accountNumber() {\r\n if ($('accnumber').val() == '') {\r\n if ($('#customertypeid').val() == 0) {\r\n this.account.accnumber = '0';\r\n } else {\r\n this.account.accnumber = null;\r\n }\r\n }\r\n }\r\n titleSelected() {\r\n if ($('#title').hasClass('not-required')) {\r\n $('#title').removeClass('not-required')\r\n $('#title').addClass('required')\r\n\r\n }\r\n }\r\n collegeYear1() {\r\n $('#collegegrandyear').removeAttr('disabled');\r\n }\r\n medschoolYear1() {\r\n $('#medschoolgrandyear').removeAttr('disabled');\r\n }\r\n residencyYear1() {\r\n $('#residencygrandyear').removeAttr('disabled');\r\n }\r\n fellowshipYear1() {\r\n $('#fellowshipgrandyear').removeAttr('disabled');\r\n }\r\n removeloction(val) {\r\n if (val == 0) {\r\n this.account.multiplelocations = 0;\r\n }\r\n $(\"#\" + (val + 2)).remove();\r\n this.secretLairs.removeAt(val);\r\n }\r\n createForm() {\r\n this.heroForm = this.fb.group({\r\n name: '',\r\n secretLairs: this.fb.array([]),\r\n power: '',\r\n sidekick: ''\r\n });\r\n }\r\n\r\n\r\n get secretLairs(): FormArray {\r\n return this.heroForm.get('secretLairs') as FormArray;\r\n };\r\n\r\n setAddresses(addresses: Accountlocations[]) {\r\n\r\n const addressFGs = addresses.map(address => this.fb.group(address));\r\n const addressFormArray = this.fb.array(addressFGs);\r\n this.heroForm.setControl('secretLairs', addressFormArray);\r\n }\r\n prepareSaveHero(): Accountlocations[] {\r\n\r\n const formModel = this.heroForm.value;\r\n const secretLairsDeepCopy: Accountlocations[] = formModel.secretLairs.map(\r\n\r\n (address: Accountlocations) => Object.assign({}, address, address.accountid = this.account.id),\r\n );\r\n return secretLairsDeepCopy;\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n if ($('#emailIds').val() != '') {\r\n $('#tasklistselectedtyle').val('Contact');\r\n }\r\n \r\n } else {\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('Contact');\r\n }\r\n \r\n }\r\n statisticId(id) {\r\n }\r\n\r\n AddressReceived(msg: Accounts) {\r\n if (this.type == \"Contact\") {\r\n this.contacts.address1 = msg.address1;\r\n this.contacts.address2 = msg.address2;\r\n this.contacts.city = msg.city;\r\n this.contacts.state = msg.state;\r\n this.contacts.zip = msg.zip;\r\n this.contacts.ProvidenceIsland = msg.ProvidenceIsland;\r\n this.contacts.lattitude = msg.lattitude.toString();\r\n this.contacts.longtitude = msg.longtitude.toString();\r\n this.contacts.country = msg.country;\r\n this.contacts.isaddressadded = msg.isaddressadded;\r\n } else {\r\n this.getAccountForm();\r\n this.account.address1 = msg.address1;\r\n this.account.address2 = msg.address2;\r\n this.account.city = msg.city;\r\n this.account.state = msg.state;\r\n this.account.zip = msg.zip;\r\n this.account.ProvidenceIsland = msg.ProvidenceIsland;\r\n this.account.lattitude = msg.lattitude;\r\n this.account.longtitude = msg.longtitude;\r\n this.account.country = msg.country;\r\n this.account.isaddressadded = msg.isaddressadded;\r\n }\r\n \r\n }\r\n openNotesDialogAg(Contactid) {\r\n \r\n this.conid = Contactid;\r\n this.typ = 'Contact';\r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n }\r\n \r\n QuickViewDialogCss(val) {\r\n if (val == true) { //expand\r\n this.applicationComponent.StandardGreenpopupUi('.dialog');\r\n \r\n }\r\n \r\n else {\r\n this.applicationComponent.quickViewDialogcss('.dialog');\r\n \r\n }\r\n\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n openAccountNotes() {\r\n this.isModal = true;\r\n this.conid = this.account.id;\r\n this.typ = 'Account';\r\n this.notesshowDialog = true;\r\n this.NotesDialogCss(); \r\n }\r\n openFutureTask() {\r\n this.futureTaskDialog=true;\r\n }\r\n GetCustomerNotes(contactid, type) {\r\n this.customerService.GetAllContactproviderByAccount(contactid, this.currentuser.id).then((contacts) => {\r\n let allContactIds: string = \"\";\r\n if (contacts) {\r\n contacts.forEach(contacts => {\r\n allContactIds += contacts.id.toString() + \",\";\r\n });\r\n }\r\n if (allContactIds.length > 0)\r\n allContactIds = allContactIds.substring(0, allContactIds.length - 1);\r\n else\r\n allContactIds = \"0\";\r\n //this.customerService.GetAllNotesList(this.currentuser.id, allContactIds, 'AllContactsNotes', contactid).then((taskhistory) => {\r\n this.customerService.GetAllNotesListNew(this.currentuser.id, allContactIds, 'AllContactsNotes', contactid, \"null\").then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy\");\r\n });\r\n \r\n this.allnotes = taskhistory;\r\n this.noteslist = this.allnotes.filter(x => x.isnewnote == 1); \r\n for (let note of this.allnotes) {\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n });\r\n });\r\n this.conid = contactid;\r\n\r\n }\r\n\r\n GetNotes(contactid, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy\");\r\n //this.data.push(taskhistory.)\r\n });\r\n this.allnotes = taskhistory;\r\n });\r\n\r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: true, enableColResize: true, paginationPageSize: 1000, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.NotesideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ], position: 'right',\r\n defaultToolPanel: 'none',\r\n }; \r\n this.createColumnDefsnotes();\r\n\r\n this.context = this;\r\n }\r\n createColumnDefsnotes() {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n return '';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', hide: false, cellStyle: { 'text-align': 'left' }, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n\r\n }\r\n\r\n onAgGridReadynotes(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 1000));\r\n }, 1000));\r\n }\r\n autoSizeAllnotes() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds);\r\n }\r\n\r\n }\r\n Notes(val) {\r\n this.GetCustomerNotes(this.contacts.id, val);\r\n }\r\n enterNotes() {\r\n $('.fr-element').empty();\r\n document.getElementById('home').style.display = 'none';\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n }\r\n SaveNote(notestype) {\r\n \r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

|<\\/p>|
|<\\/br>| )/img, \"\");\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

|<\\/p>|
|<\\/br>| )/gi, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/<[^>]*>/g, '');\r\n if (notestype == \"Customer\") {\r\n this.notes.accountid = this.account.id;\r\n } else {\r\n this.notes.accountid = this.contacts.id;\r\n }\r\n this.notes.type = notestype;\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.GetCustomerNotes(this.notes.accountid, notestype);\r\n $('#notesListTabsId .active').removeClass('active');\r\n $('#notesListTabsId #allNotesId').addClass('active');\r\n this.CancelNote();\r\n });\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n document.getElementById('home').style.display = 'block';\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n }\r\n\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n \r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n config.maxlimit = 25;\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 23;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n AddAccountTask() {\r\n \r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n this.accounttaskDialog = true;\r\n this.accountactivitiesinfo = false;\r\n }\r\n }\r\n onTaskSaved(msg) {\r\n this.Getall6boxesinfo(this.account.id);\r\n if (msg = \"Cancel\") {\r\n this.accounttaskDialog = false;\r\n this.accountactivitiesinfo = true;\r\n }\r\n }\r\n Refresh(msg) {\r\n }\r\n PreviousAccountContact() {\r\n this.sendMsgEvent.emit(\"Previous\");\r\n }\r\n NextAccountContact() {\r\n this.sendMsgEvent.emit(\"Next\");\r\n }\r\n public transform(input: string): string {\r\n\r\n if (!input) {\r\n return '';\r\n }\r\n else {\r\n\r\n return input[0].toUpperCase() + input.substr(1);\r\n }\r\n\r\n }\r\n\r\n openDisplaynotes(params) {\r\n $('#closeDetailsDialog').click();\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n \r\n //$('#showDetailsDialog').width(showDialogWidth);\r\n //$('#showDetailsDialog').height(notesHeight - 140);\r\n //if ($('#typeClicked').val() == 'modal') {\r\n if (selfObj.isModal) {\r\n //$('#showDetailsDialog').css('top', '23%');\r\n //$('#showDetailsDialog').css('height', '61%');\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n //$('#showDetailsDialog').css('top', notesOffset.top + 125);\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n } else {\r\n \r\n var gridOffset = $(\"#notesGrid\").offset();\r\n $('#showDetailsDialog').attr('style', 'width: 16%;height: 71%;top: 24.5%;left: 82%;border-radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtLongNoteDesc').css('overflow', 'auto');\r\n }\r\n }\r\n \r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", 'white');\r\n $('.save').show();\r\n \r\n }\r\n onDocumentOpen(myBaseString) {\r\n var viewtype = \"AccountView\";\r\n document.getElementById('pdfDiv').style.display = 'block';\r\n document.getElementById('window').className = 'col-xs-6';\r\n document.getElementById('accountInformation').className = 'col-xs-12';\r\n \r\n $('#pdfDiv').html('')\r\n $('#pdfDiv').attr('style', 'height: 562px;padding-left: 1%;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n\r\n }\r\n OpenTask(contactId, taskid, type) {\r\n this.id = contactId;\r\n this.taskid = taskid;\r\n this.type = type;\r\n this.isTaskShow = true;\r\n }\r\n Expandimage() {\r\n if (document.getElementById('pdfDiv').className == 'col-xs-12') {\r\n document.getElementById('window').style.display = 'block';\r\n document.getElementById('pdfDiv').className = 'col-xs-6';\r\n $('#documentview').removeClass('col-xs-12');\r\n $('#documentview').addClass('col-xs-6');\r\n } else {\r\n document.getElementById('window').style.display = 'none';\r\n document.getElementById('pdfDiv').className = 'col-xs-12';\r\n $('#documentview').removeClass('col-xs-6');\r\n $('#documentview').addClass('col-xs-12');\r\n }\r\n }\r\n onDocumentSavedSaved(msg) {\r\n var isnum = /^\\d+$/.test(msg);\r\n\r\n if (msg == 'UploadDocument') {\r\n this.uploadDocumentShow = true;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.uploadDoc.OpenFilemanual();\r\n }, 100));\r\n }\r\n else if (isnum) {\r\n this.customerService.GetDocumentsCount(msg, 'Account').then(result => {\r\n this.userdocumentcount = result;\r\n\r\n });\r\n } else if (msg == 'close') {\r\n this.close()\r\n }\r\n else {\r\n this.documentview = true;\r\n this.onDocumentOpen(msg);\r\n }\r\n\r\n }\r\n saveEditedNote() {\r\n \r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.GetNotes(selfObj.contactid, 'Contact');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n //this.Notes(this.selectedTabName);\r\n }\r\n previousdocument() {\r\n this.documentindex--;\r\n $('#pdfDiv').html('')\r\n }\r\n nextdocument() {\r\n this.documentindex++;\r\n $('#pdfDiv').html('')\r\n }\r\n AccountsharingAg(selectedval) {\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n\r\n if (selectedval == \"EditAccount\") {\r\n this.customerService.getAccountPermission(this.account.id, this.currentuser.id).then(perresult => {\r\n this.account.isAccountPermission = perresult;\r\n if (perresult == 'View') {\r\n this.showAddEditAccount = false;\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n \r\n });\r\n \r\n }\r\n else if (selectedval == \"View\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else {\r\n this.isSharing = true;\r\n this.isSharingCss();\r\n this.rightMainDivHideShow = false;\r\n this.accountSharingid = 1;\r\n this.AddContacttableDiv = false;\r\n if (this.isSharing) {\r\n this.ownrshipComp.loadAccountInformation(this.account.id, 0);\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n\r\n dialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 32%;padding - bottom: 0px;border-radius:5%;min - height: 23%;overflow: visible;height: 24%;');\r\n }, 4));\r\n }\r\n\r\n isSharingCss() {\r\n setTimeout(function () {\r\n $('#isSharingDialog .dialog').attr('style', 'width: 35%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82.5%;padding: 0;top: 10%;left: 63%;');\r\n }, 4)\r\n\r\n }\r\n sharingAg(rowdata) {\r\n if($('#expandid').html() == \"X\") {\r\n $('#expandid').html('')\r\n $('#LeftMainDiv').removeClass('col-xs-12')\r\n $('#LeftMainDiv').addClass('col-xs-6')\r\n }\r\n if (this.account.ownerid == this.currentuser.id || this.currentuser.systemadministrator == 1) {\r\n this.isSharing = true;\r\n this.isSharingCss();\r\n //this.rightMainDivHideShow = false;\r\n this.accountSharingid = 1;\r\n this.contactSharingid = rowdata.id;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n\r\n\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n\r\n if (node.data.id == rowdata.id) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n\r\n }\r\n });\r\n }, 100));\r\n selfObj.ownrshipComp.loadAccountInformation(selfObj.account.id, rowdata.id);\r\n\r\n }\r\n\r\n\r\n }\r\n onCloseEventReceived(msg) {\r\n this.rightMainDivHideShow = true;\r\n\r\n if (msg == 'AccountEdit') {\r\n this.isSharing = false;\r\n this.EditAccountFormDiv = true;\r\n this.editAccount(this.account.id);\r\n }\r\n else if (msg == 'ContactEdit') {\r\n this.isSharing = false;\r\n this.LoadContactEdit(this.contactSharingid);\r\n\r\n }\r\n else {\r\n this.isSharing = false;\r\n this.EditAccountFormDiv = false;\r\n this.AccountotherDetailsDiv = true;\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n \r\n this.accdetailcmp.loadAccountId(this.account.id, this.viewaccount.AccountHistoryNote);\r\n }\r\n\r\n }\r\n Taskdialoghideshow(tdialog: boolean) {\r\n this.isTaskShow = tdialog;\r\n }\r\n\r\n \r\n\r\n Map() {\r\n this.isOpenGoogleMap = true;\r\n }\r\n\r\n closeEmbed() {\r\n this.documentview = false;\r\n $('#window').removeClass('col-xs-6');\r\n $('#window').addClass('col-xs-12');\r\n $('#pdfDiv').attr('style', 'display: none;');\r\n this.close();\r\n document.getElementById('window').style.display = 'block';\r\n document.getElementById('pdfDiv').className = 'col-xs-6';\r\n\r\n }\r\n onCloseDialogEventReceived(msg) {\r\n \r\n if (msg == 'false') {\r\n this.notesshowDialog = false;\r\n this.isModal = false;\r\n this.ShowPDF = false;\r\n }\r\n }\r\n\r\n ContactTypeFilter(val) {\r\n \r\n if (val == 'All') {\r\n this.Contacttotal = this.allContacts;\r\n if (this.SelectedStatus != 0) {\r\n this.allContactsproviders = this.allContacts.filter(x => x.Status == this.SelectedStatus);\r\n } else {\r\n this.allContactsproviders = this.allContacts;}\r\n } else {\r\n this.Contacttotal = this.allContacts.filter(x => x.contacttype == val);\r\n if (this.SelectedStatus != 0) {\r\n this.allContactsproviders = this.allContacts.filter(x => x.contacttype == val && x.Status == this.SelectedStatus);\r\n }\r\n else {\r\n this.allContactsproviders = this.allContacts.filter(x => x.contacttype == val);\r\n }\r\n \r\n }\r\n this.SortedStatus = [\r\n { id: 0, Value: 'Active & Inactive' + \" (\" + this.Contacttotal.length + \")\" },\r\n { id: 309, Value: 'Active' + \" (\" + this.Contacttotal.filter(x => x.Status == 309).length + \")\" },\r\n { id: 310, Value: 'Inactive' + \" (\" + this.Contacttotal.filter(x => x.Status == 310).length + \")\" }\r\n\r\n ];\r\n\r\n }\r\n ContactStatusFilter(val) {\r\n if (val == 0) {\r\n if (this.SelectedContactType == 'All')\r\n this.allContactsproviders = this.allContacts;\r\n else {\r\n this.allContactsproviders = this.allContacts.filter(x => x.contacttype == this.SelectedContactType);\r\n }\r\n } else {\r\n if (this.SelectedContactType != 'All') {\r\n this.allContactsproviders = this.allContacts.filter(x => x.Status == val && x.contacttype == this.SelectedContactType);\r\n }\r\n else {\r\n this.allContactsproviders = this.allContacts.filter(x => x.Status == val);\r\n }\r\n \r\n }\r\n //this.SelectedContactType = \"All\";\r\n }\r\n ReceiveTaskUpdate(event) {\r\n\r\n }\r\n\r\n checkBoxChecked(val) {\r\n this.selectedAddressOption = val;\r\n if ($('#' + val).is(\":checked\")) {\r\n if (val == 'SelectContacts') {\r\n this.EnableDisableCheckbox(false, true, false);\r\n if (this.selectedcontact == null || this.selectedcontact == undefined) {\r\n alert(\"Please select Contact\");\r\n } else {\r\n this.showContinueButton = false;\r\n }\r\n this.ShowContactstoSelect = true;\r\n\r\n } else if (val == 'UpdateAll') {\r\n this.showContinueButton = true;\r\n this.EnableDisableCheckbox(true, false, false);\r\n }\r\n else if (val == 'DoNotUpdate') {\r\n this.showContinueButton = true;\r\n this.EnableDisableCheckbox(false, false, true);\r\n }\r\n\r\n\r\n }\r\n }\r\n EnableDisableCheckbox(UpdateAll: boolean, SelectContacts: boolean, DoNotUpdate: boolean) {\r\n this.enableUpdateAll = UpdateAll;\r\n this.enableSelectContacts = SelectContacts;\r\n this.enableDoNotUpdate = DoNotUpdate;\r\n }\r\n\r\n ContinueEditing() {\r\n this.SaveAccount(this.selectedAddressOption)\r\n this.ShowContactstoSelect = false;\r\n }\r\n onSelectionChanged(event) {\r\n this.showContinueButton = true;\r\n var data = event.api.getSelectedNodes();\r\n data.forEach(element => {\r\n this.selectedcontact.push(element.data.id);\r\n \r\n });\r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n this.AccountData('show' + msg.split('~')[1]);\r\n this.showAddEditAccount = false;\r\n this.showAddEditContact = false;\r\n //this.AccountData(this.account.id);\r\n } \r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 45%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 91%;padding: 0;top: 8%;left: 53%;');\r\n }, 4)\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 91%;padding: 0;top: 8%;left: 56%;');\r\n }, 4)\r\n }\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n this.GetAllProviderAndContactInfo(this.account.id)\r\n }\r\n\r\n btnClickReceived(event) {\r\n debugger;\r\n if (event == 'close') { this.showAddEditAccount = false; }\r\n else if (event == \"ExpandSoftwareLicense\" || event == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(event);\r\n } else {\r\n if (event.btnName == 'addContact') {\r\n this.addContact();\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'StatusId') {\r\n this.sendMsgEvent.emit(\"StatusId\");\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n this.openAccountNotes();\r\n } else if (event.btnName == 'FutureTask') {\r\n this.openFutureTask();\r\n }\r\n }\r\n \r\n }\r\n ExpandPDF(val) { \r\n this.notesshowDialog = true;\r\n this.QuickViewDialogCss(val);\r\n this.DocExpandView = val;\r\n }\r\n\r\n closeDoc() {\r\n this.quickViewHistoryDialog = false;\r\n this.AccountotherDetailsDiv = true;\r\n this.rightMainDivHideShow = true;\r\n this.uploadDocumentShow = false;\r\n this.GetCustomerNotes(this.account.id.toString(), 'Customer');\r\n this.ShowPDF = false;\r\n this.EditDocument = true;\r\n }\r\n\r\n SaveContactOrder() {\r\n \r\n if (this.ContactsOrder.ContactOrderid) {\r\n\r\n } else {\r\n this.ContactsOrder.CategoryType = \"ContactOrderBy\";\r\n this.ContactsOrder.UserId = this.currentuser.id;\r\n }\r\n \r\n this.customerService.SaveContactOrder(this.ContactsOrder).then(perresult => {\r\n this.ContactsOrder = perresult;\r\n });\r\n }\r\n\r\n ContactsSortOrder(event) {\r\n this.allContactsproviders = [];\r\n this.SaveContactOrder();\r\n let Selfobj = this;\r\n setTimeout(function () {\r\n switch (Selfobj.ContactsOrder.OrderByValue) {\r\n case \"LA-Z\": {\r\n if (Selfobj.SelectedContactType != 'All') {\r\n Selfobj.allContactsproviders = Selfobj.allContacts.filter(x => x.contacttype == Selfobj.SelectedContactType)\r\n } else {\r\n Selfobj.allContactsproviders = Selfobj.allContacts;\r\n }\r\n Selfobj.allContactsproviders = Selfobj.allContactsproviders.filter(x => x.Status == Selfobj.SelectedStatus)\r\n Selfobj.allContactsproviders = Selfobj.allContactsproviders.sort((a, b) => a.lastname.toLowerCase() > b.lastname.toLowerCase() ? 1 : -1);\r\n break;\r\n }\r\n case \"FA-Z\": {\r\n if (Selfobj.SelectedContactType != 'All') {\r\n Selfobj.allContactsproviders = Selfobj.allContacts.filter(x => x.contacttype == Selfobj.SelectedContactType)\r\n } else {\r\n Selfobj.allContactsproviders = Selfobj.allContacts;\r\n }\r\n Selfobj.allContactsproviders = Selfobj.allContactsproviders.filter(x => x.Status == Selfobj.SelectedStatus)\r\n Selfobj.allContactsproviders = Selfobj.allContactsproviders.sort((a, b) => a.firstname.toLowerCase() > b.firstname.toLowerCase() ? 1 : -1);\r\n break;\r\n }\r\n case \"OrderByCreated\": {\r\n if (Selfobj.SelectedContactType != 'All') {\r\n Selfobj.allContactsproviders = Selfobj.allContacts.filter(x => x.contacttype == Selfobj.SelectedContactType)\r\n } else {\r\n Selfobj.allContactsproviders = Selfobj.allContacts;\r\n }\r\n Selfobj.allContactsproviders = Selfobj.allContactsproviders.filter(x => x.Status == Selfobj.SelectedStatus)\r\n Selfobj.allContactsproviders = Selfobj.allContactsproviders.sort((a, b) => a.created > b.created ? 1 : -1);\r\n break;\r\n }\r\n case \"OrderByTitle\": {\r\n if (Selfobj.SelectedContactType != 'All') {\r\n Selfobj.allContactsproviders = Selfobj.allContacts.filter(x => x.contacttype == Selfobj.SelectedContactType)\r\n } else {\r\n Selfobj.allContactsproviders = Selfobj.allContacts;\r\n }\r\n Selfobj.allContactsproviders = Selfobj.allContactsproviders.filter(x => x.Status == Selfobj.SelectedStatus)\r\n Selfobj.allContactsproviders = Selfobj.allContactsproviders.sort(Selfobj.CustomeSort(true,'title'));\r\n\r\n }\r\n default: {\r\n \r\n }\r\n }\r\n \r\n }, 200)\r\n\r\n \r\n }\r\n\r\n CustomeSort(ascending,field) {\r\n return function (a, b) {\r\n if (a[field] === b[field]) {\r\n return 0;\r\n }\r\n else if (a[field] === null || a[field] === '(NULL)' || a[field] === '') {\r\n return 1;\r\n }\r\n else if (b[field] === null || b[field] === '(NULL)' || b[field] === '') {\r\n return -1;\r\n }\r\n else if (ascending) {\r\n return a[field] < b[field] ? -1 : 1;\r\n }\r\n else {\r\n return a[field] < b[field] ? 1 : -1;\r\n }\r\n\r\n };\r\n\r\n }\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n CloseProposalPage(msg) {\r\n this.ReceiveEvent(\"CloseAddAccountDialog~\" + this.account.id);\r\n }\r\n CloseTab(tabval) {\r\n this.sendMsgEvent.emit(tabval);\r\n }\r\n CampaignsDropdownChange(status) {\r\n this.campaincmp.LoadCampaigns(this.currentuser.id, status)\r\n }\r\n crmDialogCss() {\r\n $(setTimeout(function () {\r\n $('#crmDialog .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 42%;left: 24%;max-width: 1393px !important;');\r\n }, 4));\r\n }\r\n onaccChange(msg) {\r\n this.contactphotocmp.checkNotes();\r\n }\r\n OnReceived(msg) {\r\n if (msg == \"Open\") {\r\n this.contactphotocmp.crmDialog = true;\r\n this.crmDialogCss();\r\n }\r\n else {\r\n this.ViewPhotoDialog = false;\r\n }\r\n }\r\n\r\n}\r\n","

\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n ACCOUNTS \r\n CUSTOMER ACCOUNTS \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n Edit\r\n Save\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n0\" [(visible)]=\"notesshowDialog\" style=\"height:100%\" [CloseButtonColor]=\"'black'\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
{{account.address1}} 
\r\n
{{account.address2}}
\r\n
\r\n \r\n {{account.city}} , {{account.state}}. {{account.zip | slice:0:5}} 5\">-{{account.zip | slice:5:20}}\r\n }}\r\n \r\n
\r\n
\r\n
\r\n
{{account.accountname}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n No data found\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Location
\r\n
\r\n
\r\n Address1:{{localtion.address1}}\r\n
\r\n
\r\n Address2:{{localtion.address2}}\r\n
\r\n
\r\n city/state/zip:{{localtion.city}},{{localtion.state}} {{localtion.zip}}\r\n
\r\n
\r\n phone:{{localtion.phone}}\r\n
\r\n
\r\n fax:{{localtion.fax}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Location #{{i + 1+1}}

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{account.accountname}}\r\n
\r\n
{{account.address1}}
\r\n
{{account.address2}},
\r\n
\r\n {{account.city}}\r\n , {{account.state | uppercase}}.\r\n {{account.ProvidenceIsland}}\r\n  {{account.zip | slice:0:5}} 5\">-{{account.zip | slice:5:20}}\r\n , {{account.country}}\r\n
\r\n
\r\n Phone : {{account.phone}}\r\n , \r\n Fax: {{account.fax}}\r\n
\r\n
\r\n
\r\n Multiple Locations: No \r\n Multiple Locations: Yes\r\n
\r\n
\r\n \r\n\r\n {{account.website}}\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n

  • \r\n

  • \r\n
  • \r\n
  • \r\n
  • \r\n\r\n
\r\n\r\n
\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
SalesXCRM Message
\r\n
\r\n
{{title}}

\r\n
{{subtitle}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\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, ViewChild, ElementRef, ViewContainerRef, Renderer2, Input } from '@angular/core';\r\nimport { AccountsService } from '../../../services/accounts.service';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { Accounts, AccountTasksCounts } from '../../../models/accounts';\r\nimport { FormGroup, FormArray, FormBuilder } from '@angular/forms';\r\nimport { Accountlocations } from '../../../models/data-model';\r\nimport { ParentComp } from \"../../userlist/userlist.component\";\r\nimport { GridOptions } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../../notesrenderer/notesrenderer.component';\r\nimport { Dashboardconfiguration } from '../../../models/dashboardconfiguration';\r\nimport { PageComponent } from '../../page/page.component';\r\nimport { Column } from 'ag-grid';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Dropdowntype } from '../../../models/dropdowntype';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { DatePipe } from '@angular/common'; import { Notes } from '../../../models/notes';\r\nimport { EditdeletecvComponent } from '../../editdeletecv/editdeletecv.component';\r\nimport { OwnershipsharingComponent } from '../../ownershipsharing/ownershipsharing.component';\r\nimport { EditcontactComponent } from '../../editcontact/editcontact.component';\r\nimport * as moment from 'moment'\r\nimport { AddressmapComponent } from '../../addressmap/addressmap.component';\r\nimport { NotesComponent } from '../../notes/notes.component';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { AccountContactComponent } from '../../account-contact/account-contact.component';\r\nimport { UploadDocumentComponent } from '../../upload-document/upload-document.component';\r\nimport { UserService } from '../../../services/user.service';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: './account.component.html',\r\n styleUrls: ['./account.component.css']\r\n})\r\nexport class AccountComponent implements OnInit {\r\n search: string = null;\r\n itemResource: any;\r\n currentuser: any;\r\n items = [];\r\n itemCount = 0;\r\n params: any;\r\n dropdownList = [];\r\n finalitems = \"\";\r\n term: string = \"\";\r\n @Input()\r\n type: string = \"\";\r\n map: boolean = false;\r\n multiplelocationshowDialog = false; notes: Notes = new Notes();\r\n showDeleteDialog = false;\r\n Contactvalues: string = \"0\";\r\n active_deactiveStatus: number = 0;\r\n accountlocationlist: any;\r\n IsEditAccount: boolean = false;\r\n isColumnSelected: boolean = false;\r\n account: Accounts = new Accounts();\r\n @Input()\r\n accountCreatedDate: string;\r\n colSelections: string;\r\n ShowAddressmapping: boolean = false;\r\n IsshowFirst: boolean = false;\r\n isStatusidopen = false;\r\n accountlocations: Accountlocations = new Accountlocations();\r\n public zipmask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n dropdownSetting = {};\r\n alllocations: boolean = true;\r\n addnewlocation: boolean = true;\r\n addresses: Accountlocations[];\r\n thisComp: ParentComp = ParentComp.Account;\r\n isViewInitialized: boolean = false;\r\n accessDenied: boolean = false;\r\n allCustomers: Accounts[];\r\n OriginalAllCustomers: Accounts[];\r\n public gridOptions: GridOptions; public gridEmptyOptions: GridOptions;\r\n public TableColumns: any;\r\n public LastActivitygridOptions: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n public defaultColDef;\r\n public lastActivitycolumnDefs: any[];\r\n pageSize ='1000';\r\n public context;\r\n public sideBar;\r\n public frameworkComponents;\r\n NotesDec = false;\r\n outProps: OutputPropsUserList = new OutputPropsUserList();\r\n accountcolumnlist: Dropdowntype[] = [];\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n @ViewChild(AddressmapComponent) addressMapComp: AddressmapComponent;\r\n @ViewChild(EditcontactComponent) editcontactComp: EditcontactComponent;\r\n @ViewChild(NotesComponent) notecomp;\r\n @ViewChild(AccountContactComponent) acccontactcomp;\r\n activeItems: boolean = true;\r\n heroForm: FormGroup; datePipe: DatePipe = new DatePipe(\"en-US\");\r\n aggridheight: string; conid: number; notesshowDialog = false;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n allnotes1: Notes[];\r\n userdocumentlist: any[] = [];\r\n userdocumentcount: number = 0;\r\n openFileView: boolean = false;\r\n @ViewChild(UploadDocumentComponent) uploadDocComp: UploadDocumentComponent;\r\n DocViewAccessDenied: boolean = false; \r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()-1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n timezonevalue :string; \r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } } \r\n allnotes: Notes[];\r\n Ids = [];\r\n showEditNoteBtn: boolean = false;\r\n isopenopr: boolean = false;\r\n title: string = \"\";\r\n isdelete: boolean = false;\r\n subtitle:string = \"\";\r\n editNoteId: boolean = false;\r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n accountid: number = 0;\r\n contactid: number = 0;\r\n totalnumberofrows: number = 1;\r\n accountSharingid: number = 0;\r\n selectedAccountid: number = 0;\r\n totalnumberofPages: number = 1;\r\n isCustomer: boolean = false;\r\n isSharing: boolean = false;\r\n isShowAccountInfo = false;\r\n isFormerCustomer: boolean = false;\r\n isShowDetailsChecked: boolean = false;\r\n isAccountViewOpen: boolean = true;\r\n isGooglemapExpandOpen: boolean = false;\r\n isContactViewOpen: boolean = false;\r\n AccConIds: string;\r\n userInfo: string;\r\n SelectedStatus: string = '0';\r\n calanderonoff: boolean = true;\r\n private gridApi;\r\n DocExpandView: boolean = false;\r\n AccountTasksCounts = new AccountTasksCounts();\r\n AllnotesOriginal: Notes[];\r\n public isDelink = false;\r\n public selectedNoteId: number;\r\n documentindex: number = 0;\r\n public isdocumentid: string = \"\";\r\n selectedNotes: Notes;\r\n noteidDiv: boolean = false;\r\n @Input() selectedTabName: string;\r\n @Input() typ: string;\r\n @Input()\r\n PageFrom: string = \"\";\r\n Upload: boolean = false;\r\n AttachDocument: boolean = false;\r\n notesMainDiv: boolean = true;\r\n isSharedAccts: boolean = true;\r\n selectedmyDashDefGridBox = [];\r\n selectedmyDashDefGridBoxid: number = 0;\r\n value: string = \"\";\r\n EnableSearch: boolean = false;\r\n currentMonth = (new Date().getMonth()) + 1;\r\n constructor(private paginationcop: PageComponent, public applicationComponent: ApplicationComponent,\r\n private elementRef: ElementRef, private renderer: Renderer2, private fb: FormBuilder, private http: HttpClient,\r\n private opprtunityservice: OpprtunitiesService, private route: ActivatedRoute, private accountService: AccountsService, private customerService: CustomerService,\r\n private router: Router, private toastr: ToastrService, private viewContainerRef: ViewContainerRef, private userservice: UserService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); \r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\")));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n \r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu(localStorage.getItem(\"Tab\"));\r\n }\r\n this.createForm();\r\n }\r\n \r\n createForm()\r\n {\r\n this.heroForm = this.fb.group({\r\n name: '',\r\n secretLairs: this.fb.array([]),\r\n power: '',\r\n sidekick: ''\r\n });\r\n }\r\n\r\n getSelectedtmyDashDefGridBox() {\r\n this.userservice.GetSelectedUsermyDashDefGridBox(this.currentuser.id).then((result) => {\r\n this.selectedmyDashDefGridBox = result;\r\n this.selectedmyDashDefGridBoxid = result.selectedMyDashDefaultGridId;\r\n });\r\n }\r\n\r\n removeloction(val)\r\n {\r\n $(\"#\" + (val + 2)).remove();\r\n this.secretLairs.removeAt(val);\r\n }\r\n\r\n delink(documentid, note) {\r\n $('#' + documentid + 'ON').attr('style', 'display:block;height:23px;');\r\n $('#' + documentid + 'Off').attr('style', 'display:none;height:23px;');\r\n let selfObj = this;\r\n setTimeout(function () {\r\n var isConfirmed = confirm(\"De-Link this document?\");\r\n if (isConfirmed) {\r\n selfObj.isdocumentid = documentid;\r\n selfObj.selectedNotes = note;\r\n selfObj.UpdateNote(true);\r\n selfObj.isDelink = false;\r\n }\r\n else {\r\n $('#' + documentid + 'Off').attr('style', 'display:block;height:23px;');\r\n $('#' + documentid + 'ON').attr('style', 'display:none;height:23px;');\r\n selfObj.delinkOff(note.id)\r\n }\r\n }, 500);\r\n\r\n }\r\n delinkDocs(noteId) {\r\n this.isDelink = true;\r\n this.selectedNoteId = noteId;\r\n $('#' + noteId + 'Off').attr('style', 'display:none');\r\n $('#' + noteId + 'ON').attr('style', 'display:block;color:red;font-weight: 600;');\r\n }\r\n delinkOff(noteId) {\r\n this.isDelink = false;\r\n // this.selectedNoteId = noteId;\r\n $('#' + noteId + 'Off').attr('style', 'display:block');\r\n $('#' + noteId + 'ON').attr('style', 'display:none;color:red;font-weight: 600;');\r\n }\r\n\r\n AddDocumentsNew(val, Noteselected) {\r\n this.Upload = true;\r\n this.showDocumentAddDialogCss();\r\n this.selectedNotes = Noteselected;\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.uploadDocComp.OpenFilemanual('New')\r\n }, 50));\r\n\r\n }\r\n addlink(note) {\r\n this.openFileView = false;\r\n this.AttachDocument = true;\r\n this.selectedNotes = note;\r\n this.notesMainDiv = false;\r\n }\r\n showDocumentAddDialogCss() {\r\n setTimeout(function () {\r\n $('#Upload .dialog').attr('style', 'width:44%;padding-bottom:0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height:63%;overflow:auto;height:77%;left:0;top: 13.5% !important;padding:0;right:32%');\r\n }, 4)\r\n }\r\n\r\n UpdateNote(val) {\r\n this.noteidDiv = false;\r\n this.notes.type = this.selectedNotes.notestype;\r\n this.notes.isnewnote = 0\r\n this.notes.isdocumentid = this.isdocumentid;\r\n this.notes.id = this.selectedNotes.id;\r\n this.notes.userid = this.currentuser.id;\r\n this.notes.notedescription = this.selectedNotes.notedescription.replace(/(]+?>|

|<\\/p>|
|<\\/br>)/img, \"\");\r\n this.notes.notedescription = this.selectedNotes.notedescription.replace(/(]+?>|

|<\\/p>|
|<\\/br>| )/gi, \"\");\r\n this.notes.isDelink = val;\r\n if (this.notes.notedescription != undefined && this.notes.notedescription != \"\") {\r\n this.customerService.UpdateNotes(this.notes).then(result => {\r\n this.toastr.success(\"Notes saved successfully.\", \"Notes Saved\", { timeOut: 600 });\r\n this.Notes(\"Display All\");\r\n $('.fr-element').empty();\r\n $('.fr-element').html(\"\");\r\n\r\n });\r\n }\r\n }\r\n\r\n Notes(val) {\r\n let allContactIds = [];\r\n this.customerService.GetAllContactproviderByAccount(this.accountid, this.currentuser.id).then((contacts) => {\r\n if (contacts.length > 0) {\r\n allContactIds = contacts.map(x => x.id);\r\n this.GetCustomerNotes(this.currentuser.id, allContactIds.join(\",\"), 'AllContactsNotes', this.accountid.toString(), \"null\");\r\n } else {\r\n this.GetCustomerNotes(this.currentuser.id, \"0\", 'AllContactsNotes', this.accountid.toString(), \"null\");\r\n }\r\n\r\n }); \r\n }\r\n\r\n public GetAllNotes(contactid, type) {\r\n this.allnotes1 = [];\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((notes) => {\r\n notes.forEach(notes => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = notes.user + '
' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n notes.created = this.datePipe.transform(notes.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.AllnotesOriginal = this.allnotes1 = notes;\r\n for (let note of this.allnotes1) {\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n\r\n });\r\n }\r\n createColumnDefs(columnSelections: string, searchval: string, SearchSelectedItems) {\r\n let selfObj = this;\r\n var searcharray = [];\r\n if (selfObj.gridOptions.quickFilterText != null && selfObj.gridOptions.quickFilterText != undefined && selfObj.gridOptions.quickFilterText != '') {\r\n searcharray.push(selfObj.gridOptions.quickFilterText);\r\n }\r\n \r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") { \r\n columnSelectionsArray = columnSelections.split(',');\r\n selfObj.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n selfObj.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"customertypeid\") {\r\n selfObj.columnDefs.push({\r\n field: 'customertypeid', headerName: 'Customer Type', getQuickFilterText: () => '', hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" }\r\n else if (params.value == '56') { return \"Customer\" }\r\n else if (params.value == '57') { return \"Former Customer\" } else { return \"Non - Customer\" }\r\n }, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accountname\") {\r\n selfObj.columnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, \r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(' ');\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) { \r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \" \"; \r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }, \r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accnumber\") {\r\n selfObj.columnDefs.push({\r\n field: 'accnumber', headerName: 'Act Number', getQuickFilterText: () => '', hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }); \r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"mapit\") {\r\n selfObj.columnDefs.push({\r\n field: 'mapit', headerName: 'Map It', hide: false, getQuickFilterText: () => '',width: 80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n //eDiv.addEventListener('click', function () {\r\n //});\r\n return eDiv;\r\n } \r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"actions\") {\r\n selfObj.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, pinned: 'right', width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accountStatus\") {\r\n selfObj.columnDefs.push({\r\n field: 'accountStatus', headerName: 'Account Status', getQuickFilterText: () => '',cellRenderer(params) {\r\n if (params.value == 14) {\r\n return 'Active';\r\n } else {\r\n return 'On-Hold';\r\n }\r\n }, hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n selfObj.columnDefs.push({ field: 'notes', headerName: 'Notes', getQuickFilterText: () => '', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n\r\n }\r\n else {\r\n\r\n var res = this.TableColumns.filter(ele => ele.ColumnName == fieldHeaderVisibleArray[0] && ele.DataType == \"Pick List\")\r\n if (res.length > 0) {\r\n selfObj.columnDefs.push({\r\n field: fieldHeaderVisibleArray[0] == \"SalesRep\" ? \"salesrepusername\" : fieldHeaderVisibleArray[0] == \"leadfromid\" ? \"leadfrom\": fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, getQuickFilterText: () => '',\r\n width: parseInt(fieldHeaderVisibleArray[3]),\r\n cellRenderer(params) {\r\n if (params.value == '881') {\r\n return 'USA';\r\n } else if (params.value == '882') {\r\n return 'Bahamas';\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null)\r\n && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else if (fieldHeaderVisibleArray[0] == \"IsCustomer\" && (params.data.isCustomer == \"\" || params.data.isCustomer == undefined || params.data.isCustomer == null || params.data.isCustomer == 875)) {\r\n return \"No\"\r\n } else if (fieldHeaderVisibleArray[0] == \"IsCustomer\" && (params.data.isCustomer == \"\" || params.data.isCustomer == undefined || params.data.isCustomer == null || params.data.isCustomer == 874)) {\r\n return \"Yes\"\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"soldBy\") {\r\n if (params.data.soldBy == 0) { return \"Sales Team\"; }\r\n else if (params.data.soldBy == 1) { return \"Reseller\" }\r\n }\r\n else {\r\n return params.value;\r\n }\r\n }\r\n \r\n }\r\n });\r\n }\r\n else {\r\n if (fieldHeaderVisibleArray[0] == 'phone') {\r\n selfObj.columnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleArray[3]),\r\n cellRenderer: function (params) { \r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n\r\n });\r\n } else {\r\n selfObj.columnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1] ,\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, getQuickFilterText: () => '',\r\n width: parseInt(fieldHeaderVisibleArray[3]),\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n \r\n }\r\n }\r\n }\r\n else {\r\n\r\n if (selfObj.PageFrom == 'dashboard') {\r\n selfObj.columnDefs = [\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].toLowerCase().trim())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'OWNER', headerName: 'Owner', hide: false\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false,\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false\r\n },\r\n {\r\n field: 'zip', headerName: 'Zip', hide: false\r\n },\r\n { field: 'country', headerName: 'Country ', hide: false },\r\n \r\n { field: 'accounttypeName', headerName: 'Account Type', hide: false },\r\n {\r\n field: 'specialityName', headerName: 'Specialty', hide: false\r\n },\r\n {\r\n field: 'ehrName', headerName: 'EHR', hide: false\r\n },\r\n {\r\n field: 'pmName', headerName: 'PM', hide: false\r\n },\r\n {\r\n field: 'rcmName', headerName: 'RCM', hide: false\r\n }\r\n ];\r\n }\r\n else {\r\n selfObj.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n }];\r\n\r\n selfObj.TableColumns.forEach(ele => {\r\n if (ele.OldOrNew == 'Old') {\r\n switch (ele.ColumnName) {\r\n case 'id': {\r\n selfObj.columnDefs.push({ field: 'id', headerName: 'Id', getQuickFilterText: () => '', hide: true });\r\n break;\r\n }\r\n case 'customertypeid': {\r\n selfObj.columnDefs.push({\r\n field: 'customertypeid', headerName: 'Customer Type', getQuickFilterText: () => '', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" } else if (params.value == '57') { return \"Former Customer\" }\r\n }\r\n });\r\n break;\r\n }\r\n case 'accnumber': {\r\n selfObj.columnDefs.push({\r\n field: 'accnumber', headerName: 'Act Number', getQuickFilterText: () => '', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer), cellStyle: { color: 'red' }, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'IsContact': {\r\n selfObj.columnDefs.push({ field: 'IsContact', getQuickFilterText: () => '', headerName: ' Is Contact?', hide: false });\r\n break;\r\n }\r\n case 'accountname': {\r\n selfObj.columnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: false, suppressSorting: true, resizable: true,\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(' ');\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \" \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n \r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \" \r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n });\r\n break;\r\n }\r\n case 'speciality': {\r\n selfObj.columnDefs.push({\r\n field: 'specialityName', headerName: 'Specialty', getQuickFilterText: () => '', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n //if (x[i] == search || (x[i].toLowerCase() == params.data.SearchVal.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'address1': {\r\n selfObj.columnDefs.push({\r\n field: 'address1', headerName: 'Address1', getQuickFilterText: () => '', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'address2': {\r\n selfObj.columnDefs.push({\r\n field: 'address2', headerName: 'Address2', hide: false, getQuickFilterText: () => '', cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'city': {\r\n selfObj.columnDefs.push({\r\n field: 'city', headerName: 'City', hide: false, getQuickFilterText: () => '',cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'ownerid': {\r\n selfObj.columnDefs.push({\r\n field: 'OWNER', headerName: 'Owner', hide: false, getQuickFilterText: () => '', cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break\r\n }\r\n case 'state': {\r\n selfObj.columnDefs.push({\r\n field: 'state', headerName: 'State', hide: false, getQuickFilterText: () => '', cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'zip': {\r\n selfObj.columnDefs.push({\r\n field: 'zip', headerName: 'Zip', hide: false, getQuickFilterText: () => '', cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'phone': {\r\n selfObj.columnDefs.push({\r\n field: 'phone', headerName: 'Phone', hide: true, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'mapit': {\r\n selfObj.columnDefs.push({\r\n field: 'mapit', headerName: 'Map It', hide: false, getQuickFilterText: () => '',width: 80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n return eDiv;\r\n }\r\n });\r\n break;\r\n }\r\n case 'ehr': {\r\n selfObj.columnDefs.push({\r\n field: 'ehrName', headerName: 'EHR', hide: false, getQuickFilterText: () => '',cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'pm': {\r\n selfObj.columnDefs.push({\r\n field: 'pmName', headerName: 'PM', hide: false, getQuickFilterText: () => '', cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'rcm': {\r\n selfObj.columnDefs.push({\r\n field: 'rcmName', headerName: 'RCM', hide: false, getQuickFilterText: () => '', cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'ownerid': {\r\n selfObj.columnDefs.push({\r\n field: 'OWNER', headerName: 'Owner', hide: false, getQuickFilterText: () => '', cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'accounttype': {\r\n selfObj.columnDefs.push({\r\n field: 'accounttypeName', getQuickFilterText: () => '', headerName: 'Account Type', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'ownership': {\r\n selfObj.columnDefs.push({\r\n field: 'ownershipName', getQuickFilterText: () => '', headerName: 'Ownership', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'accountStatus': {\r\n selfObj.columnDefs.push({\r\n field: 'accountStatus', headerName: 'AccountStatus', getQuickFilterText: () => '', hide: true, cellRenderer: function (params) {\r\n if (params.value == 14) {\r\n return 'Active';\r\n } else {\r\n return 'On-Hold';\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'country': {\r\n selfObj.columnDefs.push({\r\n field: 'country', getQuickFilterText: () => '', headerName: 'Country', hide: true, cellRenderer: function (params) {\r\n if (params.value == 881) {\r\n return 'USA';\r\n } else if (params.value == 882) {\r\n return 'Bahamas';\r\n }\r\n else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'ProvidenceIsland': {\r\n selfObj.columnDefs.push({\r\n field: 'ProvidenceIsland', getQuickFilterText: () => '', headerName: 'Providence Island', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n case 'fax': {\r\n selfObj.columnDefs.push({\r\n field: 'fax', getQuickFilterText: () => '', headerName: 'Fax', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n case 'alterphone1': {\r\n selfObj.columnDefs.push({\r\n field: 'alterphone1', getQuickFilterText: () => '', headerName: 'alterphone1', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n case 'alterphone2': {\r\n selfObj.columnDefs.push({\r\n field: 'alterphone2', getQuickFilterText: () => '', headerName: 'alterphone2', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n case 'website': {\r\n selfObj.columnDefs.push({\r\n field: 'website', getQuickFilterText: () => '', headerName: 'website', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n case 'pmdatepurchased': {\r\n selfObj.columnDefs.push({\r\n field: 'pmdatepurchased', getQuickFilterText: () => '', headerName: 'PM Date Purchased', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n case 'ehrdatepurchased': {\r\n selfObj.columnDefs.push({\r\n field: 'ehrdatepurchased', getQuickFilterText: () => '', headerName: 'EHR Date Purchased', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n case 'rcmdatepurchased': {\r\n selfObj.columnDefs.push({\r\n field: 'rcmdatepurchased', getQuickFilterText: () => '', headerName: 'RCM Date Purchased', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n case 'created': {\r\n selfObj.columnDefs.push({\r\n field: 'created', getQuickFilterText: () => '', headerName: 'Created Date', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n case 'leadfrom': {\r\n selfObj.columnDefs.push({\r\n field: 'leadfrom', getQuickFilterText: () => '', headerName: 'Lead From', hide: true,\r\n cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n});\r\n break;\r\n }\r\n\r\n }\r\n\r\n\r\n }\r\n else {\r\n if (ele.DataType == \"Pick List\") {\r\n selfObj.columnDefs.push({\r\n field: ele.ColumnName, headerName: ele.DisplayAs, hide: true, width: 200, cellRenderer(params) {\r\n\r\n if (params.value != null && params.value != \"\") {\r\n return params.value.split(\":\")[1];\r\n } else {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n\r\n\r\n }\r\n })\r\n }\r\n else {\r\n selfObj.columnDefs.push({\r\n field: ele.ColumnName, headerName: ele.DisplayAs, hide: true, width: 200, cellRenderer: function (params) {\r\n if ((params.data.longtitude == \"\" || params.data.longtitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n } })\r\n }\r\n }\r\n\r\n }); \r\n selfObj.columnDefs.push({ field: 'Geo', headerName: 'Geo ', hide: false })\r\n selfObj.columnDefs.push({ field: 'longtitude', headerName: 'longtitude', hide: true })\r\n selfObj.columnDefs.push({ field: 'lattitude', headerName: 'lattitude', hide: true })\r\n selfObj.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false })\r\n selfObj.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: false, pinned: 'right' })\r\n\r\n }\r\n }\r\n }\r\n\r\n createLastActivityColumnDefs(columnSelections: string, searchval: string, SearchSelectedItems) {\r\n \r\n let selfObj = this;\r\n var searcharray = [];\r\n if (this.applicationComponent.searchCriteriadata != null) {\r\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\r\n if (searchaarraystring.includes(' /')) {\r\n searcharray = searchaarraystring.split(' / ');\r\n } else {\r\n searcharray.push(searchaarraystring);\r\n }\r\n }\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n selfObj.lastActivitycolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n selfObj.lastActivitycolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"customertypeid\") {\r\n selfObj.lastActivitycolumnDefs.push({\r\n field: 'customertypeid', headerName: 'Customer Type', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer),\r\n cellRenderer(params) { if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" } else if (params.value == '57') { return \"Former Customer\" } }, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accountname\") {\r\n selfObj.lastActivitycolumnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].toLowerCase().trim())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accnumber\") {\r\n selfObj.lastActivitycolumnDefs.push({\r\n field: 'accnumber', headerName: 'Act Number', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"mapit\") {\r\n selfObj.lastActivitycolumnDefs.push({\r\n field: 'mapit', headerName: 'Map It', hide: false, width: 80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n return eDiv;\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"actions\") {\r\n selfObj.lastActivitycolumnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, pinned: 'right', width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n selfObj.lastActivitycolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n\r\n }\r\n else {\r\n selfObj.lastActivitycolumnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleArray[3]),\r\n cellRenderer: function (params) {\r\n\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n\r\n if (searcharray.toString().toLowerCase().includes(x[i].toLowerCase().trim())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n selfObj.lastActivitycolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n {\r\n field: 'customertypeid', headerName: 'Customer Type', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" } else if (params.value == '57') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'accnumber', headerName: 'Act Number', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer), cellStyle: { color: 'red' }, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'IsContact', headerName: ' Is Contact?', hide: false },\r\n {\r\n\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'speciality', headerName: 'Specialty', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'zip', headerName: 'Zip', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'phone', headerName: 'Phone', hide: true, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'mapit', headerName: 'Map It', hide: false, width: 80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'ehr', headerName: 'EHR', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'pm', headerName: 'PM', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'rcm', headerName: 'RCM', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false\r\n },\r\n { field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: false, pinned: 'right' },\r\n \r\n ];\r\n\r\n }\r\n }\r\n\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n \r\n }\r\n txtPageSizeChanged(pageSize) {\r\n this.currentPage = 1;\r\n this.pageSize = pageSize;\r\n this.loadallaccounts($(\"#userids\").val(), false, this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n this.saveConfiguration();\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n \r\n }\r\n saveConfiguration()\r\n {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n } \r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n this.UpdateSearchColumns(config.columnsselections);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = (this.PageFrom == \"dashboard\") ? 17 : 21;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.applicationComponent.selectedItems.length; i++) {\r\n config.userid += this.applicationComponent.selectedItems[i].id + \",\";\r\n }\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n \r\n if ((fields[2] == 'true' && fields[1] != '#') && (fields[2] == 'true' && fields[0] != 'notes') && (fields[2] == 'true' && fields[0] != 'actions')) {\r\n \r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n \r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n\r\n if (element.subtab == 'CustomerAccount') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } else if (element.subtab == 'ContactsAccount') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } \r\n\r\n \r\n });\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0 ) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n else {\r\n this.accountService.GetDefaultColumns('ContactsAccount', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'accountname', \"itemName\": 'Account Name' }\r\n ];\r\n }\r\n });\r\n }\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, paginationPageSize: 1000, enableSorting: false, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: this.isShowAccountInfo ? 'single': 'multiple', enableCellChangeFlash: true, suppressSorting: true, suppressMultiSort: true \r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n }; \r\n let columnSelections: string;\r\n let configId = (this.PageFrom == \"dashboard\") ? 17:(this.PageFrom == \"Reports\") ? 51 : 21;\r\n \r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, configId).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n\r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n\r\n this.pageSize = (this.pageSize == \"\") ? '10' : this.pageSize;\r\n this.customerService.GetTableFields('Accounts', this.currentuser.id).then(result => {\r\n this.TableColumns = result;\r\n this.createColumnDefs(this.colSelections, this.applicationComponent.searchstring, this.applicationComponent.SearchSelectedItems);\r\n });\r\n\r\n if (localStorage.getItem('RhxAccountVal') != null && localStorage.getItem('RhxAccountVal') != undefined) {\r\n this.gridOptions.rowSelection = 'single';\r\n this.isShowAccountInfo = true;\r\n this.accountid = Number(localStorage.getItem('RhxAccountVal'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.accountid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n \r\n }\r\n });\r\n }, 300));\r\n this.customerService.GetByAccountId(this.accountid).then(AccResult => {\r\n this.Contactvalues = (AccResult.customertypeid != null) ? AccResult.customertypeid.toString() : '0';\r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, 0);\r\n\r\n });\r\n\r\n }\r\n else {\r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, 0);\r\n }\r\n this.UpdateSearchColumns(this.colSelections)\r\n\r\n });\r\n \r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeletecvComponent,\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n }\r\n\r\n \r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n if (this.isShowAccountInfo) {\r\n this.acccontactcomp.AccountData('show' + event.api.getSelectedNodes()[0].data.id);\r\n this.acccontactcomp.showSccountInfo = true;\r\n this.acccontactcomp.ShowContactView = false;\r\n this.accountid = event.api.getSelectedNodes()[0].data.id;\r\n }\r\n }\r\n }\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n\r\n if (this.gridApi.getSelectedRows()!=undefined && this.gridApi.getSelectedRows()?.length > 0 ) {\r\n $('#emailIds').val(this.gridApi.getSelectedRows().map(x => x.id).join(','));\r\n this.AccConIds = this.gridApi.getSelectedRows().map(x => x.id).join(',');\r\n $('#tasklistselectedtyle').val('Customer');\r\n } else {\r\n $('#emailIds').val(\"\");\r\n this.AccConIds = \"\";\r\n $('#tasklistselectedtyle').val('');\r\n }\r\n if (this.applicationComponent.googlemapshow) { \r\n if (this.addressMapComp != undefined) {\r\n this.addressMapComp.GetLocations(this.AccConIds, \"Accounts\");\r\n }\r\n } \r\n }\r\n \r\n cellDoubleClicked(rowEvent) {\r\n if (this.PageFrom == \"dashboard\") {\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/account/Customer`);\r\n SO.applicationComponent.ExpandSelectedMenu('customers');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n SO.applicationComponent.selectedtabid = 'customers';\r\n }, 50));\r\n }, 25));\r\n } else {\r\n this.applicationComponent.googlemapshow = false;\r\n this.applicationComponent.pageViewed = \"\";\r\n this.isSharing = false;\r\n this.isShowAccountInfo = true;\r\n this.accountid = rowEvent.data.id;\r\n localStorage.setItem('RhxAccountVal', rowEvent.data.id);\r\n this.gridOptions.rowSelection = 'single';\r\n if (this.EnableSearch) { this.EnableSearch = false; }\r\n }\r\n }\r\n AccountIdsReceived(msg) { \r\n this.allCustomers = this.allCustomers.filter(x => this.AccConIds.split(',').includes(x.id.toString()));\r\n \r\n }\r\n MapItEventListner() { \r\n if (this.applicationComponent.isMapItEventRaised) {\r\n this.IsEditAccount = false;\r\n if (!this.IsshowFirst) {\r\n this.createColumnDefs(this.colSelections, this.applicationComponent.searchstring, this.applicationComponent.SearchSelectedItems);\r\n this.IsshowFirst = true; \r\n }\r\n } \r\n else {\r\n this.applicationComponent.googlemapshow = false;\r\n\r\n }\r\n }\r\n ngOnInit() {\r\n this.applicationComponent.googlemapshow = false;\r\n localStorage.removeItem('CompaignselVal');\r\n this.route.params.subscribe(params => {\r\n this.term = params['term'];\r\n if (this.PageFrom !== 'dashboard') {\r\n this.type = params['type'];\r\n if (this.type == \"Customer\") { this.applicationComponent.selectedbuttonText = \"Customers\"; }\r\n else {\r\n this.applicationComponent.selectedbuttonText = \"Accounts\";\r\n }\r\n } \r\n this.map = params['map'];\r\n $(\".checkMark\").removeClass(\"activeColor\");\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n \r\n });\r\n \r\n if ((this.type === \"Customer\") && this.PageFrom !='dashboard') {\r\n this.applicationComponent.pageViewed = \"Customer\";\r\n if (this.currentuser.defaultSearchPage == 1) {\r\n this.EnableSearch = true;\r\n } else { this.EnableSearch = false; }\r\n } else {\r\n this.applicationComponent.pageViewed = \"\";\r\n this.isShowAccountInfo = false;\r\n }\r\n \r\n this.search = this.applicationComponent.searchstring; \r\n \r\n if (this.type == \"Customer\") {\r\n this.Contactvalues = '1';\r\n }\r\n \r\n if (this.term != \"SearchCriteria\") { \r\n this.initializeAgGrid();\r\n }\r\n \r\n this.isViewInitialized = true;\r\n \r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 50));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 50));\r\n }\r\n\r\n this.accountCreatedDate = this.account.created;\r\n this.getSelectedtmyDashDefGridBox();\r\n }\r\n\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n this.saveConfiguration();\r\n this.loadallaccounts($(\"#userids\").val(), false, this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n }\r\n AssignStartAndEndDate(event) {\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n userListOutParamsBinding(outProps) {\r\n this.finalitems = outProps.finalitems;\r\n this.items = outProps.items;\r\n this.itemCount = outProps.itemsCount;\r\n this.applicationComponent.selectedItems = outProps.selectedItems;\r\n }\r\n\r\n loadallaccounts(userids, isSearch: boolean, startrow, endrow, accstatus) {\r\n if (accstatus == undefined)\r\n accstatus = 0;\r\n var today = new Date();\r\n var startDate = today.getFullYear() + '-01-01';\r\n var endDate = today.getFullYear() + '-12-31';\r\n $('#startdate').val(startDate);\r\n $('#enddate').val(endDate);\r\n userids = $(\"#userids\").val();\r\n this.applicationComponent.selectedusers = userids;\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.searchCriteriadata = [];\r\n \r\n if (this.type == \"Customer\" || this.type == \"imported\") { \r\n this.opprtunityservice.GetAllAccountsBySearchNew(this.currentuser.id, this.term, userids, this.type, (this.calanderonoff) ? '2018-01-01' : '2018-01-01',\r\n this.endDateVal, startrow, endrow, this.Contactvalues, accstatus).then((account) => { \r\n if (this.PageFrom == 'dashboard') { \r\n if (this.selectedmyDashDefGridBoxid == 2) {\r\n var date = new Date();\r\n var firstDay = new Date(date.getFullYear(), date.getMonth(), 1); var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n this.allCustomers = this.OriginalAllCustomers = account.filter(x => x.created >= moment(firstDay.toString()).format(\"YYYY-MM-DD\") && x.created <= moment(lastDay.toString()).format(\"YYYY-MM-DD\"));\r\n } else {\r\n this.allCustomers = this.OriginalAllCustomers = account.filter(x => x.customertypeid == 1);\r\n }\r\n this.isShowAccountInfo = false;\r\n } else { \r\n if (this.currentuser.defaultSearchPage == 0) {\r\n this.OriginalAllCustomers = account;\r\n this.allCustomers = this.OriginalAllCustomers;\r\n if (this.currentuser.hidecustomer == 1 && !this.EnableSearch) {\r\n this.allCustomers = [];\r\n } else if (this.currentuser.hidecustomer == 1 && this.EnableSearch) { \r\n if (this.value != null && this.value != \"\") { \r\n this.allCustomers = this.OriginalAllCustomers;\r\n }\r\n }\r\n else { \r\n this.allCustomers = this.OriginalAllCustomers;\r\n }\r\n } else {\r\n this.OriginalAllCustomers = account;\r\n this.allCustomers = [];\r\n }\r\n\r\n if (!this.isSharedAccts) {\r\n this.allCustomers = this.OriginalAllCustomers.filter(x => x.ownerid == this.currentuser.id);\r\n this.allCustomers = this.OriginalAllCustomers.filter(x => x.customertypeid == 1 && x.ownerid == this.currentuser.id);\r\n }\r\n \r\n }\r\n // }\r\n if (this.allCustomers.length > 0) {\r\n if (localStorage.getItem('RhxAccountVal') != null && localStorage.getItem('RhxAccountVal') != undefined) {\r\n this.gridOptions.rowSelection = 'single';\r\n this.accountid = Number(localStorage.getItem('RhxAccountVal'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.accountid) {\r\n selfObj.gridOptions.api.selectNode(node, true); \r\n }\r\n });\r\n }, 500));\r\n }\r\n } \r\n });\r\n }\r\n else if (this.type == \"Contact\" || this.type == \"imported\" || this.type == \"Accounts\") { \r\n this.opprtunityservice.GetAllAccountsBySearchNew(this.currentuser.id, this.term != undefined ? this.term : 'All', userids,\r\n this.type, (this.calanderonoff) ? '2018-01-01' : '2018-01-01', this.endDateVal, startrow, endrow, this.Contactvalues, accstatus).then((account) => { \r\n this.allCustomers = this.OriginalAllCustomers = account.filter(x => x.isCustomer == null || x.isCustomer == 875);\r\n console.log(\"this.allCustomers\", this.allCustomers);\r\n if (this.allCustomers.length > 0) {\r\n if (localStorage.getItem('RhxAccountVal') != null && localStorage.getItem('RhxAccountVal') != undefined) {\r\n this.gridOptions.rowSelection = 'single';\r\n this.accountid = Number(localStorage.getItem('RhxAccountVal'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.accountid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n }\r\n }\r\n }); \r\n }\r\n \r\n \r\n }\r\n reloadItems(params) {\r\n if (this.itemResource != undefined) {\r\n this.itemResource.query(params).then(items => this.items = items);\r\n }\r\n }\r\n onItemSelectAccount(item: any) {\r\n var ids = item.id;\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, this.active_deactiveStatus);\r\n }\r\n OnItemDeSelect(item: any) {\r\n\r\n var ids = item.id;\r\n var result = \"\";\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n } else {\r\n this.allCustomers = [];\r\n $(\"#userids\").val('');\r\n } \r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, this.active_deactiveStatus);\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, this.active_deactiveStatus);\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.allCustomers = [];\r\n $(\"#userids\").val('');\r\n this.applicationComponent.selectedusers = null;\r\n \r\n }\r\n \r\n Close(locationid) {\r\n var c = confirm(\"This Account has been Deleted.So you want to restore this account and all the contacts associated with this account to Active ?\");\r\n if (c == true) {\r\n document.getElementById('location' + locationid).remove();\r\n this.customerService.updatemultiplelocation(locationid).then((user) => { });\r\n }\r\n }\r\n OpenMultiplelocation(rowEvent) {\r\n this.multiplelocationshowDialog = !this.multiplelocationshowDialog\r\n this.alllocations = false;\r\n this.addnewlocation = true;\r\n this.opprtunityservice.GetByAccountId(rowEvent.id).then(result => {\r\n this.account = result;\r\n this.GetAccountlocation(rowEvent.id); \r\n });\r\n\r\n }\r\n GetAccountlocation(accid) {\r\n this.customerService.GetLocationByAccountId(accid).then(result => {\r\n result.forEach(Owner => {\r\n });\r\n this.accountlocationlist = result;\r\n });\r\n }\r\n rowDoubleClick(rowEvent) {\r\n if (rowEvent.row.item.permission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account-contact/${rowEvent.row.item.permission}/show${rowEvent.row.item.id}`)\r\n }\r\n }\r\n\r\n NewLocation() {\r\n this.addnewlocation = false;\r\n this.alllocations = true;\r\n document.getElementById('alllocations').style.display = 'none';\r\n document.getElementById('addnewlocation').style.display = 'block';\r\n this.customerService.GetLocationByAccountId(this.account.id).then(result => {\r\n this.addresses = result;\r\n this.setAddresses(this.addresses);\r\n });\r\n }\r\n SaveLocation() {\r\n this.addresses = this.prepareSaveHero();\r\n this.addresses[0].accountid = this.account.id;\r\n this.accountService.addaccountLocations(this.addresses).then(result => {\r\n this.GetAccountlocation(this.account.id);\r\n this.alllocations = true;\r\n this.addnewlocation = true;\r\n \r\n });\r\n\r\n document.getElementById('alllocations').style.display = 'block';\r\n document.getElementById('addnewlocation').style.display = 'none';\r\n\r\n }\r\n prepareSaveHero(): Accountlocations[] {\r\n const formModel = this.heroForm.value;\r\n const secretLairsDeepCopy: Accountlocations[] = formModel.secretLairs.map(\r\n (address: Accountlocations) => Object.assign({}, address),\r\n );\r\n return secretLairsDeepCopy;\r\n }\r\n Cancel() {\r\n this.alllocations = false;\r\n this.addnewlocation = true;\r\n document.getElementById('alllocations').style.display = 'block';\r\n document.getElementById('addnewlocation').style.display = 'none';\r\n }\r\n get secretLairs(): FormArray {\r\n return this.heroForm.get('secretLairs') as FormArray;\r\n };\r\n\r\n setAddresses(addresses: Accountlocations[]) {\r\n const addressFGs = addresses.map(address => this.fb.group(address));\r\n const addressFormArray = this.fb.array(addressFGs);\r\n this.heroForm.setControl('secretLairs', addressFormArray);\r\n }\r\n\r\n addLair() {\r\n this.secretLairs.push(this.fb.group(new Accountlocations()));\r\n }\r\n \r\n \r\n oneventReceived(msg) {\r\n this.IsEditAccount = false;\r\n this.type = 'Contact';\r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, this.active_deactiveStatus);\r\n }\r\n deletedialogclose() {\r\n this.showDeleteDialog = false;\r\n \r\n }\r\n deleteRowAg(rowdata) {\r\n if (rowdata.permission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n }\r\n else { \r\n this.selectedAccountid = rowdata.id;\r\n if (rowdata.isdeleted == 1) {\r\n var c = confirm(\"Are you sure you want to re-activate this account??\");\r\n if (c == true) {\r\n this.customerService.DeactivateAccount(rowdata.id, 0, this.currentuser.id).then((user) => {\r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, this.active_deactiveStatus);\r\n });\r\n }\r\n } else {\r\n if (rowdata.ownerid == this.currentuser.id) { \r\n this.title = \"DELETE ACCOUNT\";\r\n this.subtitle = \"Delete this Account and all Contacts\";\r\n this.isdelete = true;\r\n this.accountService.checkLeadorOpportunityOpen(rowdata.id).then(result => {\r\n this.AccountTasksCounts = result\r\n this.customerService.GetByAccountId(rowdata.id).then(account => {\r\n this.account = account;\r\n if (this.AccountTasksCounts.TotalLeads == 0 && this.AccountTasksCounts.TotalOpportunities == 0 && this.AccountTasksCounts.TotalPendProposals == 0 && this.AccountTasksCounts.TotalTasks == 0 && this.AccountTasksCounts.TotalTickets == 0) {\r\n this.isopenopr = false;\r\n }\r\n else {\r\n this.isopenopr = true;\r\n }\r\n });\r\n \r\n });\r\n } else {\r\n this.title = \"DELETE ACCOUNT - ACCESS DENIED\";\r\n this.subtitle = \"You are not the owner of this account\";\r\n this.isdelete = false;\r\n }\r\n this.showDeleteDialog = true;\r\n this.showDeleteDialogCss();\r\n }\r\n }\r\n\r\n }\r\n ActiateRowAg(rowdata) {\r\n \r\n }\r\n DeactivateAccountstatus(AccId) {\r\n this.customerService.DeactivateAccount(AccId, 1, this.currentuser.id).then((user) => {\r\n this.showDeleteDialog = false;\r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, this.active_deactiveStatus);\r\n });\r\n }\r\n\r\n openNotesDialogAg(rowdata) {\r\n if (rowdata.permission == \"view\" && this.currentuser.customertypeaccess == 0) {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n $('#accotIdNotes').val(rowdata.id);\r\n $('#accotTypeNotes').val('Customer');\r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n this.conid = rowdata.id;\r\n \r\n }\r\n }\r\n\r\n GetCustomerNotes(currentuserid, contactid, type, accidofallcontacts: string = \"0\", OppType: string) {\r\n var moment = require('moment-timezone');\r\n this.customerService.GetAllNotesListNew(currentuserid, contactid, type, accidofallcontacts, OppType).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var timeDisplay = items.user + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n\r\n });\r\n this.AllnotesOriginal = this.allnotes1 = taskhistory;\r\n for (let note of this.allnotes1) {\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n if (this.selectedTabName == '1') {\r\n this.allnotes1 = this.AllnotesOriginal.filter(x => x.isnewnote !== null);\r\n } else {\r\n this.allnotes1 = this.AllnotesOriginal\r\n }\r\n });\r\n\r\n }\r\n\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: true, enableColResize: true, paginationPageSize: 1000,enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(columnSelections: string) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n return '';\r\n } \r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n return '';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellStyle: { 'text-align': 'left' }, cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', cellStyle: { 'text-align': 'left' }, headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellStyle: { 'text-align': 'left' },cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n }\r\n onAgGridReadynotes(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllnotes() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds);\r\n }\r\n\r\n }\r\n sharingAg(rowdata) {\r\n if (this.account.ownerid == this.currentuser.id || this.currentuser.systemadministrator==1) {\r\n this.accountid = rowdata.id;\r\n this.isSharing = true;\r\n this.isSharingCss();\r\n this.IsEditAccount = false;\r\n }\r\n \r\n }\r\n\r\n editRowAg(rowdata) { \r\n if (rowdata.permission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n }\r\n else {\r\n this.IsEditAccount = true;\r\n this.showAddEditAccountCss(); \r\n this.accountid = rowdata.id; \r\n }\r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n\r\n ExpandPDF(val) {\r\n this.notesshowDialog = true;\r\n this.QuickViewDialogCss(val);\r\n this.DocExpandView = val;\r\n }\r\n QuickViewDialogCss(val) {\r\n if (val == true) { //expand\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n dialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 32%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 23%;overflow: visible;height: 24%;');\r\n }, 4));\r\n }\r\n showDeleteDialogCss() {\r\n $(setTimeout(function () {\r\n $('#showDeleteDialog .dialog').attr('style', 'width: 50%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4));\r\n }\r\n openDisplaynotes(params) {\r\n this.NotesDec = !this.NotesDec;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n $(setTimeout(function () {\r\n \r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n \r\n }\r\n onFilterTextBoxChanged() {\r\n if (this.currentuser.defaultSearchPage == 1) {\r\n if ((document.getElementById('filter-text-box') as HTMLInputElement).value == \"\") {\r\n this.allCustomers = [];\r\n } else {\r\n this.allCustomers = this.OriginalAllCustomers; \r\n }\r\n }\r\n this.gridApi.setQuickFilter(\r\n (document.getElementById('filter-text-box') as HTMLInputElement).value\r\n );\r\n this.gridOptions.quickFilterText = (document.getElementById('filter-text-box') as HTMLInputElement).value;\r\n if (this.currentuser.hidecustomer == 1 && this.EnableSearch) {\r\n this.allCustomers = this.OriginalAllCustomers.filter(x => x.accountname.indexOf(this.value));\r\n }\r\n this.createColumnDefs(this.colSelections, this.applicationComponent.searchstring, this.applicationComponent.SearchSelectedItems);\r\n this.gridApi.redrawRows(); \r\n }\r\n openfile(documentid, note, index) {\r\n this.documentindex = index\r\n this.selectedNotes = note;\r\n this.userdocumentlist = this.selectedNotes.docList;\r\n this.userdocumentcount = this.selectedNotes.docList.length;\r\n this.getImageData(documentid);\r\n }\r\n getImageData(documentid) {\r\n var myBaseString = \"\";\r\n this.customerService.GetDocumentById(documentid).then(result => {\r\n if (result.permissionlevel <= this.currentuser.permissionlevelid) {\r\n myBaseString = result.imagecontent;\r\n let objSelf = this;\r\n this.openFileView = true\r\n $(setTimeout(function () {\r\n objSelf.onDocumentOpen(myBaseString);\r\n }, 100));\r\n\r\n $('.bodyContaint').css('height', '600px')\r\n $('#NotespdfDiv').css('');\r\n }\r\n else {\r\n this.DocViewAccessDeniedCss();\r\n }\r\n\r\n });\r\n }\r\n\r\n DocViewAccessDeniedCss() {\r\n this.DocViewAccessDenied = true;\r\n setTimeout(function () {\r\n $('#DocViewAccessDenied .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n\r\n onDocumentOpen(myBaseString) {\r\n $('#NotespdfDiv').html('')\r\n $('#NotespdfDiv').attr('style', 'height: 93%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n }\r\n\r\n saveEditedNote() {\r\n \r\n }\r\n \r\n loadselectedcontacts(str) {\r\n \r\n let selfObj = this;\r\n $(setTimeout(function () { \r\n selfObj.initializeAgGrid();\r\n selfObj.loadallaccounts($(\"#userids\").val(), false, selfObj.currentPage, selfObj.pageSize, selfObj.active_deactiveStatus);\r\n\r\n }, 400));\r\n }\r\n \r\n onCloseEventReceived(msg)\r\n {\r\n this.isSharing = false;\r\n if (msg == \"Save\") {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.loadallaccounts($(\"#userids\").val(), false, selfObj.currentPage, selfObj.pageSize, selfObj.active_deactiveStatus);\r\n }, 100));\r\n \r\n }\r\n else if (msg == \"AccountEdit\") {\r\n this.IsEditAccount = true;\r\n this.contactid = this.accountid;\r\n this.type = \"Customer\";\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.editcontactComp.editRowAg(selfObj.accountid, \"Customer\") \r\n }, 100));\r\n }\r\n\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n if (outProps.enableSearch) { this.EnableSearch = true; }\r\n if (outProps.custType == \"Display contact\") {\r\n this.SelectCustomerType(\"Display contact\");\r\n } else {\r\n if (outProps.finalitems == \"\" || outProps.finalitems == undefined) {\r\n this.allCustomers = [];\r\n } else {\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n\r\n if (outProps.fifthDrpValue == \"No Shared Accounts\") {\r\n this.isSharedAccts = false;\r\n } else if (outProps.fifthDrpValue == \"All Shared Accounts\") { this.isSharedAccts = true; }\r\n\r\n if (outProps.fourthDrpValue != \"0\" && outProps.fourthDrpValue != undefined &&\r\n outProps.fourthDrpValue != \"All Activity\" && outProps.fourthDrpValue != \"\") {\r\n this.opprtunityservice.GetAlllastActivity($(\"#userids\").val(), outProps.fourthDrpValue,\r\n (this.type == 'Customer') ? '1' : '0').then((accounts) => {\r\n this.allCustomers = accounts;\r\n\r\n });\r\n\r\n } else if (outProps.thirdDrpValue != \"0\" && outProps.thirdDrpValue != undefined && outProps.thirdDrpValue != \"All Activity\" && outProps.thirdDrpValue != \"\") {\r\n this.allCustomers = this.OriginalAllCustomers.filter(x => x.accounttypeName == outProps.thirdDrpValue);\r\n } else {\r\n if (this.type == 'Customer') {\r\n if (outProps.secondDrpValue == '1') {\r\n this.allCustomers = this.OriginalAllCustomers.filter(x => x.isCustomer == 874 && x.accountStatus == 14);\r\n } else if (outProps.secondDrpValue == '2') {\r\n this.allCustomers = this.OriginalAllCustomers.filter(x => x.isCustomer == 874 && x.accountStatus == 15);\r\n }\r\n else {\r\n if (this.currentuser.hidecustomer == 1 && !this.EnableSearch) {\r\n this.allCustomers = [];\r\n } else if (this.currentuser.hidecustomer == 1 && this.EnableSearch) {\r\n if (this.value != null && this.value != \"\") {\r\n this.allCustomers = this.OriginalAllCustomers;\r\n }\r\n }\r\n else {\r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, 0);\r\n }\r\n }\r\n }\r\n else if (this.type == 'Accounts') {\r\n if (outProps.secondDrpValue == '1') {\r\n this.allCustomers = this.OriginalAllCustomers.filter(x => x.isCustomer != 874 && x.accountStatus == 14);\r\n }\r\n else if (outProps.secondDrpValue == '2') {\r\n this.allCustomers = this.OriginalAllCustomers.filter(x => x.isCustomer != 874 && x.accountStatus == 15);\r\n}\r\n else {\r\n \r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, 0);\r\n }\r\n }\r\n else {\r\n this.allCustomers = this.OriginalAllCustomers.filter(x => x.isCustomer == null || x.isCustomer == 875);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n onCellValueChanged($event) { \r\n \r\n }\r\n \r\n SelectCustomerType(val) {\r\n if (val == 'Display contact') {\r\n this.router.navigateByUrl(`/application/customercontacts`);\r\n }\r\n this.customerService.UpdateCustomerType(val, this.currentuser.id).then((user) => {\r\n localStorage.setItem('CustomerType', user.CustomerTypeView);\r\n \r\n }); \r\n }\r\n SelectedRows(val) {\r\n \r\n }\r\n SelectCustomer(val) {\r\n this.loadselectedcontacts(val);\r\n }\r\n\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n this.IsEditAccount = false;\r\n this.loadallaccounts($(\"#userids\").val(), false, 1, this.pageSize, 0); \r\n }\r\n }\r\n\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n\r\n expandaccountView(value) {\r\n \r\n if (value === 'Collapse') {\r\n this.isAccountViewOpen = false;\r\n if (this.applicationComponent.googlemapshow) {\r\n this.isGooglemapExpandOpen = true; \r\n } else {\r\n this.acccontactcomp.SixBoxExpand = true;\r\n this.acccontactcomp.tab = 'QuickView';\r\n }\r\n }\r\n else {\r\n this.isAccountViewOpen = true;\r\n if (this.applicationComponent.googlemapshow) {\r\n this.isGooglemapExpandOpen = false;\r\n } else {\r\n this.acccontactcomp.SixBoxExpand = false;\r\n this.acccontactcomp.tab = 'QuickView';\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.accountid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n \r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n }\r\n }\r\n }\r\n EventReceived(msg) {\r\n if (msg == \"StatusId\") { this.isStatusidopen = true }\r\n else if (msg == \"QuickView\") { this.CloseAccountDiv(); }\r\n }\r\n CloseaccountIds() { this.isStatusidopen = false; }\r\n CloseAccountDiv() {\r\n this.isShowAccountInfo = false;\r\n this.isAccountViewOpen = true;\r\n if (this.type === \"Customer\") {\r\n this.applicationComponent.activateMainButtons('customers');\r\n } else {\r\n this.applicationComponent.activateMainButtons('Accounts');\r\n } \r\n }\r\n isSharingCss() {\r\n setTimeout(function () {\r\n $('#isSharingDialog .dialog').attr('style', 'width: 35%;padding-bottom: 0px;border: 1px solid rgb(117, 218, 51);min-height: 63%;overflow: auto;height: 82.5%;padding: 0;top: 10%;left: 63%;');\r\n }, 4)\r\n }\r\n ClearSearch() {\r\n this.gridApi.setQuickFilter('');\r\n this.value = \"\";\r\n this.gridOptions.quickFilterText = \"\";\r\n if (this.currentuser.defaultSearchPage == 1) {\r\n this.EnableSearch = true;\r\n this.allCustomers = [];\r\n } else { this.EnableSearch = false; }\r\n if (this.type == \"Customer\" && this.currentuser.hidecustomer == 1) { this.allCustomers = []; }\r\n this.gridOptions.quickFilterText = \"\";\r\n this.createColumnDefs(this.colSelections, this.applicationComponent.searchstring, this.applicationComponent.SearchSelectedItems);\r\n this.gridApi.redrawRows();\r\n\r\n }\r\n}\r\n","\r\n

\r\n
\r\n
\r\n ACCOUNT VIEW\r\n ACCOUNT \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n 0\" (click)=\"buttonClick('FutureTask','')\" style=\"height: 25px;\" title=\"Future Task\" />\r\n\r\n
\r\n
\r\n \r\n 0\" title=\"Add Notes\" />\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n {{viewaccount.viewaccountname}}\r\n
\r\n
\r\n {{viewaccount.viewaddress1}}\r\n
\r\n
{{viewaccount.viewaddress2}}
\r\n
\r\n \r\n {{viewaccount.viewcity}}\r\n , {{viewaccount.viewstate | uppercase}}.\r\n {{viewaccount.ProvidenceIsland}}\r\n {{viewaccount.viewzip | slice:0:5}} 5\">-{{viewaccount.viewzip | slice:5:20}}\r\n
\r\n
\r\n \r\n {{viewaccount.viewstate}}\r\n {{viewaccount.ProvidenceIsland}}\r\n
\r\n
{{viewaccount.viewCountry}}
\r\n
\r\n Phone : {{viewaccount.viewphone}}\r\n , \r\n Fax: {{viewaccount.viewfax}}\r\n
\r\n
\r\n\r\n
\r\n \r\n {{viewaccount.viewwebsite}}\r\n \r\n \r\n Website Address Not Entered\r\n \r\n
\r\n
\r\n
\r\n Owner : {{viewaccount.ownerName}}\r\n
\r\n
\r\n {{applicationComponent.selectedbuttonText}}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{contact.firstname}} {{contact.middlename}} {{contact.lastname}} , {{contact.titleName}}
\r\n
\r\n {{viewaccount.viewaccountname}}\r\n
\r\n
{{viewaccount.viewaddress1}}
\r\n
{{viewaccount.viewaddress2}}
\r\n\r\n
\r\n {{viewaccount.viewcity}}\r\n , {{viewaccount.viewstate | uppercase}}.\r\n {{viewaccount.ProvidenceIsland}}\r\n  {{viewaccount.viewzip | slice:0:5}} 5\">-{{viewaccount.viewzip | slice:5:20}}\r\n
\r\n
{{viewaccount.viewCountry}}
\r\n
\r\n Phone : {{viewaccount.viewphone}}\r\n , \r\n Fax: {{viewaccount.viewfax}}\r\n
\r\n
\r\n\r\n
\r\n \r\n {{viewaccount.viewwebsite}}\r\n \r\n
\r\n
\r\n Owner : {{viewaccount.ownerName}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
 {{this.account.specialityName}}
\r\n
 {{this.account.ehrName | slice:0:20}}
\r\n
 {{this.account.pmName | slice:0:20}}
\r\n
 {{this.account.rcmName | slice:0:18}}
\r\n
\r\n  {{LastContactDate}}\r\n \r\n
\r\n
 {{LastTicketDate}}
\r\n
 {{salesrepName}}
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { StatusIdsComponent } from '../status-ids/status-ids.component';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Router } from '@angular/router';\r\nimport { ScheduletaskComponent } from '../scheduletask/scheduletask.component';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { AccountsService } from '../../services/accounts.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'account-details',\r\n templateUrl: './account-details.component.html',\r\n styleUrls: ['./account-details.component.css']\r\n})\r\nexport class AccountDetailsComponent implements OnInit {\r\n @Input()\r\n viewaccount: any;\r\n @Input()\r\n account: Accounts;\r\n @Input()\r\n contact: any;\r\n @Input()\r\n tab: string;\r\n @Input()\r\n noteslist: any;\r\n @Input()\r\n pageFrom: any;\r\n @Input()\r\n ViewData: any;\r\n \r\n @Output()\r\n btnClickEvent = new EventEmitter();\r\n @ViewChild(StatusIdsComponent) statuidscmp;\r\n @ViewChild(ScheduletaskComponent) shedTaskcmp;\r\n LastTicketDate;\r\n LastContactDate;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n currentuser: any;\r\n salesrepName: string;\r\n taskhistory: TaskHistory = new TaskHistory();\r\n futureTask: boolean = true;\r\n activitieslist: Array = [];\r\n today = Date.now();\r\n pageViewed = \"\";\r\n RWActive: boolean = false; statusIdExist: boolean = false;\r\n constructor(private accountsService: AccountsService,private customerService: CustomerService, private router: Router, public applicationComponent: ApplicationComponent,private leadservice: LeadsService) { this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); }\r\n\r\n ngOnInit(): void {\r\n \r\n if (this.viewaccount && this.viewaccount.accountId != undefined) {\r\n this.getAccountHistory(this.viewaccount.accountId); \r\n }\r\n }\r\n RWActiveClick(val) { }\r\n \r\n loadAccountId(accountId) {\r\n this.getAccountHistory(accountId); \r\n if (this.viewaccount.viewcity == 'Nassau') { this.viewaccount.viewCountry = \"Bahamas\"; } \r\n \r\n this.accountsService.GetAccountStatusIds(accountId,'Account').then(result => {\r\n this.CheckStatusIDExist(result);\r\n });\r\n }\r\n CheckStatusIDExist(result) {\r\n if (result != undefined && (result.StatusID1 != null || result.StatusID2 != null || result.StatusID3 != null || result.StatusID4 != null || result.StatusID5 != null || result.StatusID6 != null ||\r\n result.StatusID7 != null || result.StatusID8 != null || result.StatusID9 != null || result.StatusID10 != null || result.StatusID11 != null || result.StatusID12 != null ||\r\n result.StatusID13 != null || result.StatusID14 != null || result.StatusID15 != null || result.StatusID16 != null || result.StatusID17 != null || result.StatusID18 != null ||\r\n result.StatusID19 != null || result.StatusID20 != null || result.StatusID21 != null || result.StatusID22 != null || result.StatusID23 != null || result.StatusID24 != null ||\r\n result.StatusID25 != null || result.StatusID26 != null || result.StatusID27 != null || result.StatusID28 != null || result.StatusID29 != null || result.StatusID30 != null ||\r\n result.StatusID31 != null || result.StatusID32 != null || result.StatusID33 != null || result.StatusID34 != null || result.StatusID35 != null || result.StatusID36 != null ||\r\n result.StatusID37 != null || result.StatusID38 != null || result.StatusID39 != null || result.StatusID40 != null)) {\r\n this.statusIdExist = true;\r\n return true;\r\n } else {\r\n this.statusIdExist = false;\r\n return false;\r\n }\r\n }\r\n getAccountHistory(accountId) {\r\n \r\n this.customerService.GetByAccountIdNew(accountId).then(result => {\r\n this.account = JSON.parse(result);\r\n \r\n if (this.statuidscmp != undefined) {\r\n this.statuidscmp.GetAccountInfo(accountId);\r\n }\r\n });\r\n\r\n this.customerService.LastTicketCreatedDateByAccID(this.viewaccount.accountId).then(result1 => {\r\n if (result1 != null && result1 != '0001-01-01T00:00:00') {\r\n this.LastTicketDate = this.datePipe.transform(result1, \"dd-MM-yyyy\")\r\n }\r\n });\r\n this.customerService.LastContactedDateByAccID(this.viewaccount.accountId).then(result2 => {\r\n if (result2 != null && result2 != '0001-01-01T00:00:00') {\r\n this.LastContactDate = this.datePipe.transform(result2, \"dd-MM-yyyy\");\r\n }\r\n });\r\n this.customerService.GetSalerepName(this.viewaccount.accountId).then(result3 => { \r\n this.salesrepName = result3; \r\n });\r\n this.leadservice.GetAllTaskHistoryByContact(accountId, 'Customer', this.currentuser.timezone).then((activities) => {\r\n this.activitieslist = activities;\r\n this.activitieslist = this.activitieslist.filter(x => x.estcompleteddate > this.datePipe.transform(this.today, \"yyyy-MM-dd\"));\r\n });\r\n\r\n }\r\n\r\n NavigateToCalender() {\r\n this.btnClickEvent.emit({ btnName: 'Calander', val: '' }); \r\n this.applicationComponent.activateMainButtons('Calendar'); \r\n }\r\n ContactInfo(val) {\r\n if (val != undefined) {\r\n this.customerService.LoadContactById(val).then(result => {\r\n this.contact = result;\r\n });\r\n }\r\n }\r\n buttonClick(btnName, val) { \r\n this.btnClickEvent.emit({ btnName: btnName, val: val }); \r\n }\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n SEARCH RESULTS\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
0\">\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Account Transfer
\r\n Leave Account Transfer Page?\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Account Transfer
\r\n Transfer Account Ownership\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, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject } from 'rxjs';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { AccountTransferModel } from '../../models/AccountTransferModel';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\nimport \"rxjs/add/operator/debounceTime\";\r\nimport \"rxjs/add/operator/distinctUntilChanged\";\r\nimport \"rxjs/add/operator/mergeMap\";\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/debounceTime';\r\nimport 'rxjs/add/operator/distinctUntilChanged';\r\nimport 'rxjs/add/operator/switchMap';\r\n\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { QuickSearchModel } from '../../models/QuickSearchmodel';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport * as moment from 'moment';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\n\r\n@Component({\r\n selector: 'app-account-transfer-ownership',\r\n templateUrl: './account-transfer-ownership.component.html',\r\n styleUrls: ['./account-transfer-ownership.component.css']\r\n})\r\nexport class AccountTransferOwnershipComponent implements OnInit {\r\n FromDropdownList = [];\r\n fromDropdownSettings = {};\r\n FromSelectedItems = [];\r\n ToDropdownList = [];\r\n ToDropdownSettings = {};\r\n ToSelectedItems = [];\r\n dropdownSetting = {};\r\n TransferedAccounts: AccountTransferModel[];\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n allCustomers: Accounts[];\r\n public columnDefs: any[];\r\n public context;\r\n Ids = [];\r\n currentuser: any;\r\n TransferConfirmationBox: boolean = false;\r\n AccountTransferPage: boolean = true;\r\n @Input() SubMenuType: string = null;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n LeaveTransferAccounts: boolean = false;\r\n customertype: any = '0,1,2';\r\n term: string;\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n selectedval: string = 'Name';\r\n SearchType: string = \"accountName\";\r\n QuickSearchConfig = [];\r\n subject: Subject = new Subject();\r\n QuickSearchModel: QuickSearchModel = new QuickSearchModel();\r\n UserIds: string;\r\n calanderonoff: boolean = true;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 3) + '-01-01' : this.applicationComponent.startVal;\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n timezonevalue: string;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;;\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");\r\n IncludeShared: string = \"Shared\";\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n SearcValueList: Dropdowntype[] = [];\r\n SearchTypeList: Dropdowntype[] = [];\r\n SearcValueModel = [];\r\n SearchTypeModel = [];\r\n selectedUserIds = \"\";\r\n SearcValueDrpSetting = {};\r\n selectedItems = [];\r\n constructor(public applicationComponent: ApplicationComponent, private customerService: CustomerService, private opprtunityservice: OpprtunitiesService, private toastr: ToastrService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.fromDropdownSettings = {\r\n singleSelection: true,\r\n text: \"Select User - Transfer From\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n this.ToDropdownSettings = {\r\n singleSelection: true,\r\n text: \"Select User - Transfer To\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 10\r\n };\r\n this.SearcValueDrpSetting = {\r\n singleSelection: true,\r\n text: \"Select Search\"\r\n };\r\n this.loadSearchdropdowns();\r\n this.customerService.GetAllaccesusersListbyuser(0,1, 1, 1).then((Owner) => { // passing 0 to get all Users\r\n Owner.forEach(Owner => {\r\n });\r\n\r\n this.FromDropdownList = Owner;\r\n this.ToDropdownList = Owner;\r\n this.FromDropdownList.push({ id: 0, category: \"None\", itemName: \"None\", isdeleted: 0, name: null, Value: null });\r\n this.ToDropdownList.push({ id: 0, category: \"None\", itemName: \"None\", isdeleted: 0, name: null, Value: null });\r\n })\r\n this.allCustomers = [];\r\n this.initializeAgGrid();\r\n if (this.SubMenuType !== null && this.SubMenuType !== undefined && this.SubMenuType !== '') {\r\n this.ActionDiv(this.SubMenuType);\r\n } else {\r\n var obj: AuditLogModel = { id: 0, type: 'Account Transfer Configuration', action: 'Account Transfer', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Account Transfer', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n\r\n this.subject\r\n .pipe(debounceTime(1000))\r\n .subscribe(() => {\r\n if (this.term != \"\") {\r\n this.GetContactSearchList(this.term, this.FromSelectedItems[0].id, 0);\r\n } else {\r\n this.allCustomers = [];\r\n }\r\n\r\n }\r\n );\r\n }\r\n CloseAccTransfer() {\r\n this.LeaveTransferAccounts = true;\r\n setTimeout(function () {\r\n $('#LeaveTransferAccounts .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top: 6%;');\r\n }, 4);\r\n }\r\n LeaveTransfer() {\r\n this.AccountTransferPage = false;\r\n }\r\n loadSearchdropdowns() {\r\n this.customerService.GetSpecialityList(\"Searchval\", this.currentuser.id).then((Rows) => {\r\n this.SearcValueList = Rows;\r\n\r\n if (this.SearchType == \"contactName\") {\r\n this.SearcValueModel = this.SearcValueList.filter(x => x.itemName == 'Contact ' + this.selectedval);\r\n } else {\r\n this.SearcValueModel = this.SearcValueList.filter(x => x.itemName == 'Account ' + this.selectedval);\r\n }\r\n\r\n });\r\n this.customerService.GetSpecialityList(\"SearchTypeval\", this.currentuser.id).then((Rows) => {\r\n this.SearchTypeList = Rows;\r\n\r\n var CustType = (this.customertype == '1') ? 'Customer' : (this.customertype == '2') ? 'Former Customer' : (this.customertype == '0') ? \"Non-Customer\" : 'Display All'\r\n this.SearchTypeModel = this.SearchTypeList.filter(x => x.itemName == CustType);\r\n\r\n });\r\n this.SearcValueModel = [{ \"id\": 702, \"itemName\": \"Account Name\" }];\r\n this.SearchTypeModel = [{ \"id\": 712, \"itemName\": \"Display All\" }];\r\n \r\n }\r\n ActionDiv(val) {\r\n this.AccountTransferPage = true;\r\n var obj: AuditLogModel = { id: 0, type: 'Account Transfer Configuration', action: 'Account Transfer', AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Account Transfer', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n }\r\n\r\n FromOnItemSelect(event) {\r\n this.getAccounts();\r\n }\r\n getAccounts() {\r\n this.opprtunityservice.GetAllAccountByUserID(this.FromSelectedItems[0].id).then((account) => {\r\n if (account && account.length > 0) {\r\n if (this.term != '' && this.term != null && this.term != undefined) {\r\n this.allCustomers = account.filter(x => x.accountname.includes(this.term));\r\n } else {\r\n this.allCustomers = account;\r\n }\r\n this.initializeAgGrid();\r\n } else {\r\n this.allCustomers = [];\r\n }\r\n\r\n });\r\n }\r\n FromOnItemDeSelect(event) { \r\n }\r\n ToOnItemSelect(event) {\r\n }\r\n ToOnItemDeSelect(event) {\r\n\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, paginationPageSize: 1000,enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: 'multiple', enableCellChangeFlash: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createColumnDefs();\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n \r\n }\r\n createColumnDefs() {\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n {\r\n field: 'customertypeid', headerName: 'Active Or Inactive', hide: false,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n { field: 'speciality', headerName: 'Specialty', hide: false, },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false,\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false,\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false,\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false,\r\n },\r\n {\r\n field: 'zip', headerName: 'Zip', hide: false\r\n },\r\n {\r\n field: 'phone', headerName: 'Phone', hide: false,\r\n },\r\n \r\n {\r\n field: 'username', headerName: 'User Name', hide: false,\r\n },\r\n {field: 'accnumber', headerName: 'Act Number', hide: true, cellStyle: { color: 'red' },},\r\n { field: 'IsContact', headerName: ' Is Contact?', hide: true },\r\n \r\n \r\n \r\n {\r\n field: 'mapit', headerName: 'Map It', hide: true, width: 80,\r\n },\r\n {\r\n field: 'ehr', headerName: 'EHR', hide: true,\r\n },\r\n {\r\n field: 'pm', headerName: 'PM', hide: true,\r\n },\r\n\r\n {\r\n field: 'rcm', headerName: 'RCM', hide: true,\r\n },\r\n \r\n ];\r\n }\r\n\r\n rowClickAgGrid(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n } else {\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n }\r\n }\r\n\r\n TransferAccounts() {\r\n if (this.ToSelectedItems && (this.ToSelectedItems.length > 0)) {\r\n let AccTransfr: AccountTransferModel = new AccountTransferModel();\r\n AccTransfr.AccountIds = this.Ids.join(',');\r\n AccTransfr.NewOwnerId = this.ToSelectedItems[0].id;\r\n AccTransfr.originalOwnerid = this.FromSelectedItems[0].id;\r\n AccTransfr.TransferedBy = this.currentuser.id\r\n this.customerService.transferAccounts(AccTransfr).then(result => {\r\n this.getAccounts();\r\n this.TransferConfirmationBox = false;\r\n this.Ids = [];\r\n this.toastr.success(\"Account Transfered successfully.\", \"Account Saved\", { timeOut: 600 });\r\n });\r\n }\r\n else {\r\n alert(\"Please Select to User ,to which accounts transfer to\");\r\n }\r\n }\r\n\r\n TransferConfirmationBoxCss() {\r\n setTimeout(function () {\r\n $('#TransferConfirmationBox .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n }\r\n\r\n Search(event) {\r\n let selfObj = this;\r\n setTimeout(() => {\r\n var userIds = []; \r\n if (selfObj.selectedval == null) {\r\n if (selfObj.SearchType == 'accountName') {\r\n if (selfObj.term != \"\") {\r\n \r\n selfObj.loadallaccounts(userIds, false, 1, 100, 0);\r\n \r\n } else {\r\n this.allCustomers = [];\r\n }\r\n }\r\n \r\n } else {\r\n selfObj.subject.next();\r\n\r\n }\r\n }, 200);\r\n\r\n\r\n }\r\n changeSearchTypeRadio(val) {\r\n this.initializeAgGrid();\r\n }\r\n\r\n changeRadio(val) {\r\n this.term = \"\";\r\n this.allCustomers = [];\r\n this.SaveQuickSearchConfigToLocal();\r\n }\r\n\r\n changeCustomerTypeRadio() { \r\n this.SaveQuickSearchConfigToLocal()\r\n }\r\n\r\n SaveQuickSearchConfigToLocal() {\r\n this.QuickSearchConfig = [{ 'selectedval': this.selectedval, 'SearchType': this.SearchType, 'customertype': this.customertype, 'IncludeShared': this.IncludeShared }];\r\n localStorage.setItem('QuickSearchConfig', JSON.stringify(this.QuickSearchConfig[0]));\r\n }\r\n\r\n GetContactSearchList(term, userid, active_deactiveStatus?: number) {\r\n var userIds = [];\r\n this.FromSelectedItems.forEach(ele => {\r\n userIds.push(ele.id);\r\n\r\n });\r\n this.QuickSearchModel.searchterm = this.term;\r\n this.QuickSearchModel.userids = userIds.join();\r\n this.QuickSearchModel.startDate = (this.calanderonoff) ? this.startDateVal : '2018-01-01';\r\n this.QuickSearchModel.endDate = this.endDateVal;\r\n this.QuickSearchModel.Includetype = '457';\r\n this.QuickSearchModel.customertype = this.customertype;\r\n this.QuickSearchModel.selectedval = this.selectedval;\r\n this.QuickSearchModel.SearchType = this.SearchType;\r\n //this.QuickSearchModel.IncludeShared = this.IncludeShared;\r\n this.QuickSearchConfig = [{ 'selectedval': this.selectedval, 'SearchType': this.SearchType, 'customertype': this.customertype, 'IncludeShared': this.IncludeShared }];\r\n\r\n\r\n localStorage.setItem('QuickSearchConfig', JSON.stringify(this.QuickSearchConfig[0]));\r\n\r\n this.opprtunityservice.GetAllContactsAndCustomerByQuickSearch(this.QuickSearchModel).then((contact) => {\r\n this.allCustomers = [];\r\n if (contact.length > 0) {\r\n contact.forEach(contact => {\r\n contact.created = this.datePipe.transform(contact.created, \"MM-dd-yyyy\");\r\n contact.speciality = ((contact.speciality == 'null') ? \"\" : contact.speciality);\r\n });\r\n if (this.SearchType == 'accountName') {\r\n let selfobj = this;\r\n contact.forEach(con => {\r\n var account: Accounts = new Accounts();\r\n account.id = con.id;\r\n account.accountname = con.accountname;\r\n account.address1 = con.address1;\r\n account.address2 = con.address2;\r\n account.city = con.city;\r\n account.phone = con.cell;\r\n account.owner = con.owner;\r\n account.state = con.state;\r\n account.zip = con.zip;\r\n account.isshared = con.isshared;\r\n selfobj.allCustomers.push(account);\r\n\r\n });\r\n\r\n \r\n }\r\n\r\n this.initializeAgGrid();\r\n\r\n } else {\r\n this.allCustomers = [];\r\n }\r\n\r\n });\r\n }\r\n loadallaccounts(userids, isSearch: boolean, startrow, endrow, accstatus) {\r\n \r\n this.applicationComponent.selectedusers = userids;\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.searchCriteriadata = [];\r\n if (this.term == \"\") {\r\n this.term = null;\r\n }\r\n this.allCustomers = [];\r\n this.opprtunityservice.GetAllAccountsBySearch(this.FromSelectedItems[0].id, this.term, this.FromSelectedItems[0].id, 'Accounts', (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, startrow, endrow, this.customertype, accstatus).then((account) => {\r\n if (account.length > 0) {\r\n account.forEach(account => {\r\n });\r\n \r\n this.allCustomers = account;\r\n \r\n } else {\r\n this.allCustomers = [];\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n SearcValueItemSelect(item) {\r\n this.selectedval = item.itemName.split(' ')[1];\r\n if (item.value.startsWith('Account')) {\r\n this.SearchType = \"accountName\";\r\n \r\n if (this.term != \"\") {\r\n this.loadallaccounts(this.UserIds, false, 1, 10000, 0);\r\n\r\n } else {\r\n this.allCustomers = [];\r\n }\r\n }\r\n else {\r\n this.SearchType = \"contactName\";\r\n if (this.term == '') this.term = null;\r\n\r\n }\r\n this.SaveQuickSearchConfigToLocal();\r\n }\r\n SearchTypeItemSelect(item) {\r\n this.customertype = item.value == \"Display All\" ? '0,1,2,3' : item.value == \"Shared Accounts/Contacts\" ? '3' : item.value == \"Customer\" ? '1' : item.value == \"Former Customer\" ? '2' : '0';\r\n\r\n this.SaveQuickSearchConfigToLocal()\r\n }\r\n clearSearch() {\r\n this.term = null;\r\n $(\"#SearchTextbox\").val(null);\r\n this.term = \"\"\r\n this.loadallaccounts(this.UserIds, false, 1, 10000, 0);\r\n this.initializeAgGrid();\r\n }\r\n close() {\r\n this.sendMsgEvent.emit(\"AccountTransfer\");\r\n\r\n }\r\n IncludeSharedAccounts() {\r\n if ($('#IncludeShared').prop('checked') == true) {\r\n this.IncludeShared = \"Shared\";\r\n } else {\r\n this.IncludeShared = \"NotShared\";\r\n }\r\n var userIds = [];\r\n this.selectedItems.forEach(ele => {\r\n userIds.push(ele.id);\r\n\r\n });\r\n if (this.selectedval == null) {\r\n if (this.SearchType == 'accountName') {\r\n if (this.term == '') this.term = undefined;\r\n this.loadallaccounts(userIds.join(), false, 1, 10000, 0);\r\n \r\n } else if (this.SearchType == 'contactName') {\r\n if (this.term == '') this.term = null;\r\n //this.GetContactList(null, userIds, 0);\r\n //this.SearchResultTable = 'Contact';\r\n }\r\n }\r\n else {\r\n if (this.term == '' || this.term == null || this.term == undefined) {\r\n if (this.SearchType == 'accountName') {\r\n if (this.term == '') this.term = undefined;\r\n this.loadallaccounts(userIds.join(), false, 1, 10000, 0);\r\n //this.SearchResultTable = 'Account';\r\n } else if (this.SearchType == 'contactName') {\r\n if (this.term == '') this.term = null;\r\n //this.GetContactList(null, userIds, 0);\r\n //this.SearchResultTable = 'Contact';\r\n }\r\n } else {\r\n this.GetContactSearchList(this.term, userIds, 0);\r\n //this.SearchResultTable = 'Contact';\r\n }\r\n }\r\n\r\n this.SaveQuickSearchConfigToLocal();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n ACCOUNT INFORMATION\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Account Type
\r\n
{{account.accounttypeName}}
\r\n
\r\n
\r\n
Ownership
\r\n
{{account.ownershipName}}
\r\n
\r\n
\r\n
Account Status
\r\n
{{(account.accountStatus == 14)? 'Active' :'On Hold' }}
\r\n
\r\n
\r\n
Account Owner
\r\n
{{account.OWNER}}
\r\n
\r\n\r\n
\r\n
Lead From
\r\n
\r\n {{accountHistory.LeadFrom}}\r\n
\r\n
\r\n\r\n
\r\n
Last Contact Date
\r\n
{{this.LastContactDate}}
\r\n
\r\n
\r\n
Key Contact (#1)
\r\n
{{accountHistory.KeyContact1Name}}
\r\n
\r\n\r\n
\r\n
Key Contact (#2)
\r\n
{{accountHistory.KeyContact2Name}}
\r\n
\r\n\r\n
\r\n
Key Contact (#3)
\r\n
{{accountHistory.KeyContact3Name}}
\r\n
\r\n\r\n
\r\n
EHR
\r\n
{{account.ehrName}}
\r\n
\r\n\r\n
\r\n
PM
\r\n
{{account.pmName}}
\r\n
\r\n\r\n
\r\n
RCM
\r\n
{{account.rcmName}}
\r\n
\r\n\r\n
\r\n
Sales Rep
\r\n
{{salesrepName}}
\r\n
\r\n
\r\n
Customer
\r\n
\r\n Yes\r\n No\r\n
\r\n
\r\n\r\n
\r\n
Customer Since
\r\n
{{account.CustomerSince | date: 'MM-dd-yyyy'}}
\r\n
\r\n
\r\n
Customer type
\r\n
\r\n {{(account.customertypeid == 2)? 'Former Customer' : (account.customertypeid == 1)? 'Customer' : 'Non Customer' }}\r\n
\r\n
\r\n
\r\n
Sold By
\r\n
\r\n {{(accountHistory.SoldBy == 0)?'Sales Team':'Reseller'}}\r\n
\r\n
\r\n
\r\n
Last Ticket Date
\r\n
{{this.LastTicketDate}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n {{field.DisplayAs}} : \r\n
\r\n
\r\n {{account[field.ColumnName]}}\r\n {{account[field.ColumnName] | date: 'MM-dd-yyyy'}}\r\n {{account.accounttypeName}}\r\n {{account.customertype}}\r\n {{account.ehrName}}\r\n {{account.OWNER}}\r\n {{account.ownershipName}}\r\n {{account.pmName}}\r\n {{account.rcmName}}\r\n {{account.specialityName}}\r\n {{(account.accountStatus == 14)? 'Active' :'On Hold' }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n {{field.DisplayAs}} : \r\n
\r\n
\r\n {{account[field.ColumnName]}}\r\n {{account[field.ColumnName] | date: 'MM-dd-yyyy'}}\r\n {{account.accounttypeName}}\r\n {{account.accounttypeName}}\r\n {{account.customertype}}\r\n {{account.ehrName}}\r\n {{account.OWNER}}\r\n {{account.ownershipName}}\r\n {{account.pmName}}\r\n {{account.rcmName}}\r\n {{account.specialityName}}\r\n {{(account.accountStatus == 14)? 'Active' :'On Hold' }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n {{field.DisplayAs}} : \r\n
\r\n
\r\n\r\n {{(account.isCustomer==874)?'Yes':'No'}}\r\n {{(account.accountStatus == 14)? 'Active' :'On Hold' }}\r\n {{account[field.ColumnName] | date: 'MM-dd-yyyy'}}\r\n {{account[field.ColumnName]}}\r\n {{account.SystemTypeName}}\r\n {{account.HL7interfaceName}}\r\n {{account.CustomerRCMName}}\r\n {{account.onDemandName}}\r\n {{account.RemainderName}}\r\n {{account.eLabName}}\r\n {{account.MIPSName}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n Address1 \r\n
\r\n
\r\n {{loc.address1}}\r\n\r\n
\r\n
\r\n
\r\n
\r\n Address 2\r\n
\r\n
\r\n {{loc.address2}}\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n City\r\n
\r\n
\r\n {{loc.city}}\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n State\r\n
\r\n
\r\n {{loc.state}}\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n Zip\r\n
\r\n
\r\n {{loc.zip}}\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n Country\r\n
\r\n
\r\n {{loc.country}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n Island\r\n
\r\n
\r\n {{loc.ProvidenceIsland}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n Phone #\r\n
\r\n
\r\n {{loc.phone}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n Fax #\r\n
\r\n
\r\n {{loc.fax}}\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n di\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\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, EventEmitter, Output, Optional } from '@angular/core';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { Accountlocations } from 'src/app/models/data-model';\r\nimport { AccountsHistory } from '../../models/AccountHistory';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport * as moment from 'moment';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { Notes } from '../../models/notes';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'accountorcontactview',\r\n templateUrl: './accountorcontactview.component.html',\r\n styleUrls: ['./accountorcontactview.component.css']\r\n})\r\nexport class AccountorcontactviewComponent implements OnInit {\r\n @Input() accountId;\r\n @Input() type;\r\n account: Accounts = new Accounts();\r\n multiplelocaddresses: Accountlocations[] = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n selectedMenuRadio: string = \"tab0\";\r\n SelectedContactType;\r\n LastTicketDate;\r\n LastContactDate;\r\n customeracces: number = 0;\r\n currentuser: any;\r\n accountHistory: AccountsHistory = new AccountsHistory();\r\n @Output()\r\n btnClickEvent = new EventEmitter();\r\n Fields: any;\r\n ExpandMode: boolean = false;\r\n userprevilages: any;\r\n urlImage = '';\r\n additionalLocation: Accountlocations = new Accountlocations();\r\n ShowImageDialog: boolean = false;\r\n ImageData: string = \"\";\r\n salesrepName: string;\r\n timezonevalue: string;\r\n public gridOptionsnotes: GridOptions;\r\n public sideBar;\r\n allnotes: Notes[];\r\n public columnDefsnotes: any[];\r\n constructor(private customerService: CustomerService, private toastr: ToastrService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.customeracces = this.currentuser.customertypeaccess;\r\n this.customerService.GetPrivilagesByuser(this.currentuser.id).then(result => {\r\n this.userprevilages = result;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.LoadAccountData(); \r\n this.customerService.GetAccountHistoryById(this.accountId, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n });\r\n }\r\n tabChanged(val) {\r\n this.selectedMenuRadio = val;\r\n if (this.multiplelocaddresses && val == 'tab7') {\r\n this.multiplelocaddresses.forEach(ele => {\r\n if (ele.addressName == 'Main Location' && ele.LocationPicture) {\r\n let so = this;\r\n $(setTimeout(function () {\r\n var imgtag = document.getElementById('image');\r\n imgtag.setAttribute('src', ele.LocationPicture);\r\n imgtag.setAttribute('title', 'Click to Collapse');\r\n imgtag.setAttribute('style', 'width:100%;height:75%;padding:15% 0 0 0;float:right;display:block');\r\n $('#ChooseFileLabel').attr('style', 'display:none');\r\n $('#ReplaceFileLabel').attr('style', 'display:block');\r\n }, 500));\r\n } else if (ele.LocationPicture) {\r\n $(setTimeout(function () {\r\n var imgtag = document.getElementById('image' + ele.id);\r\n imgtag.setAttribute('src', ele.LocationPicture);\r\n imgtag.setAttribute('title', 'Click to Collapse');\r\n imgtag.setAttribute('style', 'width:100%;height:75%;padding:15% 0 0 0;float:right;display:block');\r\n $('#ChooseFileLabel' + + ele.id).attr('style', 'display:none');\r\n $('#ReplaceFileLabel' + + ele.id).attr('style', 'display:block');\r\n }, 500));\r\n }\r\n\r\n });\r\n }\r\n else if (val == 'tab5') {\r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Customer Details').then(res => {\r\n if (res != null && res.length > 0) {\r\n let obj: string[] = [res[0].OrderFields, 'Customer Details'];\r\n this.customerService.getSaveFormFields(obj).then(result => {\r\n this.Fields = result;\r\n \r\n });\r\n }\r\n });\r\n this.customerService.GetByAccountIdNew(this.accountId).then(result => {\r\n this.account = JSON.parse(result);\r\n \r\n });\r\n\r\n }\r\n else if (val == 'tab1') {\r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Account Specifics').then(res => {\r\n if (res != null && res.length > 0) {\r\n let obj: string[] = [res[0].OrderFields, 'Account Specifics'];\r\n this.customerService.getSaveFormFields(obj).then(result => {\r\n\r\n this.Fields = result;\r\n });\r\n }\r\n });\r\n }\r\n else if (val == 'tab4') {\r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Mailing Address').then(res => {\r\n if (res != null && res.length > 0) {\r\n let obj: string[] = [res[0].OrderFields, 'Mailing Address'];\r\n this.customerService.getSaveFormFields(obj).then(result => {\r\n\r\n this.Fields = result;\r\n });\r\n }\r\n });\r\n }\r\n else if (val == 'tab6') {\r\n this.DisplayNote();\r\n } else if (val == 'tab0' || val == 'tab10' || val == 'tab11') { \r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n });\r\n }\r\n }\r\n DisplayNote() {\r\n let allContactIds = [];\r\n this.customerService.GetAllContactproviderByAccount(this.accountId, this.currentuser.id).then((contacts) => {\r\n if (contacts.length > 0) {\r\n allContactIds = contacts.map(x => x.id);\r\n this.GetCustomerNotes(this.currentuser.id, allContactIds.join(\",\"), 'AllContactsNotes', this.accountId.toString(), \"null\");\r\n } else {\r\n this.GetCustomerNotes(this.currentuser.id, \"0\", 'AllContactsNotes', this.accountId.toString(), \"null\");\r\n }\r\n });\r\n }\r\n\r\n GetCustomerNotes(currentuserid, contactid, type, accidofallcontacts: string = \"0\", OppType: string) {\r\n\r\n var moment = require('moment-timezone');\r\n this.customerService.GetAllNotesListNew(currentuserid, contactid, type, accidofallcontacts, OppType).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var timeDisplay = items.user + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh:mm a\");\r\n\r\n });\r\n this.initializeAgGridNotes(type);\r\n this.allnotes = taskhistory;\r\n this.allnotes = this.allnotes.filter(x => x.isnewnote == null);\r\n for (let note of this.allnotes) {\r\n if (note.notedescription) {\r\n note.notedescription = note.notedescription.replace(/<[^>]*>| /g, '');\r\n }\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n\r\n });\r\n\r\n }\r\n initializeAgGridNotes(val) {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, paginationPageSize: 1000,enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n defaultToolPanel: 'none',\r\n };\r\n this.createColumnDefsnotes(val);\r\n\r\n }\r\n createColumnDefsnotes(val, @Optional() isShowDetails: boolean = false) {\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n {\r\n field: 'notedescription', hide: false, tooltipField: 'notedescription', width: 250, cellStyle: { 'text-align': 'left' }, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.value && params.value.includes(\"Owner Changed\")) {\r\n eDiv.innerHTML = \"\";\r\n } else {\r\n eDiv.innerHTML = params.value;\r\n }\r\n\r\n return eDiv;\r\n }\r\n },\r\n ];\r\n\r\n }\r\n close() {\r\n \r\n this.btnClickEvent.emit('close');\r\n }\r\n LoadAccountData() {\r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Mailing Address').then(res => {\r\n if (res != null && res.length > 0) {\r\n let obj: string[] = [res[0].OrderFields, 'Mailing Address'];\r\n this.customerService.getSaveFormFields(obj).then(result => { \r\n this.Fields = result;\r\n });\r\n }\r\n });\r\n \r\n this.customerService.GetByAccountIdNew(this.accountId).then(result => { \r\n this.account = JSON.parse(result);\r\n this.account.ehrdatepurchased = (this.account.ehrdatepurchased)? moment(this.account.ehrdatepurchased).format(\"YYYY\") : '';\r\n this.account.pmdatepurchased = (this.account.pmdatepurchased)? moment(this.account.pmdatepurchased).format(\"YYYY\") : '';\r\n this.account.rcmdatepurchased = (this.account.rcmdatepurchased)? moment(this.account.rcmdatepurchased).format(\"YYYY\"): '';\r\n let SO = this;\r\n this.customerService.GetTableFields('Accounts', this.currentuser.id).then(result => {\r\n result.forEach(ele => {\r\n if (ele.OldOrNew == \"New\" && ele.DataType == 'Pick List' && SO.account[ele.ColumnName] != null) {\r\n SO.account[ele.ColumnName] = SO.account[ele.ColumnName].split(':')[1];\r\n }\r\n });\r\n\r\n });\r\n var Addloc = new Accountlocations();\r\n Addloc.address1 = this.account.address1;\r\n Addloc.address2 = this.account.address2;\r\n Addloc.city = this.account.city;\r\n Addloc.state = this.account.state;\r\n Addloc.zip = this.account.zip;\r\n Addloc.fax = this.account.fax;\r\n Addloc.phone = this.account.phone;\r\n Addloc.lattitude = this.account.lattitude;\r\n Addloc.longtitude = this.account.longtitude.toString();\r\n Addloc.ProvidenceIsland = this.account.ProvidenceIsland;\r\n Addloc.country = this.account.country;\r\n Addloc.accountid = this.account.id;\r\n Addloc.LocationPicture = this.account.LocationPicture;\r\n Addloc.addressName = 'Main Location';\r\n \r\n this.multiplelocaddresses.push(Addloc);\r\n this.customerService.GetLocationByAccountId(this.accountId).then(result => {\r\n result.forEach(ele => {\r\n if (ele.address1 != null && ele.address1 != \"\") {\r\n \r\n this.multiplelocaddresses.push(ele);\r\n }\r\n })\r\n \r\n this.getAccountHistory();\r\n });\r\n\r\n });\r\n }\r\n getAccountHistory() {\r\n this.customerService.LastTicketCreatedDateByAccID(this.account.id).then(result1 => {\r\n if (result1 != null && result1 != '0001-01-01T00:00:00') {\r\n this.LastTicketDate = this.datePipe.transform(result1, \"MM-dd-yyyy\")\r\n }\r\n \r\n });\r\n this.customerService.LastContactedDateByAccID(this.account.id).then(result2 => {\r\n if (result2 != null && result2 != '0001-01-01T00:00:00') {\r\n this.LastContactDate = this.datePipe.transform(result2, \"MM-dd-yyyy\");\r\n }\r\n });\r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n });\r\n this.customerService.GetSalerepName(this.account.id).then(result3 => {\r\n\r\n this.salesrepName = result3;\r\n\r\n });\r\n }\r\n\r\n buttonClick(btnName, val) {\r\n this.btnClickEvent.emit({ btnName: btnName, val: val });\r\n\r\n }\r\n Expand(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n this.ExpandMode = true;\r\n } else {\r\n this.ExpandMode = false;\r\n }\r\n this.btnClickEvent.emit(msg);\r\n }\r\n\r\n NOLicenseAccess() {\r\n alert(\"No access\");\r\n }\r\n checkPrevilege() {\r\n if (this.userprevilages != undefined) {\r\n var thisTab = this.userprevilages.filter(p => p.resource == \"License Tab\")[0];\r\n if (thisTab == undefined || (thisTab != undefined && thisTab.canview == false)) {\r\n this.toastr.warning(\"You Do Not have Access to View License Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\", { timeOut: 1500 });\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n addFiles(event,address) {\r\n let files = event.srcElement.files;\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n this.addChargeNew(file, address);\r\n }\r\n \r\n }\r\n\r\n addChargeNew(file, myaddress) {\r\n this.additionalLocation = myaddress;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (myaddress.addressName != 'Main Location') {\r\n var imgtag = document.getElementById('image' + myaddress.id);\r\n imgtag.setAttribute('src', reader.result.toString());\r\n imgtag.setAttribute('title', 'Click to Collapse');\r\n imgtag.setAttribute('style', 'width:10%;height:75%;padding:15% 0 0 0 ;float:right;display:block');\r\n $('#ChooseFileLabel' + + myaddress.id).attr('style', 'display:none');\r\n $('#ReplaceFileLabel' + + myaddress.id).attr('style', 'display:block');\r\n } else {\r\n var imgtag = document.getElementById('image');\r\n imgtag.setAttribute('title', 'Click to Collapse');\r\n imgtag.setAttribute('src', reader.result.toString());\r\n imgtag.setAttribute('style', 'width:100%;height:75%;padding:15% 0 0 0;float:right;display:block');\r\n $('#ChooseFileLabel').attr('style', 'display:none');\r\n $('#ReplaceFileLabel').attr('style', 'display:block');\r\n \r\n }\r\n selfObj.additionalLocation.LocationPicture = reader.result.toString();\r\n selfObj.additionalLocation.PictureType = file.type;\r\n\r\n \r\n selfObj.customerService.uploadAdditionalLocationImage(selfObj.additionalLocation).then((user) => {\r\n });\r\n }, 500));\r\n \r\n\r\n }\r\n ShowImageFullScreen(locId) {\r\n var Id = (locId != undefined && locId != null) ? locId : \"\";\r\n\r\n var button = document.getElementById('image' + Id);\r\n if (button.title == 'Click to Expand') {\r\n $('#image' + Id).attr('style', 'width:100%;height:75%;padding:15% 0 0 0;float:right;display:block')\r\n $('#image' + Id).attr('title', 'Click to Collapse');\r\n } else {\r\n $('#image' + Id).attr('style', 'width:50%;height:75%;padding:15% 0 0 0;float:right;display:block')\r\n $('#image' + Id).attr('title', 'Click to Expand');\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

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

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Is Customer
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
Customer Since
\r\n
\r\n
\r\n
\r\n
Lead From
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Account Status
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Sold By
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Account Owner
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Account Type
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Ownership
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Active Or Inactive
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
EHR
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
PM
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
RCM
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
Key Contact (#1)
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
Key Contact (#2)
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
Key Contact (#3)
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
Sales Rep.
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

\r\n Location #{{i + 1}}\r\n \r\n

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

\r\n You are deleting an address for this account. The system has identified Contacts linked to the address being deleted. These contacts must be linked to another address for this account. Select the address that will be updated for these contacts and then select \"Continue\"\r\n

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

  {{address.itemName}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n
{{account.accountname}}
\r\n
{{account.address1}}, {{account.address2}}
\r\n
{{account.city}},{{account.state| uppercase}},{{account.zip | slice:0:5}} 5\">-{{account.zip | slice:5:20}}
\r\n
Fax: {{account.fax}}
\r\n
\r\n\r\n
\r\n
Owner:{{currentuser.username}}
\r\n

\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
Adding Account Address
\r\n
\r\n
\r\n \r\n The Address for this account was not selected from\r\n google Address list.Please select one of the two\r\n options below: Select \" Go to Google Address \" and\r\n select google address for the account -or- select\r\n \"Save\" and system will save the address you have\r\n added to account.\r\n \r\n

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


\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
SalesXCRM Message
\r\n
\r\n
Account

\r\n
Discard Saving Account
\r\n
Changes will Not be Saved
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n Access Denied\r\n
\r\n
\r\n
\r\n Please check privileges in User Configuration
\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, ViewChild, Optional, ElementRef } from '@angular/core';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { Statistics } from 'src/app/models/statistics';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { AccountDocuments } from 'src/app/models/account-documents';\r\nimport { Accountlocations } from 'src/app/models/data-model';\r\nimport { FormArray, FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { forbiddenNameValidator } from '../shared/forbidden-validator-directive.directive';\r\nimport { Contacts } from 'src/app/models/contacts';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { AddressUpdate } from 'src/app/models/AddressUpdate';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Router } from '@angular/router';\r\nimport { AddressComponent } from '../address/address.component';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { OpprtunitiesService } from 'src/app/services/opprtunities.service';\r\nimport { AccountsHistory } from '../../models/AccountHistory';\r\nimport { DatePipe } from '@angular/common';\r\nimport * as moment from 'moment';\r\nimport { Users } from '../../models/users';\r\nimport { Notes } from '../../models/notes';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-add-edit-account',\r\n templateUrl: './add-edit-account.component.html',\r\n styleUrls: ['./add-edit-account.component.css']\r\n})\r\nexport class AddEditAccountComponent implements OnInit {\r\n showBtn: boolean = false;\r\n Show: boolean = true;\r\n EditAddressDiv: boolean = false;\r\n account: Accounts = new Accounts();\r\n Fields: any;\r\n CustomerDetailFields: any;\r\n accountHistory: AccountsHistory = new AccountsHistory();\r\n contacts: Contacts = new Contacts();\r\n @Input()\r\n accountID = 0;\r\n @Input()\r\n type: string;\r\n customertypeList: Dropdowntype[] = [];\r\n contactList: Dropdowntype[] = [];\r\n OwnerList: Dropdowntype[] = [];\r\n accounttypeList: Dropdowntype[] = [];\r\n ownershiplist: Dropdowntype[] = [];\r\n Statuslist: Dropdowntype[] = [];\r\n Accountstatisticlist: Array = [];\r\n SuffixList: Dropdowntype[] = [];\r\n SexList: Dropdowntype[] = [];\r\n leadfromlist: Dropdowntype[] = [];\r\n TitleList: Dropdowntype[] = [];\r\n contacttypelist: Dropdowntype[] = [];\r\n Specialitytypelist: Dropdowntype[] = [];\r\n Collegelist: Dropdowntype[] = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n StatesList: Dropdowntype[] = [];\r\n CitiesList: Dropdowntype[] = [];\r\n PractiseList: Dropdowntype[] = [];\r\n ehrpurchasedList: Dropdowntype[] = [];\r\n pmpurchasedList: Dropdowntype[] = [];\r\n rcmlist: Dropdowntype[] = [];\r\n salereplist: Users[] = [];\r\n currentuser: any;\r\n customercontacttypelist: Dropdowntype[];\r\n documentlist: Array = [];\r\n AccountIdArr: Dropdowntype[] = [];\r\n contactIdArr: Dropdowntype[] = [];\r\n public stateInfo = [];\r\n MonthList: Dropdowntype[] = [];\r\n DayList: Dropdowntype[] = [];\r\n Years: any[];\r\n public gridOptionsnotes: GridOptions;\r\n accountlocations: Accountlocations = new Accountlocations();\r\n heroForm: FormGroup;\r\n accountform: FormGroup;\r\n showContatsGrid: boolean = false;\r\n showContinueButton: boolean = false;\r\n ShowContactstoSelect: boolean = false;\r\n selectedAddressOption: string = '';\r\n selectedcontact: string[] = [];\r\n enableUpdateAll: boolean = false;\r\n enableSelectContacts: boolean = false;\r\n enableDoNotUpdate: boolean = false;\r\n ismatchduplicate: string;\r\n SaveAccDialog: boolean = false;\r\n PhoneDuplicate = false;\r\n websiteduplicate = false;\r\n DuplicateAccountDialog: boolean = false;\r\n deleteduserName: string = \"\";\r\n showmapWarning: boolean = false;\r\n addressupdate: AddressUpdate = new AddressUpdate();\r\n addresses: Accountlocations[] = [];\r\n textareaLength: number = 15;\r\n displayCountryName: boolean = false;\r\n locstateDropDown;\r\n stateTextBox: boolean = true;\r\n displayZipCode: boolean = true;\r\n customeracces: number = 0;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n AddAccselectedMenuRadio: string = \"AddAcctab4\";\r\n multiplelocaddresses: any;\r\n AddressList = [];\r\n @ViewChild(AddressComponent) adddata;\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n public context;\r\n public frameworkComponents;\r\n public columnDefs: any[];\r\n allContactsproviders: Contacts[];\r\n allContacts: Contacts[];\r\n SortedContactType;\r\n SortedStatus;\r\n SelectedStatus;\r\n SelectedContactType;\r\n itemCount = 0;\r\n Contacttotal: Contacts[];\r\n LastTicketDate;\r\n LastContactDate;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public zipmask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public elementRef;\r\n collegeyearDrop: boolean = true;\r\n MedSchoolyearDrop: boolean = true;\r\n ResidencyyearDrop: boolean = true;\r\n FellowshipyearDrop: boolean = true;\r\n Mymodeldata: any;\r\n NewForm = new FormGroup({});\r\n LocationMappedContactsDiv: boolean = false;\r\n MappedContacts: Contacts[];\r\n deletedSecretLairsIndex = 0;\r\n ExpandMode: boolean = false;\r\n FormDataModified: boolean = false;\r\n DiscardFormDataConfirmation: boolean = false;\r\n NoAccess: boolean = false;\r\n salesrepName: string;\r\n AddNewLocation: boolean= false;\r\n ReplaceAddressSelected: boolean= false;\r\n public columnDefsnotes: any[];\r\n allnotes: Notes[];\r\n AllnotesOriginal: Notes[];\r\n timezonevalue: string;\r\n constructor(private customerService: CustomerService, private fb: FormBuilder, private accountsService: AccountsService,\r\n private toastr: ToastrService, private router: Router, private opprtunityservice: OpprtunitiesService, myElement: ElementRef) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); \r\n this.elementRef = myElement;\r\n this.customeracces = this.currentuser.customertypeaccess; \r\n this.createForm();\r\n this.account.accountStatus = 14;\r\n }\r\n \r\n ngOnInit(): void {\r\n this.account.id = this.accountID;\r\n this.AddAcctabChanged('AddAcctab4');\r\n if (this.accountID == 0) {\r\n this.AddAccselectedMenuRadio = 'AddAcctab4'; \r\n }\r\n this.primaryAdressdropdownvalues();\r\n \r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Mailing Address').then(res => { \r\n if (res != null && res.length > 0) {\r\n let obj: string[] = [res[0].OrderFields, 'Mailing Address'];\r\n this.customerService.getSaveFormFields(obj).then(result => {\r\n if (this.customeracces == 0) {\r\n result = result.filter(x => x.ColumnName != 'customertypeid');\r\n }\r\n result.forEach(ele => {\r\n if (ele['ColumnName'] == 'ownerid') {\r\n ele['Data'] = this.OwnerList;\r\n } else {\r\n if (ele['DataType'] == 'Pick List'){\r\n this.customerService.GetPickListData(ele['FieldName'], ele['id'], this.currentuser.id).then((accounttype) => {\r\n var data = this.PickListSortByType(ele['FieldDataOrderBy'], accounttype)\r\n ele['Data'] = data;\r\n });\r\n }\r\n }\r\n \r\n });\r\n this.Fields = result;\r\n this.Fields.forEach(x => { \r\n this.NewForm.addControl(x.ColumnName, new FormControl(''));\r\n });\r\n });\r\n }\r\n });\r\n }\r\n initializeAgGridNotes(val) {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n defaultToolPanel: 'none',\r\n };\r\n this.createColumnDefsnotes(val);\r\n\r\n }\r\n createColumnDefsnotes(val, @Optional() isShowDetails: boolean = false) { \r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n {\r\n field: 'notedescription', hide: false, tooltipField: 'notedescription', width: 250, cellStyle: { 'text-align': 'left' }, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.value && params.value.includes(\"Owner Changed\")) {\r\n eDiv.innerHTML = \"\";\r\n } else {\r\n eDiv.innerHTML = params.value;\r\n }\r\n\r\n return eDiv;\r\n }\r\n },\r\n ];\r\n\r\n }\r\n\r\n GetCustomerNotes(currentuserid, contactid, type, accidofallcontacts: string = \"0\", OppType: string) {\r\n\r\n var moment = require('moment-timezone');\r\n this.customerService.GetAllNotesListNew(currentuserid, contactid, type, accidofallcontacts, OppType).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var timeDisplay = items.user + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh:mm a\");\r\n\r\n });\r\n this.initializeAgGridNotes(type);\r\n\r\n this.allnotes = taskhistory;\r\n \r\n this.allnotes = this.allnotes.filter(x => x.isnewnote == null); \r\n for (let note of this.allnotes) {\r\n if (note.notedescription) {\r\n note.notedescription = note.notedescription.replace(/<[^>]*>| /g, '');\r\n }\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n });\r\n }\r\n getAccountHistory() {\r\n this.customerService.LastTicketCreatedDateByAccID(this.account.id).then(result1 => {\r\n if (result1 != null && result1 != '0001-01-01T00:00:00') {\r\n this.LastTicketDate = this.datePipe.transform(result1, \"dd-MM-yyyy\")\r\n }\r\n });\r\n this.customerService.LastContactedDateByAccID(this.account.id).then(result2 => {\r\n if (result2 != null && result2 != '0001-01-01T00:00:00') {\r\n this.LastContactDate = this.datePipe.transform(result2, \"MM/dd/yyyy\");\r\n }\r\n });\r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result3 => {\r\n if (result3 != null) {\r\n this.accountHistory = result3; \r\n this.account.salesRep = this.accountHistory.Salesrep;\r\n }\r\n this.customerService.GetSalerepName(this.account.id).then(result3 => {\r\n this.salesrepName = result3;\r\n });\r\n });\r\n \r\n }\r\n primaryAdressdropdownvalues() {\r\n this.customerService.GetAllOwnerList(0).then((Owner) => {\r\n this.OwnerList = Owner;\r\n });\r\n }\r\n Accountspecificdropdowns() {\r\n this.getyears()\r\n {\r\n var range = [];\r\n var y = 1949;\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.Years = range;\r\n }\r\n }\r\n AccountHistoryDropdowns() {\r\n this.opprtunityservice.GetSpecialityList(\"LeadFrom\", this.currentuser.id).then((pc) => {\r\n this.leadfromlist = pc;\r\n });\r\n }\r\n \r\n getyears() {\r\n var range = [];\r\n var year = new Date().getFullYear();\r\n for (var i = 0; i < 7; i++) {\r\n range.push({\r\n label: year + i,\r\n value: parseInt(String(year + i).slice(2, 4))\r\n });\r\n }\r\n\r\n\r\n this.Years = range;\r\n }\r\n\r\n multipleLocation(id,type) {\r\n if (this.AddNewLocation == false) {\r\n this.AddNewLocation = type;\r\n\r\n this.showBtn = true;\r\n\r\n if (id == 1) {\r\n this.secretLairs.push(this.fb.group(new Accountlocations()));\r\n //$('#multipleLocation').val('0');\r\n } else {\r\n\r\n }\r\n }\r\n \r\n }\r\n\r\n locloadstate(ival, state, stateid, stateDDN, city) {\r\n\r\n $('.selectedState').removeClass('selectedState');\r\n var countryCode = ($('#country').val());\r\n if (countryCode == 1 && stateDDN == 'locstateDropDown') {\r\n for (var i = 0; i < 50; i++) {\r\n if (this.StatesList[i].itemName.trim().toString() == state) {\r\n $('#' + ival + stateDDN).val(state)\r\n $('#' + this.StatesList[i].id).addClass('selectedState');\r\n this.heroForm.value.secretLairs[ival].state = state;\r\n this.heroForm.value.secretLairs[ival].city = city;\r\n }\r\n }\r\n } else {\r\n $('#' + ival + stateid).val(state);\r\n this.heroForm.value.secretLairs[ival].state = state;\r\n }\r\n }\r\n \r\n\r\n locselectState(ival, id, name) {\r\n\r\n $('.selectedState').removeClass('selectedState');\r\n $('#' + id).addClass('selectedState');\r\n $('#' + ival + 'locstateDropDown').val(name);\r\n this.heroForm.value.secretLairs[ival].state = name;\r\n\r\n }\r\n\r\n removeloction(val) {\r\n this.deletedSecretLairsIndex = val;\r\n this.addresses = [];\r\n var deletedAddress = $('#addressID' + (val - 1)).val();\r\n if (deletedAddress != null && deletedAddress != undefined && deletedAddress != '') {\r\n if (deletedAddress == '0') {\r\n this.addresses.push(this.multiplelocaddresses[0]);\r\n\r\n } else {\r\n this.multiplelocaddresses.forEach(ele => {\r\n if (ele.id == Number(deletedAddress)) {\r\n ele.isdelete = 1;\r\n this.addresses.push(ele);\r\n }\r\n\r\n });\r\n \r\n }\r\n\r\n \r\n this.accountsService.getMappedContactsForLocation(this.addresses[0].id, this.addresses[0].accountid).then(result => {\r\n this.MappedContacts = result;\r\n\r\n if (result.length > 0) {\r\n this.AddressList = this.AddressList.filter(x => x.id != this.addresses[0].id)\r\n this.LocationMappedContactsDiv = true;\r\n } else {\r\n this.accountsService.addaccountLocations(this.addresses).then(result => {\r\n this.toastr.success(\"Location Deleted successfully.\", \"Location\", { timeOut: 600 });\r\n $(\"#\" + val).remove();\r\n this.secretLairs.removeAt(this.deletedSecretLairsIndex);\r\n this.cancelAccount();\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n this.addresses = this.multiplelocaddresses;\r\n this.secretLairs.removeAt((val - 2)); \r\n }\r\n \r\n if (val == 0) {\r\n this.account.multiplelocations = 0;\r\n }\r\n \r\n\r\n }\r\n createForm() {\r\n this.heroForm = this.fb.group({\r\n name: '',\r\n secretLairs: this.fb.array([]),\r\n power: '',\r\n sidekick: ''\r\n });\r\n }\r\n\r\n\r\n get secretLairs(): FormArray {\r\n return this.heroForm.get('secretLairs') as FormArray;\r\n };\r\n\r\n setAddresses(addresses: Accountlocations[]) {\r\n\r\n const addressFGs = addresses.map(address => this.fb.group(address));\r\n const addressFormArray = this.fb.array(addressFGs);\r\n this.heroForm.setControl('secretLairs', addressFormArray);\r\n }\r\n prepareSaveHero(): Accountlocations[] {\r\n \r\n const formModel = this.heroForm.value;\r\n const secretLairsDeepCopy: Accountlocations[] = formModel.secretLairs.map(\r\n\r\n (address: Accountlocations) => Object.assign({}, address, address.accountid = this.account.id),\r\n );\r\n return secretLairsDeepCopy;\r\n }\r\n\r\n special_char(event) {\r\n\r\n var k = event.charCode;\r\n return (!(k === 124));\r\n }\r\n accountNumber() {\r\n if ($('accnumber').val() == '') {\r\n if ($('#customertypeid').val() == 0) {\r\n this.account.accnumber = '0';\r\n } else {\r\n this.account.accnumber = null;\r\n }\r\n }\r\n }\r\n titleSelected() {\r\n if ($('#title').hasClass('not-required')) {\r\n $('#title').removeClass('not-required')\r\n $('#title').addClass('required')\r\n\r\n }\r\n }\r\n collegeYear1() {\r\n $('#collegegrandyear').removeAttr('disabled');\r\n }\r\n medschoolYear1() {\r\n $('#medschoolgrandyear').removeAttr('disabled');\r\n }\r\n residencyYear1() {\r\n $('#residencygrandyear').removeAttr('disabled');\r\n }\r\n fellowshipYear1() {\r\n $('#fellowshipgrandyear').removeAttr('disabled');\r\n }\r\n handleClick(event) {\r\n var clickedComponent = event.target; \r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n $('#test').val('Account');\r\n }\r\n }\r\n\r\n \r\n\r\n ResetAccount() {\r\n this.account.id = 0;\r\n this.account.customertypeid = 0;\r\n this.account.country = null;\r\n this.account.accounttype = null;\r\n this.account.accountname = null;\r\n this.account.ownerid = null;\r\n this.account.state = null;\r\n this.account.city = null;\r\n this.account.practiceid = 0;\r\n this.account.address1 = null;\r\n this.account.address2 = null;\r\n this.account.zip = null;\r\n this.account.phone = null;\r\n this.account.fax = null;\r\n this.account.alterphone1 = null;\r\n this.account.ownership = null;\r\n this.account.alterphone2 = null;\r\n this.account.website = null;\r\n this.account.ownerid = null;\r\n this.account.multiplelocations = 0; \r\n this.account.rcm = null;\r\n this.account.ehr = null;\r\n this.account.pm = null;\r\n this.account.ownerid = this.currentuser.id;\r\n this.accountlocations = new Accountlocations();\r\n this.account.speciality = null;\r\n this.account.accountStatus = 0;\r\n $('#test').val('');\r\n }\r\n\r\n resetAccountNumber() {\r\n if (this.account.id != 0) {\r\n\r\n if ($('#customertypeid').val() != 0) {\r\n $(\"#accnumber\").prop(\"required\", true);\r\n \r\n if (this.account.accnumber == '' || this.account.accnumber == '0') {\r\n $('#accnumber').val('');\r\n this.account.accnumber = null;\r\n\r\n } else {\r\n this.account.accnumber == '0';\r\n $('#accnumber').val('0');\r\n }\r\n } else {\r\n $(\"#accnumber\").attr(\"required\", true);\r\n if (this.account.accnumber == '' || this.account.accnumber == '0' || this.account.accnumber == null) {\r\n $('#accnumber').val('0');\r\n this.account.accnumber = '0';\r\n }\r\n }\r\n }\r\n }\r\n\r\n public onAccStatusClick() {\r\n if (this.currentuser.customerStatus == 0) {\r\n alert(\"You don't have access to Change Account Status. If you want to Access, please change it from User Configuration \")\r\n\r\n }\r\n }\r\n Nameval(event) {\r\n var regex = new RegExp(\"^[-a-zA-Z0-9!'_.&()-{}\\|;:?/\\\" ]+$\");\r\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n }\r\n loadAdditionAddress() {\r\n this.adddata.pushAddress();\r\n }\r\n AddressReceived(msg: Accounts) { // Reverted Changes\r\n if (msg.locationType == \"loc1\") {\r\n let multipleAdd = new Accountlocations();\r\n multipleAdd.address1 = msg.address1;\r\n multipleAdd.address2 = msg.address2;\r\n multipleAdd.city = msg.city;\r\n multipleAdd.state = msg.state;\r\n multipleAdd.zip = msg.zip;\r\n multipleAdd.country = msg.country;\r\n multipleAdd.id = msg.id;\r\n multipleAdd.lattitude = msg.lattitude;\r\n multipleAdd.longtitude = msg.longtitude.toString();\r\n multipleAdd.phone = msg.phone;\r\n multipleAdd.fax = msg.fax;\r\n multipleAdd.ProvidenceIsland = msg.ProvidenceIsland;\r\n multipleAdd.accountid = this.account.id;\r\n multipleAdd.addressName = msg.addressName;\r\n this.addresses.push(multipleAdd);\r\n\r\n } else {\r\n if (this.type == \"Contact\") {\r\n this.contacts.address1 = msg.address1;\r\n this.contacts.address2 = msg.address2;\r\n this.contacts.city = msg.city;\r\n this.contacts.state = msg.state;\r\n this.contacts.zip = msg.zip;\r\n this.contacts.ProvidenceIsland = msg.ProvidenceIsland;\r\n this.contacts.lattitude = msg.lattitude.toString();\r\n this.contacts.longtitude = msg.longtitude.toString();\r\n this.contacts.country = msg.country;\r\n this.contacts.isaddressadded = msg.isaddressadded;\r\n } else {\r\n //if (this.type == \"Customer\") {\r\n this.account.address1 = msg.address1;\r\n this.account.address2 = msg.address2;\r\n this.account.city = msg.city;\r\n this.account.state = msg.state;\r\n this.account.zip = msg.zip;\r\n this.account.ProvidenceIsland = msg.ProvidenceIsland;\r\n this.account.lattitude = msg.lattitude;\r\n this.account.longtitude = msg.longtitude;\r\n this.account.country = msg.country;\r\n this.account.isaddressadded = msg.isaddressadded;\r\n this.NewForm.controls['address1'].setValue(this.account.address1);\r\n this.NewForm.controls['address2'].setValue(this.account.address2);\r\n this.NewForm.controls['city'].setValue(this.account.city);\r\n this.NewForm.controls['state'].setValue(this.account.state);\r\n this.NewForm.controls['zip'].setValue(this.account.zip);\r\n //this.NewForm.controls['country'].setValue(this.account.country);\r\n this.NewForm.controls['ProvidenceIsland'].setValue(this.account.ProvidenceIsland);\r\n this.NewForm.controls['lattitude'].setValue(this.account.lattitude);\r\n this.NewForm.controls['longtitude'].setValue(this.account.longtitude);\r\n \r\n this.NewForm.addControl('country', new FormControl(this.account.country));\r\n this.NewForm.addControl('lattitude', new FormControl(this.account.lattitude));\r\n if (this.account.country == \"882\") {\r\n \r\n setTimeout(function () {\r\n $('#city1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#city1').removeClass('ng-invalid');\r\n $('#city1').removeClass('required');\r\n\r\n new FormControl('city', Validators.nullValidator);\r\n }, 100);\r\n\r\n\r\n $('#state1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#state1').removeClass('ng-invalid');\r\n $('#state1').removeClass('required');\r\n new FormControl('state', Validators.nullValidator);\r\n\r\n\r\n $('#zip1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#zip1').removeClass('ng-invalid');\r\n $('#zip1').removeClass('required');\r\n new FormControl('zip', Validators.nullValidator);\r\n\r\n\r\n } else {\r\n $('#city1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('city', Validators.required);\r\n\r\n $('#state1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('state', Validators.required);\r\n\r\n $('#zip1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('zip', Validators.required);\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n\r\n showStateList() {\r\n document.getElementById('stateList').style.display = 'block';\r\n\r\n }\r\n hideStateList() {\r\n document.getElementById('stateList').style.display = 'none';\r\n }\r\n locshowStateList(i) {\r\n document.getElementById(i + 'locstateList').style.display = 'block';\r\n\r\n }\r\n lochideStateList(i) {\r\n document.getElementById(i + 'locstateList').style.display = 'none';\r\n }\r\n contactsShowStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'block';\r\n }\r\n contactsHideStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'none';\r\n }\r\n locstatePopulate(ival, zipid, cityid, stateid, stateDDN) {\r\n\r\n var that = this;\r\n var zipCode = $('#' + ival + zipid).val();\r\n var newStr = zipCode.replace(/_/g, \"\");\r\n var newStrArray = newStr.split(\"-\");\r\n if (newStrArray[0].length > 4) {\r\n var url = \"http://ziptasticapi.com/\" + newStrArray[0];\r\n $.ajax({\r\n url: url,\r\n dataType: \"json\",\r\n type: 'GET',\r\n success: function (data) {\r\n\r\n $('#' + ival + cityid).val(data.city);\r\n that.locloadstate(ival, data.state, stateid, stateDDN, data.city);\r\n\r\n }\r\n\r\n });\r\n }\r\n }\r\n cancelAccount() {\r\n this.FormDataModified = false;\r\n this.DiscardFormDataConfirmation = false;\r\n this.sendMsgEvent.emit(\"CloseAddAccountDialog~\" + this.account.id);\r\n }\r\n\r\n showEditAddressDiv() { \r\n this.account.zip = $('#zip1').val();\r\n this.account.address1 = $('#address11').val();\r\n this.account.address2 = $('#address21').val();\r\n this.account.city = $('#city1').val();\r\n this.account.state = $('#state1').val();\r\n this.account.country = $('#country').val();\r\n this.account.lattitude = $('#lattitude1').val();\r\n this.account.longtitude = $('#longtitude1').val();\r\n this.account.ProvidenceIsland = $('#ProvidenceIsland1').val(); \r\n this.NewForm.controls['ProvidenceIsland'].setValue(this.account.ProvidenceIsland);\r\n this.NewForm.controls['address1'].setValue(this.account.address1);\r\n this.NewForm.controls['address2'].setValue(this.account.address2);\r\n this.NewForm.controls['city'].setValue(this.account.city);\r\n this.NewForm.controls['state'].setValue(this.account.state);\r\n this.NewForm.controls['country'].setValue(this.account.country);\r\n this.NewForm.controls['zip'].setValue(this.account.zip);\r\n this.NewForm.controls['lattitude'].setValue(this.account.lattitude);\r\n this.NewForm.controls['longtitude'].setValue(this.account.longtitude);\r\n \r\n if (this.account.id == 0) {\r\n this.NewForm.addControl('userid', new FormControl(this.currentuser.id));\r\n var date = this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('created', new FormControl(date));\r\n this.NewForm.controls['created'].setValue(date);\r\n } else {\r\n var date = this.datePipe.transform(this.account.created, 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('created', new FormControl(date));\r\n this.NewForm.controls['created'].setValue(date);\r\n }\r\n var date = this.datePipe.transform(this.account.created, 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('created', new FormControl(date));\r\n this.NewForm.controls['created'].setValue(date);\r\n this.SaveAccount('DoNotUpdate');\r\n }\r\n \r\n SaveAccount(val) {\r\n if (this.account.isaddressadded) {\r\n if (this.account.id == 0) {\r\n this.accountsService.checkduplicateAccountName(this.account.accountname).then(result => {\r\n\r\n if (result == \"No\") {\r\n this.accountsService.checkduplicates(this.account).then(resultdata => {\r\n\r\n if (resultdata == \"No\" || resultdata == null) {\r\n this.SaveAccountInfo(val);\r\n }\r\n else {\r\n this.ismatchduplicate = result;\r\n if (resultdata == 'WebsiteDuplicate') { this.websiteduplicate = true; }\r\n this.SaveAccDialog = true;\r\n }\r\n });\r\n }\r\n else {\r\n this.DuplicateAccountDialog = true\r\n this.deleteduserName = result;\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width:45% !important;border: 4px solid rgb(49,189,240);border-radius:5%; height:70%;top:16%;max-width:none;padding:0;');\r\n }, 200));\r\n\r\n }\r\n });\r\n\r\n\r\n } else {\r\n\r\n this.SaveAccountInfo(val);\r\n }\r\n\r\n }\r\n else {\r\n this.showmapWarning = true;\r\n this.showmapWarningDialogCss();\r\n }\r\n }\r\n showmapWarningDialogCss() {\r\n setTimeout(function () {\r\n $('#Banoo .dialog').attr('style', 'width:30%;padding-bottom: 0px;border:4px solid rgb(49,189,240);border-radius:5%;min-height: 40%;overflow: visible;height: 42%;top: 32%;left: 56%;');\r\n }, 4);\r\n }\r\n SaveAccountInfo(val) { \r\n this.account.userid = this.currentuser.id; \r\n this.account.fieldvalues = JSON.stringify(this.NewForm?.value);\r\n this.accountsService.addaccountNew(this.account).then(result => {\r\n this.account = result;\r\n this.SaveAccDialog = false; \r\n this.toastr.success(\"Account saved successfully.\", \"Account Saved\", { timeOut: 600 });\r\n this.EditAddressDiv = false;\r\n this.FormDataModified = false;\r\n $('#test').val('');\r\n if (this.account.zip != undefined || this.account.zip != null) {\r\n if (this.account.zip.toString().length >= 6) {\r\n this.account.zip = this.account.zip.toString().slice(0, 5) + \"-\" + this.account.zip.toString().slice(5);\r\n } else if (this.account.zip.toString().length === 5) {\r\n this.account.zip = this.account.zip.toString();\r\n } else {\r\n this.account.zip = this.account.zip;\r\n }\r\n }\r\n this.sendMsgEvent.emit(\"CloseAddAccountDialog~\" + this.account.id);\r\n });\r\n\r\n $('#statisticHeader').attr('style', 'text-align: left;');\r\n this.addresses = null;\r\n }\r\n \r\n\r\n\r\n UpdatedAddressChecked(addressid) {\r\n this.ReplaceAddressSelected = true;\r\n if (addressid == 'AccountAdd') {\r\n this.addressupdate.id = 0;\r\n this.addressupdate.address1 = this.account.address1;\r\n this.addressupdate.address2 = this.account.address2;\r\n this.addressupdate.city = this.account.city;\r\n this.addressupdate.state = this.account.state;\r\n this.addressupdate.zip = this.account.zip;\r\n this.addressupdate.cell = this.account.phone;\r\n this.addressupdate.lattitude = this.account.lattitude;\r\n this.addressupdate.longtitude = this.account.longtitude.toString(); \r\n } else {\r\n this.addressupdate = this.multiplelocaddresses.filter(x => x.id == addressid)[0];\r\n }\r\n \r\n }\r\n \r\n updatecontactaddress() {\r\n this.addressupdate.ContactIds = this.MappedContacts.map(a => a.id).join(\",\");\r\n \r\n this.accountsService.updatecontactaddress(this.addressupdate).then(result => {\r\n this.addressupdate = new AddressUpdate();\r\n this.LocationMappedContactsDiv = false;\r\n this.accountsService.addaccountLocations(this.addresses).then(result => {\r\n this.toastr.success(\"Location Deleted successfully.\", \"Location\", { timeOut: 600 }); \r\n $(\"#\" + (this.deletedSecretLairsIndex)).remove();\r\n this.secretLairs.removeAt(this.deletedSecretLairsIndex);\r\n this.cancelAccount();\r\n });\r\n });\r\n\r\n var deletedAddress = $('#addressID' + (this.deletedSecretLairsIndex - 1)).val();\r\n if (deletedAddress == 0 || deletedAddress == '0') {\r\n this.accountsService.updateAccountAddress(this.addressupdate).then(result => { });\r\n }\r\n\r\n }\r\n \r\n closeduplicatediv() {\r\n this.SaveAccDialog = false;\r\n }\r\n SaveCustomeAddress() {\r\n this.account.isaddressadded = true;\r\n this.contacts.isaddressadded = true;\r\n this.showmapWarning = false;\r\n }\r\n\r\n public transform(input: string): string {\r\n if (!input) {\r\n return '';\r\n }\r\n else {\r\n return input[0].toUpperCase() + input.substr(1);\r\n }\r\n\r\n }\r\n cancelDialog() { this.DuplicateAccountDialog = false; }\r\n Continue() { this.SaveAccountInfo(this.selectedAddressOption); }\r\n AddAcctabChanged(val) {\r\n this.AddAccselectedMenuRadio = val;\r\n\r\n if (val == 'AddAcctab7') {\r\n this.LoadAdditionalLocations();\r\n }\r\n else if (val == 'AddAcctab0') { \r\n this.account.CustomerSince = this.account.CustomerSince == \"0001-01-01T00:00:00\" ? null : this.datePipe.transform(this.account.CustomerSince, 'MM-dd-yyyy');\r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result3 => {\r\n if (result3 != null) {\r\n this.accountHistory = result3; \r\n }\r\n\r\n });\r\n this.AccountHistoryDropdowns();\r\n }\r\n else if (val == 'AddAcctab1') {\r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Account Specifics').then(res => {\r\n if (res != null && res.length > 0) {\r\n let obj: string[] = [res[0].OrderFields, 'Account Specifics'];\r\n this.customerService.getSaveFormFields(obj).then(result => { \r\n result.forEach(ele => {\r\n if (ele['ColumnName'] == 'ownerid') {\r\n ele['Data'] = this.OwnerList;\r\n } else {\r\n if (ele['DataType'] == 'Pick List') {\r\n this.customerService.GetPickListData(ele['FieldName'], ele['id'], this.currentuser.id).then((accounttype) => {\r\n var data = this.PickListSortByType(ele['FieldDataOrderBy'], accounttype)\r\n ele['Data'] = data;\r\n });\r\n }\r\n }\r\n });\r\n this.Fields = result; \r\n this.Fields.forEach(x => {\r\n this.NewForm.addControl(x.ColumnName, new FormControl(''));\r\n }); \r\n });\r\n }\r\n\r\n });\r\n this.Accountspecificdropdowns();\r\n }\r\n else if (val == 'AddAcctab4') {\r\n \r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Mailing Address').then(res => {\r\n if (res != null && res.length > 0) {\r\n let obj: string[] = [res[0].OrderFields, 'Mailing Address'];\r\n this.customerService.getSaveFormFields(obj).then(result => {\r\n if (this.customeracces == 0) {\r\n result = result.filter(x => x.ColumnName != 'customertypeid');\r\n }\r\n result.forEach(ele => {\r\n if (ele['ColumnName'] == 'ownerid') {\r\n ele['Data'] = this.OwnerList;\r\n } else {\r\n if (ele['DataType'] == 'Pick List') {\r\n this.customerService.GetPickListData(ele['FieldName'], ele['id'], this.currentuser.id).then((accounttype) => {\r\n var data = this.PickListSortByType(ele['FieldDataOrderBy'], accounttype)\r\n ele['Data'] = data;\r\n });\r\n }\r\n }\r\n });\r\n this.Fields = result;\r\n this.Fields.forEach(x => {\r\n this.NewForm.addControl(x.ColumnName, new FormControl(''));\r\n\r\n });\r\n this.customerService.GetByAccountIdNew(this.account.id).then(result => {\r\n if (result != null) { \r\n this.account = JSON.parse(result);\r\n let so = this;\r\n setTimeout(function () {\r\n $('#address11').val(so.account.address1);\r\n so.NewForm.controls['address1'].setValue(so.account.address1);\r\n $('#address21').val(so.account.address2);\r\n so.NewForm.controls['address2'].setValue(so.account.address2);\r\n\r\n $('#city1').val(so.account.city);\r\n so.NewForm.controls['city'].setValue(so.account.city);\r\n $('#state1').val(so.account.state);\r\n so.NewForm.controls['state'].setValue(so.account.state);\r\n $('#zip1').val(so.account.zip);\r\n so.NewForm.controls['zip'].setValue(so.account.zip);\r\n $('#country').val(so.account.country);\r\n so.NewForm.controls['country'].setValue(so.account.country);\r\n $('#ProvidenceIsland1').val(so.account.ProvidenceIsland);\r\n so.NewForm.controls['ProvidenceIsland'].setValue(so.account.ProvidenceIsland);\r\n so.NewForm.addControl('lattitude', new FormControl(so.account.lattitude));\r\n so.NewForm.addControl('longtitude', new FormControl(so.account.longtitude));\r\n $('#lattitude1').val(so.account.lattitude);\r\n so.NewForm.controls['lattitude'].setValue(so.account.lattitude);\r\n $('#longtitude1').val(so.account.lattitude);\r\n so.NewForm.controls['longtitude'].setValue(so.account.longtitude);\r\n so.adddata.loadaddress(so.account, 1);\r\n }, 400);\r\n }\r\n });\r\n \r\n\r\n });\r\n\r\n }\r\n\r\n // this.adddata.loadaddress(this.account, 1);\r\n });\r\n }\r\n else if (val == 'AddAcctab5') { \r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Customer Details').then(res => {\r\n if (res != null && res.length > 0) {\r\n \r\n let obj: string[] = [res[0].OrderFields, 'Customer Details'];\r\n this.customerService.getSaveFormFields(obj).then(result => { \r\n \r\n result.forEach(ele => {\r\n if (ele['DataType'] == 'Pick List') {\r\n this.customerService.GetPickListData(ele['FieldName'], ele['id'], this.currentuser.id).then((accounttype) => {\r\n var data = this.PickListSortByType(ele['FieldDataOrderBy'], accounttype)\r\n ele['Data'] = data;\r\n });\r\n }\r\n });\r\n this.Fields = result;\r\n \r\n this.Fields.forEach(x => {\r\n this.NewForm.addControl(x.ColumnName, new FormControl('')); \r\n });\r\n this.Fields = [];\r\n if (this.account.isCustomer != 874) {\r\n this.account.isCustomer = 875; \r\n this.Fields.push(result[0]);\r\n } else {\r\n this.Fields = result;\r\n \r\n this.account.HL7Interface = this.account.HL7Interface != null ? this.account.HL7Interface:897;\r\n this.account.CustomerRCM = this.account.CustomerRCM != null ? this.account.CustomerRCM : 901;\r\n this.account.OnDemand = this.account.OnDemand != null ? this.account.OnDemand : 904;\r\n this.account.ApptReminders = this.account.ApptReminders != null ? this.account.ApptReminders : 906;\r\n this.account.eLab = this.account.eLab != null ? this.account.eLab : 908;\r\n this.account.MIPS = this.account.MIPS != null ? this.account.MIPS : 910; \r\n this.account.CustomerSince = this.account.CustomerSince == \"0001-01-01T00:00:00\" ? null : this.datePipe.transform(this.account.CustomerSince, 'yyyy-MM-dd');\r\n }\r\n \r\n let so = this;\r\n setTimeout(function () { \r\n so.NewForm.controls['IsCustomer'].setValue(so.account.isCustomer);\r\n \r\n $('#CustomerSince').val(so.account.CustomerSince);\r\n if (so.currentuser.customerAccount) {\r\n $(\"#accnumber\").prop(\"disabled\", false);\r\n } else {\r\n $(\"#accnumber\").prop(\"disabled\", true);\r\n }\r\n\r\n if (so.currentuser.customerStatus) {\r\n $(\"#accountStatus\").prop(\"disabled\", false);\r\n } else {\r\n $(\"#accountStatus\").prop(\"disabled\", true);\r\n }\r\n\r\n if (so.currentuser.customerSince) {\r\n $(\"#CustomerSince\").prop(\"disabled\", false);\r\n } else {\r\n $(\"#CustomerSince\").prop(\"disabled\", true);\r\n }\r\n\r\n if (so.currentuser.isCustomer) {\r\n $(\"#IsCustomer\").prop('disabled', false);\r\n } else {\r\n $(\"#IsCustomer\").prop(\"disabled\", true);\r\n }\r\n\r\n if (so.currentuser.SystemType) {\r\n $(\"#SystemType\").prop('disabled', false);\r\n } else {\r\n $(\"#SystemType\").prop(\"disabled\", true);\r\n }\r\n\r\n if (so.currentuser.HL7interface) {\r\n $(\"#HL7Interface\").prop('disabled', false);\r\n } else {\r\n $(\"#HL7Interface\").prop(\"disabled\", true);\r\n }\r\n\r\n if (so.currentuser.CustomerRCM) {\r\n $(\"#CustomerRCM\").prop('disabled', false);\r\n } else {\r\n $(\"#CustomerRCM\").prop(\"disabled\", true);\r\n }\r\n\r\n if (so.currentuser.OnDemand) {\r\n $(\"#OnDemand\").prop('disabled', false);\r\n } else {\r\n $(\"#OnDemand\").prop(\"disabled\", true);\r\n }\r\n\r\n if (so.currentuser.ApptReminders) {\r\n $(\"#ApptReminders\").prop('disabled', false);\r\n } else {\r\n $(\"#ApptReminders\").prop(\"disabled\", true);\r\n }\r\n\r\n if (so.currentuser.eLab) {\r\n $(\"#eLab\").prop('disabled', false);\r\n } else {\r\n $(\"#eLab\").prop(\"disabled\", true);\r\n }\r\n if (so.currentuser.MIPS) {\r\n $(\"#MIPS\").prop('disabled', false);\r\n } else {\r\n $(\"#MIPS\").prop(\"disabled\", true);\r\n }\r\n }, 300);\r\n });\r\n }\r\n\r\n });\r\n\r\n }\r\n else if (val == 'AddAcctab6') {\r\n this.DisplayNote(); \r\n }\r\n }\r\n DisplayNote() {\r\n let allContactIds = [];\r\n this.customerService.GetAllContactproviderByAccount(this.accountID, this.currentuser.id).then((contacts) => {\r\n if (contacts.length > 0) {\r\n allContactIds = contacts.map(x => x.id);\r\n this.GetCustomerNotes(this.currentuser.id, allContactIds.join(\",\"), 'AllContactsNotes', this.accountID.toString(), \"null\");\r\n } else {\r\n this.GetCustomerNotes(this.currentuser.id, \"0\", 'AllContactsNotes', this.accountID.toString(), \"null\");\r\n }\r\n\r\n });\r\n }\r\n LoadAdditionalLocations() {\r\n this.AddressList = [];\r\n this.multiplelocaddresses = [];\r\n this.customerService.GetByAccountIdNew(this.account.id).then(result => { \r\n if (result != null) {\r\n this.account = JSON.parse(result);\r\n var Addloc = new Accountlocations();\r\n Addloc.id = 0;\r\n Addloc.address1 = this.account.address1;\r\n Addloc.address2 = this.account.address2;\r\n Addloc.city = this.account.city;\r\n Addloc.state = this.account.state;\r\n Addloc.zip = this.account.zip;\r\n Addloc.fax = this.account.fax;\r\n Addloc.phone = this.account.phone;\r\n Addloc.lattitude = this.account.lattitude;\r\n Addloc.longtitude = this.account.longtitude.toString();\r\n Addloc.ProvidenceIsland = this.account.ProvidenceIsland;\r\n Addloc.country = this.account.country;\r\n Addloc.accountid = this.account.id;\r\n Addloc.LocationPicture = this.account.LocationPicture;\r\n Addloc.addressName = 'Main Location';\r\n Addloc.addressType = \"Main\";\r\n\r\n this.multiplelocaddresses.push(Addloc);\r\n \r\n this.customerService.GetLocationByAccountId(this.account.id).then(result => {\r\n result.forEach(ele => {\r\n\r\n if (ele.address1 != null && ele.address1 != \"\") {\r\n\r\n this.multiplelocaddresses.push(ele);\r\n }\r\n })\r\n var index = 1;\r\n var LocationIndex = 2;\r\n this.multiplelocaddresses.forEach(ele => {\r\n if ((ele.address1 != undefined && ele.address1 != '') || (ele.address2 != undefined && ele.address2 != '')) {\r\n this.multipleLocation(1,false);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n\r\n selfObj.AddressList.push({ \"id\": ele.id, \"itemName\": \"Location (\" + (LocationIndex) + \") :- \" + ele.address1 + \", \" + ele.address2 + \", \" + ele.city + \", \" + ele.state, \"Category\": 'Additional Loaction', \"Location Picture\": ele.LocationPicture });\r\n \r\n selfObj.adddata.loadaddress(ele, index);\r\n index++;\r\n LocationIndex++;\r\n\r\n }, 100));\r\n }\r\n });\r\n\r\n });\r\n }\r\n });\r\n\r\n \r\n }\r\n SaveAdditionalAddress() {\r\n \r\n this.addresses = [];\r\n let index = this.secretLairs.value.length;\r\n \r\n for (var i = 1; i <= index ; i++ ){\r\n let multipleAdd = new Accountlocations();\r\n multipleAdd.id = $('#addressID' + i).val();\r\n multipleAdd.addressName = $('#addressName' + i).val();\r\n multipleAdd.addressType = $('#addressType' + i).val();\r\n multipleAdd.address1 = $('#address1' + i).val();\r\n multipleAdd.address2 = $('#address2' + i).val();\r\n multipleAdd.city = $('#city' + i).val();\r\n multipleAdd.state = $('#state' + i).val();\r\n multipleAdd.zip = $('#zip' + i).val();\r\n multipleAdd.country = $('#country' + i).val();\r\n multipleAdd.lattitude = $('#lattitude' + i).val();\r\n multipleAdd.longtitude = $('#longtitude' + i).val();\r\n multipleAdd.phone = $('#phone' + i).val();\r\n multipleAdd.fax = $('#fax' + i).val();\r\n multipleAdd.LocationPicture = $('#UploadImage' + i).val();\r\n this.multiplelocaddresses.isdelete = 0;\r\n multipleAdd.ProvidenceIsland = $('#ProvidenceIsland' + i).val();\r\n multipleAdd.accountid = this.account.id;\r\n \r\n if (((multipleAdd.address1 != undefined && multipleAdd.address1 != '' && multipleAdd.address1 != null) || (multipleAdd.address2 != undefined && multipleAdd.address2 != '' && multipleAdd.address2 != null))) {\r\n this.addresses.push(multipleAdd);\r\n }\r\n }\r\n this.accountsService.addaccountLocations(this.addresses).then(result => {\r\n this.toastr.success(\"Location saved successfully.\", \"Location\", { timeOut: 600 }); \r\n this.sendMsgEvent.emit(\"Saved~\" + this.account.id);\r\n });\r\n }\r\n \r\n SaveAccountHistory() {\r\n $(\"#test\").val('');\r\n this.accountHistory.accountid = this.account.id;\r\n this.accountHistory.Salesrep = this.account.salesRep;\r\n this.accountsService.addaccountHistory(this.accountHistory).then(result => {\r\n this.toastr.success(\"Account History saved successfully.\", \"Account History\", { timeOut: 600 }); \r\n });\r\n }\r\n NOLicenseAccess() {\r\n this.NoAccess = true;\r\n setTimeout(function () {\r\n $('#NoAccess .dialog ').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%')\r\n\r\n }, 4)\r\n }\r\n Expand(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n this.ExpandMode = true;\r\n } else {\r\n this.ExpandMode = false;\r\n }\r\n this.sendMsgEvent.emit(msg);\r\n }\r\n\r\n PickListSortByType(value, data) {\r\n var DuplicateFiledDataList = [];\r\n if (value == 'SortOrder') {\r\n DuplicateFiledDataList = data.sort((a, b) => a.Sortorder - b.Sortorder);\r\n return DuplicateFiledDataList;\r\n } else if (value == 'FieldName') {\r\n DuplicateFiledDataList = data.sort((a, b) => a.itemName.localeCompare(b.itemName));\r\n return DuplicateFiledDataList;\r\n } else {\r\n DuplicateFiledDataList = data.sort((a, b) => a.Sortorder - b.Sortorder);\r\n return DuplicateFiledDataList;\r\n }\r\n }\r\n FormDataEntered(val) {\r\n this.FormDataModified = true;\r\n }\r\n IsCustomerTypeChange(value, fieldVal) {\r\n if (fieldVal == 'Customer') {\r\n if (value == 874) {\r\n $('#customertypeid').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('customertypeid', Validators.required);\r\n } \r\n else {\r\n $('#customertypeid').removeClass('ng-invalid');\r\n $('#customertypeid').removeClass('required');\r\n this.NewForm.controls['customertypeid'].setValue('');\r\n new FormControl('customertypeid', Validators.nullValidator);\r\n\r\n }\r\n } else if (fieldVal == 'country') {\r\n if (value == 882) {\r\n \r\n $('#city1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#city1').removeClass('ng-invalid');\r\n $('#city1').removeClass('required');\r\n new FormControl('city', Validators.nullValidator);\r\n\r\n $('#state1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#state1').removeClass('ng-invalid');\r\n $('#state1').removeClass('required');\r\n new FormControl('state', Validators.nullValidator);\r\n\r\n $('#zip1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#zip1').removeClass('ng-invalid');\r\n $('#zip1').removeClass('required');\r\n new FormControl('zip', Validators.nullValidator);\r\n\r\n } else {\r\n $('#city1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('city', Validators.required);\r\n\r\n $('#state1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('state', Validators.required);\r\n\r\n $('#zip1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('zip', Validators.required);\r\n }\r\n } else if (fieldVal == 'customertypeid') {\r\n $('#customertypeid').removeClass(\"ng-pristine ng-valid ng-invalid\");\r\n $('#customertypeid').addClass('ng-valid valid');\r\n $('#customertypeid').addClass('required')\r\n }\r\n }\r\n DiscardFormDataConfirmationCss() {\r\n this.DiscardFormDataConfirmation = true;\r\n setTimeout(function () {\r\n $('#DiscardFormDataConfirmation .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\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, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Accounts, Accountlocations } from '../../models/accounts';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\ndeclare var $: any;\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport { AccountsService } from '../../services/accounts.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { Users } from '../../models/users';\r\nimport { ApplicationComponent } from '../application.component';\r\n\r\n@Component({\r\n selector: 'add-new-account',\r\n templateUrl: './add-new-account.component.html',\r\n styleUrls: ['./add-new-account.component.css']\r\n})\r\nexport class AddNewAccountComponent implements OnInit {\r\n Fields: any; SpecificsFields: any; ShippingFields: any;\r\n AccSpecificFields:any;\r\n currentuser: any;\r\n customeracces: number = 0;\r\n OwnerList: Dropdowntype[] = [];\r\n NewForm = new FormGroup({});\r\n account: Accounts = new Accounts();\r\n public stateInfo = [];\r\n MonthList: Dropdowntype[] = [];\r\n DayList: Dropdowntype[] = [];\r\n Years: any[];\r\n FormDataModified: boolean = false;\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n addresses: Accountlocations[] = [];\r\n DiscardFormDataConfirmation: boolean = false;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n enableDoNotUpdate: boolean = false;\r\n ismatchduplicate: string;\r\n SaveAccDialog: boolean = false; websiteduplicate = false;\r\n DuplicateAccountDialog: boolean = false;\r\n deleteduserName: string = \"\";\r\n showmapWarning: boolean = false; EditAddressDiv: boolean = false;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n customertypeList: Dropdowntype[] = [];\r\n contactList: Dropdowntype[] = [];\r\n salereplist: Users[] = [];\r\n accounttypeList: Dropdowntype[] = [];\r\n ownershiplist: Dropdowntype[] = [];\r\n Statuslist: Dropdowntype[] = [];\r\n customercontacttypelist: Dropdowntype[];\r\n SuffixList: Dropdowntype[] = [];\r\n SexList: Dropdowntype[] = [];\r\n leadfromlist: Dropdowntype[] = [];\r\n TitleList: Dropdowntype[] = [];\r\n contacttypelist: Dropdowntype[] = [];\r\n Specialitytypelist: Dropdowntype[] = [];\r\n Collegelist: Dropdowntype[] = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n StatesList: Dropdowntype[] = [];\r\n CitiesList: Dropdowntype[] = [];\r\n PractiseList: Dropdowntype[] = [];\r\n ehrpurchasedList: Dropdowntype[] = [];\r\n pmpurchasedList: Dropdowntype[] = [];\r\n rcmlist: Dropdowntype[] = [];\r\n constructor(public applicationComponent: ApplicationComponent, private router: Router, private _location: Location, private toastr: ToastrService, private customerService: CustomerService, private accountsService: AccountsService,\r\n private opprtunityservice: OpprtunitiesService) { this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); }\r\n\r\n ngOnInit(): void {\r\n this.dropdownvalues();\r\n \r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Mailing Address').then(res => {\r\n if (res != null && res.length > 0) {\r\n let obj: string[] = [res[0].OrderFields, 'Mailing Address'];\r\n this.customerService.getSaveFormFields(obj).then(result => {\r\n if (this.customeracces == 0) {\r\n result = result.filter(x => x.ColumnName != 'customertypeid');\r\n }\r\n\r\n result.forEach(ele => {\r\n if (ele['ColumnName'] == 'ownerid') {\r\n ele['Data'] = this.OwnerList;\r\n this.account.ownerid = this.currentuser.id;\r\n } else {\r\n if (ele['DataType'] == 'Pick List') {\r\n this.customerService.GetPickListData(ele['FieldName'], ele['id'], this.currentuser.id).then((accounttype) => {\r\n var data = this.PickListSortByType(ele['FieldDataOrderBy'], accounttype)\r\n ele['Data'] = data;\r\n });\r\n }\r\n }\r\n });\r\n this.Fields = result.filter(x => !x.ColumnName.includes('Shipping')); \r\n this.ShippingFields = result.filter(x => x.ColumnName.includes('Shipping')); \r\n this.Fields.forEach(x => {\r\n this.NewForm.addControl(x.ColumnName, new FormControl('')); \r\n });\r\n\r\n });\r\n }\r\n });\r\n\r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Account Specifics').then(Specificsres => {\r\n if (Specificsres != null && Specificsres.length > 0) {\r\n let obj: string[] = [Specificsres[0].OrderFields, 'Account Specifics'];\r\n this.customerService.getSaveFormFields(obj).then(result => { \r\n result.forEach(ele => {\r\n if (ele['DataType'] == 'Pick List') { \r\n this.customerService.GetPickListData(ele['FieldName'], ele['id'], this.currentuser.id).then((accounttype) => { \r\n var data = this.PickListSortByType(ele['FieldDataOrderBy'], accounttype)\r\n ele['Data'] = data;\r\n });\r\n }\r\n });\r\n this.SpecificsFields = result;\r\n \r\n this.SpecificsFields.forEach(x => {\r\n this.NewForm.addControl(x.ColumnName, new FormControl(''));\r\n });\r\n\r\n });\r\n }\r\n });\r\n \r\n }\r\n\r\n cancelAccount() {\r\n this._location.back(); \r\n }\r\n dropdownvalues() {\r\n \r\n this.customerService.GetSpecialityList(\"Account Active or Inactive\", this.currentuser.id).then((CustomerType) => { \r\n this.customertypeList = CustomerType;\r\n this.account.customertypeid = 1;\r\n \r\n });\r\n this.customerService.GetAllOwnerList(0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.OwnerList = Owner;\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Account Type\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.accounttypeList = accounttype;\r\n \r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Account Ownership\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.ownershiplist = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Account Status\", this.currentuser.id).then((accounttype) => {\r\n \r\n this.Statuslist = accounttype;\r\n \r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Suffix\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.SuffixList = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Sex\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.SexList = accounttype;\r\n });\r\n this.customerService.GetAccountContactList(this.account.id).then((conatct) => {\r\n\r\n conatct.forEach(ele => {\r\n if (ele.category != null) {\r\n ele.itemName = ele.itemName + ' - ' + ele.category;\r\n }\r\n });\r\n\r\n this.contactList = conatct;\r\n });\r\n\r\n\r\n this.customerService.GetSpecialityList(\"Account PM\", this.currentuser.id).then((pm) => {\r\n pm.forEach(pm => {\r\n });\r\n this.pmpurchasedList = pm;\r\n });\r\n this.customerService.GetSpecialityList(\"Account RCM\", this.currentuser.id).then((rcm) => {\r\n rcm.forEach(rcm => {\r\n });\r\n this.rcmlist = rcm;\r\n });\r\n \r\n this.customerService.GetRoleSalesRep(this.currentuser.userrole).then((salerep) => {\r\n this.salereplist = salerep;\r\n });\r\n this.customerService.GetSpecialityList(\"Account EHR\", this.currentuser.id).then((ehr) => {\r\n ehr.forEach(accounttype => {\r\n });\r\n this.ehrpurchasedList = ehr;\r\n });\r\n this.customerService.Getcontacttypes(1).then((accounttype) => {\r\n\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.customercontacttypelist = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Account Specialty\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Specialitytypelist = accounttype;\r\n });\r\n\r\n this.customerService.GetCollegeList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Collegelist = accounttype;\r\n });\r\n\r\n this.customerService.GetMedicalSchoolList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.MedicalSchoolList = accounttype;\r\n });\r\n\r\n this.customerService.GetAllStateList('all').then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.StatesList = accounttype;\r\n this.stateInfo = accounttype\r\n });\r\n this.customerService.GetSpecialityList(\"Month\", this.currentuser.id).then((appointment) => {\r\n appointment.forEach(appointment => {\r\n });\r\n this.MonthList = appointment;\r\n\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Day\", this.currentuser.id).then((appointment) => {\r\n appointment.forEach(appointment => {\r\n });\r\n this.DayList = appointment;\r\n });\r\n\r\n this.customerService.GetPractices().then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.PractiseList = accounttype;\r\n });\r\n\r\n this.getyears()\r\n {\r\n var range = [];\r\n var y = 1949;\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.Years = range;\r\n }\r\n\r\n }\r\n getyears() {\r\n var range = [];\r\n var year = new Date().getFullYear();\r\n for (var i = 0; i < 7; i++) {\r\n range.push({\r\n label: year + i,\r\n value: parseInt(String(year + i).slice(2, 4))\r\n });\r\n }\r\n\r\n\r\n this.Years = range;\r\n }\r\n showEditAddressDiv() {\r\n this.account.zip = $('#zip1').val();\r\n this.account.address1 = $('#address11').val();\r\n this.account.address2 = $('#address21').val();\r\n this.account.city = $('#city1').val();\r\n this.account.state = $('#state1').val();\r\n this.account.lattitude = $('#lattitude1').val();\r\n this.account.longtitude = $('#longtitude1').val();\r\n this.account.country = $('#country').val();\r\n this.account.ProvidenceIsland = $('#ProvidenceIsland1').val();\r\n this.NewForm.controls['ProvidenceIsland'].setValue(this.account.ProvidenceIsland);\r\n this.NewForm.controls['address1'].setValue(this.account.address1);\r\n this.NewForm.controls['address2'].setValue(this.account.address2);\r\n this.NewForm.controls['city'].setValue(this.account.city);\r\n this.NewForm.controls['state'].setValue(this.account.state);\r\n this.NewForm.controls['country'].setValue(this.account.country);\r\n this.NewForm.controls['zip'].setValue(this.account.zip);\r\n \r\n if (this.account.id == 0) {\r\n this.NewForm.addControl('userid', new FormControl(this.currentuser.id));\r\n var date = this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('created', new FormControl(date));\r\n this.NewForm.controls['created'].setValue(date);\r\n } else {\r\n var date = this.datePipe.transform(this.account.created, 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('created', new FormControl(date));\r\n this.NewForm.controls['created'].setValue(date);\r\n }\r\n var date = this.datePipe.transform(this.account.created, 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('created', new FormControl(date));\r\n this.NewForm.controls['created'].setValue(date);\r\n this.SaveAccount('DoNotUpdate');\r\n }\r\n SaveAccount(val) {\r\n if (this.account.isaddressadded) {\r\n if (this.account.id == 0) {\r\n this.accountsService.checkduplicateAccountName(this.account.accountname).then(result => {\r\n\r\n if (result == \"No\") {\r\n this.accountsService.checkduplicates(this.account).then(resultdata => {\r\n\r\n if (resultdata == \"No\" || resultdata == null) {\r\n this.SaveAccountInfo(val);\r\n }\r\n else {\r\n this.ismatchduplicate = result;\r\n if (resultdata == 'WebsiteDuplicate') { this.websiteduplicate = true; }\r\n this.SaveAccDialog = true;\r\n }\r\n });\r\n }\r\n else {\r\n this.DuplicateAccountDialog = true\r\n this.deleteduserName = result;\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width:45% !important;border: 4px solid rgb(49,189,240);border-radius:5%; height:70%;top:16%;max-width:none;padding:0;');\r\n }, 200));\r\n\r\n }\r\n });\r\n\r\n\r\n } else {\r\n\r\n this.SaveAccountInfo(val);\r\n }\r\n\r\n }\r\n else {\r\n this.showmapWarning = true;\r\n this.showmapWarningDialogCss();\r\n }\r\n }\r\n showmapWarningDialogCss() {\r\n setTimeout(function () {\r\n $('#Banoo .dialog').attr('style', 'width:30%;padding-bottom: 0px;border:4px solid rgb(49,189,240);border-radius:5%;min-height: 40%;overflow: visible;height: 42%;top: 32%;left: 56%;');\r\n }, 4);\r\n }\r\n SaveAccountInfo(val) {\r\n this.account.userid = this.currentuser.id;\r\n var date = this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss'); \r\n this.NewForm.controls['created'].setValue(date);\r\n this.account.fieldvalues = JSON.stringify(this.NewForm?.value);\r\n this.account.lattitude = this.account.lattitude;\r\n this.account.longtitude = this.account.longtitude;\r\n \r\n this.accountsService.addaccountNew(this.account).then(result => {\r\n this.account = result; \r\n this.SaveAccDialog = false;\r\n this.toastr.success(\"Account saved successfully.\", \"Account Saved\", { timeOut: 600 });\r\n \r\n if (this.account.isCustomer == 874) {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Customer`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Customer`);\r\n }\r\n localStorage.setItem('RhxAccountVal', this.account.id.toString());\r\n\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.applicationComponent.ExpandSelectedMenu('customers');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n selfobj.applicationComponent.selectedtabid = 'Customer';\r\n }, 200)\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Accounts`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n }\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n localStorage.setItem('RhxAccountVal', selfobj.account.id.toString());\r\n });\r\n \r\n\r\n }\r\n this.EditAddressDiv = false;\r\n this.FormDataModified = false;\r\n $('#test').val('');\r\n if (this.account.zip != undefined || this.account.zip != null) {\r\n if (this.account.zip.toString().length >= 6) {\r\n this.account.zip = this.account.zip.toString().slice(0, 5) + \"-\" + this.account.zip.toString().slice(5);\r\n } else if (this.account.zip.toString().length === 5) {\r\n this.account.zip = this.account.zip.toString();\r\n } else {\r\n this.account.zip = this.account.zip;\r\n }\r\n }\r\n this.sendMsgEvent.emit(\"CloseAddAccountDialog~\" + this.account.id + \"~\" + this.account.isCustomer);\r\n });\r\n\r\n $('#statisticHeader').attr('style', 'text-align: left;');\r\n this.addresses = null;\r\n }\r\n FormDataEntered(val) {\r\n this.FormDataModified = true;\r\n }\r\n DiscardFormDataConfirmationCss() {\r\n this.DiscardFormDataConfirmation = true;\r\n setTimeout(function () {\r\n $('#DiscardFormDataConfirmation .dialog').attr('style', 'width: 31%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n AddressReceived(msg: Accounts) { // Reverted Changes\r\n \r\n if (msg.locationType == \"loc1\") {\r\n let multipleAdd = new Accountlocations();\r\n multipleAdd.address1 = msg.address1;\r\n multipleAdd.address2 = msg.address2;\r\n multipleAdd.city = msg.city;\r\n multipleAdd.state = msg.state;\r\n multipleAdd.zip = msg.zip;\r\n multipleAdd.id = msg.id; \r\n multipleAdd.phone = msg.phone;\r\n multipleAdd.fax = msg.fax;\r\n multipleAdd.accountid = this.account.id;\r\n this.addresses.push(multipleAdd);\r\n\r\n } else {\r\n this.account.address1 = msg.address1;\r\n this.account.address2 = msg.address2;\r\n this.account.city = msg.city;\r\n this.account.state = msg.state;\r\n this.account.zip = msg.zip;\r\n this.account.ProvidenceIsland = msg.ProvidenceIsland;\r\n this.account.lattitude = msg.lattitude;\r\n this.account.longtitude = msg.longtitude;\r\n this.account.country = msg.country;\r\n this.account.isaddressadded = msg.isaddressadded;\r\n this.NewForm.controls['address1'].setValue(this.account.address1);\r\n this.NewForm.controls['address2'].setValue(this.account.address2);\r\n this.NewForm.controls['city'].setValue(this.account.city);\r\n this.NewForm.controls['state'].setValue(this.account.state);\r\n this.NewForm.controls['zip'].setValue(this.account.zip);\r\n this.NewForm.controls['country'].setValue(this.account.country);\r\n this.NewForm.controls['ProvidenceIsland'].setValue(this.account.ProvidenceIsland);\r\n if (this.account.country == \"882\") {\r\n setTimeout(function () {\r\n $('#city1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#city1').removeClass('ng-invalid');\r\n $('#city1').removeClass('required'); \r\n new FormControl('city', Validators.nullValidator);\r\n\r\n $('#state1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#state1').removeClass('ng-invalid');\r\n $('#state1').removeClass('required');\r\n new FormControl('state', Validators.nullValidator);\r\n\r\n $('#zip1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#zip1').removeClass('ng-invalid');\r\n $('#zip1').removeClass('required');\r\n new FormControl('zip', Validators.nullValidator);\r\n }, 300);\r\n \r\n\r\n \r\n } else {\r\n $('#city1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('city', Validators.required);\r\n\r\n $('#state1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('state', Validators.required);\r\n\r\n $('#zip1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('zip', Validators.required);\r\n }\r\n\r\n }\r\n\r\n }\r\n IsCustomerTypeChange(value, fieldVal) {\r\n \r\n if (fieldVal == 'country') {\r\n if (value == 882) {\r\n\r\n $('#city1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#city1').removeClass('ng-invalid');\r\n $('#city1').removeClass('required');\r\n new FormControl('city', Validators.nullValidator);\r\n\r\n $('#state1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#state1').removeClass('ng-invalid');\r\n $('#state1').removeClass('required');\r\n new FormControl('state', Validators.nullValidator);\r\n\r\n $('#zip1').addClass('form-control decreasefieldSize ng-pristine');\r\n $('#zip1').removeClass('ng-invalid');\r\n $('#zip1').removeClass('required');\r\n new FormControl('zip', Validators.nullValidator);\r\n\r\n } else {\r\n $('#city1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('city', Validators.required);\r\n\r\n $('#zip1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('zip', Validators.required);\r\n\r\n $('#state1').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n new FormControl('state', Validators.required);\r\n }\r\n }\r\n else if (fieldVal == 'ownerid') {\r\n if (value == 0) {\r\n $('#ownerid').removeClass(\"ng-pristine ng-valid\");\r\n $('#ownerid').addClass('form-control decreasefieldSize ng-pristine ng-invalid ng-star-inserted ng-touched');\r\n this.NewForm.controls['ownerid'].setValue('');\r\n new FormControl('ownerid', Validators.required);\r\n }\r\n else {\r\n $('#ownerid').removeClass(\"ng-pristine ng-invalid\");\r\n $('#ownerid').addClass('form-control decreasefieldSize ng-pristine ng-valid ng-star-inserted ng-touched');\r\n new FormControl('ownerid', Validators.nullValidator);\r\n }\r\n\r\n }\r\n }\r\n\r\n PickListSortByType(value, data) {\r\n var DuplicateFiledDataList = [];\r\n if (value == 'SortOrder') {\r\n DuplicateFiledDataList = data.sort((a, b) => a.Sortorder - b.Sortorder);\r\n return DuplicateFiledDataList;\r\n } else if (value == 'FieldName') {\r\n DuplicateFiledDataList = data.sort((a, b) => a.itemName.localeCompare(b.itemName));\r\n return DuplicateFiledDataList;\r\n } else {\r\n DuplicateFiledDataList = data.sort((a, b) => a.Sortorder - b.Sortorder);\r\n return DuplicateFiledDataList;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\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, ViewContainerRef, ElementRef, Input, Output, EventEmitter, ViewChild, NgZone } from '@angular/core';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Customers } from '../../models/customers';\r\nimport { Notes } from '../../models/notes';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AccountsService } from './../../services/accounts.service';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { TitleCasePipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormControl, FormGroup, FormBuilder} from '@angular/forms';\r\nimport { Location } from '@angular/common';\r\nimport { Tickets } from '../../models/tickets';\r\nimport { Emails } from '../../models/emails';\r\nimport { Document } from '../../models/document';\r\nimport { Project } from '../../models/project';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { HeroService } from './../../services/hero.service';\r\nimport { Accountlocations } from '../../models/data-model';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { GridOptions } from \"ag-grid/main\";\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { MapsAPILoader, MouseEvent } from '@agm/core';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-address',\r\n templateUrl: './address.component.html',\r\n styleUrls: ['./address.component.css']\r\n})\r\n\r\nexport class AddressComponent implements OnInit {\r\n currentuser: any;\r\n notedescription: string;\r\n userprevilages: any;\r\n accid: number;\r\n isOpenGoogleMap: boolean = false;\r\n customercontacttypelist: Dropdowntype[];\r\n Years: any[];\r\n MedSchoolYears: any[];\r\n ResidencyYears: any[];\r\n FellowShipYears: any[];\r\n addressform: FormGroup;\r\n account: Accounts = new Accounts();\r\n contacts: Contacts = new Contacts();\r\n customer: Customers = new Customers();\r\n accountlocations: Accountlocations = new Accountlocations();\r\n accountslist: Array = [];\r\n contactslist: Array = [];\r\n noteslist: Array = [];\r\n public accountid: number = 0;\r\n public practiceid: number = 0;\r\n @Input()\r\n contactid: number;\r\n @Input()\r\n type: string;\r\n @Input()\r\n locationType: string;\r\n customertypeList: Dropdowntype[] = [];\r\n OwnerList: Dropdowntype[] = [];\r\n accounttypeList: Dropdowntype[] = [];\r\n ownershiplist: Dropdowntype[] = [];\r\n private providercontacts: Array = [];\r\n itemResource: any;\r\n ContactStaffitemResource: any;\r\n items = [];\r\n itemCount = 0;\r\n staffitems = [];\r\n staffitemCount = 0;\r\n locationId = 0;\r\n locId = 0;\r\n params: any;\r\n ContactStaffparams: any;\r\n showDialog = false;\r\n locationCount: number = 2;\r\n MonthList: Dropdowntype[] = [];\r\n DayList: Dropdowntype[] = [];\r\n public providerId: number = 0;\r\n activitieslist: Array = [];\r\n documentlist: Array = [];\r\n ticketslist: Array = [];\r\n emailslist: Array = [];\r\n projectlist: Array = [];\r\n FeeAmountdiv: boolean = false;\r\n hidDiv: boolean = true;\r\n notesshowDialog = false;\r\n allnotes: Notes[];\r\n public staticsticsId: number = 1;\r\n public stateInfo = [];\r\n private data: Array = [];\r\n public rows: Array = [];\r\n public columns: Array = [\r\n { title: 'Date', name: 'created' },\r\n { title: 'Type', name: 'type' },\r\n { title: 'Note Description', name: 'notedescription' }\r\n ];\r\n Ids = [];\r\n public page: number = 1;\r\n public itemsPerPage: number = 10;\r\n public maxSize: number = 5;\r\n public numPages: number = 1;\r\n public length: number = 0;\r\n public config: any = {\r\n paging: true,\r\n sorting: { columns: this.columns },\r\n filtering: { filterString: '' },\r\n className: ['table-striped', 'table-bordered']\r\n };\r\n stateTextBox: boolean = true;\r\n stateDropDown: boolean = false;\r\n displayZipCode: boolean = true;\r\n displayCountryName: boolean = false;\r\n seletedcountry: any;\r\n countryId: number = 1;\r\n public elementRef;\r\n textareaLength: number = 15;\r\n addresses: Accountlocations[];\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n heroForm: FormGroup;\r\n nameChangeLog: string[] = [];\r\n allContactsproviders: Contacts[];\r\n allContactstaffs: Contacts[];\r\n public context;\r\n public frameworkComponents; public columnDefsnotes: any[];\r\n public gridOptionsnotes: GridOptions;\r\n today = Date.now();\r\n public AccountorCustomertype;\r\n @Input()\r\n address1;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n titleCasePipe: TitleCasePipe = new TitleCasePipe();\r\n public searchControl: FormControl;\r\n public lattitude: number;\r\n public longitude: number;\r\n\r\n SelectedCountryId: number;\r\n public zoom: number;\r\n @ViewChild(\"search\")\r\n public searchElementRef: ElementRef;\r\n public i = 1;\r\n latitude: number;\r\n address: string;\r\n private geoCoder;\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n @Input()\r\n Index: number;\r\n ShowImageDialog: boolean = false;\r\n ImageData: string = \"\";\r\n constructor(private ngZone: NgZone, private fb: FormBuilder, private http: HttpClient, private heroService: HeroService, private accountsService: AccountsService, private route: ActivatedRoute,\r\n private customerService: CustomerService, private toastr: ToastrService, private viewContainerRef: ViewContainerRef, private location: Location, private router: Router, myElement: ElementRef,\r\n private leadservice: LeadsService, private opprtunityservice: OpprtunitiesService, private mapsAPILoader: MapsAPILoader,\r\n ) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.elementRef = myElement;\r\n\r\n }\r\n \r\n ngOnInit() {\r\n\r\n this.searchControl = new FormControl();\r\n\r\n this.mapsAPILoader.load().then(() => {\r\n\r\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {\r\n types: [\"address\"]\r\n\r\n });\r\n autocomplete.addListener(\"place_changed\", () => {\r\n\r\n this.ngZone.run(() => {\r\n this.setCurrentLocation();\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n \r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.lattitude = place.geometry.location.lat();\r\n this.longitude = place.geometry.location.lng();\r\n var id = $('#addressID' + this.Index).val();\r\n var Name = $('#addressName' + this.Index).val();\r\n var type = $('#addressType' + this.Index).val();\r\n this.accountlocations = new Accountlocations();\r\n this.accountlocations.lattitude = place.geometry.location.lat().toString();\r\n this.accountlocations.longtitude = place.geometry.location.lng().toString();\r\n this.accountlocations.id = id;\r\n this.accountlocations.addressName = Name;\r\n this.accountlocations.addressType = type;\r\n var address_data = {\r\n 'name': place.name,\r\n 'formatted_address': place.formatted_address,\r\n };\r\n this.invokeEvent(place);\r\n var html = $.parseHTML(place.adr_address);\r\n for (var i = 0; i < html.length; i++) {\r\n if (html[i].nodeName == 'SPAN') {\r\n if (html[i].className == \"street-address\") {\r\n var add1 = html[i].innerHTML;\r\n this.accountlocations.address1 = add1;\r\n }\r\n else if (html[i].className == \"extended-address\") {\r\n var add2 = html[i].innerHTML;\r\n this.accountlocations.address2 = add2;\r\n }\r\n else if (html[i].className == \"locality\") {\r\n var city = html[i].innerHTML;\r\n if (this.SelectedCountryId == 2) {\r\n this.accountlocations.state = city;\r\n this.accountlocations.ProvidenceIsland = (city == \"Nassau\") ? \"Nassau\" : this.accountlocations.ProvidenceIsland\r\n\r\n } else {\r\n this.accountlocations.city = city;\r\n this.accountlocations.ProvidenceIsland = (city == \"Nassau\") ? \"Nassau\" : this.accountlocations.ProvidenceIsland\r\n\r\n }\r\n }\r\n else if (html[i].className == \"region\") {\r\n var state = html[i].innerHTML;\r\n this.accountlocations.state = state;\r\n }\r\n else if (html[i].className == \"postal-code\") {\r\n var zip = html[i].innerHTML;\r\n this.accountlocations.zip = zip;\r\n }\r\n else if (html[i].className == \"country-name\") {\r\n this.accountlocations.country = html[i].innerHTML;\r\n }\r\n }\r\n }\r\n\r\n this.loadaddress(this.accountlocations, this.Index);\r\n this.zoom = 12;\r\n });\r\n });\r\n });\r\n }\r\n\r\n\r\n private setCurrentLocation() {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n this.zoom = 8;\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n }\r\n\r\n\r\n markerDragEnd($event: MouseEvent) {\r\n this.latitude = $event.coords.lat;\r\n this.longitude = $event.coords.lng;\r\n this.getAddress(this.latitude, this.longitude);\r\n }\r\n\r\n getAddress(latitude, longitude) {\r\n this.geoCoder.geocode({ 'location': { lat: latitude, lng: longitude } }, (results, status) => {\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n this.zoom = 12;\r\n this.address = results[0].formatted_address;\r\n } else {\r\n window.alert('No results found');\r\n }\r\n } else {\r\n window.alert('Geocoder failed due to: ' + status);\r\n }\r\n\r\n });\r\n }\r\n sendBackAddress(location: Accountlocations) {\r\n this.account.isaddressadded = this.searchControl.valid;\r\n this.account.locationType = this.locationType;\r\n this.account.country = location.country; \r\n this.sendMsgEvent.emit(this.account);\r\n }\r\n\r\n addressChange() {\r\n this.account.locationType = this.locationType;\r\n //  this.sendMsgEvent.emit(this.account);\r\n }\r\n invokeEvent(place: Object) {\r\n //this.setAddress.emit(place);\r\n }\r\n\r\n loadaddress(account: Accountlocations, i: number) { \r\n if (account.country == \"882\" || account.country == \"The Bahamas\") {\r\n this.customerService.GetPickListData(\"Account (Primary) Country\", 12, this.currentuser.id).then((accounttype) => {\r\n var county = accounttype.filter(x => x.itemName == \"Bahamas\")[0].id;\r\n $('#country').val(county);\r\n account.city = (account.city) == \"Nassau\" ? \"\" : account.city;\r\n $('#addressID' + i).val(account.id);\r\n $('#address1' + i).val(account.address1);\r\n $('#address2' + i).val(account.address2);\r\n $('#city' + i).val(account.city);\r\n $('#state' + i).val(account.state);\r\n $('#zip' + i).val(account.zip);\r\n\r\n $('#lattitude' + i).val(account.lattitude);\r\n $('#longtitude' + i).val(account.longtitude);\r\n $('#ProvidenceIsland' + i).val(account.ProvidenceIsland);\r\n $('#addressName' + i).val(account.addressName);\r\n $('#addressType' + i).val(account.addressType);\r\n $('#fax' + i).val(account.fax);\r\n $('#phone' + i).val(account.phone);\r\n $('#UploadImage' + i).val(account.LocationPicture);\r\n\r\n if (account.LocationPicture != null && account.LocationPicture != \"\") {\r\n $('#UploadImage' + i + \"Icon\").attr('style', 'float:right;height:26px;margin-top:4%;display:block');\r\n }\r\n\r\n if (i < 2) {\r\n this.accountlocations.address1 = account.address1;\r\n this.accountlocations.address2 = account.address2;\r\n this.accountlocations.city = account.city == \"Nassau\" ? \"\" : account.city;\r\n this.accountlocations.state = account.state;\r\n this.accountlocations.zip = account.zip;\r\n this.accountlocations.country = $('#country').val();\r\n this.accountlocations.lattitude = account.lattitude;\r\n this.accountlocations.longtitude = account.longtitude;\r\n this.accountlocations.fax = account.fax;\r\n this.accountlocations.phone = account.phone;\r\n this.accountlocations.LocationPicture = account.LocationPicture;\r\n this.accountlocations.ProvidenceIsland = account.city == \"Nassau\" ? \"Nassau\" : account.ProvidenceIsland;\r\n // this.getaddressFormValidation();\r\n if (account.LocationPicture != null && account.LocationPicture != \"\") {\r\n $('#UploadImage' + i + \"Icon\").attr('style', 'float:right;height:26px;margin-top:4%;display:block');\r\n }\r\n this.getaddressFormValidation(this.accountlocations);\r\n\r\n }\r\n });\r\n\r\n } else {\r\n this.customerService.GetPickListData(\"Account (Primary) Country\", 12, this.currentuser.id).then((accounttype) => {\r\n \r\n if (account.country != null) {\r\n var county = accounttype.filter(x => x.itemName == \"USA\")[0].id;\r\n $('#country').val(county);\r\n } else {\r\n $('#country').val()\r\n }\r\n account.city = (account.city) == \"Nassau\" ? \"\" : account.city;\r\n $('#addressID' + i).val(account.id);\r\n $('#address1' + i).val(account.address1);\r\n $('#address2' + i).val(account.address2);\r\n $('#city' + i).val(account.city);\r\n $('#state' + i).val(account.state);\r\n $('#zip' + i).val(account.zip);\r\n\r\n $('#lattitude' + i).val(account.lattitude);\r\n $('#longtitude' + i).val(account.longtitude);\r\n $('#ProvidenceIsland' + i).val(account.ProvidenceIsland);\r\n $('#addressName' + i).val(account.addressName);\r\n $('#addressType' + i).val(account.addressType);\r\n $('#fax' + i).val(account.fax);\r\n $('#phone' + i).val(account.phone);\r\n $('#UploadImage' + i).val(account.LocationPicture);\r\n\r\n if (account.LocationPicture != null && account.LocationPicture != \"\") {\r\n $('#UploadImage' + i + \"Icon\").attr('style', 'float:right;height:26px;margin-top:4%;display:block');\r\n }\r\n\r\n if (i < 2) {\r\n this.accountlocations.address1 = account.address1;\r\n this.accountlocations.address2 = account.address2;\r\n this.accountlocations.city = account.city == \"Nassau\" ? \"\" : account.city;\r\n this.accountlocations.state = account.state;\r\n this.accountlocations.zip = account.zip;\r\n this.accountlocations.country = $('#country').val();\r\n this.accountlocations.lattitude = account.lattitude;\r\n this.accountlocations.longtitude = account.longtitude;\r\n this.accountlocations.fax = account.fax;\r\n this.accountlocations.phone = account.phone;\r\n this.accountlocations.LocationPicture = account.LocationPicture;\r\n this.accountlocations.ProvidenceIsland = account.city == \"Nassau\" ? \"Nassau\" : account.ProvidenceIsland;\r\n if (account.LocationPicture != null && account.LocationPicture != \"\") {\r\n $('#UploadImage' + i + \"Icon\").attr('style', 'float:right;height:26px;margin-top:4%;display:block');\r\n }\r\n this.getaddressFormValidation(this.accountlocations);\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n loadMultipleLocations(locations: Accountlocations[]) {\r\n locations.forEach(function (value) {\r\n this.account = new Accounts();\r\n this.account.address1 = value.address1;\r\n this.account.address2 = value.address2;\r\n });\r\n\r\n }\r\n getaddressFormValidation(location: Accountlocations) {\r\n this.sendBackAddress(location);\r\n }\r\n\r\n clear(i) {\r\n\r\n $('#addressName' + i).val(\"\");\r\n $('#address1' + i).val(\"\");\r\n $('#address' + i).val(\"\");\r\n $('#city' + i).val(\"\");\r\n\r\n $('#state' + i).val(\"\");\r\n $('#zip' + i).val(\"\");\r\n $('#ProvidenceIsland' + i).val(\"\");\r\n $('#phone' + i).val(\"\");\r\n $('#fax' + i).val(\"\");\r\n this.accountlocations.address1 = \"\";\r\n this.accountlocations.address2 = \"\";\r\n this.accountlocations.city = \"\";\r\n this.accountlocations.state = \"\";\r\n this.accountlocations.zip = \"\";\r\n this.accountlocations.country = \"\";\r\n this.accountlocations.ProvidenceIsland = \"\"; \r\n this.sendMsgEvent.emit(this.account);\r\n\r\n }\r\n\r\n Map() { this.isOpenGoogleMap = true; }\r\n\r\n accountNumber() {\r\n if ($('accnumber').val() == '') {\r\n if ($('#customertypeid').val() == 0) {\r\n this.account.accnumber = '0';\r\n } else {\r\n this.account.accnumber = null;\r\n }\r\n }\r\n }\r\n public transform(input: string): string {\r\n\r\n if (!input) {\r\n return '';\r\n }\r\n else {\r\n return input[0].toUpperCase() + input.substr(1);\r\n }\r\n }\r\n\r\n BanAddressChange(i) {\r\n\r\n this.accountlocations.address1 = $('#address1' + i).val();\r\n this.accountlocations.address2 = $('#address2' + i).val();\r\n this.accountlocations.city = $('#city' + i).val();\r\n this.accountlocations.state = $('#state' + i).val();\r\n this.accountlocations.zip = $('#zip' + i).val();\r\n this.accountlocations.country = $('#country' + i).val();\r\n this.accountlocations.lattitude = $('#lattitude' + i).val();\r\n this.accountlocations.longtitude = $('#longtitude' + i).val();\r\n this.accountlocations.ProvidenceIsland = $('#ProvidenceIsland' + i).val();\r\n\r\n\r\n }\r\n\r\n ShowImage(Index) {\r\n this.ImageData = $('#UploadImage' + Index).val();\r\n this.ShowImageDialog = true;\r\n }\r\n addFiles(event, index) {\r\n\r\n let files = event.srcElement.files;\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n this.addChargeNew(file, index);\r\n\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n\r\n }\r\n }\r\n\r\n addChargeNew(file, index) {\r\n\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.accountlocations.LocationPicture = reader.result.toString();\r\n $('#UploadImage' + index).val(selfObj.accountlocations.LocationPicture)\r\n }, 500));\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n {{this.Name}}\r\n
\r\n\r\n
\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 { ElementRef, Component, OnInit, Input, NgZone, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { AccountsService } from '../../services/accounts.service';\r\nimport { GoogleMap } from '../../models/google-map';\r\nimport { GoogleMapAdress } from '../../models/google-map-adress';\r\nimport { FormControl } from '@angular/forms';\r\ndeclare var $: any;\r\n\r\nimport { MapsAPILoader, MouseEvent } from '@agm/core';\r\nimport { Googlelocations } from '../../models/googlelocations';\r\n@Component({\r\n selector: 'addressmap',\r\n templateUrl: './addressmap.component.html',\r\n styleUrls: ['./addressmap.component.css']\r\n})\r\nexport class AddressmapComponent implements OnInit {\r\n public latitude: number;\r\n public longitude: number;\r\n public searchControl: FormControl;\r\n public zoom: number;\r\n public address: string;\r\n @Input()\r\n AccConIds: string;\r\n @Input()\r\n accesstype: string;\r\n @Output()\r\n outPropsEvent = new EventEmitter();\r\n lat = 37.090240;\r\n lng = -95.712891;\r\n markers: GoogleMap[];\r\n Name: string;\r\n selectedPlaceId: string;\r\n markersAddress: GoogleMapAdress[] = []; \r\n selectedMarker; \r\n @ViewChild(\"search\")\r\n public searchElementRef: ElementRef;\r\n private geoCoder;\r\n\r\n constructor(private accountService: AccountsService) { }\r\n\r\n ngOnInit() {\r\n this.outPropsEvent.emit(this.AccConIds);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.GetLocations(selfObj.AccConIds, selfObj.accesstype);\r\n }, 100));\r\n \r\n }\r\n\r\n private setCurrentLocation() {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n this.zoom = 5;\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n }\r\n\r\n\r\n markerDragEnd($event: MouseEvent) {\r\n this.latitude = $event.coords.lat;\r\n this.longitude = $event.coords.lng;\r\n this.getAddress(this.latitude, this.longitude);\r\n }\r\n\r\n \r\n getAddress(latitude, longitude) {\r\n \r\n this.geoCoder = new google.maps.Geocoder;\r\n this.geoCoder.geocode({ 'location': { lat: parseFloat(latitude), lng: parseFloat(longitude) } }, (results, status) => {\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n this.zoom = 12;\r\n let maraddress = new GoogleMapAdress();\r\n maraddress.Name = results[0].formatted_address.split(',')[0];\r\n maraddress.placeid = results[0].place_id;\r\n maraddress.formatted_address = results[0].formatted_address;\r\n this.markersAddress.push(maraddress);\r\n } else {\r\n window.alert('No results found');\r\n }\r\n } else {\r\n }\r\n\r\n });\r\n }\r\n addMarker(lat: number, lng: number) {\r\n this.markers.push({ lat, lng, alpha: 0.4, formatted_address: '' });\r\n }\r\n\r\n max(coordType: 'lat' | 'lng'): number {\r\n return Math.max(...this.markers.map(marker => marker[coordType]));\r\n }\r\n\r\n min(coordType: 'lat' | 'lng'): number {\r\n return Math.min(...this.markers.map(marker => marker[coordType]));\r\n }\r\n\r\n selectMarker(event) { \r\n this.lat = event.latitude;\r\n this.lng = event.longitude; \r\n this.zoom = 6;\r\n }\r\n \r\n onMouseOver(infoWindow, event: MouseEvent, lat, lng) {\r\n this.geoCoder.geocode({ 'location': { lat: parseFloat(lat), lng: parseFloat(lng) } }, (results, status) => {\r\n this.Name = results[0].formatted_address.split(',')[0];\r\n this.selectedPlaceId = results[0].place_id;\r\n });\r\n infoWindow.open();\r\n }\r\n\r\n onMouseOut(infoWindow, $event: MouseEvent) {\r\n infoWindow.close();\r\n }\r\n GetLocations(AccConIds, Usertype) { \r\n this.markers = [];\r\n \r\n var googleloc = new Googlelocations();\r\n googleloc.accountids = AccConIds;\r\n googleloc.Usertype = Usertype;\r\n this.accountService.GetAlllocations(googleloc).then((locations) => {\r\n this.markersAddress = [];\r\n \r\n this.markers = locations;\r\n $(setTimeout(function () {\r\n $(\"#map\").trigger(\"click\");\r\n this.lat = locations[0].lat;\r\n this.lng = locations[0].lng;\r\n this.zoom = 12;\r\n }, 500));\r\n });\r\n\r\n }\r\n}\r\n","
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n = 25\"> \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n Advanced Search Result were Closed.\r\n
\r\n

\r\n
\r\n Select Advanced Option on Search Bar to Generate
\r\n Another Advanced Search
\r\n -or-
\r\n Type Search Data in Search Bar and Select Enter\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { AdvancedsearchTable } from '../../models/advancedsearch-table';\r\nimport { RunQuery } from '../../models/run-query';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AdvancedSearch } from '../../models/advancedsearch';\r\nimport { AdvancedsearchService } from 'src/app/services/advancedsearch.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-advanced-table',\r\n templateUrl: './advanced-table.component.html',\r\n styleUrls: ['./advanced-table.component.css']\r\n})\r\nexport class AdvancedTableComponent implements OnInit {\r\n currentuser: any;\r\n public globalGridOptions: GridOptions;\r\n public globalColumnDefs: any[];\r\n public queryId: number;\r\n public searchtype: string;\r\n selectedMenuRadio: string = \"\";\r\n tableData: AdvancedsearchTable[];\r\n isCustomer: boolean = false;\r\n QueryName: string;\r\n isFormerCustomer: boolean = false;\r\n showTabledata: boolean = true;\r\n CloseDialog: boolean = false;\r\n runquerylist: any = [];\r\n Newrunquerylist: any = [];\r\n Ids = [];\r\n slide = 0;\r\n query: RunQuery = new RunQuery();\r\n public sideBar;\r\n constructor(private route: ActivatedRoute, private opprtunityservice: OpprtunitiesService, private router: Router, private advsearch: AdvancedsearchService,\r\n private toastr: ToastrService, public applicationComponent: ApplicationComponent) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n setTimeout(function () {\r\n $('#tab0').addClass('green');\r\n $(\"#tab0\").trigger(\"click\");\r\n }, 1000);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n let isDel: boolean = false;\r\n this.route.params.subscribe(params => {\r\n this.queryId = params['queryId'];\r\n this.searchtype = params['searchtype'];\r\n this.RunQueryData(isDel);\r\n if (this.queryId != 0) {\r\n this.GetQueryInfo(this.queryId, 'tab0');\r\n }\r\n else {\r\n var query = localStorage.getItem('QuickSearchQuery');\r\n if (query != null) {\r\n this.firequery(query);\r\n }\r\n }\r\n //this.initializeAgGrid();\r\n \r\n });\r\n setTimeout(function () {\r\n $('#tab0').addClass('green');\r\n }, 100);\r\n\r\n }\r\n rowDoubleClickAgGrid(rowEvent) { \r\n if (this.searchtype == \"Contact\" || rowEvent.data.firstname!=null)\r\n this.router.navigateByUrl(`/application/contactsdashboard/${rowEvent.data.id}/${rowEvent.data.permission}`);\r\n else if (this.searchtype == \"ContactsAccount\" || this.searchtype == \"Account\" || rowEvent.data.firstname == null)\r\n this.router.navigateByUrl(`/application/account-contact/${rowEvent.data.permission}/show${rowEvent.data.id}`);\r\n }\r\n QuickSearchEventListener() {\r\n if (this.applicationComponent.QuickSearchEvenraised) {\r\n var query = localStorage.getItem('QuickSearchQuery');\r\n this.firequery(query);\r\n this.applicationComponent.QuickSearchEvenraised = false;\r\n this.advsearch.GetAllRunQueries(this.currentuser.id).then((queries) => {\r\n this.runquerylist = [];\r\n this.Newrunquerylist = [];\r\n if (queries[0].queryOrder == null) { this.applicationComponent.searchoffon = false; } else {\r\n //var list = queries[0].queryOrder.split(\",\");\r\n\r\n this.runquerylist = queries;\r\n //if (query != null && query != \"\" && isDelete == false) {\r\n // this.runquerylist.push(\"Quick Search-0\");\r\n //}\r\n this.applicationComponent.searchoffon = true;\r\n }\r\n var initValue = this.slide * 5;\r\n var finalVal = (initValue + 5);\r\n if (this.runquerylist.length < finalVal) {\r\n finalVal = this.runquerylist.length\r\n }\r\n for (var i = initValue; i < (finalVal); i++) {\r\n this.Newrunquerylist.push(this.runquerylist[i]);\r\n }\r\n this.Newrunquerylist.splice(0, 0, { id: 0, queryOrder: \"Quick Search-0\", delqueryId: 0, runby: 0 });\r\n });\r\n setTimeout(function () {\r\n $('#tab0').addClass('green');\r\n }, 100);\r\n }\r\n \r\n }\r\n RunQueryData(isDelete) {\r\n this.advsearch.GetAllRunQueries(this.currentuser.id).then((queries) => {\r\n \r\n this.runquerylist = [];\r\n this.Newrunquerylist = [];\r\n if (queries == null || queries.length <= 0) {\r\n this.applicationComponent.searchoffon = false;\r\n let selfObj = this;\r\n setTimeout(function () {\r\n selfObj.tableData = [];\r\n selfObj.createColumnDefs(\"\"); \r\n }, 100);\r\n }\r\n else {\r\n if (queries[0].queryOrder == null) {\r\n this.applicationComponent.searchoffon = false;\r\n this.showTabledata = false;\r\n this.tableData = [];\r\n }\r\n else {\r\n this.runquerylist = queries;\r\n this.applicationComponent.searchoffon = true;\r\n }\r\n\r\n var initValue = this.slide * 5;\r\n var finalVal = (initValue + 5);\r\n if (this.runquerylist.length < finalVal) {\r\n finalVal = this.runquerylist.length\r\n }\r\n for (var i = initValue; i < (finalVal); i++) {\r\n this.Newrunquerylist.push(this.runquerylist[i]);\r\n }\r\n setTimeout(function () {\r\n $('#tab0').addClass('green');\r\n $(\"#tab0\").trigger(\"click\");\r\n }, 100);\r\n\r\n }\r\n });\r\n var query = localStorage.getItem('QuickSearchQuery');\r\n if (query != null && query != \"\" && isDelete == false) {\r\n setTimeout(function () {\r\n $('#tab0').addClass('green');\r\n }, 100);\r\n\r\n }\r\n }\r\n\r\n Previous() {\r\n this.Newrunquerylist = [];\r\n this.slide--;\r\n var initValue = this.slide * 5;\r\n var finalVal = (initValue + 5);\r\n if (this.runquerylist.length < finalVal) {\r\n finalVal = this.runquerylist.length\r\n }\r\n for (var i = initValue; i < (finalVal); i++) {\r\n this.Newrunquerylist.push(this.runquerylist[i]);\r\n }\r\n\r\n }\r\n next() {\r\n this.Newrunquerylist = [];\r\n this.slide++;\r\n var initValue = this.slide * 5;\r\n var finalVal = (initValue + 5);\r\n if (this.runquerylist.length < finalVal) {\r\n finalVal = this.runquerylist.length\r\n }\r\n for (var i = initValue; i < (finalVal); i++) {\r\n this.Newrunquerylist.push(this.runquerylist[i]);\r\n }\r\n }\r\n deleteQuery(queryid,val)\r\n {\r\n let isDel: boolean = false;\r\n if (queryid != 0) {\r\n isDel = true;\r\n this.query.runby = this.currentuser.id;\r\n this.query.delqueryId = queryid\r\n this.advsearch.saveRunQuery(this.query).then(result => {\r\n this.toastr.success(\"Query deleted successfully.\", \"Query\", { timeOut: 600 });\r\n this.Newrunquerylist = [];\r\n this.RunQueryData(isDel);\r\n\r\n });\r\n }\r\n \r\n }\r\n\r\n firequery(buildquery) {\r\n let advcontrol = new AdvancedSearch();\r\n advcontrol.SearchQry = buildquery;\r\n this.opprtunityservice.runQuicksearchQuery(advcontrol).then(result => {\r\n this.tableData = result;\r\n this.showTabledata = true;\r\n });\r\n this.initializeAgGrid();\r\n }\r\n GetQueryInfo(queryId,tabname) {\r\n if (queryId != 0) {\r\n this.opprtunityservice.GetAdvancesSearchQueryByData(queryId).then((data) => {\r\n this.tableData = data;\r\n var res = this.runquerylist.filter(x => x.id == queryId)\r\n this.searchtype = res[0].searchtype;\r\n this.showTabledata = true;\r\n this.initializeAgGrid();\r\n setTimeout(function () {\r\n $('.blank').removeClass('green');\r\n $('#' + tabname).addClass('green');\r\n }, 100);\r\n });\r\n \r\n }\r\n \r\n }\r\n initializeAgGrid() {\r\n this.globalGridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.createColumnDefs(\"\"); \r\n this.globalGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n \r\n\r\n }\r\n createColumnDefs(columnSelections) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.globalColumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n this.globalColumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n this.globalColumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"customertype\") {\r\n this.globalColumnDefs.push({\r\n field: 'customertype', headerName: 'Customer Type', hide: (!this.isCustomer && !this.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" }\r\n else if (params.value == '57') { return \"Former Customer\" }\r\n }, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accnumber\") {\r\n this.globalColumnDefs.push({ field: 'accnumber', headerName: 'Acct #', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer), width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"owner\") {\r\n this.globalColumnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n } else {\r\n this.globalColumnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n if (this.searchtype == 'Account') {\r\n this.globalColumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n enableTooltip: true\r\n },\r\n // { field: 'type', headerName: 'Type', hide: false },\r\n {\r\n field: 'customertype', headerName: 'Customer Type', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" } else if (params.value == '57') { return \"Former Customer\" }\r\n }\r\n },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'accnumber', headerName: 'Act Number', hide: false },\r\n { field: 'speciality', headerName: 'Specialty', hide: false },\r\n { field: 'address1', headerName: 'Address1', hide: false},\r\n { field: 'address2', headerName: 'Address2', hide: false},\r\n { field: 'city', headerName: 'City', hide: false},\r\n { field: 'state', headerName: 'State', hide: false},\r\n { field: 'zip', headerName: 'ZIP', hide: false},\r\n { field: 'ehr', headerName: 'ehr', hide: false},\r\n { field: 'ehrdatepurchased', headerName: 'ehrdatepurchased', hide: false },\r\n { field: 'pm', headerName: 'pm', hide: false },\r\n { field: 'pmdatepurchased', headerName: 'pmdatepurchased', hide: false},\r\n\r\n //{ field: 'lastname', headerName: 'Last Name', hide: this.searchtype == 'Contact' },\r\n //{ field: 'firstname', headerName: 'First Name', hide: this.searchtype == 'Contact' },\r\n //{ field: 'middlename', headerName: 'Middle Name', hide: this.searchtype == 'Contact' },\r\n //{ field: 'title', headerName: 'Title', hide: this.searchtype == 'Contact' },\r\n //{ field: 'DOB', headerName: 'DOB', hide: this.searchtype == 'Contact' },\r\n //{ field: 'address1', headerName: 'Address1', hide: this.searchtype == 'Contact' },\r\n //{ field: 'address2', headerName: 'Address2', hide: this.searchtype == 'Contact' },\r\n //{ field: 'city', headerName: 'City', hide: this.searchtype == 'Contact' },\r\n //{ field: 'state', headerName: 'State', hide: this.searchtype == 'Contact' },\r\n //{ field: 'cell', headerName: 'Cell', hide: this.searchtype == 'Contact' },\r\n\r\n //{ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n\r\n\r\n\r\n { field: 'contacttype', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n // { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n\r\n ];\r\n } else if (this.searchtype == 'Contact') {\r\n this.globalColumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n enableTooltip: true\r\n },\r\n // { field: 'type', headerName: 'Type', hide: false },\r\n {\r\n field: 'customertype', headerName: 'Customer Type', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" } else if (params.value == '57') { return \"Former Customer\" }\r\n }\r\n },\r\n //{ field: 'accountname', headerName: 'Account Name', hide: false },\r\n //{ field: 'accnumber', headerName: 'Act Number', hide: this.searchtype == 'Account' },\r\n //{ field: 'speciality', headerName: 'Specialty', hide: this.searchtype == 'Account' },\r\n //{ field: 'address1', headerName: 'Address1', hide: this.searchtype == 'Account' },\r\n //{ field: 'address2', headerName: 'Address2', hide: this.searchtype == 'Account' },\r\n //{ field: 'city', headerName: 'City', hide: this.searchtype == 'Account' },\r\n //{ field: 'state', headerName: 'State', hide: this.searchtype == 'Account' },\r\n //{ field: 'zip', headerName: 'ZIP', hide: this.searchtype == 'Account' },\r\n //{ field: 'ehr', headerName: 'ehr', hide: this.searchtype == 'Account' },\r\n //{ field: 'ehrdatepurchased', headerName: 'ehrdatepurchased', hide: this.searchtype == 'Account' },\r\n //{ field: 'pm', headerName: 'pm', hide: this.searchtype == 'Account' },\r\n //{ field: 'pmdatepurchased', headerName: 'pmdatepurchased', hide: this.searchtype == 'Account' },\r\n\r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'speciality', headerName: 'Specialty', hide: false },\r\n { field: 'title', headerName: 'Title', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n { field: 'address1', headerName: 'Address1', hide: false },\r\n { field: 'address2', headerName: 'Address2', hide: false },\r\n { field: 'city', headerName: 'City', hide: false },\r\n { field: 'state', headerName: 'State', hide: false },\r\n { field: 'cell', headerName: 'Cell', hide: false },\r\n\r\n //{ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n\r\n\r\n\r\n { field: 'contacttype', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n // { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n\r\n ];\r\n } else {\r\n this.globalColumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n enableTooltip: true\r\n },\r\n // { field: 'type', headerName: 'Type', hide: false },\r\n {\r\n field: 'customertype', headerName: 'Customer Type', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" } else if (params.value == '57') { return \"Former Customer\" }\r\n }\r\n },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'accnumber', headerName: 'Act Number', hide: false },\r\n { field: 'speciality', headerName: 'Specialty', hide: false },\r\n { field: 'title', headerName: 'Title', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n { field: 'address1', headerName: 'Address1', hide: false },\r\n { field: 'address2', headerName: 'Address2', hide: false },\r\n { field: 'city', headerName: 'City', hide: false },\r\n { field: 'state', headerName: 'State', hide: false},\r\n { field: 'zip', headerName: 'ZIP', hide: false},\r\n { field: 'ehr', headerName: 'ehr', hide: false },\r\n { field: 'ehrdatepurchased', headerName: 'ehrdatepurchased', hide: false},\r\n { field: 'pm', headerName: 'pm', hide: false},\r\n { field: 'pmdatepurchased', headerName: 'pmdatepurchased', hide: false},\r\n \r\n \r\n\r\n //{ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n\r\n\r\n\r\n { field: 'contacttype', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n // { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n\r\n ];\r\n }\r\n\r\n\r\n \r\n }\r\n\r\n }\r\n GridClose() {\r\n this.showTabledata = false;\r\n this.CloseDialog = true;\r\n this.dialogsize();\r\n }\r\n \r\n rowClickAgGrid(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('');\r\n } else {\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n if (rowEvent.data.type == \"Contact\") {\r\n $('#tasklistselectedtyle').val('Contact');\r\n }\r\n else {\r\n $('#tasklistselectedtyle').val('Customer');\r\n }\r\n }\r\n }\r\n dialogsize() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 32%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 23%;overflow: visible;height: 24%;');\r\n\r\n }, 4)\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n My Queries\r\n
\r\n
\r\n \r\n CLOSE ALL QUERIES\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n  \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n ..\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
0\" id=\"{{i + 1+1}}\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
0\" id=\"{{i + 1+1}}\">\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n Changes have been made to this Query.
\r\n select Save to keep changes
\r\n Select Cancel to dischard Changes
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n Query Builder
\r\n
\r\n
\r\n Close Open Query Before Edit
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n Query Builder
\r\n
\r\n
\r\n Select a Row to Run a Query
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
SalesXCRM Message
\r\n
\r\n
OPEN QUERIES

\r\n
Close all Open Queries?
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\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, ViewChild } from '@angular/core';\r\nimport { Router } from \"@angular/router\";\r\nimport { AccountsService } from './../../services/accounts.service';\r\nimport { ColumnNames } from './../../models/column-names';\r\nimport { AdvancedSearch } from '../../models/advancedsearch';\r\nimport { RunQuery } from '../../models/run-query';\r\nimport { DatePipe } from '@angular/common';\r\nimport { DialogComponent } from '../dialog/dialog.component';\r\nimport { AdvancedTableComponent } from '../advanced-table/advanced-table.component';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { AdvancedsearchService } from 'src/app/services/advancedsearch.service';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\ndeclare var $: any;\r\n \r\nexport enum Table {\r\n Contact,\r\n Account,\r\n Practice,\r\n Leads,\r\n Opportunity,\r\n Task\r\n}\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { EditdeleteComponent } from '../editdelete/editdelete.component';\r\n@Component({\r\n selector: 'advancedsearch',\r\n templateUrl: './advancedsearch.component.html',\r\n styleUrls: ['./advancedsearch.component.css']\r\n})\r\nexport class AdvancedsearchComponent implements OnInit {\r\n \r\n fieldsSelector: boolean = false;\r\n quickSearch: boolean = false;\r\n accountShow: boolean = false;\r\n contactShow: boolean = false;\r\n showWarningDialog: boolean = false;\r\n DeleteConfirmationDialog: boolean = false;\r\n NoRowDialog: boolean = false;\r\n @Input()\r\n showAdvancedSearchDialog;\r\n @Input()\r\n searchOnoff: string;\r\n searchtype = \"\";\r\n tabType = [];\r\n selectedColumnList = [];\r\n LeadsShow: boolean = false;\r\n opportunitiesShow: boolean = false;\r\n TaskShow: boolean = false;\r\n valueSelector: boolean = false;\r\n emailFormArray: Array = [];\r\n accountMap: Map;\r\n contactColumns: Array = new Array();\r\n leadColumns: Array = new Array();\r\n OpportunityColumns: Array = new Array();\r\n TaskColumns: Array = new Array();\r\n accountColumns: Array = new Array();\r\n quickSearchColumns: Array = new Array();\r\n quickSearchTableDisplayName: string = \"\";\r\n quickSearchTableName: string = \"\";\r\n lhsSelectors: string[] = ['Equals', 'Is Not', 'Is Not Empty', 'Is Empty'];\r\n queryList: AdvancedSearch[] = [];\r\n queryName: string = \"\";\r\n editquerydate: string = \"\";\r\n fromadded: boolean = false;\r\n EditConfirmationDialog: boolean = false;\r\n editQryId: number = -1;\r\n RunStatus: string = \"\";\r\n fieldsSelectorSearchFilter = \"\";\r\n tablealias: string = \"\";\r\n accounttypeList: Dropdowntype[] = [];\r\n customertypeList: Dropdowntype[] = [];\r\n quickSearchFilter = \"\";\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n currentuser: any;\r\n @ViewChild(DialogComponent) dlgComp;\r\n query: RunQuery = new RunQuery();\r\n @ViewChild(AdvancedTableComponent) advcmp;\r\n selecteindex: number;\r\n selectstatus: number;\r\n selectedQueryCount: number = 0;\r\n public ContactTableColumns: any;\r\n public AccountTableColumns: any;\r\n andactive: boolean = true; andactiveval: string = \"AND\";\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n public frameworkComponents;\r\n public context;;\r\n public columnDefs: any[];\r\n public noRowsTemplate; public currentdatetime = new Date();\r\n closeOpenDialog: boolean = false;\r\n constructor(private advancedSearchService: AccountsService, private router: Router, private customerService: CustomerService, private userService: UserService,\r\n private advsearch: AdvancedsearchService, private toastr: ToastrService, public applicationComponent: ApplicationComponent) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.noRowsTemplate =\r\n `\"bbbbbbbb no rows to show\"`;\r\n }\r\n\r\n ngOnInit() {\r\n this.GetAdvancedsearchQueries();\r\n }\r\n GetAdvancedsearchQueries() {\r\n this.advancedSearchService.getAdvancedSearchQueries(\"qryname\", this.currentuser.id).then((queries) => {\r\n queries.forEach(queries => {\r\n queries.createdate = this.datePipe.transform(queries.createdate, \"MM/dd/yyyy\");\r\n });\r\n this.queryList = queries;\r\n this.initializeAgGrid();\r\n });\r\n }\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll(); \r\n }, 400));\r\n }\r\n autoSizeAll() {\r\n if (this.gridOptions && this.gridOptions.columnApi) {\r\n this.gridOptions.columnApi.autoSizeAllColumns();\r\n }\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, paginationPageSize: 1000, enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true,\r\n rowSelection: 'multiple', enableCellChangeFlash: true, rowDragManaged: true, animateRows: true, suppressSorting: true, suppressMultiSort: true\r\n //pagination: true, enableColResize: true, paginationPageSize: 1000, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true,\r\n //toolPanelSuppressPivotMode: true, rowSelection: 'multiple', enableCellChangeFlash: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n \r\n\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeleteComponent\r\n };;\r\n this.createColumnDefs();\r\n }\r\n createColumnDefs() {\r\n let selfObj = this;\r\n selfObj.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n }, \r\n { field: 'Id', headerName: 'Id', hide: true }, \r\n {\r\n field: 'QryName', headerName: 'Query Name', sortable: true, hide: false \r\n },\r\n {\r\n field: 'RunStatus', headerName: 'Status', sortable: true, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == null) { return \"Closed\" }\r\n else { return params.value }\r\n },\r\n cellStyle: function (params) {\r\n if (params.data.RunStatus == \"Open\") { return { color: '#FF0000' }; } else { return { color: '#000000' }; }\r\n }\r\n },\r\n {\r\n field: 'createdate', headerName: 'Create Date', sortable: true, width: 90, hide: false\r\n \r\n },\r\n {\r\n field: 'edit', headerName: 'Edit', hide: false, width: 70,cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.editQuery(params.data);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'delete', headerName: 'Delete', hide: false, width: 80,cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteQuery(params.data.Id,1, params.data.RunStatus);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n changeQueryParam(param) {\r\n this.advancedSearchService.getAdvancedSearchQueries(param, this.currentuser.id).then((queries) => {\r\n queries.forEach(queries => {\r\n queries.createdate = this.datePipe.transform(queries.createdate, \"MM/dd/yyyy\");\r\n });\r\n this.queryList = queries;\r\n });\r\n };\r\n SelectionChanged(val) {\r\n if (val == \"AND\") {\r\n this.andactive = true;\r\n this.andactiveval = 'AND';\r\n }\r\n else {\r\n this.andactive = false;\r\n this.andactiveval = 'OR';\r\n }\r\n }\r\n Open() {\r\n localStorage.setItem('selectedQueryCount', this.selectedQueryCount.toString());\r\n this.sendMsgEvent.emit(\"DisplaySearchResult\");\r\n this.applicationComponent.AdvancedSearchResult = true;\r\n this.applicationComponent.StandardpopupUi('#AdvancedSearchResult .dialog');\r\n }\r\n addNewQuery(event) {\r\n this.fieldsSelectorSearchFilter = \"\";\r\n this.searchtype = \"AdvancedSearch\";\r\n this.tabType = [];\r\n this.editQryId = -1;\r\n this.queryName = \"\";\r\n this.fromadded = false;\r\n this.accountShow = false;\r\n this.contactShow = false;\r\n this.LeadsShow = false;\r\n this.opportunitiesShow = false;\r\n this.TaskShow = false;\r\n \r\n this.accountColumns = [];\r\n if (this.accountColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.accountColumns, Table.Account);\r\n else {\r\n this.accountColumns.forEach(col => {\r\n col.distinctValues = [];\r\n col.isSelected = false;\r\n });\r\n }\r\n\r\n if (this.contactColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.contactColumns, Table.Contact);\r\n else {\r\n this.contactColumns.forEach(col => {\r\n col.distinctValues = [];\r\n col.isSelected = false;\r\n });\r\n }\r\n\r\n if (this.leadColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.leadColumns, Table.Leads);\r\n else {\r\n this.leadColumns.forEach(col => {\r\n col.distinctValues = [];\r\n col.isSelected = false;\r\n });\r\n }\r\n\r\n if (this.OpportunityColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.OpportunityColumns, Table.Opportunity);\r\n else {\r\n this.OpportunityColumns.forEach(col => {\r\n col.distinctValues = [];\r\n col.isSelected = false;\r\n });\r\n }\r\n\r\n if (this.TaskColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.TaskColumns, Table.Task);\r\n else {\r\n this.TaskColumns.forEach(col => {\r\n col.distinctValues = [];\r\n col.isSelected = false;\r\n });\r\n }\r\n\r\n // this.queryLanding = false;\r\n this.quickSearch = false;\r\n this.valueSelector = false;\r\n this.fieldsSelector = true;\r\n }\r\n\r\n btnCancelFieldsSelectorClick($event) {\r\n $(\"input[name='foo']:checkbox\").prop('checked', false);\r\n this.quickSearch = false;\r\n this.valueSelector = false;\r\n this.fieldsSelector = false;\r\n // this.queryLanding = true;\r\n this.accountShow = false;\r\n this.contactShow = false;\r\n\r\n }\r\n\r\n lblAccountHideShow(event) {\r\n this.accountShow = !this.accountShow;\r\n if (event.target.checked) {\r\n if (!this.tabType.includes('Account'))\r\n this.tabType.push('Account');\r\n } else {\r\n if (!this.selectedColumnList.find(x => x.type == \"Account\")) {\r\n this.tabType = this.tabType.filter(x => x != 'Account');\r\n }\r\n }\r\n\r\n }\r\n\r\n lblContactHideShow(event) {\r\n this.contactShow = !this.contactShow;\r\n if (event.target.checked) {\r\n if (!this.tabType.includes('Contact'))\r\n this.tabType.push('Contact');\r\n } else {\r\n if (!this.selectedColumnList.find(x => x.type == \"Contact\")) {\r\n this.tabType = this.tabType.filter(x => x != 'Contact');\r\n }\r\n }\r\n if (this.contactColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.contactColumns, Table.Contact);\r\n }\r\n lblLeadHideShow(event) {\r\n this.LeadsShow = !this.LeadsShow;\r\n this.tabType.push('Leads');\r\n }\r\n\r\n lblOpportunitiesHideShow(event) {\r\n this.opportunitiesShow = !this.opportunitiesShow;\r\n this.tabType.push('Opportunity');\r\n }\r\n\r\n lblTaskHideShow(event) {\r\n this.TaskShow = !this.TaskShow;\r\n this.tabType.push('Task');\r\n }\r\n\r\n rblTblSelected(event) {\r\n $('#btnQuickSearchShow').removeAttr('disabled');\r\n }\r\n\r\n mapColumnNamesWithDisplayNames(columns: Array, table: Table) {\r\n \r\n if (table == Table.Contact) {\r\n this.customerService.GetTableFields('Contacts', this.currentuser.id).then(result => {\r\n this.ContactTableColumns = result;\r\n this.ContactTableColumns.forEach(ele => {\r\n if (ele.ColumnName != 'photo') {\r\n columns.push({ columnName: ele.ColumnName, displayName: ele.DisplayAs, distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: 'and' });\r\n }\r\n });\r\n });\r\n }\r\n else if (table == Table.Account) {\r\n \r\n this.customerService.GetTableFields('Accounts', this.currentuser.id).then(result => {\r\n this.AccountTableColumns = result;\r\n \r\n this.AccountTableColumns.forEach(ele => {\r\n columns.push({ columnName: ele.ColumnName, displayName: ele.DisplayAs, distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: 'and' });\r\n });\r\n\r\n columns.push({ columnName: 'accountid123', displayName: 'Status ID', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: 'and' });\r\n });\r\n } \r\n columns.sort((a, b) => a.displayName.localeCompare(b.displayName));\r\n\r\n }\r\n\r\n\r\n mapColumnNamesWithDisplayNames2(columns: Array, table: Table) {\r\n\r\n if (table == Table.Contact) {\r\n columns.push({ columnName: 'contacttype', displayName: 'Contact Type', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'firstname', displayName: 'First Name', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'middlename', displayName: 'Middle Name', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'lastname', displayName: 'Last Name', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'suffix', displayName: 'Suffix', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'sex', displayName: 'Sex', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'title', displayName: 'Title', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'speciality', displayName: 'Specialty', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'subspeciality', displayName: 'Subspeciality', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'email', displayName: 'Email', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'address1', displayName: 'Address1', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'address2', displayName: 'Address2', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'city', displayName: 'City', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'state', displayName: 'State', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'zip', displayName: 'ZIP', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'cell', displayName: 'Cell #', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'office', displayName: 'Office #', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'DOB', displayName: 'DOB', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'homeaddress', displayName: 'Home Address', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'homecity', displayName: 'Home City', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'homestate', displayName: 'Home State', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'homezip', displayName: 'Home Zip', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n\r\n columns.push({ columnName: 'college', displayName: 'College', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'collegegrandyear', displayName: 'C.G.Year Completed', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'medschool', displayName: 'Medschool', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'medschoolgrandyear', displayName: 'M.G.year Completed', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'residency', displayName: 'Residency', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'residencygrandyear', displayName: 'R.G.year Completed', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'fellowship', displayName: 'Fellowship', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'fellowshipgrandyear', displayName: 'F.G.year Completed', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n\r\n } else if (table == Table.Account) {\r\n \r\n columns.push({ columnName: 'customertypeid', displayName: 'Customer Type', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'accnumber', displayName: 'Account Number', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'accounttype', displayName: 'Account Type', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'ownership', displayName: 'Owner Ship', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'accountname', displayName: 'Account Name', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'speciality', displayName: 'Specialty', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'address1', displayName: 'Address1', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'address2', displayName: 'Address2', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'city', displayName: 'City', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'state', displayName: 'State', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'zip', displayName: 'Zip', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'country', displayName: 'Country', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n //columns.push({ columnName: 'ProvidenceIsland', displayName: 'Providence/Island', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\" , andOrOperator:\"and\"});\r\n columns.push({ columnName: 'phone', displayName: 'Phone', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'fax', displayName: 'Fax', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'alterphone1', displayName: 'Alter Phone 1', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'alterphone2', displayName: 'Alter Phone 2', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'ehr', displayName: 'EHR', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'ehrdatepurchased', displayName: 'EHR Date Purchased', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'pm', displayName: 'PM', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'pmdatepurchased', displayName: 'PM Date Purchased', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'rcm', displayName: 'RCM', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'rcmdatepurchased', displayName: 'RCM Date Purchased', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'Website', displayName: 'Website', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'owner', displayName: 'Owner', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'MultipleLocations', displayName: 'Multiple Locations', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'accountid123', displayName: 'Status ID', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n }\r\n else if (table == Table.Leads) {\r\n columns.push({ columnName: 'salesstage', displayName: 'Sales Stage', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'status', displayName: 'Status', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n columns.push({ columnName: 'completeddate', displayName: 'Date Completed', distinctValues: [], isSelected: false, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n }\r\n }\r\n\r\n btnQuickSearchShowContent(event) {\r\n\r\n this.searchtype = \"QuickSearch\";\r\n this.accountColumns = [];\r\n this.contactColumns = [];\r\n this.mapColumnNamesWithDisplayNames2(this.accountColumns, Table.Account);\r\n this.mapColumnNamesWithDisplayNames2(this.contactColumns, Table.Contact);\r\n\r\n this.quickSearchFilter = \"\";\r\n // this.searchOrShow(\"\", false,\"\"); //show content\r\n\r\n //this.queryLanding = false;\r\n this.fieldsSelector = false;\r\n this.valueSelector = false;\r\n this.quickSearch = true;\r\n }\r\n\r\n btnQuickSearchCancelClick(event) {\r\n this.fieldsSelector = false;\r\n this.valueSelector = false;\r\n this.quickSearch = false;\r\n // this.queryLanding = true;\r\n }\r\n\r\n btnQuickSearchClick(event) {\r\n localStorage.setItem('selectedQueryCount', this.selectedQueryCount.toString());\r\n let buildSearchCriteria: string = \"select * from\";\r\n let wherequery: string = \" \";\r\n this.quickSearchTableName = \"\";\r\n let columns: Array;\r\n let key: string;\r\n let selectedTbl = [];\r\n localStorage.removeItem(\"QuickSearchQuery\");\r\n if ($('#rblAccount').prop(\"checked\")) {\r\n \r\n this.quickSearchTableName += \" tblaccounts as acc\";\r\n for (let i = 0; i < this.accountColumns.length; i++) {\r\n var column = $('#AcctxtQuickSearchCol' + i).val().trim();\r\n if (column != \"\") {\r\n let colName: string = this.accountColumns[i].columnName;\r\n let searchCriteria: string = $('#AcctxtQuickSearchCol' + i).val();\r\n\r\n wherequery += \" and \";\r\n\r\n if (searchCriteria != \"%%\")\r\n wherequery += \"acc.\" + colName + \" = '\" + searchCriteria + \"'\";\r\n else\r\n wherequery += \" \" + colName + \" '\";\r\n if (!selectedTbl.includes(\"Accounts\"))\r\n selectedTbl.push(\"Accounts\");\r\n }\r\n }\r\n }\r\n if ($('#rblContact').prop(\"checked\")) { //contact\r\n \r\n this.quickSearchTableName += \" tblcontacts as con\";\r\n\r\n for (let j = 0; j < this.contactColumns.length; j++) {\r\n var column = $('#ContxtQuickSearchCol' + j).val().trim();\r\n if (column != \"\") {\r\n let colName: string = this.contactColumns[j].columnName;\r\n let searchCriteria: string = $('#ContxtQuickSearchCol' + j).val();\r\n\r\n wherequery += \" and \";\r\n\r\n if (searchCriteria != \"%%\")\r\n wherequery += \"con.\" + colName + \" ='\" + searchCriteria + \"'\";\r\n else\r\n wherequery += \" \" + colName + \" '\";\r\n\r\n if (!selectedTbl.includes(\"Contacts\"))\r\n selectedTbl.push(\"Contacts\");\r\n }\r\n }\r\n }\r\n\r\n let currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n if (selectedTbl.length > 1) {\r\n buildSearchCriteria += \" tblcontacts as con join tblaccounts as acc on con.accountid=acc.id where con.userid = \" + currentUser.id;\r\n }\r\n else if (selectedTbl.length == 1 && selectedTbl.includes(\"Accounts\")) {\r\n buildSearchCriteria += \" tblaccounts as acc where acc.userid = \" + currentUser.id;\r\n }\r\n else if (selectedTbl.length == 1 && selectedTbl.includes(\"Contacts\")) {\r\n buildSearchCriteria += \" tblcontacts as con where con.userid = \" + currentUser.id;\r\n }\r\n\r\n\r\n var qryName = \"QuickSearch\";\r\n buildSearchCriteria += wherequery;\r\n var url = window.location.href;\r\n if (url.indexOf('search-result') > -1) {\r\n this.sendMsgEvent.emit(\"changed\");\r\n } else {\r\n this.router.navigateByUrl(`/application/search-result/0/QuickSearch`);\r\n }\r\n localStorage.setItem('QuickSearchQuery', buildSearchCriteria)\r\n $('.dialog__close-btn').click();\r\n\r\n this.sendMsgEvent.emit(\"Cancel\")\r\n }\r\n\r\n closeAdvacedDialog() {\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n this.applicationComponent.showAdvancedSearchDialog = false;\r\n }\r\n\r\n closeAdvaced() { \r\n //if (this.queryLanding) {\r\n // this.sendMsgEvent.emit(\"Cancel\");\r\n //} else {\r\n if (this.searchtype == \"AdvancedSearch\") {\r\n this.showWarningDialog = true;\r\n }\r\n setTimeout(function () {\r\n $('#Ban .dialog').attr('style', 'width: 23%;padding-bottom: 0px;border: 4px solid red;min-height: 11%;overflow: auto;height: 23%;top: 39%;left: 73%;padding:0;');\r\n\r\n }, 100);\r\n //}\r\n $('input[name=foo]').prop(\"checked\", false);\r\n this.applicationComponent.activateMainButtons(localStorage.getItem('Tab'));\r\n if (localStorage.getItem('SubTab') != null && localStorage.getItem('SubTab') != \"\") {\r\n if (localStorage.getItem('Tab') == \"leads\") {\r\n localStorage.getItem('SubTab') == \"Open\" ? this.applicationComponent.ClosedLeads('Open', this.currentuser.id, 'Open Leads') : localStorage.getItem('SubTab') == \"Completed\" ? this.applicationComponent.ClosedLeads('Completed', this.currentuser.id, 'Closed Leads') : localStorage.getItem('SubTab') == \"All\" ? this.applicationComponent.ClosedLeads('All', this.currentuser.id, 'All Leads') : this.applicationComponent.ClosedLeads('Forecasting', this.currentuser.id, 'Forecasting');\r\n }\r\n else if (localStorage.getItem('Tab') == \"tasklist\") {\r\n localStorage.getItem('SubTab') == \"Open\" ? this.applicationComponent.TaskData('Open', this.currentuser.id) : localStorage.getItem('SubTab') == \"Completed\" ? this.applicationComponent.TaskData('Completed', this.currentuser.id) : localStorage.getItem('SubTab') == \"All\" ? this.applicationComponent.TaskData('All', this.currentuser.id) :\r\n this.applicationComponent.TaskData('New', this.currentuser.id);\r\n }\r\n \r\n else if (localStorage.getItem('Tab') == \"Calender\") {\r\n localStorage.getItem('SubTab') == \"TaskCalander\" ? this.applicationComponent.SubmenuChange('Calander', 'TaskCalander', 'Sub') : this.applicationComponent.SubmenuChange('Calander', 'ViewCalander', 'Sub');\r\n }\r\n else if (localStorage.getItem('Tab') == \"zendesk\") {\r\n localStorage.getItem('SubTab') == \"Open\" ? this.applicationComponent.TicketData('Open', this.currentuser.id, 'OpenTickets') : localStorage.getItem('SubTab') == \"Completed\" ? this.applicationComponent.TicketData('Completed', this.currentuser.id, 'ClosedTickets') : localStorage.getItem('SubTab') == \"All\" ? this.applicationComponent.TicketData('All', this.currentuser.id, 'AllTickets') : this.applicationComponent.TicketData('New', this.currentuser.id, 'AddTickets');\r\n }\r\n else if (localStorage.getItem('Tab') == \"ResponseWizard\") {\r\n localStorage.getItem('SubTab') == \"EditResponseWizard\" ? this.applicationComponent.activateSubButtons('EditResponseWizard') : this.applicationComponent.activateSubButtons('ResponseWizard');\r\n }\r\n else if (localStorage.getItem('Tab') == \"rhx\") {\r\n localStorage.getItem('SubTab') == \"Today\" ? this.applicationComponent.SubmenuChange('Rhx', 'Today', 'Sub') : localStorage.getItem('SubTab') == \"Yesterday\" ? this.applicationComponent.SubmenuChange('Rhx', 'Yesterday', 'Sub') : localStorage.getItem('SubTab') == \"Weekly\" ? this.applicationComponent.SubmenuChange('Rhx', 'Weekly', 'Sub') : localStorage.getItem('SubTab') == \"Year\" ? this.applicationComponent.SubmenuChange('Rhx', 'Year', 'Sub') : this.applicationComponent.SubmenuChange('Rhx', 'Today', 'Sub');\r\n }\r\n else if (localStorage.getItem('Tab') == \"saletool\") {\r\n localStorage.getItem('SubTab') == \"ResponseWizard\" ? this.applicationComponent.SubmenuChange('SalesTool', 'ResponseWizard', 'Sub') : localStorage.getItem('SubTab') == \"ImportDataWizard\" ? this.applicationComponent.SubmenuChange('SalesTool', 'ImportDataWizard', 'Sub') : localStorage.getItem('SubTab') == \"OpportunitiesWonApproval\" ? this.applicationComponent.SubmenuChange('SalesTool', 'OpportunitiesWonApproval', 'Sub') : this.applicationComponent.SubmenuChange('SalesTool', 'ResponseWizard', 'Sub');\r\n }\r\n else if (localStorage.getItem('Tab') == \"systemConfig\") {\r\n localStorage.getItem('SubTab') == \"451\" ? this.applicationComponent.SubmenuChange('Config', '451', 'Sub') : localStorage.getItem('SubTab') == \"426\" ? this.applicationComponent.SubmenuChange('Config', '426', 'Sub') : this.applicationComponent.SubmenuChange('Config', '420', 'Sub');\r\n }\r\n else {\r\n this.applicationComponent.activateSubButtons(localStorage.getItem('SubTab'));\r\n }\r\n }\r\n }\r\n\r\n showWarningDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 13.5%;padding-bottom: 0px;border:none; min-height:11%; overflow:auto; height:13%;left:30%;top:0.1%;text-align:center;background-color:#f4f4f4');\r\n\r\n }, 4);\r\n }\r\n showWarningDialogClose() {\r\n this.showWarningDialog = !this.showWarningDialog;\r\n }\r\n searchOrShow(searchValue: string, isSearch: boolean, searchtype: string) {\r\n\r\n if (document.getElementById('contact_span').className == 'mainCheckMark activeColor') {\r\n\r\n if (document.getElementById('a-z_button').className == 'subButtons activeButton') {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/contacts/contacts/${searchValue}`);\r\n else {\r\n if (this.contactColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.contactColumns, Table.Contact);\r\n this.quickSearchTableName = \"tblcontacts con\";\r\n this.quickSearchTableDisplayName = \"Contacts\";\r\n this.quickSearchColumns = this.contactColumns;\r\n }\r\n } else if (document.getElementById('allaccount_button').className == 'subButtons activeButton') {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/account/Contact/${searchValue}`);\r\n else {\r\n if (this.accountColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.accountColumns, Table.Account);\r\n this.quickSearchTableName = \"tblaccounts acc\";\r\n this.quickSearchTableDisplayName = \"Accounts\";\r\n this.quickSearchColumns = this.accountColumns;\r\n }\r\n }\r\n\r\n }\r\n else if (document.getElementById('customers_span').className == 'mainCheckMark activeColor') {\r\n if (searchValue != \"\") {\r\n if (document.getElementById('a-z_button').className == 'subButtons activeButton') {\r\n this.router.navigateByUrl(`/application/customercontacts/${searchValue}`);\r\n }\r\n\r\n else if (document.getElementById('allaccount_button').className == 'subButtons activeButton') {\r\n this.router.navigateByUrl(`/application/account/Customer/${searchValue}`);\r\n }\r\n } else {\r\n if (document.getElementById('a-z_button').className == 'subButtons activeButton') {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/customer/customer`);\r\n else {\r\n if (this.accountColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.accountColumns, Table.Account);\r\n this.quickSearchTableName = \"tblaccounts acc\";\r\n this.quickSearchTableDisplayName = \"Accounts\";\r\n this.quickSearchColumns = this.accountColumns;\r\n }\r\n } else if (document.getElementById('allaccount_button').className == 'subButtons activeButton') {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/account/${searchValue}`);\r\n else {\r\n if (this.contactColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.accountColumns, Table.Account);\r\n this.quickSearchTableName = \"tblaccounts acc\";\r\n this.quickSearchTableDisplayName = \"Accounts\";\r\n this.quickSearchColumns = this.accountColumns;\r\n }\r\n }\r\n }\r\n }\r\n else if (document.getElementById('tasklist_span').className == 'mainCheckMark activeColor') {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/tasklistdashboard/null/0/null/${searchValue}`);\r\n else {\r\n if (this.leadColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.TaskColumns, Table.Task);\r\n this.quickSearchTableName = \"tbltaskhistory tas\";\r\n\r\n this.quickSearchTableDisplayName = \"Task\";\r\n this.quickSearchColumns = this.TaskColumns;\r\n }\r\n }\r\n\r\n else if (document.getElementById('opportunities_span').className == 'mainCheckMark activeColor') {\r\n\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/0/0/${searchValue}/null`);\r\n else {\r\n if (this.OpportunityColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.OpportunityColumns, Table.Opportunity);\r\n this.quickSearchTableName = \"tblopportunities op\";\r\n this.quickSearchTableDisplayName = \"Opportunities\";\r\n this.quickSearchColumns = this.OpportunityColumns;\r\n }\r\n\r\n }\r\n else if (document.getElementById('leads_span').className == 'mainCheckMark activeColor') {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/leadsdashboard/0/0/${searchValue}`);\r\n else {\r\n if (this.leadColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.leadColumns, Table.Leads);\r\n this.quickSearchTableName = \"tblsaleprocesshistory sale\";\r\n\r\n this.quickSearchTableDisplayName = \"Leads\";\r\n this.quickSearchColumns = this.leadColumns;\r\n }\r\n\r\n }\r\n else if (searchtype == \"Contact\") {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/contacts/contacts/${searchValue}`);\r\n else {\r\n if (this.contactColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.contactColumns, Table.Contact);\r\n this.quickSearchTableName = \"tblcontacts con\";\r\n this.quickSearchTableDisplayName = \"Contacts\";\r\n this.quickSearchColumns = this.contactColumns;\r\n }\r\n }\r\n else if (searchtype == \"Account\") {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/account/Contact/${searchValue}`);\r\n\r\n } else if (searchtype == \"Leads\") {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/leadsdashboard/0/0/${searchValue}`);\r\n\r\n }\r\n else if (searchtype == \"Opportunity\") {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/0/0/${searchValue}/null`);\r\n\r\n }\r\n else if (searchtype == \"Task\") {\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application/tasklistdashboard/null/0/null/${searchValue}`);\r\n\r\n }\r\n else {\r\n if (document.getElementById('subTab') != undefined && document.getElementById('subTab') != null)\r\n document.getElementById('subTab').style.display = 'none';\r\n this.router.navigateByUrl(`/application`);\r\n\r\n //this.router.navigateByUrl(`/applicaton`);\r\n if (isSearch)\r\n this.router.navigateByUrl(`/application`);\r\n else {\r\n if (this.leadColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.leadColumns, Table.Leads);\r\n this.quickSearchTableName = \"tblsaleprocesshistory sale\";\r\n\r\n this.quickSearchTableDisplayName = \"Leads\";\r\n this.quickSearchColumns = this.leadColumns;\r\n // }\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n btnAddFieldsSelectorClick(event) {\r\n this.accountColumns.forEach(col => {\r\n if (col.isSelected) {\r\n if (col.columnName === 'speciality') {\r\n col.distinctValues = [];\r\n this.customerService.GetPickListData(\"Account Specialty\", 21, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n \r\n if (col.selectedVal == \"\")\r\n col.selectedVal = col.distinctValues[0];\r\n }\r\n else if (col.columnName === 'SalesRep') {\r\n col.distinctValues = [];\r\n this.customerService.GetSalesRep(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = col.distinctValues[0];\r\n }\r\n else {\r\n var res = this.AccountTableColumns.filter(ele => ele.ColumnName == col.columnName);\r\n if ((res.length > 0 && res[0].OldOrNew == 'Old') || col.columnName == 'accountid123') {\r\n this.advancedSearchService.GetDistinctColumnValues('tblaccounts', col.columnName, this.currentuser.id).then((distinctValues) => {\r\n if (col.columnName == 'accounttype') {\r\n col.distinctValues = [];\r\n \r\n this.customerService.GetPickListData(\"Account Type\", 3, this.currentuser.id).then((accounttype) => { \r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName }); \r\n });\r\n\r\n });\r\n\r\n }\r\n else if (col.columnName == \"customertypeid\") {\r\n col.distinctValues = [];\r\n this.customerService.GetSpecialityList(\"Account Active or Inactive\", this.currentuser.id).then((CustomerType) => {\r\n\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < CustomerType.length; i++) {\r\n if (CustomerType[i].id == Number(dist)) {\r\n col.distinctValues.push({ \"id\": CustomerType[i].id, \"name\": CustomerType[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n\r\n\r\n }\r\n else if (col.columnName == \"ownership\") {\r\n col.distinctValues = [];\r\n this.customerService.GetPickListData(\"Account Ownership\", 4, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n \r\n } else if (col.columnName == \"accountStatus\") {\r\n col.distinctValues = [];\r\n this.customerService.GetPickListData(\"Account Customer Status\", 5, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });}\r\n else if (col.columnName == \"ehr\" || col.columnName == \"pm\" || col.columnName == \"rcm\") {\r\n var type = \"ehr\";\r\n var fieldId = 0;\r\n switch (col.columnName) {\r\n case \"ehr\": {\r\n type = \"Account EHR\";\r\n fieldId = 22;\r\n break;\r\n }\r\n case \"pm\": {\r\n type = \"Account PM\";\r\n fieldId = 24;\r\n break;\r\n }\r\n case \"rcm\": {\r\n type = \"Account RCM\";\r\n fieldId = 26;\r\n break;\r\n }\r\n\r\n }\r\n col.distinctValues = [];\r\n this.customerService.GetPickListData(type, fieldId, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n }); \r\n } \r\n else if (col.columnName == \"ehrdatepurchased\" || col.columnName == \"pmdatepurchased\" || col.columnName == \"rcmdatepurchased\" || col.columnName == \"CustomerSince\") {\r\n distinctValues.forEach(ele => {\r\n if (distinctValues.length > 0 && ele != null && ele != \"Invalid date\") {\r\n col.distinctValues.push({ \"id\": this.datePipe.transform(ele, 'yyyy-MM-dd') + ' 00:00:00', \"name\": this.datePipe.transform(ele, 'yyyy-MM-dd' + ' 00:00:00') })\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n }\r\n else if (col.columnName == 'ownerid') { \r\n col.distinctValues = []; \r\n this.customerService.GetAllaccesUserList(this.currentuser.id).then((Owner) => { \r\n Owner.forEach(ele => { \r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele.id, \"name\": ele.itemName })\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n\r\n });\r\n });\r\n }\r\n else if (col.columnName == 'accountid123') {\r\n this.userService.GetAllStatusIds(this.currentuser.id, 0).then(result => {\r\n let Doublesortres = this.DoubleSort(result, 'StatusIDGroupName', 'SortOrder');\r\n let Groups = [];\r\n Groups.push(Doublesortres.find(x => x.StatusIDGroup == '5000'));\r\n Groups.push(Doublesortres.find(x => x.StatusIDGroup == '5001'));\r\n\r\n\r\n distinctValues.forEach(ele => {\r\n\r\n\r\n //for (var i = 0; i < Doublesortres.length; i++) {\r\n // col.distinctValues.push({ \"id\": Doublesortres[i].Id, \"name\": Doublesortres[i].StatusIDName, \"Category\": Doublesortres[i].StatusIDGroupName });\r\n\r\n //}\r\n for (var i = 0; i < Groups.length; i++) {\r\n col.distinctValues.push({ \"GroupNumber\": Groups[i].StatusIDGroup, \"GroupName\": Groups[i].StatusIDGroupName, \"GroupItems\": Doublesortres.filter(x => x.StatusIDGroupName == Groups[i].StatusIDGroupName) });\r\n\r\n }\r\n\r\n });\r\n });\r\n }\r\n else {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele });\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = distinctValues[0];\r\n });\r\n }\r\n else if ((col.columnName == \"soldBy\" || col.columnName == \"leadfromid\" || col.columnName == \"keycontact1\" || col.columnName == \"keycontact2\"\r\n || col.columnName == \"keycontact3\" || col.columnName == \"LastTicketDate\") && res[0].OldOrNew == 'New') {\r\n this.advancedSearchService.GetDistinctColumnValues('tblaccounthistory', col.columnName, this.currentuser.id).then((distinctValues) => {\r\n col.distinctValues = [];\r\n if (res[0].DataType == 'Pick List') {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n if (col.columnName == \"leadfromid\") {\r\n col.distinctValues = [];\r\n this.customerService.GetSpecialityList(\"LeadFrom\", this.currentuser.id).then((lead) => {\r\n col.distinctValues = [];\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < lead.length; i++) {\r\n if (lead[i].id == Number(dist)) {\r\n col.distinctValues.push({ \"id\": lead[i].id, \"name\": lead[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n //col.distinctValues.push({ \"id\": ele, \"name\": ele });\r\n } else if (col.columnName == \"soldBy\") {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele });\r\n } else {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele.split(\":\")[1] });\r\n }\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n } else {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele });\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n }\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = distinctValues[0];\r\n });\r\n }\r\n else {\r\n this.advancedSearchService.GetDistinctColumnValues('tblaccountadditionalfields', col.columnName, this.currentuser.id).then((distinctValues) => {\r\n if (res[0].DataType == 'Pick List') { \r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n if (col.columnName == \"IsCustomer\") {\r\n this.customerService.GetPickListData('IsCustomer', 111, this.currentuser.id).then((accounttype) => {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele == '874' ? 'No' : 'Yes' });\r\n\r\n });\r\n }\r\n else if (col.columnName == \"SystemType\") {\r\n this.customerService.GetPickListData(\"SystemType\", 122, this.currentuser.id).then((SystemTypes) => { \r\n col.distinctValues = []; \r\n for (var i = 0; i < SystemTypes.length; i++) { \r\n col.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName }); \r\n } \r\n });\r\n }\r\n else if (col.columnName == \"HL7Interface\") {\r\n this.customerService.GetPickListData(\"HL7Interface\", 123, this.currentuser.id).then((SystemTypes) => {\r\n col.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n col.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else if (col.columnName == \"CustomerRCM\") {\r\n this.customerService.GetPickListData(\"CustomerRCM\", 124, this.currentuser.id).then((SystemTypes) => {\r\n col.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n col.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else if (col.columnName == \"OnDemand\") {\r\n this.customerService.GetPickListData(\"OnDemand\", 125, this.currentuser.id).then((SystemTypes) => {\r\n col.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n col.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else if (col.columnName == \"ApptReminders\") {\r\n this.customerService.GetPickListData(\"ApptReminders\", 126, this.currentuser.id).then((SystemTypes) => {\r\n col.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n col.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else if (col.columnName == \"eLab\") {\r\n this.customerService.GetPickListData(\"eLab\", 127, this.currentuser.id).then((SystemTypes) => {\r\n col.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n col.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n } else if (col.columnName == \"MIPS\") {\r\n this.customerService.GetPickListData(\"MIPS\", 128, this.currentuser.id).then((SystemTypes) => {\r\n col.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n col.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele.split(\":\")[1] });\r\n }\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n } else {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele });\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = distinctValues[0];\r\n });\r\n }\r\n\r\n }\r\n }\r\n else\r\n col.distinctValues = [];\r\n\r\n });\r\n\r\n this.contactColumns.forEach(col => {\r\n if (col.isSelected) {\r\n var res = this.ContactTableColumns.filter(ele => ele.ColumnName == col.columnName);\r\n if (res.length > 0 && res[0].OldOrNew == 'Old') {\r\n\r\n this.advancedSearchService.GetDistinctColumnValues('tblcontacts', col.columnName, this.currentuser.id).then((distinctValues) => {\r\n if (col.columnName == 'contactid123') {\r\n col.distinctValues = [];\r\n this.customerService.GetSpecialityList(\"ContactIds\", this.currentuser.id).then((ContactIds) => {\r\n ContactIds.forEach(conid => {\r\n if (conid != null) {\r\n col.distinctValues.push({ \"id\": conid.id, \"name\": conid.itemName })\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n })\r\n });\r\n }\r\n else if (col.columnName == 'college' || col.columnName == 'contacttype' || col.columnName == 'fellowship' || col.columnName == 'medschool' || col.columnName == 'residency'\r\n || col.columnName == 'sex' || col.columnName == 'suffix' || col.columnName == 'speciality' || col.columnName == 'subspeciality' || col.columnName == 'title'\r\n || col.columnName == 'STATUS') {\r\n var listtype = \"Contact College\";\r\n var fieldId = 0;\r\n switch (col.columnName) {\r\n case \"college\": {\r\n listtype = \"Contact College\"; fieldId = 99;\r\n break;\r\n };\r\n case \"contacttype\": {\r\n listtype = \"Contact Type\";\r\n fieldId = 60;\r\n break;\r\n };\r\n case \"fellowship\": {\r\n listtype = \"Contact Fellowship\"; fieldId = 103;\r\n break;\r\n };\r\n case \"medschool\": {\r\n listtype = \"Contact Medical School\"; fieldId = 101;\r\n break;\r\n };\r\n case \"residency\": {\r\n listtype = \"Contact Residency\"; fieldId = 108;\r\n break;\r\n };\r\n case \"suffix\": {\r\n listtype = \"Contact Suffix\"; fieldId = 65;\r\n break;\r\n }\r\n case \"speciality\": {\r\n listtype = \"Contact Speciality\"; fieldId = 97;\r\n break;\r\n }\r\n case \"subspeciality\": {\r\n listtype = \"Contact Sub-Specialty\"; fieldId = 98;\r\n break;\r\n }\r\n case \"sex\": {\r\n listtype = \"Contact Sex\"; fieldId = 66;\r\n break;\r\n };\r\n case \"title\": {\r\n listtype = \"Contact Title\"; fieldId = 67;\r\n break;\r\n };\r\n case \"STATUS\": {\r\n listtype = \"Contact Status\";\r\n fieldId = 61;\r\n break;\r\n };\r\n\r\n\r\n }\r\n col.distinctValues = [];\r\n this.customerService.GetPickListData(listtype, fieldId, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n });\r\n \r\n }\r\n else if (col.columnName == 'ownerid') { \r\n col.distinctValues = []; \r\n this.customerService.GetAllaccesUserList(this.currentuser.id).then((Owner) => {\r\n Owner.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\":ele.id, \"name\": ele.itemName })\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n\r\n });\r\n });\r\n }\r\n else {\r\n col.distinctValues = [];\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele })\r\n } else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = distinctValues[0];\r\n });\r\n } else {\r\n col.distinctValues = [];\r\n this.advancedSearchService.GetDistinctColumnValues('tblcontactsadditionalfields', col.columnName, this.currentuser.id).then((distinctValues) => {\r\n if (res[0].DataType == 'Pick List') {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele.split(\":\")[1] });\r\n } else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" });\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele });\r\n } else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" });\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = distinctValues[0];\r\n });\r\n }\r\n\r\n\r\n } else\r\n col.distinctValues = [];\r\n });\r\n\r\n\r\n\r\n this.quickSearch = false;\r\n // this.queryLanding = false;\r\n this.fieldsSelector = false;\r\n this.valueSelector = true;\r\n\r\n\r\n }\r\n btnAddContactField(event, name, val) {\r\n this.contactColumns.splice(val + 1, 0, { columnName: name, displayName: 'duplicateCol', distinctValues: [], isSelected: true, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n this.contactColumns.forEach(col => {\r\n\r\n if (col.isSelected) {\r\n col.distinctValues = [];\r\n this.advancedSearchService.GetDistinctColumnValues('tblcontacts', col.columnName, this.currentuser.id).then((distinctValues) => {\r\n if (col.columnName == 'contactid123') {\r\n this.customerService.GetSpecialityList(\"ContactIds\", this.currentuser.id).then((ContactIds) => {\r\n ContactIds.forEach(conid => {\r\n if (conid != null) {\r\n col.distinctValues.push(conid.itemName)\r\n }\r\n })\r\n });\r\n } else if (col.columnName == 'ownerid') {\r\n this.customerService.GetAllaccesUserList(this.currentuser.id).then((Owner) => {\r\n Owner.forEach(ele => {\r\n col.distinctValues.push({ \"id\": ele.id, \"name\": ele.itemName })\r\n\r\n });\r\n });\r\n }\r\n else if (col.columnName == 'college' || col.columnName == 'contacttype' || col.columnName == 'fellowship' || col.columnName == 'medschool' || col.columnName == 'residency'\r\n || col.columnName == 'sex' || col.columnName == 'suffix' || col.columnName == 'speciality' || col.columnName == 'subspeciality' || col.columnName == 'title'\r\n || col.columnName == 'STATUS') {\r\n var listtype = \"Contact College\";\r\n switch (col.columnName) {\r\n case \"college\": {\r\n listtype = \"Contact College\";\r\n break;\r\n };\r\n case \"contacttype\": {\r\n listtype = \"Contact Type\";\r\n break;\r\n };\r\n case \"fellowship\": {\r\n listtype = \"Contact Medical School\";\r\n break;\r\n };\r\n case \"medschool\": {\r\n listtype = \"Contact Medical School\";\r\n break;\r\n };\r\n case \"residency\": {\r\n listtype = \"Contact Medical School\";\r\n break;\r\n };\r\n case \"suffix\": {\r\n listtype = \"Contact Suffix\";\r\n break;\r\n }\r\n case \"speciality\": {\r\n listtype = \"Account Specialty\";\r\n break;\r\n }\r\n case \"subspeciality\": {\r\n listtype = \"Account Specialty\";\r\n break;\r\n }\r\n case \"sex\": {\r\n listtype = \"Contact Sex\";\r\n break;\r\n };\r\n case \"title\": {\r\n listtype = \"Contact Title\";\r\n break;\r\n };\r\n case \"STATUS\": {\r\n listtype = \"Contact Status\";\r\n break;\r\n };\r\n\r\n\r\n }\r\n col.distinctValues = [];\r\n this.customerService.GetSpecialityList(listtype, this.currentuser.id).then((College) => {\r\n\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < College.length; i++) {\r\n if (College[i].id == Number(dist)) {\r\n col.distinctValues.push({ \"id\": College[i].id, \"name\": College[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n\r\n }\r\n else {\r\n //col.distinctValues = distinctValues;\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele })\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n }\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = distinctValues[0];\r\n });\r\n } else\r\n col.distinctValues = [];\r\n });\r\n }\r\n btnCancelValueSelectorClick(event) {\r\n this.valueSelector = false;\r\n this.quickSearch = false;\r\n //this.queryLanding = false;\r\n this.fieldsSelector = true;\r\n }\r\n\r\n btnSaveValueSelectorClick(event) {\r\n if ($('#txtQryName').val() != \"\") {\r\n let qryName: string = \"'\" + $('#txtQryName').val() + \"'\";\r\n let searchQry: string;\r\n let currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n searchQry = \"select * from \";\r\n\r\n if (this.tabType.includes(\"Contact\") && this.contactColumns.length > 0) {\r\n if (!this.fromadded)\r\n this.fromadded = true;\r\n searchQry = \"select distinct con.*,account.*,addField.*,PK.itemName as contacttypeName,PK1.itemName as suffixName,PK2.itemName as titleName,PK3.itemName as sexName,PK4.itemName as specialityName,PK5.itemName as collegeName,PK6.itemName as medschoolName,PK7.itemName as residencyName,PK8.itemName as felloshipName,PK9.itemName AS constatus, con.id as contactid from tblcontacts as con join tblaccounts as account on con.accountid = account.id Left Join tblcontactsadditionalfields as addField on con.id=addField.contactid LEFT JOIN `picklistfielddata` AS PK ON con.contacttype = PK.id LEFT JOIN `picklistfielddata` AS PK1 ON con.suffix = PK1.id LEFT JOIN `picklistfielddata` AS PK2 ON con.title = PK2.id LEFT JOIN `picklistfielddata` AS PK3 ON con.sex = PK3.id LEFT JOIN `picklistfielddata` AS PK4 ON con.speciality = PK4.id LEFT JOIN `picklistfielddata` AS PK5 ON con.college = PK5.id LEFT JOIN `picklistfielddata` AS PK6 ON con.medschool = PK6.id LEFT JOIN `picklistfielddata` AS PK7 ON con.residency = PK7.id LEFT JOIN `picklistfielddata` AS PK8 ON con.fellowship = PK8.id LEFT JOIN `picklistfielddata` AS PK9 ON con.STATUS = PK9.id \";\r\n }\r\n else {\r\n searchQry += \" \";\r\n }\r\n\r\n if (this.tabType.includes(\"Account\") && this.accountColumns.length > 0) {\r\n if (!this.fromadded) {\r\n this.fromadded = true;\r\n searchQry = \"select distinct acc.*,addField.*,PK.itemName as specialityName,PK1.itemName as ownershipName,PK2.itemName as accounttypeName,PK3.itemName as customertypeName,PK4.itemName as ehrName,PK5.itemName as pmName,PK6.itemName as rcmName,owr.Username AS OWNER from tblaccounts as acc Left Join tblaccountadditionalfields as addField on acc.id=addField.accountid LEFT JOIN `tblaccounthistory` AS hist ON acc.id =hist.accountid LEFT JOIN `tbluser` AS sauser ON sauser.id =hist.`Salesrep` LEFT JOIN `picklistfielddata` AS PK ON acc.speciality = PK.id LEFT JOIN `picklistfielddata` AS PK1 ON acc.ownership = PK1.id LEFT JOIN `picklistfielddata` AS PK2 ON acc.accounttype = PK2.id LEFT JOIN `picklistfielddata` AS PK3 ON acc.customertypeid = PK3.id LEFT JOIN `picklistfielddata` AS PK4 ON acc.ehr = PK4.id LEFT JOIN `picklistfielddata` AS PK5 ON acc.pm = PK5.id LEFT JOIN `picklistfielddata` AS PK6 ON acc.rcm = PK6.id JOIN tbluser AS owr ON owr.id=acc.ownerid \";\r\n } else {\r\n searchQry += \" join tblaccounts as acc on con.accountid = acc.id \"\r\n }\r\n }\r\n else {\r\n searchQry += \" \";\r\n }\r\n\r\n if (this.tabType.includes(\"Account,Contact\") && this.accountColumns.length > 0 && this.contactColumns.length > 0) {\r\n searchQry += \" tblcontacts as con join tblaccounts as acc on con.accountid = acc.id \"\r\n }\r\n else {\r\n searchQry += \" \";\r\n }\r\n\r\n this.tabType.includes(\"Contact\") && this.contactColumns.length > 0 ? this.tablealias = \"con\" : this.tabType.includes(\"Account\") && this.accountColumns.length > 0 ? this.tablealias = \"acc\" : (this.tabType.includes(\"Account,Contact\") && this.accountColumns.length > 0 && this.contactColumns.length > 0) ? this.tablealias = \"acc\" : \"\";\r\n searchQry += \"where \";\r\n\r\n if (this.currentuser.systemadministrator == 1) {\r\n searchQry += this.tablealias + \".userid > 0 \";\r\n } else {\r\n searchQry += this.tablealias + \".userid = \" + currentUser.id;\r\n }\r\n let searchData: any[] = [];\r\n let searchOperator: any[] = [];\r\n let banArray: any[] = [];\r\n let banArray2: any[] = [];\r\n let oprString: string = \"\";\r\n let whereQry1: string = \"\";\r\n let whereQry2: string = \"\";\r\n var searchval = \"\";\r\n for (let i = 0; i < this.contactColumns.length; i++) {\r\n if (this.contactColumns[i].distinctValues.length > 0) {\r\n let lhsVal: string = $('#selLHSContactSelector' + i).val();\r\n let rhsVal: string = $('#selRHSContactSelector' + i).val();\r\n let andOrOperator: string = $('#selRHSContactOperator' + i).val();\r\n\r\n if (lhsVal == \"Is Not Empty\" || lhsVal == \"Is Empty\")\r\n rhsVal = \"\";\r\n if (rhsVal != undefined) {\r\n switch (lhsVal) {\r\n case 'Equals': {\r\n oprString = \" FIND_IN_SET(\";\r\n break;\r\n }\r\n case 'Is Not': {\r\n oprString = \" !FIND_IN_SET(\";\r\n break;\r\n }\r\n case 'Is Not Empty': {\r\n oprString = \" is not null\";\r\n break;\r\n }\r\n case 'Is Empty': {\r\n oprString = \" is null\";\r\n break;\r\n }\r\n }\r\n if (banArray.length > 0) {\r\n banArray.forEach(x => {\r\n if ((x.column == this.contactColumns[i].columnName) && (x.Operator == oprString)) {\r\n if (andOrOperator == \"AND\" && lhsVal == \"Equals\") {\r\n x.SearchValue += \"|''\" + rhsVal + \"''\";\r\n }\r\n else if (andOrOperator == \"AND\" && lhsVal == \"Is Not\") {\r\n var temp_search = x.SearchValue + \",\" + rhsVal + \"\";\r\n var result = temp_search;\r\n x.SearchValue = result;\r\n }\r\n else {\r\n searchval = \"'\" + rhsVal + \"'\";\r\n }\r\n\r\n }\r\n var existingopstring = banArray.find(y => y.Operator == oprString);\r\n if (!existingopstring && x.column == this.contactColumns[i].columnName && (x.Operator != oprString)) {\r\n var searchval = \"\";\r\n\r\n if (andOrOperator == \"AND\" && lhsVal == \"Equals\") { x.SearchValue += \"|''\" + rhsVal + \"''\"; }\r\n\r\n else {\r\n searchval = \"\" + rhsVal + \"\";\r\n }\r\n\r\n banArray.push({\r\n 'column': this.contactColumns[i].columnName,\r\n 'Operator': oprString,\r\n 'SearchValue': searchval,\r\n 'andOrOperator': $(\"input[name='\" + this.contactColumns[i].columnName + \"']:checked\").val()\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n var searchval = \"\";\r\n if (rhsVal != \"\") {\r\n if (andOrOperator == \"AND\" && lhsVal == \"Equals\")\r\n { searchval += \"|''\" + rhsVal + \"''\"; } else {\r\n searchval = rhsVal ;\r\n }\r\n }\r\n banArray.push({\r\n 'column': this.contactColumns[i].columnName,\r\n 'Operator': oprString,\r\n 'SearchValue': searchval,\r\n 'andOrOperator': andOrOperator\r\n });\r\n }\r\n\r\n }\r\n }\r\n }\r\n if (banArray.length > 0) {\r\n banArray.forEach(x => {\r\n var searchFields = x.column + \" | \" + x.Operator + \" | \" + x.SearchValue;\r\n searchData.push(searchFields);\r\n\r\n var Operator = x.column + \" | \" + x.andOrOperator + \" | \" + x.SearchValue;\r\n searchOperator.push(Operator);\r\n if (x.Operator == ' FIND_IN_SET(') {\r\n if (x.andOrOperator == 'OR') {\r\n whereQry1 += \" AND \" + x.Operator + \"con.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n } else {\r\n if (x.SearchValue.includes('|')) {\r\n var andVales = [];\r\n andVales = x.SearchValue.split('|');\r\n andVales.forEach(eledata => {\r\n if (eledata != \"\") {\r\n whereQry1 += \" \" + x.andOrOperator + \"\" + x.Operator + \"con.\" + x.column + \",\" + eledata + \")\";\r\n }\r\n });\r\n } else {\r\n whereQry1 += \" \" + x.andOrOperator + \" \" + x.Operator + \"con.\" + x.column + \",\" + x.SearchValue + \")\";\r\n }\r\n }\r\n\r\n\r\n }\r\n else if (x.Operator == ' !FIND_IN_SET(') {\r\n if (x.column == 'address1' || x.column == 'address2' || x.column == 'homeaddress') {\r\n whereQry1 += \" \" + x.andOrOperator + \" \" + \" con.\" + x.column + \" IN(\" + x.SearchValue + \")\";\r\n } else {\r\n var res = this.ContactTableColumns.filter(ele => ele.ColumnName == x.column);\r\n if (res.length > 0 && res[0].OldOrNew == 'New') {\r\n whereQry1 += \" \" + x.andOrOperator + \" \" + x.Operator + \"addField.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n }\r\n else {\r\n whereQry1 += \" \" + x.andOrOperator + \" \" + x.Operator + \"con.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n }\r\n }\r\n\r\n }\r\n else if (x.Operator == ' is not null') {\r\n var res = this.ContactTableColumns.filter(ele => ele.ColumnName == x.column);\r\n if (res.length > 0 && res[0].OldOrNew == 'New') {\r\n whereQry1 += \" \" + x.andOrOperator + \" \" + \" addField.\" + x.column + x.Operator;\r\n }\r\n else {\r\n whereQry1 += \" \" + x.andOrOperator + \" \" + \" con.\" + x.column + x.Operator;\r\n }\r\n\r\n }\r\n else if (x.Operator == ' is null') {\r\n var res = this.ContactTableColumns.filter(ele => ele.ColumnName == x.column);\r\n if (res.length > 0 && res[0].OldOrNew == 'New') {\r\n whereQry1 += \" \" + x.andOrOperator + \" \" + \" addField.\" + x.column + x.Operator;\r\n }\r\n else {\r\n whereQry1 += \" \" + x.andOrOperator + \" \" + \" con.\" + x.column + x.Operator;\r\n }\r\n }\r\n\r\n });\r\n }\r\n searchQry += whereQry1;\r\n\r\n\r\n oprString = \"\";\r\n for (let i = 0; i < this.accountColumns.length; i++) {\r\n if (this.accountColumns[i].distinctValues.length > 0) {\r\n let lhsVal: string = $('#selLHSAccountSelector' + i).val();\r\n let rhsVal: string = $('#selRHSAccountSelector' + i).val();\r\n let andOrOperator: string = $('#selRHSAccountOperator' + i).val();\r\n if (lhsVal == \"Is Not Empty\" || lhsVal == \"Is Empty\")\r\n rhsVal = \"\";\r\n if (rhsVal != undefined) {\r\n switch (lhsVal) {\r\n case 'Equals': {\r\n oprString = \" FIND_IN_SET(\";\r\n break;\r\n }\r\n case 'Is Not': {\r\n oprString = \" !FIND_IN_SET(\";\r\n break;\r\n }\r\n case 'Is Not Empty': {\r\n oprString = \" is not null\";\r\n break;\r\n }\r\n case 'Is Empty': {\r\n oprString = \" is null\";\r\n break;\r\n }\r\n }\r\n if (banArray2.length > 0) {\r\n if (banArray2.find(x => x.column == this.accountColumns[i].columnName && x.column != 'accountid123')) {\r\n banArray2.forEach(x => {\r\n if ((x.column == this.accountColumns[i].columnName) && (x.Operator == oprString)) {\r\n \r\n if (andOrOperator == \"AND\" && lhsVal == \"Equals\") {\r\n x.SearchValue += \"|''\" + rhsVal + \"''\";\r\n }\r\n else if (andOrOperator == \"AND\" && lhsVal == \"Is Not\")\r\n {\r\n var temp_search = x.SearchValue + \",\" + rhsVal + \"\";\r\n var result = temp_search;//.replace(\"',\", \",\");\r\n x.SearchValue = result;\r\n }\r\n else if (andOrOperator == \"OR\") {\r\n x.SearchValue += \",\" + rhsVal;\r\n }\r\n else { \r\n searchval = \"'\" + rhsVal + \"'\";\r\n }\r\n \r\n }\r\n var existingopstring = banArray2.find(y => y.Operator == oprString);\r\n if (!existingopstring && x.column == this.accountColumns[i].columnName && (x.Operator != oprString)) {\r\n var searchval = \"\";\r\n \r\n if (andOrOperator == \"AND\" && lhsVal == \"Equals\")\r\n { x.SearchValue += \"|''\" + rhsVal + \"''\"; }\r\n \r\n else {\r\n searchval = \"\" + rhsVal + \"\";\r\n }\r\n \r\n banArray2.push({\r\n 'column': this.accountColumns[i].columnName,\r\n 'Operator': oprString,\r\n 'SearchValue': searchval,\r\n 'andOrOperator': andOrOperator /*$(\"input[name='\" + this.accountColumns[i].displayName + \"']:checked\").val()*/\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n var searchval = \"\";\r\n if (andOrOperator == \"AND\" && lhsVal == \"Equals\") {\r\n if (this.accountColumns[i].columnName == \"accountid123\") {\r\n searchval = rhsVal;\r\n } else {\r\n searchval = \"''\" + rhsVal + \"''\";\r\n }\r\n }\r\n else if (andOrOperator == \"AND\" && lhsVal == \"Is Not\") {\r\n var temp_search = rhsVal;\r\n var result = temp_search;//.replace(\"',\", \",\");\r\n searchval = result;\r\n } else {\r\n searchval = rhsVal;\r\n }\r\n \r\n banArray2.push({\r\n 'column': this.accountColumns[i].columnName,\r\n 'Operator': oprString,\r\n 'SearchValue': searchval,\r\n 'andOrOperator': andOrOperator/*$(\"input[name='\" + this.accountColumns[i].displayName + \"']:checked\").val()*/\r\n });\r\n }\r\n\r\n }\r\n else {\r\n if (andOrOperator == \"AND\" && lhsVal == \"Is Not\")\r\n {\r\n searchval = rhsVal;\r\n }\r\n else if (andOrOperator == \"OR\") {\r\n searchval = rhsVal;\r\n }\r\n else { \r\n if (this.accountColumns[i].columnName == \"accountname\" || this.accountColumns[i].columnName == \"address1\" || this.accountColumns[i].columnName == \"address2\" || this.accountColumns[i].columnName == \"city\" || this.accountColumns[i].columnName == \"state\" || this.accountColumns[i].columnName == \"zip\" || this.accountColumns[i].columnName == \"phone\" || this.accountColumns[i].columnName == \"fax\" || this.accountColumns[i].columnName == \"alterphone1\" || this.accountColumns[i].columnName == \"alterphone2\" || this.accountColumns[i].columnName == \"website\" || this.accountColumns[i].columnName == \"ehrdatepurchased\" || this.accountColumns[i].columnName == \"pmdatepurchased\" || this.accountColumns[i].columnName == \"rcmdatepurchased\" || this.accountColumns[i].columnName == \"country\" || this.accountColumns[i].columnName == \"CustomerSince\") {\r\n searchval = \"''\" + rhsVal + \"''\";}\r\n else {\r\n searchval = rhsVal; //\"''\" + rhsVal + \"''\";\r\n }\r\n }\r\n banArray2.push({\r\n 'column': this.accountColumns[i].columnName,\r\n 'Operator': oprString,\r\n 'SearchValue': searchval,\r\n 'andOrOperator': andOrOperator\r\n });\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n }\r\n if (banArray2.length > 0) {\r\n banArray2.forEach(x => {\r\n var searchFields = x.column + \" | \" + x.Operator + \" | \" + x.SearchValue;\r\n searchData.push(searchFields);\r\n var Operator = x.column + \" | \" + x.andOrOperator + \" | \" + x.SearchValue;\r\n searchOperator.push(Operator);\r\n if (x.Operator == ' FIND_IN_SET(') {\r\n if (x.column == 'accountid123') {\r\n whereQry2 += \" \" + x.andOrOperator + \" \";\r\n whereQry2 += \" acc.id IN(SELECT accountContactId FROM tblStatusIds AS stat WHERE ''\" + x.SearchValue + \"'' IN(stat.StatusID1, stat.StatusID2, stat.StatusID3, stat.StatusID4, stat.StatusID5, stat.StatusID6, stat.StatusID7,\" +\r\n \"stat.StatusID8, stat.StatusID9, stat.StatusID10, stat.StatusID11, stat.StatusID12, stat.StatusID13, stat.StatusID14, stat.StatusID15,stat.StatusID16,stat.StatusID17,stat.StatusID18,stat.StatusID19,stat.StatusID20\" +\r\n \",stat.StatusID21, stat.StatusID22, stat.StatusID23, stat.StatusID24, stat.StatusID25, stat.StatusID26, stat.StatusID27,stat.StatusID28, stat.StatusID29, stat.StatusID30, stat.StatusID31, stat.StatusID32, stat.StatusID33, stat.StatusID34, stat.StatusID35,stat.StatusID36,stat.StatusID37,stat.StatusID38,stat.StatusID39,stat.StatusID40)) \";\r\n }\r\n else if (x.column == 'accountname' || x.column == 'address1' || x.column == 'address2' || x.column == 'homeaddress' || x.column == 'accounttype' || x.column == 'customertypeid' || x.column == 'ownership' || x.column == 'accountStatus' || x.column == 'accnumber' || x.column == 'city' || x.column == 'state' || x.column == 'zip' || x.column == 'country' || x.column == 'phone' || x.column == 'fax' || x.column == 'alterphone1' || x.column == 'alterphone2' || x.column == 'website' || x.column == 'ownerid' || x.column == 'speciality' || x.column == 'ehr'\r\n || x.column == 'ehrdatepurchased' || x.column == 'pm' || x.column == 'pmdatepurchased' || x.column == 'rcm' || x.column == 'rcmdatepurchased' || x.column == 'created' || x.column == 'CustomerSince' || x.column == 'ehrdatepurchased' || x.column == 'country') {\r\n if (x.andOrOperator == 'OR') {\r\n whereQry2 += x.Operator + \"acc.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n } else {\r\n if (x.SearchValue.includes('|')) {\r\n var andVales = x.SearchValue.split('|');\r\n andVales.forEach(eledata => {\r\n if (eledata != \"\") {\r\n whereQry2 += \" AND \" + x.Operator + \"acc.\" + x.column + \",\" + eledata + \")\";\r\n }\r\n });\r\n } else {\r\n if (x.SearchValue != \"\") {\r\n whereQry2 += \" AND \" + x.Operator + \"acc.\" + x.column + \",\" + x.SearchValue + \")\";\r\n }\r\n }\r\n }\r\n } else if (x.column == 'SalesRep' || x.column == 'soldBy' || x.column == 'leadfromid' || x.column == \"keycontact1\" || x.column == \"keycontact2\"\r\n || x.column == \"keycontact3\") {\r\n whereQry2 += \" AND \" + x.Operator + \"hist.\" + x.column + \",\" + x.SearchValue + \")\";\r\n }\r\n else {\r\n var res = this.AccountTableColumns.filter(ele => ele.ColumnName == x.column);\r\n if (res.length > 0 && res[0].OldOrNew == 'New') {\r\n if (x.andOrOperator == 'OR') {\r\n whereQry2 += \" AND \" + x.Operator + \"addField.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n } else {\r\n if (x.SearchValue.includes(',')) {\r\n let andarray = x.SearchValue.split(\",\");\r\n andarray.forEach(eledata => {\r\n whereQry2 += \" AND \" + x.andOrOperator + \" addField.\" + x.column + \"=\" + eledata + \" \"\r\n });\r\n } else {\r\n whereQry2 += \" AND \" + x.Operator + \"addField.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n }\r\n }\r\n }\r\n else {\r\n if (x.andOrOperator == 'OR') {\r\n whereQry2 += \" AND \" + x.Operator + \"acc.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n } else {\r\n if (x.SearchValue.includes(',')) {\r\n let andarray = x.SearchValue.split(\",\");\r\n andarray.forEach(eledata => {\r\n if (eledata!=\"\")\r\n whereQry2 += \" \" + x.andOrOperator + \" \" + \"acc.\" + x.column + \"=\" + eledata + \" \"\r\n });\r\n\r\n } else {\r\n if (x.column == 'ownerid') { whereQry2 += x.Operator + \"acc.\" + x.column + \",''\" + x.SearchValue + \"'')\"; }\r\n else {\r\n whereQry2 += \" AND \" + x.Operator + \"acc.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n }\r\n else if (x.Operator == ' !FIND_IN_SET(') {\r\n if (x.column == 'accountid123') {\r\n\r\n\r\n whereQry2 += \" \" + x.andOrOperator + \" \";\r\n \r\n whereQry2 += \" acc.id IN(SELECT accountContactId FROM tblStatusIds AS stat WHERE ''\" + x.SearchValue + \"'' NOT IN(stat.StatusID1, stat.StatusID2, stat.StatusID3, stat.StatusID4, stat.StatusID5, stat.StatusID6, stat.StatusID7, \" +\r\n \"stat.StatusID8, stat.StatusID9, stat.StatusID10, stat.StatusID11, stat.StatusID12, stat.StatusID13, stat.StatusID14, stat.StatusID15,stat.StatusID16,stat.StatusID17,stat.StatusID18,stat.StatusID19,stat.StatusID20\" +\r\n \",stat.StatusID21, stat.StatusID22, stat.StatusID23, stat.StatusID24, stat.StatusID25, stat.StatusID26, stat.StatusID27,stat.StatusID28, stat.StatusID29, stat.StatusID30, stat.StatusID31, stat.StatusID32, stat.StatusID33, stat.StatusID34, stat.StatusID35,stat.StatusID36,stat.StatusID37,stat.StatusID38,stat.StatusID39,stat.StatusID40)) \";\r\n } else if (x.column == 'accountname' || x.column == 'address1' || x.column == 'address2' || x.column == 'homeaddress') {\r\n whereQry2 += \" and \" + x.Operator + \"acc.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n }\r\n else if (x.column == 'SalesRep' || x.column == 'soldBy' || x.column == 'leadfromid' || x.column == \"keycontact1\" || x.column == \"keycontact2\"\r\n || x.column == \"keycontact3\") {\r\n whereQry2 += \" AND \" + x.Operator + \"hist.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n }\r\n else {\r\n var res = this.AccountTableColumns.filter(ele => ele.ColumnName == x.column);\r\n if (res.length > 0 && res[0].OldOrNew == 'New') {\r\n whereQry2 += \" AND \" + x.Operator + \"addField.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n }\r\n else {\r\n if (x.Operator.trim() == \"!FIND_IN_SET(\") {\r\n whereQry2 += \" AND \" + x.Operator + \"acc.\" + x.column + \",''\" + x.SearchValue + \"'')\";\r\n } else {\r\n whereQry2 += \" AND \" + x.Operator + \"acc.\" + x.column + \",\" + x.SearchValue + \")\";\r\n }\r\n }\r\n\r\n }\r\n }\r\n else if (x.Operator == ' is not null' || x.Operator == 'is not null') {\r\n \r\n var res = this.AccountTableColumns.filter(ele => ele.ColumnName == x.column);\r\n if (res.length > 0 && res[0].OldOrNew == 'New') {\r\n if (x.column == 'SalesRep' || x.column == 'soldBy' || x.column == 'leadfromid' || x.column == \"keycontact1\" || x.column == \"keycontact2\"\r\n || x.column == \"keycontact3\") {\r\n whereQry2 += \" \" + x.andOrOperator + \" \" + \" hist.\" + x.column + \" != 0\";\r\n } else {\r\n whereQry2 += \" \" + x.andOrOperator + \" \" + \" addField.\" + x.column + x.Operator;\r\n }\r\n }\r\n \r\n else {\r\n if (x.Operator == \" is not null\" || x.Operator == \"is not null\" ) {\r\n whereQry2 += \" \" + x.andOrOperator + \" \" + \" acc.\" + x.column + x.Operator + \" AND \" + \" acc.\" + x.column + \"!='' '' && acc.\" + x.column + \"!=0\";\r\n } else {\r\n whereQry2 += \" \" + x.andOrOperator + \" \" + \" acc.\" + x.column + x.Operator;\r\n \r\n }\r\n \r\n }\r\n\r\n }\r\n else if (x.Operator == ' is null') {\r\n\r\n var res = this.AccountTableColumns.filter(ele => ele.ColumnName == x.column);\r\n if (res.length > 0 && res[0].OldOrNew == 'New') {\r\n if (x.column == 'SalesRep' || x.column == 'soldBy' || x.column == 'leadfromid' || x.column == \"keycontact1\" || x.column == \"keycontact2\"\r\n || x.column == \"keycontact3\") {\r\n whereQry2 += \" \" + x.andOrOperator + \" \" + \" hist.\" + x.column + \" = 0\";\r\n } else {\r\n whereQry2 += \" \" + x.andOrOperator + \" \" + \" addField.\" + x.column + x.Operator;\r\n }\r\n } \r\n else {\r\n whereQry2 += \" \" + x.andOrOperator + \" \" + \" acc.\" + x.column + x.Operator;\r\n }\r\n\r\n }\r\n\r\n });\r\n }\r\n searchQry += whereQry2; \r\n searchQry = \"'\" + searchQry + \"'\";\r\n \r\n this.advancedSearchService.saveAdvancedSearchQuery(qryName, searchQry.replace('where and', 'where'), this.editQryId, this.tabType.filter(\r\n function (elem, index, self) {\r\n return index === self.indexOf(elem);\r\n }).join(\",\"),\r\n this.currentuser.id, qryName, \"\", searchData.join(\"~\").toString(), searchOperator.join(\"~\").toString()).then((out) => {\r\n this.advancedSearchService.getAdvancedSearchQueries(\"qryname\", this.currentuser.id).then((queries) => {\r\n queries.forEach(queries => {\r\n queries.createdate = this.datePipe.transform(queries.createdate, \"MM/dd/yyyy\");\r\n });\r\n this.queryList = queries;\r\n this.emailFormArray = [];\r\n\r\n });\r\n this.fromadded = false;\r\n this.query.runby = this.currentuser.id;\r\n this.query.queryOrder = out;\r\n this.accountColumns = [];\r\n this.contactColumns = [];\r\n this.tabType = [];\r\n this.fromadded = false;\r\n this.selectedColumnList = [];\r\n });\r\n this.quickSearch = false;\r\n this.fieldsSelector = false;\r\n this.valueSelector = false;\r\n //this.queryLanding = true;\r\n }\r\n else {\r\n alert(\"Please Enter Query Name\");\r\n }\r\n }\r\n\r\n btnRemoveValueSelectorClick(event) {\r\n\r\n let id: string = event.target.id;\r\n let removeId: string = id.replace('btnRemove', 'divValueSelector');\r\n\r\n let count: number = parseInt(removeId[removeId.length - 1]);\r\n if (id.indexOf(\"Account\") >= 0) {\r\n if (this.accountColumns[count]) {\r\n this.accountColumns[count].distinctValues = [];\r\n this.accountColumns[count].isSelected = false;\r\n this.accountColumns[count].selectedVal = \"\";\r\n }\r\n } else if (id.indexOf(\"Contact\") >= 0) {\r\n if (this.contactColumns[count]) {\r\n this.contactColumns[count].distinctValues = [];\r\n this.contactColumns[count].isSelected = false;\r\n this.contactColumns[count].selectedVal = \"\";\r\n }\r\n }\r\n $('#' + removeId).remove();\r\n }\r\n\r\n fireSearchQuery(index) {\r\n var ids = this.emailFormArray.join(\",\").toString().split(',').toString();\r\n \r\n this.query.queryOrder = ids;\r\n this.query.runby = this.currentuser.id;\r\n this.advsearch.saveRunQuery(this.query).then(result => {\r\n this.applicationComponent.searchoffon = true;\r\n this.toastr.success(\"Query run successfully.\", \"Query\", { timeOut: 600 });\r\n \r\n this.applicationComponent.AdvancedSearchResult = true;\r\n this.applicationComponent.StandardpopupUi('#AdvancedSearchResult .dialog');\r\n });\r\n\r\n\r\n }\r\n radioEditSelected(event) {\r\n $('#btnEditQry').removeAttr('disabled');\r\n $('#btnRunQry').removeAttr('disabled');\r\n }\r\n\r\n btnEditQueryClick(event) {\r\n\r\n let selectedIndex: number = parseInt($('input[name=rblEditQuery]:checked').val());\r\n\r\n this.editQryId = this.queryList[selectedIndex].Id;\r\n let qryName: string = this.queryList[selectedIndex].QryName;\r\n let searchQry: string = this.queryList[selectedIndex].SearchQry;\r\n \r\n this.queryName = qryName;\r\n this.editquerydate = this.queryList[selectedIndex].editdate;\r\n let splitString: string[] = searchQry.split(\" where \");\r\n\r\n let andConditions: string[] = splitString[1].split(\" and \");\r\n\r\n if (this.accountColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.accountColumns, Table.Account);\r\n\r\n if (this.contactColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.contactColumns, Table.Contact);\r\n\r\n this.accountShow = false;\r\n this.contactShow = false;\r\n\r\n let count: number = 0;\r\n andConditions.forEach(str => {\r\n if (count > 1) {\r\n let opr: string = \"\";\r\n let fieldAndValue: string[] = [\"\"];\r\n if (str.indexOf(\"!=\") >= 0) {\r\n fieldAndValue = str.split(\" != \");\r\n opr = \"Is Not\";\r\n }\r\n else if (str.indexOf(\"=\") >= 0) {\r\n fieldAndValue = str.split(\" = \");\r\n opr = \"Equals\";\r\n }\r\n else if (str.indexOf(\"is not null\") >= 0) {\r\n fieldAndValue = str.split(\" is \");\r\n fieldAndValue[1] = \"is not null\";\r\n opr = \"Is Not Empty\";\r\n }\r\n\r\n let isTblContacts: boolean = fieldAndValue[0].split('.')[0] == \"con\";\r\n\r\n let fieldName: string = fieldAndValue[0].split('.')[1];\r\n let value: string = fieldAndValue[1];\r\n while (value.indexOf(\"'\") >= 0) {\r\n value = value.replace(\"'\", \"\");\r\n }\r\n\r\n //if (isTblContacts) {\r\n let column: ColumnNames = this.contactColumns.find(e => e.columnName == fieldName);\r\n column.isSelected = true;\r\n this.advancedSearchService.GetDistinctColumnValues('tblcontacts', column.columnName, this.currentuser.id).then((distinctValues) => {\r\n column.distinctValues = distinctValues;\r\n if (value != \"is not null\")\r\n column.selectedVal = value;\r\n else\r\n column.selectedVal = column.distinctValues[0];\r\n });\r\n column.operator = opr;\r\n\r\n this.contactShow = true;\r\n\r\n let actcolumn: ColumnNames = this.accountColumns.find(e => e.columnName == fieldName);\r\n actcolumn.isSelected = true;\r\n this.advancedSearchService.GetDistinctColumnValues('tblaccounts', actcolumn.columnName, this.currentuser.id).then((distinctValues) => {\r\n \r\n actcolumn.distinctValues = distinctValues;\r\n if (value != \"is not null\")\r\n actcolumn.selectedVal = value;\r\n else\r\n actcolumn.selectedVal = actcolumn.distinctValues[0];\r\n });\r\n actcolumn.operator = opr;\r\n\r\n this.accountShow = true;\r\n\r\n }\r\n\r\n count++;\r\n });\r\n\r\n this.quickSearch = false;\r\n //this.queryLanding = false;\r\n this.fieldsSelector = false;\r\n this.valueSelector = true;\r\n }\r\n\r\n isSelected() {\r\n if (this.accountColumns.find(col => col.distinctValues.length > 0) || this.contactColumns.find(col => col.distinctValues.length > 0)\r\n || this.leadColumns.find(col => col.distinctValues.length > 0) || this.TaskColumns.find(col => col.distinctValues.length > 0)\r\n || this.OpportunityColumns.find(col => col.distinctValues.length > 0))\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n editQuery(Query) {\r\n if (Query.RunStatus != 'Open') {\r\n this.accountColumns = [];\r\n this.contactColumns = [];\r\n this.editQryId = Query.Id;\r\n let qryName: string = Query.QryName;\r\n let searchQry: string = Query.SearchQry;\r\n let searchType: string = Query.searchtype;\r\n\r\n this.queryName = qryName;\r\n let splitString: string[] = searchQry.split(\" where \");\r\n\r\n if (searchType == \"Account\") {\r\n if (this.accountColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.accountColumns, Table.Account);\r\n this.tabType.push('Account');\r\n }\r\n else if (searchType == \"Account,Contact\" || searchType == \"Contact\") {\r\n if (this.accountColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.accountColumns, Table.Account);\r\n if (this.contactColumns.length == 0)\r\n this.mapColumnNamesWithDisplayNames(this.contactColumns, Table.Contact);\r\n this.tabType.push(searchType);\r\n }\r\n this.accountShow = false;\r\n this.contactShow = false;\r\n this.LeadsShow = false;\r\n this.opportunitiesShow = false;\r\n this.TaskShow = false;\r\n\r\n let count: number = 0;\r\n let totalcount = 0;\r\n let andConditions: string[] = splitString[1].split(\" and \");\r\n let allConditions = [];\r\n let orConditions: string[] = splitString[1].split(\" and \");;\r\n let str: string;\r\n this.andactiveval = \"AND\";\r\n orConditions.forEach(item => {\r\n str = item.toString();\r\n if (str.includes(\" or \")) {\r\n str = str.substring(1, str.length - 1);\r\n orConditions = str.split(\" or \");\r\n let st: string = orConditions[0].substring(0, orConditions[0].indexOf(\",\")) + orConditions[0].substring(orConditions[0].indexOf(\",\"), orConditions[0].length);\r\n allConditions.push(st.toString());\r\n } else if (str.includes(\" AND \") || str.includes(\" and \")) {\r\n orConditions = str.split(\" AND \");\r\n orConditions.forEach(substr => {\r\n let st: string = orConditions[0].substring(0, orConditions[0].indexOf(\",\")) + orConditions[0].substring(orConditions[0].indexOf(\",\"), orConditions[0].length);\r\n allConditions.push(substr);\r\n });\r\n\r\n } else {\r\n allConditions.push(str);\r\n }\r\n })\r\n let valueArr: string[] = [];\r\n\r\n allConditions.forEach(str => {\r\n let andoOpr = \"\";\r\n let opr: string = \"\";\r\n let andOrOperator: string = \"\";\r\n let fieldAndValue: string[] = [\"\"];\r\n if (str.indexOf(\"!FIND_IN_SET\") >= 0) {\r\n fieldAndValue = str.substr(14).split(\",\");\r\n opr = \"Is Not\";\r\n andOrOperator = \"or\";\r\n\r\n }\r\n else if (str.indexOf(\"FIND_IN_SET\") >= 0) {\r\n if (str.indexOf(\"ownerid\") >= 0) {\r\n fieldAndValue = str.substr(12).split(\",\");\r\n } else {\r\n if (str.includes(\"and\") || str.includes(\"AND\")) {\r\n fieldAndValue = str.substr(12).split(\",\");\r\n } else {\r\n fieldAndValue = str.substr(12).split(\",\");\r\n }\r\n\r\n }\r\n opr = \"Equals\";\r\n andOrOperator = \"and\";\r\n }\r\n else if (str.indexOf(\"is not null\") >= 0 || str.indexOf(\"!= 0\") >= 0) {\r\n fieldAndValue = str.replace('acc.userid =' + this.currentuser.userid + ' AND ', \"\").replace(\"con.userid = \" + this.currentuser.userid + \" and \", \"\").split(\" is \");\r\n fieldAndValue[1] = \"is not null\";\r\n opr = \"Is Not Empty\";\r\n }\r\n else if (str.indexOf(\"is null\") >= 0 || str.indexOf(\"= 0\") >= 0) {\r\n fieldAndValue = str.replace('acc.userid = ' + this.currentuser.userid + ' AND ', \"\").replace(\"con.userid = \" + this.currentuser.userid + \" and \", \"\").split(\" is \");\r\n fieldAndValue[1] = \"is null\";\r\n opr = \"Is Empty\";\r\n }\r\n else {\r\n if (str.indexOf(\"tblStatusIds\") >= 0) {\r\n if (str.indexOf(\"NOT IN(\") >= 0) {\r\n var string1 = str.substr(105).trim();\r\n var ary = string1.split(\" IN(\").reverse()\r\n ary[0] = \"acc.accountid123\";\r\n fieldAndValue = ary;\r\n if (str.indexOf(\"StatusID1\") >= 0) {\r\n opr = \"Is Not\";\r\n } else {\r\n opr = \"Is Empty\";\r\n }\r\n\r\n } else if (str.indexOf(\" IN(\") >= 0) {\r\n var string1 = str.substr(68).trim();\r\n var ary = string1.split(\" IN(\").reverse();\r\n ary[0] = \"acc.accountid123\";\r\n fieldAndValue = ary;\r\n if (str.indexOf(\"StatusID1\") >= 0) {\r\n opr = \"Equals\";\r\n } else {\r\n opr = \"Is Not Empty\";\r\n }\r\n\r\n }\r\n\r\n }\r\n else {\r\n if (str.indexOf(\" IN(\") >= 0) {\r\n var ary = str.split(\" IN(\");\r\n ary[1] = ary[1].replace(')', '');\r\n fieldAndValue = ary;\r\n opr = \"Equals\";\r\n }\r\n if (str.indexOf(\" NOT IN(\") >= 0) {\r\n var ary = str.split(\" NOT IN(\");\r\n ary[1] = ary[1].replace(')', '');\r\n fieldAndValue = ary;\r\n opr = \"Equals\";\r\n }\r\n }\r\n\r\n }\r\n\r\n let isTblContacts: string = fieldAndValue[0].split('.')[0].replace('(', '');\r\n let fieldName: string = fieldAndValue[0].split('.')[1];\r\n fieldAndValue.splice(0, 1);\r\n let valueStr: string = fieldAndValue.join(\",\");\r\n let value: string = (valueStr == \"is null\") ? valueStr : valueStr.substring(0, valueStr.length - 1);\r\n let andoropr = andOrOperator;\r\n while (value != undefined && value.indexOf(\"'\") >= 0) {\r\n\r\n value = value.replace(\"'\", \"\");\r\n }\r\n if (value != \"\" && (value.includes(\"and\") || value.includes(\"AND\"))) {\r\n var multipleands = value.split(\"and\");\r\n multipleands.forEach(str => {\r\n if (str.includes(\"FIND_IN_SET\")) {\r\n\r\n let valstr: string = (fieldName == 'fax' || fieldName == 'phone' || fieldName == 'alterphone1' || fieldName == 'alterphone2') ? str.split(\",\")[1].trimRight() : str.split(\",\")[1].trimRight().replace(')', '');\r\n if (fieldName == 'fax' || fieldName == 'office' || fieldName == 'phone' || fieldName == 'alterphone1' || fieldName == 'alterphone2') {\r\n valstr = valstr.charAt(valstr.length - 1) == ')' ? valstr.substring(0, valstr.length - 1) : valstr;\r\n }\r\n valueArr.push(isTblContacts.trim() + \"~\" + fieldName + \"~\" + opr + \"~\" + valstr + \"~\" + andoropr);\r\n } else {\r\n valueArr.push(isTblContacts.trim() + \"~\" + fieldName + \"~\" + opr + \"~\" + str.substring(0, str.length - 2) + \"~\" + andoropr);\r\n }\r\n });\r\n\r\n } else {\r\n if (value != \"\") {\r\n if (value == 'is nul' || value == 'is null' || value == 'is not nul' || value == 'is not null') {\r\n valueArr.push(isTblContacts.trim() + \"~\" + fieldName + \"~\" + opr + \"~\" + value + \"~\" + \"AND\");\r\n }\r\n else {\r\n var orvalues = value.split(',');\r\n\r\n orvalues.forEach(str => {\r\n if (orvalues.length > 1)\r\n valueArr.push(isTblContacts.trim() + \"~\" + fieldName + \"~\" + opr + \"~\" + str + \"~\" + \"OR\");\r\n else valueArr.push(isTblContacts.trim() + \"~\" + fieldName + \"~\" + opr + \"~\" + str + \"~\" + \"AND\");\r\n\r\n });\r\n }\r\n //valueArr.push(isTblContacts + \"~\" + fieldName + \"~\" + opr + \"~\" + value);\r\n }\r\n }\r\n //}\r\n count++;\r\n });\r\n let SelfObj = this;\r\n setTimeout(function () {\r\n for (var i = 0; i < valueArr.length; i++) {\r\n let values = valueArr[i].split(\"~\");\r\n let arr1 = [];\r\n if ((values[1] != undefined) && values[1] == 'accountname' || values[1] == 'address1' || values[1] == 'address2' || values[1] == 'homeaddress') {\r\n arr1 = values[3].split(\"','\");\r\n arr1[0] = arr1[0].replace(\"'\", \"\");\r\n }\r\n else if ((values[1] != undefined) && values[1] == 'cell' || values[1] == 'phone' || values[1] == 'alterphone1' || values[1] == 'alterphone2' || values[1] == 'fax' || values[1] == 'office') {\r\n arr1 = values[3].split(\",\");\r\n }\r\n else if ((values[1] != undefined) && values[1] == \"accountid123\") {\r\n arr1 = values[3].replace(\")\", \"\").split(\"ND \");\r\n } else if ((values[1] != undefined)) {\r\n arr1 = values[3].replace(\")\", \"\").split(\",\");\r\n }\r\n let prevValues: string[] = [];\r\n prevValues = valueArr[i].split(\"~\");\r\n var added_rows = [];\r\n arr1.forEach((val) => {\r\n if (values[0].trim() == 'con') {\r\n setTimeout(function () {\r\n let column: ColumnNames = SelfObj.contactColumns.find(e => e.columnName == values[1]);\r\n let str1: any = \"\";\r\n for (var i = 0; i < SelfObj.contactColumns.length; i++) {\r\n if (SelfObj.contactColumns[i].columnName == column.columnName && added_rows.indexOf(i) == -1) {\r\n SelfObj.contactColumns[i].operator = values[2];\r\n SelfObj.contactColumns[i].andOrOperator = values[4];\r\n added_rows.push(i);\r\n str1 = i;\r\n break;\r\n }\r\n }\r\n\r\n let str: any = SelfObj.contactColumns.lastIndexOf(column);\r\n added_rows.push(str1);\r\n if (val != arr1[0] || (i > 0 && values[0].trim() == prevValues[0] && values[1] == prevValues[1])) {\r\n SelfObj.contactColumns.splice(str + 1, 0, { columnName: values[1], displayName: (val == 'is null' || val == 'is not nul') ? values[1] : 'duplicateCol', distinctValues: [], isSelected: true, selectedVal: \"\", operator: values[2], andOrOperator: 'and' });\r\n column = SelfObj.contactColumns[str + 1];\r\n SelfObj.advancedSearchService.GetDistinctColumnValues('tblcontacts', column.columnName, SelfObj.currentuser.id).then((distinctValues) => {\r\n if (column.columnName == 'contactid123') {\r\n SelfObj.customerService.GetSpecialityList(\"ContactIds\", SelfObj.currentuser.id).then((ContactIds) => {\r\n ContactIds.forEach(conid => {\r\n if (conid != null) {\r\n column.distinctValues.push({ \"id\": conid.id, \"name\": conid.itemName })\r\n }\r\n else {\r\n column.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n })\r\n });\r\n } if (column.columnName == 'STATUS') {\r\n SelfObj.customerService.GetPickListData(\"Contact Status\",61, SelfObj.currentuser.id).then((StatusIds) => {\r\n StatusIds.forEach(conid => {\r\n if (conid != null) {\r\n column.distinctValues.push({ \"id\": conid.id, \"name\": conid.itemName })\r\n }\r\n else {\r\n column.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n })\r\n });\r\n \r\n } else if (column.columnName == 'ownerid') {\r\n SelfObj.customerService.GetAllaccesUserList(SelfObj.currentuser.id).then((Owner) => {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n column.distinctValues.push({ \"id\": Owner.filter(e => e.id == Number(ele))[0].id, \"name\": Owner.filter(e => e.id == Number(ele))[0].itemName })\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n column.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n\r\n });\r\n });\r\n }\r\n else if (column.columnName == 'college' || column.columnName == 'contacttype' || column.columnName == 'fellowship' || column.columnName == 'medschool' || column.columnName == 'residency' || column.columnName == 'sex' || column.columnName == 'suffix' || column.columnName == 'speciality' || column.columnName == 'subspeciality' || column.columnName == 'title') {\r\n var listtype = \"Contact College\";\r\n switch (column.columnName) {\r\n case \"college\": {\r\n listtype = \"Contact College\";\r\n break;\r\n };\r\n case \"contacttype\": {\r\n listtype = \"Contact Type\";\r\n break;\r\n };\r\n case \"fellowship\": {\r\n listtype = \"Contact Medical School\";\r\n break;\r\n };\r\n case \"medschool\": {\r\n listtype = \"Contact Medical School\";\r\n break;\r\n };\r\n case \"residency\": {\r\n listtype = \"Contact Medical School\";\r\n break;\r\n };\r\n case \"suffix\": {\r\n listtype = \"Contact Suffix\";\r\n break;\r\n }\r\n case \"speciality\": {\r\n listtype = \"Account Specialty\";\r\n break;\r\n }\r\n case \"subspeciality\": {\r\n listtype = \"Account Specialty\";\r\n break;\r\n }\r\n case \"sex\": {\r\n listtype = \"Contact Sex\";\r\n break;\r\n };\r\n case \"title\": {\r\n listtype = \"Contact Title\";\r\n break;\r\n };\r\n\r\n\r\n }\r\n SelfObj.customerService.GetSpecialityList(listtype, SelfObj.currentuser.id).then((College) => {\r\n\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < College.length; i++) {\r\n if (College[i].id == Number(dist)) {\r\n column.distinctValues.push({ \"id\": College[i].id, \"name\": College[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n \r\n }\r\n else {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n column.distinctValues.push({ \"id\": ele, \"name\": ele })\r\n } else {\r\n if (distinctValues.length == 0) {\r\n column.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (column.selectedVal == \"\")\r\n column.selectedVal = distinctValues[0];\r\n\r\n if (val != \"is not null\")\r\n column.selectedVal = val;\r\n else\r\n column.selectedVal = column.distinctValues[0];\r\n });\r\n }\r\n else {\r\n column = SelfObj.contactColumns[str];\r\n column.isSelected = true;\r\n SelfObj.advancedSearchService.GetDistinctColumnValues('tblcontacts', column.columnName, SelfObj.currentuser.id).then((distinctValues) => {\r\n if (column.columnName == 'contactid123') {\r\n SelfObj.customerService.GetSpecialityList(\"ContactIds\", SelfObj.currentuser.id).then((ContactIds) => {\r\n ContactIds.forEach(conid => {\r\n if (conid != null) {\r\n column.distinctValues.push({ \"id\": conid.id, \"name\": conid.itemName })\r\n }\r\n else {\r\n if (ContactIds.length == 0) {\r\n column.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n })\r\n });\r\n }\r\n else if (column.columnName == 'college' || column.columnName == 'contacttype' || column.columnName == 'fellowship' || column.columnName == 'medschool' || column.columnName == 'residency' || column.columnName == 'sex' || column.columnName == 'suffix' || column.columnName == 'speciality' || column.columnName == 'subspeciality' || column.columnName == 'title') {\r\n var listtype = \"Contact College\";\r\n switch (column.columnName) {\r\n case \"college\": {\r\n listtype = \"Contact College\";\r\n break;\r\n };\r\n case \"contacttype\": {\r\n listtype = \"Contact Type\";\r\n break;\r\n };\r\n case \"fellowship\": {\r\n listtype = \"Contact Medical School\";\r\n break;\r\n };\r\n case \"medschool\": {\r\n listtype = \"Contact Medical School\";\r\n break;\r\n };\r\n case \"residency\": {\r\n listtype = \"Contact Medical School\";\r\n break;\r\n };\r\n case \"suffix\": {\r\n listtype = \"Contact Suffix\";\r\n break;\r\n }\r\n case \"speciality\": {\r\n listtype = \"Account Specialty\";\r\n break;\r\n }\r\n case \"subspeciality\": {\r\n listtype = \"Account Specialty\";\r\n break;\r\n }\r\n case \"sex\": {\r\n listtype = \"Contact Sex\";\r\n break;\r\n };\r\n case \"title\": {\r\n listtype = \"Contact Title\";\r\n break;\r\n };\r\n\r\n\r\n }\r\n\r\n SelfObj.customerService.GetSpecialityList(listtype, SelfObj.currentuser.id).then((College) => {\r\n\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < College.length; i++) {\r\n if (College[i].id == Number(dist)) {\r\n column.distinctValues.push({ \"id\": College[i].id, \"name\": College[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n\r\n }\r\n else {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n column.distinctValues.push({ \"id\": ele, \"name\": ele })\r\n } else {\r\n if (distinctValues.length == 0) {\r\n column.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (val != \"is not null\")\r\n column.selectedVal = val;\r\n else\r\n column.selectedVal = column.distinctValues[0];\r\n });\r\n column.operator = values[2];\r\n }\r\n SelfObj.contactShow = true;\r\n }, 200)\r\n }\r\n\r\n if (values[0].trim() == 'acc' || values[0].trim() == \"addField\" || values[0].trim() == \"hist\") {\r\n setTimeout(function () {\r\n var columnval = values[0].trim() == \"hist\" ? values[1] : values[1];\r\n let column: ColumnNames = SelfObj.accountColumns.find(e => e.columnName == columnval);\r\n let str1: any = \"\";\r\n for (var i = 0; i < SelfObj.accountColumns.length; i++) {\r\n if (SelfObj.accountColumns[i].columnName == column.columnName && added_rows.indexOf(i) == -1) {\r\n SelfObj.accountColumns[i].operator = values[2];\r\n SelfObj.accountColumns[i].andOrOperator = values[4];\r\n \r\n added_rows.push(i);\r\n str1 = i;\r\n break;\r\n }\r\n }\r\n if (val != arr1[0] || (i > 0 && values[0].trim() == prevValues[0] && values[1] == prevValues[1])) {\r\n SelfObj.accountColumns.splice(str1 + 1, 0, {\r\n columnName: values[1],\r\n displayName: column.displayName, distinctValues: [], isSelected: true, selectedVal: val, operator: \r\n values[2], andOrOperator: values[4]\r\n });\r\n\r\n column = SelfObj.accountColumns[str1];\r\n SelfObj.SelectionChanged(values[4].toString());\r\n if (column.columnName === 'speciality') {\r\n\r\n SelfObj.customerService.GetPickListData(\"Account Specialty\", 21, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n });\r\n if (val != \"is not null\")\r\n column.selectedVal = val;\r\n else\r\n column.selectedVal = column.distinctValues[0];\r\n }\r\n else if (column.columnName == \"accountStatus\") {\r\n column.distinctValues = [];\r\n SelfObj.customerService.GetPickListData(\"Account Customer Status\", 5, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n });\r\n if (val != \"is not null\")\r\n column.selectedVal = val;\r\n else\r\n column.selectedVal = column.distinctValues[0];\r\n }\r\n else if (column.columnName === 'SalesRep') {\r\n column.distinctValues = [];\r\n SelfObj.customerService.GetSalesRep(SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n\r\n if (val != \"is not null\")\r\n column.selectedVal = val;\r\n else\r\n column.selectedVal = column.distinctValues[0];\r\n }\r\n else if (column.columnName === 'accountid123') {\r\n SelfObj.userService.GetAllStatusIds(SelfObj.currentuser.id, 0).then(result => {\r\n let Doublesortres = SelfObj.DoubleSort(result, 'StatusIDGroupName', 'SortOrder');\r\n let Groups = [];\r\n Groups.push(Doublesortres.find(x => x.StatusIDGroup == '5000'));\r\n Groups.push(Doublesortres.find(x => x.StatusIDGroup == '5001'));\r\n\r\n for (var i = 0; i < Groups.length; i++) {\r\n column.distinctValues.push({ \"id\": Groups[i].Id, \"GroupNumber\": Groups[i].StatusIDGroup, \"GroupName\": Groups[i].StatusIDGroupName, \"GroupItems\": Doublesortres.filter(x => x.StatusIDGroupName == Groups[i].StatusIDGroupName) });\r\n //column.selectedVal = Groups[i].Id;\r\n }\r\n\r\n if (val != \"\" && val != null) {\r\n column.selectedVal = val.trim();\r\n }\r\n\r\n });\r\n }\r\n else if ((column.columnName == \"soldBy\" || column.columnName == \"leadfromid\" || column.columnName == \"keycontact1\" || column.columnName == \"keycontact2\"\r\n || column.columnName == \"keycontact3\" || column.columnName == \"LastTicketDate\")) {\r\n SelfObj.advancedSearchService.GetDistinctColumnValues('tblaccounthistory', column.columnName, SelfObj.currentuser.id).then((distinctValues) => {\r\n column.distinctValues = [];\r\n //if (res[0].DataType == 'Pick List') {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n if (column.columnName == \"leadfromid\") {\r\n column.distinctValues = [];\r\n SelfObj.customerService.GetSpecialityList(\"LeadFrom\", SelfObj.currentuser.id).then((lead) => {\r\n column.distinctValues = [];\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < lead.length; i++) {\r\n if (lead[i].id == Number(dist)) {\r\n column.distinctValues.push({ \"id\": lead[i].id, \"name\": lead[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n //col.distinctValues.push({ \"id\": ele, \"name\": ele });\r\n } else if (column.columnName == \"soldBy\") {\r\n column.distinctValues.push({ \"id\": ele, \"name\": ele });\r\n } else {\r\n\r\n column.distinctValues.push({ \"id\": ele, \"name\": ele.split(\":\")[1] });\r\n }\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n column.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n if (val != \"is not null\")\r\n column.selectedVal = val;\r\n else\r\n column.selectedVal = distinctValues[0];\r\n\r\n });\r\n }\r\n else {\r\n\r\n var table = (values[0].trim() == 'addField') ? 'tblaccountadditionalfields' : 'tblaccounts';\r\n SelfObj.advancedSearchService.GetDistinctColumnValues(table, column.columnName, SelfObj.currentuser.id).then((distinctValues) => {\r\n\r\n if (column.columnName == 'accounttype') {\r\n SelfObj.customerService.GetPickListData(\"Account Type\", 3, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n\r\n }\r\n else if (column.columnName == \"ehr\" || column.columnName == \"pm\" || column.columnName == \"rcm\") {\r\n var type = \"ehr\";\r\n var fieldId = 0;\r\n switch (column.columnName) {\r\n case \"ehr\": {\r\n type = \"Account EHR\"; fieldId = 22;\r\n break;\r\n }\r\n case \"pm\": {\r\n type = \"Account PM\"; fieldId = 24; break;\r\n }\r\n case \"rcm\": {\r\n type = \"Account RCM\"; fieldId = 26; break;\r\n }\r\n\r\n }\r\n\r\n SelfObj.customerService.GetPickListData(type, fieldId, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n\r\n }\r\n else if (column.columnName == \"customertypeid\") {\r\n SelfObj.customerService.GetSpecialityList(\"Account Active or Inactive\", SelfObj.currentuser.id).then((CustomerType) => {\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < CustomerType.length; i++) {\r\n if (CustomerType[i].id == Number(dist)) {\r\n //column.distinctValues.push(CustomerType[i].itemName)\r\n column.distinctValues.push({ \"id\": CustomerType[i].id, \"name\": CustomerType[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n else if (column.columnName == \"ownership\") {\r\n SelfObj.customerService.GetPickListData(\"Account Ownership\", 4, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n }\r\n else if (column.columnName == \"SystemType\") {\r\n SelfObj.customerService.GetPickListData(\"SystemType\", 122, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n } else if (column.columnName == \"HL7Interface\") {\r\n SelfObj.customerService.GetPickListData(\"HL7Interface\", 123, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n } else if (column.columnName == \"CustomerRCM\") {\r\n SelfObj.customerService.GetPickListData(\"CustomerRCM\", 124, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n } else if (column.columnName == \"OnDemand\") {\r\n SelfObj.customerService.GetPickListData(\"OnDemand\", 125, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n } else if (column.columnName == \"ApptReminders\") {\r\n SelfObj.customerService.GetPickListData(\"OnDemand\", 126, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n } else if (column.columnName == \"eLab\") {\r\n SelfObj.customerService.GetPickListData(\"eLab\", 127, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n } else if (column.columnName == \"MIPS\") {\r\n SelfObj.customerService.GetPickListData(\"MIPS\", 128, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n }\r\n else if (column.columnName == 'ownerid') {\r\n SelfObj.customerService.GetAllaccesUserList(SelfObj.currentuser.id).then((Owner) => {\r\n Owner.forEach(ele => {\r\n if (ele != null) {\r\n column.distinctValues.push({ \"id\": ele.id, \"name\": ele.itemName })\r\n }\r\n\r\n });\r\n });\r\n }\r\n \r\n else if (column.columnName == \"ehrdatepurchased\" || column.columnName == \"pmdatepurchased\" || column.columnName == \"rcmdatepurchased\") {\r\n distinctValues.forEach(ele => {\r\n if (distinctValues.length > 0 && ele != null && ele != \"Invalid date\") {\r\n column.distinctValues.push({ \"id\": SelfObj.datePipe.transform(ele, 'yyyy-MM-dd') + ' 00:00:00', \"name\": SelfObj.datePipe.transform(ele, 'yyyy-MM-dd' + ' 00:00:00') })\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n column.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n\r\n });\r\n }\r\n \r\n else {\r\n let Selfobj = this;\r\n distinctValues.forEach(ele => {\r\n if (column.columnName == 'IsCustomer') {\r\n column.distinctValues.push({ \"id\": ele, \"name\": ele == '874' ? 'No' : 'Yes' })\r\n }\r\n \r\n else {\r\n column.distinctValues.push({ \"id\": ele, \"name\": ele })\r\n }\r\n });\r\n }\r\n if (val != \"is not null\" && val != \"\") {\r\n\r\n column.selectedVal = val;\r\n }\r\n else {\r\n column.selectedVal = column.distinctValues[0];\r\n }\r\n });\r\n }\r\n\r\n\r\n }\r\n else {\r\n\r\n column = SelfObj.accountColumns[str1];\r\n column.isSelected = true;\r\n\r\n if (column.columnName === 'speciality') {\r\n SelfObj.customerService.GetPickListData(\"Account Specialty\", 21, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n\r\n if (val != \"is not null\")\r\n column.selectedVal = val;\r\n else\r\n column.selectedVal = column.distinctValues[0];\r\n }\r\n else if (column.columnName === 'SalesRep') {\r\n column.distinctValues = [];\r\n SelfObj.customerService.GetSalesRep(SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n\r\n if (column.selectedVal == \"\")\r\n column.selectedVal = column.distinctValues[0];\r\n }\r\n\r\n else if (column.columnName === 'accountid123') {\r\n SelfObj.userService.GetAllStatusIds(SelfObj.currentuser.id, 0).then(result => {\r\n let Doublesortres = SelfObj.DoubleSort(result, 'StatusIDGroupName', 'SortOrder');\r\n let Groups = [];\r\n Groups.push(Doublesortres.find(x => x.StatusIDGroup == '5000'));\r\n Groups.push(Doublesortres.find(x => x.StatusIDGroup == '5001'));\r\n\r\n\r\n for (var i = 0; i < Groups.length; i++) {\r\n column.distinctValues.push({ \"id\": Groups[i].Id, \"GroupNumber\": Groups[i].StatusIDGroup, \"GroupName\": Groups[i].StatusIDGroupName, \"GroupItems\": Doublesortres.filter(x => x.StatusIDGroupName == Groups[i].StatusIDGroupName) });\r\n //column.selectedVal = Groups[i].Id;\r\n }\r\n\r\n if (val != \"\" && val != null) {\r\n column.selectedVal = val.trim();\r\n }\r\n\r\n //else\r\n // column.selectedVal = column.distinctValues[0].id.trim();\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n else {\r\n \r\n var table = (values[0] == 'addField') ? 'tblaccountadditionalfields' : 'tblaccounts';\r\n SelfObj.advancedSearchService.GetDistinctColumnValues(table, column.columnName, SelfObj.currentuser.id).then((distinctValues) => { \r\n if (column.columnName == 'accounttype') {\r\n SelfObj.customerService.GetPickListData(\"Account Type\", 3, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n \r\n }\r\n else if (column.columnName == \"ehr\" || column.columnName == \"pm\" || column.columnName == \"rcm\") {\r\n var type = \"ehr\"; var fieldId = 0;\r\n switch (column.columnName) {\r\n case \"ehr\": {\r\n type = \"Account EHR\"; fieldId = 22; break;\r\n }\r\n case \"pm\": {\r\n type = \"Account PM\"; fieldId = 24; break;\r\n }\r\n case \"rcm\": {\r\n type = \"Account RCM\"; fieldId = 26; break;\r\n }\r\n\r\n }\r\n\r\n SelfObj.customerService.GetPickListData(type, fieldId, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n \r\n\r\n }\r\n else if (column.columnName == \"customertypeid\") {\r\n SelfObj.customerService.GetSpecialityList(\"Account Active or Inactive\", SelfObj.currentuser.id).then((CustomerType) => {\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < CustomerType.length; i++) {\r\n if (CustomerType[i].id == Number(dist)) {\r\n //column.distinctValues.push(CustomerType[i].itemName)\r\n column.distinctValues.push({ \"id\": CustomerType[i].id, \"name\": CustomerType[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n else if (column.columnName == \"ownership\") {\r\n SelfObj.customerService.GetPickListData(\"Account Ownership\", 4, SelfObj.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n column.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n \r\n }\r\n else if (column.columnName == \"ehrdatepurchased\" || column.columnName == \"pmdatepurchased\" || column.columnName == \"rcmdatepurchased\") {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n column.distinctValues.push({ \"id\": SelfObj.datePipe.transform(ele, 'yyyy-MM-dd') + ' 00:00:00', \"name\": SelfObj.datePipe.transform(ele, 'yyyy-MM-dd' + ' 00:00:00') })\r\n }\r\n });\r\n }\r\n else if (column.columnName == 'ownerid') {\r\n SelfObj.customerService.GetAllaccesUserList(SelfObj.currentuser.id).then((Owner) => {\r\n Owner.forEach(ele => {\r\n if (ele != null) {\r\n column.distinctValues.push({ \"id\": ele.id, \"name\": ele.itemName })\r\n }\r\n\r\n });\r\n });\r\n }\r\n else if (column.columnName == 'IsCustomer') {\r\n SelfObj.customerService.GetPickListData('IsCustomer', 111, SelfObj.currentuser.id).then((accounttype) => {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n column.distinctValues.push({ \"id\": ele, \"name\": ele == '874' ? 'No' : 'Yes' });\r\n }\r\n });\r\n });\r\n }\r\n else if (column.columnName == \"SystemType\") {\r\n SelfObj.customerService.GetPickListData(\"SystemType\", 122, SelfObj.currentuser.id).then((SystemTypes) => {\r\n column.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n column.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else if (column.columnName == \"HL7Interface\") {\r\n SelfObj.customerService.GetPickListData(\"HL7Interface\", 123, SelfObj.currentuser.id).then((SystemTypes) => {\r\n column.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n column.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else if (column.columnName == \"CustomerRCM\") {\r\n SelfObj.customerService.GetPickListData(\"CustomerRCM\", 124, SelfObj.currentuser.id).then((SystemTypes) => {\r\n column.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n column.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else if (column.columnName == \"OnDemand\") {\r\n SelfObj.customerService.GetPickListData(\"OnDemand\", 125, SelfObj.currentuser.id).then((SystemTypes) => {\r\n column.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n column.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else if (column.columnName == \"ApptReminders\") {\r\n SelfObj.customerService.GetPickListData(\"ApptReminders\", 126, SelfObj.currentuser.id).then((SystemTypes) => {\r\n column.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n column.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else if (column.columnName == \"eLab\") {\r\n SelfObj.customerService.GetPickListData(\"eLab\", 127, SelfObj.currentuser.id).then((SystemTypes) => {\r\n column.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n column.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n } else if (column.columnName == \"MIPS\") {\r\n SelfObj.customerService.GetPickListData(\"MIPS\", 128, SelfObj.currentuser.id).then((SystemTypes) => {\r\n column.distinctValues = [];\r\n for (var i = 0; i < SystemTypes.length; i++) {\r\n column.distinctValues.push({ \"id\": SystemTypes[i].id, \"name\": SystemTypes[i].itemName });\r\n }\r\n });\r\n }\r\n else {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n column.distinctValues.push({ \"id\": ele, \"name\": ele.split(\":\")[1] });\r\n }\r\n });\r\n }\r\n if (val != \"is not null\")\r\n column.selectedVal = val;\r\n else\r\n column.selectedVal = column.distinctValues[0];\r\n });\r\n }\r\n column.operator = values[2];\r\n column.andOrOperator = \"or\";\r\n }\r\n SelfObj.accountShow = true;\r\n }, 200)\r\n\r\n\r\n\r\n }\r\n\r\n\r\n });\r\n // }\r\n }\r\n }, 300);\r\n\r\n this.quickSearch = false;\r\n //this.queryLanding = false;\r\n this.fieldsSelector = false;\r\n this.valueSelector = true;\r\n } else {\r\n this.EditConfirmationDialog = true;\r\n setTimeout(function () {\r\n $('#EditConfirmationDialog .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n }\r\n }\r\n notSelectedCss() {\r\n setTimeout(function () {\r\n $('#DeleteConfirmationDialog .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.Confirmation('Yes');\r\n } else {\r\n this.DeleteConfirmationDialog = false;\r\n }\r\n }\r\n Confirmation(val) {\r\n \r\n if (val == 'Yes') {\r\n if (this.RunStatus != 'Open') {\r\n this.advancedSearchService.deleteAdvancedSearchQuery(this.editQryId, this.selectstatus, this.currentuser.id).then(() => {\r\n this.advancedSearchService.getAdvancedSearchQueries(\"qryname\", this.currentuser.id).then((queries) => {\r\n queries.forEach(queries => {\r\n queries.createdate = this.datePipe.transform(queries.createdate, \"MM/dd/yyyy\");\r\n });\r\n this.queryList = queries;\r\n this.emailFormArray = [];\r\n this.toastr.success('Deleted successfully.', 'Delete!',\r\n { timeOut: 600 });\r\n });\r\n });\r\n } else {\r\n this.DeleteConfirmationDialog = false;\r\n }\r\n }\r\n this.DeleteConfirmationDialog = false;\r\n }\r\n deleteQuery(QueryId: number, status: number, runstatus: string) {\r\n this.editQryId = QueryId;\r\n this.selectstatus = status;\r\n this.RunStatus = runstatus;\r\n this.DeleteConfirmationDialog = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteConfirmationDialog .dialog');\r\n }\r\n\r\n btnRunQueryClick(event) {\r\n let selectedIndex: number = parseInt($('input[name=rblEditQuery]:checked').val());\r\n this.fireSearchQuery(selectedIndex);\r\n this.sendMsgEvent.emit(\"Cancel\");\r\n }\r\n btnAddNew(event, name, val) {\r\n this.accountColumns.splice(val + 1, 0, { columnName: name, displayName: 'duplicateCol', distinctValues: [], isSelected: true, selectedVal: \"\", operator: \"Equals\", andOrOperator: \"and\" });\r\n this.accountColumns.forEach(col => { \r\n col.distinctValues = [];\r\n if (col.isSelected) {\r\n if (col.columnName === 'speciality') {\r\n this.customerService.GetPickListData(\"Account Specialty\", 21, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = col.distinctValues[0];\r\n });\r\n \r\n }\r\n else if (col.columnName === 'SalesRep') {\r\n this.customerService.GetSalesRep(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = col.distinctValues[0];\r\n });\r\n }\r\n else if (col.columnName == \"accountStatus\") {\r\n col.distinctValues = [];\r\n this.customerService.GetPickListData(\"Account Customer Status\", 5, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = col.distinctValues[0];\r\n });\r\n }\r\n else if (col.columnName === 'IsCustomer' || col.columnName === 'Industry') {\r\n\r\n this.advancedSearchService.GetDistinctColumnValues('tblaccountadditionalfields', col.columnName, this.currentuser.id).then((distinctValues) => {\r\n col.distinctValues = [];\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n if (col.columnName == \"IsCustomer\") {\r\n this.customerService.GetPickListData('IsCustomer', 111, this.currentuser.id).then((accounttype) => {\r\n \r\n col.distinctValues.push({ \"id\": ele, \"name\": ele == ('874' ||'872')? 'No' : 'Yes' });\r\n\r\n });\r\n } else {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele.split(\":\")[1] });\r\n }\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = distinctValues[0];\r\n });\r\n }\r\n\r\n else if ((col.columnName == \"soldBy\" || col.columnName == \"leadfromid\" || col.columnName == \"keycontact1\" || col.columnName == \"keycontact2\"\r\n || col.columnName == \"keycontact3\" || col.columnName == \"LastTicketDate\")) {\r\n this.advancedSearchService.GetDistinctColumnValues('tblaccounthistory', col.columnName, this.currentuser.id).then((distinctValues) => {\r\n col.distinctValues = [];\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n if (col.columnName == \"leadfromid\" || col.columnName == \"soldBy\" ) {\r\n if (col.columnName == \"leadfromid\") {\r\n this.customerService.GetSpecialityList(\"LeadFrom\", this.currentuser.id).then((lead) => {\r\n col.distinctValues = [];\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < lead.length; i++) {\r\n if (lead[i].id == Number(dist)) {\r\n col.distinctValues.push({ \"id\": lead[i].id, \"name\": lead[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele });\r\n }\r\n } else {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele.split(\":\")[1] });\r\n }\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n });\r\n });\r\n }\r\n else {\r\n this.advancedSearchService.GetDistinctColumnValues('tblaccounts', col.columnName, this.currentuser.id).then((distinctValues) => {\r\n col.distinctValues = [];\r\n if (col.columnName == 'accounttype') {\r\n this.customerService.GetPickListData(\"Account Type\", 3, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n \r\n }\r\n else if (col.columnName == \"ehr\" || col.columnName == \"pm\" || col.columnName == \"rcm\") {\r\n var type = \"ehr\"; var fieldId = 0;\r\n switch (col.columnName) {\r\n case \"ehr\": {\r\n type = \"Account EHR\"; fieldId = 22;break;\r\n }\r\n case \"pm\": {\r\n type = \"Account PM\"; fieldId = 24; break;\r\n }\r\n case \"rcm\": {\r\n type = \"Account RCM\"; fieldId = 26; break;\r\n }\r\n\r\n }\r\n this.customerService.GetPickListData(type, fieldId, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n \r\n }\r\n else if (col.columnName == \"customertypeid\") {\r\n this.customerService.GetSpecialityList(\"Account Active or Inactive\", this.currentuser.id).then((CustomerType) => {\r\n distinctValues.forEach(dist => {\r\n for (var i = 0; i < CustomerType.length; i++) {\r\n if (CustomerType[i].id == Number(dist)) {\r\n col.distinctValues.push({ \"id\": CustomerType[i].id, \"name\": CustomerType[i].itemName });\r\n }\r\n }\r\n });\r\n });\r\n\r\n\r\n }\r\n else if (col.columnName == \"accountid123\") {\r\n this.userService.GetAllStatusIds(this.currentuser.id, 0).then(result => {\r\n let Doublesortres = this.DoubleSort(result, 'StatusIDGroupName', 'SortOrder');\r\n let Groups = [];\r\n Groups.push(Doublesortres.find(x => x.StatusIDGroup == '5000'));\r\n Groups.push(Doublesortres.find(x => x.StatusIDGroup == '5001'));\r\n\r\n\r\n distinctValues.forEach(ele => {\r\n\r\n for (var i = 0; i < Groups.length; i++) {\r\n col.distinctValues.push({ \"GroupNumber\": Groups[i].StatusIDGroup, \"GroupName\": Groups[i].StatusIDGroupName, \"GroupItems\": Doublesortres.filter(x => x.StatusIDGroupName == Groups[i].StatusIDGroupName) });\r\n\r\n }\r\n\r\n });\r\n });\r\n\r\n }\r\n else if (col.columnName == \"ownership\") {\r\n this.customerService.GetPickListData(\"Account Ownership\", 4, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(dist => {\r\n col.distinctValues.push({ \"id\": dist.id, \"name\": dist.itemName });\r\n });\r\n\r\n });\r\n \r\n }\r\n else if (col.columnName == 'ownerid') { \r\n col.distinctValues = []; \r\n this.customerService.GetAllaccesUserList(this.currentuser.id).then((Owner) => {\r\n Owner.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele.id, \"name\": ele.itemName })\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n\r\n });\r\n });\r\n }\r\n else {\r\n distinctValues.forEach(ele => {\r\n if (ele != null) {\r\n col.distinctValues.push({ \"id\": ele, \"name\": ele })\r\n }\r\n else {\r\n if (distinctValues.length == 0) {\r\n col.distinctValues.push({ \"id\": null, \"name\": \"No Records Found\" })\r\n }\r\n }\r\n\r\n });\r\n }\r\n if (col.selectedVal == \"\")\r\n col.selectedVal = distinctValues[0];\r\n });\r\n }\r\n } else\r\n col.distinctValues = [];\r\n\r\n });\r\n\r\n }\r\n btnAccRemove(val) {\r\n if (val == 0) {\r\n this.accountColumns.length = 0;\r\n }\r\n $(\"#\" + (val + 2)).remove();\r\n this.accountColumns.splice(val, 1);\r\n }\r\n btnContactRemove(val) {\r\n if (val == 0) {\r\n this.contactColumns.length = 0;\r\n }\r\n $(\"#\" + (val + 2)).remove();\r\n this.contactColumns.splice(val, 1);\r\n }\r\n btnAdvanvedRunQueryClick(event) {\r\n if (this.selectedQueryCount > 0) {\r\n localStorage.setItem('selectedQueryCount', this.selectedQueryCount.toString());\r\n this.fireSearchQuery(0);\r\n this.applicationComponent.selectedsubbutton = 'AdvancedSearchResult'; \r\n } else {\r\n this.NoRowDialog = true;\r\n setTimeout(function () {\r\n $('#NoRowDialog .dialog').attr('style', 'width: 25%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%;right: 20%;');\r\n }, 4)\r\n }\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.selectedQueryCount += 1;\r\n this.emailFormArray.push(event.api.getSelectedNodes()[0].data.Id);\r\n }\r\n }\r\n localStorage.setItem('selectedQueryCount', this.selectedQueryCount.toString());\r\n }\r\n onChange(email: string, isChecked: boolean) {\r\n if (isChecked == true) {\r\n this.selectedQueryCount += 1;\r\n this.emailFormArray.push(email);\r\n } else if (isChecked == false) {\r\n this.selectedQueryCount -= 1;\r\n let index = this.emailFormArray.indexOf(email);\r\n this.emailFormArray.splice(index, 1);\r\n }\r\n localStorage.setItem('selectedQueryCount', this.selectedQueryCount.toString());\r\n }\r\n\r\n enableQuickSearchBtn() {\r\n\r\n let cnt: number = 0;\r\n for (let i = 0; i < this.quickSearchColumns.length; i++) {\r\n if ($('#txtQuickSearchCol' + i).val() == \"\")\r\n cnt++;\r\n }\r\n if (cnt == this.quickSearchColumns.length)\r\n return false;\r\n else\r\n return true;\r\n }\r\n selectedColList(type, columnName, index) {\r\n\r\n var id = \"\";\r\n if (type == 'Contact') {\r\n id = \"chkContactCol\" + index;\r\n } else if (type == 'Account') {\r\n id = \"chkAccountCol\" + index;\r\n }\r\n if ($('#' + id).prop(\"checked\")) {\r\n this.selectedColumnList.push({ 'type': type, 'Name': columnName });\r\n }\r\n else {\r\n this.selectedColumnList = this.selectedColumnList.filter(x => x.Name != columnName);\r\n }\r\n }\r\n EditConfirmation() {\r\n this.EditConfirmationDialog = false; \r\n }\r\n DoubleSort(arr, prop1, prop2) {\r\n let mysort = [...arr].sort((a, b) => {\r\n if (a[prop1] == b[prop1]) {\r\n if (a[prop2] == b[prop2]) {\r\n return 0;\r\n } else {\r\n return (a[prop2] < b[prop2]) ? -1 : 1;\r\n }\r\n } else {\r\n return (a[prop1] > b[prop1]) ? -1 : 1;\r\n }\r\n });\r\n return mysort;\r\n }\r\n\r\n openCloseQueries() {\r\n this.closeOpenDialog = true;\r\n this.crmDialogCss();\r\n }\r\n crmDialogCss() {\r\n $(setTimeout(function () {\r\n $('#closeOpenDialog .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4));\r\n }\r\n closeopenqueries() {\r\n \r\n this.query.queryOrder = \"\";\r\n this.query.runby = this.currentuser.id;\r\n this.advsearch.closeRunQuery(this.query).then(result => {\r\n this.applicationComponent.searchoffon = false;\r\n this.GetAdvancedsearchQueries();\r\n this.toastr.success(\"Open Queries Closed successfully.\", \"Query\", { timeOut: 600 });\r\n this.closeOpenDialog=false;\r\n });\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n {{currentdatetime | date:'EEEE MMMM d, yyyy h:mm a'}}\r\n

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n Welcome\r\n
{{currentuser.username}}
\r\n
20\" style=\"font-size:12px\">{{currentuser.firstname.charAt(0)}} {{currentuser.lastname}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n MD Logic, Inc.     -     {{selectedbuttonText}}\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n 0\" src=\"../../assets/img/Messages Green with Circle.png\" style=\"height:28px;width: 25px;\" />\r\n \r\n
\r\n
\r\n \r\n 0\" src=\"../../assets/img/Live Chat Green with Circle.png\" style=\"height: 28px; width: 25px; \" />\r\n
\r\n\r\n\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
{{account.accountname}}
\r\n
{{account.address1}}
\r\n
{{account.address2}}
\r\n
\r\n {{account.city}} , {{account.state}}. {{account.zip}}, {{account.country}}\r\n\r\n
\r\n
\r\n
\r\n

Customer Notes Info

\r\n
\r\n
\r\n
Customer:{{account.accountname}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Customers
\r\n
\r\n
\r\n Former Customers
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      CALL LISTS

      \r\n
      Save Call List?
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n \r\n
      \r\n

      \r\n
      \r\n
      Create New Ticket
      \r\n
      User Must Select Save or Cancel
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n You have \"View Only\" Access for this Account\r\n
      \r\n\r\n
      \r\n please contact Administrator and Update Update \"No\" to \"Yes\"\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n

      Update Password

      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n Passwords didn't match\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n Edit\r\n Save\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n \r\n
      \r\n


      \r\n SalesXCRM did not find any data that matched your search requirements.\r\n


      \r\n Please go back and modify your search requirements\r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      Column Search Fields Alert
      \r\n
      Changes have been made to the default column search fields.

      \r\n \r\n Fields selected in the search field box determine what fields are searched when text is entered the search box.\r\n When the default fields are temporarily changed, the system will NOT allow the search field box to be closed\r\n (by clicking the search field close Icon)..\r\n

      \r\n \r\n The system will allow navigation to another menu or sub-menu in the system. Upon return to this sub-menu, the default search field box will display.\r\n This alert confirms temporary changes have been made to the default search fields. To clear the changes,\r\n click on the Green Trash Can icon located next to the search field.\r\n \r\n

      \r\n \r\n To make the changes permanent, Click on “Set Default”..\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n\r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n SEARCH FIELDS\r\n
      \r\n \r\n\r\n =4\">\r\n\r\n \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n ENTER SEARCH WORD\r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n SEARCH CRITERIA CLEAR ALL\r\n
      \r\n
      \r\n
      \r\n \r\n   {{\r\nitem.replace('~','')\r\n }}   \r\n \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n SalesXCRM Message
      \r\n
      \r\n Action Icon\r\n
      \r\n
      \r\n An Account or Contact must be selected first\r\n An Account must be selected first to create a project\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n \r\n\r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n =4\">\r\n\r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Last Login :
      \r\n
      {{this.currentuser.loggedouttime | date: 'MM-dd-yyyy' }} ({{this.currentuser.loggedouttime | date: 'HH:mm' }})
      \r\n
      \r\n\r\n
      \r\n
      Current Login :
      \r\n
      {{this.currentuser.loggedInTime | date: 'MM-dd-yyyy' }} ({{this.currentuser.loggedInTime | date: 'HH:mm' }})
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      Logout
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n \r\n
      \r\n
      \r\n To Close the Search Box
      \r\n
      \r\n User Must Clear All Search Words
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n \r\n \r\n
      \r\n

      \r\n Delete Search Criteria
      \r\n
      \r\n Do you want to delete search criteria?
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n

      \r\n CREATE PROPOSAL
      \r\n
      \r\n Select SAVE,PEND or Cancel?
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{SubscriptionName}}\r\n
      \r\n
      \r\n {{this.currentuser.firstname}} {{this.currentuser.lastname}} \r\n
      \r\n
      \r\n {{this.currentuser.email}}\r\n
      \r\n
      \r\n
      Software Version : {{'v' + appVersion}}
      \r\n
      \r\n
      \r\n
      Release Date: {{today}}
      \r\n
      \r\n
      \r\n
      Last Login : {{this.currentuser.loggedouttime | date: 'MM-dd-yyyy' }} ({{this.currentuser.loggedouttime | date: 'HH:mm a' }})
      \r\n
      \r\n\r\n
      \r\n
      Current Login : {{this.currentuser.loggedouttime | date: 'MM-dd-yyyy' }} ({{this.currentuser.loggedouttime | date: 'HH:mm a' }})
      \r\n\r\n
      \r\n\r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      \r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n\r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n SELECT CONTACTS TO LIVE CHAT\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      0\">\r\n \r\n
      \r\n
      \r\n \r\n {{chat.username}}\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      1\" class=\"col-xs-12\" style=\"padding:0%\">\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      0\" style=\"padding:0%;float:right;\">\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n EDIT OR DELETE LIVE CHAT SESSIONS\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n {{chat.groupName}} *\r\n \r\n\r\n \r\n {{chat.username}} *\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n
      \r\n SAVE\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      {{dialogobj.title}}

      \r\n
      {{dialogobj.description}}
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \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, ViewContainerRef, Optional, ViewChild, Input, VERSION } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CustomerService } from \"../services/customer.service\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { UserService } from './../services/user.service';\r\nimport { MessagingService } from './../services/messaging.service';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { Contacts } from '../models/contacts';\r\nimport { Accounts } from '../models/accounts';\r\nimport { TempData } from '../models/temp-data';\r\nimport { Notes } from '../models/notes';\r\nimport { Dropdowntype, Dropdown } from '../models/dropdowntype';\r\nimport { OpprtunitiesService } from '../services/opprtunities.service';\r\ndeclare var require: any;\r\nimport { Column } from 'ag-grid';\r\nconst { version: version } = require('../../../package.json');\r\nconst { date: date } = require('../../../package.json');\r\nimport { NotesrendererComponent } from './notesrenderer/notesrenderer.component';\r\nimport { EditdeletecvComponent } from './editdeletecv/editdeletecv.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { Dashboardconfiguration } from '../models/dashboardconfiguration';\r\nimport { AccountsService } from './../services/accounts.service';\r\ndeclare var require: any;\r\nimport { DialogComponent } from './dialog/dialog.component';\r\nimport { RhxNames } from '../models/RhxNames';\r\nimport { UserMessages } from '../models/UserMessages';\r\ndeclare var $: any;\r\nimport { NotificationService } from \"./notification/notification.service\";\r\nimport { NotificationComponent } from \"./notification/notification.component\";\r\n//import { ChatAdapter } from 'ng-chat';\r\nimport { DemoAdapter } from './../../adapters/demo-adapter';\r\nimport { AboutsalesXCRMComponent } from './aboutsales-xcrm/aboutsales-xcrm.component';\r\n\r\nimport { AuditLogModel, Auditlog } from '../models/auditlog';\r\nimport { HostListener } from '@angular/core';\r\nimport { AccountTransferModel } from '../models/AccountTransferModel';\r\nimport { SearchResultComponent } from './search-result/search-result.component';\r\nimport { TicketsComponent } from './tickets/tickets.component';\r\nimport { Mynotes } from '../models/mynotes';\r\nimport { AccountComponent } from './account-contact/account/account.component';\r\nimport { ChatComponent } from './chat/chat.component';\r\nimport { GroupChat } from '../models/GroupChat';\r\nimport { distinct } from 'rxjs/operators';\r\nimport { AppSettings } from '../app.settings';\r\nimport { HubConnection } from '@aspnet/signalr';\r\nimport { Message } from '../models/message';\r\nimport { crmModel } from '../models/CrmModel';\r\n\r\n@Component({\r\n selector: 'app-application',\r\n templateUrl: './application.component.html',\r\n styleUrls: ['./application.component.css']\r\n})\r\nexport class ApplicationComponent implements OnInit {\r\n version = '2.0';\r\n public currentdatetime = new Date();\r\n hideLabel: boolean = false;\r\n buttonList: NodeListOf;\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n @Input()\r\n pageViewed: string = \"\";\r\n selectedsubbutton: string = \"\";\r\n selectedmainbutton: string = \"\";\r\n selectedbuttonText: string = \"Dashboard\";\r\n displayIcons: boolean = false;\r\n userprevilages: any;\r\n currentuser: any;\r\n showAddEditAccount: boolean = false;\r\n showduplicatechatsessionDiaog: boolean = false;\r\n resetpwd: boolean = false;\r\n isSelectedDOB: boolean = false;\r\n isDateSelected: boolean = false;\r\n showSearchFields: boolean = false;\r\n recentHistoryOn: boolean = false;\r\n RHxMenuDiv: boolean = false;\r\n RHxContactSelected: boolean = false;\r\n RHxAccountSelected: boolean = false;\r\n RHxRecentViewPages: boolean = false;\r\n public searchoffon: boolean = false;\r\n AboutUsPage: boolean = false;\r\n AboutUsPageDiv: boolean = false;\r\n MyNotes: boolean = false;\r\n ReleaseNotesPage: boolean = false;\r\n ContactUsPage: boolean = false;\r\n showSearchFieldsDialog: boolean = false;\r\n QuickSearchEvenraised: boolean = false;\r\n AdvancedSearchEventraised: boolean = false;\r\n NotSelected: boolean = false;\r\n TicketCreateDialog: boolean = false;\r\n showmenuDialog: boolean = false;\r\n isPhoneMask: boolean = false;\r\n hideShowCommonTab: boolean = true;\r\n googlemapshow: boolean = false;\r\n isSearchresult: boolean = false;\r\n Searchdiv: boolean = false;\r\n ConfirmationSearchClear: boolean = false;\r\n clearSearchConfirm: boolean = false;\r\n EnableSearch: boolean = false;\r\n selectedtabid = \"dashboards\";\r\n Qtype: string = \"\";\r\n public elementRef;\r\n Searchtabname: string;\r\n tabnameforAccountSearch: string = \"\";\r\n selectcolums = [];\r\n allusers: any;\r\n appVersion: string;\r\n today: Date;\r\n day: string = \"\";\r\n currentdate: string;\r\n dropdownSetting = {};\r\n public limitedSearch: boolean = false;\r\n fieldlist: string[] = [];\r\n advancedSearchRBLChecked: string = \"\"\r\n public globalGridOptions: GridOptions;\r\n public globalColumnDefs: any[];\r\n allContacts: Contacts[];\r\n Menuslist: Dropdowntype[] = [];\r\n aggridheight: string;\r\n selectedcolumncount: number = 0;\r\n public context;\r\n termCount: boolean = false;\r\n public term: string = \"\";\r\n SubMenuId: string;\r\n contactids: string;\r\n public searchstring: string = null;\r\n searchCriteria: string = \"\";\r\n searchCriteriadata: any;\r\n tableData: Contacts[];\r\n tempdata: TempData[] = [];\r\n changeCount: number = 0;\r\n hideGlobalSearchtable: boolean = true;\r\n RWActive: boolean = false;\r\n responsewizardType: string = \"TaskList\";\r\n pageSize: string = \"1000\";\r\n ShowInvalidSearchDialog: boolean = false;\r\n SearchSelectedItemsLengthChanged: boolean = false;\r\n showAdvancedSearchDialog: boolean = false;\r\n CallListDialog: boolean = false;\r\n QuickViewDialog: boolean = false;\r\n ShowSearchClosewarningDialog: boolean = false;\r\n CommonTabs: boolean = true;\r\n globalMultiSelect: boolean = true;\r\n LeaveTransferAccounts: boolean = false;\r\n maincontent: boolean = true;\r\n isAccessDenied: boolean = false;\r\n calandarType: string = 'All Tasks';\r\n public frameworkComponents;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n mynotes: Mynotes = new Mynotes();\r\n grpchat: GroupChat = new GroupChat();\r\n notes: Notes = new Notes();\r\n notesshowDialog = false;\r\n customernotesshowDialog = false;\r\n allnotes: Notes[];\r\n responseWizardType: string = 'TaskList';\r\n public columnDefsnotes: any[];\r\n public gridOptionsnotes: GridOptions;\r\n public getRowHeight; notedescription: string;\r\n public selectedusername: any = []; public selecteduserids: any = [];\r\n colSelections: string;\r\n dropdownList = [];\r\n globalSelectedItems = [];\r\n SearchSelectedItems = [];\r\n showSearchTabsSubTabs: boolean = false;\r\n UnReadOpenTicketCount = 0;\r\n OpenTicketCountLoginUser = 0;\r\n OpenTicketCount = 0;\r\n PendedTicketCount = 0;\r\n OnHoldTicketCount = 0;\r\n ClosedTicketCount = 0;\r\n DeleteTicketCount = 0;\r\n ChatMessageCount = 0;\r\n AllTicketCount = 0;\r\n QuickSearchDiv: boolean = false;\r\n //showResponseWizardSubTabs: boolean = false;\r\n isClosedOpportunityEventRaised: boolean = false;\r\n closedOpportunityVal: any = 'Open';\r\n closedOpportunityUserids: any;\r\n isAddOpportunityEventRaised: boolean = false;\r\n selectedItems = [];\r\n isClosedLeadEventRaised: boolean = false;\r\n closedLeadVal: any = null;\r\n closedLeadUserids: any;\r\n arrayBuffer: any;\r\n Ids = [];\r\n CampaignId: any;\r\n AccConIds: string;\r\n isAddcampaignEventRaised: boolean = false;\r\n isCustomer: boolean = false;\r\n isFormerCustomer: boolean = false;\r\n Email;\r\n isTaskDataLeadEventRaised: boolean = false;\r\n TaskDataVal: any = 'Open Tasks';\r\n TaskDataUserids: any;\r\n isAddTaskEventRaised: boolean = false;\r\n ProposalType: string = \"\";\r\n isTicketDataEventRaised: boolean = false;\r\n TicketDataVal: any = null;\r\n TicketDataUserids: any;\r\n isAddTicketEventRaised: boolean = false;\r\n public sideBar;\r\n isDashBoardEventRaised: boolean = false;\r\n DashBoardVal: any = null;\r\n Banu = false;\r\n isMapItEventRaised: boolean = false;\r\n timezonevalue: string;\r\n inboxmessagecount: number = 0;\r\n totalInboxmessages: number = 0;\r\n isMultipleContactSelected: boolean = false;\r\n SearchNotAvailable: boolean = false;\r\n public selectedusers: string;\r\n public startVal: any;\r\n public endVal: any;\r\n userInfo: string;\r\n isShowDetailsChecked: boolean = false;\r\n ChatDialog: boolean = false;\r\n public SelectedTab: string;\r\n private gridApi;\r\n UserIds: string;\r\n SearchResultTable: string = \"\";\r\n calllistid: number = 0;\r\n chatmsgId: number = 0; fromchatusrId: number = 0;\r\n public showmenu = true;\r\n public editorOptions: Object = { key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' } };\r\n public startDateVal: any = (new Date().getFullYear() - 2) + '-01-01'; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public searchStartDatePickerOptions: IMyDpOptions = { dateFormat: 'mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' } };\r\n public searchEndDatePickerOptions: IMyDpOptions = { dateFormat: 'mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' } };\r\n\r\n public startDatePlaceHolder: string = 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n\r\n public SearchStartDatePlaceHolder: string = '01-01-' + (new Date().getFullYear() - 1).toString();\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' } };\r\n public endDateVal: any = new Date().getFullYear() + '-12-31'; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = 'End: 12-31-' + new Date().getFullYear().toString();\r\n public SearchEndDatePlaceHolder: string = '12-31-' + new Date().getFullYear().toString();\r\n finalitems = \"\"; public groupName = ''; public groupId = 0;\r\n finalitems1 = \"\";\r\n conid: number;\r\n typ: string;\r\n NotesDec = false;\r\n taskselectedtype = \"\";\r\n Calllistselectedtype = \"\";\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n showsaleTool: boolean = false;\r\n OpenLogout: boolean = false;\r\n viewpermission: boolean = true;\r\n totalglobalsearchcount: number = 0;\r\n file: File;\r\n RHxNames: RhxNames[];\r\n SearchColumnList: any;\r\n public SearchstartVal: string = (new Date().getFullYear() - 1).toString() + '-01-01';\r\n public SearchendVal: string = new Date().getFullYear().toString() + '-12-31';\r\n isClosedConfigDashEventListener: boolean = false;\r\n isClosedUserQuotaEventListener: boolean = false;\r\n isClosedAlertsEventListener: boolean = false;\r\n isUserConfig: boolean = false;\r\n isUserPrivilege: boolean = false;\r\n isUserDashboard: boolean = false;\r\n isUserQuota: boolean = false;\r\n emailFontSize;\r\n isUserAlerts: boolean = false;\r\n PrevUserConfigTab: string = \"\";\r\n Filter: string = \"All Tasks Groups and Users\";\r\n sortOrder: string = \"None\";\r\n aboutUsType = \"AboutUs\";\r\n ShowMessageDialog = false;\r\n CurrentUserMessages: UserMessages[];\r\n @ViewChild(DialogComponent) dlgComp;\r\n @ViewChild(AboutsalesXCRMComponent) aboutusComponent;\r\n @ViewChild(NotificationComponent) NotificationComponent;\r\n @ViewChild(SearchResultComponent) SearchresultComponent;\r\n @ViewChild(TicketsComponent) tickCom;\r\n @ViewChild(AccountComponent) accComp;\r\n @ViewChild(ChatComponent) chatComp;\r\n userId = 999;\r\n //public adapter: ChatAdapter = new DemoAdapter();\r\n currentTheme = 'dark-theme';\r\n CloseSearchDialog: boolean = false;\r\n AboutUsPageType: string = 'AboutSalesXCRM';\r\n ShowLivechatBox: boolean = false;\r\n CreateProposalPage: boolean = false;\r\n ProposalContactOrAccountType = \"\";\r\n ProposalOverLayWarning: boolean = false;\r\n AdvancedSearchResult: boolean = false;\r\n ShowConfigurationDialog: boolean = false;\r\n ProposalID: number;\r\n ProfilePicture: string = \"\";\r\n NotificationMessageDialog: boolean = false;\r\n NotificationMessages = [];\r\n PopUpMessageType: string = null;\r\n defaultGridColDef = { resizable: true, suppressSorting: true, enableColResize: true, enableSorting: false, enableFilter: true, sortable: true };\r\n AllTransferedAccounts: Accounts[];\r\n public gridOptions: GridOptions;\r\n public AccTransColumnDefs: any[];\r\n TransferedAccounts: AccountTransferModel[];\r\n //ClearTransferAccounts: boolean = false;\r\n ChatUserDialog: boolean = false; ChatEditUserDialog: boolean = false;\r\n ShowTransferAccounts: boolean = false;\r\n SubscriptionName: string = \"\";\r\n selectedval: string = 'Name';\r\n SearcValueList: Dropdowntype[] = [];\r\n SearchTypeList: Dropdowntype[] = [];\r\n SearcValueDrpSetting = {};\r\n hideSubButton: boolean = false;\r\n MessagingDialog: boolean = false;\r\n SearchType: string = \"accountName\";\r\n SearcValueModel = [];\r\n SearchTypeModel = [];\r\n customertype: any = '0,1,2';\r\n allCustomers: Accounts[];\r\n calanderonoff: boolean = true;\r\n IncludeShared: string = \"Shared\";\r\n QuickSearchConfig = [];\r\n calllisturl = \"\";\r\n ticketcreateurl = \"\";\r\n Iscalllistdialogshow: boolean = false;\r\n Iscalllisterrorshow: boolean = false;\r\n IsCreateTicketshow: boolean = false;\r\n taskDialog: boolean = false;\r\n BTClick: boolean = false;\r\n id: number;\r\n SearchDialog: boolean = false;\r\n SelectedDate: any;\r\n type: any;\r\n isprojectOpen: boolean = false;\r\n OpenProjects: number; PendedProjects: number; CancelledProjects: number; CompleteProjects: number; AllProjects: number;\r\n Alltaskcount: number; CompletedTaskcount: number; NotCompletedTaskCount: number; OpenTaskCount: number;\r\n AllOpporCount = 0; OpenOpporCount = 0; LostOpporCount = 0; PendedOpporCount = 0; WonOpporCount = 0;\r\n AllPropCount = 0; OpenPropCount = 0; ClosedPropCount = 0; PendedPropCount = 0;\r\n AllLeadCount = 0; OpenLeadCount = 0; ClosedLeadCount = 0;\r\n selectedNoteRadio: string = \"FollowUp\";\r\n loggedinUserlist: Array = []; msgloggedinUserlist: Array = [];\r\n isLiveChat: boolean = false; DeleteChatDialog: boolean = false;\r\n msgMsg = \"\";\r\n private hubConnection: HubConnection;\r\n private _pipelinerChatHubProxy: SignalR.Hub.Proxy; private _pipelinerChatHubConnection: SignalR.Hub.Connection;\r\n public crmDialog: boolean = false;\r\n public dialogobj: crmModel = new crmModel(); \r\n constructor(private advancedSearchService: AccountsService, private http: HttpClient, private userservice: UserService, private route: ActivatedRoute,\r\n private opprtunityservice: OpprtunitiesService, private settings: AppSettings,\r\n /*private chatService: SignalrClientService,*/\r\n private messagingservice: MessagingService, private router: Router, private users: UserService, private customerService: CustomerService,\r\n private toastr: ToastrService, private viewContainerRef: ViewContainerRef, protected _notificationSvc: NotificationService) {\r\n this.viewContainerRef = viewContainerRef;\r\n this.appVersion = version;\r\n this.today = date;\r\n window.onbeforeunload = () => {\r\n localStorage.removeItem('SelectedUserIds');\r\n }\r\n // this.createConnection();\r\n }\r\n private createConnection() {\r\n let self = this;\r\n self._pipelinerChatHubConnection = jQuery.hubConnection(self.settings.baseUrl);\r\n self._pipelinerChatHubConnection.qs = { 'bearer': localStorage.getItem('key') };\r\n\r\n self.initPipelinerChatHubProxy();\r\n self._pipelinerChatHubConnection.start()\r\n .then(function () { \r\n let messageItem = new Message();\r\n messageItem.clientuniqueid = \"test18Apr2023\";\r\n messageItem.type = \"Info\";\r\n messageItem.message = \"Hello Hi\";\r\n //self.chatService.sendMessage(messageItem);\r\n\r\n })\r\n .fail(function (result) {\r\n \r\n }); \r\n }\r\n private initPipelinerChatHubProxy() {\r\n let self = this;\r\n self._pipelinerChatHubProxy = self._pipelinerChatHubConnection.createHubProxy('pipelinerchathub');\r\n self._pipelinerChatHubProxy.on('addNewMessageToPage', (name, message) => {\r\n self.loadchatCount();\r\n //self.chatComp.GetChatMessages(self.currentuser.id, \"0\", \"0\", \"init\");\r\n });\r\n\r\n }\r\n ngOnInit() {\r\n const weekday = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\r\n const d = new Date();\r\n this.day = weekday[d.getDay()];\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); \r\n this.ProfilePicture = this.currentuser.ProfilePicture;\r\n var loggedInUserId = this.currentuser.id;\r\n this.customerService.GetPrivilagesByuser(loggedInUserId).then(result => {\r\n this.userprevilages = result;\r\n var thisTab = this.userprevilages.filter(p => p.resource == 'Live Chat')[0];\r\n if (thisTab != undefined && thisTab.canview == true) {\r\n this.isLiveChat = true;\r\n\r\n }\r\n });\r\n $(\"#test\").addClass(\"disabledbutton\");\r\n this.GetAllaccesusersListbyuser();\r\n this.getTransferedAccounts();\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n \r\n this.messagingservice.Getallmessages(this.currentuser.id, 0, this.currentuser.id, this.startDateVal, this.endDateVal, 1, 100).then((inboxmessages) => {\r\n this.totalInboxmessages = inboxmessages.length;\r\n });\r\n this.loadchatCount();\r\n this.initializeAgGrid();\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3,\r\n text: \"Select Fields to Search\"\r\n };\r\n\r\n //let selfObj = this;\r\n //$(setTimeout(function () {\r\n // selfObj.GetUserMessagesByUserId();\r\n //}, 400));\r\n //}, 400));\r\n \r\n this.loadSearchdropdowns();\r\n }\r\n\r\n loaddialog(name, title, description, issaveval, isdiscardval, iscancelval, isokval, contactId) {\r\n this.dialogobj.name = name;\r\n this.dialogobj.title = title;\r\n this.dialogobj.description = description;\r\n this.dialogobj.issave = issaveval;\r\n this.dialogobj.isdiscard = isdiscardval;\r\n this.dialogobj.iscancel = iscancelval;\r\n this.dialogobj.isok = isokval;\r\n this.dialogobj.idvalues = contactId;\r\n this.dialogobj.Idval = contactId;\r\n this.crmDialog = true;\r\n this.crmDialogCss();\r\n }\r\n\r\n loadchatCount() {\r\n this.messagingservice.GetallChats(this.currentuser.id).then((chatsCount) => {\r\n this.ChatMessageCount = chatsCount;\r\n }); }\r\n AddSuspendInactiveDiv() {\r\n var mydiv = document.getElementsByClassName(\"pure-checkbox select-all ng-star-inserted\");\r\n var div = document.createElement('div');\r\n div.id = \"SuspendInactiveDiv\";\r\n div.className = \"col-xs-12 Banoos\";\r\n mydiv[1].parentNode.insertBefore(div, mydiv[1].previousSibling);\r\n var banooDiv = document.getElementById(\"SuspendInactiveDiv\");\r\n\r\n var div = document.createElement('div');\r\n div.id = \"emptyDiv\";\r\n div.className = \"col-xs-6\";\r\n $('#SuspendInactiveDiv').append(div);\r\n\r\n var div = document.createElement('div');\r\n div.id = \"inActiveDiv\";\r\n div.className = \"col-xs-3\";\r\n $('#SuspendInactiveDiv').append(div);\r\n var inActiveDiv = document.getElementById(\"inActiveDiv\");\r\n\r\n var div = document.createElement('div');\r\n div.id = \"suspendDiv\";\r\n div.className = \"col-xs-3\";\r\n $('#SuspendInactiveDiv').append(div);\r\n var suspendDiv = document.getElementById(\"suspendDiv\");\r\n\r\n\r\n var checkbox = document.createElement('input'); // creating checkbox element \r\n checkbox.type = \"checkbox\"; // Assigning the attributes \r\n checkbox.name = \"Inactive\";\r\n checkbox.value = \"Inactive\";\r\n checkbox.id = \"Inactive\";\r\n\r\n var label = document.createElement('label'); // creating label for checkbox \r\n label.htmlFor = \"Inactive\"; // assigning attributes for\r\n label.id = \"InactiveLabel\";\r\n label.appendChild(document.createTextNode(' Inactive ')); // appending the created text to \r\n //inActiveDiv.append(checkbox); // appending the checkbox and label to div \r\n //inActiveDiv.append(label);\r\n\r\n $('#inActiveDiv').append(checkbox);\r\n $('#inActiveDiv').append(label);\r\n\r\n var checkbox2 = document.createElement('input'); // creating checkbox element \r\n checkbox2.type = \"checkbox\"; // Assigning the attributes \r\n checkbox2.name = \"suspended\";\r\n checkbox2.value = \"suspended\";\r\n checkbox2.id = \"suspended\";\r\n var label2 = document.createElement('label'); // creating label for checkbox \r\n label2.htmlFor = \"suspended\"; // assigning attributes for\r\n label2.id = 'suspendedLabel';\r\n label2.appendChild(document.createTextNode(' Suspended')); // appending the created text to \r\n //suspendDiv.append(checkbox2); // appending the checkbox and label to div \r\n //suspendDiv.append(label2);\r\n\r\n $('#suspendDiv').append(checkbox2);\r\n $('#suspendDiv').append(label2);\r\n\r\n $('#InactiveLabel').attr('style', 'color: #9a9797;margin-left:4%');\r\n $('#suspendedLabel').attr('style', 'color: #9a9797;margin-left:4%');\r\n\r\n let self = this;\r\n document.getElementById('Inactive').onclick = function inactiveclick() {\r\n self.getinactiveUsers();\r\n }\r\n\r\n document.getElementById('suspended').onclick = function inactiveclick() {\r\n self.getSuspendedUsers();\r\n }\r\n }\r\n getinactiveUsers() {\r\n this.dropdownList = [];\r\n this.GetAllaccesusersListbyuser();\r\n }\r\n getSuspendedUsers() {\r\n this.dropdownList = [];\r\n this.GetAllaccesusersListbyuser();\r\n }\r\n GetAllaccesusersListbyuser() {\r\n var inactive = $('#Inactive').prop(\"checked\") ? 1 : 0;\r\n var suspended = $('#suspended').prop(\"checked\") ? 1 : 0;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1, inactive, suspended).then((Owner) => {\r\n this.dropdownList = Owner;\r\n this.finalitems += this.currentuser.id + ',';\r\n this.globalSelectedItems = [{ \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }];\r\n });\r\n }\r\n\r\n\r\n txtPageSizeChanged(pageSize) {\r\n this.globalGridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.globalGridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 26;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n ngAfterViewInit(): void {\r\n this.ResizeTable();\r\n $('#multipleDropdown .cuppa-dropdown .dropdown-list .lst-area .ng-star-inserted .ng-star-inserted .label').after('').click();\r\n }\r\n UpdateSearchColumns(columnSelections) {\r\n \r\n this.SearchColumnList = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && (fields[1] != '#' && fields[0] != 'notes' && fields[0] != 'actions' && fields[0] != 'callliststatus')) {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n\r\n this.SearchColumnList = columnSelectionsArray;\r\n\r\n this.SearchSelectedItems = [\r\n { \"id\": 'lastname', \"itemName\": 'LastName' },\r\n { \"id\": 'firstname', \"itemName\": 'FirstName' },\r\n { \"id\": 'accountname', \"itemName\": 'Account Name' }\r\n ];\r\n\r\n\r\n }\r\n initializeAgGrid() {\r\n this.globalGridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 26).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.createColumnDefs(columnSelections, this.searchstring);\r\n this.UpdateSearchColumns(columnSelections);\r\n });\r\n this.globalGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent,\r\n editdeletecv: EditdeletecvComponent\r\n };\r\n\r\n }\r\n createColumnDefs(columnSelections, searchstring) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.globalColumnDefs = [];\r\n\r\n\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n this.globalColumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n this.globalColumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"lastname\") {\r\n this.globalColumnDefs.push({\r\n field: 'lastname', headerName: 'Last Name', hide: false, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"customertype\") {\r\n this.globalColumnDefs.push({\r\n field: 'customertype', headerName: 'Customer Type', hide: (!this.isCustomer && !this.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" }\r\n else if (params.value == '57') { return \"Former Customer\" }\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accnumber\") {\r\n this.globalColumnDefs.push({\r\n field: 'accnumber', headerName: 'Acct #', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer), cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"owner\") {\r\n this.globalColumnDefs.push({\r\n field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n } else {\r\n this.globalColumnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1], cellRenderer: function (params) {\r\n if (searchstring) {\r\n if (params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n }\r\n } else {\r\n return params.value;\r\n }\r\n },\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.globalColumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n enableTooltip: true\r\n },\r\n { field: 'type', headerName: 'Type', hide: false },\r\n {\r\n field: 'customertype', headerName: 'Customer Type', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" } else if (params.value == '57') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'accnumber', headerName: 'Act Number', cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }, hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer)\r\n },\r\n {\r\n field: 'lastname', headerName: 'Last Name', cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }, hide: false\r\n },\r\n {\r\n field: 'firstname', headerName: 'First Name', hide: false, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'middlename', headerName: 'Middle Name', hide: false, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'title', headerName: 'Title', hide: false, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'speciality', headerName: 'Specialty', hide: false, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'DOB', headerName: 'DOB', hide: false, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n {\r\n field: 'zip', headerName: 'ZIP', hide: false, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'contacttype', headerName: 'Contact Type', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'suffix', headerName: 'Suffix', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'sex', headerName: 'Sex', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'subspeciality', headerName: 'Subspeciality', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'email', headerName: 'Email', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'cell', headerName: 'Cell', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'office', headerName: 'Office', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'homeaddress', headerName: 'Home Address', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'homecity', headerName: 'Home City', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'homestate', headerName: 'Home State', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'homezip', headerName: 'Home Zip', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'home', headerName: 'Home', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'college', headerName: 'College', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'collegegrandyear', headerName: 'C.G.year', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'medschool', headerName: 'Medschool', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'residency', headerName: 'Residency', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'residencygrandyear', headerName: 'R.G.year', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'fellowship', headerName: 'Fellowship', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'created', headerName: 'Created', hide: true, cellRenderer: function (params) {\r\n if (searchstring) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchstring.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n\r\n ];\r\n }\r\n\r\n }\r\n onAgGridReady() {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n getRecords(id: number) {\r\n\r\n }\r\n openNotesDialogAg(rowdata) {\r\n this.notes.type = rowdata.type;\r\n this.notes.accountid = rowdata.id;\r\n this.conid = rowdata.id;\r\n $('#accotIdNotes').val(rowdata.id);\r\n this.typ = rowdata.type == 'Contact' ? 'Contacts' : rowdata.type;\r\n if (rowdata.type == 'Contact') {\r\n $('#accotTypeNotes').val('Contact');\r\n this.customerService.GetContactById(rowdata.id).then(result => {\r\n this.contact = result;\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n });\r\n });\r\n this.GetContactNotes(rowdata.id, 'Contact');\r\n this.notesshowDialog = !this.notesshowDialog;\r\n } else {\r\n $('#accotTypeNotes').val('Customer');\r\n this.customerService.GetByAccountId(rowdata.id).then(result => {\r\n this.account = result;\r\n });\r\n this.GetContactNotes(rowdata.id, 'Customer');\r\n this.customernotesshowDialog = !this.customernotesshowDialog;\r\n }\r\n $(setTimeout(function () {\r\n if ($('#oppNotesId').length > 0)\r\n $('#oppNotesId').removeClass('active');\r\n\r\n if ($('#leadsNotesId').length > 0)\r\n $('#leadsNotesId').removeClass('active');\r\n\r\n if ($('#allContactNotesId').length > 0)\r\n $('#allContactNotesId').removeClass('active');\r\n\r\n if ($('#tskHistNotesId').length > 0)\r\n $('#tskHistNotesId').removeClass('active');\r\n\r\n if ($('#allNotesId').length > 0) {\r\n $('#allNotesId').removeClass('active');\r\n $('#allNotesId').addClass('active');\r\n }\r\n $('#chkShowDetailsNotes').prop('checked', false); $('#closeDetailsDialog').click();\r\n }, 100));\r\n\r\n let windowHeight = $(window).height() - 160;\r\n $(setTimeout(function () {\r\n $('.dialog').height(windowHeight);\r\n }, 100));\r\n\r\n $('.dialog').width('1000px');\r\n }\r\n Notes(val) {\r\n this.GetContactNotes(this.contact.id, val);\r\n }\r\n enterNotes() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n\r\n }\r\n SaveNote() {\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/img, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/<[^>]*>/g, '');\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.GetContactNotes(this.notes.accountid, this.notes.type);\r\n $('#notesListTabsId .active').removeClass('active');\r\n $('#notesListTabsId #allNotesId').addClass('active');\r\n this.CancelNote();\r\n });\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000,enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createColumnDefsnotes();\r\n this.context = this;\r\n }\r\n createColumnDefsnotes() {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n this.getRowHeight = function (params) {\r\n return 18 * (Math.floor(params.data.notedescription.length / 45) + 1);\r\n };\r\n }\r\n\r\n onAgGridReadynotes(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 1000));\r\n }\r\n autoSizeAllnotes() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds);\r\n }\r\n\r\n }\r\n GetContactNotes(contactid, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((contactnotes) => {\r\n contactnotes.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes(); this.allnotes = contactnotes;\r\n });\r\n }\r\n logout() {\r\n \r\n this.tempdata = [];\r\n localStorage.setItem('LastSearchval', null);\r\n localStorage.removeItem('projectid');\r\n localStorage.removeItem('openCustomerholdid');\r\n localStorage.removeItem('openTicketId');\r\n localStorage.removeItem('openopportunityId'); \r\n localStorage.removeItem('OpenMyticketId');\r\n localStorage.removeItem('openPastDueId');\r\n localStorage.removeItem('openCustActivityid');\r\n localStorage.removeItem('TempTable');\r\n localStorage.removeItem('dashboardTab');\r\n localStorage.removeItem('selectedQueryCount');\r\n localStorage.removeItem('advSearchTabName');\r\n localStorage.removeItem('advSearchQueryId');\r\n localStorage.removeItem('myDashExpandGrid');\r\n localStorage.removeItem('supportDashboardGrid');\r\n localStorage.removeItem('trainerDashboardGrid');\r\n localStorage.removeItem('projectDashboardGrid');\r\n localStorage.removeItem('nbdDashboardGrid');\r\n localStorage.removeItem('salesDashboardGrid');\r\n localStorage.removeItem('Pendedprojectid');\r\n localStorage.removeItem('Completedprojectid');\r\n localStorage.removeItem('Cancelledprojectid');\r\n localStorage.removeItem('myDashactivity');\r\n localStorage.removeItem('myDashactivityStatus');\r\n localStorage.removeItem('CompaignselVal');\r\n var AuditLogId = Number(localStorage.getItem(\"AuditLogId\"));\r\n \r\n this.customerService.updatelogin(this.currentuser.id, 0, \"User Logged Out\", AuditLogId ).then((user) => { });\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('temptoken');\r\n localStorage.removeItem('SelectedSubMenu');\r\n localStorage.removeItem('SelectedUserIds');\r\n localStorage.removeItem('QuickSearchConfig');\r\n localStorage.removeItem('RhxAccountVal');\r\n localStorage.removeItem('RhxContactVal');\r\n //localStorage.removeItem('TaskListSelected');\r\n this.router.navigateByUrl(`/login`);\r\n }\r\n Calllistsave(msg) {\r\n if (msg == 'Save')\r\n {\r\n this.Iscalllistdialogshow = false;\r\n return false;\r\n }\r\n else {\r\n this.Iscalllistdialogshow = false;\r\n this.calllisturl = \"\";\r\n this.activateMainButtons(this.selectedmainbutton);\r\n }\r\n }\r\n activateSubButtons(id, event = null) {\r\n \r\n if (id != 'schedTask' && id != 'Tickets') {\r\n this.selectedsubbutton = id;\r\n }\r\n var url = window.location.href;\r\n this.isMultipleContactSelected = false;\r\n this.googlemapshow = false;\r\n this.hideGlobalSearchtable = true;\r\n this.SearchSelectedItemsLengthChanged = false;\r\n this.isDateSelected = false;\r\n this.totalglobalsearchcount = 0;\r\n this.searchCriteria = \"\";\r\n this.taskselectedtype = $('#tasklistselectedtyle').val();\r\n if (id !== 'MapIt') {\r\n this.sideMenuDisable('Enable');\r\n }\r\n var email = $('#emailIds').val() == '' ? 0 : $('#emailIds').val();\r\n var selectedType = $('#tasklistselectedtyle').val();\r\n var accids = $('#accids').val() == '' ? 0 : $('#accids').val();\r\n if (id == \"SMS\" || id == \"email\") {\r\n this.loaddialog('SearchNotAvailable', 'Action Icon','Feature Not Available',false,false,false,true,0);\r\n //this.SearchNotAvailable = true;\r\n //this.notSelectedCss(\"SearchNotAvailable\");\r\n }\r\n else if (id == \"schedTask\") { \r\n if (email != undefined && email != '') {\r\n var array = email.split(',');\r\n if (array.length == 1) {\r\n if (this.selectedtabid === 'contact' || this.selectedtabid === 'customers' || this.selectedtabid === 'Customer') {\r\n if (this.taskselectedtype == 'Customer') {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Customer/` + email + '/null/null');\r\n } else {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/` + email + '/null/null');\r\n }\r\n\r\n } \r\n else if (url.indexOf('leads') > -1) {\r\n\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/` + email + '/null/null');\r\n }\r\n else {\r\n if (this.taskselectedtype == 'Contact') {\r\n \r\n //this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/` + email + '/null/null');\r\n this.id = email;\r\n this.type = 'Contacts';\r\n \r\n this.taskDialog = true;\r\n this.taskDialogCss();\r\n } else {\r\n //this.router.navigateByUrl(`/application/tasklistdashboard/Customer/` + email + '/null/null');\r\n this.id = email;\r\n this.type = 'Accounts';\r\n \r\n this.taskDialog = true;\r\n this.taskDialogCss();\r\n }\r\n\r\n }\r\n } else if (array.length > 1) {\r\n this.loaddialog('MultiSelect', 'The Action Icon you Selected','Limited to (1) Account or (1) Contact',false,false,false,true,0);\r\n //this.isMultipleContactSelected = true;\r\n //this.notSelectedCss(\"isMultipleContactSelected\");\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/tasklistdashboard//null/0/null/null`);\r\n }\r\n\r\n }\r\n else {\r\n this.loaddialog('NotSelected','Action Icon', 'An Account or Contact must be selected first', false, false, true, true,0); \r\n }\r\n\r\n }\r\n else if (id == \"email\") {\r\n if (this.selectedtabid == 'Contacts' || document.getElementById('opportunities').className == 'mybtn coustomButton mainactiveButton') {\r\n if (email == '') {\r\n alert(\"Please select the customers or contacts\")\r\n } else {\r\n this.router.navigateByUrl(`/application/emails/Contacts/` + email);\r\n //$('.fr-wrapper').css('height', '282px');\r\n //$('.fr-wrapper').css('overflow', 'auto');\r\n $('.fr-wrapper').attr('style', 'height:68%;overflow:auto;')\r\n }\r\n }\r\n else {\r\n if (this.taskselectedtype == 'Contact') {\r\n this.router.navigateByUrl(`/application/emails/Contacts/` + email);\r\n } else {\r\n alert(\"Sorry you Can't send Email to Account\");\r\n }\r\n }\r\n\r\n }\r\n else if (id == \"calllists\") {\r\n this.showAdvancedSearchDialog = false;\r\n this.AdvancedSearchResult = false;\r\n if ((!$('#emailIds').val() || $('#emailIds').val() == \"\" || $('#emailIds').val() == 0) && (!$('#accids').val() || $('#accids').val() == \"\")) {\r\n this.loaddialog('NotSelected', 'Action Icon', 'An Account or Contact must be selected first', false, false, true, true,0); \r\n return false;\r\n } else {\r\n if (selectedType == 'Contact') {\r\n this.Calllistselectedtype = 'Contact';\r\n } else if (selectedType == 'Customer') {\r\n this.Calllistselectedtype = 'Customer';\r\n this.Ids = [];\r\n }\r\n this.contactids = $('#emailIds').val(); \r\n this.router.navigateByUrl(`/application/calllist/` + this.contactids + '/0')\r\n \r\n }\r\n\r\n }\r\n else if (id == \"Opportunity\") {\r\n this.Searchtabname = 'OpenOpportunity';\r\n this.closedOpportunityVal = 'Open';\r\n \r\n var url = window.location.href;\r\n var ids = ($('#emailIds').val());\r\n localStorage.setItem('SubTabOpportunity', this.Searchtabname);\r\n localStorage.removeItem('SelectedSubMenu');\r\n var array = ids.split(',');\r\n\r\n if (array.length == 1 && ids != undefined && ids != '') {\r\n if (url.indexOf('contacts') > -1 || url.indexOf('leads') > -1) {\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/` + ids + '/Contacts/null/null')\r\n } else {\r\n if (this.taskselectedtype == 'Contact') {\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/` + ids + '/Contacts/null/null')\r\n } else {\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/` + ids + '/Customer/null/null');\r\n }\r\n\r\n }\r\n this.ExpandSelectedMenu('opportunities');\r\n } else if (array.length > 1) {\r\n this.isMultipleContactSelected = true;\r\n this.notSelectedCss(\"isMultipleContactSelected\");\r\n this.ExpandSelectedMenu('opportunities');\r\n } else {\r\n this.loaddialog('NotSelected', 'Action Icon', 'An Account or Contact must be selected first', false, false, true, true,0); \r\n }\r\n\r\n }\r\n else if (id == \"viewcalllist\") {\r\n this.Searchtabname = \"Calllists\";\r\n this.router.navigateByUrl(`/application/viewcalllist`);\r\n this.selectedsubbutton = id;\r\n\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#viewcalllist_button').addClass(\"activeButton\");\r\n }\r\n else if (id == \"Cviewcalllist\") {\r\n this.Searchtabname = \"Calllists\";\r\n this.router.navigateByUrl(`/application/viewcalllist`);\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#Cviewcalllist_button').addClass(\"activeButton\");\r\n }\r\n else if (id == \"imported\") {\r\n this.SearchNotAvailable = true;\r\n this.notSelectedCss(\"SearchNotAvailable\"); \r\n }\r\n else if (id == 'Add Account') {\r\n this.router.navigateByUrl(`/application/addnewaccount`);\r\n //this.showAddEditAccount = true;\r\n //this.showAddEditAccountCss();\r\n this.pageViewed = \"AddAccount\"; \r\n\r\n }\r\n else if (id == 'My Documents') {\r\n this.selectedtabid = id;\r\n this.selectedsubbutton = id;\r\n this.CommonTabs = true; \r\n \r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#MySalesXcrmSubTab\").addClass(\"activeButton\");\r\n }\r\n else if (id == 'My Subscription') {\r\n this.selectedtabid = id;\r\n this.selectedsubbutton = id;\r\n this.CommonTabs = true;\r\n this.ShowConfigurationDialog = true;\r\n this.ShowConfigurationDialogCss(id);\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#MySalesXcrmSubTab\").addClass(\"activeButton\");\r\n }\r\n else if (id == \"quickview\") {\r\n if (email) {\r\n if (url.indexOf('contacts') > -1) {\r\n this.Qtype = \"Contacts\";\r\n }\r\n else {\r\n this.Qtype = \"Accounts\";\r\n }\r\n this.router.navigateByUrl(`/application/quick-view/` + $('#emailIds').val() + '/'+ this.Qtype)\r\n \r\n } else {\r\n this.loaddialog('NotSelected', 'Action Icon', 'An Account or Contact must be selected first', false, false, true, true,0); \r\n }\r\n\r\n }\r\n else if (id == 'Tickets') {\r\n this.pageViewed = \"CreateTicket\";\r\n if (email == '') {\r\n this.loaddialog('NotSelected', 'Action Icon', 'An Account or Contact must be selected first', false, false, true, true,0); \r\n }\r\n else {\r\n var array = email.split(',');\r\n if (array.length == 1) {\r\n let self = this;\r\n self.userservice.GetTicketConfigSettings(self.currentuser.id).then((taskgroup) => {\r\n if (taskgroup != null && taskgroup[0].SalesXcrm == 1) { \r\n if (self.selectedtabid != 'search') { \r\n self.type = self.taskselectedtype; \r\n } else {\r\n self.type = selectedType;\r\n }\r\n self.contactids = email;\r\n self.TicketCreateDialog = true;\r\n self.notSelectedCss(\"Tickets\"); \r\n }\r\n else {\r\n alert(\"The ticket feature in the system is not enabled. Please check with your system administrator to enable the ticket system.\");\r\n }\r\n });\r\n\r\n } else if (array.length > 1) {\r\n this.isMultipleContactSelected = true;\r\n this.notSelectedCss(\"isMultipleContactSelected\");\r\n }\r\n else {\r\n }\r\n\r\n }\r\n\r\n }\r\n else if (id == 'MapIt') {\r\n if ((!$('#emailIds').val() || $('#emailIds').val() == \"\" || $('#emailIds').val() == 0) && (!$('#accids').val() || $('#accids').val() == \"\")) {\r\n this.loaddialog('NotSelected', 'Action Icon', 'An Account or Contact must be selected first', false, false, true, true,0); \r\n }\r\n else if (($('#emailIds').val()) || $('#emailIds').val() != \"\" || $('#emailIds').val() != 0) {\r\n this.isMapItEventRaised = true; \r\n this.pageViewed = \"MapIt\";\r\n this.googlemapshow = true;\r\n \r\n }\r\n }\r\n else if (id == 'UnMapit') {\r\n this.isMapItEventRaised = false;\r\n this.pageViewed = \"\";\r\n this.googlemapshow = false;\r\n }\r\n else if (id == 'Proposals') {\r\n if (email) {\r\n this.AdvancedSearchResult = false;\r\n let array = email.split(',');\r\n if (array.length === 1 && email !== undefined && email !== '') {\r\n this.pageViewed = \"CreateProposal\";\r\n this.Email = email;\r\n this.ExpandSelectedMenu('Proposals');\r\n this.ProposalSubMenu('AddProposal')\r\n } else if (array.length > 1) {\r\n this.isMultipleContactSelected = true;\r\n this.notSelectedCss(\"isMultipleContactSelected\");\r\n }\r\n }\r\n else {\r\n this.loaddialog('NotSelected', 'Action Icon', 'An Account or Contact must be selected first', false, false, true, true,0); \r\n }\r\n }\r\n else if (id == 'ResponseWizard') {\r\n this.responseWizardType = 'TaskList';\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#' + id + \"_button\").addClass(\"activeButton\");\r\n }\r\n else if (id == 'EditResponseWizard') {\r\n this.responseWizardType = 'SalesTool';\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#' + id + \"_button\").addClass(\"activeButton\");\r\n }\r\n else if (id == 'LastActivity') {\r\n this.Searchtabname = \"ContactsAccount\";\r\n this.router.navigateByUrl(`/application/account/LastActivity`);\r\n }\r\n else {\r\n if (id == 'a-z_button') {\r\n }\r\n else if (id == 'practice') {\r\n this.router.navigateByUrl(`/application/customer/practice`);\r\n }\r\n else if (id == 'specialty') {\r\n this.router.navigateByUrl(`/application/customer/specialty`);\r\n }\r\n else if (id == 'allaccount') {\r\n this.Searchtabname = \"CustomerAccount\";\r\n this.router.navigateByUrl(`/application/account/Customer`);\r\n //Callaccount_button\r\n\r\n\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#Callaccount_button').addClass(\"activeButton\");\r\n\r\n }\r\n else if (id == 'recent') {\r\n this.router.navigateByUrl(`/application/customer/recent`);\r\n }\r\n\r\n else if (id == 'Contacts') {\r\n this.Searchtabname = \"contacts\";\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('');\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }, 50))\r\n }, 50));\r\n \r\n }\r\n else if (id == 'allContactAccounts') {\r\n this.Searchtabname = \"ContactsAccount\";\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('');\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/account/Accounts`);\r\n }, 50))\r\n }, 50));\r\n \r\n }\r\n else if (id == 'specialty') {\r\n this.router.navigateByUrl(`/application/contacts/specialty/null`);\r\n }\r\n else if (id == 'a-z') {\r\n this.router.navigateByUrl(`/application/customercontacts`);\r\n this.Searchtabname = \"customercontacts\";\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#Ca-z_button').addClass(\"activeButton\");\r\n } else {\r\n //this.router.navigateByUrl(`/application/projects`);\r\n }\r\n\r\n }\r\n\r\n }\r\n deletSearchQuery(tabname) {\r\n this.Searchtabname = tabname;\r\n $('#searchContact').val('');\r\n this.term = \"\";\r\n let selfobj = this;\r\n selfobj.advancedSearchService.deleteSearchQuery(tabname, selfobj.currentuser.id).then((out) => {\r\n\r\n if (tabname == \"contacts\") {\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('');\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('Contacts');\r\n }, 50))\r\n }, 50));\r\n\r\n }\r\n else if (tabname == \"Accounts\") {\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('allContactAccounts');\r\n }, 500))\r\n }, 100));\r\n\r\n }\r\n else if (tabname == \"ContactsAccount\") {\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('Contacts');\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('allContactAccounts');\r\n }, 50))\r\n }, 100));\r\n }\r\n else if (tabname == \"CustomerAccount\") {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('allaccount');\r\n }, 500));\r\n }, 100));\r\n }\r\n else if (tabname == \"customercontacts\") {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('a-z');\r\n }, 500));\r\n }, 100));\r\n }\r\n else if (tabname == \"OpenTaskHistory\") {\r\n $(setTimeout(function () {\r\n selfobj.TaskData('Open', selfobj.currentuser.id)\r\n }, 100));\r\n }\r\n else if (tabname == \"CompletedTaskHistory\") {\r\n $(setTimeout(function () {\r\n selfobj.TaskData('Completed', selfobj.currentuser.id)\r\n }, 100));\r\n }\r\n else if (tabname == \"AllTaskHistory\") {\r\n $(setTimeout(function () {\r\n selfobj.TaskData('All', selfobj.currentuser.id)\r\n }, 100));\r\n }\r\n else if (tabname == \"OpenLeads\") {\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('');\r\n $(setTimeout(function () {\r\n selfobj.activateMainButtons('leads')\r\n selfobj.ClosedLeads('Open', selfobj.currentuser.id, 'Open Leads')\r\n }, 200))\r\n }, 50));\r\n\r\n }\r\n else if (tabname == \"CompletedLeads\") {\r\n selfobj.ClosedLeads('Completed', selfobj.currentuser.id, 'Closed Leads')\r\n }\r\n else if (tabname == \"AllLeads\") {\r\n selfobj.ClosedLeads('All', selfobj.currentuser.id, 'All Leads');\r\n }\r\n else if (tabname == \"Calllists\") {\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('');\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('Cviewcalllist');\r\n }, 400));\r\n }, 50));\r\n }\r\n else if (tabname == \"Quickview\") {\r\n\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('quickview')\r\n }, 100));\r\n }\r\n else if (tabname == \"Global\") {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.hideGlobalSearchtable = true;\r\n selfobj.UpdateSearchColumns(selfobj.colSelections);\r\n this.SearchSelectedItemsLengthChanged = false;\r\n }, 200))\r\n }\r\n else if (tabname == \"OpenCalander\" || tabname == \"CompletedCalander\" || tabname == \"AllCalander\") {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('');\r\n $(setTimeout(function () {\r\n selfobj.activateMainButtons('Calendar');\r\n selfobj.SubmenuChange('Calendar', 'TaskCalander', 'Sub');\r\n }, 100));\r\n\r\n }, 200));\r\n }\r\n else if (tabname == \"OpenOpportunity\" || tabname == 'ClosedOpportunity' || tabname == 'AllOpportunity') {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n //selfobj.activateSubButtons('');\r\n selfobj.activateMainButtons('task lists');\r\n $(setTimeout(function () {\r\n selfobj.activateMainButtons('opportunities');\r\n selfobj.ClosedOpportunity((tabname == \"OpenOpportunity\") ? 'Open' : (tabname == \"ClosedOpportunity\") ? 'Closed' : 'All', selfobj.currentuser.id)\r\n }, 100))\r\n }, 10));\r\n }\r\n else if (tabname == \"Proposals\") {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.ProposalSubMenu('Closed Proposals');\r\n $(setTimeout(function () {\r\n selfobj.ProposalSubMenu('Open Proposals');\r\n }, 200))\r\n }, 200));\r\n\r\n }\r\n else if (tabname == \"tickets\") {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('empty');\r\n $(setTimeout(function () { \r\n selfobj.activateMainButtons('tickets');\r\n switch (this.TicketDataVal) {\r\n case 'Open': {\r\n selfobj.TicketData('Open', this.currentuser.id, 'Open Tickets');\r\n break;\r\n }\r\n case 'Pended': {\r\n selfobj.TicketData('Pended', this.currentuser.id, 'Pended Tickets')\r\n break;\r\n }\r\n case 'On-Hold': {\r\n selfobj.TicketData('On-Hold', this.currentuser.id, 'On-Hold Tickets')\r\n break;\r\n }\r\n case 'Completed': {\r\n selfobj.TicketData('Completed', this.currentuser.id, 'Closed Tickets')\r\n break;\r\n }\r\n case 'Deleted': {\r\n selfobj.TicketData('Deleted', this.currentuser.id, 'Deleted Tickets')\r\n break;\r\n }\r\n }\r\n\r\n }, 200))\r\n }, 50));\r\n\r\n }\r\n });\r\n\r\n this.tempdata = [];\r\n localStorage.removeItem('TempTable');\r\n this.SearchSelectedItems = [];\r\n }\r\n saveSearchQuery(tabname, selectedClumns, PreviousSelectedColumns) {\r\n this.Searchtabname = tabname;\r\n let qryName: string = \"TabSearch\";\r\n qryName = \"'\" + qryName + \"'\";\r\n var tablename = \"\";\r\n var alias = \"\";\r\n var contablejoin = \"\";\r\n let searchQry: string;\r\n let whereQry = \"\";\r\n let Joins = \"\";\r\n let currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n if (tabname == 'ContactsAccount' || tabname == 'CustomerAccount' || tabname == 'Accounts') {\r\n tablename = 'tblaccounts';\r\n alias = 'acc';\r\n }\r\n else if (tabname == 'contacts' || tabname == 'customercontacts' || tabname == 'Global') {\r\n tablename = 'tblcontacts';\r\n alias = 'con';\r\n }\r\n else if (tabname == 'OpenLeads' || tabname == 'CompletedLeads' || tabname == 'AllLeads') {\r\n tablename = 'tblsaleprocesshistory';\r\n alias = 'sale';\r\n\r\n }\r\n else if (tabname == 'OpenOpportunity' || tabname == 'ClosedOpportunity' || tabname == 'AllOpportunity') {\r\n tablename = 'tblopportunities'\r\n alias = 'opp';\r\n contablejoin = \" join tblcontacts as con on opp.accountorcontactid=con.id join tblaccounts as acc on con.accountid=acc.id\"\r\n }\r\n else if (tabname == 'OpenTaskHistory' || tabname == 'CompletedTaskHistory' || tabname == 'AllTaskHistory' || tabname == 'OpenCalander' || tabname == 'Reports' || tabname == 'CompletedCalander' || tabname == 'AllCalander' || tabname == 'Open Tasks' ) {\r\n tablename = 'tbltaskhistory'\r\n alias = 'tas';\r\n }\r\n else if (tabname == 'Calllists') {\r\n tablename = 'tblcalllist'\r\n alias = 'cal';\r\n }\r\n else if (tabname == 'Quickview') {\r\n tablename = 'tblcontacts'\r\n alias = 'con';\r\n }\r\n else if (tabname == 'Proposals') {\r\n tablename = 'tblproposals'\r\n alias = 'prop';\r\n contablejoin = \" join tblaccounts as acc on prop.AccountID =acc.id join tblcontacts as con on prop.ContactId = con.id \"\r\n }\r\n else if (tabname == 'tickets') {\r\n tablename = 'tblinternalticket'\r\n alias = 'tkts';\r\n contablejoin = \" join tblcontacts as con on tkts.ContactId = con.id join tblaccounts as acc on con.accountid = acc.id join tbluser as usr on tkts.assignTicketToUser = usr.id\"\r\n }\r\n else if (tabname == 'Rhx') {\r\n tablename = 'tblauditlog'\r\n alias = 'audi';\r\n contablejoin = \" join tblaccounts as acc on audi.AccountOrContactId =acc.id join tblcontacts as con on audi.AccountOrContactId = con.id \"\r\n }\r\n\r\n if ((tabname == 'contacts') || tabname == 'customercontacts' || tabname == 'QuickView') {\r\n\r\n searchQry = \" 'select \" + alias + \".*,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal, acc.accountname AS accountname,usr.username AS OWNER,acc.accnumber,acc.customertypeid AS customertype from \" + tablename + \" as \" + alias;\r\n }\r\n else {\r\n searchQry = \" 'select \" + alias + \".*,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal,acc.accountname,acc.accnumber,acc.customertypeid AS customertype,IF(acc.customertypeid=0,''Contact'',''Account'') AS TYPE from \" + tablename + \" as \" + alias;\r\n }\r\n let Where = \"\";\r\n if (tablename == \"tblcontacts\") {\r\n Where = \" where (\" + alias + \".userid = \" + currentUser.id + \" or \" + alias + \".ownerid=\" + currentUser.id + \")\";\r\n }\r\n else if (tablename == \"tblproposals\") {\r\n Where = \" where \" + alias + \".CreatedBy = \" + currentUser.id;\r\n }\r\n else {\r\n Where = \" where \" + alias + \".userid = \" + currentUser.id;\r\n }\r\n if (tablename == \"tblsaleprocesshistory\") {\r\n searchQry = \" 'select sale.id, sale.userid, sale.contactid,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal, sale.datecreated, con.lastname, con.middlename, con.firstname, con.title, acc.accountname AS ACCOUNT,(SELECT salesstage FROM tblsaleprocesshistory WHERE contactid=sale.contactid ORDER BY datecreated DESC LIMIT 1) AS salesstage,con.firstname,con.middlename,PK.itemName as titleName,con.lastname,true as islimitedSearch ,''\" + $('#searchContact').val() + \"'' as SearchVal,acc.accountname AS account,UpdateLeadStage(sale.contactid,(SELECT salesstage FROM tblsaleprocesshistory WHERE contactid=sale.contactid ORDER BY datecreated DESC LIMIT 1), (SELECT STATUS FROM tblsaleprocesshistory WHERE contactid = sale.contactid ORDER BY datecreated DESC LIMIT 1)) AS STATUS ,tsktype.tasktype AS nexttask, sale.completeddate AS datescheduled,user.username AS OWNER ,comuser.username AS completeduser,sale.dealwonOrlost from \" + tablename + \" as \" + alias;\r\n Joins += \" join tblcontacts as con on \" + alias + \".contactid=con.id join tblaccounts as acc on con.accountid = acc.id LEFT JOIN tbltaskhistory AS task ON task.salesstageid =sale.id left join tbltasktypes as tsktype on task.tasktypeid = tsktype.id JOIN tbluser AS USER ON sale.userid = user.id LEFT JOIN tbluser AS comuser ON sale.completeduserid = comuser.id left join picklistfielddata as PK on con.title = PK.id \";\r\n let Where = \" where \" + alias + \".userid = \" + currentUser.id;\r\n for (let i = 0; i < selectedClumns.length; i++) {\r\n if (selectedClumns[i] == 'account') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n whereQry += \" and acc.accountname REGEXP '(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)' )\";\r\n }\r\n else {\r\n whereQry += \" and acc.accountname\" + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n else if (selectedClumns[i] == 'firstname' || selectedClumns[i] == 'middlename' || selectedClumns[i] == 'lastname' ) {\r\n whereQry += \" and con.\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == 'titleName') {\r\n Joins += \" Left Join picklistfielddata as \" + selectedClumns[i] + \" on con .title = \" + selectedClumns[i] + \".id\";\r\n whereQry += \" and \" + selectedClumns[i] + \".itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == 'datecreated' || selectedClumns[i] == \"completeddate\") {\r\n whereQry += \" AND DATE(\" + alias + \".\" + selectedClumns[i] + \") >= ''\" + this.SearchstartVal + \"'' AND DATE(\" + alias + \".\" + selectedClumns[i] + \") <=''\" + this.SearchendVal + \"''\";\r\n }\r\n else {\r\n whereQry += \" and con.\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n whereQry += \" GROUP BY contactid\";\r\n }\r\n else if (tablename == \"tbltaskhistory\") {\r\n searchQry = \"'select tas.id,tas.datecreated,tas.estcompleteddate,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal,acc.accountname AS accountname,tas.status,con.contacttype,tas.dateCompleted AS datecompleted,tsktype.tasktype,tsktype.tasktype as TypeofTask,tsktype.category as taskcategory, tas.type, tas.contactid, tas.time AS starttime, tas.totime AS endtime, con.firstname AS firstName, con.lastname AS lastName,true as islimitedSearch ,''\" + $('#searchContact').val() + \"'' as SearchVal, usr.username from \" + tablename + \" as \" + alias;\r\n Joins += \" join tblcontacts as con on \" + alias + \".contactid=con.id \";\r\n Joins += \"join tblaccounts as acc on con.accountid = acc.id JOIN tbluser AS usr ON tas.userid = usr.id join tbltasktypes as tsktype on tas.tasktypeid=tsktype.id\";\r\n\r\n for (let j = 0; j < PreviousSelectedColumns.length; j++) {\r\n\r\n var prandcondition = false;\r\n if (PreviousSelectedColumns[j].split(':')[0] == 'accountname' || PreviousSelectedColumns[j].split(':')[0] == 'practicename') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \" and \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \" and \" + \" acc.accountname like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.accountname like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n else {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \" and \" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or \" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \" and CONCAT_WS('' '',\" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",con.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or CONCAT_WS('' '',\" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",con.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n for (let i = 0; i < selectedClumns.length; i++) {\r\n if (selectedClumns[i] == 'accountname' || selectedClumns[i] == 'practicename') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n whereQry += \" and acc.accountname REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n else {\r\n whereQry += \" and acc.accountname\" + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n else if (selectedClumns[i] == 'firstName') {\r\n whereQry += \" and con.firstName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == 'lastName') {\r\n whereQry += \" and con.lastName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == \"datecreated\" || selectedClumns[i] == \"estcompleteddate\") {\r\n whereQry += \" AND DATE(\" + alias + \".\" + selectedClumns[i] + \") >= ''\" + this.SearchstartVal + \"'' AND DATE(\" + alias + \".\" + selectedClumns[i] + \") <=''\" + this.SearchendVal + \"''\";\r\n }\r\n else if (selectedClumns[i] == \"taskcategory\") {\r\n whereQry += \" and tsktype.category like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == \"tasktype\" || selectedClumns[i] == \"TypeofTask\") {\r\n whereQry += \" and tsktype.tasktype like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == \"contacttype\") {\r\n whereQry += \" and con.contacttype like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n else {\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n\r\n }\r\n whereQry += (tabname == \"OpenTaskHistory\" || tabname == \"OpenCalander\") ? \" and \" + alias + \".status = ''Open''\" : (tabname == \"CompletedTaskHistory\" || tabname == \"CompletedCalander\") ? \" and \" + alias + \".status = ''Completed''\" : \" and \" + alias + \".status IS NOT NULL\";\r\n }\r\n\r\n else if (tablename == \"tblcontacts\") {\r\n \r\n var customertypeid = (tabname == \"ContactsAccount\") ? '0' : (tabname == \"CustomerAccount\") ? '1' : tablename == \"tblcontacts\" ? '0' : '1,2';\r\n searchQry = \" 'select \" + alias + \".*,PK1.ItemName as specialityName,PK2.itemName as titleName ,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal, acc.accountname AS accountname,usr.username AS OWNER,acc.accnumber,acc.customertypeid AS customertype from \" + tablename + \" as \" + alias;\r\n searchQry += \" Left join picklistfielddata as PK1 on \" + alias + \".speciality = PK1.id Left Join picklistfielddata as PK2 on \" + alias + \".title = PK2.id\";\r\n Joins += \" join tbluser as usr on \" + alias + \".userid = usr.id join tblaccounts as acc on con.accountid=acc.id\";\r\n \r\n for (let j = 0; j < PreviousSelectedColumns.length; j++) {\r\n\r\n var prandcondition = false;\r\n if (PreviousSelectedColumns[j].split(':')[0] == 'accountname') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") and \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") or \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") and \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") or \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n else if (PreviousSelectedColumns[j].split(',')[0] == 'owner') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") and \" + \" usr.username REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") or \" + \" usr.username REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") and \" + \" usr.username like =''\" + PreviousSelectedColumns[j].split(':')[1] + \"''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") or \" + \" usr.username like =''\" + PreviousSelectedColumns[j].split(':')[1] + \"''\";\r\n }\r\n }\r\n }\r\n else if (PreviousSelectedColumns[j].split(',')[0] == 'type') {\r\n if ($('#searchContact').val() == 'Contact') {\r\n whereQry += \" and acc.customertypeid=0\";\r\n }\r\n else {\r\n whereQry += \" and acc.customertypeid!=0\";\r\n }\r\n }\r\n else if (PreviousSelectedColumns[j].split(':')[0] == 'cell' || PreviousSelectedColumns[j].split(',')[0] == 'office') {\r\n if (!prandcondition) {\r\n //if (/,/.test(columnarray[k]) == true) {\r\n // PreviousSelectedColumns = columnarray[k].split(',');\r\n //}\r\n //else {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") and \" + alias + \".\" + PreviousSelectedColumns[j].split(',')[0] + \" =''\" + PreviousSelectedColumns[j].split(':')[1] + \"''\";\r\n //}\r\n prandcondition = true;\r\n } else {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") or \" + alias + \".\" + PreviousSelectedColumns[j].split(',')[0] + \" =''\" + PreviousSelectedColumns[j].split(':')[1] + \"''\";\r\n }\r\n }\r\n else {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") and \" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") or \" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") and CONCAT_WS('' '',\" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",con.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \"and acc.customertypeid in (\" + customertypeid + \") or CONCAT_WS('' '',\" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",con.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n var andcondition = false;\r\n for (let i = 0; i < selectedClumns.length; i++) {\r\n if ($('#searchContact').val().includes('/')) {\r\n var searchvaluesarray = $('#searchContact').val().split(' / ');\r\n searchvaluesarray.forEach(element => {\r\n if (selectedClumns[i] == 'accountname') {\r\n if (element.indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n whereQry += \" and \" + \" acc.\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + element + \"([[:space:]]|$)'' \";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + element + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n whereQry += \" and \" + \" acc.\" + selectedClumns[i] + \" like ''%\" + element + \"%''\";;\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.\" + selectedClumns[i] + \" like ''%\" + element + \"%''\";\r\n }\r\n }\r\n }\r\n else if (selectedClumns[i] == 'titleName' || selectedClumns[i] == 'specialityName') {\r\n var type = \"\";\r\n switch (selectedClumns[i]) {\r\n case 'titleName': {\r\n type = 'title';\r\n break;\r\n }\r\n case 'specialityName': {\r\n type = 'speciality';\r\n break;\r\n }\r\n }\r\n if (element.indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n Joins += \" left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type +\" = \" + selectedClumns[i]+\".id\"\r\n whereQry += \" and \" + selectedClumns[i] + \".itemName like ''%\" + element + \"%''\";\r\n andcondition = true;\r\n } else {\r\n Joins += \" left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type + \" = \" + selectedClumns[i] + \".id\"\r\n whereQry += \" and \" + selectedClumns[i] + \".itemName like ''%\" + element + \"%''\";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n Joins += \" left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type + \" = \" + selectedClumns[i] + \".id\"\r\n whereQry += \" and \" + selectedClumns[i] + \".itemName like ''%\" + element + \"%''\";\r\n andcondition = true;\r\n } else {\r\n Joins += \" left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type + \" = \" + selectedClumns[i] + \".id\"\r\n whereQry += \" and \" + selectedClumns[i] + \".itemName like ''%\" + element + \"%''\";\r\n }\r\n }\r\n }\r\n else if (selectedClumns[i] == 'owner') {\r\n if (element.indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n whereQry += \" and \" + \" usr.username REGEXP ''(^|[[:space:]])\" + element + \"([[:space:]]|$)'' \";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" usr.username REGEXP ''(^|[[:space:]])\" + element + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n whereQry += \" and \" + \" usr.username =''\" + element + \"''\";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" usr.username =''\" + element + \"''\";\r\n }\r\n }\r\n }\r\n else if (selectedClumns[i] == 'type') {\r\n if (element == 'Contact') {\r\n whereQry += \" and acc.customertypeid=0\";\r\n }\r\n else {\r\n whereQry += \" and acc.customertypeid!=0\";\r\n }\r\n }\r\n else {\r\n if (element.indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + element + \"([[:space:]]|$)'' \";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + alias + \".\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + element + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + element + \"%''\";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + element + \"%''\";\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n if (selectedClumns[i] == 'accountname') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n whereQry += \" and \" + \" acc.\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n whereQry += \" and \" + \" acc.\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";;\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n }\r\n else if (selectedClumns[i] == 'titleName' || selectedClumns[i] == 'specialityName') {\r\n var type = \"\";\r\n switch (selectedClumns[i]) {\r\n case 'titleName': {\r\n type = 'title';\r\n break;\r\n }\r\n case 'specialityName': {\r\n type = 'speciality';\r\n break;\r\n }\r\n }\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n Joins += \" left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type + \" = \" + selectedClumns[i] + \".id\"\r\n whereQry += \" and \" + selectedClumns[i] + \".itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n andcondition = true;\r\n } else {\r\n Joins += \" left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type + \" = \" + selectedClumns[i] + \".id\"\r\n whereQry += \" and \" + selectedClumns[i] + \".itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n Joins += \" left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type + \" = \" + selectedClumns[i] + \".id\"\r\n whereQry += \" and \" + selectedClumns[i] + \".itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n andcondition = true;\r\n } else {\r\n Joins += \" left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type + \" = \" + selectedClumns[i] + \".id\"\r\n whereQry += \" and \" + selectedClumns[i] + \".itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n }\r\n else if (selectedClumns[i] == 'owner') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n whereQry += \" and \" + \" usr.username REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" usr.username REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n whereQry += \" and \" + \" usr.username =''\" + $('#searchContact').val() + \"''\";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" usr.username =''\" + $('#searchContact').val() + \"''\";\r\n }\r\n }\r\n }\r\n else if (selectedClumns[i] == 'type') {\r\n if ($('#searchContact').val() == 'Contact') {\r\n whereQry += \" and acc.customertypeid=0\";\r\n }\r\n else {\r\n whereQry += \" and acc.customertypeid!=0\";\r\n }\r\n }\r\n else {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + alias + \".\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n }\r\n whereQry += selectedClumns.length == 0 ? \"\" : \" \";\r\n\r\n }\r\n\r\n else if (tablename == \"tblaccounts\") {\r\n \r\n var customertypeid = (tabname == \"ContactsAccount\") ? '0' : (tabname == \"CustomerAccount\") ? '1' : tablename == \"tblaccounts\" ? '0' : '1,2';\r\n searchQry = \" 'select \" + alias + \".*,PK1.itemName as specialityName,Pk2.itemName as ehrName,PK3.itemName as pmName,PK4.itemName as rcmName,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal,fnCheckAccountContact(acc.id) AS IsContact from \" + tablename + \" as \" + alias;\r\n searchQry += \" Left join picklistfielddata as PK1 on \" + alias + \".speciality = PK1.id Left Join picklistfielddata as PK2 on \" + alias + \".ehr = PK2.id Left Join picklistfielddata as PK3 on \" + alias +\".pm = PK3.id Left Join picklistfielddata as PK4 on \"+alias+\".rcm = Pk4.id\"\r\n for (let j = 0; j < PreviousSelectedColumns.length; j++) {\r\n if (PreviousSelectedColumns[j].split(':')[0] == 'phone') {\r\n if (PreviousSelectedColumns[j].split(':')[1].indexOf('\"') >= 0) {\r\n whereQry += \" and acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n }\r\n else {\r\n whereQry += \" and acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n\r\n\r\n }\r\n else if (PreviousSelectedColumns[j].split(':')[0] == \"specialityName\" || PreviousSelectedColumns[j].split(':')[0] == 'ehrName' || PreviousSelectedColumns[j].split(':')[0] == 'pmName' || PreviousSelectedColumns[j].split(':')[0] == 'rcmName') {\r\n var type = \"\";\r\n switch (PreviousSelectedColumns[j].split(':')[0]) {\r\n case \"specialityName\": {\r\n type = \"speciality\";\r\n break;\r\n }\r\n case \"ehrName\": {\r\n type = \"ehr\";\r\n break;\r\n }\r\n case \"pmName\": {\r\n type = \"pm\";\r\n break;\r\n }\r\n case \"rcmName\": {\r\n type = \"rcm\";\r\n break;\r\n }\r\n\r\n }\r\n Joins += \" Left join picklistfielddata as prv\" + PreviousSelectedColumns[j].split(':')[0] + \" on \" + alias + \".\" + type + \" = prv\" + PreviousSelectedColumns[j].split(':')[0]+\".id \";\r\n whereQry += \" and acc.customertypeid in (\" + customertypeid + \") and prv\" + PreviousSelectedColumns[j].split(':')[0] + \".itemName like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n\r\n //else if (PreviousSelectedColumns[j] == \"specialityName\") {\r\n // Joins += \" Left join picklistfielddata as pk on \" + alias + \".speciality=pk.id \";\r\n // whereQry += \" and acc.customertypeid in (\" + customertypeid + \") and pk.itemName like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n //}\r\n else {\r\n whereQry += \" and acc.customertypeid in (\" + customertypeid + \") and \" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0] + \" like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n for (let i = 0; i < selectedClumns.length; i++) {\r\n if ($('#searchContact').val().includes('/')) {\r\n var searchvaluesarray = $('#searchContact').val().split(' / ');\r\n searchvaluesarray.forEach(element => {\r\n if (selectedClumns[i] == 'phone') {\r\n\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" =''\" + element + \"''\";\r\n\r\n }\r\n else if (selectedClumns[i] == \"specialityName\" || selectedClumns[i] == 'ehrName' || selectedClumns[i] == 'pmName' || selectedClumns[i] == 'rcmName') {\r\n var type = \"\";\r\n switch (selectedClumns[i]) {\r\n case \"specialityName\": {\r\n type = \"speciality\";\r\n break;\r\n }\r\n case \"ehrName\": {\r\n type = \"ehr\";\r\n break;\r\n }\r\n case \"pmName\": {\r\n type = \"pm\";\r\n break;\r\n }\r\n case \"rcmName\": {\r\n type = \"rcm\";\r\n break;\r\n }\r\n\r\n }\r\n Joins += \" Left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type + \" = \" + selectedClumns[i]+\".id \";\r\n whereQry += \" and acc.customertypeid in (\" + customertypeid + \") and \" + selectedClumns[i] + \".itemName like ''%\" + element + \"%''\";\r\n }\r\n else if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n whereQry += \" and acc.customertypeid in (\" + customertypeid + \") and \" + alias + \".\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + element + \"([[:space:]]|$)'' \";\r\n }\r\n else {\r\n whereQry += \" and acc.customertypeid in (\" + customertypeid + \") and \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + element + \"%''\";\r\n }\r\n });\r\n } else {\r\n if (selectedClumns[i] == 'phone') {\r\n\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" =''\" + $('#searchContact').val() + \"''\";\r\n\r\n }\r\n else if (selectedClumns[i] == \"specialityName\" || selectedClumns[i] == 'ehrName'|| selectedClumns[i] == 'pmName' || selectedClumns[i] == 'rcmName') {\r\n var type = \"\";\r\n switch (selectedClumns[i]) {\r\n case \"specialityName\": {\r\n type = \"speciality\";\r\n break;\r\n }\r\n case \"ehrName\": {\r\n type = \"ehr\";\r\n break;\r\n }\r\n case \"pmName\": {\r\n type = \"pm\";\r\n break;\r\n }\r\n case \"rcmName\": {\r\n type = \"rcm\";\r\n break;\r\n }\r\n \r\n }\r\n Joins += \" Left join picklistfielddata as \" + selectedClumns[i] + \" on \" + alias + \".\" + type + \" = \" + selectedClumns[i]+\".id \";\r\n whereQry += \" and acc.customertypeid in (\" + customertypeid + \") and \" + selectedClumns[i]+\".itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n whereQry += \" and acc.customertypeid in (\" + customertypeid + \") and \" + alias + \".\" + selectedClumns[i] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n else {\r\n whereQry += \" and acc.customertypeid in (\" + customertypeid + \") and \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n else if (tablename == \"tblopportunities\") {\r\n searchQry = \" 'select \" + alias + \".*,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal,acc.accountname AS practicename, con.firstname as firstName,con.lastname as lastName,item.opportunityitem as itemName,pcdrp.itemName as PCname,drdrp.itemName as drsName,mddrp.itemName as midlevel,leaddrp.itemName as leadfrom, \" +\r\n \"usr.username as owner from \" + tablename + \" as \" + alias;\r\n Joins += contablejoin;\r\n Joins += \" Join tbluser as usr on opp.userid =usr.id \";\r\n Joins += \" Join tblopportunityitems as item on opp.item =item.id \";\r\n Joins += \" LEFT Join tbldropdown as pcdrp on opp.PC =pcdrp.id \";\r\n Joins += \" LEFT Join tbldropdown as drdrp on opp.drs =drdrp.id \";\r\n Joins += \" LEFT Join tbldropdown as mddrp on opp.midlevels =mddrp.id \";\r\n Joins += \" LEFT Join tbldropdown as leaddrp on opp.leadfromid =leaddrp.id \";\r\n\r\n for (let j = 0; j < PreviousSelectedColumns.length; j++) {\r\n\r\n var prandcondition = false;\r\n if (PreviousSelectedColumns[j].split(':')[0] == 'practicename') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \" and \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \" and \" + \" acc.accountname like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.accountname like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n else {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \" and \" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or \" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \" and CONCAT_WS('' '',\" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",con.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or CONCAT_WS('' '',\" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",con.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n for (let i = 0; i < selectedClumns.length; i++) {\r\n\r\n if (selectedClumns[i] == 'itemName')\r\n whereQry += \" and item.opportunityitem like ''%\" + $('#searchContact').val() + \"%''\";\r\n\r\n else if (selectedClumns[i] == 'PCname') {\r\n whereQry += \" and pcdrp.itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == 'drsName') {\r\n whereQry += \" and drdrp.itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == 'midlevel') {\r\n whereQry += \" and mddrp.itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == 'leadfrom') {\r\n whereQry += \" and leaddrp.itemName like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == 'firstName') {\r\n whereQry += \" and (con.firstName like ''%\" + $('#searchContact').val() + \"%'')\";\r\n }\r\n else if (selectedClumns[i] == 'lastName') {\r\n whereQry += \" and (con.lastName like ''%\" + $('#searchContact').val() + \"%'')\";\r\n }\r\n else if (selectedClumns[i] == 'practicename') {\r\n whereQry += \" and acc.accountname like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else if (selectedClumns[i] == \"datecreated\" || selectedClumns[i] == \"estimatedclosedate\" || selectedClumns[i] == \"datecompleted\") {\r\n // whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" = ''\" + $('#searchContact').val() + \"''\";\r\n whereQry += \" AND DATE(\" + alias + \".\" + selectedClumns[i] + \") >= ''\" + this.SearchstartVal + \"'' AND DATE(\" + alias + \".\" + selectedClumns[i] + \") <=''\" + this.SearchendVal + \"''\";\r\n }\r\n else {\r\n whereQry += \" and opp.\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n\r\n }\r\n whereQry += (tabname == \"OpenOpportunity\") ? \" and \" + alias + \".status = ''Open''\" : (tabname == \"ClosedOpportunity\") ? \" and \" + alias + \".status = ''Closed-Won''\" : \" and \" + alias + \".status IS NOT NULL\";\r\n }\r\n\r\n else if (tablename == \"tblproposals\") {\r\n searchQry = \" 'select \" + alias + \".*,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal,acc.accountname AS AccountName,Concat(con.firstname,'','',con.lastname) as ContactName,item.opportunityitem as itemName,leaddrp.itemName as leadfrom, \" +\r\n \"opp.LeadDescription ,opp.status from \" + tablename + \" as \" + alias;\r\n Joins += contablejoin;\r\n Joins += \" Join tblopportunities as opp on \" + alias + \".OpportunityId = opp.id \";\r\n Joins += \" Join tblopportunityitems as item on opp.item =item.id \";\r\n Joins += \" LEFT Join tbldropdown as leaddrp on opp.leadfromid =leaddrp.id \";\r\n\r\n for (let j = 0; j < PreviousSelectedColumns.length; j++) {\r\n\r\n var prandcondition = false;\r\n if (PreviousSelectedColumns[j].split(':')[0] == 'accountname' || PreviousSelectedColumns[j].split(':')[0] == 'account' || PreviousSelectedColumns[j].split(':')[0] == 'AccountName') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \" and \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \" and \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or \" + \" acc.\" + PreviousSelectedColumns[j].split(':')[0] + \" like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n else {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \" and \" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or \" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0] + \" REGEXP ''(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)'' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \" and CONCAT_WS('' '',\" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",con.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or CONCAT_WS('' '',\" + alias + \".\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",con.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n for (let i = 0; i < selectedClumns.length; i++) {\r\n if (selectedClumns[i] == 'accountname' || selectedClumns[i] == 'account' || selectedClumns[i] == 'AccountName') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n whereQry += \" and acc.accountname REGEXP '(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)' )\";\r\n }\r\n else {\r\n whereQry += \" and acc.accountname\" + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n } else if (selectedClumns[i] == 'ContactName') {\r\n whereQry += \" and (con.firstname like ''%\" + $('#searchContact').val() + \"%'' || con.lastname like ''%\" + $('#searchContact').val() + \"%'')\";\r\n }\r\n else if (selectedClumns[i] == 'itemName') {\r\n whereQry += \" and item.opportunityitem\" + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else {\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n whereQry += (this.ProposalType == \"Open Proposals\") ? \" and opp.status =''Open''\" : (this.ProposalType == \"Closed Proposals\") ? \" and (opp.status = ''Closed-Won'' || opp.status = ''Closed-Lost'')\" : \" and opp.status is NOT Null\";\r\n\r\n }\r\n else if (tablename == \"tblinternalticket\") {\r\n searchQry = \" 'select \" + alias + \".*,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal,acc.accountname AS accountname,Concat(con.firstname,'','',con.lastname) as contactname,(SELECT GROUP_CONCAT(username) FROM tbluser WHERE FIND_IN_SET(id,tkts.assignTicketToUser)) AS userList \" +\r\n \"from \" + tablename + \" as \" + alias;\r\n Joins += contablejoin;\r\n for (let i = 0; i < selectedClumns.length; i++) {\r\n if (selectedClumns[i] == 'accountName' || selectedClumns[i] == 'account' || selectedClumns[i] == 'AccountName') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n whereQry += \" and acc.accountname REGEXP '(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)' )\";\r\n }\r\n else {\r\n whereQry += \" and acc.accountname\" + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n else if (selectedClumns[i] == 'contactname') {\r\n whereQry += \" and (con.firstname like ''%\" + $('#searchContact').val() + \"%'' || con.lastname like ''%\" + $('#searchContact').val() + \"%'')\";\r\n }\r\n else if (selectedClumns[i] == 'userList') {\r\n whereQry += \" and usr.username\" + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n else {\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n var status = 0;\r\n switch (this.TicketDataVal) {\r\n case 'Open': {\r\n status = 1;\r\n break;\r\n }\r\n case 'Pended': {\r\n status = 3;\r\n break;\r\n }\r\n case 'On-Hold': {\r\n status = 2;\r\n break;\r\n }\r\n case 'Completed': {\r\n status = 4;\r\n break;\r\n }\r\n case 'Deleted': {\r\n status = 6;\r\n break;\r\n }\r\n }\r\n\r\n whereQry += \" and tkts.TicketStatus =''\" + status + \"''\";\r\n\r\n }\r\n\r\n else if (tablename == \"tblauditlog\") {\r\n searchQry = \" 'select \" + alias + \".*,true as islimitedSearch,''\" + this.searchCriteria + \"'' as SearchVal,acc.accountname from \" + tablename + \" as \" + alias;\r\n Joins += contablejoin;\r\n //Joins += \" Join tblopportunities as opp on \" + alias + \".OpportunityId = opp.id \";\r\n //Joins += \" Join tblopportunityitems as item on opp.item =item.id \";\r\n //Joins += \" LEFT Join tbldropdown as leaddrp on opp.leadfromid =leaddrp.id \";\r\n\r\n for (let i = 0; i < selectedClumns.length; i++) {\r\n if (selectedClumns[i] == 'accountname' || selectedClumns[i] == 'account' || selectedClumns[i] == 'AccountName') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n whereQry += \" and acc.accountname REGEXP '(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)' )\";\r\n }\r\n else {\r\n whereQry += \" and acc.accountname\" + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n } else if (selectedClumns[i] == 'ContactName') {\r\n whereQry += \" and (con.firstname like ''%\" + $('#searchContact').val() + \"%'' || con.lastname like ''%\" + $('#searchContact').val() + \"%'')\";\r\n }\r\n //else if (selectedClumns[i] == 'itemName') {\r\n // whereQry += \" and item.opportunityitem\" + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n //}\r\n else {\r\n whereQry += \" and \" + alias + \".\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n //whereQry += (this.ProposalType == \"Open Proposals\") ? \" and opp.status =''Open''\" : (this.ProposalType == \"Closed Proposals\") ? \" and (opp.status = ''Closed-Won'' || opp.status = ''Closed-Lost'')\" : \" and opp.status is NOT Null\";\r\n\r\n }\r\n\r\n else if (tablename == \"tblcalllist\") {\r\n searchQry = \" 'select cal.id,cal.created,cal.calllistname,''\" + this.searchCriteria + \"'' as SearchVal, cal.typeOfList,cal.status,cal.lastaccesed,cal.userid AS userid,user.username AS OWNER,lastaccessuser.username AS LastUserAccessed, assigneduser.username AS Assignedto,(IF(ISNULL(contactids), 0,IF(contactids='''',0,(CHAR_LENGTH(contactids) - CHAR_LENGTH(REPLACE(contactids, '','', '''')) + 1)))+ IF(ISNULL(completedcontactids), 0, IF(completedcontactids = '''', 0, (CHAR_LENGTH(completedcontactids) - CHAR_LENGTH(REPLACE(completedcontactids, '','', '''')) + 1)))\" +\r\n \"+ IF(ISNULL(deletedcontactids), 0, IF(deletedcontactids = '''', 0, (CHAR_LENGTH(deletedcontactids) -\" +\r\n \"CHAR_LENGTH(REPLACE(deletedcontactids, '', '', '''')) + 1)))) AS total, IF(ISNULL(completedcontactids), 0, IF(completedcontactids = '''', 0, (CHAR_LENGTH(completedcontactids) - CHAR_LENGTH(REPLACE(completedcontactids, '', '', '''')) + 1))) AS completedcalltotal, IF(ISNULL(deletedcontactids), 0, IF(deletedcontactids = '''', 0, (CHAR_LENGTH(deletedcontactids) - CHAR_LENGTH(REPLACE(deletedcontactids, '', '', '''')) + 1))) AS deletedcontactcalltotal,true as islimitedSearch from \" + tablename +\r\n \" as cal JOIN tbluser AS USER ON cal.userid = user.id LEFT JOIN tbluser AS lastaccessuser ON cal.lastaccesseduserid = lastaccessuser.id LEFT JOIN tbluser AS assigneduser ON cal.assignedto = assigneduser.id\";\r\n var andcondition = false;\r\n for (let j = 0; j < PreviousSelectedColumns.length; j++) {\r\n if (PreviousSelectedColumns[j].split(',')[0] == 'calllistname') {\r\n if (PreviousSelectedColumns[j].split(':')[1].indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \" and cal.calllistname REGEXP '(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or cal.calllistname REGEXP '(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n whereQry += \" and cal.calllistname like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or cal.calllistname like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n else if (PreviousSelectedColumns[j].split(',')[0] == 'Assignedto') {\r\n if (!prandcondition) {\r\n whereQry += \" and assigneduser.username like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or assigneduser.username like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n else {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!prandcondition) {\r\n whereQry += \" and cal.\" + PreviousSelectedColumns[j].split(',')[0] + \" REGEXP '(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)' \";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or cal.\" + PreviousSelectedColumns[j].split(',')[0] + \" REGEXP '(^|[[:space:]])\" + PreviousSelectedColumns[j].split(':')[1] + \"([[:space:]]|$)' \";\r\n }\r\n }\r\n else {\r\n if (!prandcondition) {\r\n //whereQry += \" and cal.\" + PreviousSelectedColumns[j].split(',')[0] + \" like ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n whereQry += \" and CONCAT_WS('' '',cal.\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",cal.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n prandcondition = true;\r\n } else {\r\n whereQry += \" or CONCAT_WS('' '',cal.\" + PreviousSelectedColumns[j].split(':')[0].replace(\",\", \",cal.\") + \") LIKE ''%\" + PreviousSelectedColumns[j].split(':')[1] + \"%''\";\r\n }\r\n }\r\n }\r\n }\r\n for (let i = 0; i < selectedClumns.length; i++) {\r\n if (selectedClumns[i] == 'calllistname') {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n whereQry += \" and cal.calllistname REGEXP '(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)' \";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or cal.calllistname REGEXP '(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)' \";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n whereQry += \" and cal.calllistname like ''%\" + $('#searchContact').val() + \"%''\";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or cal.calllistname like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n }\r\n else if (selectedClumns[i] == 'Assignedto') {\r\n if (!andcondition) {\r\n whereQry += \" and assigneduser.username like ''%\" + $('#searchContact').val() + \"%''\";\r\n andcondition = true;\r\n } else {\r\n whereQry += \" or assigneduser.username like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n else {\r\n if ($('#searchContact').val().indexOf('\"') >= 0) {\r\n if (!andcondition) {\r\n whereQry += \" and cal.\" + selectedClumns[i] + \" REGEXP '(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)' \";\r\n } else {\r\n whereQry += \" or cal.\" + selectedClumns[i] + \" REGEXP '(^|[[:space:]])\" + $('#searchContact').val() + \"([[:space:]]|$)' \";\r\n }\r\n }\r\n else {\r\n if (!andcondition) {\r\n whereQry += \" and cal.\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n } else {\r\n whereQry += \" or cal.\" + selectedClumns[i] + \" like ''%\" + $('#searchContact').val() + \"%''\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n searchQry += Joins + Where + whereQry + \"'\";\r\n var filterdata = \"\";\r\n\r\n\r\n if (PreviousSelectedColumns.length > 0 && selectedClumns.length == 1) {\r\n filterdata += PreviousSelectedColumns.join(\"|\") + \"|\" + selectedClumns + \":\" + $('#searchContact').val();\r\n }\r\n else if (PreviousSelectedColumns.length > 0 && selectedClumns.length == 0) {\r\n filterdata += PreviousSelectedColumns.join(\"|\") + \"\";\r\n }\r\n else if (PreviousSelectedColumns.length > 0 && selectedClumns.length > 1) {\r\n filterdata += PreviousSelectedColumns.join(\"|\") + \"|\" + selectedClumns + \":\" + $('#searchContact').val();\r\n\r\n }\r\n else if (PreviousSelectedColumns.length == 0 && selectedClumns.length > 1) {\r\n if ($('#searchContact').val().includes(' / ')) {\r\n var searchvaluesarray = $('#searchContact').val().split(' / ');\r\n for (let i = 0; i < searchvaluesarray.length; i++) {\r\n filterdata += selectedClumns + \":\" + searchvaluesarray[i];\r\n if ((i + 1) < searchvaluesarray.length) {\r\n filterdata += \"|\";\r\n }\r\n }\r\n }\r\n else {\r\n filterdata = selectedClumns + \":\" + $('#searchContact').val();\r\n }\r\n\r\n\r\n }\r\n else {\r\n if (selectedClumns.length > 0 && selectedClumns.length == 1) {\r\n if ($('#searchContact').val().includes(' / ')) {\r\n var searchvaluesarray = $('#searchContact').val().split(' / ');\r\n //searchvaluesarray.forEach(element => {\r\n for (let i = 0; i < searchvaluesarray.length; i++) {\r\n filterdata += selectedClumns + \":\" + searchvaluesarray[i];\r\n if ((i + 1) < searchvaluesarray.length) {\r\n filterdata += \"|\";\r\n }\r\n }\r\n\r\n //});\r\n } else {\r\n filterdata += selectedClumns + \":\" + $('#searchContact').val();\r\n }\r\n\r\n }\r\n }\r\n \r\n }\r\n\r\n onSearchChange(searchValue: string) {\r\n if (searchValue == null) { searchValue = $('#searchContact').val(); }\r\n this.searchCriteria += $('#searchContact').val() + \" / \";\r\n var selectcolums = [];\r\n var PreviousSelectedColumns = [];\r\n this.SearchSelectedItems.forEach(selitem => {\r\n selectcolums.push(selitem.id)\r\n })\r\n this.term = searchValue;\r\n var url = window.location.href;\r\n this.maincontent == false;\r\n if (this.selectedtabid === 'contact') {\r\n this.globalMultiSelect = true;\r\n if (searchValue != \"\") {\r\n if (document.getElementById('contactMainMenu').className == 'activeButton') {\r\n if (searchValue == \"delete\") {\r\n\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('contacts');\r\n } else {\r\n return false;\r\n }\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('contacts');\r\n }\r\n else {\r\n localStorage.setItem('contactSearchCriteria', this.searchCriteria);\r\n this.advancedSearchService.searchdata('contacts', this.currentuser.id).then(result => { \r\n\r\n if (result != null && result != undefined) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n this.saveSearchQuery('contacts', selectcolums, PreviousSelectedColumns);\r\n\r\n });\r\n }\r\n }\r\n else if (document.getElementById('AccountsMainMenu').className == 'activeButton') {\r\n if (searchValue == \"delete\") {\r\n\r\n var isConfirmed = confirm(\"Account Search Fields was cleared, do you want to continue?? click 'Ok'\");\r\n if (isConfirmed) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('ContactsAccount');\r\n } else {\r\n return false;\r\n }\r\n }\r\n else {\r\n this.advancedSearchService.searchdata('ContactsAccount', this.currentuser.id).then(result => {\r\n\r\n\r\n if (result != null) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n if (/,/.test(columnarray[k]) == true) {\r\n PreviousSelectedColumns = columnarray[k].split(',');\r\n }\r\n else {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n }\r\n else {\r\n if (/,/.test(result.filtercolumnsdata) == true) {\r\n PreviousSelectedColumns = result.filtercolumnsdata.split(',');\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n }\r\n\r\n //this.router.navigateByUrl(`/application/contacts/contacts/${searchValue}`);\r\n this.saveSearchQuery('ContactsAccount', selectcolums, PreviousSelectedColumns);\r\n\r\n });\r\n //this.saveSearchQuery('ContactsAccount', selectcolums, PreviousSelectedColumns);\r\n\r\n }\r\n\r\n }\r\n \r\n else if (document.getElementById('quickview_button').className == 'subButtons activeButton') {\r\n if (searchValue == \"delete\") {\r\n var isConfirmed = confirm(\"QuickView Search Fields was cleared, do you want to continue?? click 'Ok'\");\r\n if (isConfirmed) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('QuickView');\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n else {\r\n this.saveSearchQuery('QuickView', selectcolums, PreviousSelectedColumns);\r\n }\r\n }\r\n\r\n }\r\n }\r\n else if (this.selectedtabid === 'Accounts') {\r\n this.globalMultiSelect = true;\r\n if (searchValue != \"\") {\r\n if (document.getElementById('AccountsMainMenu').className == 'activeButton') {\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('Accounts');\r\n } else {\r\n return false;\r\n }\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('Accounts');\r\n }\r\n else {\r\n localStorage.setItem('AccountSearchCriteria', this.searchCriteria);\r\n this.advancedSearchService.searchdata('Accounts', this.currentuser.id).then(result => {\r\n\r\n if (result != null && result != undefined) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n //this.router.navigateByUrl(`/application/contacts/contacts/${searchValue}`);\r\n this.saveSearchQuery('Accounts', selectcolums, PreviousSelectedColumns);\r\n\r\n });\r\n }\r\n }\r\n\r\n }\r\n }\r\n else if (this.selectedtabid === 'customers') {\r\n \r\n \r\n this.globalMultiSelect = true;\r\n if (searchValue != \"\") {\r\n if (document.getElementById('customersMainMenu').className == 'activeButton') {\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('Customers');\r\n } else {\r\n return false;\r\n }\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('Customers');\r\n }\r\n else {\r\n localStorage.setItem('customersSearchCriteria', this.searchCriteria);\r\n this.advancedSearchService.searchdata('Customers', this.currentuser.id).then(result => {\r\n\r\n if (result != null && result != undefined) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n \r\n //this.router.navigateByUrl(`/application/contacts/contacts/${searchValue}`);\r\n if (localStorage.getItem(\"CustomerType\") == 'account') {\r\n this.saveSearchQuery('CustomerAccount', selectcolums, PreviousSelectedColumns);\r\n } else {\r\n this.saveSearchQuery('customercontacts', selectcolums, PreviousSelectedColumns);\r\n }\r\n \r\n\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n }\r\n else if (this.selectedtabid === 'leads') {\r\n this.closedLeadVal == null ? this.closedLeadVal = 'Open' : this.closedLeadVal\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery(this.closedLeadVal + 'Leads');\r\n } else {\r\n return false;\r\n }\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/leadsdashboard/0/0/null`);\r\n }, 200));\r\n }\r\n else {\r\n if (this.selectedsubbutton == 'Open') {\r\n localStorage.setItem('OpenLeadsSearchCriteria', this.searchCriteria);\r\n } else if (this.selectedsubbutton == 'Closed') {\r\n localStorage.setItem('ClosedLeadsSearchCriteria', this.searchCriteria);\r\n } else if (this.selectedsubbutton == 'All') {\r\n localStorage.setItem('AllLeadsSearchCriteria', this.searchCriteria);\r\n }\r\n\r\n this.advancedSearchService.searchdata(this.closedLeadVal, this.currentuser.id).then(result => {\r\n\r\n if (result != null && result != undefined) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n this.saveSearchQuery(this.closedLeadVal + 'Leads', selectcolums, PreviousSelectedColumns);\r\n });\r\n\r\n\r\n }\r\n }\r\n else if (this.selectedtabid === 'opportunities') {\r\n\r\n (this.closedOpportunityVal == null) ? this.closedOpportunityVal = 'Open' : this.closedOpportunityVal\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery(this.closedOpportunityVal + 'Opportunity');\r\n } else {\r\n return false;\r\n }\r\n\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/opportunitiesdashboard/0/0/null/null`);\r\n }, 200));\r\n }\r\n else {\r\n if (this.closedOpportunityVal == 'Open') {\r\n localStorage.setItem('OpenOppSearchCriteria', this.searchCriteria);\r\n } else if (this.closedOpportunityVal == 'Closed') {\r\n localStorage.setItem('ClosedOppSearchCriteria', this.searchCriteria);\r\n } else if (this.closedOpportunityVal == 'All') {\r\n localStorage.setItem('AllOppSearchCriteria', this.searchCriteria);\r\n }\r\n\r\n this.advancedSearchService.searchdata(this.closedOpportunityVal + 'Opportunity', this.currentuser.id).then(result => {\r\n\r\n if (result != null && result != undefined) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n this.saveSearchQuery(this.closedOpportunityVal + 'Opportunity', selectcolums, PreviousSelectedColumns);\r\n });\r\n }\r\n }\r\n else if (this.selectedtabid === 'task lists') {\r\n (this.TaskDataVal == null) ? this.TaskDataVal = 'Open Tasks' : this.TaskDataVal\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery(this.TaskDataVal );\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n else {\r\n if (this.Searchtabname == 'OpenTaskHistory') {\r\n localStorage.setItem('OpenTaskSearchCriteria', this.searchCriteria);\r\n } else if (this.Searchtabname == 'ClosedTaskHistory') {\r\n localStorage.setItem('ClosedTasksSearchCriteria', this.searchCriteria);\r\n } else if (this.Searchtabname == 'AllTaskHistory') {\r\n localStorage.setItem('AllTasksSearchCriteria', this.searchCriteria);\r\n }\r\n this.advancedSearchService.searchdata(this.TaskDataVal, this.currentuser.id).then(result => {\r\n\r\n if (result != null && result != undefined) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n this.saveSearchQuery(this.TaskDataVal , selectcolums, PreviousSelectedColumns);\r\n });\r\n }\r\n }\r\n else if (this.selectedtabid === 'TaskCalander' || this.selectedtabid === 'Calendar') {\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery(this.calandarType );\r\n } else {\r\n return false;\r\n }\r\n }\r\n else {\r\n this.saveSearchQuery(this.calandarType , selectcolums, PreviousSelectedColumns);\r\n }\r\n }\r\n else if (this.selectedtabid === 'reports') {\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('Reports');\r\n } else {\r\n return false;\r\n }\r\n\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/reports/delete`);\r\n }, 100));\r\n }\r\n else {\r\n this.saveSearchQuery('Reports', selectcolums, PreviousSelectedColumns);\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/reports/${searchValue}`);\r\n }, 100));\r\n\r\n }\r\n }\r\n else if (this.selectedtabid === 'Proposals') {\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('Proposals');\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n else {\r\n localStorage.setItem('ProposalSearchCriteria', this.searchCriteria);\r\n this.advancedSearchService.searchdata('Proposals', this.currentuser.id).then(result => {\r\n\r\n if (result != null && result != undefined) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n this.saveSearchQuery('Proposals', selectcolums, PreviousSelectedColumns);\r\n });\r\n\r\n }\r\n }\r\n else if (this.selectedtabid === 'tickets') {\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('tickets');\r\n } else {\r\n return false;\r\n }\r\n }\r\n else {\r\n //this.saveSearchQuery('tickets', selectcolums, PreviousSelectedColumns);\r\n localStorage.setItem('tickets', this.searchCriteria);\r\n this.advancedSearchService.searchdata('tickets', this.currentuser.id).then(result => {\r\n\r\n if (result != null && result != undefined) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n this.saveSearchQuery('tickets', selectcolums, PreviousSelectedColumns);\r\n });\r\n }\r\n }\r\n else if (this.selectedtabid === 'Rhx') {\r\n if (searchValue == \"delete\") {\r\n var isConfirmed = confirm(\"Reports Search Fields was cleared, do you want to continue?? click 'Ok'\");\r\n if (isConfirmed) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('Rhx');\r\n } else {\r\n return false;\r\n }\r\n\r\n //let selfobj = this;\r\n //$(setTimeout(function () {\r\n // selfobj.router.navigateByUrl(`/application/reports/delete`);\r\n //}, 100));\r\n }\r\n else {\r\n this.saveSearchQuery('Rhx', selectcolums, PreviousSelectedColumns);\r\n //let selfobj = this;\r\n //$(setTimeout(function () {\r\n // selfobj.router.navigateByUrl(`/application/reports/${searchValue}`);\r\n //}, 100));\r\n\r\n }\r\n }\r\n else if (this.selectedtabid === 'Call Lists') {\r\n if (searchValue == \"delete\") {\r\n if (this.clearSearchConfirm) {\r\n this.searchstring = \"\";\r\n this.searchCriteria = \"\";\r\n this.deletSearchQuery('Calllists');\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n else {\r\n this.advancedSearchService.searchdata('Calllists', this.currentuser.id).then(result => {\r\n if (result != null) {\r\n var str = $('#Search').val();\r\n if (/|/.test(result.filtercolumnsdata) == true) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n\r\n for (let k = 0; k < columnarray.length; k++) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n else {\r\n PreviousSelectedColumns.push(result.filtercolumnsdata);\r\n }\r\n }\r\n this.saveSearchQuery('Calllists', selectcolums, PreviousSelectedColumns);\r\n\r\n });\r\n // this.saveSearchQuery('Calllist', selectcolums, PreviousSelectedColumns);\r\n }\r\n }\r\n else {\r\n this.initializeAgGrid();\r\n this.hideGlobalSearchtable = false;\r\n if (searchValue == \"delete\") {\r\n var isConfirmed = confirm(\"Global Search Fields was cleared, do you want to continue?? click 'Ok'\");\r\n if (isConfirmed) {\r\n this.searchCriteria = \"\";\r\n this.searchCriteriadata = [];\r\n this.searchstring = \"\";\r\n this.deletSearchQuery('Global');\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n else {\r\n this.term = searchValue;\r\n this.saveSearchQuery('Global', selectcolums, PreviousSelectedColumns);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n globalSearch() {\r\n var url = window.location.href;\r\n if (url.indexOf('contacts') < 0) {\r\n $(setTimeout(function () {\r\n var appendHtml = '

      ';\r\n\r\n $('#lblDeActive').remove();\r\n\r\n }, 500));\r\n }\r\n var userids = $(\"#userids\").val();\r\n userids = (userids != undefined && userids != null && userids != \"\") ? userids : this.currentuser.id;\r\n this.Getcontactorcustomerinfo(userids);\r\n }\r\n\r\n Getcontactorcustomerinfo(userids) {\r\n if (this.term != null && this.term != undefined && this.term != \"\") {\r\n this.opprtunityservice.GetAllContactsAndCustomerBySearch(this.term, userids, this.startDateVal, this.endDateVal, '457', true).then((data) => {\r\n this.tableData = data;\r\n this.totalglobalsearchcount = this.tableData.length;\r\n if (this.totalglobalsearchcount > 0) { this.isCustomer = true, this.isFormerCustomer = true } else { this.isCustomer = false, this.isFormerCustomer = false }\r\n\r\n });\r\n if (this.tableData[0].islimitedSearch == true) {\r\n \r\n this.isSearchresult == true;\r\n $('#searchContact').val(this.tableData[0].SearchVal);\r\n this.searchstring = this.tableData[0].SearchVal;\r\n this.limitedSearch = true;\r\n } else {\r\n \r\n this.isSearchresult == true;\r\n $('#searchContact').val(\"\");\r\n this.searchstring = \"\";\r\n this.limitedSearch = false;\r\n }\r\n this.createColumnDefs(this.colSelections, this.searchstring);\r\n\r\n //this.term = '';\r\n }\r\n }\r\n \r\n\r\n onKeyPress(event: any) {\r\n this.term = event.target.value;\r\n };\r\n callListSavePopUpCss() {\r\n setTimeout(function () {\r\n $('#Iscalllistdialogshow .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;'); }, 4)\r\n \r\n }\r\n\r\n ticketCreatePopUpCss() {\r\n setTimeout(function () {\r\n $('#IsCreateTicketshow .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n\r\n }\r\n activateMainButtons(id) { \r\n if (id != 'Create Task' && id != 'Create Tickets' && id != 'Create Text' && id != 'Create eMail')\r\n this.displayIcons = false;\r\n if (id == 'QuickView' || id == 'Create Call List' || id == 'Call Lists' || id == 'Campaigns') {\r\n \r\n this.displayIcons = true;\r\n }\r\n this.selectedmainbutton = id;\r\n var url = window.location.href;\r\n if (id == \"Create Call List\") {\r\n this.calllisturl = url;\r\n\r\n } else {\r\n if (this.calllisturl != \"\" && this.calllisturl != url) {\r\n if (this.Iscalllisterrorshow) {\r\n this.Iscalllistdialogshow = true;\r\n this.callListSavePopUpCss();\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (id == \"Create Tickets\") {\r\n this.pageViewed = 'CreateTicket';\r\n this.ticketcreateurl = url;\r\n } else {\r\n if (this.ticketcreateurl != \"\" && this.ticketcreateurl != url) {\r\n this.ticketCreatePopUpCss();\r\n return false;\r\n }\r\n }\r\n this.AboutUsPage = false;\r\n this.startDateVal = new Date().getFullYear() + \"-01-01\";\r\n this.endDateVal = new Date().getFullYear() + \"-12-31\";;\r\n this.startDatePlaceHolder = 'Start:01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder = 'End:12-31-' + new Date().getFullYear().toString();\r\n this.startVal = this.startDateVal;\r\n this.endVal = this.endDateVal;\r\n this.searchCriteriadata = [];\r\n this.googlemapshow = false;\r\n this.isDateSelected = false;\r\n if (id !== 'Map It') {\r\n this.ShowTransferAccounts = false;\r\n this.sideMenuDisable('Enable');\r\n }\r\n \r\n this.totalglobalsearchcount = 0;\r\n this.SearchNotAvailable = false;\r\n this.Search(false);\r\n //this.QuickSearchDiv = false;\r\n localStorage.removeItem('RhxContactVal');\r\n localStorage.removeItem('RhxAccountVal');\r\n localStorage.removeItem('TaskSelected');\r\n this.searchCriteria = \"\";\r\n if (!this.viewpermission) {\r\n this.isAccessDenied = true;\r\n this.dialogsize();\r\n }\r\n else {\r\n var classOfId = $('#' + id + \"MainMenu\").attr('class');\r\n if (classOfId == '') {\r\n this.CollapseSelectedMenu(id.replace(\" \", \"\"));\r\n }\r\n else {\r\n let str = id;\r\n if (this.userprevilages != undefined) {\r\n var button = document.getElementById(id + 'MainMenu');\r\n var buttonname = (button == null) ? id : (button.title);\r\n var thisTab = this.userprevilages.filter(p => p.resource == buttonname || p.resource.toLowerCase() == buttonname)[0];\r\n if (thisTab == undefined || (thisTab !== undefined && thisTab.canview == false)) {\r\n this.toastr.warning(\"You1 Do Not have Access to \" + buttonname + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\", { timeOut: 1500 });\r\n\r\n return false;\r\n\r\n } else {\r\n if (id == 'Advanced Search') {\r\n if (str == 'imported') {\r\n this.activateSubButtons('imported');\r\n } else {\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"activeButton\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n this.router.navigateByUrl(`/application`);\r\n }\r\n }\r\n else if (id == 'saletool') {\r\n this.showsaleTool = true;\r\n }\r\n else {\r\n this.showsaleTool = false;\r\n }\r\n var email = $('#emailIds').val() == '' ? 0 : $('#emailIds').val();\r\n this.Email = email;\r\n if (id != 'QuickSearch' && id != \"Create Proposal\") {\r\n this.selectedtabid = id;\r\n }\r\n \r\n this.taskselectedtype = $('#tasklistselectedtyle').val();\r\n $(\".subButtons\").show();\r\n this.CommonTabs = true;\r\n \r\n if ($.trim($(\"#test\").val()) != '') {\r\n if ($(\"#test\").val() == \"Proposals\") {\r\n $(\"#test\").val('');\r\n return false;\r\n } else {\r\n \r\n var yes = confirm(\"You have not completed adding the\" + $(\"#test\").val() + \"information, click OK to exit (the note will not be saved) or click Cancel and continue adding information in the\" + $(\"#test\").val() + \".\");\r\n if (yes) {\r\n $(\"#test\").val('');\r\n } else {\r\n document.getElementById('LeadsTabs').style.display = 'block';\r\n return false;\r\n }\r\n }\r\n \r\n\r\n }\r\n this.hideGlobalSearchtable = true;\r\n this.globalMultiSelect = true;\r\n if (id != 'Marketing' && id != 'Create Project'&& id != 'Create Task' && id != 'Map It' && id != 'Recent' && id !== 'Create Text' && id !== 'Create eMail') {\r\n let thats = this;\r\n $(setTimeout(function () {\r\n thats.ExpandSelectedMenu(id.replace(\" \", \"\"));\r\n }, 100))\r\n }\r\n $(\".checkMark\").removeClass(\"activeColor\");\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n\r\n if (id == \"leads\" || id == \"task lists\" || id == \"Task Lists\") {\r\n $(\"#a-z\").addClass(\"activeColor\");\r\n $(\"#a-z_button\").addClass(\"activeButton\");\r\n this.pageViewed = '';\r\n }\r\n $(setTimeout(function () {\r\n $(\"#\" + id + \"_span\").addClass(\"activeColor\");\r\n }, 100));\r\n if (id == 'leads') {\r\n var url = window.location.href; \r\n if (this.calllisturl != \"\" && this.calllisturl != url) {\r\n if (this.Iscalllisterrorshow) {\r\n this.Iscalllistdialogshow = true;\r\n this.callListSavePopUpCss();\r\n return false;\r\n }\r\n }\r\n this.Searchtabname = 'Open Leads';\r\n this.closedLeadVal = \"Open\";\r\n var url = window.location.href;\r\n\r\n if (url.indexOf('leadsdashboard') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.ClosedLeads('Open', selfobj.currentuser.id, 'Open Leads'); \r\n selfobj.router.navigateByUrl(`/application/leadsdashboard/0/0/null`);\r\n }, 100));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.ClosedLeads('Open', this.currentuser.id, 'Open Leads'); \r\n this.router.navigateByUrl(`/application/leadsdashboard/0/0/null`);\r\n }\r\n \r\n }\r\n else if (id == 'contact') {\r\n var url = window.location.href;\r\n if (url.indexOf('contacts') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }\r\n \r\n }\r\n else if (id == 'Accounts') {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/account/Accounts`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n } \r\n }\r\n else if (id == 'Add Account') {\r\n this.activateSubButtons(id);\r\n }\r\n else if (id == 'customers') {\r\n localStorage.removeItem('SelectedSubMenu');\r\n this.Searchtabname = \"customercontacts\";\r\n\r\n if (localStorage.getItem(\"CustomerType\") == 'contact') {\r\n this.router.navigateByUrl(`/application/customercontacts`);\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Customer`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Customer`);\r\n }\r\n }\r\n if (this.pageViewed === 'Customer') {\r\n localStorage.setItem(\"CustPage\", \"\");\r\n this.pageViewed = \"\";\r\n } else {\r\n localStorage.setItem(\"CustPage\", \"Customer\");\r\n this.pageViewed = \"Customer\";\r\n }\r\n }\r\n else if (id == 'opportunities') {\r\n this.Searchtabname = 'OpenOpportunity';\r\n this.closedOpportunityVal = 'Open';\r\n localStorage.setItem('SubTabOpportunity', this.Searchtabname);\r\n localStorage.removeItem('SelectedSubMenu');\r\n var url = window.location.href;\r\n if (url.indexOf('opportunitiesdashboard') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.ClosedOpportunity('Open', selfobj.currentuser.id);\r\n selfobj.router.navigateByUrl(`/application/opportunitiesdashboard/0/0/null/null`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.ClosedOpportunity('Open', this.currentuser.id);\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/0/0/null/null`);\r\n } \r\n }\r\n else if (id == 'task lists') {\r\n this.Searchtabname = 'OpenTaskHistory';\r\n this.TaskDataVal = 'Open Tasks';\r\n var url = window.location.href;\r\n localStorage.removeItem('SelectedSubMenu');\r\n this.isTaskDataLeadEventRaised = true;\r\n this.TaskDataUserids = this.currentuser.id;\r\n var url = window.location.href;\r\n if (url.indexOf('tasklistdashboard') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n \r\n selfobj.router.navigateByUrl(`/application/tasklistdashboard/null/0/null/null`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/null/0/null/null`);\r\n }\r\n var ids = ($('#emailIds').val());\r\n $('#emailIds').val(\"\");\r\n $('#tasklistselectedtyle').val(\"\");\r\n }\r\n else if (id == 'tickets') {\r\n var ids = $('#emailIds').val() == '' ? 0 : $('#emailIds').val();\r\n var email = $('#emailIds').val() == '' ? 0 : $('#emailIds').val();\r\n localStorage.removeItem('SelectedSubMenu');\r\n this.Searchtabname = \"Open Tickets\";\r\n\r\n this.TicketData('Open', this.currentuser.id, 'Open Tickets');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#OpenTickets_button\").addClass(\"activeButton\");\r\n this.pageViewed = '';\r\n }\r\n else if (id == 'Calendar') {\r\n this.Searchtabname = \"TaskCalander\";\r\n localStorage.removeItem('SelectedSubMenu');\r\n this.SubmenuChange('Calendar', 'TaskCalander', 'Sub');\r\n this.router.navigateByUrl(`/application/month-calender/null`);\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#TaskCalander_button\").addClass(\"activeButton\");\r\n\r\n }\r\n else if (id == 'Internal Messages') {\r\n this.router.navigateByUrl(`/application/messaging/0`); \r\n //this.MessagingDialog = true;\r\n //this.fullPopupcss('#MessagingDialog .dialog'); \r\n }\r\n else if (id == 'zendesk') {\r\n var ids = ($('#emailIds').val());\r\n this.Searchtabname = \"OpenTickets\";\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#OpenTickets_button\").addClass(\"activeButton\");\r\n this.router.navigateByUrl(`/application/zendeskhome/` + ids);\r\n\r\n }\r\n \r\n else if (id == 'Sales Forecast') {\r\n this.ClosedLeads('Forecasting', this.currentuser.id, 'Forecasting');\r\n this.router.navigateByUrl(`/application/forecasting`);\r\n this.pageViewed = '';\r\n }\r\n else if (id == 'systemConfig') {\r\n //document.getElementById('commontabs').style.display = 'none';\r\n this.CommonTabs = false;\r\n \r\n this.router.navigateByUrl(`/application/configurationdashboard/420`);\r\n }\r\n else if (id == 'dashboards') { \r\n let str = localStorage.getItem('dashboardTab');\r\n if (str == null) {\r\n str = 'tab1';\r\n }\r\n this.router.navigateByUrl(`/application/dashboard/` + str);\r\n this.SearchSelectedItems = [];\r\n localStorage.removeItem('SelectedSubMenu');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#dashboardsSubMenu\").addClass(\"activeButton\");\r\n this.DashBoarddata(str);\r\n this.pageViewed = ''; \r\n this.PopUpMessageType = null;\r\n }\r\n else if (id == 'My Documents') {\r\n this.activateSubButtons('My Documents');\r\n }\r\n else if (id == 'My Subscription') {\r\n this.activateSubButtons('My Subscription');\r\n }\r\n else if (id == 'My Profile') {\r\n //this.router.navigateByUrl(`/application/profile`);\r\n this.SearchSelectedItems = [];\r\n this.selectedsubbutton = id;\r\n this.ShowConfigurationDialog = true;\r\n this.ShowConfigurationDialogCss(id);\r\n \r\n\r\n }\r\n else if (id == 'AccountTransfer') {\r\n \r\n this.SearchSelectedItems = [];\r\n this.selectedsubbutton = '612';\r\n \r\n }\r\n else if (id == 'reports') {\r\n this.Searchtabname = \"StandardReports\";\r\n\r\n localStorage.removeItem('SelectedSubMenu');\r\n this.router.navigateByUrl(`/application/reports/audit`);\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#StandardReports_button\").addClass(\"activeButton\");\r\n this.pageViewed = '';\r\n }\r\n else if (id == 'Campaigns') { \r\n this.selectedsubbutton = id;\r\n this.viewCampaigns('view', this.currentuser.id);\r\n }\r\n else if (id == 'AboutSalesXCRM') {\r\n this.AboutUsPageType = id;\r\n this.ShowConfigurationDialog = true;\r\n this.ShowConfigurationDialogCss(id);\r\n this.ActionClick('AboutSalesXCRM');\r\n this.activateSubButtons('AboutSalesXCRM');\r\n }\r\n else if (id == 'PendedProposal') {\r\n \r\n this.selectedsubbutton = id;\r\n }\r\n\r\n else if (id == 'Contact Us') {\r\n this.ShowConfigurationDialog = true;\r\n this.ShowConfigurationDialogCss(id);\r\n this.AboutUsPageType = 'ContactUs';\r\n this.ActionClick('ContactUs');\r\n }\r\n else if (id == 'ReleaseNotes') {\r\n this.AboutUsPageType = id;\r\n this.ActionClick('ReleaseNotes');\r\n }\r\n else if (id == 'saletool') {\r\n //this.showSalestoolSubTabs = true;\r\n this.router.navigateByUrl(`/application/salestool/ResponseWizard`);\r\n }\r\n else if (id == 'Marketing') {\r\n this.SearchNotAvailable = true;\r\n this.notSelectedCss(\"SearchNotAvailable\");\r\n // this.pageViewed = '';\r\n\r\n }\r\n else if (id == 'Proposals') {\r\n this.pageViewed = '';\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.activateSubButtons('');\r\n $(setTimeout(function () {\r\n selfobj.ProposalSubMenu('Open Proposals');\r\n }, 50))\r\n }, 10));\r\n \r\n }\r\n else if (id == 'Call Lists') {\r\n this.activateSubButtons('viewcalllist');\r\n }\r\n else if (id == 'Create Task') {\r\n this.pageViewed = \"ScheduleTask\";\r\n this.activateSubButtons('schedTask')\r\n }\r\n else if (id == 'Create eMail') {\r\n this.activateSubButtons('email');\r\n }\r\n else if (id == 'Create Text') {\r\n this.activateSubButtons('SMS');\r\n }\r\n else if (id == 'Create Opportunity') {\r\n this.activateSubButtons('Opportunity');\r\n }\r\n else if (id == 'Create Tickets') {\r\n this.activateSubButtons('Tickets');\r\n }\r\n else if (id == 'Create Proposal') {\r\n this.activateSubButtons('Proposals');\r\n this.ShowConfigurationDialog = false;\r\n }\r\n else if (id == 'Create Call List') {\r\n this.activateSubButtons('calllists');\r\n }\r\n else if (id == 'QuickView') {\r\n this.activateSubButtons('quickview');\r\n }\r\n else if (id == 'Map It') {\r\n \r\n if (this.pageViewed !== 'MapIt') {\r\n this.activateSubButtons('MapIt');\r\n \r\n } else {\r\n this.activateSubButtons('UnMapit');\r\n }\r\n }\r\n else if (id == 'QuickSearch') {\r\n \r\n this.QuickSearch()\r\n }\r\n else if (id == 'Recent') {\r\n this.ShowRHxMenuDiv(true)\r\n }\r\n else if (id == 'SocialMedia') {\r\n this.SearchNotAvailable = true;\r\n this.notSelectedCss(\"SearchNotAvailable\");\r\n }\r\n else if (id == 'Projects' || id == 'Create Project') {\r\n if (id == 'Projects') {\r\n // this.pageViewed = 'CreateProject';\r\n this.ExpandSelectedMenu('Projects');\r\n //var type = (this.taskselectedtype == 'Contact') ? this.taskselectedtype : 'Account';\r\n \r\n // this.router.navigateByUrl(`/application/projects/` + this.Email + '/' + type);\r\n localStorage.removeItem(\"projecttype\");\r\n this.router.navigateByUrl(`/application/projects/0/Account/0`); // When we click on Projects(Leftside Menu) it should redirect to Projects but not Project View Page\r\n \r\n } else {\r\n var type = (this.taskselectedtype == 'Contact') ? this.taskselectedtype : 'Account';\r\n if (this.Email && type ==\"Account\") {\r\n let array = this.Email.split(',');\r\n if (array.length === 1 && email !== undefined && email !== '') { \r\n \r\n this.pageViewed = 'CreateProject';\r\n this.ExpandSelectedMenu('Projects');\r\n this.router.navigateByUrl(`/application/projects/` + this.Email + '/' + type+'/0');\r\n \r\n } else if (array.length > 1) {\r\n this.isMultipleContactSelected = true;\r\n this.notSelectedCss(\"isMultipleContactSelected\");\r\n }\r\n }\r\n else {\r\n this.loaddialog('NotSelected', 'Action Icon', 'An Account or Contact must be selected first', false, false, true, true,0); \r\n }\r\n }\r\n\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application`);\r\n this.SearchSelectedItems = [];\r\n this.SearchColumnList = [];\r\n }\r\n\r\n\r\n if (id !== 'Recent') {\r\n localStorage.setItem('Tab', this.selectedtabid);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n $('#searchBox').attr('style', 'display:block;padding: 0 ; margin-bottom: 0.3%;');\r\n if (id !== 'Create Text' && id !== 'Create eMail' && id !== 'Add Account') {\r\n if (!this.displayIcons) {\r\n $('#emailIds').val(\"\");\r\n $('#tasklistselectedtyle').val(\"\");\r\n }\r\n }\r\n \r\n //this.pageViewed = \"\";\r\n \r\n }\r\n fullPopupcss(id) {\r\n $(setTimeout(function () {\r\n $(id).attr('style', 'width: 100%;padding-bottom:0px;border: none;min-height:67%;overflow: auto;height: 84%;top:11%;left:0.2%;') \r\n }, 4));\r\n }\r\n\r\n resetpwddialog() {\r\n this.resetpwd = !this.resetpwd;\r\n $('.dialog').width('50%');\r\n }\r\n\r\n ExpandSelectedMenu(val) {\r\n \r\n $('#dashboardsMainMenu').attr('aria-expanded', 'false');\r\n $('#dashboardsMainMenu').addClass('collapsed');\r\n $('#dashboardsMainMenu').removeClass('activeButton');\r\n\r\n $('#QuickSearchMainMenu').attr('aria-expanded', 'false');\r\n $('#QuickSearchMainMenu').addClass('collapsed');\r\n $('#QuickSearchMainMenu').removeClass('activeButton');\r\n\r\n $('#RecentMainMenu').attr('aria-expanded', 'false');\r\n $('#RecentMainMenu').addClass('collapsed');\r\n $('#RecentMainMenu').removeClass('activeButton');\r\n\r\n $('#contactMainMenu').attr('aria-expanded', 'false');\r\n $('#contactMainMenu').addClass('collapsed');\r\n $('#contactMainMenu').removeClass('activeButton');\r\n $('#contact').removeClass('in');\r\n\r\n $('#AccountsMainMenu').attr('aria-expanded', 'false');\r\n $('#AccountsMainMenu').addClass('collapsed');\r\n $('#AccountsMainMenu').removeClass('activeButton');\r\n $('#Accounts').removeClass('in');\r\n\r\n $('#leadsMainMenu').attr('aria-expanded', 'false');\r\n $('#leadsMainMenu').addClass('collapsed');\r\n $('#leadsMainMenu').removeClass('activeButton');\r\n $('#leads').removeClass('in');\r\n\r\n $('#opportunitiesMainMenu').attr('aria-expanded', 'false');\r\n $('#opportunitiesMainMenu').addClass('collapsed');\r\n $('#opportunitiesMainMenu').removeClass('activeButton');\r\n $('#opportunities').removeClass('in');\r\n\r\n $('#tasklistsMainMenu').attr('aria-expanded', 'false');\r\n $('#tasklistsMainMenu').addClass('collapsed');\r\n $('#tasklistsMainMenu').removeClass('activeButton');\r\n //$('#tasklist').removeClass('in');\r\n\r\n $('#CalendarMainMenu').attr('aria-expanded', 'false');\r\n $('#CalendarMainMenu').addClass('collapsed');\r\n $('#CalendarMainMenu').removeClass('activeButton');\r\n\r\n $('#reportsMainMenu').attr('aria-expanded', 'false');\r\n $('#reportsMainMenu').addClass('collapsed');\r\n $('#reportsMainMenu').removeClass('activeButton');\r\n $('#reports').removeClass('in');\r\n\r\n $('#MarketingMainMenu').attr('aria-expanded', 'false');\r\n $('#MarketingMainMenu').addClass('collapsed');\r\n $('#contactMainMenu').removeClass('activeButton');\r\n $('#Marketing').removeClass('in');\r\n\r\n $('#ProjectsMainMenu').attr('aria-expanded', 'false');\r\n $('#ProjectsMainMenu').addClass('collapsed');\r\n $('#ProjectsMainMenu').removeClass('activeButton');\r\n $('#Projects').removeClass('in');\r\n\r\n $('#ticketsMainMenu').attr('aria-expanded', 'false');\r\n $('#ticketsMainMenu').addClass('collapsed');\r\n $('#ticketsMainMenu').removeClass('activeButton');\r\n $('#tickets').removeClass('in');\r\n\r\n $('#customersMainMenu').attr('aria-expanded', 'false');\r\n $('#customersMainMenu').addClass('collapsed');\r\n $('#customersMainMenu').removeClass('activeButton');\r\n $('#customers').removeClass('in');\r\n\r\n $('#MySalesXCRMMainMenu').attr('aria-expanded', 'false');\r\n $('#MySalesXCRMMainMenu').addClass('collapsed');\r\n $('#MySalesXCRMMainMenu').removeClass('activeButton');\r\n\r\n $('#RecentHistoryMainMenu').attr('aria-expanded', 'false');\r\n $('#RecentHistoryMainMenu').addClass('collapsed');\r\n $('#RecentHistoryMainMenu').removeClass('activeButton');\r\n\r\n $('#MyProfileMainMenu').attr('aria-expanded', 'false');\r\n $('#MyProfileMainMenu').addClass('collapsed');\r\n $('#MyProfileMainMenu').removeClass('activeButton');\r\n\r\n\r\n $('#SalesToolsMainMenu').attr('aria-expanded', 'false');\r\n $('#SalesToolsMainMenu').addClass('collapsed');\r\n $('#SalesToolsMainMenu').removeClass('activeButton');\r\n\r\n $('#internalmessagingMainMenu').attr('aria-expanded', 'false');\r\n $('#internalmessagingMainMenu').addClass('collapsed');\r\n $('#internalmessagingMainMenu').removeClass('activeButton');\r\n\r\n $('#CallListsMainMenu').attr('aria-expanded', 'false');\r\n $('#CallListsMainMenu').addClass('collapsed');\r\n $('#CallListsMainMenu').removeClass('activeButton');\r\n\r\n $('#CampaignsMainMenu').attr('aria-expanded', 'false');\r\n $('#CampaignsMainMenu').addClass('collapsed');\r\n $('#CampaignsMainMenu').removeClass('activeButton');\r\n //$('#Campaigns').removeClass('in');\r\n\r\n $('#SystemConfigurationMainMenu').attr('aria-expanded', 'false');\r\n $('#SystemConfigurationMainMenu').addClass('collapsed');\r\n $('#SystemConfigurationMainMenu').removeClass('activeButton');\r\n $('#SystemConfiguration').removeClass('in');\r\n\r\n $('#UserConfigurationMainMenu').attr('aria-expanded', 'false');\r\n $('#UserConfigurationMainMenu').addClass('collapsed');\r\n $('#UserConfigurationMainMenu').removeClass('activeButton');\r\n\r\n $('#SysregMainMenu').attr('aria-expanded', 'false');\r\n $('#SysregMainMenu').addClass('collapsed');\r\n $('#SysregMainMenu').removeClass('activeButton');\r\n $('#Sysreg').removeClass('in');\r\n\r\n $('#ProposalsMainMenu').attr('aria-expanded', 'false');\r\n $('#ProposalsMainMenu').addClass('collapsed');\r\n $('#ProposalsMainMenu').removeClass('activeButton');\r\n //$('#Proposal').removeClass('in');\r\n\r\n $('#AboutSalesXCRMMainMenu').attr('aria-expanded', 'false');\r\n $('#AboutSalesXCRMMainMenu').addClass('collapsed');\r\n $('#AboutSalesXCRMMainMenu').removeClass('activeButton');\r\n $('#AboutSalesXCRM').removeClass('in');\r\n\r\n $('#Pop-UpMessagingMainMenu').attr('aria-expanded', 'false');\r\n $('#Pop-UpMessagingMainMenu').addClass('collapsed');\r\n $('#Pop-UpMessagingMainMenu').removeClass('activeButton');\r\n\r\n $('#SalesForecastMainMenu').attr('aria-expanded', 'false');\r\n $('#SalesForecastMainMenu').addClass('collapsed');\r\n $('#SalesForecastMainMenu').removeClass('activeButton');\r\n // $('#SalesForeCast').removeClass('in');\r\n\r\n $('#ContactUsMainMenu').attr('aria-expanded', 'false');\r\n $('#ContactUsMainMenu').addClass('collapsed');\r\n $('#ContactUsMainMenu').removeClass('activeButton');\r\n $('#ContactUs').removeClass('in');\r\n\r\n $('#AccountTransferMainMenu').attr('aria-expanded', 'false');\r\n $('#AccountTransferMainMenu').addClass('collapsed');\r\n $('#AccountTransferMainMenu').removeClass('activeButton');\r\n $('#AccountTransfer').removeClass('in');\r\n\r\n $('#ReleaseNotesMainMenu').attr('aria-expanded', 'false');\r\n $('#ReleaseNotesMainMenu').addClass('collapsed');\r\n $('#ReleaseNotesMainMenu').removeClass('activeButton');\r\n $('#ReleaseNotes').removeClass('in');\r\n\r\n $('#PendedProposalMainMenu').attr('aria-expanded', 'false');\r\n $('#PendedProposalMainMenu').addClass('collapsed');\r\n $('#PendedProposalMainMenu').removeClass('activeButton');\r\n $('#PendedProposal').removeClass('in');\r\n\r\n $('#SocialMediaMainMenu').attr('aria-expanded', 'false');\r\n $('#SocialMediaMainMenu').addClass('collapsed');\r\n $('#SocialMediaMainMenu').removeClass('activeButton');\r\n $('#SocialMedia').removeClass('in');\r\n\r\n\r\n // $('#' + val+'MainMenu').attr('aria-expanded', 'true');\r\n $('#' + val + 'MainMenu').removeClass('collapsed');\r\n $('#' + val + 'MainMenu').addClass('activeButton');\r\n $('#' + val).addClass('in');\r\n }\r\n\r\n CollapseSelectedMenu(val) {\r\n $('#dashboardsMainMenu').attr('aria-expanded', 'false');\r\n $('#dashboardsMainMenu').addClass('collapsed');\r\n //$('#dashboard').removeClass('in');\r\n\r\n $('#contactMainMenu').attr('aria-expanded', 'false');\r\n $('#contactMainMenu').addClass('collapsed');\r\n $('#contact').removeClass('in');\r\n\r\n $('#AccountsMainMenu').attr('aria-expanded', 'false');\r\n $('#AccountsMainMenu').addClass('collapsed');\r\n $('#Accounts').removeClass('in');\r\n\r\n $('#leadsMainMenu').attr('aria-expanded', 'false');\r\n $('#leadsMainMenu').addClass('collapsed');\r\n $('#leads').removeClass('in');\r\n\r\n $('#opportunitiesMainMenu').attr('aria-expanded', 'false');\r\n $('#opportunitiesMainMenu').addClass('collapsed');\r\n $('#opportunities').removeClass('in');\r\n\r\n $('#tasklistsMainMenu').attr('aria-expanded', 'false');\r\n $('#tasklistsMainMenu').addClass('collapsed');\r\n // $('#tasklist').removeClass('in');\r\n\r\n $('#CalendarMainMenu').attr('aria-expanded', 'false');\r\n $('#CalendarMainMenu').addClass('collapsed');\r\n\r\n $('#reportsMainMenu').attr('aria-expanded', 'false');\r\n $('#reportsMainMenu').addClass('collapsed');\r\n $('#reports').removeClass('in');\r\n\r\n $('#MarketingMainMenu').attr('aria-expanded', 'false');\r\n $('#MarketingMainMenu').addClass('collapsed');\r\n $('#Marketing').removeClass('in');\r\n\r\n $('#ProjectsMainMenu').attr('aria-expanded', 'false');\r\n $('#ProjectsMainMenu').addClass('collapsed');\r\n $('#Projects').removeClass('in');\r\n\r\n $('#ticketsMainMenu').attr('aria-expanded', 'false');\r\n $('#ticketsMainMenu').addClass('collapsed');\r\n $('#tickets').removeClass('in');\r\n\r\n $('#customersMainMenu').attr('aria-expanded', 'false');\r\n $('#customersMainMenu').addClass('collapsed');\r\n $('#customers').removeClass('in');\r\n\r\n $('#MySalesXCRMMainMenu').attr('aria-expanded', 'false');\r\n $('#MySalesXCRMMainMenu').addClass('collapsed');\r\n // $('#MySalesXCRM').removeClass('in');\r\n\r\n $('#RecentHistoryMainMenu').attr('aria-expanded', 'false');\r\n $('#RecentHistoryMainMenu').addClass('collapsed');\r\n\r\n $('#SalesToolsMainMenu').attr('aria-expanded', 'false');\r\n $('#SalesToolsMainMenu').addClass('collapsed');\r\n $('#SalesTools').removeClass('in');\r\n\r\n $('#MyProfileMainMenu').attr('aria-expanded', 'false');\r\n $('#MyProfileMainMenu').addClass('collapsed');\r\n $('#MyProfile').removeClass('in');\r\n\r\n $('#internalmessagingMainMenu').attr('aria-expanded', 'false');\r\n $('#internalmessagingMainMenu').addClass('collapsed');\r\n $('#internalmessaging').removeClass('in');\r\n\r\n $('#CallListsMainMenu').attr('aria-expanded', 'false');\r\n $('#CallListsMainMenu').addClass('collapsed');\r\n\r\n $('#CampaignsMainMenu').attr('aria-expanded', 'false');\r\n $('#CampaignsMainMenu').addClass('collapsed');\r\n $('#Campaigns').removeClass('in');\r\n\r\n $('#SystemConfigurationMainMenu').attr('aria-expanded', 'false');\r\n $('#SystemConfigurationMainMenu').addClass('collapsed');\r\n\r\n $('#UserConfigurationMainMenu').attr('aria-expanded', 'false');\r\n $('#UserConfigurationMainMenu').addClass('collapsed');\r\n\r\n $('#SysregMainMenu').attr('aria-expanded', 'false');\r\n $('#SysregMainMenu').addClass('collapsed');\r\n $('#Sysreg').removeClass('in');\r\n\r\n $('#Pop-UpMessagingMainMenu').attr('aria-expanded', 'false');\r\n $('#Pop-UpMessaginggMainMenu').addClass('collapsed');\r\n\r\n $('#SalesForecastMainMenu').attr('aria-expanded', 'false');\r\n $('#SalesForecastMainMenu').addClass('collapsed');\r\n // $('#SalesForeCast').removeClass('in');\r\n\r\n $('#AboutSalesXCRMMainMenu').attr('aria-expanded', 'false');\r\n $('#AboutSalesXCRMMainMenu').addClass('collapsed');\r\n $('#AboutSalesXCRM').removeClass('in');\r\n\r\n $('#ContactUsMainMenu').attr('aria-expanded', 'false');\r\n $('#ContactUsMainMenu').addClass('collapsed');\r\n $('#ContactUs').removeClass('in');\r\n\r\n $('#ReleaseNotesMainMenu').attr('aria-expanded', 'false');\r\n $('#ReleaseNotesMainMenu').addClass('collapsed');\r\n $('#ReleaseNotes').removeClass('in');\r\n\r\n $('#PendedProposalMainMenu').attr('aria-expanded', 'false');\r\n $('#PendedProposalMainMenu').addClass('collapsed');\r\n $('#PendedProposal').removeClass('in');\r\n\r\n }\r\n\r\n //DeselectAlltabs() {\r\n // this.showContactsSubTabs = false;\r\n // this.showResponseWizardSubTabs = false;\r\n // this.showOpportunitiesSubTabs = false;\r\n // this.showReportSubTabs = false;\r\n // this.showTaskSubTabs = false;\r\n // this.showZendeskSubTabs = false;\r\n // this.showcampaignsTabs = false;\r\n // this.showRecentHistorySubTabs = false;\r\n // this.showDashboardSubTabs = false;\r\n // this.showSalestoolSubTabs = false;\r\n // this.showMessagesSubTabs = false;\r\n // this.showMySalesXCRMSubTabs = false;\r\n // this.showLeadsTabsSubTabs = false;\r\n // this.showCalanderSubTabs = false;\r\n // this.showSystemConfigSubTabs = false;\r\n //}\r\n ResponseWizard(val) {\r\n\r\n this.selectedtabid = \"ResponseWizard\";\r\n var button = document.getElementById('ResponseWizard');\r\n if (this.userprevilages != undefined) {\r\n var buttonname = (button == null) ? this.selectedtabid : (button.innerText || button.title);\r\n var thisTab = this.userprevilages.filter(p => p.resource == buttonname)[0];\r\n if (thisTab === undefined || (thisTab != undefined && thisTab.canview == false)) {\r\n this.toastr.warning(\"You Do Not have Access to \" + buttonname + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\", { timeOut: 600 });\r\n return false;\r\n }\r\n }\r\n if (val == true) {\r\n this.RWdialog();\r\n }\r\n else {\r\n //this.showResponseWizardSubTabs = false;\r\n }\r\n }\r\n\r\n clearerrmsg() {\r\n $('#errmsg').hide();\r\n }\r\n loaddfields(selectedtable) {\r\n this.customerService.getAllfieldsbyselectedtable(selectedtable).then(res => {\r\n this.fieldlist = res;\r\n });\r\n }\r\n updatepassword() {\r\n let pas = $('#password').val();\r\n let con_pass = $('#confirm_password').val();\r\n if (pas == con_pass) {\r\n this.users.ResetPassword(this.currentuser.id, pas).then(res => {\r\n if (res == \"success\") {\r\n // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n this.toastr.success(\"Successfully Updated Password!\", \"Password\", { timeOut: 600 });\r\n this.resetpwd = !this.resetpwd;\r\n $('#password').val('');\r\n $('#confirm_password').val('');\r\n }\r\n else {\r\n // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n this.toastr.error(\"Something went wrong\");\r\n\r\n }\r\n });\r\n }\r\n else\r\n $('#errmsg').show();\r\n\r\n }\r\n incomingfile(event) {\r\n this.file = event.target.files[0];\r\n }\r\n advancedSearch(event) {\r\n if (this.userprevilages != undefined) {\r\n var thisTab = this.userprevilages.filter(p => p.resource == 'Advanced Search')[0];\r\n if (thisTab == undefined || (thisTab != undefined && thisTab.canview == false)) {\r\n this.toastr.warning(\"You Do Not have Access to Advanced Search Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\", { timeOut: 1500 });\r\n\r\n return false;\r\n\r\n } else {\r\n this.showSearchFieldsDialog = false;\r\n this.selectedsubbutton = 'Advanced Search';\r\n this.AdvancedSearchResult = false;\r\n localStorage.setItem('Tab', this.selectedtabid);\r\n localStorage.setItem('SubTab', this.selectedsubbutton);\r\n this.activateMainButtons(\"Advanced Search\");\r\n }\r\n }\r\n }\r\n\r\n\r\n ResizeTable() {\r\n this.aggridheight = ($(\"#globalGriddheight\").height(((window.innerHeight) - ($('#appComponentContent').height())) - 100)) + 'px';\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n \r\n this.hideGlobalSearchtable = true;\r\n if (rowEvent.data.type == \"Contact\")\r\n this.router.navigateByUrl(`/application/contactsdashboard/${rowEvent.data.id}/${rowEvent.data.permission}`);\r\n else if (rowEvent.data.type == \"Customer\" || rowEvent.data.type == \"Account\")\r\n this.router.navigateByUrl(`/application/account-contact/${rowEvent.data.permission}/show${rowEvent.data.accountid}`);\r\n\r\n let url: string = window.location.href;\r\n if (url.indexOf('month-calender') >= 0) {\r\n \r\n }\r\n\r\n }\r\n valuechange(newValue) {\r\n\r\n //mymodel = newValue;\r\n }\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.Getcontactorcustomerinfo($(\"#userids\").val());\r\n }\r\n SearchStartdateChange(event) {\r\n this.SearchstartVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n this.onSearchChange(\"\");\r\n }\r\n SearchEnddateChange(event) {\r\n this.SearchendVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n this.onSearchChange(\"\");\r\n }\r\n SearchonItemSelect(item: any) {\r\n //this.tempdata = [];\r\n var ids = item.id;\r\n this.finalitems1 += ids + ',';\r\n this.selectedcolumncount++;\r\n if (this.SearchSelectedItems.length > 0) {\r\n this.SearchSelectedItems.forEach(selitem => {\r\n if ((selitem.id == \"datecreated\" || selitem.id == \"estimatedclosedate\" || selitem.id == \"datecompleted\" || selitem.id == \"estcompleteddate\" || selitem.id == \"DateSched\" || selitem.id == \"DateComp\" || selitem.id == \"DateCreated\" || selitem.id == \"created\" || selitem.id == \"lastaccesed\") && this.SearchSelectedItems.length == 1) {\r\n this.isDateSelected = true;\r\n }\r\n else if (selitem.id == \"cell\" || selitem.id == \"office\" || selitem.id == \"phone\") {\r\n this.isPhoneMask = true;\r\n }\r\n else\r\n this.isDateSelected = false;\r\n\r\n })\r\n }\r\n\r\n this.SearchSelectedItemsLengthChanged = true;\r\n this.tempStoreColumns();\r\n }\r\n tempStoreColumns() {\r\n //localStorage.removeItem('TempTable');\r\n let newtemp = new TempData();\r\n newtemp.subtab = this.Searchtabname;\r\n newtemp.SearchSelectedItemsLengthChanged = this.SearchSelectedItemsLengthChanged;\r\n newtemp.columns = Array.prototype.map.call(this.SearchSelectedItems, s => s.id + (\"-\" + s.itemName));\r\n if (this.tempdata.length != 0) {\r\n //var length = this.tempdata.length;\r\n var index\r\n for (var i = 0; i < this.tempdata.length; i++) {\r\n if ((this.tempdata)[i].subtab == this.Searchtabname) {\r\n index = i;\r\n this.tempdata.splice(index, 1);\r\n }\r\n\r\n }\r\n\r\n }\r\n this.tempdata.push(newtemp);\r\n localStorage.setItem('TempTable', JSON.stringify(this.tempdata));\r\n }\r\n SearchOnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n var dfi = this.finalitems1.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems1 = result;\r\n if (this.SearchSelectedItems.length > 0) {\r\n this.SearchSelectedItems.forEach(selitem => {\r\n if ((selitem.id == \"datecreated\" || selitem.id == \"estimatedclosedate\" || selitem.id == \"datecompleted\" || selitem.id == \"estcompleteddate\" || selitem.id == \"DateSched\" || selitem.id == \"DateComp\" || selitem.id == \"DateCreated\" || selitem.id == \"created\" || selitem.id == \"lastaccesed\") && this.SearchSelectedItems.length == 1) {\r\n this.isDateSelected = true;\r\n }\r\n else if (selitem.id == \"cell\" || selitem.id == \"office\" || selitem.id == \"phone\") {\r\n this.isPhoneMask = true;\r\n }\r\n else\r\n this.isDateSelected = false;\r\n })\r\n }\r\n this.SearchSelectedItemsLengthChanged = true;\r\n this.tempStoreColumns();\r\n }\r\n SearchonSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems1 = \"\";\r\n this.finalitems1 = ids;\r\n this.SearchSelectedItemsLengthChanged = true;\r\n this.tempStoreColumns();\r\n }\r\n SearchonDeSelectAll(items: any) {\r\n this.finalitems1 = \"\";\r\n $(\"#userids\").val('');\r\n this.SearchSelectedItemsLengthChanged = true;\r\n this.tempStoreColumns();\r\n }\r\n onItemSelect(item: any) {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Getcontactorcustomerinfo($(\"#userids\").val());\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Getcontactorcustomerinfo($(\"#userids\").val());\r\n } else {\r\n this.allContacts = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items) {\r\n\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Getcontactorcustomerinfo($(\"#userids\").val());\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.allContacts = [];\r\n this.globalGridOptions.api.hideOverlay();\r\n $(\"#userids\").val('');\r\n }\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n globalSearchOnfocus() {\r\n this.globalMultiSelect = true;\r\n this.inputmask();\r\n }\r\n\r\n inputmask() {\r\n this.SearchSelectedItems.forEach(selitem => {\r\n if (selitem.id == \"DOB\" && this.SearchSelectedItems.length == 1) {\r\n this.isSelectedDOB = true;\r\n }\r\n else\r\n this.isSelectedDOB = false;\r\n })\r\n }\r\n\r\n\r\n ClosedOpportunity(val, userids) {\r\n this.selectedsubbutton = val;\r\n var subMenuId = \"\";\r\n if (val == 'Open') {\r\n this.Searchtabname = 'OpenOpportunity';\r\n subMenuId = 'OpenOpportunity';\r\n }\r\n else if (val == 'Closed') {\r\n this.Searchtabname = 'ClosedOpportunity';\r\n subMenuId = 'ClosedOpportunity';\r\n }\r\n else if (val == 'All') {\r\n this.Searchtabname = 'AllOpportunity';\r\n subMenuId = 'AllOpportunity';\r\n }\r\n else if (val == 'New') {\r\n this.Searchtabname = 'NewOpportunity';\r\n subMenuId = 'AddOpprtunity';\r\n } else {\r\n this.Searchtabname = 'OpenOpportunity';\r\n subMenuId = 'OpenOpportunity';\r\n }\r\n\r\n localStorage.setItem('SubTabOpportunity', this.Searchtabname);\r\n var url = window.location.href;\r\n if (url.indexOf('opportunitiesdashboard') > -1) { \r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/0/0/null/null`);\r\n \r\n }\r\n\r\n this.isClosedOpportunityEventRaised = true;\r\n this.closedOpportunityVal = val;\r\n this.closedOpportunityUserids = userids;\r\n if (val == 'New') {\r\n \r\n }\r\n else {\r\n $('#searchBox').attr('style', 'display:block;padding: 0 ; margin-bottom: 0.3%;');\r\n }\r\n this.pageViewed = \"\";\r\n }\r\n ClosedLeads(val, userids, buttonname) {\r\n this.selectedsubbutton = val;\r\n this.Searchtabname = buttonname;\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\".subButtons\").removeClass(\"limainactiveButton\");\r\n $(\".subButtons\").removeClass(\"mybtn\");\r\n\r\n\r\n if (this.userprevilages != undefined) {\r\n var submenuID = '';\r\n if (buttonname == 'Forecasting') {\r\n submenuID = 'ForecastingButton';\r\n\r\n }\r\n else {\r\n submenuID = buttonname\r\n }\r\n\r\n }\r\n if (buttonname == 'Forecasting') {\r\n this.router.navigateByUrl(`/application/forecasting`);\r\n }\r\n else {\r\n this.isClosedLeadEventRaised = true;\r\n this.closedLeadVal = val;\r\n this.closedLeadUserids = userids;\r\n }\r\n\r\n //}\r\n\r\n }\r\n TaskData(val, userids) {\r\n this.selectedsubbutton = val;\r\n var submenuID = '';\r\n if (val == 'Open') {\r\n this.Searchtabname = 'OpenTaskHistory';\r\n submenuID = \"Open Tasks\";\r\n }\r\n else if (val == 'Completed') {\r\n this.Searchtabname = 'ClosedTaskHistory';\r\n submenuID = \"Completed Tasks\";\r\n }\r\n else if (val == 'All') {\r\n this.Searchtabname = 'AllTaskHistory';\r\n submenuID = \"All Tasks\";\r\n }\r\n else if (val == 'New') {\r\n this.Searchtabname = 'NewTaskHistory';\r\n submenuID = \"Add Tasks\";\r\n } else {\r\n this.Searchtabname = 'OpenTaskHistory';\r\n submenuID = \"Open Tasks\";\r\n }\r\n \r\n this.isTaskDataLeadEventRaised = true;\r\n this.TaskDataVal = val;\r\n this.TaskDataUserids = userids;\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Customer/0/null/null`);\r\n\r\n if (val == 'New') {\r\n // $('#searchBox').attr('style', 'display:none');\r\n // this.ShowSearchTabs('False')\r\n }\r\n else {\r\n $('#searchBox').attr('style', 'display:block;padding: 0 ; margin-bottom: 0.3%;');\r\n //this.ShowSearchTabs('True')\r\n }\r\n }\r\n DashBoarddata(val) {\r\n this.router.navigateByUrl('/application/dashboard/' + val);\r\n $('#' + val + \"_button\").addClass(\"activeButton\");\r\n }\r\n\r\n\r\n TicketData(val, userids, Button) {\r\n\r\n this.selectedsubbutton = val;\r\n this.Searchtabname = Button;\r\n this.isTicketDataEventRaised = true;\r\n this.TicketDataVal = val;\r\n this.TicketDataUserids = userids;\r\n\r\n if (val == 'New') {\r\n \r\n this.router.navigateByUrl(`/application/tickets/` + this.TicketDataUserids);\r\n }\r\n else {\r\n var url = window.location.href;\r\n if (url.indexOf('zendeskhome') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/zendeskhome/0/` + selfobj.Searchtabname);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/zendeskhome/0/` + this.Searchtabname);\r\n }\r\n \r\n $('#searchBox').attr('style', 'display:block;padding: 0; margin-bottom: 0.3%;');\r\n }\r\n var btn = \"\";\r\n switch (Button) {\r\n case 'Open Tickets': {\r\n btn = 'OpenTickets'; break;\r\n }\r\n case 'Pended Tickets': {\r\n btn = 'PendedTickets'; break;\r\n }\r\n case 'On-Hold Tickets': {\r\n btn = 'On-HoldTickets'; break;\r\n }\r\n case 'Closed Tickets': {\r\n btn = 'ClosedTickets'; break;\r\n }\r\n case 'Deleted Tickets': {\r\n btn = 'DeletedTickets'; break;\r\n }\r\n case 'All Tickets': {\r\n btn = 'AllTickets'; break;\r\n }\r\n case 'Add Tickets': {\r\n btn = 'AddTickets'; break;\r\n }\r\n }\r\n\r\n setTimeout(function () {\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#' + btn + \"_button\").addClass(\"activeButton\");\r\n }, 200);\r\n }\r\n\r\n ProposalSubMenu(val) {\r\n this.ProposalType = val;\r\n //let selfobj = this;\r\n //setTimeout(function () {\r\n var buttonID = \"\";\r\n if (val == 'All Proposals') {\r\n buttonID = \"AllProposals\";\r\n }\r\n else if (val == 'Open Proposals') {\r\n buttonID = \"OpenProposals\";\r\n }\r\n else if (val == 'Closed Proposals') {\r\n buttonID = \"ClosedProposal\";\r\n }\r\n else if (val == 'AddProposal') {\r\n buttonID = \"AddProposal\";\r\n }\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#' + buttonID + \"_button\").addClass(\"activeButton\");\r\n\r\n if (val == 'All Proposals' || val == 'Open Proposals' || val == 'Closed Proposals') {\r\n var url = window.location.href;\r\n if (url.indexOf('Proposals') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/Proposals/` + val);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/Proposals/` + val);\r\n }\r\n } else {\r\n \r\n if (this.taskselectedtype === 'Contact') {\r\n this.ProposalContactOrAccountType = this.taskselectedtype;\r\n } else {\r\n this.ProposalContactOrAccountType = 'Account';\r\n }\r\n this.CreateProposalPage = true; \r\n }\r\n\r\n //}, 200);\r\n }\r\n //CreateProposalPageCss(val) {\r\n // if (val == \"CreateProposalPage\") {\r\n // setTimeout(function () {\r\n // $('#CreateProposalPage .dialog').attr('style', 'width: 96%;padding: 0px;border: 3px solid #FF5F15;min-height: 63%;overflow: auto;height: 92%;top: 8%;right: 0;left:3%;max-width: 100% !important;');\r\n // }, 4)\r\n\r\n // }\r\n\r\n // else if (val == \"QuickSearchDiv\") {\r\n // setTimeout(function () {\r\n // $('#QuickSearchDiv .dialog').attr('style', 'width: 88%;padding: 0px;min-height: 63%;overflow: auto;height: 86%;top: 10%;right: 0;left: 10%;max-width: 100% !important;border: 4px solid rgb(117, 218, 51);');\r\n // }, 4)\r\n // }\r\n //}\r\n\r\n Removesearchfilter(value) {\r\n if (this.selectedtabid === 'contact') {\r\n this.globalMultiSelect = true;\r\n //this.showContactsSubTabs = true;\r\n if (value != \"\") {\r\n if (this.selectedsubbutton === 'Contacts') {\r\n this.removefilterval('contacts', value);\r\n }\r\n else if (this.selectedsubbutton == 'allContactAccounts') {\r\n this.removefilterval('ContactsAccount', value);\r\n\r\n }\r\n else if (this.selectedsubbutton == 'imported') {\r\n this.removefilterval('Calllists', value);\r\n\r\n }\r\n else if (this.selectedsubbutton == 'viewcalllist') {\r\n this.removefilterval('QuickView', value);\r\n }\r\n\r\n }\r\n }\r\n else if (this.selectedtabid === 'customers') {\r\n if (value != \"\") {\r\n if (this.selectedsubbutton == 'a-z') {\r\n this.removefilterval('customercontacts', value);\r\n } else if (this.selectedsubbutton == 'allaccount') {\r\n this.removefilterval('CustomerAccount', value);\r\n }\r\n\r\n }\r\n }\r\n else if (this.selectedtabid == \"Account\") {\r\n this.removefilterval('Accounts', value);\r\n }\r\n else if (this.selectedtabid == \"leads\") {\r\n if (this.selectedsubbutton == 'Open') {\r\n this.removefilterval('OpenLeads', value);\r\n }\r\n\r\n }\r\n else if (this.selectedtabid == \"task lists\") {\r\n this.removefilterval(this.Searchtabname, value);\r\n }\r\n else if (this.selectedtabid == \"Proposals\") {\r\n this.removefilterval('Proposals', value);\r\n }\r\n else if (this.selectedtabid == \"opportunities\") {\r\n if (this.closedOpportunityVal == 'Open') {\r\n this.removefilterval(this.closedOpportunityVal + 'Opportunity', value);\r\n } else if (this.closedOpportunityVal == 'Closed') {\r\n this.removefilterval(this.closedOpportunityVal + 'Opportunity', value);\r\n } else if (this.closedOpportunityVal == 'All') {\r\n this.removefilterval(this.closedOpportunityVal + 'Opportunity', value);\r\n }\r\n }\r\n }\r\n removefilterval(tabName, filterval) {\r\n var PreviousSelectedColumns = [];\r\n var SelectedColumns = [];\r\n this.advancedSearchService.searchdata(tabName, this.currentuser.id).then(result => {\r\n\r\n if (result != null) {\r\n var columnarray = result.filtercolumnsdata.split('|');\r\n this.searchCriteriadata.splice(this.searchCriteriadata.indexOf(filterval), 1);\r\n for (let k = 0; k < columnarray.length; k++) {\r\n if (filterval != columnarray[k].split(':')[1]) {\r\n PreviousSelectedColumns.push(columnarray[k]);\r\n }\r\n }\r\n }\r\n this.searchCriteria = \"\";\r\n for (let i = 0; i < this.searchCriteriadata.length; i++) {\r\n this.searchCriteria += this.searchCriteriadata[i] + \" / \";\r\n }\r\n this.saveSearchQuery(tabName, SelectedColumns, PreviousSelectedColumns);\r\n\r\n });\r\n }\r\n SubmenuChange(Tab, val, menu) {\r\n this.AboutUsPage = false;\r\n this.SearchNotAvailable = false;\r\n if (menu == 'main') {\r\n this.selectedtabid = Tab;\r\n var classOfId = $('#' + Tab.replace(\" \", \"\") + \"MainMenu\").attr('class');\r\n if (classOfId == '') {\r\n this.CollapseSelectedMenu(Tab.replace(\" \", \"\"));\r\n }\r\n else {\r\n this.ExpandSelectedMenu(Tab.replace(\" \", \"\"));\r\n }\r\n }\r\n if (this.userprevilages != undefined) {\r\n var button: any;\r\n var buttonname: any;\r\n if (menu == 'main') {\r\n button = document.getElementById(Tab + 'MainMenu');\r\n buttonname = (button == null) ? Tab : (button.title);\r\n } else {\r\n buttonname = Tab;\r\n }\r\n var thisTab = this.userprevilages.filter(p => p.resource == buttonname || p.resource.toLowerCase() == buttonname)[0];\r\n if (thisTab == undefined || (thisTab != undefined && thisTab.canview == false)) {\r\n this.toastr.warning(\"You Do Not have Access to \" + buttonname + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\", { timeOut: 1500 });\r\n\r\n return false;\r\n\r\n } else {\r\n this.selectedsubbutton = val;\r\n this.Searchtabname = val;\r\n if (Tab == \"Calendar\") {\r\n this.router.navigateByUrl(`/application/month-calender/` + val);\r\n }\r\n \r\n else if (Tab == \"Reports\") {\r\n if (val == 'StandardReports') {\r\n var type = \"\";\r\n if (this.PopUpMessageType == 'User Activity(Details)') {\r\n type = \"UserActivityDetails\";\r\n } else if (this.PopUpMessageType == 'User Activity(Summary)') {\r\n type = \"UserActivitySummary\";\r\n } else if (this.PopUpMessageType == \"Access(Login/Logout)\") {\r\n type = \"admin\";\r\n } else {\r\n type = this.PopUpMessageType;\r\n }\r\n this.router.navigateByUrl(`/application/reports/` + type);\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#StandardReports_button\").addClass(\"activeButton\");\r\n }\r\n\r\n else if (val == 'AdminReports') {\r\n\r\n if (this.PopUpMessageType == 'Audit Log(Admin)') {\r\n type = \"AuditLogAdmin\";\r\n } else if (this.PopUpMessageType == 'User Access(Admin)') {\r\n type = \"UserAccessAdmin\";\r\n } else {\r\n type = this.PopUpMessageType;\r\n }\r\n\r\n this.router.navigateByUrl(`/application/admin-reports/` + type);\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#StandardReports_button\").addClass(\"activeButton\");\r\n }\r\n }\r\n else if (Tab == 'Sysreg') {\r\n \r\n this.router.navigateByUrl(`/application/system-registration`);\r\n }\r\n else {\r\n if (menu == 'Sub') {\r\n this.ExpandSelectedMenu('SystemConfiguration');\r\n }\r\n \r\n }\r\n this.pageViewed = '';\r\n $(setTimeout(function () {\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#' + val + \"_button\").addClass(\"activeButton\");\r\n }, 200));\r\n\r\n }\r\n }\r\n\r\n }\r\n //standard3dotMenuUI(val) {\r\n //}\r\n standard3dotpartialPage(val) {\r\n setTimeout(function () {\r\n $(val).attr('style', 'width:32%;padding-bottom:0px;min-height:75%;overflow:auto;height:92%;left:68%;top:8%;padding:0;');\r\n }, 4)\r\n }\r\n ShowConfigurationDialogCss(Type) {\r\n \r\n if (Type == 'AboutSalesXCRM' || Type == 'Contact Us' || Type == 'ReleaseNotes' ) {\r\n this.standard3dotpartialPage('#ConfigurationDialog .dialog'); \r\n } \r\n else if (Type == 'My Profile' || Type == 'My Subscription') {\r\n setTimeout(function () {\r\n $('#ConfigurationDialog .dialog').attr('style', 'width:37%;padding-bottom:0px;min-height:75 %;overflow: auto;height: 84%;left: 62%;top: 10%;padding:0');\r\n }, 4)\r\n }\r\n else {\r\n this.fullPopupcss('#ConfigurationDialog .dialog');\r\n }\r\n\r\n }\r\n AddOpportunity() {\r\n this.isAddOpportunityEventRaised = true;\r\n }\r\n AddTask() {\r\n this.isAddTaskEventRaised = true;\r\n }\r\n\r\n AddTicket() {\r\n this.isAddTicketEventRaised = true;\r\n }\r\n viewCampaigns(val, userids) {\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#' + val + \"_button\").addClass(\"activeButton\");\r\n if (val == 'add') {\r\n $('#searchBox').attr('style', 'display:none');\r\n //this.ShowSearchTabs('False')\r\n }\r\n else {\r\n $('#searchBox').attr('style', 'display:block;padding: 0; margin-bottom: 0.3%;');\r\n //this.ShowSearchTabs('True')\r\n }\r\n \r\n this.CampaignId = 0;\r\n }\r\n addNewCampaign(val) {\r\n this.isAddcampaignEventRaised = true;\r\n }\r\n\r\n openDisplaynotes(params) {\r\n // this.notes.notedescription = params.value;\r\n this.NotesDec = !this.NotesDec;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n;\r\n $(setTimeout(function () {\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n this.showAdvancedSearchDialog = false;\r\n }\r\n ReceiveAddEditAccEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n }\r\n else if (msg && msg.split('~')[1] > 0) {\r\n if (msg.split('~')[2] ==874) {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Customer`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Customer`);\r\n }\r\n\r\n this.QuickSearchDiv = false;\r\n localStorage.setItem('RhxAccountVal', msg.split('~')[1]);\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.ExpandSelectedMenu('customers');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n selfobj.selectedtabid = 'Customer';\r\n }, 200)\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Accounts`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n }\r\n\r\n this.QuickSearchDiv = false;\r\n localStorage.setItem('RhxAccountVal', msg.split('~')[1]);\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n //selfobj.selectedtabid = 'Customer';\r\n }, 200)\r\n }\r\n this.loaddialog('NewAccount', 'ADDING ACCOUNT', 'Account will be Saved', false, false, true, true, 0)\r\n } else {\r\n this.loaddialog('NewAccount', 'ADDING ACCOUNT', 'Account will Not be Saved', false, false, true, true, 0)\r\n }\r\n \r\n \r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"changed\") {\r\n this.QuickSearchEvenraised = true;\r\n }\r\n else if (msg == \"Advacnedchanged\") {\r\n this.AdvancedSearchEventraised = true;\r\n }\r\n else {\r\n this.showAdvancedSearchDialog = false;\r\n this.AdvancedSearchResult = false;\r\n this.activateMainButtons('dashboards');\r\n }\r\n\r\n }\r\n CloseInvalidSearchDialog() {\r\n this.ShowInvalidSearchDialog = !this.ShowInvalidSearchDialog;\r\n }\r\n editNote() {\r\n //if ($(\"#btnEditNote\").text() == \"Edit Note\") {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n }\r\n saveEditedNote() {\r\n\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n if (selfObj.notes.type == 'Contact')\r\n selfObj.GetContactNotes(selfObj.conid, 'Contact');\r\n else\r\n selfObj.GetContactNotes(selfObj.conid, 'Customer');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n }\r\n\r\n rowClickAgGrid(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('');\r\n } else {\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n if (rowEvent.data.type == \"Contact\") {\r\n $('#tasklistselectedtyle').val('Contact');\r\n }\r\n else {\r\n $('#tasklistselectedtyle').val('Customer');\r\n }\r\n }\r\n }\r\n\r\n loadselectedcontacts() {\r\n let items = ['0'];\r\n if ($('#Customers').is(\":checked\")) {\r\n items.push('56');\r\n }\r\n else {\r\n items = $.grep(items, function (value) {\r\n return value != '56';\r\n });\r\n }\r\n if ($('#FormerCustomers').is(\":checked\")) {\r\n items.push('57');\r\n }\r\n else {\r\n items = $.grep(items, function (value) {\r\n return value != '57';\r\n });\r\n }\r\n\r\n //this.Contactvales = items.toString();\r\n //this.initializeAgGrid();\r\n // this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n\r\n }\r\n\r\n dialogsize() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 32%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 23%;overflow: visible;height: 24%;');\r\n\r\n }, 4)\r\n }\r\n MultipleContactSelecteddialogsize() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 32%;padding-bottom: 0px;border: 2px solid black;min-height: 23%;overflow: visible;height: 24%;padding:0;');\r\n\r\n }, 4)\r\n }\r\n dialogsizeInvalidSearch() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 50%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 50%;overflow: visible;height: 50%;top: 24%;');\r\n\r\n }, 4);\r\n }\r\n dialog() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 24%;padding-bottom: 0px;border: 4px solid #00B0F0;min-height: 45%;overflow: auto;height: 46%;padding: 0;left: 0px;margin-left: 13%;top: 10%;');\r\n\r\n }, 4);\r\n }\r\n RWdialog() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width:100%; padding:0; border:none; min-height:63%; overflow:auto; height:78%; top:21%; left:12%; max-width:87%;margin:0;');\r\n\r\n }, 100);\r\n }\r\n columnsearchfieldDialog() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 40%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height:50%;overflow: visible;height:57%;top:25%');\r\n }, 4);\r\n }\r\n OpenLogoutBox() {\r\n this.ShowTransferAccounts = false;\r\n this.OpenLogout = true;\r\n this.dialog();\r\n }\r\n CloseLogOutBox() {\r\n this.OpenLogout = !this.OpenLogout;\r\n }\r\n\r\n RefreshDefaultColumns() {\r\n var selectcolums = [];\r\n this.SearchSelectedItems = [];\r\n this.SearchSelectedItems.forEach(selitem => {\r\n selectcolums.push(selitem.id + \"-\" + selitem.itemName)\r\n })\r\n if (document.getElementById('contact_span').className == 'mainCheckMark activeColor') {\r\n if (document.getElementById('a-z_button').className == 'subButtons activeButton') {\r\n this.advancedSearchService.GetDefaultColumns('contacts', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.SearchSelectedItems = [\r\n { \"id\": 'lastname', \"itemName\": 'LastName' },\r\n { \"id\": 'firstname', \"itemName\": 'FirstName' }\r\n ];\r\n }\r\n });\r\n }\r\n else if (document.getElementById('AccountsMainMenu').className == 'activeButton') {\r\n this.advancedSearchService.GetDefaultColumns('contacts', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.SearchSelectedItems = [\r\n { \"id\": 'accountname', \"itemName\": 'Account Name' }\r\n ];\r\n }\r\n });\r\n\r\n }\r\n else if (document.getElementById('viewcalllist_button').className == 'subButtons activeButton') {\r\n this.advancedSearchService.GetDefaultColumns('Calllists', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.SearchSelectedItems = [\r\n { \"id\": 'calllistname', \"itemName\": 'Call List Name' }\r\n ];\r\n }\r\n });\r\n\r\n }\r\n }\r\n else if (document.getElementById('customers_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.GetDefaultColumns('customercontacts', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.SearchSelectedItems = [\r\n { \"id\": 'lastname', \"itemName\": 'Last Name' },\r\n { \"id\": 'firstname', \"itemName\": 'First Name' }\r\n ];\r\n }\r\n });\r\n }\r\n else if (document.getElementById('leads_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.GetDefaultColumns('OpenLeads', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n })\r\n } else {\r\n this.SearchSelectedItems = [\r\n { \"id\": 'lastname', \"itemName\": 'Last Name' },\r\n { \"id\": 'firstname', \"itemName\": 'First Name' },\r\n { \"id\": 'account', \"itemName\": 'Account Name' }\r\n ];\r\n }\r\n });\r\n }\r\n else if (document.getElementById('opportunities_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.GetDefaultColumns('OpenOpportunity', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.SearchSelectedItems = [\r\n { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n { \"id\": 'lastName', \"itemName\": 'Last Name' },\r\n { \"id\": 'practicename', \"itemName\": 'Account Name' }\r\n ];\r\n }\r\n });\r\n }\r\n else if (document.getElementById('tasklist_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.GetDefaultColumns('OpenTaskHistory', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.SearchSelectedItems = [\r\n { \"id\": 'accountname', \"itemName\": 'Account Name' },\r\n { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n { \"id\": 'lastName', \"itemName\": 'Last Name' },\r\n ];\r\n }\r\n });\r\n }\r\n else if (document.getElementById('Calender_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.GetDefaultColumns('TaskCalander', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.SearchSelectedItems = [\r\n { \"id\": 'accountname', \"itemName\": 'Account Name' },\r\n { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n { \"id\": 'lastName', \"itemName\": 'Last Name' },\r\n ];\r\n }\r\n });\r\n\r\n }\r\n else if (document.getElementById('reports_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.GetDefaultColumns('reports', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.SearchSelectedItems = [\r\n { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n { \"id\": 'lastName', \"itemName\": 'Last Name' }\r\n ];\r\n }\r\n });\r\n }\r\n localStorage.removeItem('TempTable');\r\n this.SearchSelectedItemsLengthChanged = false;\r\n\r\n }\r\n\r\n removeTempData(subtab) {\r\n\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n this.tempdata = [];\r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n\r\n if (element.subtab != subtab) {\r\n this.tempdata.push(element);\r\n }\r\n });\r\n }\r\n localStorage.setItem('TempTable', JSON.stringify(this.tempdata));\r\n }\r\n\r\n displayDefaultColumns() {\r\n\r\n var selectcolums = [];\r\n this.SearchSelectedItems.forEach(selitem => {\r\n selectcolums.push(selitem.id + \"-\" + selitem.itemName)\r\n })\r\n if (document.getElementById('contact_span').className == 'mainCheckMark activeColor') {\r\n if (document.getElementById('a-z_button').className == 'subButtons activeButton') {\r\n this.advancedSearchService.SaveDefaultColumns(\"contacts\", selectcolums.toString(), this.currentuser.id).then(result => {\r\n this.removeTempData(\"contacts\");\r\n });\r\n }\r\n else if (document.getElementById('AccountsMainMenu').className == 'activeButton') {\r\n this.advancedSearchService.SaveDefaultColumns(\"ContactsAccount\", selectcolums.toString(), this.currentuser.id).then(result => {\r\n this.removeTempData(\"ContactsAccount\");\r\n });\r\n\r\n }\r\n else if (document.getElementById('viewcalllist_button').className == 'subButtons activeButton') {\r\n this.advancedSearchService.SaveDefaultColumns(\"Calllists\", selectcolums.toString(), this.currentuser.id).then(result => {\r\n this.removeTempData(\"Calllists\");\r\n });\r\n\r\n }\r\n }\r\n else if (document.getElementById('customers_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.SaveDefaultColumns(\"customercontacts\", selectcolums.toString(), this.currentuser.id).then(result => {\r\n this.removeTempData(\"customercontacts\");\r\n });\r\n //this.SearchSelectedItems = [\r\n // { \"id\": 'lastname', \"itemName\": 'Last Name' },\r\n // { \"id\": 'firstname', \"itemName\": 'First Name' }\r\n //];\r\n }\r\n else if (document.getElementById('leads_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.SaveDefaultColumns(\"OpenLeads\", selectcolums.toString(), this.currentuser.id).then(result => {\r\n this.removeTempData('Open Leads')\r\n });\r\n //this.SearchSelectedItems = [\r\n // { \"id\": 'lastname', \"itemName\": 'Last Name' },\r\n // { \"id\": 'firstname', \"itemName\": 'First Name' },\r\n // { \"id\": 'account', \"itemName\": 'Account Name' }\r\n //];\r\n }\r\n else if (document.getElementById('opportunities_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.SaveDefaultColumns(\"OpenOpportunity\", selectcolums.toString(), this.currentuser.id).then(result => {\r\n this.removeTempData('OpenOpportunity');\r\n });\r\n\r\n //this.SearchSelectedItems = [\r\n // { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n // { \"id\": 'lastName', \"itemName\": 'Last Name' },\r\n // { \"id\": 'practicename', \"itemName\": 'Account Name' }\r\n //];\r\n }\r\n else if (document.getElementById('tasklist_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.SaveDefaultColumns(\"OpenTaskHistory\", selectcolums.toString(), this.currentuser.id).then(result => {\r\n this.removeTempData('OpenTaskHistory');\r\n });\r\n //this.SearchSelectedItems = [\r\n // { \"id\": 'accountname', \"itemName\": 'Account Name' },\r\n // { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n // { \"id\": 'lastName', \"itemName\": 'Last Name' },\r\n //];\r\n }\r\n else if (document.getElementById('Calender_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.SaveDefaultColumns(\"OpenCalander\", selectcolums.toString(), this.currentuser.id).then(result => {\r\n this.removeTempData(\"TaskCalander\");\r\n });\r\n //this.SearchSelectedItems = [\r\n // { \"id\": 'accountname', \"itemName\": 'Account Name' },\r\n // { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n // { \"id\": 'lastName', \"itemName\": 'Last Name' },\r\n //];\r\n }\r\n else if (document.getElementById('reports_span').className == 'mainCheckMark activeColor') {\r\n this.advancedSearchService.SaveDefaultColumns(\"Reports\", selectcolums.toString(), this.currentuser.id).then(result => {\r\n this.removeTempData(\"StandardReports\");\r\n });\r\n //this.SearchSelectedItems = [\r\n // { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n // { \"id\": 'lastName', \"itemName\": 'Last Name' }\r\n //];\r\n }\r\n\r\n this.SearchSelectedItemsLengthChanged = false;\r\n\r\n }\r\n\r\n showSearchFieldsDialogfun(val) {\r\n var url = window.location.href;\r\n if (this.calllisturl != \"\" && this.calllisturl != url) {\r\n if (this.Iscalllisterrorshow) {\r\n this.Iscalllistdialogshow = true;\r\n this.callListSavePopUpCss();\r\n return false;\r\n }\r\n }\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.ProfilePicture = this.currentuser.ProfilePicture;\r\n this.userservice.GetSubscriptionName().then(result => {\r\n this.SubscriptionName = result.BusinessName;\r\n });\r\n this.showSearchFieldsDialog = true;\r\n this.showSearchTabsSubTabs = false;\r\n this.showSearchFieldsDialogfunCss();\r\n this.sideMenuDisable('Enable');\r\n\r\n this.customerService.GetSpecialityList(\"Menus\", this.currentuser.id).then((menus) => {\r\n menus.forEach(appointment => {\r\n });\r\n this.Menuslist = menus;\r\n var retrievedObject = localStorage.getItem('SelectedSubMenu');\r\n \r\n if (retrievedObject != null) {\r\n setTimeout(function () {\r\n $('#SubMenu' + retrievedObject).addClass(\"activeButton\");\r\n }, 200);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n showSearchFieldsDialogfunCss() {\r\n setTimeout(function () {\r\n $('#showSearchFieldsDialog .dialog').attr('style', 'width:30%;padding-bottom:0px;min-height:75%;overflow:auto;height:84%;left:68%;top:10%;padding:0');\r\n }, 4)\r\n }\r\n\r\n showAdvancedSearchDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width:44.5%;padding-bottom:0px;border:3px solid #FF5F15;min-height:63%;overflow:hidden;height:92%;left:53.5%;padding:0;');\r\n }, 4)\r\n }\r\n notSelectedCss(val) {\r\n switch (val) {\r\n case \"SearchNotAvailable\": {\r\n setTimeout(function () {\r\n $('#SearchNotAvailable .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 3px solid #FF5F15;min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n break;\r\n }\r\n case \"isMultipleContactSelected\": {\r\n setTimeout(function () {\r\n $('#isMultipleContactSelected .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 3px solid #FF5F15;min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n break;\r\n }\r\n case \"NotSelected\": {\r\n this.pageViewed = \"\";\r\n setTimeout(function () {\r\n $('#NotSelected .dialog').attr('style', 'width: 33%;padding-bottom: 0px;border: 3px solid #FF5F15;min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n break;\r\n }\r\n case \"CloseSearchDialog\": {\r\n setTimeout(function () {\r\n $('#CloseSearchDialog .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 3px solid #FF5F15;min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n break;\r\n }\r\n case \"quickview\": {\r\n this.StandardpopupUi('#QuickViewDialog .dialog');\r\n //setTimeout(function () {\r\n // $('#QuickViewDialog .dialog').attr('style', 'width:96%;border:3px solid #FF5F15;height:88%;z-index: 999;');\r\n //}, 4);\r\n break;\r\n }\r\n case \"Tickets\": {\r\n setTimeout(function () {\r\n $('#TicketCreateDialog .dialog').attr('style', 'width:35%;padding:0; height:63%;overflow:auto;height:92%;top:8%;margin-right:0%;');\r\n }, 4);\r\n break;\r\n }\r\n case \"CallList\": {\r\n this.Standard3dotUi('#CallListDialog .dialog'); \r\n break;\r\n }\r\n default: {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 3px solid #FF5F15;min-height: 18%;overflow: auto;height: 4%;top:10%;');\r\n }, 4);\r\n break;\r\n }\r\n }\r\n\r\n }\r\n showmenuDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width:32.5%;padding-bottom:0px;border:3px solid #00B0F0;min-height:63%;overflow:auto;height:85%;left:65.5%;top:14.5%;padding:0;');\r\n }, 4)\r\n }\r\n\r\n openSearchFields() {\r\n this.showSearchFields = true;\r\n }\r\n ClearSearchBox() {\r\n $('#searchContact').val('');\r\n //this.onSearchChange('delete');\r\n }\r\n\r\n CloseSearchFieldsDialog(val) {\r\n if (val == 'showSearchFieldsDialog') {\r\n this.showSearchFieldsDialog = false;\r\n this.CollapseSelectedMenu('');\r\n } else if (val == 'RWActive') {\r\n this.RWActive = false;\r\n }\r\n else if (val == 'showSearchTabsSubTabs') {\r\n this.showSearchTabsSubTabs = false;\r\n }\r\n //else if (val == 'showmenuDialog') {\r\n // this.showmenuDialog = false;\r\n //}\r\n }\r\n QuickSearch()\r\n {\r\n //this.router.navigateByUrl(`/application/quicksearch`);\r\n this.QuickSearchDiv = true;\r\n // this.CreateProposalPageCss(\"QuickSearchDiv\");\r\n }\r\n\r\n GetRHxNames(Type) {\r\n this.customerService.GetRecentHistoryNames(Type, $(\"#userids\").val()).then((RHxNameslist) => {\r\n this.RHxNames = RHxNameslist;\r\n });\r\n }\r\n\r\n SelectedMenu(item) {\r\n localStorage.setItem('SelectedSubMenu', item);\r\n switch (item) {\r\n case 521:\r\n this.activateMainButtons('My Documents')\r\n break;\r\n case 522:\r\n this.activateMainButtons('rhx');\r\n break;\r\n case 523:\r\n this.ResponseWizard(true);\r\n break;\r\n case 524:\r\n this.activateMainButtons('Internal Messages');\r\n break;\r\n case 525:\r\n this.activateMainButtons('Campaigns');\r\n break;\r\n case 526:\r\n this.activateMainButtons('saletool');\r\n break;\r\n case 527:\r\n this.activateMainButtons('systemConfig');\r\n break;\r\n\r\n }\r\n this.CloseSearchFieldsDialog('showSearchFieldsDialog');\r\n\r\n }\r\n\r\n hideShowCommonTabs(val) {\r\n this.hideLabel = val;\r\n //this.crmDialog = true;\r\n //this.crmDialogCss();\r\n }\r\n quickViewDialogcss(id) {\r\n \r\n $(setTimeout(function () {\r\n $(id).attr('style', 'width: 52%;padding:0;min-height:63%;overflow:auto;height:92%;top:8%;margin-right:0%;');\r\n }, 4));\r\n }\r\n salesxcrmDialog(id) {\r\n $(setTimeout(function () {\r\n $(id).attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4));\r\n }\r\n\r\n crmDialogCss() {\r\n $(setTimeout(function () {\r\n $('#crmDialog .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4));\r\n }\r\n Closelogoutpopup() { this.OpenLogout = false; }\r\n Search(val) {\r\n if (val && (this.selectedtabid == \"dashboards\" || this.selectedtabid == \"Sales Forecast\" || this.selectedtabid == \"AdminReports\" || this.selectedtabid == \"Projects\"\r\n || this.selectedtabid == \"Marketing\")) {\r\n this.SearchNotAvailable = true;\r\n this.notSelectedCss(\"SearchNotAvailable\");\r\n } else {\r\n if (val == true) {\r\n this.Searchdiv = false;\r\n setTimeout(() => {\r\n document.getElementById('searchContact').focus();\r\n }, 500);\r\n }\r\n else {\r\n if (this.searchCriteriadata.length == 0) {\r\n this.Searchdiv = false;\r\n }\r\n else {\r\n this.CloseSearchDialog = true;\r\n this.notSelectedCss(\"CloseSearchDialog\");\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n SearchNot() { this.SearchNotAvailable = false; }\r\n ShowRHxMenuDiv(val) {\r\n if (!val) {\r\n var url = window.location.href;\r\n this.displayheader(url);\r\n } \r\n this.recentHistoryOn = val;\r\n this.RHxMenuDiv = val;\r\n this.RHxMenuDivCss();\r\n this.RHxNames = [];\r\n let selfobj = this;\r\n setTimeout(function () {\r\n var RHxTabselected = localStorage.getItem('RHxTabselected');\r\n if (RHxTabselected == 'Contacts') {\r\n selfobj.selectedtabid = 'contact';\r\n selfobj.RHxContactSelected = true;\r\n selfobj.GetRHxNames('Contact');\r\n } else if (RHxTabselected == 'Accounts') {\r\n selfobj.selectedtabid = 'customers';\r\n selfobj.RHxAccountSelected = true;\r\n selfobj.GetRHxNames('Account');\r\n }\r\n else {\r\n selfobj.GetRHxNames('All');\r\n selfobj.RHxRecentViewPages = true;\r\n }\r\n }, 300)\r\n \r\n }\r\n\r\n RHxTab(val) {\r\n \r\n if (val == 'Contacts') {\r\n this.RHxAccountSelected = false;\r\n this.RHxContactSelected = true;\r\n this.RHxRecentViewPages = false;\r\n this.GetRHxNames('Contact');\r\n } else if (val == 'Accounts') {\r\n this.RHxAccountSelected = true;\r\n this.RHxContactSelected = false;\r\n this.RHxRecentViewPages = false;\r\n this.GetRHxNames('Account');\r\n } else if (val == 'RecentPages') {\r\n this.GetRHxNames('All');\r\n this.RHxRecentViewPages = true;\r\n this.RHxAccountSelected = false;\r\n this.RHxContactSelected = false;\r\n }\r\n\r\n localStorage.setItem('RHxTabselected', val);\r\n }\r\n OpenAccountOrContact(Rhx) {\r\n if (Rhx.Type == \"Account\") {\r\n this.customerService.GetByAccountId(Rhx.id).then(result => {\r\n this.account = result;\r\n if (this.account.isCustomer == 874) {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Customer`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Customer`);\r\n }\r\n\r\n localStorage.setItem('RhxAccountVal', Rhx.id);\r\n this.recentHistoryOn = false;\r\n this.RHxMenuDiv = false;\r\n this.RHxNames = [];\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.ExpandSelectedMenu('customers');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n selfobj.selectedtabid = 'Customer';\r\n }, 200)\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Accounts`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n }\r\n \r\n localStorage.setItem('RhxAccountVal', Rhx.id);\r\n this.recentHistoryOn = false;\r\n this.RHxMenuDiv = false;\r\n this.RHxNames = [];\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n //selfobj.selectedtabid = 'Customer';\r\n }, 200)\r\n }\r\n\r\n \r\n });\r\n }\r\n else if (Rhx.Type == \"Contact\") {\r\n \r\n var url = window.location.href;\r\n if (url.indexOf('contacts') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }\r\n localStorage.setItem('RhxContactVal', Rhx.id);\r\n $('#emailIds').val(Rhx.id);\r\n $('#tasklistselectedtyle').val('Contact');\r\n this.recentHistoryOn = false;\r\n this.RHxMenuDiv = false;\r\n this.RHxNames = [];\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.ExpandSelectedMenu('contact');\r\n selfobj.selectedtabid = 'contact';\r\n }, 200)\r\n\r\n }\r\n else {\r\n localStorage.setItem('RecentPagesViewed', Rhx.id);\r\n this.recentHistoryOn = false;\r\n this.RHxMenuDiv = false;\r\n this.RHxNames = [];\r\n\r\n\r\n this.customerService.GetAuditDataByID(Rhx.id).then((RHxNameslist) => {\r\n \r\n if (RHxNameslist.type == \"Leads\") {\r\n this.CollapseSelectedMenu('leads');\r\n this.ExpandSelectedMenu('leads');\r\n this.router.navigateByUrl(`/application/leadsdashboard/${RHxNameslist.AccountOrContactId}/0/null`);\r\n } else if (RHxNameslist.type == \"Opportunity\") {\r\n this.CollapseSelectedMenu('opportunities');\r\n this.ExpandSelectedMenu('opportunities');\r\n let type = RHxNameslist.AccountOrContact == 'Contact' ? 'Contacts' : 'Customer';\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/${RHxNameslist.AccountOrContactId}/${type}/null/${RHxNameslist.documentid}`);\r\n }\r\n else if (RHxNameslist.type == \"TaskList\" ) {\r\n if (RHxNameslist.AccountOrContact == \"Contacts\") {\r\n this.CollapseSelectedMenu('tasklists');\r\n this.ExpandSelectedMenu('tasklists');\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/${RHxNameslist.AccountOrContactId}/${RHxNameslist.documentid}/null`);\r\n } else if (RHxNameslist.AccountOrContact == \"Account\") {\r\n this.CollapseSelectedMenu('tasklists');\r\n this.ExpandSelectedMenu('tasklists');\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Customer/${RHxNameslist.AccountOrContactId}/${RHxNameslist.documentid}/null`);\r\n }\r\n else {\r\n this.activateMainButtons('task lists');\r\n }\r\n \r\n } else if (RHxNameslist.type == \"Proposal\") {\r\n this.CollapseSelectedMenu('Proposals');\r\n this.ExpandSelectedMenu('Proposals');\r\n\r\n this.router.navigateByUrl(`/application/Proposals/` + RHxNameslist.AccountOrContactId + `/` + RHxNameslist.documentid + `/Open Proposal/Contact`);\r\n } else if (RHxNameslist.type == \"Forecasting\") {\r\n this.CollapseSelectedMenu('Forecasting');\r\n this.ExpandSelectedMenu('Forecasting');\r\n\r\n this.ClosedLeads('Forecasting', this.currentuser.id, 'Forecasting');\r\n this.router.navigateByUrl(`/application/forecasting/${RHxNameslist.AccountOrContactId}`);\r\n } else if (RHxNameslist.type == \"Calendar\") {\r\n this.CollapseSelectedMenu('Calendar');\r\n this.ExpandSelectedMenu('Calendar');\r\n\r\n this.router.navigateByUrl(`/application/month-calender/null`);\r\n } else if (RHxNameslist.type == \"Customer\") {\r\n this.CollapseSelectedMenu('customers');\r\n this.ExpandSelectedMenu('customers');\r\n if (RHxNameslist.AccountOrContactId > 0) {\r\n this.router.navigateByUrl(`/application/customercontacts/undefined/${RHxNameslist.AccountOrContactId}`);\r\n } else {\r\n this.router.navigateByUrl(`/application/customercontacts`);\r\n }\r\n } else if (RHxNameslist.type == \"Tickets\") {\r\n this.CollapseSelectedMenu('tickets');\r\n this.ExpandSelectedMenu('tickets');\r\n \r\n this.router.navigateByUrl(`/application/zendeskhome/${RHxNameslist.AccountOrContactId}/${RHxNameslist.documentid}/Open Tickets`);\r\n }\r\n else if (RHxNameslist.type == \"About SalesXCRM\" || RHxNameslist.type == \"Contact Us\" || RHxNameslist.type == \"Release Notes\") {\r\n\r\n this.AboutUsPageType = this.selectedsubbutton = RHxNameslist.type.replace(\" \", '');\r\n this.ActionClick(this.AboutUsPageType);\r\n //this.router.navigateByUrl(`/application/aboutsales-xcrm/${RHxNameslist.type}`);\r\n } else if (RHxNameslist.type == \"Call List\") {\r\n\r\n if (RHxNameslist.documentid != 0) {\r\n this.router.navigateByUrl(`/application/calllist/` + RHxNameslist.AccountOrContact + '/' + 0 + '/' + RHxNameslist.documentid);\r\n } else {\r\n this.activateMainButtons('Call Lists');\r\n }\r\n\r\n \r\n } else if (RHxNameslist.type == 'Campaigns') {\r\n \r\n this.selectedsubbutton = 'Campaigns';\r\n this.CampaignId = RHxNameslist.documentid;\r\n \r\n } else if (RHxNameslist.type == 'Profile') {\r\n this.activateMainButtons('My Profile');\r\n }else if (RHxNameslist.type == 'Recent History') {\r\n this.SubmenuChange('Recent History', 'Recent History', 'main');\r\n }else if (RHxNameslist.type == 'Pended Proposal') {\r\n this.activateMainButtons('PendedProposal');\r\n } else if (RHxNameslist.type == 'My Documents') {\r\n this.activateMainButtons('My Documents');\r\n } else if (RHxNameslist.type == 'User Configuration') {\r\n this.SubmenuChange('User Configuration', '426', 'main');\r\n } else if (RHxNameslist.type == 'PopUp Message') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Pop-Up Messaging', 'Pop-Up Messaging', 'main');\r\n } else if (RHxNameslist.type == 'Ticket Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Ticket Configuration', '529', 'Sub');\r\n } else if (RHxNameslist.type == 'Task List Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Task List Configuration', '424', 'Sub');\r\n } else if (RHxNameslist.type == 'StatusID Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Status ID Configuration', '530', 'Sub');\r\n } else if (RHxNameslist.type == 'Software License Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Software License Configuration', '627', 'Sub');\r\n } else if (RHxNameslist.type == 'Response Wizard') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Sales tools', 'ResponseWizard', 'sub');\r\n } else if (RHxNameslist.type == 'Proposal Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Proposal Configuration', '528', 'Sub');\r\n } else if (RHxNameslist.type == 'Opportunities Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Opportunities Configuration', '423', 'Sub');\r\n } else if (RHxNameslist.type == 'Leads Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Leads Configuration', '531', 'Sub');\r\n } else if (RHxNameslist.type == 'Document MGMT Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Document MGMT Configuration', '451', 'Sub');\r\n } else if (RHxNameslist.type == 'Campaign Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Campaign Configuration', '624', 'Sub');\r\n } else if (RHxNameslist.type == 'Account Transfer Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Account - Transfer Ownership', '612', 'Sub');\r\n } else if (RHxNameslist.type == 'Account Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Account Configuration', '420', 'Sub')\r\n } else if (RHxNameslist.type == 'Contact Configuration') {\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Contact Configuration', '422', 'Sub')\r\n } else if (RHxNameslist.type.includes('Standard Reports')) {\r\n this.CollapseSelectedMenu('reports');\r\n this.ExpandSelectedMenu('reports');\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Reports', 'StandardReports', 'Sub');\r\n } else if (RHxNameslist.type.includes('Admin Reports')) {\r\n this.CollapseSelectedMenu('reports');\r\n this.ExpandSelectedMenu('reports');\r\n this.PopUpMessageType = RHxNameslist.AccountOrContact;\r\n this.SubmenuChange('Reports', 'AdminReports', 'Sub');\r\n }\r\n\r\n });\r\n\r\n \r\n\r\n }\r\n this.pageViewed = \"\";\r\n\r\n }\r\n RWActiveClick(val) {\r\n var url = window.location.href;\r\n if (this.calllisturl != \"\" && this.calllisturl != url) {\r\n if (this.Iscalllisterrorshow) {\r\n this.Iscalllistdialogshow = true;\r\n this.callListSavePopUpCss();\r\n return false;\r\n }\r\n }\r\n if (this.userprevilages != undefined) {\r\n var thisTab = this.userprevilages.filter(p => p.resource == 'Response Wizard')[0];\r\n if (thisTab == undefined || (thisTab != undefined && thisTab.canview == false)) {\r\n this.toastr.warning(\"You Do Not have Access to Response Wizard Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\", { timeOut: 1500 });\r\n\r\n return false;\r\n } \r\n if (val == 1 || val == 2) {\r\n this.responsewizardType = (val == 2) ? \"SalesTool\" : \"TaskList\";\r\n this.router.navigateByUrl(`/application/responsewizard/` + this.responsewizardType + `/` + this.PopUpMessageType);\r\n } \r\n else {\r\n this.RWActive = false;\r\n }\r\n }\r\n }\r\n\r\n \r\n RHxMenuDivCss() {\r\n setTimeout(function () {\r\n $('#RHxMenuDiv .dialog').attr('style', 'width: 15%;padding: 0;min-height: 63%;overflow: auto;height: 85%;left: 0!important;margin-left: 1%;top: 10%;');\r\n }, 4)\r\n }\r\n Ok(msg) {\r\n if (msg == 'NotSelected') {\r\n this.NotSelected = false;\r\n }\r\n else {\r\n this.isMultipleContactSelected = false;\r\n }\r\n }\r\n\r\n GetAllZendeskUers(filter, sortOrder) { \r\n this.ClosedTicketCount = 0;\r\n this.customerService.GetTicketsList('All Tickets', filter, this.currentuser.id, sortOrder, false, null).then((tickets) => {\r\n \r\n this.OpenTicketCount = tickets.filter(p => p.TicketStatus == 1).length; \r\n this.OnHoldTicketCount = tickets.filter(p => p.TicketStatus == 2).length;\r\n this.PendedTicketCount = tickets.filter(p => p.TicketStatus == 3).length;\r\n this.ClosedTicketCount = tickets.filter(p => p.TicketStatus == 4).length + tickets.filter(p => p.TicketStatus == 5).length;\r\n this.DeleteTicketCount = tickets.filter(p => p.TicketStatus == 6).length;\r\n this.AllTicketCount = tickets.length;\r\n this.UnReadOpenTicketCount = tickets.filter(p => p.readstatus == 0 && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id)).length;\r\n });\r\n\r\n }\r\n\r\n GetUserMessagesByUserId() {\r\n this.NotificationMessages = [];\r\n this.messagingservice.GetUserMessagesByUser(this.currentuser.id).then((res) => {\r\n this.NotificationMessages = res.filter(x => x.readusers == null); \r\n });\r\n }\r\n\r\n NotificationMessage(Data) {\r\n this._notificationSvc.Message(Data);\r\n this.NotificationMessage\r\n }\r\n\r\n NotificationMessageDialogCss() {\r\n setTimeout(function () {\r\n $(' #NotificationMessageDialog .dialog').attr('style', 'width: 50%;padding - bottom: 0px;min-height: 63%;overflow: auto;height: 60%;left: 6%;top: 18.5%;padding: 0;');\r\n }, 4)\r\n }\r\n\r\n onWizzardClosed(val) {\r\n if (val.readusers == null) {\r\n val.readusers = \"\";\r\n val.readusers += this.currentuser.id;\r\n } else {\r\n val.readusers += \",\" + this.currentuser.id;\r\n }\r\n\r\n this.AddorUpdateUserMessages(val)\r\n }\r\n\r\n AddorUpdateUserMessages(userMessages) {\r\n this.messagingservice.AddorUpdateUserMessages(userMessages).then((res) => {\r\n \r\n });\r\n }\r\n onWizardAdded() {\r\n\r\n }\r\n\r\n \r\n\r\n CloseSearch() {\r\n this.CloseSearchDialog = false;\r\n }\r\n ShowEditSearchDiv(val) {\r\n if (val === true) {\r\n this.showSearchTabsSubTabs = true;\r\n this.showSearchTabsSubTabsCss();\r\n $(setTimeout(function () {\r\n //$('#multipleDropdown .cuppa-dropdown .dropdown-list .list-area .list-filter').after('');\r\n $('#multipleDropdown .c-list').click()\r\n }, 500));\r\n\r\n } else {\r\n this.showSearchTabsSubTabs = false;\r\n }\r\n }\r\n showSearchTabsSubTabsCss() {\r\n setTimeout(function () {\r\n\r\n $('.dialog').attr('style', 'width: 22%;padding - bottom: 0px;border: 3px solid #00B0F0;min-height: 63%;overflow: auto;height: 73.8%;left: 76%;top: 18.5%;padding: 0;');\r\n }, 4)\r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 96%;padding-bottom: 0px;min-height: 92%;overflow: auto;height: 92%;padding: 0;top:8%;border: 3px solid #FF5F15;left:3.2%');\r\n }, 4)\r\n }\r\n ActionClick(val) {\r\n this.selectedsubbutton = val;\r\n this.AboutUsPage = true;\r\n if (val == 'AboutSalesXCRM') {\r\n this.selectedsubbutton = val;\r\n this.AboutUsPageDiv = true;\r\n \r\n } else if (val == 'ReleaseNotes') {\r\n this.AboutUsPageDiv = true;\r\n \r\n } else if (val == 'ContactUs') {\r\n this.AboutUsPageDiv = true;\r\n \r\n }\r\n \r\n this.aboutusComponent.OpenAboutusPageType(val)\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#' + val + \"_button\").addClass(\"activeButton\");\r\n\r\n }\r\n\r\n CloseAboutus(msg) {\r\n this.AboutUsPage = false;\r\n if (msg == 'AboutUs') {\r\n this.AboutUsPageDiv = false;\r\n this.activateMainButtons('dashboards');\r\n \r\n } else if (msg == 'AccountTransfer') {\r\n this.ShowConfigurationDialog = false;\r\n this.activateMainButtons('dashboards');\r\n } else if (msg == 'My Documents') {\r\n // this.ShowConfigurationDialog = false;\r\n $('#MyDocumentsMainMenu').removeClass(\"activeButton\");\r\n $('#MyDocumentsMainMenu').addClass(\"collapsed\");\r\n } else if (msg == 'userRole') {\r\n this.ShowConfigurationDialog = false;\r\n $('#UserRolesMainMenu').removeClass(\"activeButton\");\r\n \r\n }\r\n else if (msg == 'ReleaseNotes') {\r\n this.ReleaseNotesPage = false;\r\n } else if (msg == 'ContactUs') {\r\n this.ContactUsPage = false;\r\n }\r\n this.ShowConfigurationDialog = false;\r\n this.selectedsubbutton = \"\";\r\n }\r\n CloseSearchBox(val) {\r\n this.Searchdiv = false;\r\n }\r\n\r\n ClearSearchCriteria() {\r\n this.ConfirmationSearchClear = true;\r\n this.ConfirmationSearchClearCss();\r\n }\r\n\r\n SearchConfirm(val) {\r\n if (val === 'Yes') {\r\n this.clearSearchConfirm = true;\r\n this.onSearchChange('delete');\r\n this.ConfirmationSearchClear = false;\r\n this.Searchdiv = false;\r\n \r\n } else {\r\n this.ConfirmationSearchClear = false;\r\n this.clearSearchConfirm = false;\r\n }\r\n \r\n }\r\n\r\n ConfirmationSearchClearCss() {\r\n setTimeout(function () {\r\n $('#ConfirmationSearchClear .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n }\r\n ProposalOverLayWarningCss() {\r\n setTimeout(function () {\r\n $('#ProposalOverLayWarning .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n }\r\n\r\n ShowLiveChatBox(val) {\r\n this.ShowLivechatBox = true;\r\n }\r\n EventEmit(msg) { \r\n if (msg === 'Proposal Cancelled') {\r\n this.CreateProposalPage = false;\r\n this.activateMainButtons('dashboards');\r\n } else if (msg === \"Pend Proposal\") {\r\n this.activateMainButtons('PendedProposal');\r\n this.CreateProposalPage = false;\r\n } else if (msg === \"Proposal Saved\") {\r\n this.CreateProposalPage = false;\r\n this.activateMainButtons('Proposals');\r\n }\r\n }\r\n CloseProposalPage(msg) {\r\n if (msg === true) {\r\n this.CreateProposalPage = true;\r\n this.ProposalOverLayWarning = true;\r\n this.ProposalOverLayWarningCss();\r\n }\r\n }\r\n\r\n sideMenuDisable(Value) {\r\n if (Value == \"Disable\") {\r\n $(\"#SideMenu\").addClass('customDisable');\r\n $('.panel-default').attr('style', 'border-color: transparent !important;')\r\n $('.panel-default .panel-heading').attr('style', 'border-color: transparent !important')\r\n } else {\r\n $(\"#SideMenu\").removeClass('customDisable');\r\n $('.panel-default').attr('style', 'border-color: white !important;')\r\n $('.panel-default .panel-heading').attr('style', 'border-color: white !important;')\r\n }\r\n \r\n }\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n closedialog(val) {\r\n $('#NotificationMessageDialog' + val).attr('style', 'display:none');\r\n }\r\n\r\n InsertAuditHistory(RecentPagesViewed: AuditLogModel) {\r\n\r\n this.userservice.InsertAuditLog(RecentPagesViewed).then((result) => {\r\n\r\n });\r\n }\r\n\r\n WeekLyReport() {\r\n this.userservice.weeklyReport(this.currentuser.userName).then((result) => {\r\n\r\n });\r\n }\r\n\r\n AccTranInitializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: false, enableColResize: true, paginationPageSize: 1000, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: 'multiple', enableCellChangeFlash: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.AccTranCreateColumnDefs();\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n //this.context = this;\r\n\r\n }\r\n AccTranCreateColumnDefs() {\r\n this.AccTransColumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n {\r\n field: 'customertypeid', headerName: 'Customer Type', hide: true,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n { field: 'accnumber', headerName: 'Act Number', hide: true, cellStyle: { color: 'red' }, },\r\n { field: 'IsContact', headerName: ' Is Contact?', hide: true },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'speciality', headerName: 'Specialty', hide: true, },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false,\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false,\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false,\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false,\r\n },\r\n {\r\n field: 'zip', headerName: 'Zip', hide: false\r\n },\r\n {\r\n field: 'phone', headerName: 'Phone', hide: false,\r\n },\r\n {\r\n field: 'mapit', headerName: 'Map It', hide: false, width: 80,\r\n },\r\n {\r\n field: 'ehr', headerName: 'EHR', hide: false,\r\n },\r\n {\r\n field: 'pm', headerName: 'PM', hide: false,\r\n },\r\n\r\n {\r\n field: 'rcm', headerName: 'RCM', hide: false,\r\n },\r\n {\r\n field: 'username', headerName: 'User Name', hide: false,\r\n }\r\n ];\r\n }\r\n openMyNotes() {\r\n this.MyNotes = true;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n $(\"#FollowUp\").trigger(\"click\"); \r\n selfObj.NotesChanged(\"#FollowUp\");\r\n selfObj.currentuser.myNotes = selfObj.currentuser.followupNotes;\r\n }, 200));\r\n selfObj.MyNotesDialogCss();\r\n }\r\n\r\n MyNotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('#MyNotes .dialog').attr('style', 'width:52%;padding:0;min-height: 63%;overflow: auto;height:92%;top:8%;margin-right:0%;');\r\n }, 4));\r\n }\r\n CloseMyNotes() {\r\n \r\n if (this.selectedNoteRadio == \"FollowUp\") {\r\n if (this.currentuser.myNotes != this.currentuser.followupNotes) {\r\n this.loaddialog('MyNotes', 'My Notes', 'Save Changes to My Notes? ', false, false, true, true, 0)\r\n } else {\r\n this.MyNotes = false;\r\n }\r\n }\r\n else if (this.selectedNoteRadio == \"Client\") {\r\n if (this.currentuser.myNotes != this.currentuser.followupNotes) {\r\n this.loaddialog('MyNotes', 'My Notes', 'Save Changes to My Notes? ', false, false, true, true, 0)\r\n } else {\r\n this.MyNotes = false;\r\n } }\r\n else if (this.selectedNoteRadio == \"Goals\") {\r\n if (this.currentuser.myNotes != this.currentuser.goalNotes) {\r\n this.loaddialog('MyNotes', 'My Notes', 'Save Changes to My Notes? ', false, false, true, true, 0)\r\n } else {\r\n this.MyNotes = false;\r\n }\r\n }\r\n else if (this.selectedNoteRadio == \"Personal\") {\r\n if (this.currentuser.myNotes != this.currentuser.personalNotes) {\r\n this.loaddialog('MyNotes', 'My Notes', 'Save Changes to My Notes? ', false, false, true, true, 0)\r\n } else {\r\n this.MyNotes = false;\r\n }\r\n }\r\n else if (this.selectedNoteRadio == \"SoftwareBugs\") {\r\n if (this.currentuser.myNotes != this.currentuser.SoftwareBugsNotes) {\r\n this.loaddialog('MyNotes', 'My Notes', 'Save Changes to My Notes? ', false, false, true, true, 0)\r\n } else {\r\n this.MyNotes = false;\r\n }\r\n }\r\n else if (this.selectedNoteRadio == \"Misc\") {\r\n if (this.currentuser.myNotes != this.currentuser.miscNotes) {\r\n this.loaddialog('MyNotes', 'My Notes', 'Save Changes to My Notes? ', false, false, true, true, 0)\r\n } else {\r\n this.MyNotes = false;\r\n }\r\n }\r\n //else {\r\n // this.MyNotes = false;\r\n // var url = window.location.href;\r\n // this.displayheader(url);\r\n //}\r\n \r\n }\r\n SaveMyNotes() { \r\n if (this.selectedNoteRadio == \"FollowUp\") {\r\n this.mynotes.followupNotes = $('textarea#MyNotes').val();\r\n }\r\n else if (this.selectedNoteRadio == \"Goals\") {\r\n this.mynotes.goalNotes = $('textarea#MyNotes').val();\r\n } else if (this.selectedNoteRadio == \"Misc\") {\r\n this.mynotes.miscNotes = $('textarea#MyNotes').val();\r\n } else if (this.selectedNoteRadio == \"Personal\") {\r\n this.mynotes.personalNotes = $('textarea#MyNotes').val();\r\n } else if (this.selectedNoteRadio == \"SoftwareBugs\") {\r\n this.mynotes.SoftwareBugsNotes = $('textarea#MyNotes').val();\r\n }\r\n this.customerService.SaveuserNotes(this.mynotes).then(result => {\r\n if (this.selectedNoteRadio == \"FollowUp\") {\r\n this.currentuser.followupNotes = this.mynotes.followupNotes;\r\n } else if (this.selectedNoteRadio == \"Goals\") {\r\n this.currentuser.goalNotes = this.mynotes.goalNotes;\r\n } else if (this.selectedNoteRadio == \"Misc\") {\r\n this.currentuser.miscNotes = this.mynotes.miscNotes;\r\n } else if (this.selectedNoteRadio == \"Personal\") {\r\n this.currentuser.personalNotes = this.mynotes.personalNotes;\r\n } else if (this.selectedNoteRadio == \"SoftwareBugs\") {\r\n this.currentuser.SoftwareBugsNotes = this.mynotes.SoftwareBugsNotes;\r\n }\r\n this.toastr.success(\"My Note Added successfully.\", \"Note Added\");\r\n });\r\n }\r\n NotesChanged(val) {\r\n\r\n if (val == \"FollowUp\") {\r\n this.currentuser.myNotes = this.currentuser.followupNotes;\r\n } else if (val == \"Goals\") {\r\n this.currentuser.myNotes = this.currentuser.goalNotes;\r\n } else if (val == \"Misc\") {\r\n this.currentuser.myNotes = this.currentuser.miscNotes;\r\n } else if (val == \"Personal\") {\r\n this.currentuser.myNotes = this.currentuser.personalNotes;\r\n } else if (val == \"SoftwareBugs\") {\r\n this.currentuser.myNotes = this.currentuser.SoftwareBugsNotes;\r\n } else {\r\n this.currentuser.myNotes = \" \";\r\n }\r\n }\r\n getTransferedAccounts() {\r\n this.AllTransferedAccounts = [];\r\n this.customerService.GetAccountsTransferByUser(this.currentuser.id, 'New').then(res => {\r\n if (res != null) {\r\n this.TransferedAccounts = res;\r\n var ids = [];\r\n let so = this;\r\n $(setTimeout(function () {\r\n so.TransferedAccounts.forEach(ele => {\r\n ids.push(ele.AccountIds);\r\n });\r\n so.opprtunityservice.GetAllAccountsByListOfIds(ids.join(',')).then(accounts => {\r\n\r\n if (accounts != null) {\r\n so.AllTransferedAccounts = accounts;\r\n } else {\r\n so.AllTransferedAccounts = [];\r\n }\r\n\r\n so.AccTranInitializeAgGrid();\r\n });\r\n }, 100));\r\n }\r\n else {\r\n this.AllTransferedAccounts = [];\r\n }\r\n });\r\n\r\n\r\n }\r\n AccountTransferrowClickAgGrid(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n this.AccConIds = string;\r\n $('#tasklistselectedtyle').val('');\r\n } else {\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n this.AccConIds = string;\r\n $('#tasklistselectedtyle').val('Customer');\r\n\r\n }\r\n }\r\n AccountcellDoubleClicked(rowEvent) {\r\n this.QuickSearchDiv = false;\r\n localStorage.setItem('RhxAccountVal', rowEvent.data.id);\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/account/Accounts`);\r\n SO.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n SO.selectedtabid = 'Customer';\r\n }, 100));\r\n }, 50));\r\n\r\n }\r\n OpenAccountTransferDialog() {\r\n this.AccTranInitializeAgGrid();\r\n this.getTransferedAccounts();\r\n \r\n }\r\n\r\n\r\n Confirmation(val) {\r\n if (val == true) {\r\n this.loaddialog('AccountTransfer', 'Account Transfer', 'Clear Accounts Selected from Grid?', false, false, true, true, 0);\r\n }\r\n else {\r\n this.ShowTransferAccounts = false;\r\n var url = window.location.href;\r\n this.displayheader(url);\r\n this.sideMenuDisable('Enable');\r\n }\r\n }\r\n \r\n UpdateOwnership() {\r\n\r\n this.customerService.TransferAccountsToNewOwner(this.currentuser.id, this.Ids.join(',')).then(val => {\r\n this.getTransferedAccounts();\r\n //this.ClearTransferAccounts = false;\r\n this.Ids = [];\r\n this.toastr.success(\"Account Transfer successfully.\", \"Account Saved\", { timeOut: 600 });\r\n });\r\n }\r\n ShowAccountsTransfered() {\r\n this.showmenu = true;\r\n this.selectedsubbutton = 'ShowTransferAccounts'; \r\n this.OpenAccountTransferDialog();\r\n this.Ids = [];\r\n $('#emailIds').val('');\r\n }\r\n\r\n showSearchOption() {\r\n var url = window.location.href;\r\n if (this.calllisturl != \"\" && this.calllisturl != url) {\r\n if (this.Iscalllisterrorshow) {\r\n this.Iscalllistdialogshow = true;\r\n this.callListSavePopUpCss();\r\n return false;\r\n }\r\n }\r\n this.hideSubButton = true;\r\n setTimeout(function () {\r\n $('#hideSubButton .dialog').attr('style', 'width:50%;padding-bottom:0px;left:50%;top:6%;padding:0;');\r\n }, 4)\r\n }\r\n Standard3dotUi(idval) {\r\n setTimeout(function () {\r\n $(idval).attr('style', 'width: 96%;padding-bottom:0px;min-height:92%;overflow:auto;height:92%;padding:0;top:8%;border:3px solid #00B0F0;left:3.2%;');\r\n }, 4)\r\n }\r\n Standard3dotUione(idval) {\r\n setTimeout(function () {\r\n $(idval).attr('style', 'width: 33%;padding-bottom:0px;min-height:92%;overflow:auto;height:92%;padding:0;top:8%;border:2px solid #00B0F0;left:66.2%;');\r\n }, 4)\r\n }\r\n Standard3dotUitwo(idval) {\r\n setTimeout(function () {\r\n $(idval).attr('style', 'width: 66%;padding-bottom:0px;min-height:92%;overflow:auto;height:92%;padding:0;top:8%;border:2px solid #00B0F0;left:33.2%;');\r\n }, 4)\r\n }\r\n StandardpopupUi(idval) {\r\n setTimeout(function () {\r\n $(idval).attr('style', 'width: 96%;padding-bottom:0px;min-height:92%;overflow:auto;height:92%;padding:0;top:8%;border:3px solid #FF5F15;left:3.2%;');\r\n }, 4)\r\n }\r\n StandardGreenpopupUi(idval) {\r\n setTimeout(function () {\r\n $(idval).attr('style', 'width: 96%;padding-bottom:0px;min-height:92%;overflow:auto;height:92%;padding:0;top:8%;border:4px solid #badb98;left:3.2%;');\r\n }, 4)\r\n }\r\n hideSearchOption() {\r\n this.hideSubButton = false;\r\n }\r\n\r\n loadSearchdropdowns() {\r\n this.customerService.GetSpecialityList(\"Searchval\", this.currentuser.id).then((Rows) => {\r\n this.SearcValueList = Rows;\r\n\r\n if (this.SearchType == \"contactName\") {\r\n this.SearcValueModel = this.SearcValueList.filter(x => x.itemName == 'Contact ' + this.selectedval);\r\n } else {\r\n this.SearcValueModel = this.SearcValueList.filter(x => x.itemName == 'Account ' + this.selectedval);\r\n }\r\n\r\n });\r\n this.customerService.GetSpecialityList(\"SearchTypeval\", this.currentuser.id).then((Rows) => {\r\n this.SearchTypeList = Rows;\r\n\r\n var CustType = (this.customertype == '1') ? 'Customer' : (this.customertype == '2') ? 'Former Customer' : (this.customertype == '0') ? \"Non-Customer\" : 'Display All'\r\n this.SearchTypeModel = this.SearchTypeList.filter(x => x.itemName == CustType);\r\n\r\n });\r\n\r\n this.SearcValueModel = [{ \"id\": 702, \"itemName\": \"Account Name\" }];\r\n this.SearchTypeModel = [{ \"id\": 712, \"itemName\": \"Display All\" }];\r\n // this.loadallaccounts(this.UserIds, false, 1, 10000, 0);\r\n }\r\n \r\n loadallaccounts(userids, isSearch: boolean, startrow, endrow, accstatus) {\r\n this.selectedusers = userids;\r\n //if (this.selectedusers != '' && this.selectedusers != null && this.selectedusers != undefined) {\r\n // this.customerService.Getselectedusers(this.selectedusers).then((Owner) => {\r\n // Owner.forEach(Owner => {\r\n // });\r\n // this.selectedItems = Owner;\r\n // })\r\n //}\r\n //else {\r\n // this.selectedItems = [{ \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }];\r\n // this.finalitems += this.currentuser.id + ',';\r\n //}\r\n this.searchstring = \"\";\r\n this.searchCriteriadata = [];\r\n if (this.term == \"\") {\r\n this.term = null;\r\n }\r\n this.allCustomers = [];\r\n this.opprtunityservice.GetAllAccountsBySearch(this.currentuser.id, this.term, this.selectedItems.toString(), 'Accounts', (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, startrow, endrow, this.customertype, accstatus).then((account) => {\r\n if (account.length > 0) {\r\n account.forEach(account => {\r\n });\r\n \r\n this.allCustomers = account;\r\n \r\n this.gridApi.paginationSetPageSize(Number(this.allCustomers.length));\r\n //this.initializeAgGrid();\r\n\r\n } else {\r\n this.allCustomers = [];\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n SearcValueItemSelect(item) {\r\n this.selectedval = item.itemName.split(' ')[1];\r\n if (item.value.startsWith('Account')) {\r\n this.SearchType = \"accountName\";\r\n this.SearchResultTable = 'Account';\r\n if (this.term != \"\") {\r\n this.loadallaccounts(this.UserIds, false, 1, 10000, 0);\r\n\r\n } else {\r\n this.allCustomers = [];\r\n }\r\n }\r\n else {\r\n this.SearchType = \"contactName\";\r\n this.SearchResultTable = 'Contact';\r\n if (this.term == '') this.term = null;\r\n this.GetContactList(this.term, this.UserIds, 0);\r\n this.SearchResultTable = 'Contact';\r\n }\r\n this.SaveQuickSearchConfigToLocal();\r\n }\r\n SearchTypeItemSelect(item) {\r\n this.customertype = item.value == \"Display All\" ? '0,1,2' : item.value == \"Customer\" ? '1' : item.value == \"Former Customer\" ? '2' : '0';\r\n\r\n this.SaveQuickSearchConfigToLocal()\r\n }\r\n\r\n GetContactList(term, userid, active_deactiveStatus?: number) {\r\n this.opprtunityservice.GetAllContactsbySearchPagination(this.currentuser.id, term, userid, 'Contacts', active_deactiveStatus, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, this.customertype).then((contact) => {\r\n if (contact.length > 0) {\r\n contact.forEach(contact => {\r\n contact.created = this.datePipe.transform(contact.created, \"MM-dd-yyyy\");\r\n contact.speciality = ((contact.speciality == 'null') ? \"\" : contact.speciality);\r\n });\r\n\r\n if (this.IncludeShared == 'NotShared') {\r\n var filterCon = [];\r\n contact.forEach(ele => {\r\n if (ele.userid == this.currentuser.id) {\r\n filterCon.push(ele)\r\n } else {\r\n if (ele.isshared == 0) {\r\n filterCon.push(ele)\r\n }\r\n }\r\n\r\n });\r\n\r\n //this.allContacts = contact.filter(con => (con.userid == this.currentuser.id)? '': con.isshared == 0);\r\n this.allContacts = filterCon;\r\n } else {\r\n this.allContacts = contact;\r\n }\r\n //this.gridApi.paginationSetPageSize(Number(this.allCustomers.length));\r\n this.initializeAgGrid();\r\n this.gridApi.paginationSetPageSize(Number(this.allContacts.length));\r\n } else {\r\n this.allContacts = [];\r\n }\r\n\r\n });\r\n }\r\n\r\n SaveQuickSearchConfigToLocal() {\r\n this.QuickSearchConfig = [{ 'selectedval': this.selectedval, 'SearchType': this.SearchType, 'customertype': this.customertype, 'IncludeShared': this.IncludeShared }];\r\n localStorage.setItem('QuickSearchConfig', JSON.stringify(this.QuickSearchConfig[0]));\r\n }\r\n LiveChat() {\r\n this.ChatDialog = true;\r\n this.Standard3dotUitwo('#ChatDialog .dialog');\r\n \r\n }\r\n onChatUserMsg(msg) { }\r\n onTaskSaved(msg) {\r\n if (msg == 'Task Added') {\r\n this.taskDialog = false;\r\n } else {\r\n this.taskDialog = !this.taskDialog;\r\n this.taskDialogCss();\r\n this.SelectedDate = null;\r\n \r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1 && msg == 'CloseAddTask') {\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n localStorage.setItem('RhxAccountVal', this.id.toString());\r\n }\r\n else if (url.indexOf('contacts') > -1 && msg == 'CloseAddTask') {\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }, 100));\r\n }, 50));\r\n\r\n localStorage.setItem('RhxContactVal', this.id.toString());\r\n\r\n }\r\n else {\r\n if (url.indexOf('account') > -1) {\r\n\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/account/Accounts`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n\r\n localStorage.setItem('RhxAccountVal', this.id.toString());\r\n }\r\n else {\r\n if (msg == 'Task Added') { } else { }\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n localStorage.setItem('RhxAccountVal', this.id.toString());\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n selfobj.selectedtabid = 'Customer';\r\n }, 200)\r\n if (this.type == \"Contacts\") {\r\n this.customerService.LoadContactById(this.id).then(conres => {\r\n localStorage.setItem('RhxAccountVal', conres.accountid.toString());\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n this.pageViewed = \"\";\r\n }\r\n\r\n taskDialogCss() {\r\n $(setTimeout(function () {\r\n $('#DashboardtaskDialog .dialog').attr('style', 'width: 40%;padding: 0;min-height: 63%;height: 100%;top: 0;left: 3%;max-width: 1393px !important;margin-right:0%;');\r\n }, 4));\r\n }\r\n onChatMsg(msg) {\r\n var values = msg.split('|');\r\n this.msgMsg = values[0];\r\n if (values[0] == \"OpenUser\" || values[0] ==\"EditUser\") { \r\n this.loadChatdialog(values[1], values[2], values[3]);\r\n } \r\n else if (values[0] == \"ClearGroup\") {\r\n this.groupId = 0; this.groupName = null;\r\n \r\n }\r\n else if (values[0] == \"MessageSend\") { this.ChatUserDialog = false; }\r\n else if (values[0] == \"ReadAllMsgs\") {\r\n this.loadChatdialog(values[1], values[2], values[3]);\r\n this.loadchatCount();\r\n }\r\n else {\r\n this.ChatDialog = false;\r\n this.ChatUserDialog = false;\r\n var url = window.location.href;\r\n this.displayheader(url);\r\n }\r\n }\r\n OpenChatbox(touser, touserId, values) {\r\n if (values != null) {\r\n if (values.currentTarget.checked) {\r\n $('#' + touserId + \"_button\").addClass(\"activeSublabel\");\r\n this.selectedusername.push(touser);\r\n this.selecteduserids.push(touserId);\r\n } else {\r\n $('#' + touserId + \"_button\").removeClass(\"activeSublabel\");\r\n this.selecteduserids = this.selecteduserids;\r\n const index = this.selecteduserids.indexOf(touserId.toString());\r\n if (index !== -1) {\r\n this.selecteduserids.splice(index, 1);\r\n }\r\n }\r\n } else {\r\n $('#' + touserId + \"_button\").addClass(\"activeSublabel\");\r\n const index = this.selecteduserids.indexOf(touserId);\r\n if (index == -1) {\r\n this.selectedusername.push(touser);\r\n this.selecteduserids.push(touserId);\r\n }\r\n }\r\n }\r\n StartChat() {\r\n if (this.selecteduserids.length > 1)\r\n {\r\n this.chatComp.loadSelecteduser(this.groupName, this.groupId, this.selectedusername.join(','), this.selecteduserids.join(','), true);\r\n this.selectedusername = []; this.selecteduserids = [];\r\n this.ChatUserDialog = false;\r\n }\r\n else\r\n {\r\n this.customerService.isDuplicateChatsession(this.currentuser.id, this.selecteduserids.join(',')).then((chatuser) => {\r\n if (chatuser) {\r\n this.showduplicatechatsessionDiaog = true;\r\n setTimeout(function () {\r\n $('#showduplicatechatsessionDiaog .dialog').\r\n attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height:22%;overflow: auto;height: 4%;top:10%;left:7%');\r\n }, 4);\r\n }\r\n else {\r\n this.chatComp.loadSelecteduser(this.groupName, this.groupId, this.selectedusername.join(','), this.selecteduserids.join(','), true);\r\n this.selectedusername = []; this.selecteduserids = [];\r\n this.ChatUserDialog = false;\r\n }\r\n })\r\n }\r\n \r\n }\r\n \r\n DeleteChatChatMessage(chatid) {\r\n this.customerService.deleteChat(chatid).then((delmsg) => {\r\n this.DeleteChatDialog = false;\r\n this.chatComp.FirstloggedinUserlist = [];\r\n this.chatComp.sendorReceivemessageUserList(this.currentuser.id, chatid, \"\", 0);\r\n });\r\n }\r\n\r\n EditChat(userids, grpName, grpId) {\r\n this.selecteduserids = []; this.selectedusername = []; var useridsarray = [];\r\n useridsarray = userids.split(',');\r\n useridsarray = useridsarray.reduce((unique, item) => (unique.includes(item) ? unique : [...unique, item]), []);\r\n if (!this.ChatUserDialog) {\r\n this.ChatUserDialog = true;\r\n this.loadChatdialog(true,true,true);\r\n this.userservice.GetAllUsers(0).then((userlist) => {\r\n this.loggedinUserlist = userlist; \r\n this.loggedinUserlist = this.loggedinUserlist.filter(x => x.id != this.currentuser.id);\r\n this.loggedinUserlist.forEach(user => {\r\n user.userselected = useridsarray.includes(user.id.toString());\r\n });\r\n });\r\n } else {\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.loggedinUserlist.forEach(user => {\r\n $('#' + user.id + \"_button\").removeClass(\"activeSublabel\");\r\n });\r\n }, 100);\r\n \r\n }\r\n this.groupName = grpName;\r\n this.groupId = grpId;\r\n this.selecteduserids = userids.split(',');\r\n setTimeout(function () {\r\n useridsarray.forEach(id => {\r\n $('#' + id + \"_button\").addClass(\"activeSublabel\");\r\n });\r\n }, 300);\r\n \r\n }\r\n\r\n loadChatdialog(val1, val2, val3) {\r\n if (val1 == \"true\" && val2 == \"true\" && val3 == \"true\"){\r\n this.Standard3dotUi('#ChatDialog .dialog');\r\n } else {\r\n this.Standard3dotUitwo('#ChatDialog .dialog');\r\n }\r\n }\r\n sendorReceivemessageUserList(userId) {\r\n this.customerService.GetmessageReceiveList(this.currentuser.id).then((userlist) => {\r\n userlist.forEach(user => {\r\n if (user.unreadcount == '0') {\r\n user.groupName = user.groupName != null && user.groupName != \"\" ? user.groupName : user.username;\r\n } else {\r\n user.groupName = user.groupName != null && user.groupName != \"\" ? user.groupName : user.username + \"(\" + user.unreadcount + \")\";\r\n }\r\n });\r\n this.loggedinUserlist = userlist;\r\n });\r\n }\r\n Updategroup() {\r\n this.grpchat.groupId = this.groupId;\r\n this.grpchat.groupName = this.groupName;\r\n this.grpchat.createdBy = this.currentuser.id;\r\n this.grpchat.grpusers = this.selecteduserids.reduce((unique, item) => (unique.includes(item) ? unique : [...unique, item]), []).join(',');\r\n this.customerService.updategroup(this.grpchat).then((user) => {\r\n this.toastr.success(\"Group Updated.\", \"Group\");\r\n this.ChatUserDialog = false; this.ChatEditUserDialog = false;\r\n this.StartChat();\r\n });\r\n }\r\n onTicketMsg(msg) {\r\n if (msg == \"OpenTicket\") {\r\n setTimeout(function () {\r\n $('#TicketCreateDialog .dialog').attr('style', 'width: 45%;padding-bottom: 0px;min-height: 92%;overflow: auto;height: 92%;padding: 0;top:8%;left:55%;');\r\n }, 4);\r\n } else if (msg == \"HideTicket\") {\r\n this.notSelectedCss('Tickets'); \r\n } else {\r\n this.TicketCreateDialog = false;\r\n }\r\n }\r\n\r\n CRMOK(val) {\r\n if (val == 'ProposalDelete') {\r\n this.customerService.DeleteProposalById(this.dialogobj.Idval).then(result => {\r\n });\r\n this.activateMainButtons('Proposals');\r\n this.router.navigateByUrl(`/application/Proposals/Open Proposals`);\r\n } else if (val == 'Opportunitydelete') {\r\n this.opprtunityservice.deleteopportunity(this.dialogobj.Idval).then(result => {\r\n });\r\n this.activateMainButtons('opportunities');\r\n } else if (val == 'DELETECHAT') {\r\n this.DeleteChatChatMessage(this.dialogobj.idvalues);\r\n }\r\n else if (val == 'DeleteCallList') {\r\n this.ShowConfigurationDialog = false;\r\n this.customerService.Deletecalllist(this.dialogobj.Idval).then((user) => {\r\n this.activateMainButtons('Call Lists');\r\n }); \r\n }\r\n else if (val == 'AccountTransfer') {\r\n this.UpdateOwnership();\r\n }\r\n else if (val == 'NewAccount') {\r\n this.showAddEditAccount = false;\r\n this.pageViewed = \"\";\r\n }\r\n else if (val == 'EditTask') {\r\n this.router.navigateByUrl(`/application/month-calender/null`);\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#TaskCalander_button\").addClass(\"activeButton\");\r\n this.crmDialog = false;\r\n }\r\n else if (val == 'MyNotes') {\r\n this.SaveMyNotes();\r\n }\r\n else if (val == 'convertcontacttolead') {\r\n this.customerService.UpdateLeadStatus(this.dialogobj.Idval, this.currentuser.id).then((contact) => {\r\n }); \r\n this.ExpandSelectedMenu('leads');\r\n this.router.navigateByUrl(`/application/leadsdashboard/${this.dialogobj.Idval}/0/null`);\r\n }\r\n this.crmDialog = false;\r\n this.pageViewed = \"\";\r\n }\r\n CRMSAVE(val) { }\r\n CRMDISCARD(val) { }\r\n CRMCANCEL(val) {\r\n this.crmDialog = false;\r\n }\r\n displayheader(url) {\r\n if (window.location.href.indexOf(\"leadsdashboard\") != -1) {\r\n this.selectedbuttonText = \"Leads\";\r\n }\r\n else if (window.location.href.indexOf(\"dashboard\") != -1) {\r\n this.selectedbuttonText = \"DashBoard\";\r\n }\r\n }\r\n\r\n}\r\n","
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\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, EventEmitter, Output } from '@angular/core';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { Auditlog } from '../../models/auditlog';\r\nimport { DatePipe } from '@angular/common';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { PageComponent } from '../page/page.component';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport * as moment from 'moment';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'audit-log',\r\n templateUrl: './audit-log.component.html',\r\n styleUrls: ['./audit-log.component.css']\r\n})\r\nexport class AuditLogComponent implements OnInit {\r\n loginauditloglist: Array = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n audittype = \"Login\";\r\n aggridheight;\r\n public LogincolumnDefs: any[];\r\n public gridopportunityOptions: GridOptions;\r\n public accountcontactcolumnDefs: any[];\r\n public columnDefs: any[];\r\n showLoginauditTable: boolean = false;\r\n showAccountContactTable: boolean = false;\r\n auditLogGridHeight = screen.height * 0.51;\r\n\r\n @Input()\r\n selectedtype: string; \r\n\r\n @Input()\r\n UserIds: string; \r\n \r\n @Input()\r\n pageSize: string = \"200\";\r\n\r\n @Input()\r\n public startDateVal: any\r\n @Input()\r\n public endDateVal: any\r\n\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n\r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n //public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n //public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n //public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n //public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n //public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n //public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n public sideBar;\r\n private gridApi;\r\n constructor(private paginationcop: PageComponent, private customerService: CustomerService, public applicationComponent: ApplicationComponent) { }\r\n\r\n ngOnInit() {\r\n this.OpportunitieshistoryinitializeAgGrid();\r\n this.showLoginauditTable = true; \r\n this.LoadLoginAuditLog('Login', this.UserIds, this.currentPage, this.pageSize, this.startDateVal, this.endDateVal, false);\r\n }\r\n\r\n \r\n\r\n OpportunitieshistoryinitializeAgGrid() {\r\n this.gridopportunityOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000,enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n\r\n };\r\n this.opportunitiesscreateColumnDefs(\"\");\r\n this.gridopportunityOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n }\r\n\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n\r\n opportunitiesscreateColumnDefs(columnSelections: string) {\r\n this.columnDefs =this.LogincolumnDefs = [\r\n { field: 'documentname', headerName: 'Audit Type', hide: false ,width:100},\r\n { field: 'action', headerName: 'Action', hide: false, width: 300}, \r\n { field: 'username', headerName: ' User Name', hide: false, width: 200},\r\n { field: 'LoggedIn', headerName: 'Login-Time', hide: false, width: 250},\r\n { field: 'LoggedOut', headerName: 'Logout-Time', hide: false, width: 250},\r\n { field: 'TimeSpent', headerName: 'Time Used', hide: false, width: 150},\r\n { field: 'LogOutStatus', headerName: 'LogOut Status', hide: false, width: 200},\r\n ];\r\n this.accountcontactcolumnDefs = [\r\n { field: 'documentname', headerName: 'Audit Type', hide: false, width: 100 },\r\n { field: 'action', headerName: 'Action', hide: false, width: 300 },\r\n { field: 'username', headerName: ' User Name', hide: false, width: 200 },\r\n { field: 'dateofviewed', headerName: ' Created Date', hide: false, width: 250 },\r\n ];\r\n }\r\n Audit(val, startDateVal, endDateVal) {\r\n \r\n this.audittype = val;\r\n this.currentPage= 1;\r\n this.startrow= 1;\r\n this.noofRows= 1;\r\n this.totalnumberofrows= 1;\r\n this.totalnumberofPages = 1;\r\n\r\n if (val == \"Account\" || val == \"Contact\" || val == \"Leads\" || val == \"Opportunity\" || val == \"TaskList\" || val == \"InternalMessaging\" || val == \"Campaigns\" || val == \"Proposals\" || val == \"Tickets\" || val == \"Customers\") {\r\n this.columnDefs = this.accountcontactcolumnDefs;\r\n } else {\r\n this.columnDefs = this.LogincolumnDefs\r\n }\r\n\r\n this.LoadLoginAuditLog(val, this.UserIds, this.currentPage, this.pageSize, startDateVal, endDateVal, false);\r\n this.sendMsgEvent.emit(val)\r\n }\r\n LoadLoginAuditLog(type, UserIds, startrow, endrow, startdate, enddate, pageSizeChanged) {\r\n if (UserIds == \"\") {\r\n this.loginauditloglist = [];\r\n } else {\r\n if (!pageSizeChanged) {\r\n this.customerService.GetAllDocumentAuditlogList(0, type, UserIds, startrow, endrow, this.selectedtype, startdate, enddate).then((opportunityauditloglist) => {\r\n opportunityauditloglist.forEach(document => {\r\n document.dateofviewed = this.datePipe.transform(document.dateofviewed, \"MM-dd-yyyy\");\r\n });\r\n this.loginauditloglist = opportunityauditloglist;\r\n });\r\n }\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridApi.paginationSetPageSize(Number(endrow));\r\n }, 500));\r\n }\r\n \r\n }\r\n\r\n clearAudit() {\r\n this.loginauditloglist = [];\r\n }\r\n\r\n \r\n}\r\n","\r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      USER ALERTS - SEND EMAIL
      \r\n
      \r\n\r\n
      \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, EventEmitter, Output } from '@angular/core';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { UserService } from '../../services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { AutomatedEmails } from 'src/app/models/automated-emails';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'automated-emails',\r\n templateUrl: './automated-emails.component.html',\r\n styleUrls: ['./automated-emails.component.css']\r\n})\r\nexport class AutomatedEmailsComponent implements OnInit {\r\n @Input()\r\n userid: number;\r\n @Input()\r\n emailAlertUsername: any;\r\n @Input()\r\n emailAlertUsername2: any;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n allAccessUser: AutomatedEmails[];\r\n finalAutomatedlist: AutomatedEmails[] = [];\r\n currentuser: any;\r\n public sideBar;\r\n constructor(private toastr: ToastrService, private userservice: UserService, public applicationComponent: ApplicationComponent) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.initializeAgGrid();\r\n //this.loadUserAlertEmails(this.userid);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.loadUserAlertEmails(selfObj.userid);\r\n }, 300));\r\n \r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: false, headerHeight: 40, enableColResize: true, paginationPageSize: 1000, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n\r\n };\r\n\r\n this.createColumnDefs();\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n\r\n }\r\n onAgGridReady(event) { }\r\n loadUserAlertEmails(val)\r\n {\r\n this.userservice.GetAutomatedEmailsConfigByuser(val).then((config) => {\r\n \r\n if (config.length == 0) {\r\n this.userservice.GetAccessUserdata(val).then((userdata) => {\r\n\r\n var res = userdata.filter(x => x.accesstouserid == val);\r\n if (res.length > 0) {\r\n this.allAccessUser = userdata;\r\n } else {\r\n this.userservice.GetUserByuserId(val).then(result => {\r\n userdata.push({ accesstouserid: result.id, UserName: result.username, Configureuserid: 0, OppClosed: 0, createdby: 0, endOfMonthRecap: 0, leadAdded: 0, leadClosed: 0, midMonthRecap: 0, oppAdded: 0, weeklyRecap: 0, createddate: '' });\r\n this.allAccessUser = userdata;\r\n });\r\n \r\n }\r\n //this.allAccessUser = userdata;\r\n \r\n });\r\n } else {\r\n $(setTimeout(function () {\r\n config.forEach(config => {\r\n $(\"#\" + config.accesstouserid + \"midMonthRecapYes\").prop('checked', config.midMonthRecap == 1 ? true : false);\r\n $(\"#\" + config.accesstouserid + \"endOfMonthRecapYes\").prop('checked', config.endOfMonthRecap == 1 ? true : false);\r\n $(\"#\" + config.accesstouserid + \"leadAddedYes\").prop('checked', config.leadAdded == 1 ? true : false);\r\n $(\"#\" + config.accesstouserid + \"leadclosedYes\").prop('checked', config.leadClosed == 1 ? true : false);\r\n $(\"#\" + config.accesstouserid + \"OppAddedYes\").prop('checked', config.oppAdded == 1 ? true : false);\r\n $(\"#\" + config.accesstouserid + \"OppClosedYes\").prop('checked', config.OppClosed == 1 ? true : false);\r\n $(\"#\" + config.accesstouserid + \"WeeklyRecapYes\").prop('checked', config.weeklyRecap == 1 ? true : false);\r\n \r\n });\r\n }, 1000)); \r\n \r\n\r\n //this.DashBoardConfigList = config;\r\n }\r\n });\r\n \r\n this.userservice.GetAccessUserdata(val).then((userdata) => {\r\n var res = userdata.filter(x => x.accesstouserid == val);\r\n if (res.length > 0) {\r\n this.allAccessUser = userdata;\r\n } else {\r\n this.userservice.GetUserByuserId(val).then(result => {\r\n userdata.push({ accesstouserid: result.id, UserName: result.username, Configureuserid: 0, OppClosed: 0, createdby: 0, endOfMonthRecap: 0, leadAdded: 0, leadClosed: 0, midMonthRecap: 0, oppAdded: 0, weeklyRecap: 0, createddate: '' });\r\n this.allAccessUser = userdata;\r\n });\r\n\r\n }\r\n //this.allAccessUser = userdata;\r\n \r\n });\r\n \r\n \r\n }\r\n Change(chkId) {\r\n if (chkId.indexOf(\"Yes\") >= 0) {\r\n let rplcId = chkId.replace(\"Yes\", \"No\");\r\n $(\"#\" + rplcId).prop('checked', false);\r\n \r\n }\r\n else if (chkId.indexOf(\"No\") >= 0) {\r\n let rplcId = chkId.replace(\"No\", \"Yes\");\r\n $(\"#\" + rplcId).prop('checked', false);\r\n }\r\n this.applicationComponent.SelectedTab = 'tab5';\r\n this.sendMsgEvent.emit(\"Changed\");\r\n $('#SaveUserAlerts').attr(\"style\",\"background:#90d24e;margin-top:5px;height:100%\");\r\n }\r\n createColumnDefs() {\r\n let selfObj = this;\r\n this.columnDefs = [\r\n { field: 'UserName', headerName: 'UserName', hide: false, width: 150, suppressSorting: true, headerClass:'Alertheaderclass' },\r\n { field: 'accesstouserid', headerName: 'Acces User', hide: true, suppressSorting: true, headerClass: 'Alertheaderclass' },\r\n {\r\n field: 'leadAdded', headerName: 'Lead \\n Added', hide: false, headerClass: 'Alertheaderclass',suppressSorting: true,width:80, outerWidth: 2, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n selfObj.Change(params.data.accesstouserid +\"leadAddedYes\");\r\n $('#saveDashboardConfig').css(\"background\", \"#93d250\");\r\n $('#saveDashboardConfig').prop('disabled', false);\r\n\r\n });\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'leadclosed', headerName: 'Lead Closed', hide: false, suppressSorting: true, headerClass: 'Alertheaderclass', width: 80,outerWidth: 2, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n selfObj.Change(params.data.accesstouserid +\"leadclosedYes\");\r\n $('#saveDashboardConfig').css(\"background\", \"#93d250\");\r\n $('#saveDashboardConfig').prop('disabled', false);\r\n\r\n });\r\n return eDiv;\r\n }},\r\n {\r\n field: 'OppAdded', headerName: 'Opp Added', hide: false, suppressSorting: true, width: 85, headerClass: 'Alertheaderclass',outerWidth: 2, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n selfObj.Change(params.data.accesstouserid +\"OppAddedYes\");\r\n $('#saveDashboardConfig').css(\"background\", \"#93d250\");\r\n $('#saveDashboardConfig').prop('disabled', false);\r\n\r\n });\r\n return eDiv;\r\n } },\r\n {\r\n field: 'OppClosed', headerName: 'Opp Closed', hide: false, suppressSorting: true, width: 85, headerClass: 'Alertheaderclass', outerWidth: 2, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n \r\n eDiv.innerHTML = '';\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n selfObj.Change(params.data.accesstouserid +\"OppClosedYes\");\r\n $('#saveDashboardConfig').css(\"background\", \"#93d250\");\r\n $('#saveDashboardConfig').prop('disabled', false);\r\n\r\n });\r\n return eDiv;\r\n } },\r\n {\r\n field: 'WeeklyRecap', headerName: 'Weekly Recap', hide: false, suppressSorting: true, width: 90, headerClass: 'Alertheaderclass', outerWidth: 2, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n \r\n eDiv.innerHTML = '';\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n selfObj.Change(params.data.accesstouserid + \"WeeklyRecapYes\");\r\n $('#saveDashboardConfig').css(\"background\", \"#93d250\");\r\n $('#saveDashboardConfig').prop('disabled', false);\r\n\r\n });\r\n return eDiv;\r\n } },\r\n {\r\n field: 'midMonthRecap', headerName: 'Mid Month Recap', hide: false, headerClass: 'Alertheaderclass', suppressSorting: true, width: 115, outerWidth: 2, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n selfObj.Change(params.data.accesstouserid + \"midMonthRecapYes\");\r\n $('#saveDashboardConfig').css(\"background\", \"#93d250\");\r\n $('#saveDashboardConfig').prop('disabled', false);\r\n\r\n });\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'endOfMonthRecap', headerName: 'End Of Month Recap', hide: false, headerClass: 'Alertheaderclass', suppressSorting: true, width: 120, outerWidth: 2, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n selfObj.Change(params.data.accesstouserid + \"endOfMonthRecapYes\");\r\n $('#saveDashboardConfig').css(\"background\", \"#93d250\");\r\n $('#saveDashboardConfig').prop('disabled', false);\r\n\r\n });\r\n return eDiv;\r\n }\r\n },\r\n ]\r\n }\r\n\r\n \r\n\r\n SaveAutomatedEmailsData() {\r\n this.finalAutomatedlist = [];\r\n let count = this.gridOptions.api.getDisplayedRowCount();\r\n for (var i = 0; i < count; i++) {\r\n var rowNode = this.gridOptions.api.getDisplayedRowAtIndex(i);\r\n let autemail = new AutomatedEmails(); \r\n autemail.Configureuserid = this.userid;\r\n autemail.accesstouserid = rowNode.data.accesstouserid;\r\n autemail.leadAdded = $('#' + rowNode.data.accesstouserid + 'leadAddedYes').is(\":checked\") == true ? 1 : 0;\r\n autemail.leadClosed = $('#' + rowNode.data.accesstouserid + 'leadclosedYes').is(\":checked\") == true ? 1 : 0;\r\n autemail.oppAdded = $('#' + rowNode.data.accesstouserid + 'OppAddedYes').is(\":checked\") == true ? 1 : 0;\r\n autemail.OppClosed = $('#' + rowNode.data.accesstouserid + 'OppClosedYes').is(\":checked\") == true ? 1 : 0;\r\n autemail.weeklyRecap = $('#' + rowNode.data.accesstouserid + 'WeeklyRecapYes').is(\":checked\") == true ? 1 : 0;\r\n autemail.midMonthRecap = $('#' + rowNode.data.accesstouserid + 'midMonthRecapYes').is(\":checked\") == true ? 1 : 0;\r\n autemail.endOfMonthRecap = $('#' + rowNode.data.accesstouserid + 'endOfMonthRecapYes').is(\":checked\") == true ? 1 : 0;\r\n autemail.createdby = this.currentuser.id;\r\n if ((autemail.leadAdded == 1) || (autemail.leadClosed == 1) || (autemail.oppAdded == 1) || (autemail.OppClosed == 1) || (autemail.weeklyRecap == 1) || (autemail.midMonthRecap==1) || (autemail.endOfMonthRecap==1))\r\n this.finalAutomatedlist.push(autemail);\r\n }\r\n this.userservice.SaveAutomatedEmailConfig(this.finalAutomatedlist).then(result => {\r\n this.toastr.success(\"Automated Emails Configured successfully.\", \"Automated Config\", { timeOut: 600 });\r\n this.sendMsgEvent.emit(\"Close\");\r\n $('#SaveUserAlerts').attr(\"style\", \"background:#d3d3d3;margin-top:5px;height:100%\");\r\n });\r\n }\r\n\r\n Cancel() {\r\n\r\n }\r\n closedAlertsEventListener() {\r\n var tab = localStorage.getItem('PrevUserConfigTab');\r\n \r\n if (this.applicationComponent.isClosedAlertsEventListener) {\r\n if (tab == \"tab5\") {\r\n this.SaveAutomatedEmailsData();\r\n }\r\n this.applicationComponent.isClosedAlertsEventListener = false;\r\n this.applicationComponent.isUserAlerts = false;\r\n\r\n }\r\n return false;\r\n }\r\n\r\n AlertCancel() {\r\n this.sendMsgEvent.emit(\"Alert Cancel\");\r\n }\r\n}\r\n","
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n CREATE CALL LIST\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      0\" class=\"col-xs-12\" style=\"margin-top: 0.5%; padding:0; font-size: 13px;\">\r\n\r\n
      \r\n
      \r\n Assigned To\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n Status\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n List Name:\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n\r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      0 \" id=\"accView\" [ngClass]=\"'col-xs-8'\" [style.width.%]=\"'68'\" style=\"padding:0;height:99%\">\r\n\r\n \r\n
      \r\n\r\n
      0\" [ngClass]=\"'col-xs-8'\" [style.width.%]=\"'68'\" style=\"padding: 0; height: 100%\">\r\n \r\n
      \r\n\r\n \r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      CALL LIST

      \r\n
      Save Call List?
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
      \r\n

      Contact will be removed from Call List

      \r\n

      Please Confirm

      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \"Do you want to change the status
      of this contact from Deleted to Open \"\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n Do you want to assign this call list to selected User?\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n Edit\r\n Save\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n\r\n \r\n\r\n\r\n \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, ViewChild, ElementRef, ViewContainerRef, ViewEncapsulation, Pipe, Optional, PipeTransform, Input } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AccountsService } from './../../services/accounts.service';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Calllist } from '../../models/calllist';\r\nimport { Viewcalllist } from '../../models/viewcalllist';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { EditdeletecvcheckComponent } from '../editdeletecvcheck/editdeletecvcheck.component';\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { EditcontactComponent } from '../editcontact/editcontact.component';\r\nimport { UserService } from '../../services/user.service';\r\nimport { Notes } from '../../models/notes';\r\nimport { DatePipe, TitleCasePipe, Location } from '@angular/common';\r\nimport { Dropdowntype, Dropdown } from './../../models/dropdowntype';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Column } from 'ag-grid';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { OwnershipsharingComponent } from '../ownershipsharing/ownershipsharing.component';\r\nimport { StatusIdsComponent } from '../status-ids/status-ids.component';\r\nimport { NotesComponent } from '../notes/notes.component';\r\nimport { Viewaccount } from '../../models/viewaccount';\r\nimport { ContactsdashboardComponent } from '../contacts/contactsdashboard/contactsdashboard.component';\r\nimport { AccountContactComponent } from '../account-contact/account-contact.component';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-calllist',\r\n templateUrl: './calllist.component.html',\r\n styleUrls: ['./calllist.component.css']\r\n})\r\nexport class CalllistComponent implements OnInit {\r\n currentuser: any;\r\n allContacts: Contacts[];\r\n public gridOptions: GridOptions;\r\n public gridOptionsViewcalllist: GridOptions;\r\n public gridOptionsnotes: GridOptions;\r\n public gridOptionsProvider: GridOptions;\r\n public context;\r\n isShowDetailsChecked: boolean = true;\r\n //@Input()\r\n contactids: string;\r\n //@Input()\r\n calllistid: number;\r\n // @Input()\r\n tab: string;\r\n userInfo: string;\r\n action: string;\r\n Years: any[];\r\n MedSchoolYears: any[];\r\n ResidencyYears: any[];\r\n FellowShipYears: any[];\r\n AccountIdsDialog: boolean = false;\r\n showAddEditAccount: boolean = false;\r\n showAddEditContact: boolean = false;\r\n isSharing: boolean = false;\r\n Collegelist: Dropdowntype[] = [];\r\n contacttypelist: Dropdowntype[] = [];\r\n SexList: Dropdowntype[] = [];\r\n TitleList: Dropdowntype[] = [];\r\n SuffixList: Dropdowntype[] = [];\r\n Specialitytypelist: Dropdowntype[] = [];\r\n MonthList: Dropdowntype[] = [];\r\n DayList: Dropdowntype[] = [];\r\n public stateInfo = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n StatesList: Dropdowntype[] = [];\r\n CitiesList: Dropdowntype[] = [];\r\n OwnerList: Dropdowntype[] = [];\r\n allCustomers: Accounts[];\r\n public frameworkComponents;\r\n public frameworkComponentsAccounts;\r\n public frameworkComponentsProvider;\r\n public columnDefs: any[];\r\n public AccountcolumnDefs: any[];\r\n public columnDefsProvider: any[];\r\n public columnDefscalllist: any[];\r\n public columnDefsnotes: any[];\r\n accViewHGT = screen.height * 0.57;\r\n itemResource: any;\r\n contactsids: any;\r\n itemCount = 0;\r\n stateTextBox: boolean = true;\r\n stateDropDown: boolean = false;\r\n displayZipCode: boolean = true;\r\n displayCountryName: boolean = false;\r\n showcancelButtonDiv: boolean = true;\r\n id = 0;\r\n public zipmask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n editContHGT = (screen.height * 0.39444); //0.3944\r\n ContactsprovidersitemCount = 0;\r\n showDialog = false;\r\n showCancelDialog = false;\r\n showContactDialog = false;\r\n showContactOpenDialog = false;\r\n ConverttoCVshowDialog = false;\r\n assigncalllistDialog = false;\r\n notesshowDialog=false;\r\n dropdownList = [];\r\n callListGridInitialized: boolean = false;\r\n account: Accounts = new Accounts();\r\n contacts: Contacts = new Contacts();\r\n viewcallist: Viewcalllist = new Viewcalllist();\r\n viewaccount: Viewaccount = new Viewaccount();\r\n calllist: Calllist = new Calllist();\r\n allContactsproviders: Contacts[];\r\n notedescription: string;\r\n taskDialog: boolean = false;\r\n aggridheight: string;\r\n aggridheightp: string;\r\n selectedcontactid = 0;\r\n selectedstatus = \"Open\";\r\n contactid = 0; leadstatus = 0;\r\n contactsExpanded: boolean = false;\r\n statusIds: boolean = false;\r\n deleteId: number = 0; type = '';\r\n showDeleteDialog: boolean = false;\r\n contactshowDialog: boolean = false;\r\n @ViewChild(EditcontactComponent) editcontactchild;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n @ViewChild(StatusIdsComponent) statusidcmp: StatusIdsComponent;\r\n @ViewChild(ContactsdashboardComponent) accountContactInfo: ContactsdashboardComponent;\r\n \r\n @ViewChild(AccountContactComponent) acccontactcomp;\r\n allnotes: Notes[];\r\n isModal: boolean; \r\n public getRowHeight;\r\n datePipe: DatePipe = new DatePipe(\"en-US\"); titleCasePipe: TitleCasePipe = new TitleCasePipe();\r\n notes: Notes = new Notes();\r\n msg = '';\r\n dropdownSetting = {};\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n assignuserid: number; conid: number; NotesDec = false;\r\n accountid: number = 0;\r\n typ: string; selectedItems = [];\r\n divHeight = screen.height * 0.3444;\r\n gridHeight = screen.height * 0.57444;\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n timezonevalue: string;\r\n public elementRef;\r\n AccountIdArr: Dropdowntype[] = [];\r\n contactIdArr: Dropdowntype[] = [];\r\n public sideBar;\r\n @ViewChild(NotesComponent) notecomp;\r\n @ViewChild(AccountContactComponent) accComp;\r\n DeleteConfirmationPopup: boolean = false;\r\n deleteRowData: any;\r\n contactstatus: number;\r\n noteslist: Array = [];\r\n userprevilages: any;\r\n isCalllistOpen: boolean = true;\r\n ShowButtons: boolean = false;\r\n @ViewChild('CallListcontainer') menu: ElementRef;\r\n constructor(private _location: Location,private route: ActivatedRoute, public applicationComponent: ApplicationComponent, private opprtunityservice: OpprtunitiesService, private userservice: UserService, private router: Router, private viewContainerRef: ViewContainerRef, private accountsService: AccountsService, private customerService: CustomerService, private toastr: ToastrService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n ngAfterViewInit(): void {\r\n this.ResizeTable();\r\n this.ResizeTableP();\r\n }\r\n close() { this._location.back(); }\r\n ngOnInit() { \r\n this.route.params.subscribe(params => {\r\n this.calllist.contactids = params['contactids'];\r\n this.calllist.id = params['calllistid'];\r\n this.initializeAgGrid();\r\n if (this.calllist.id != 0) {\r\n \r\n this.customerService.GetByCalllistById(this.calllist.id).then(result => {\r\n this.calllist = result;\r\n this.calllist.contactids.concat(this.calllist.completedcontactids);\r\n this.applicationComponent.Calllistselectedtype = this.calllist.typeOfList;\r\n if (this.calllist.Assignedto != null) {\r\n this.selectedItems = [\r\n { \"id\": this.calllist.Assignedto, \"itemName\": this.calllist.assignedusername }\r\n ];\r\n } else {\r\n this.selectedItems = [\r\n { \"id\": this.calllist.userid, \"itemName\": this.calllist.createdusername }\r\n ];\r\n }\r\n if (this.calllist.userid == this.currentuser.id) {\r\n //document.getElementById('saveButtonDiv').style.display = 'block';\r\n } else {\r\n //document.getElementById('saveButtonDiv').style.display = 'none';\r\n }\r\n this.showcancelButtonDiv = false;\r\n \r\n if (this.applicationComponent.Calllistselectedtype == 'Contact' || this.applicationComponent.Calllistselectedtype =='CustomerContact') {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Contacts');\r\n } else if (this.applicationComponent.Calllistselectedtype == 'Customer' || this.applicationComponent.Calllistselectedtype == 'Customers' || this.applicationComponent.Calllistselectedtype == 'Contacts/Accounts') {\r\n this.GetAllSelectedAccountCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, this.applicationComponent.Calllistselectedtype);\r\n }\r\n });\r\n } else {\r\n $('#saveButtonDiv').attr('style', 'display:block');\r\n this.showcancelButtonDiv = true;\r\n if (this.calllist.contactids != '0') {\r\n \r\n if (this.applicationComponent.Calllistselectedtype == 'Contact') {\r\n \r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Contacts');\r\n } else if (this.applicationComponent.Calllistselectedtype == 'Customer' || this.applicationComponent.Calllistselectedtype =='Customers') {\r\n this.GetAllSelectedAccountCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, this.applicationComponent.Calllistselectedtype);\r\n }\r\n }\r\n else {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Contacts');\r\n }\r\n }\r\n });\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1, 0, 0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownList = Owner;\r\n });\r\n this.dropdownSetting = {\r\n singleSelection: true,\r\n text: \"Select User\",\r\n enableSearchFilter: true\r\n \r\n }; \r\n this.customerService.GetSpecialityList(\"AccountIds\", this.currentuser.id).then((Acids) => {\r\n this.AccountIdArr = Acids;\r\n });\r\n this.customerService.GetSpecialityList(\"ContactIds\", this.currentuser.id).then((Acids) => {\r\n this.contactIdArr = Acids;\r\n });\r\n this.customerService.GetPrivilagesByuser(this.currentuser.id).then(result => {\r\n this.userprevilages = result;\r\n });\r\n \r\n this.applicationComponent.pageViewed = \"CreateCallList\";\r\n \r\n }\r\n OpenCancelDialog() {\r\n this.showCancelDialog = true;\r\n this.applicationComponent.salesxcrmDialog('#cancelDialog .dialog'); \r\n }\r\n CloseCalllist() {\r\n this.applicationComponent.CallListDialog = false;\r\n this.applicationComponent.pageViewed = '';\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n Notes(val) {\r\n this.GetCustomerNotes(this.contactid, val);\r\n } \r\n openNotesDialogAg(rowdata) {\r\n \r\n this.conid = rowdata.id;\r\n this.typ = rowdata.type;\r\n $('#accotIdNotes').val(rowdata.id);\r\n $('#accotTypeNotes').val('Contact');\r\n this.contactid = rowdata.id;\r\n this.customerService.GetContactById(rowdata.id).then(result => {\r\n this.contacts = result;\r\n this.customerService.GetByAccountId(this.contacts.accountid).then(result => {\r\n this.account = result;\r\n\r\n });\r\n });\r\n\r\n \r\n if ((document.getElementById('agCallListContacts').className == 'col-xs-6') || ((document.getElementById('agCallListContacts').className == 'removePadding col-xs-6'))) {\r\n //$(setTimeout(function () {\r\n // $(\"#divNotesContainer\").css('height', '400px');\r\n //}, 100));\r\n this.isModal = false; \r\n document.getElementById('notesinfo').style.display = 'block'\r\n $('#chkShowDetailsNotes').prop('checked', false);\r\n document.getElementById('providerDetails').style.display = 'none'\r\n document.getElementById('accountInformation').style.display = 'none'\r\n }\r\n if (document.getElementById('agCallListContacts').className == 'col-xs-12') {\r\n \r\n this.isModal = true;\r\n this.contactid = rowdata.id;\r\n $('#accotIdNotes').val(rowdata.id);\r\n $('#accotTypeNotes').val('Contact');\r\n\r\n this.contactid = this.contactid;\r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n $(setTimeout(function () {\r\n if ($('#oppNotesId').length > 0)\r\n $('#oppNotesId').removeClass('active');\r\n\r\n if ($('#tskHistNotesId').length > 0)\r\n $('#tskHistNotesId').removeClass('active');\r\n\r\n if ($('#leadsNotesId').length > 0)\r\n $('#leadsNotesId').removeClass('active');\r\n\r\n if ($('#allContactNotesId').length > 0)\r\n $('#allContactNotesId').removeClass('active');\r\n\r\n if ($('#allNotesId').length > 0) {\r\n $('#allNotesId').removeClass('active');\r\n $('#allNotesId').addClass('active');\r\n }\r\n $('#chkShowDetailsNotes').prop('checked', false);\r\n }, 600));\r\n var modalWidth = (screen.width) - ((screen.width) / 10);\r\n //$('.dialog').attr('style', 'padding:1%;border: 3px solid green;width:' + modalWidth + 'px');\r\n\r\n }\r\n this.GetCustomerNotes(rowdata.id.toString(), \"Contact\");\r\n }\r\n ContactId1Change(val) {\r\n if (val === \"null\") {\r\n this.contacts.contactid2 = \"null\";\r\n this.contacts.contactid3 = \"null\";\r\n }\r\n else if ((this.contacts.contactid1 == this.contacts.contactid2) || (this.contacts.contactid1 == this.contacts.contactid3)) {\r\n alert(\"Please select Other Option already Selected Value Added .\")\r\n this.contacts.contactid1 = \"null\";\r\n }\r\n }\r\n ContactId2Change(val) {\r\n if (val === \"null\") {\r\n this.contacts.contactid3 = \"null\";\r\n }\r\n else if ((this.contacts.contactid2 == this.contacts.contactid1) || (this.contacts.contactid2 == this.contacts.contactid3)) {\r\n alert(\"Please select Other Option already Selected Value Added .\")\r\n this.contacts.contactid2 = \"null\";\r\n }\r\n\r\n }\r\n ContactId3Change(val) {\r\n if ((this.contacts.contactid3 == this.contacts.contactid2) || (this.contacts.contactid3 == this.contacts.contactid1)) {\r\n alert(\"Please select Other Option already Selected Value Added .\")\r\n this.contacts.contactid3 = \"null\";\r\n }\r\n }\r\n GetCustomerNotes(contactid, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id,contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = taskhistory;\r\n this.noteslist = taskhistory;\r\n });\r\n\r\n }\r\n\r\n titleSelected() {\r\n if ($('#title').hasClass('not-required')) {\r\n $('#title').removeClass('not-required')\r\n $('#title').addClass('required')\r\n\r\n }\r\n }\r\n\r\n collegeyear(val) {\r\n var range = [];\r\n var y = Number(val);\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.MedSchoolYears = range;\r\n }\r\n medschoolyear(val) {\r\n var range = [];\r\n var y = Number(val);\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.ResidencyYears = range;\r\n }\r\n residencyyear(val) {\r\n var range = [];\r\n var y = Number(val);\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.FellowShipYears = range;\r\n }\r\n loadcontacttitles(val) {\r\n this.customerService.GetTitleListbycontacttype(val).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.TitleList = accounttype;\r\n this.contacts.title = null;\r\n if (val == 'Physician' || val == 'DPM' || val == 'NP' || val == 'PT' || val == 'PA') {\r\n $('#title').removeClass('required');\r\n $('#title').addClass('not-required');\r\n document.getElementById('titlespan').style.display = 'block';\r\n\r\n } else {\r\n $(\"#title\").prop(\"required\", false)\r\n $('#title').removeClass('not-required');\r\n $('#title').removeClass('required');\r\n document.getElementById('titlespan').style.display = 'none';\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n //close() {\r\n \r\n // document.getElementById('notesinfo').style.display = 'none'\r\n // document.getElementById('providerDetails').style.display = 'block'\r\n // document.getElementById('accountInformation').style.display = 'block'\r\n //}\r\n initializeAgGridNotes() {\r\n \r\n this.gridOptionsnotes = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes();\r\n\r\n this.context = this;\r\n }\r\n createColumnDefsnotes() {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },tooltipField: 'notedescription', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: false, cellStyle: { 'text-align': 'left' },\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n \r\n this.getRowHeight = function (params) {\r\n return 18 * (Math.floor(params.data.notedescription.length / 45) + 1);\r\n };\r\n }\r\n\r\n onAgGridReadynotes(event) {\r\n \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 1000));\r\n }, 1000));\r\n }\r\n autoSizeAllnotes() {\r\n \r\n var allColumnIds = [];\r\n if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds);\r\n }\r\n\r\n }\r\n GetAllProviderAndContactInfo(accountid) {\r\n \r\n this.customerService.GetAllContactproviderByAccount(accountid, this.currentuser.id).then((contacts) => {\r\n contacts.forEach(contacts => {\r\n contacts.created = this.datePipe.transform(contacts.created, \"MM-dd-yyyy\");\r\n });\r\n this.allContactsproviders = contacts;\r\n this.ContactsprovidersitemCount = contacts.length; \r\n });\r\n\r\n }\r\n\r\n public GetAllSelectedContactCalllist(contactsids, completedcontactids, deletedcontactids, type) { \r\n this.viewcallist.term = null;\r\n this.viewcallist.contactids = (contactsids == \"\") ? null : contactsids;\r\n this.viewcallist.completedcontactids = (completedcontactids == \"\") ? null : completedcontactids;\r\n this.viewcallist.deletedcontacts = (deletedcontactids == \"\") ? null : deletedcontactids;\r\n this.viewcallist.currentuserid = this.currentuser.id;\r\n this.accountsService.GetAllSelectedContactCalllist(this.viewcallist).then((Contacts) => {\r\n Contacts.forEach(Contacts => {\r\n Contacts.created = this.datePipe.transform(Contacts.created, \"MM-dd-yyyy\");\r\n });\r\n this.allContacts = Contacts;\r\n this.calllist.contactids = contactsids;\r\n if (completedcontactids != null && completedcontactids != '') {\r\n this.calllist.contactids.concat(completedcontactids);\r\n }\r\n this.contactid = ((this.allContacts.length == 0) ? 0 : this.allContacts[0].id);\r\n this.itemCount = Contacts.length;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.contactid = selfObj.contactid;\r\n selfObj.applicationComponent.taskselectedtype == 'Contact';\r\n }\r\n });\r\n }, 500));\r\n this.customerService.GetByAccountId(((this.allContacts.length == 0) ? 0 : this.allContacts[0].accountid)).then(result => {\r\n this.account = result;\r\n //this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.country, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata);\r\n this.GetCustomerNotes(this.account.id,'Customer');\r\n this.GetAllProviderAndContactInfo((this.account ? this.account.id : 0));\r\n });\r\n\r\n });\r\n if (this.calllist.contactids == \"\") { \r\n $(setTimeout(function () {\r\n $(\"#callstatus\").val(\"Completed\"); \r\n }, 200));\r\n }\r\n }\r\n public GetAllSelectedAccountCalllist(contactsids, completedcontactids, deletedcontactids, type) {\r\n this.viewcallist.term = null;\r\n this.viewcallist.contactids = (contactsids == \"\") ? null : contactsids;\r\n this.viewcallist.completedcontactids = (completedcontactids == \"\") ? null : completedcontactids;\r\n this.viewcallist.deletedcontacts = (deletedcontactids == \"\") ? null : deletedcontactids;\r\n this.viewcallist.currentuserid = this.currentuser.id;\r\n this.viewcallist.isCustomertypelist = type;\r\n this.accountsService.GetAllSelectedAccountCalllist(this.viewcallist).then((Contacts) => {\r\n \r\n this.allCustomers = Contacts;\r\n this.calllist.contactids = contactsids;\r\n if (completedcontactids != null && completedcontactids != '') {\r\n this.calllist.contactids.concat(completedcontactids);\r\n }\r\n this.contactid = ((this.allCustomers.length == 0) ? 0 : this.allCustomers[0].id);\r\n this.itemCount = Contacts.length;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.applicationComponent.taskselectedtype == 'Customer';\r\n \r\n }\r\n });\r\n }, 500));\r\n this.customerService.GetByAccountId(((this.allCustomers.length == 0) ? 0 : this.allCustomers[0].id)).then(result => {\r\n this.account = result; \r\n this.GetCustomerNotes(this.account.id, 'Customer');\r\n this.GetAllProviderAndContactInfo((this.account ? this.account.id : 0));\r\n });\r\n\r\n });\r\n\r\n\r\n\r\n\r\n if (this.calllist.contactids == \"\") {\r\n \r\n $(setTimeout(function () {\r\n $(\"#callstatus\").val(\"Completed\"); \r\n }, 200));\r\n\r\n \r\n \r\n }\r\n }\r\n\r\n initializeAgGrid() {\r\n \r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.gridOptionsProvider = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n if (this.applicationComponent.Calllistselectedtype == \"Customer\") {\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 25).then((accconfig) => {\r\n \r\n columnSelections = accconfig != null && accconfig.columnsselections != null ? accconfig.columnsselections : \"\";\r\n this.createAccountColumnDefs(columnSelections);\r\n \r\n });\r\n \r\n } else {\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 31).then((config) => {\r\n \r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n });\r\n\r\n }\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 36).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefsProvider(columnSelections);\r\n });\r\n this.gridOptionsProvider.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponentsAccounts = {\r\n notesrenderer: NotesrendererComponent,\r\n //editdeletecvcheck: EditdeletecvComponent\r\n editdeletecvcheck: EditdeletecvcheckComponent\r\n };\r\n \r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent,\r\n editdeletecvcheck: EditdeletecvcheckComponent\r\n };\r\n this.frameworkComponentsProvider = {\r\n notesrenderer: NotesrendererComponent,\r\n editdeletecv: EditdeletecvComponent\r\n };\r\n\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n\r\n AccountcolumnVisible(event) {\r\n this.AccountsaveConfiguration();\r\n }\r\n AccountdragStopped(event) {\r\n this.AccountsaveConfiguration();\r\n }\r\n AccountcolumnResized(event) {\r\n if (event.finished == true)\r\n this.AccountsaveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration(); \r\n config.maxlimit = 25; \r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 31;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n AccountsaveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n config.maxlimit = 25;\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 25;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"actions\") {\r\n this.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecvcheck', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) , pinned: 'right', });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"calllistcontactstatus\") {\r\n this.columnDefs.push({\r\n field: 'calllistcontactstatus', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellStyle: function (params) {\r\n if (params.value == 'Open' || params.value == 'Deleted') { return { color: 'red' }; }\r\n // else if (params.value == 'Deleted') { return { backgroundColor: 'red' } }\r\n }\r\n });\r\n } else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n width: 100, hide: false, outerWidth: 8, headerName: 'CC', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = \"\";\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function (event) {\r\n selfObj.callcheck(params.data);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n //{ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecvcheck', hide: false, pinned: 'right' },\r\n { field: 'actions', headerName: 'Actions', hide: false, pinned: 'right', cellRenderer: 'editdeletecvcheck' },\r\n {\r\n field: 'calllistcontactstatus', headerName: 'Status', hide: false,\r\n cellStyle: function (params) {\r\n if (params.value == 'Open' || params.value == 'Deleted') { return { color: 'red' }; }\r\n }\r\n },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n { field: 'accountid', headerName: 'accountid', hide: false},\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'zip', headerName: 'ZIP', hide: false },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'contacttype', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n ];\r\n }\r\n }\r\n createAccountColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.AccountcolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n this.AccountcolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleArray[0] == \"0\") {\r\n this.AccountcolumnDefs.push({\r\n width: 50, hide: false, outerWidth: 8, headerName: 'CC', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = \"\";\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function (event) {\r\n selfObj.callcheck(params.data);\r\n });\r\n return eDiv;\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"customertypeid\") {\r\n this.AccountcolumnDefs.push({\r\n field: 'customertypeid', headerName: 'Customer Type', hide: true,\r\n cellRenderer(params) { if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" } }, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n } else if (fieldHeaderVisibleArray[0] == \"accountname\") {\r\n this.AccountcolumnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: false, });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accnumber\") {\r\n this.AccountcolumnDefs.push({\r\n field: 'accnumber', headerName: 'Act Number', hide: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"actions\") {\r\n this.AccountcolumnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecvcheck', hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, pinned: 'right', width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n this.AccountcolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n\r\n } else {\r\n this.AccountcolumnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n this.AccountcolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n {\r\n field: 'customertypeid', headerName: 'Customer Type', hide: true,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n width: 100, hide: false, outerWidth: 8, headerName: 'CC', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = \"\";\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function (event) {\r\n selfObj.callcheck(params.data); \r\n });\r\n return eDiv;\r\n }},\r\n { field: 'IsContact', headerName: ' Is Contact?', hide: true },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false,\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, \r\n },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'address1', headerName: 'Address1', hide: false },\r\n { field: 'address2', headerName: 'Address2', hide: false },\r\n { field: 'city', headerName: 'City', hide: false },\r\n { field: 'state', headerName: 'State', hide: false },\r\n { field: 'zip', headerName: 'Zip', hide: false },\r\n { field: 'phone', headerName: 'Phone', hide: true },\r\n { field: 'ehrName', headerName: 'EHR', hide: false },\r\n { field: 'pmName', headerName: 'PM', hide: false },\r\n { field: 'rcmName', headerName: 'RCM', hide: false },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'actions', headerName: 'Actions', hide: false, pinned: 'right', cellRenderer: 'editdeletecvcheck' },\r\n ];\r\n }\r\n\r\n }\r\n Complete(id) {\r\n }\r\n\r\n providercolumnVisible(event) {\r\n this.providersaveConfiguration();\r\n }\r\n providerdragStopped(event) {\r\n this.providersaveConfiguration();\r\n }\r\n providercolumnResized(event) {\r\n if (event.finished == true)\r\n this.providersaveConfiguration();\r\n }\r\n providersaveConfiguration() {\r\n let allCols: Column[] = this.gridOptionsProvider.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n config.maxlimit = 25;\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 36;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n createColumnDefsProvider(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefsProvider = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefsProvider.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefsProvider.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"actions\") {\r\n this.columnDefsProvider.push({ field: 'actions', headerName: 'Actions', cellRenderer: isDeActive ? 'editactivatecv' : 'editdeletecv', hide: false, pinned: 'right', width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else {\r\n this.columnDefsProvider.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefsProvider = [\r\n {\r\n field: '#',\r\n headerName: 'Actions',\r\n width: 110,\r\n cellRenderer: 'editdeletecv',\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: 'right',\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'title', headerName: 'Title', hide: false },\r\n { field: 'speciality', headerName: 'Specialty', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'zip', headerName: 'ZIP', hide: false },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'contacttype', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n ];\r\n }\r\n\r\n }\r\n onAgGridReady(event) {\r\n \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 400));\r\n }, 400));\r\n }\r\n onAgGridReadyProvider(event) {\r\n \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllProvider();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllProvider();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAll() { \r\n }\r\n autoSizeAllProvider() {\r\n \r\n }\r\n\r\n saveCalllists() { \r\n this.ConverttoCVshowDialog = !this.ConverttoCVshowDialog; \r\n $(setTimeout(function () {\r\n $('#SaveDialog .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4));\r\n }\r\n cancelCallList() {\r\n \r\n if (this.calllist.calllistname == undefined || this.calllist.calllistname == null || this.calllist.calllistname.trim() == \"\") {\r\n this.showCancelDialog = !this.showCancelDialog;\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4));\r\n } else {\r\n this.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }\r\n }\r\n closeCancelDialog() {\r\n this.showCancelDialog = !this.showCancelDialog;\r\n this.applicationComponent.pageViewed = \"\";\r\n }\r\n closeCancelDialogGoToContacts() { \r\n this.showCancelDialog = false;\r\n this.applicationComponent.pageViewed = \"\";\r\n }\r\n\r\n expandCollapseContactsGrid() {\r\n \r\n if (!this.contactsExpanded) {\r\n $('#agCallListContacts').removeClass('col-xs-6');\r\n //$('#accView').css('display', 'none');\r\n $('#agCallListContacts').addClass('col-xs-12');\r\n document.getElementById('expandid').innerHTML = \"X\";\r\n } else {\r\n $('#agCallListContacts').removeClass('col-xs-12');\r\n //$('#accView').css('display', 'block');\r\n $('#agCallListContacts').addClass('col-xs-6');\r\n document.getElementById('expandid').innerHTML = \"< >\";\r\n }\r\n this.contactsExpanded = !this.contactsExpanded;\r\n this.close()\r\n }\r\n\r\n SaveCalllist() { \r\n this.calllist.userid = this.currentuser.id;\r\n this.calllist.contactids = this.calllist.contactids; \r\n this.calllist.lastaccesseduserid = this.currentuser.id;\r\n this.calllist.Calllistselectedtype = this.applicationComponent.Calllistselectedtype;\r\n\r\n this.calllist.typeOfList = this.applicationComponent.Calllistselectedtype;\r\n this.accountsService.addCalllist(this.calllist).then(result => {\r\n this.calllist.calllistname = null;\r\n this.ShowButtons = false;\r\n this.applicationComponent.Iscalllisterrorshow = false;\r\n this.ConverttoCVshowDialog = false;\r\n this.applicationComponent.CallListDialog = false;\r\n this.applicationComponent.pageViewed = \"\";\r\n \r\n });\r\n \r\n }\r\n\r\n AddTask() { \r\n \r\n this.taskDialog = !this.taskDialog;\r\n var searchBoxOffset = $(\"#searchBox\").offset();\r\n let width = window.innerWidth;\r\n let searchBoxHeight = $('#searchBox').height();\r\n var leftmargin = ($(window).width()) / 1.7742;\r\n let windowHeight = $(window).height() / 1.175;\r\n $(setTimeout(function () { \r\n $('#closeDialog').attr('style', 'color:white;')\r\n\r\n $('.dialog').attr('style', 'width:32% !important;border: 4px solid rgb(49,189,240);border-radius:5%; height:83%;top:16%;left:67%;max-width:none;padding-top: 0;');\r\n }, 1));\r\n \r\n }\r\n\r\n rowClickAgGrid(rowEvent) { \r\n if (rowEvent.node.selected) {\r\n this.contactid = rowEvent.data.id;\r\n this.customerService.GetByAccountId(rowEvent.data.accountid).then(result => {\r\n this.account = result; \r\n this.customerService.getAccountPermission(this.account.id, this.currentuser.id).then(perresult => {\r\n this.account.isAccountPermission = perresult;\r\n });\r\n\r\n if (this.account.website!=null && this.account.website.indexOf('www.') >= 0) {\r\n this.account.website = ((this.account.website).split('www.')[1])\r\n } \r\n \r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n $('#emailIds').val(rowEvent.data.id);\r\n $('#tasklistselectedtyle').val('Contact'); \r\n });\r\n } else {\r\n this.contactid = 0;\r\n //$('#emailIds').val('');\r\n $('#tasklistselectedtyle').val('')\r\n }\r\n }\r\n selectionAccountChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.account = rowEvent.api.getSelectedNodes()[0].data;\r\n this.acccontactcomp.AccountData('show' + rowEvent.api.getSelectedNodes()[0].data.id);\r\n this.acccontactcomp.ShowContactView = false;\r\n $('#emailIds').val(rowEvent.api.getSelectedNodes()[0].data.id);\r\n }\r\n }\r\n\r\n } \r\n selectionChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.contactid = rowEvent.api.getSelectedNodes()[0].data.id;\r\n this.customerService.GetByAccountId(rowEvent.api.getSelectedNodes()[0].data.accountid).then(result => {\r\n this.account = result; \r\n this.customerService.getAccountPermission(this.account.id, this.currentuser.id).then(perresult => {\r\n this.account.isAccountPermission = perresult;\r\n });\r\n\r\n if (this.account.website != null && this.account.website.indexOf('www.') >= 0) {\r\n this.account.website = ((this.account.website).split('www.')[1])\r\n }\r\n if (this.accountContactInfo != undefined) {\r\n this.accountContactInfo.GetContactInfo(this.contactid);\r\n }\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n $('#emailIds').val(rowEvent.api.getSelectedNodes()[0].data.id);\r\n $('#tasklistselectedtyle').val('Contact');\r\n });\r\n }\r\n } else {\r\n this.contactid = 0;\r\n //$('#emailIds').val('');\r\n $('#tasklistselectedtyle').val('')\r\n }\r\n\r\n }\r\n\r\n editcontact(val) {\r\n //document.getElementById('editAccount').style.display = 'block';\r\n //document.getElementById('accView').style.display = 'none';\r\n //$('#saveContact').attr('style', 'display: block');\r\n //this.loaddropdowns();\r\n this.accountid = this.account.id;\r\n this.contactid = val;\r\n this.contactshowDialog = !this.contactshowDialog;\r\n this.showAddEditContactCss();\r\n }\r\n\r\n cancelContact() {\r\n document.getElementById('editAccount').style.display = 'none';\r\n //document.getElementById('accView').style.display = 'block';\r\n $('#saveContact').attr('style', 'display: none');\r\n \r\n }\r\n\r\n loaddropdowns() {\r\n \r\n this.customerService.GetAllOwnerList(0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.OwnerList = Owner;\r\n\r\n });\r\n\r\n \r\n //this.customerService.GetSpecialitytypes(this.currentuser.id).then((accounttype) => {\r\n // accounttype.forEach(accounttype => {\r\n // });\r\n // this.Specialitytypelist = accounttype;\r\n //});\r\n this.customerService.GetSpecialityList(\"Account Specialty\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Specialitytypelist = accounttype;\r\n });\r\n\r\n this.customerService.GetCollegeList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Collegelist = accounttype;\r\n });\r\n\r\n this.customerService.GetMedicalSchoolList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.MedicalSchoolList = accounttype;\r\n });\r\n\r\n this.customerService.GetAllStateList('all').then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.StatesList = accounttype;\r\n this.stateInfo = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Month\", this.currentuser.id).then((appointment) => {\r\n appointment.forEach(appointment => {\r\n });\r\n this.MonthList = appointment;\r\n\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Day\", this.currentuser.id).then((appointment) => {\r\n appointment.forEach(appointment => {\r\n });\r\n this.DayList = appointment;\r\n });\r\n this.customerService.Getcontacttypes(2).then((accounttype) => {\r\n this.contacttypelist = [];\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.contacttypelist = accounttype;\r\n });\r\n this.customerService.GetCollegeList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Collegelist = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Suffix\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.SuffixList = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Sex\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.SexList = accounttype;\r\n });\r\n\r\n this.customerService.GetTitleListbycontacttype(this.contacts.contacttype).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.TitleList = accounttype;\r\n });\r\n\r\n this.getyears()\r\n {\r\n var range = [];\r\n var y = 1949;\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.Years = range;\r\n this.MedSchoolYears = range;\r\n this.ResidencyYears = range;\r\n this.FellowShipYears = range;\r\n }\r\n }\r\n getyears() {\r\n var range = [];\r\n var year = new Date().getFullYear();\r\n for (var i = 0; i < 7; i++) {\r\n range.push({\r\n label: year + i,\r\n value: parseInt(String(year + i).slice(2, 4))\r\n });\r\n }\r\n this.Years = range;\r\n }\r\n SaveContact() {\r\n \r\n this.contacts.accountid = this.account.id;\r\n this.contacts.isshared = this.account.isshared;\r\n this.accountsService.addcontact(this.contacts).then(result => {\r\n this.GetAllProviderAndContactInfo(result.accountid)\r\n this.toastr.success(\"Contact Updated successfully.\", \"Contact Saved\", { timeOut: 600 });\r\n\r\n });\r\n this.cancelContact();\r\n this.contacts = new Contacts();\r\n this.Resetcontacts();\r\n }\r\n\r\n Resetcontacts() {\r\n this.contacts.contacttype = null;\r\n this.contacts.suffix = null;\r\n this.contacts.sex = null;\r\n this.contacts.title = null;\r\n this.contacts.speciality = null;\r\n this.contacts.subspeciality = null;\r\n this.contacts.college = 0;\r\n this.contacts.collegegrandyear = null;\r\n this.contacts.medschool = 0;\r\n this.contacts.medschoolgrandyear = null;\r\n this.contacts.residency = 0;\r\n this.contacts.residencygrandyear = null;\r\n this.contacts.fellowship = 0;\r\n this.contacts.fellowshipgrandyear = null;\r\n this.contacts.ownerid = null;\r\n this.contacts.practiceid = 0;\r\n }\r\n\r\n contactsSelectState(id, name) {\r\n $('.selectedState').removeClass('selectedState');\r\n $('#cont_' + id).addClass('selectedState');\r\n $('#contactstateTextBox').val(name);\r\n this.contacts.state = name;\r\n }\r\n contactsShowStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'block';\r\n }\r\n contactsHideStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'none';\r\n }\r\n\r\n handleClick(event) {\r\n \r\n var clickedComponent = event.target;\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n\r\n $('#test').val('Contact');\r\n } else {\r\n }\r\n }\r\n statePopulate(zipid, cityid, stateid, stateDDN) {\r\n var that = this;\r\n var zipCode = $('#' + zipid).val();\r\n var newStr = zipCode.replace(/_/g, \"\");\r\n var newStrArray = newStr.split(\"-\");\r\n if (newStrArray[0].length > 0) {\r\n var url = \"http://ziptasticapi.com/\" + newStrArray[0];\r\n $.ajax({\r\n url: url,\r\n dataType: \"json\",\r\n type: 'GET',\r\n success: function (data) {\r\n\r\n $('#' + cityid).val(data.city);\r\n that.loadstate(data.state, stateid, stateDDN);\r\n if (zipid == 'contactzip') {\r\n that.contacts.city = data.city;\r\n }\r\n if (zipid == 'contacthomeZip') {\r\n that.contacts.homecity = data.city;\r\n }\r\n if (zipid == 'zipCode') {\r\n that.account.city = data.city;\r\n\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n loadstate(state, stateid, stateDDN) {\r\n\r\n var countryCode = ($('#country').val());\r\n if (countryCode == 1) {\r\n for (var i = 0; i < 50; i++) {\r\n if (this.StatesList[i].itemName.trim().toString() == state) {\r\n $('#' + stateDDN).val(this.StatesList[i].id)\r\n this.account.state = state;\r\n }\r\n }\r\n } else {\r\n\r\n $('#' + stateid).val(state);\r\n\r\n if (stateid == 'contactstateTextBox') {\r\n this.contacts.state = state;\r\n\r\n }\r\n if (stateid == 'contacthomestate') {\r\n this.contacts.homestate = state;\r\n\r\n }\r\n if (stateid == 'stateTextBox') {\r\n this.account.state = state;\r\n }\r\n }\r\n }\r\n\r\n changeCityStateZip(id) {\r\n\r\n var $stateDropdownDiv = $('#contactstateTextBox').parent();\r\n if (id == 1) {\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n this.getSelectedState('all');\r\n ///this.stateTextBox = true;\r\n //this.stateDropDown = false;\r\n //this.displayZipCode = true;\r\n // this.displayCountryName = false;\r\n $stateDropdownDiv.removeClass();\r\n $stateDropdownDiv.addClass('col-xs-3 removeCompletePadding');\r\n $stateDropdownDiv.prop(\"style\", \"padding:0px\");\r\n $('#contactstateTextBox').prop(\"placeholder\", \"Select State\");\r\n $('#contactCityDiv').removeClass();\r\n $('#contactCityDiv').addClass('col-xs-6');\r\n\r\n // this.countryId == 1;\r\n }\r\n else if (id == 2) {\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n this.getSelectedState('bahamas');\r\n //this.stateTextBox = true;\r\n //this.stateDropDown = false;\r\n //this.displayZipCode = false;\r\n //this.displayCountryName = true;\r\n $stateDropdownDiv.removeClass();\r\n $stateDropdownDiv.addClass('col-xs-6 removeCompletePadding');\r\n $stateDropdownDiv.prop(\"style\", \"padding:0px\");\r\n $('#contactstateTextBox').prop(\"placeholder\", \"Select Island\");\r\n $('#contactCityDiv').removeClass();\r\n $('#displayCountry').val('Bahamas');\r\n //this.countryId == 2;\r\n }\r\n }\r\n getSelectedState(country) {\r\n this.customerService.GetAllStateList(country).then((state) => {\r\n state.forEach(accounttype => {\r\n });\r\n this.StatesList = state;\r\n this.stateInfo = state;\r\n\r\n });\r\n }\r\n editRowAg(rowdata) {\r\n this.contactid = rowdata.id;\r\n if (rowdata.type == 'Contact') {\r\n this.contactid = rowdata.id;\r\n this.accountid = rowdata.accountid;\r\n this.contactshowDialog = !this.contactshowDialog;\r\n this.showAddEditContactCss();\r\n } else {\r\n this.accountid = rowdata.id;\r\n this.showAddEditAccount = !this.showAddEditAccount;\r\n this.showAddEditAccountCss();\r\n }\r\n\r\n \r\n }\r\n \r\n rowClickAgGridprovider(rowEvent) {\r\n \r\n this.contactid = rowEvent.data.id;\r\n }\r\n enterNotes() {\r\n \r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n }\r\n SaveNote() {\r\n \r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/img, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/<[^>]*>/g, '');\r\n this.notes.type = \"Contact\";\r\n this.notes.accountid = this.contactid;\r\n\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.GetCustomerNotes(this.notes.accountid, 'Contact');\r\n $('#notesListTabsId .active').removeClass('active');\r\n $('#notesListTabsId #allNotesId').addClass('active');\r\n this.CancelNote();\r\n });\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n }\r\n deletetoOpenRowAg(rowdata) {\r\n\r\n \r\n this.selectedcontactid = rowdata.id;\r\n this.selectedstatus = rowdata.calllistcontactstatus;\r\n this.showContactOpenDialog = !this.showContactOpenDialog;\r\n setTimeout(function () {\r\n //$('.dialog').attr('style', 'height:180px;width:35%;padding-top: 3%;background: #f4f4f4;border: 1px solid #a2e477;')\r\n $('.dialog').attr('style', 'width: 35%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 23 %;overflow: visible;height: 23 %;')\r\n }, 4)\r\n }\r\n deleteRowAg(rowdata) {\r\n this.selectedcontactid = rowdata.id;\r\n if (rowdata.callisttype && rowdata.callisttype == 'callistcontact') { \r\n this.deleteId = rowdata.id;\r\n if (rowdata.calllistcontactstatus == 'Open') {\r\n this.showDeleteDialog = !this.showDeleteDialog;\r\n } else {\r\n alert(\"Already You have Contacted this Contact so you Can't Delete !!!!\")\r\n }\r\n this.showDeleteDialogCss();\r\n }\r\n else { \r\n this.deleteRowData = rowdata;\r\n this.contactstatus = this.deleteRowData.isdeleted;\r\n this.DeleteConfirmationPopup = true;\r\n setTimeout(function () {\r\n $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n \r\n }\r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.contactstatus = (this.contactstatus==1)?0:1;\r\n this.customerService.Deactivatecontact(this.deleteRowData.id, this.contactstatus).then((user) => {\r\n this.GetAllProviderAndContactInfo(this.deleteRowData.accountid);\r\n });\r\n }\r\n \r\n this.DeleteConfirmationPopup = false;\r\n \r\n }\r\n assignuser(assigneduserid) {\r\n \r\n this.customerService.Assigntocalllist(assigneduserid, this.calllist.id).then((calllist) => {\r\n this.assigncalllistDialog = !this.assigncalllistDialog\r\n this.router.navigateByUrl(`/application/viewcalllist`);\r\n });\r\n }\r\n RemoveContact(contactid) {\r\n if (contactid != 0) {\r\n var contactidsArray = (this.calllist.contactids != null ? this.calllist.contactids.split(',') : []);\r\n contactidsArray.splice($.inArray(contactid + \"\", contactidsArray), 1);\r\n this.calllist.contactids = new Array(contactidsArray).join(',');\r\n var deletedcontactidArray = (this.calllist.deletedcontactids != null ? this.calllist.deletedcontactids.split(',') : []);\r\n deletedcontactidArray.push(contactid);\r\n this.calllist.deletedcontactids = new Array(this.RemoveDuplicateItemsFromArr(deletedcontactidArray)).join(',');\r\n this.calllist.deletedcontactids = this.RemoveDuplicateItemsFromArr(this.calllist.deletedcontactids.split(',')).toString();\r\n if (this.calllist.id > 0) {\r\n this.accountsService.addCalllist(this.calllist).then(result => {\r\n //this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Status');\r\n\r\n if (this.applicationComponent.Calllistselectedtype == 'Contact' || this.applicationComponent.Calllistselectedtype == 'CustomerContact') {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Contacts');\r\n } else if (this.applicationComponent.Calllistselectedtype == 'Customer' || this.applicationComponent.Calllistselectedtype == 'Customers' || this.applicationComponent.Calllistselectedtype == 'Contacts/Accounts') {\r\n this.GetAllSelectedAccountCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, this.applicationComponent.Calllistselectedtype);\r\n }\r\n });\r\n } else {\r\n // this.GetAllSelectedContactCalllist(this.calllist.contactids, '', this.calllist.deletedcontactids, 'Contacts');\r\n if (this.applicationComponent.Calllistselectedtype == 'Contact' || this.applicationComponent.Calllistselectedtype == 'CustomerContact') {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Contacts');\r\n } else if (this.applicationComponent.Calllistselectedtype == 'Customer' || this.applicationComponent.Calllistselectedtype == 'Customers' || this.applicationComponent.Calllistselectedtype == 'Contacts/Accounts') {\r\n this.GetAllSelectedAccountCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, this.applicationComponent.Calllistselectedtype);\r\n }\r\n }\r\n \r\n\r\n this.showDeleteDialog = !this.showDeleteDialog;\r\n this.showDeleteDialogCss();\r\n }\r\n }\r\n closeDeleteDialog() {\r\n this.deleteId = 0;\r\n this.showDeleteDialog = !this.showDeleteDialog;\r\n this.showDeleteDialogCss();\r\n }\r\n sharingAg(rowdata) {\r\n this.accountid = rowdata.accountid;\r\n this.isSharing = true;\r\n this.isSharingCss();\r\n this.ownrshipComp.loadAccountInformation(rowdata.accountid, 0);\r\n }\r\n onCloseEventReceived(msg) {\r\n this.accountid = 0;\r\n this.isSharing = false;\r\n if (this.applicationComponent.Calllistselectedtype == 'Contact' || this.applicationComponent.Calllistselectedtype == 'CustomerContact') {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Contacts');\r\n } else if (this.applicationComponent.Calllistselectedtype == 'Customer' || this.applicationComponent.Calllistselectedtype == 'Customers' || this.applicationComponent.Calllistselectedtype == 'Contacts/Accounts') {\r\n this.GetAllSelectedAccountCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, this.applicationComponent.Calllistselectedtype);\r\n }\r\n }\r\n \r\n onItemSelect(item: any) {\r\n this.ShowButtons = true;\r\n var ids = item.id;\r\n this.assignuserid = item.id;\r\n $('.dropdown-list').prop('hidden', true)\r\n this.userservice.getprivilagebyuser(this.assignuserid, 22).then((privilages) => {\r\n if (privilages == null) {\r\n this.toastr.warning(\"You Do Not have Access to View Call list – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n }\r\n else {\r\n this.assigncalllistDialog = !this.assigncalllistDialog\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'border: 4px solid #a2e477;width: 467px;overflow:hidden;');\r\n }, 4));\r\n }\r\n });\r\n \r\n }\r\n \r\n \r\n OnItemDeSelect(item: any) {\r\n this.ShowButtons = true;\r\n var ids = item.id;\r\n }\r\n convertContactAg(rowdata) {\r\n this.contactid = rowdata.id; \r\n this.customerService.GetContactById(rowdata.id).then(result => {\r\n this.contacts = result;\r\n //this.leadstatus = this.contacts.converttolead;\r\n if (this.contacts.converttolead == 0) {\r\n this.applicationComponent.loaddialog('convertcontacttolead', 'Convert Lead', 'Convert this Contact to a Lead?', false, false, true, true, this.contactid);\r\n }\r\n else {\r\n this.applicationComponent.loaddialog('convertcontacttolead', 'Convert Lead', 'Contact is an Open Lead', false, false, true, true, this.contactid);\r\n } \r\n //this.applicationComponent.loaddialog();\r\n //this.showDialog = !this.showDialog;\r\n //this.showDialogCss();\r\n });\r\n this.applicationComponent.pageViewed = \"\";\r\n }\r\n //showDialogCss() {\r\n // $(setTimeout(function () {\r\n // $('#resetpassword .dialog ').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%')\r\n\r\n // }, 4));\r\n //}\r\n showDeleteDialogCss() {\r\n $(setTimeout(function () {\r\n $('#deleteDialog .dialog ').attr('style', 'height:180px;width:35%;padding-top: 0%;background: rgb(186,219,152) !important;border:4px solid rgb(49,189,240);border-radius:5%;overflow:visible;')\r\n\r\n }, 4));\r\n }\r\n AccountsharingAg(selectedval) {\r\n if (selectedval == \"Edit\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else if (selectedval == \"View\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else {\r\n this.isSharing = true; \r\n this.ownrshipComp.loadAccountInformation(this.account.id, 0);\r\n }\r\n \r\n }\r\n onCloseEventSharing(event)\r\n { this.isSharing = false; }\r\n\r\n callcheck(rowdata) {\r\n \r\n this.contactid = rowdata.id;\r\n this.selectedcontactid = rowdata.id;\r\n this.selectedstatus = rowdata.calllistcontactstatus;\r\n if (rowdata.calllistcontactstatus != 'Completed' || rowdata.calllistcontactstatus == 'Completed') {\r\n this.showContactDialog = !this.showContactDialog;\r\n setTimeout(function () {\r\n $('#ContactDialog .dialog').attr('style', 'height:180px!;width:30%;border: 5px solid #a2e477;margin-top: 38px;margin-left: 619px')\r\n }, 4)\r\n } \r\n else {\r\n this.calllistcontactstatus(rowdata.id, 'Open'); \r\n }\r\n }\r\n\r\n closecalllistdialog() { this.applicationComponent.CallListDialog = false; this.applicationComponent.pageViewed = ''; }\r\n\r\n calllistdialogclose(status) {\r\n if (status =='Open') {\r\n this.showContactOpenDialog = !this.showContactOpenDialog;\r\n } else {\r\n this.showContactDialog = !this.showContactDialog;\r\n }\r\n document.getElementById('checkDiv').style.display = 'none';\r\n }\r\n RemoveDuplicateItemsFromArr(arr: any[]) {\r\n var uniqueIDs = [];\r\n $.each(arr, function (i, el) {\r\n if ($.inArray(el, uniqueIDs) === -1) uniqueIDs.push(el);\r\n });\r\n\r\n return uniqueIDs;\r\n }\r\n\r\n calllistcontactstatus(contactid, status) {\r\n if (status == \"Deleted\") {\r\n this.calllist.contactids = this.RemoveDuplicateItemsFromArr(this.calllist.contactids.split(',')).toString(); \r\n var DeletedidsArray = (this.calllist.deletedcontactids != null ? this.calllist.deletedcontactids.split(',') : []);\r\n DeletedidsArray.splice($.inArray(contactid + \"\", DeletedidsArray), 1);\r\n this.calllist.deletedcontactids = new Array(DeletedidsArray).join(',');\r\n var contactidsArray = (this.calllist.contactids != null ? this.calllist.contactids.split(',') : []);\r\n contactidsArray.push(contactid);\r\n this.calllist.contactids = new Array(this.RemoveDuplicateItemsFromArr(contactidsArray)).join(',');\r\n\r\n }\r\n else if (status == \"Completed\")\r\n {\r\n this.calllist.contactids = this.RemoveDuplicateItemsFromArr(this.calllist.contactids.split(',')).toString(); \r\n var CompletedidsArray = (this.calllist.completedcontactids != null ? this.calllist.completedcontactids.split(',') : []);\r\n CompletedidsArray.splice($.inArray(contactid + \"\", CompletedidsArray), 1);\r\n this.calllist.completedcontactids = new Array(CompletedidsArray).join(',');\r\n var contactidsArray = (this.calllist.contactids != null ? this.calllist.contactids.split(',') : []);\r\n contactidsArray.push(contactid);\r\n this.calllist.contactids = new Array(this.RemoveDuplicateItemsFromArr(contactidsArray)).join(',');\r\n\r\n }\r\n else if (status == \"Open\") {\r\n this.calllist.completedcontactids = this.RemoveDuplicateItemsFromArr(this.calllist.completedcontactids.split(',')).toString();\r\n var CompletedidsArray = (this.calllist.completedcontactids != null ? this.calllist.completedcontactids.split(',') : []);\r\n CompletedidsArray.splice($.inArray(contactid + \"\", CompletedidsArray), 1);\r\n this.calllist.completedcontactids = new Array(CompletedidsArray).join(',');\r\n var contactidsArray = (this.calllist.contactids != null ? this.calllist.contactids.split(',') : []);\r\n contactidsArray.push(contactid);\r\n this.calllist.contactids = new Array(this.RemoveDuplicateItemsFromArr(contactidsArray)).join(',');\r\n\r\n }\r\n else {\r\n \r\n this.calllist.completedcontactids = this.RemoveDuplicateItemsFromArr(this.calllist.completedcontactids != null ? this.calllist.completedcontactids.split(',') : []).toString();\r\n var contactidsArray = (this.calllist.contactids != null ? this.calllist.contactids.split(',') : []);\r\n contactidsArray.splice($.inArray(contactid + \"\", contactidsArray), 1);\r\n this.calllist.contactids = new Array(contactidsArray).join(',');\r\n var completedcontactidArray = (this.calllist.completedcontactids != null ? this.calllist.completedcontactids.split(',') : []);\r\n completedcontactidArray.push(contactid);\r\n this.calllist.completedcontactids = new Array(this.RemoveDuplicateItemsFromArr(completedcontactidArray)).join(',');\r\n if (this.calllist.contactids == \"\") {\r\n $(\"#callstatus\").val(\"Completed\");\r\n this.calllist.status = 'Completed';\r\n this.router.navigateByUrl(`/application/viewcalllist`);\r\n }\r\n }\r\n this.calllist.currentAction = status;\r\n this.calllist.lastaccesseduserid = this.currentuser.id;\r\n this.calllist.userid = this.currentuser.id;\r\n \r\n this.accountsService.addCalllist(this.calllist).then(result => {\r\n //this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Status');\r\n if (this.applicationComponent.Calllistselectedtype == 'Contact' || this.applicationComponent.Calllistselectedtype == 'CustomerContact') {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Contacts');\r\n } else if (this.applicationComponent.Calllistselectedtype == 'Customer' || this.applicationComponent.Calllistselectedtype == 'Customers' || this.applicationComponent.Calllistselectedtype == 'Contacts/Accounts') {\r\n this.GetAllSelectedAccountCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, this.applicationComponent.Calllistselectedtype);\r\n }\r\n });\r\n if (status == \"Deleted\" || status == \"Completed\") {\r\n this.showContactOpenDialog = !this.showContactOpenDialog;\r\n\r\n } else {\r\n this.showContactDialog = false;\r\n\r\n }\r\n }\r\n //printMsg(msg) {\r\n \r\n // this.contactshowDialog = !this.contactshowDialog;\r\n // this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids,'Status');\r\n //}\r\n onTaskSaved(msg) {\r\n \r\n this.taskDialog = !this.taskDialog;\r\n }\r\n public transform(input: string): string { \r\n \r\n if (!input) {\r\n return '';\r\n }\r\n else {\r\n return input[0].toUpperCase() + input.substr(1);\r\n }\r\n }\r\n\r\n openDisplaynotes(params) {\r\n \r\n $('#closeDetailsDialog').click();\r\n \r\n this.notes.notedescription = params.value;\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false; \r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n\r\n \r\n //$('#showDetailsDialog').width(showDialogWidth);\r\n //$('#showDetailsDialog').height(notesHeight - 140);\r\n //if ($('#typeClicked').val() == 'modal') {\r\n if (selfObj.isModal) {\r\n //$('#showDetailsDialog').css('top', '23%');\r\n //$('#showDetailsDialog').css('height', '61%');\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n //$('#showDetailsDialog').css('top', notesOffset.top + 125);\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n } else {\r\n //var url = window.location.href;\r\n //if ((url).indexOf('account-contact') > -1) {\r\n // $('#showDetailsDialog').css('top', '62%');\r\n //} else {\r\n // $('#showDetailsDialog').css('top', '72%');\r\n //}\r\n var gridOffset = $(\"#notesGrid\").offset();\r\n //$('#showDetailsDialog').css('top', gridOffset.top);\r\n //$('#showDetailsDialog').css('height', '30%');\r\n //$('#showDetailsDialog').css('left', '69%');\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 62%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n }\r\n //$('#showDetailsDialog').css('border-radius', '4px');\r\n //$('#showDetailsDialog').css('border', '3px solid');\r\n $('#showDetailsDialog').show();\r\n }, 1));\r\n }\r\n\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n \r\n if ($(\"#btnEditNote\").text() == \"Edit Note\") {\r\n $(\"#txtLongNoteDesc\").removeAttr(\"readonly\");\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $(\"#btnEditNote\").css(\"background-color\", \"#A2E477\");\r\n $(\"#btnEditNote\").text(\"Save Note\");\r\n } else {\r\n this.saveEditedNote();\r\n }\r\n }\r\n openAccountIds() {\r\n this.statusIds = true;\r\n this.opprtunityservice.GetByAccountId(this.account.id).then(result => {\r\n this.AccountIdsDialog = true;\r\n this.AccountIdsDialogCss();\r\n });\r\n\r\n }\r\n\r\n AccountIdsDialogCss() {\r\n\r\n //if (this.account.accountid1 == null && this.account.accountid2 == null && this.account.accountid3 == null) {\r\n // setTimeout(function () {\r\n // $('.dialog').attr('style', 'width: 20%;padding-bottom:0px;border:2px solid black;min-height:15%;overflow: auto;height: 18%;left: 56%;top: 18%;padding: 0;');\r\n // }, 4)\r\n //}\r\n //else {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 20%;padding-bottom:0px;border:2px solid rgb(49,189,240);border-radius:5%;min-height:15%;overflow: auto;height: 18%;left: 56%;top: 28%;padding: 0;');\r\n }, 4)\r\n //}\r\n }\r\n Updatesaccounts() {\r\n this.account.id = this.account.id;\r\n this.accountsService.updateaccountids(this.account).then(result => {\r\n this.statusIds = false;\r\n });\r\n }\r\n cancelaccountIds() {\r\n this.AccountIdsDialog = false;\r\n }\r\n\r\n AccountId1PopupChange(val) {\r\n if (val == \"null\") { this.account.accountpopid2 = \"null\"; this.account.accountpopid3 = \"null\"; }\r\n else if ((this.account.accountpopid1 == this.account.accountpopid2) || (this.account.accountpopid1 == this.account.accountpopid3)) {\r\n alert(\"Please select Other Option already Selected Value Added .\")\r\n this.account.accountpopid1 = \"null\";\r\n }\r\n }\r\n AccountId2PopupChange(val) {\r\n if (val == \"null\") { this.account.accountpopid2 = \"null\"; this.account.accountpopid3 = \"null\"; }\r\n else if ((this.account.accountpopid2 == this.account.accountpopid1) || (this.account.accountpopid2 == this.account.accountpopid3)) {\r\n alert(\"Please select Other Option already Selected Value Added .\")\r\n this.account.accountpopid2 = \"null\";\r\n }\r\n }\r\n AccountId3PopupChange(val) {\r\n if (val == \"null\") { this.account.accountpopid2 = \"null\"; this.account.accountpopid3 = \"null\"; }\r\n else if ((this.account.accountpopid3 == this.account.accountpopid1) || (this.account.accountpopid3 == this.account.accountpopid2)) {\r\n alert(\"Please select Other Option already Selected Value Added .\")\r\n this.account.accountpopid3 = \"null\";\r\n }\r\n }\r\n saveEditedNote() {\r\n \r\n let desc: string = $(\"#txtLongNoteDesc\").val();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.GetCustomerNotes(selfObj.conid, 'Contact');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n }\r\n ResizeTable() {\r\n this.aggridheight = ((((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height()))) - 55)) + 'px';\r\n }\r\n ResizeTableP() {\r\n this.aggridheightp = ((((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height()) + ($('#accountInformation').height()))) - 120)) + 'px';\r\n }\r\n\r\n openAccountNotes() {\r\n this.isModal = true;\r\n this.conid = this.account.id;\r\n $('#accotIdNotes').val(this.account.id);\r\n $('#accotTypeNotes').val('Customer');\r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.notecomp.Notes('AllContactsNotes');\r\n $('#chkShowDetailsNotes').prop('checked', false); $('#closeDetailsDialog').click();\r\n }, 50));\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n ContactReceiveEvent(msg) { \r\n this.contactshowDialog = false;\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, this.calllist.completedcontactids, this.calllist.deletedcontactids, 'Status');\r\n this.toastr.success(\"Contact Updated successfully.\", \"Contact Saved\", { timeOut: 600 });\r\n }\r\n closecalllist() {\r\n this.applicationComponent.activateMainButtons('Call Lists');\r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n this.showAddEditAccount = false;\r\n } \r\n }\r\n \r\n addContact() { \r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Contacts\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.clear();\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n\r\n }\r\n }\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n this.contactid = 0;\r\n \r\n }\r\n Receivevent(msg) {\r\n this.AddTask();\r\n }\r\n expandcalllist(value) {\r\n this.isCalllistOpen = (this.isCalllistOpen) ? false : true;\r\n if (value === 'Collapse') {\r\n if (this.applicationComponent.Calllistselectedtype == 'Contact' || this.applicationComponent.Calllistselectedtype == 'CustomerContact') {\r\n this.accountContactInfo.SixBoxExpand = false;\r\n this.accountContactInfo.tab = 'QuickView';\r\n } else {\r\n this.accComp.SixBoxExpand = false;\r\n this.accComp.tab = 'QuickView';\r\n }\r\n \r\n }\r\n else {\r\n if (this.applicationComponent.Calllistselectedtype == 'Contact' || this.applicationComponent.Calllistselectedtype == 'CustomerContact') {\r\n this.accountContactInfo.SixBoxExpand = false;\r\n this.accountContactInfo.tab = 'QuickView'; //dummy data\r\n }\r\n else {\r\n this.accComp.SixBoxExpand = false;\r\n this.accComp.tab = 'QuickView';\r\n }\r\n \r\n }\r\n }\r\n onAccountMessageReceived(msg) {\r\n if (msg == \"QuickView\") {\r\n this.OpenCancelDialog();\r\n }\r\n else if (msg == \"Expand\") {\r\n this.isCalllistOpen = false;\r\n } else if (msg == \"Collapse\")\r\n { this.isCalllistOpen = true; }\r\n }\r\n btnClickReceived(event) {\r\n if (event.btnName == 'addContact') {\r\n this.addContact();\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n this.openAccountNotes();\r\n }\r\n }\r\n\r\n isSharingCss() {\r\n setTimeout(function () {\r\n $('#isSharingDialog .dialog').attr('style', 'width: 35%;padding-bottom: 0px;border: 1px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 82.5%;padding: 0;top: 10%;left: 63%;');\r\n }, 4)\r\n\r\n }\r\n\r\n\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n}\r\n","

      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{account.accountname}}
      \r\n
      {{account.address1}} 
      \r\n
      {{account.address2}}
      \r\n
      \r\n {{account.city}} , {{account.state}}. {{account.zip | slice:0:5}} 5\">-{{account.zip | slice:5:20}}, {{account.country}}\r\n
      \r\n
      \r\n
      \r\n

      Call List History ({{itemCount}})

      \r\n
      \r\n
      \r\n
      Contact: {{contact.firstname}} {{contact.middlename}} {{contact.lastname}} {{(contact.titleName)? ', '+contact.titleName:'' }}
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n
      \r\n

      No Call List History Available for this Contact

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n","import { Component, OnInit, Input, Optional } from '@angular/core';\r\nimport { ICellRendererAngularComp } from \"ag-grid-angular\";\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { Calllist } from '../../models/calllist';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { AccountsService } from './../../services/accounts.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'calllisthistory',\r\n templateUrl: './calllisthistory.component.html',\r\n styleUrls: ['./calllisthistory.component.css']\r\n})\r\n\r\nexport class CalllisthistoryComponent implements OnInit, ICellRendererAngularComp {\r\n CallHistoryDialog = false;\r\n @Input()\r\n id: number;\r\n @Input()\r\n type: string;\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n rowData: Calllist[];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n contact: Contacts = new Contacts();\r\n contactid: number;\r\n account: Accounts = new Accounts();\r\n public context;\r\n itemResource: any;\r\n itemCount = 0;\r\n currentuser: any; selectedItems = [];\r\n public sideBar;\r\n constructor(private accountsService: AccountsService, public applicationComponent: ApplicationComponent, private customerService: CustomerService, private opprtunityservice: OpprtunitiesService) { this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); }\r\n\r\n ngOnInit() {\r\n this.initializeAgGrid();\r\n }\r\n GetAllCallHistory(type,contactid) {\r\n this.accountsService.GetAllCallHistorylist(type, contactid).then((calllist) => {\r\n calllist.forEach(calllist => {\r\n calllist.created = this.datePipe.transform(calllist.created, \"MM-dd-yyyy HH:mm a\");\r\n calllist.lastaccesed = this.datePipe.transform(calllist.lastaccesed, \"MM-dd-yyyy HH:mm a\");\r\n });\r\n this.rowData = calllist;\r\n this.itemCount = calllist.length;\r\n });\r\n }\r\n LoadAllCalllistcalllistHistory(type, contactid) {\r\n if (type == 'Customer' || type =='Account') { \r\n this.contactid = contactid;\r\n } else {\r\n this.customerService.GetContactById(contactid).then(result => {\r\n this.contact = result;\r\n this.opprtunityservice.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n });\r\n if (type != \"No\") {\r\n document.getElementById('grid_call').style.display = 'block';\r\n document.getElementById('NoCallHistory').style.display = 'none';\r\n this.GetAllCallHistory(type, contactid);\r\n \r\n } else {\r\n this.itemCount = 0;\r\n document.getElementById('grid_call').style.display = 'none';\r\n document.getElementById('NoCallHistory').style.display = 'block';\r\n }\r\n });\r\n }\r\n }\r\n public params: any;\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: false, enableColResize: true, paginationPageSize: 1000,enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 35).then((config) => { \r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n \r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n config.maxlimit = 25; \r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 35;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n this.opprtunityservice.saveDashboardconfiguration(config); \r\n }\r\n createColumnDefs(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) { if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; } } });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n { field: 'created', headerName: 'Date Created', hide: false },\r\n { field: 'calllistname', headerName: 'Call List Name', hide: false },\r\n { field: 'LastUserAccessed', headerName: 'Created By', hide: false },\r\n { field: 'Assignedto', headerName: 'Assigned To', hide: false },\r\n { field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } },\r\n { field: 'lastaccesed', headerName: 'Date Completed', hide: false }\r\n ];\r\n }\r\n }\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAll() {\r\n \r\n }\r\n refresh(): boolean {\r\n return false;\r\n }\r\n onCallHistory(msg) {\r\n var data = JSON.parse(msg);\r\n this.type = 'CalllHistory';\r\n this.LoadAllCalllistcalllistHistory(data.callliststatus, data.id);\r\n }\r\n displayCallHistoryNotes(contactid, status) {\r\n this.LoadAllCalllistcalllistHistory(status, contactid);\r\n }\r\n Backtocontacts() {\r\n this.type = 'Customer';\r\n }\r\n}\r\n//export class CalllisthistoryComponent implements OnInit {\r\n\r\n// constructor() { }\r\n\r\n// ngOnInit() {\r\n// }\r\n\r\n//}\r\n","
      \r\n \r\n
      \r\n
      \r\n

      \r\n Campaign Configuration\r\n

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

      \r\n Campaign Types\r\n

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

      \r\n Campaign Expenses\r\n

      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \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, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\r\nimport { GridOptions, RowDragEndEvent } from 'ag-grid';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { CampaignExpense, CampaignType } from '../../models/CampaignConfiguration';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { SystemRowConfiguration } from '../../models/system-row-configuration';\r\n\n@Component({\n selector: 'app-campaign-configuration',\n templateUrl: './campaign-configuration.component.html',\n styleUrls: ['./campaign-configuration.component.css']\n})\nexport class CampaignConfigurationComponent implements OnInit {\n CampaignConfigMainDiv: boolean = true;\n CampaignTypesDiv: boolean = false;\n CampaignExpensesDiv: boolean = false;\n ExpandCampaignTypesGrid: boolean = false;\n CampaignTypeForm: FormGroup;\n CampaignType: CampaignType = new CampaignType();\n AllCampaignTypes: CampaignType[];\n AllCampaignExpsnses: CampaignExpense[];\n currentUser: any;\n public gridOptions: GridOptions;\n public sideBar;\n public columnDefs: any[];\n CampaignTypeFormDisable: boolean = true;\n\n ExpandCampaignExpenseGrid: boolean = false;\n CampaignExpenseForm: FormGroup;\n CampaignExpense: CampaignExpense = new CampaignExpense();\n CampaignExpenseFormDisable: boolean = true;\n @Input() type: string = '600';\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\n constructor(public applicationComponent: ApplicationComponent, private leadsService: LeadsService, private toastr: ToastrService) {\n this.currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\n }\n \n ngOnInit(): void {\n \n this.AccessDiv(this.type);\n var obj: AuditLogModel = { id: 0, type: 'Campaign Configuration', action: 'Campaign Config', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Campaign Config ', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n //}\n }\n\n\n close() {\n this.applicationComponent.ShowConfigurationDialog = false;\n this.applicationComponent.activateMainButtons('dashboards');\n \n }\n CloseDiv(val) {\n if (val == '600') {\r\n this.CampaignConfigMainDiv = true;\r\n this.CampaignTypesDiv = false;\r\n this.CampaignExpensesDiv = false;\r\n this.CampaignTypeFormDisable = true;\r\n } else if (val == \"601\") {\r\n this.CampaignConfigMainDiv = true;\r\n this.CampaignTypesDiv = false;\r\n this.CampaignExpensesDiv = false;\r\n this.CampaignExpenseFormDisable = true;\r\n }\r\n }\n AccessDiv(val) {\n if (val == '600') {\r\n this.CampaignConfigMainDiv = false;\r\n this.CampaignTypesDiv = true;\r\n this.CampaignExpensesDiv = false;\r\n this.initializeAgGrid(val);\r\n\r\n } else if (val == '601') {\r\n this.CampaignConfigMainDiv = false;\r\n this.CampaignTypesDiv = false;\r\n this.CampaignExpensesDiv = true;\r\n this.initializeAgGrid(val);\r\n }\r\n var obj: AuditLogModel = { id: 0, type: 'Campaign Configuration', action: 'Campaign Config - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Campaign Config - ' + val, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\n\n ClearForm(val) {\n if (val == '600') {\r\n this.CampaignType = new CampaignType();\r\n this.CampaignTypeFormDisable = true;\r\n } else if (val == 'CampaignExpenses') {\r\n this.CampaignExpense = new CampaignExpense();\r\n this.CampaignExpenseFormDisable = true;\r\n }\r\n }\n SaveCampaignType() {\n if (this.CampaignType.CampaignTypeId == null || this.CampaignType.CampaignTypeId == undefined || this.CampaignType.CampaignTypeId == 0) {\r\n this.CampaignType.CreatedBy = this.currentUser.id;\r\n }\r\n this.leadsService.AddUpdateCampaignType(this.CampaignType).then(result => {\r\n this.toastr.success(\"Campaign Type saved successfully.\", \"Campaign Type Saved\", { timeOut: 600 });\r\n this.ClearForm('600');\r\n this.GetCampaignTypes();\r\n });\r\n }\n SaveCampaignExpense() {\n this.CampaignExpense.CreatedBy = this.currentUser.id;\r\n this.leadsService.AddUpdateCampaignExpenses(this.CampaignExpense).then(result => {\r\n this.toastr.success(\"Campaign Expense saved successfully.\", \"Campaign Expense Saved\", { timeOut: 600 });\r\n this.ClearForm('CampaignExpenses');\r\n this.GetCampaignExpenses();\r\n });\r\n }\n GetCampaignTypes() {\n this.leadsService.GetCampaignTypes(this.currentUser.id).then(result => {\r\n this.AllCampaignTypes = result;\r\n });\r\n }\n\n GetCampaignExpenses() {\n this.leadsService.GetCampaignExpenses(this.currentUser.id).then(result => {\r\n this.AllCampaignExpsnses = result;\r\n });\r\n }\n initializeAgGrid(val) {\r\n this.gridOptions = {\r\n enableColResize: true, enableSorting: true, paginationPageSize: 1000, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true,\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true,\r\n\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createColumnDefs(val);\r\n if (val == '600') {\r\n this.GetCampaignTypes();\r\n } else if (val == '601') {\r\n this.GetCampaignExpenses();\r\n }\r\n \r\n }\n createColumnDefs(val) {\r\n \r\n let selfObj = this;\r\n if (val == '600') {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true,\r\n },\r\n { field: 'CampaignTypeId', headerName: 'Id', hide: true, width: 120 },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false, width: 120 },\r\n {\r\n field: 'CampaignTypeName', headerName: 'Campaign Type Description', hide: false, width: 450,\r\n },\r\n \r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted == 1) {\r\n eDiv.innerHTML = '';\r\n } else {\r\n eDiv.innerHTML = '';\r\n }\r\n \r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteCampaignType(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n } else if (val == \"CampaignExpenses\"|| val=='601') {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true,\r\n },\r\n { field: 'CampaignExpenceId', headerName: 'Id', hide: true, width: 120 },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false, width: 120 },\r\n {\r\n field: 'CampaignExpenseName', headerName: 'Campaign Type Description', hide: false, width: 450,\r\n },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted == 1) {\r\n eDiv.innerHTML = '';\r\n } else {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteCampaignExpense(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n \r\n\r\n }\n onCampaignTypeSelectionChanged(event) {\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.CampaignType = event.api.getSelectedNodes()[0].data;\r\n this.CampaignTypeFormDisable = false;\r\n }\r\n } else {\r\n this.ClearForm('600');\r\n }\r\n }\n onCampaignExpenseSelectionChanged(event) {\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.CampaignExpense = event.api.getSelectedNodes()[0].data;\r\n this.CampaignExpenseFormDisable = false;\r\n }\r\n } else {\r\n this.ClearForm('CampaignExpenses');\r\n }\r\n }\n\n ShowForm(val) {\n if (val == 'CampaignTypes') {\r\n this.CampaignTypeFormDisable = false;\r\n } else if (val == 'CampaignExpenses') {\r\n this.CampaignExpenseFormDisable = false;\r\n }\r\n }\n\n deleteCampaignType(campaign) {\n this.CampaignType = campaign;\r\n if (this.CampaignType.isdeleted == 1) {\r\n this.CampaignType.isdeleted = 0;\r\n } else {\r\n this.CampaignType.isdeleted = 1;\r\n }\r\n \r\n this.SaveCampaignType();\r\n \r\n\r\n }\n\n\n deleteCampaignExpense(campaign) {\n this.CampaignExpense = campaign;\r\n if (this.CampaignExpense.isdeleted == 1) {\r\n this.CampaignExpense.isdeleted = 0;\r\n } else {\r\n this.CampaignExpense.isdeleted = 1;\r\n }\r\n\r\n this.SaveCampaignExpense();\r\n\r\n\r\n }\n\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"600\");\r\n }\r\n onRowDragEndExpense(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"601\");\r\n }\n onAgGridReady(event) {\r\n this.gridOptions.api = event.api;\r\n }\n onAgGridReadyExpense(event) {\r\n this.gridOptions.api = event.api;\r\n }\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == \"600\") {\r\n this.gridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.CampaignTypeId);\r\n });\r\n } else if (type == \"601\") {\r\n this.gridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.CampaignExpenceId);\r\n });\r\n } \r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentUser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n\r\n });\r\n\r\n }\n}\n","
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
       ({{( LinkedContacts != null && LinkedContacts.length != undefined )? LinkedContacts.length : 0}})
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      0\">\r\n \r\n\r\n
      \r\n
      \r\n No Contacts Linked to Campaign\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n 0 \" />\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n 0 \" />\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ROI.SalesRevenue | currency}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ROI.MonthlyRevenue | currency}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ROI.MonthlyPerYear | currency}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ROI.salesPlusMonthlyPerYear | currency}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ROI.Expenses | currency}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      {{ROI.ProfitLoss | currency}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      Step 1. Select the Expense Icon.
      \r\n
      Step 2. Enter the expenses for the Campaign and then select SAVE.
      \r\n
      Step 3. Select the Contact Link Icon.
      \r\n
      Step 4. The system will display the Contacts in the system. Select the Contacts to link to the Campaign and then select SAVE.
      \r\n
      Step 5. Select a Contact that has been linked to the Campaign from the Grid.
      \r\n
      Step 6. Select the Opportunity Link Icon located under the Actions Column in the Grid.
      \r\n
      Step 7. The system will automatically display the Opportunities for the Contact selected.
      \r\n
      Step 8. Select the Opportunity to link to the Campaign and then select SAVE.
      \r\n
      Step 9. The system will automatically link the Proposal that generated the Opportunity.
      \r\n
      Step 10. The proposals can be viewed under the Proposal Icon.
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      Expense Icon: This icon will display the list of expenses for the Campaign.
      \r\n
      ROI Icon: This Icon will display the Profit / Loss of the Campaign
      \r\n
      Opportunities Icon: This icon will display a list of opportunities linked to the Campaign
      \r\n
      Proposals Icon: This icon will display a list of proposals linked to the Campaign
      \r\n
      Sales Won Icon: This Icon will display all Opportunities Won for this campaign
      \r\n
      Sales Lost Icon: This Icon will display all Opportunities Lost for this campaign
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n","import { Component, OnInit, ViewContainerRef, Optional, Pipe, ViewChild, Input, Output, EventEmitter } from '@angular/core';\r\nimport { DecimalPipe } from \"@angular/common\";\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { GridOptions, ColumnUtils, ColDef, ColumnApi } from \"ag-grid/main\";\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Campaign } from '../../models/Campaign';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { Column, RowNode } from 'ag-grid';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\nimport * as moment from 'moment'\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { CampaignExpense, CampaignROI, CampaignType } from '../../models/CampaignConfiguration';\r\nimport { ContactsComponent } from '../contacts/contacts.component';\r\nimport { ContactsdashboardComponent } from '../contacts/contactsdashboard/contactsdashboard.component';\r\nimport { LinkDeleteComponent } from '../link-delete/link-delete.component';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { ProposalsModel } from '../../models/Proposalsmodel';\r\nimport { UserService } from '../../services/user.service';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\ndeclare var require: any;\r\n@Component({\r\n selector: 'app-campaigns',\r\n templateUrl: './campaigns.component.html',\r\n styleUrls: ['./campaigns.component.css']\r\n})\r\nexport class CampaignsComponent implements OnInit {\r\n currentuser: any;\r\n selectedItems = [];\r\n ShowCampaignGrid: boolean = true;\r\n @Input()\r\n AccountcontactIds: string = \"\";\r\n public gridOptions: GridOptions;\r\n public ContactGridOptions: GridOptions;\r\n public sideBar;\r\n pageSize: string = \"1000\";\r\n colSelections: string;\r\n public columnDefs: any[];\r\n public ContactsColumnDefs: any[];\r\n ShowAddCampaign: boolean = false;\r\n campaigntypelist: CampaignType[];\r\n campaignExpenselist: CampaignExpense[];\r\n campaign: Campaign = new Campaign();\r\n ShowAddCampaignButtons: boolean = false;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n ShowContactsDiv: boolean = false;\r\n @ViewChild(ContactsComponent) contactcomponent;\r\n @ViewChild(ContactsdashboardComponent) condashcmp: ContactsdashboardComponent;\r\n conid = 0;\r\n contactids = [];\r\n LinkedOpportunityIds = [];\r\n OpportunityIds = \"\";\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = (new Date().getFullYear() - 1) + '-01-01'; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = new Date().getFullYear() + '-12-31'; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = 'End: 12-31-' + new Date().getFullYear().toString();\r\n calanderonoff: boolean = true;\r\n allCampaigns: Campaign[];\r\n OriginalAllCampaigns: Campaign[];\r\n AllProposals: ProposalsModel[];\r\n\r\n public gridOptionsSelectedContacts: GridOptions;\r\n public columnDefsSelectedContacts: any[];\r\n\r\n public frameworkComponents;\r\n public context;\r\n LinkedContacts: Contacts[];\r\n ShowAddButton: boolean = false;\r\n ShowExpensesDialog: boolean = false;\r\n ShowROIDialog: boolean = false;\r\n ProposalsDialog: boolean = false;\r\n OpportunitiesDialog: boolean = false;\r\n OpportunityViewType: string=\"All Opportunities\";\r\n EditCampaignName: boolean = false;\r\n ExpenseCountindex = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];\r\n TotalExpense = 0;\r\n AllExpenses = [{ ExpenseType: '', ExpenseCost: 0, ExpenseIndex: 0 }];\r\n CostEntered: boolean = false;\r\n DeleteExpenseConfirmation: boolean = false;\r\n selectedExpenseIndex = 0;\r\n LinkOpportunitiesDialog: boolean = false;\r\n Allopportunities: Opportunities[];\r\n Proposalopportunities: Opportunities[];\r\n SalesWonopportunities: Opportunities[];\r\n SalesLostopportunities: Opportunities[];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n ROI = new CampaignROI();\r\n formatter = new Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }); \r\n public ProposalGridOptions: GridOptions;\r\n public ProposalColumnDefs: any[];\r\n public pdfview: boolean = false;\r\n ShowLeftSideDiv: boolean = true;\r\n DeleteContactConfirmation: boolean = false;\r\n selectedContectId = 0;\r\n\r\n public TableColumns: any;\r\n Contactvales: string = \"0\";\r\n allContacts: Contacts[];\r\n private gridApi;\r\n subtype: string = \"contacts\";\r\n Ids = [];\r\n active_deactiveStatus: number = 0;\r\n\r\n public currencymask = [/\\B(?=(\\d{3})+(?!\\d))/g];\r\n DeleteCampaignConfirmation: boolean = false;\r\n CampaignsInstructions: boolean = false;\r\n\r\n @Input() CampaignId = 0;\r\n @Input() ShowViewCampaign: boolean = false;\r\n @Input() Source: string;\r\n @Input() type: string;\r\n public toggleVal: boolean = false;\r\n constructor(public applicationComponent: ApplicationComponent, private route: ActivatedRoute, public decimalpipe: DecimalPipe, private customerService: CustomerService, private leadsService: LeadsService,\r\n private opprtunityservice: OpprtunitiesService, private router: Router, private toastr: ToastrService, private userService: UserService, private viewContainerRef: ViewContainerRef, private accountsService: AccountsService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit()\r\n {\r\n if (localStorage.getItem('CompaignVal') != null && localStorage.getItem('CompaignVal') != undefined) {\r\n var campaignvalues:any [] = localStorage.getItem('CompaignVal').split('|');\r\n this.CampaignId = parseInt(campaignvalues[0]);\r\n this.type = campaignvalues[1];\r\n } \r\n this.initializeAgGrid();\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Campaigns', action: 'Campaign Viewed' , AccountOrContactId: 0, AccountOrContact: \"\", documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Campaign Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n if (outProps.secondDrpValue != \"0\" && outProps.secondDrpValue != undefined &&\r\n outProps.secondDrpValue != null && outProps.secondDrpValue != \"\") {\r\n if (outProps.secondDrpValue == 'Open Campaign') {\r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.CampaignStatus == 'Open');\r\n } else if (outProps.secondDrpValue == 'Closed Campaign') {\r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.CampaignStatus == 'Closed');\r\n } else {\r\n this.allCampaigns = this.OriginalAllCampaigns;\r\n }\r\n\r\n }\r\n else {\r\n if (outProps.finalitems == \"\" || outProps.finalitems == null || outProps.finalitems == undefined) {\r\n this.allCampaigns = null;\r\n }\r\n else {\r\n this.LoadCampaigns(outProps.finalitems, \"\");\r\n }\r\n }\r\n }\r\n close() {\r\n if (this.Source == 'Dashboard') {\r\n this.sendMsgEvent.emit(\"CloseDialog\");\r\n } else {\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n }\r\n \r\n }\r\n\r\n addNewCampaign(val) {\r\n this.GetCampaignTypes();\r\n this.campaign = new Campaign();\r\n this.ShowCampaignGrid = false;\r\n this.ShowAddCampaign = true;\r\n \r\n this.ShowViewCampaign = false;\r\n \r\n }\r\n\r\n GetCampaignTypes() {\r\n this.leadsService.GetCampaignTypes(this.currentuser.id).then(result => {\r\n this.campaigntypelist = result.filter(x => x.isdeleted !== 1 );\r\n \r\n });\r\n }\r\n\r\n back() {\r\n this.LoadCampaigns(this.currentuser.id,\"\");\r\n this.CampaignId = 0;\r\n this.ShowAddCampaign = false;\r\n this.ShowCampaignGrid = true;\r\n this.ShowAddCampaignButtons = false;\r\n \r\n this.ShowViewCampaign = false;\r\n this.conid = 0;\r\n this.EditCampaignName = false;\r\n this.ShowAddButton = false;\r\n this.ShowContactsDiv = false;\r\n this.TotalExpense = 0;\r\n this.AllExpenses = [];\r\n $('#emailIds').val('');\r\n this.Ids = [];\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 32).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.pageSize = (this.pageSize == \"\") ? '1000' : this.pageSize;\r\n this.createColumnDefs(this.colSelections);\r\n this.LoadCampaigns(this.currentuser.id, this.type);\r\n\r\n });\r\n\r\n this.context = this;\r\n this.frameworkComponents = {\r\n linkdelete: LinkDeleteComponent\r\n };\r\n\r\n }\r\n\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n var searcharray = [];\r\n if (this.applicationComponent.searchCriteriadata) {\r\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\r\n if (searchaarraystring.includes(' /')) {\r\n searcharray = searchaarraystring.split(' / ');\r\n } else {\r\n searcharray.push(searchaarraystring);\r\n }\r\n }\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"actions\") {\r\n this.columnDefs.push(\r\n {\r\n field: 'actions', headerName: 'Actions', width: 80, hide: false, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.campaign = params.data;\r\n selfobj.DeleteCampaignConfirmation = true;\r\n selfobj.DeleteExpenseCss('DeleteCampaignConfirmation');\r\n });\r\n return eDiv;\r\n }\r\n }\r\n );\r\n } else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'CampaignID', headerName: 'Campaign Id', hide: true },\r\n { field: 'CampaignName', headerName: 'Campaign Name', hide: false },\r\n { field: 'contactsNames', headerName: 'Name', hide: false },\r\n { field: 'CampaignTypeName', headerName: 'Campaign Type', hide: true },\r\n { field: 'TotalExpense', headerName: 'Total Expense', hide: true },\r\n { field: 'salesPlusMonthlyPerYear', headerName: 'Total SMR', hide: true },\r\n { field: 'ProfitLoss', headerName: 'Profit | Loss', hide: true },\r\n { field: 'CreatedDate', headerName: 'Date Created', hide: false },\r\n { field: 'CampaignStatus', headerName: 'Status', hide: false },\r\n { field: 'createdByName', headerName: 'Owner', hide: false }, \r\n {\r\n field: 'actions', headerName: 'Actions', width: 80, hide: (this.Source ==\"dashboard\")?true: false, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.campaign = params.data;\r\n selfobj.DeleteCampaignConfirmation = true;\r\n selfobj.DeleteExpenseCss('DeleteCampaignConfirmation');\r\n });\r\n return eDiv;\r\n } \r\n }\r\n\r\n \r\n ];\r\n\r\n var tooltipRenderer = function (params) {\r\n return '' + params.value + '';\r\n };\r\n }\r\n }\r\n\r\n ReceiveDeleteCampaignevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.campaign.isDeleted = 1;\r\n this.saveCampaignCosts(false);\r\n let that = this;\r\n setTimeout(function () {\r\n that.DeleteCampaignConfirmation = false;\r\n that.back();\r\n }, 300);\r\n\r\n } else {\r\n this.DeleteCampaignConfirmation = false;\r\n }\r\n }\r\n\r\n LoadCampaigns(userid, type) {\r\n this.opprtunityservice.GetAllCampaigns(userid).then((viewCampaigns) => {\r\n \r\n viewCampaigns.forEach(ele => {\r\n var salesPlusMonthlyPerYear = Number(ele.SalesRevenue) + (Number(ele.MonthlyRevenue) * 12);\r\n var ProfitLoss = salesPlusMonthlyPerYear - ele.TotalExpense;\r\n ele.salesPlusMonthlyPerYear = new Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }).format(salesPlusMonthlyPerYear);\r\n ele.ProfitLoss = new Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }).format(ProfitLoss); \r\n });\r\n \r\n this.OriginalAllCampaigns = viewCampaigns;\r\n debugger;\r\n if ( this.type == \"Open\") {\r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.CampaignStatus == 'Open');\r\n } else if (this.type == \"Closed\") {\r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.CampaignStatus == 'Closed');\r\n } else {\r\n if (this.Source == 'AccountView') {\r\n this.allCampaigns = this.OriginalAllCampaigns;\r\n //if (type == \"Open Campaign\") {\r\n // this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.ContactsLinked != null && this.AccountcontactIds.includes(x.ContactsLinked) && x.CampaignStatus == 'Open');\r\n //}\r\n //else if (type == \"Closed Campaign\") {\r\n // this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.ContactsLinked != null && this.AccountcontactIds.includes(x.ContactsLinked) && x.CampaignStatus == 'Closed');\r\n //}\r\n //else {\r\n // this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.ContactsLinked != null && this.AccountcontactIds.includes(x.ContactsLinked));\r\n //}\r\n }\r\n else if (this.Source == 'ContactView') {\r\n if (type == \"Open Campaign\") {\r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.ContactsLinked == this.AccountcontactIds && x.CampaignStatus == 'Open');\r\n }\r\n else if (type == \"Closed Campaign\") {\r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.ContactsLinked == this.AccountcontactIds && x.CampaignStatus == 'Closed');\r\n }\r\n else {\r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.ContactsLinked == this.AccountcontactIds)\r\n }\r\n } else {\r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.CampaignStatus == 'Open');\r\n }\r\n }\r\n if (localStorage.getItem('CompaignselVal') != null && localStorage.getItem('CompaignselVal') != undefined) {\r\n this.CampaignId = Number(localStorage.getItem('CompaignselVal'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.CampaignID == selfObj.CampaignId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n\r\n }\r\n });\r\n }, 700));\r\n }\r\n });\r\n }\r\n LoadProposals(OppIDs) {\r\n this.opprtunityservice.GetAllProposalsByOppID(OppIDs).then((viewCampaigns) => {\r\n this.AllProposals = viewCampaigns;\r\n \r\n });\r\n }\r\n\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n config.maxlimit = 25;\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 32;\r\n\r\n config.userid = \"\";\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n initializeAgGridCampaigns() {\r\n debugger;\r\n this.gridOptionsSelectedContacts = {\r\n pagination: true, editable: true, enableColResize: true, paginationPageSize: 1000, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single', rowMultiSelectWithClick: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n\r\n };\r\n\r\n this.createColumnDefsCampaigns();\r\n if (this.campaign.ContactsLinked != null && this.campaign.ContactsLinked != \"\" && this.campaign.ContactsLinked != undefined) {\r\n this.getContactsbyId(this.campaign.ContactsLinked);\r\n } else {\r\n this.LinkedContacts = [];\r\n }\r\n \r\n \r\n this.gridOptionsSelectedContacts.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n linkdelete: LinkDeleteComponent\r\n };\r\n \r\n \r\n }\r\n\r\n createColumnDefsCampaigns() {\r\n this.columnDefsSelectedContacts = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 40,\r\n checkboxSelection: true,\r\n headerCheckboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n\r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false, },\r\n { field: 'titleName', headerName: 'Title', hide: false, },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false},\r\n { field: 'DOB', headerName: 'DOB', hide: false, },\r\n { field: 'accountname', headerName: 'Account', hide: false },\r\n {\r\n field: 'actions', headerName: 'Actions', cellRenderer: 'linkdelete', cellRendererParams: { Delete: true, Link: true }, width: 80, hide: false, pinned: 'right'\r\n }\r\n ];\r\n }\r\n onAgGridReady(params) {\r\n }\r\n LinkContacts() {\r\n if (this.campaign.ContactsLinked != null) {\r\n var newcontacts = [];\r\n this.contactids = this.campaign.ContactsLinked.split(',');\r\n newcontacts = $('#emailIds').val().split(',');\r\n newcontacts.forEach(ele => {\r\n this.contactids = this.contactids.filter(x => x !== ele);\r\n this.contactids.push(ele); \r\n });\r\n this.campaign.ContactsLinked = this.contactids.join(\",\");\r\n this.saveCampaignCosts(true);\r\n } else {\r\n this.campaign.ContactsLinked = $('#emailIds').val();\r\n this.saveCampaignCosts(true);\r\n }\r\n\r\n \r\n \r\n }\r\n\r\n getContactsbyId(ContactIds) {\r\n this.opprtunityservice.GetContactsByContactIds(ContactIds).then(res => {\r\n if (res) {\r\n this.LinkedContacts = res;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptionsSelectedContacts.api.forEachNode(node => node.rowIndex ? 0 : node.setSelected(true));\r\n\r\n }, 300)); \r\n }\r\n else {\r\n this.LinkedContacts = [];\r\n }\r\n });\r\n }\r\n\r\n saveCampaignCosts(LoadViewCampaign) {\r\n if (this.campaign.CampaignID == 0 || this.campaign.CampaignID == undefined) {\r\n this.campaign.createdby = this.currentuser.id;\r\n this.campaign.CampaignStatus = 'Open';\r\n }\r\n this.opprtunityservice.saveCampaign(this.campaign).then((viewCampaigns) => {\r\n if (viewCampaigns) {\r\n this.campaign = viewCampaigns;\r\n if (LoadViewCampaign == true) {\r\n this.LoadViewCampaignPage(this.campaign);\r\n }\r\n \r\n if (this.campaign.ContactsLinked == \"\" || this.campaign.ContactsLinked == null) {\r\n this.LinkedContacts = [];\r\n }\r\n \r\n }\r\n });\r\n }\r\n\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data && this.DeleteCampaignConfirmation != true) {\r\n if (this.Source != 'dashboard') {\r\n this.LoadViewCampaignPage(event.api.getSelectedNodes()[0].data);\r\n }\r\n }\r\n }\r\n }\r\n\r\n LoadViewCampaignPage(campaign) { \r\n this.campaign = campaign;\r\n if (this.applicationComponent.selectedbuttonText != 'My Campaigns') {\r\n this.applicationComponent.activateMainButtons('Campaigns');\r\n this.applicationComponent.selectedbuttonText = 'My Campaigns';\r\n localStorage.setItem('CompaignselVal', this.campaign.CampaignID.toString());\r\n }\r\n var obj: AuditLogModel = { id: 0, type: 'Campaigns', action: 'Campaign Viewed - ' + this.campaign.CampaignName, AccountOrContactId: 0, AccountOrContact: \"\", documentid: this.campaign.CampaignID, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Campaign Viewed - ' + this.campaign.CampaignName, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n \r\n this.GetCampaignTypes();\r\n if (this.campaign.LinkedOpportunities !== null && this.campaign.LinkedOpportunities !== '' && this.campaign.LinkedOpportunities !== undefined) {\r\n this.OpportunityIds = this.campaign.LinkedOpportunities;\r\n // this.CampaignId = this.campaign.CampaignID;\r\n \r\n this.LinkedOpportunityIds = this.campaign.LinkedOpportunities.split(\",\");\r\n this.GetOpportunitiesListByOppIds(this.campaign.LinkedOpportunities);\r\n\r\n } else {\r\n this.LinkedOpportunityIds = [];\r\n this.Allopportunities = [];\r\n this.Proposalopportunities = [];\r\n this.SalesWonopportunities = [];\r\n this.SalesLostopportunities = [];\r\n }\r\n \r\n let that = this;\r\n setTimeout(function () {\r\n \r\n that.ShowViewCampaign = true;\r\n that.ShowAddCampaign = false;\r\n that.ShowCampaignGrid = false;\r\n that.ShowAddCampaignButtons = false; \r\n that.initializeAgGridCampaigns(); \r\n }, 500);\r\n\r\n }\r\n\r\n\r\n GetOpportunitiesListByOppIds(oppids) {\r\n this.opprtunityservice.GetOpportunitiesListByOppIds(oppids).then((customer) => {\r\n if (customer) {\r\n customer.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n });\r\n this.Allopportunities = customer;\r\n this.Proposalopportunities = customer.filter(x => x.OpportunityFor == \"Proposal\");\r\n this.SalesWonopportunities = customer.filter(x => x.status == \"Closed-Won\");\r\n this.SalesLostopportunities = customer.filter(x => x.status == \"Closed-Lost\");\r\n }\r\n else {\r\n this.Allopportunities = [];\r\n this.Proposalopportunities = [];\r\n this.SalesWonopportunities = [];\r\n this.SalesLostopportunities = [];\r\n }\r\n\r\n });\r\n }\r\n\r\n onContactSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.conid = event.api.getSelectedNodes()[0].data.id;\r\n if (this.condashcmp != undefined) {\r\n this.condashcmp.GetContactInfo(event.api.getSelectedNodes()[0].data.id);\r\n }\r\n }\r\n }\r\n else {\r\n this.conid = 0;\r\n }\r\n }\r\n OpenDialog(val) {\r\n if (val == \"Expenses\") {\r\n this.GetCampaignExpenses();\r\n this.ShowExpensesDialog = true;\r\n this.DialogCss(val);\r\n this.AllExpenses = [];\r\n let that = this;\r\n $(setTimeout(function () {\r\n if (that.campaign.Expenses != null) {\r\n var expenses = [];\r\n that.TotalExpense = that.campaign.TotalExpense;\r\n expenses = that.campaign.Expenses.split(\",\");\r\n expenses.forEach(ele => {\r\n var expense = ele.split(\"~\");\r\n $('#ExpenseType' + expense[2]).val(expense[0]);\r\n $('#ExpenseCost' + expense[2]).val(parseFloat(expense[1].replace(/,/g, \"\")).toFixed(2).toString().replace(/\\B(?=(\\d{6})+(?!\\d))/g, \",\"));\r\n that.AllExpenses.push({ ExpenseType: expense[0], ExpenseCost: Number(parseFloat(expense[1].replace(/,/g, \"\")).toFixed(2).toString().replace(/\\B(?=(\\d{6})+(?!\\d))/g, \",\")), ExpenseIndex: Number(expense[2]) });\r\n });\r\n }\r\n }, 200));\r\n\r\n }\r\n else if (val == \"ROI\") {\r\n if (this.campaign.TotalExpense !== 0 && this.campaign.TotalExpense !== null && this.campaign.TotalExpense !== undefined) {\r\n this.ROI = new CampaignROI();\r\n if (this.SalesWonopportunities && this.SalesWonopportunities.length > 0) {\r\n\r\n this.SalesWonopportunities.forEach(ele => {\r\n this.ROI.SalesRevenue += Number(ele.dollers);\r\n this.ROI.MonthlyRevenue += Number(ele.RR);\r\n });\r\n this.ROI.MonthlyPerYear = this.ROI.MonthlyRevenue * 12;\r\n this.ROI.salesPlusMonthlyPerYear = this.ROI.SalesRevenue + (this.ROI.MonthlyRevenue * 12);\r\n this.ROI.Expenses = this.campaign.TotalExpense;\r\n this.ROI.ProfitLoss = this.ROI.salesPlusMonthlyPerYear - this.ROI.Expenses;\r\n } else {\r\n this.ROI.MonthlyPerYear = this.ROI.MonthlyRevenue * 12;\r\n this.ROI.salesPlusMonthlyPerYear = this.ROI.SalesRevenue + (this.ROI.MonthlyRevenue * 12);\r\n this.ROI.Expenses = this.campaign.TotalExpense;\r\n this.ROI.ProfitLoss = this.ROI.salesPlusMonthlyPerYear - this.ROI.Expenses;\r\n }\r\n this.ShowROIDialog = true;\r\n this.DialogCss(val);\r\n }\r\n else {\r\n alert(\"Please add Expenses\");\r\n }\r\n }\r\n else if (val == 'Opportunities') {\r\n this.OpportunitiesDialog = true;\r\n this.OpportunityViewType = \"All Opportunities\";\r\n this.OpportunityIds = this.campaign.LinkedOpportunities;\r\n }\r\n else if (val == \"Sales Won\") {\r\n if (this.SalesWonopportunities && this.SalesWonopportunities.length > 0) {\r\n this.OpportunityIds = this.SalesWonopportunities.map(x => x.id).join(\",\");\r\n }\r\n else {\r\n this.OpportunityIds = null;\r\n }\r\n this.OpportunitiesDialog = true;\r\n this.OpportunityViewType = val;\r\n }\r\n else if (val == \"Sales Lost\") {\r\n if (this.SalesLostopportunities && this.SalesLostopportunities.length) {\r\n this.OpportunityIds = this.SalesLostopportunities.map(x => x.id).join(\",\");\r\n } else {\r\n this.OpportunityIds = null;\r\n }\r\n this.OpportunitiesDialog = true;\r\n this.OpportunityViewType = val;\r\n }\r\n else if (val == \"Proposals\") {\r\n this.initializeProposalAgGrid();\r\n this.ProposalsDialog = true;\r\n }\r\n\r\n this.DialogCss(val);\r\n }\r\n DialogCss(val) {\r\n if (val == \"Expenses\") {\r\n $(setTimeout(function () {\r\n $('#ExpensesDialog .dialog').attr('style', 'width: 50%;padding: 0;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 50%;max-width: 1393px !important;margin-right:1%');\r\n }, 10));\r\n } else if (val == \"ROI\") {\r\n $(setTimeout(function () {\r\n $('#ROIDialog .dialog').attr('style', 'width: 50%;padding: 0;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 50%;max-width: 1393px !important;margin-right:1%');\r\n }, 10));\r\n } else if (val == \"LinkOpportunity\") {\r\n $(setTimeout(function () {\r\n $('#LinkOpportunitiesDialog .dialog').attr('style', 'width: 50%;padding: 0;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 50%;max-width: 1393px !important;margin-right:1%');\r\n }, 10));\r\n } else if (val == \"Proposals\") {\r\n $(setTimeout(function () {\r\n $('#ProposalsDialog .dialog').attr('style', 'width: 50%;padding: 0;border: 3px solid #00B0F0;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 50%;max-width: 1393px !important;margin-right:1%');\r\n }, 10));\r\n } else if (val == \"Opportunities\" || val == \"Sales Won\" || val == \"Sales Lost\") {\r\n $(setTimeout(function () {\r\n $('#OpportunitiesDialog .dialog').attr('style', 'width: 50%;padding: 0;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 50%;max-width: 1393px !important;margin-right:1%');\r\n }, 10));\r\n } else if (val == \"Instructions\") {\r\n $(setTimeout(function () {\r\n $('#CampaignsInstructions .dialog').attr('style', 'width: 45%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 50%;max-width: 1393px !important;margin-right:1%');\r\n }, 10));\r\n }\r\n }\r\n\r\n GetCampaignExpenses() {\r\n this.leadsService.GetCampaignExpenses(this.currentuser.id).then(result => {\r\n this.campaignExpenselist = result.filter(x => x.isdeleted != 1);\r\n });\r\n }\r\n leadingZeros(input) {\r\n var currency = $('#ExpenseCost'+ input).val();\r\n var result = parseFloat(currency.replace(/,/g, \"\"))\r\n .toFixed(2)\r\n .toString()\r\n .replace(/\\B(?=(\\d{6})+(?!\\d))/g, \",\");\r\n $('#ExpenseCost' + input).val(result);\r\n }\r\n \r\n CalculateExpense(index) {\r\n var expenseType = $('#ExpenseType' + index).val();\r\n var expenseCost = Number($('#ExpenseCost' + index).val());\r\n\r\n if (expenseType !== null) {\r\n this.AllExpenses = this.AllExpenses.filter(x => x.ExpenseIndex !== 0);\r\n\r\n if (this.AllExpenses.length > 0) {\r\n this.AllExpenses = this.AllExpenses.filter(x => x.ExpenseIndex !== index);\r\n if (this.AllExpenses.filter(x => x.ExpenseType === expenseType).length > 0) {\r\n alert(\"Expense already Added\");\r\n $('#ExpenseType' + index).val(0);\r\n $('#ExpenseCost' + index).val(\"\");\r\n } else {\r\n this.AllExpenses.push({ ExpenseType: expenseType, ExpenseCost: expenseCost, ExpenseIndex: index });\r\n }\r\n\r\n\r\n } else {\r\n this.AllExpenses = [{ ExpenseType: expenseType, ExpenseCost: expenseCost, ExpenseIndex: index }];\r\n }\r\n\r\n this.TotalExpense = this.AllExpenses.map(x => x.ExpenseCost).reduce((a, b) => a + b, 0);\r\n\r\n }\r\n\r\n else {\r\n $('#ExpenseCost' + index).val(\"\");\r\n alert(\"Please Select Expense Type\");\r\n } \r\n }\r\n\r\n saveExpenses() {\r\n var exp = [];\r\n this.AllExpenses.forEach(ele => {\r\n exp.push(ele.ExpenseType + \"~\" + ele.ExpenseCost + \"~\" + ele.ExpenseIndex);\r\n });\r\n\r\n this.campaign.Expenses = exp.join(\",\");\r\n this.campaign.TotalExpense = this.TotalExpense;\r\n this.saveCampaignCosts(true);\r\n this.ShowExpensesDialog = false;\r\n }\r\n DeleteExpense(index) {\r\n this.AllExpenses = this.AllExpenses.filter(x => x.ExpenseIndex !== index);\r\n this.TotalExpense = this.AllExpenses.map(x => x.ExpenseCost).reduce((a, b) => a + b, 0);\r\n $('#ExpenseType' + index).val(0);\r\n $('#ExpenseCost' + index).val(\"\");\r\n this.saveExpenses();\r\n this.DeleteExpenseConfirmation = false;\r\n }\r\n DeleteExpenseCss(val) {\r\n \r\n setTimeout(function () {\r\n $('#' + val + ' .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4)\r\n }\r\n\r\n deleteRowAg(rowdata) {\r\n this.DeleteContactConfirmation = true;\r\n this.selectedContectId = rowdata.id;\r\n this.DeleteExpenseCss('DeleteContactConfirmation');\r\n \r\n }\r\n ReceiveExpenseDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.DeleteExpense(this.selectedExpenseIndex);\r\n }\r\n else {\r\n this.DeleteExpenseConfirmation = false;\r\n }\r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.DeleteContact();\r\n } else {\r\n this.DeleteContactConfirmation = false;\r\n }\r\n }\r\n DeleteContact() {\r\n this.contactids = this.campaign.ContactsLinked.split(\",\");\r\n this.contactids = this.contactids.filter(x => x !== this.selectedContectId.toString());\r\n this.campaign.ContactsLinked = this.contactids.join(\",\");\r\n this.conid = 0; //to clear Contact selection\r\n this.saveCampaignCosts(true);\r\n let that = this;\r\n setTimeout(function () {\r\n that.conid = 0;\r\n that.DeleteContactConfirmation = false;\r\n }, 300);\r\n }\r\n\r\n linkRowAg(rowdata) {\r\n this.conid = rowdata.id;\r\n this.LinkOpportunitiesDialog = true;\r\n\r\n this.DialogCss('LinkOpportunity');\r\n \r\n }\r\n ReceiveOpportunity(opportunityid) {\r\n if (this.campaign.LinkedOpportunities != \"\" && this.campaign.LinkedOpportunities != null && this.campaign.LinkedOpportunities != undefined) {\r\n this.LinkedOpportunityIds = this.campaign.LinkedOpportunities.split(\",\");\r\n var ExistingOpportunity = this.LinkedOpportunityIds.filter(x => x == opportunityid);\r\n \r\n if (ExistingOpportunity.length > 0) {\r\n alert(\"Opportunity Already Linked\");\r\n }\r\n else {\r\n this.LinkedOpportunityIds.push(opportunityid);\r\n this.campaign.LinkedOpportunities = this.LinkedOpportunityIds.join(\",\");\r\n this.saveCampaignCosts(true);\r\n }\r\n } else {\r\n this.campaign.LinkedOpportunities = opportunityid;\r\n this.saveCampaignCosts(true);\r\n }\r\n\r\n this.LinkOpportunitiesDialog = false;\r\n }\r\n\r\n DeleteOpportunity(opportunityid) {\r\n if (this.campaign.LinkedOpportunities != \"\" && this.campaign.LinkedOpportunities != null && this.campaign.LinkedOpportunities != undefined) {\r\n this.LinkedOpportunityIds = this.campaign.LinkedOpportunities.split(\",\");\r\n var ExistingOpportunity = this.LinkedOpportunityIds.filter(x => x !== opportunityid);\r\n\r\n this.LinkedOpportunityIds = ExistingOpportunity;\r\n this.campaign.LinkedOpportunities = this.LinkedOpportunityIds.join(\",\");\r\n this.saveCampaignCosts(true);\r\n this.OpportunitiesDialog = false;\r\n } \r\n\r\n }\r\n\r\n\r\n\r\ninitializeProposalAgGrid() {\r\n this.ProposalGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 54).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.pageSize = config.maxlimit.toString();\r\n\r\n }\r\n\r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n\r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString();\r\n\r\n this.pageSize = (this.pageSize == \"\") ? '1000' : this.pageSize;\r\n\r\n this.createProposalColumnDefs();\r\n if (this.Proposalopportunities && this.Proposalopportunities.length > 0) {\r\n this.LoadProposals(this.Proposalopportunities.map(x => x.id).join(\",\"));\r\n } else {\r\n this.AllProposals=[]\r\n }\r\n \r\n });\r\n\r\n\r\n\r\n}\r\n\r\n createProposalColumnDefs() {\r\n\r\n var searcharray = [];\r\n if (this.applicationComponent.searchCriteriadata != null) {\r\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\r\n if (searchaarraystring.includes(' /')) {\r\n searcharray = searchaarraystring.split(' / ');\r\n } else {\r\n searcharray.push(searchaarraystring);\r\n }\r\n }\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n\r\n this.ProposalColumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 40,\r\n checkboxSelection: true,\r\n headerCheckboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n {\r\n field: 'CreatedDate', headerName: 'Date', hide: false, width: 110, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'AccountName', headerName: 'Account', hide: false, width: 200, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'ContactName', headerName: 'Contact', hide: false, width: 180, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'itemName', headerName: 'Proposal Type', hide: false, width: 170, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false, width: 170, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: false, width: 100, cellRenderer(params) {\r\n\r\n if (params.data.ProposalPDF != null && params.data.ProposalPDF != 0) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: false, width: 100, cellRenderer(params) {\r\n if (params.data.ProposalPOPDF != null && params.data.ProposalPOPDF != 0) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: false, width: 170, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: false, width: 170, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'TotalPrice', headerName: 'Total Price', hide: false, width: 100\r\n },\r\n {\r\n field: 'MonthlyTotalPrice', headerName: 'Monthly Total Price', hide: false, width: 100\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: false, width: 100, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n\r\n ];\r\n\r\n }\r\n\r\n PDFClick(val, type) {\r\n this.pdfview = true;\r\n this.userService.GetProposalsDocumentContent(val).then(result => {\r\n let SO = this\r\n $(setTimeout(function () {\r\n SO.onDocumentOpen(result.PdfContent);\r\n \r\n }, 100));\r\n });\r\n }\r\n\r\n\r\n\r\nonDocumentOpen(myBaseString) {\r\n $('#pdfDiv').html('')\r\n $('#pdfDiv').attr('style', 'width:100%;height: 100%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;margin-left:0%');\r\n }\r\n\r\n onProposalSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.PDFClick(event.api.getSelectedNodes()[0].data.ProposalPDF,\"\");\r\n \r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n showContactsdiv() {\r\n this.ContactsInitializeAgGrid(\"\");\r\n }\r\n ContactsInitializeAgGrid(typeval) {\r\n\r\n this.ContactGridOptions = {\r\n pagination: true, editable: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'multiple', rowMultiSelectWithClick: true\r\n };\r\n \r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n defaultToolPanel: 'none',\r\n };\r\n\r\n this.ContactsCreateColumnDefs(this.colSelections, this.applicationComponent.searchstring, false);\r\n this.GetContactList('null', $(\"#userids\").val(), this.active_deactiveStatus);\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n },\r\n ],\r\n position: 'right',\r\n defaultToolPanel: 'none',\r\n };\r\n this.context = this; \r\n }\r\n onContactMessageReceived(msg) {\r\n this.toggleVal = false;\r\n }\r\n ContactsCreateColumnDefs(columnSelections: string, searchstring, @Optional() isDeActive: boolean = false) {\r\n let selfObj = this;\r\n selfObj.ContactsColumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 40,\r\n checkboxSelection: true,\r\n headerCheckboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n { field: 'accnumber', headerName: 'Acct #', hide: true },\r\n { field: 'lastname', headerName: 'Last Name', hide: false, },\r\n { field: 'firstname', headerName: 'First Name', hide: false, },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false, },\r\n { field: 'titleName', headerName: 'Title', hide: false, },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false, },\r\n { field: 'DOB', headerName: 'DOB', hide: false, },\r\n { field: 'zip', headerName: 'ZIP', hide: false, },\r\n { field: 'accountname', headerName: 'Account', hide: false, },\r\n { field: 'suffixName', headerName: 'Suffix', hide: true },\r\n { field: 'sexName', headerName: 'Sex', hide: true, },\r\n { field: 'subspecialityName', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true, },\r\n { field: 'address2', headerName: 'Address2', hide: true, },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true, },\r\n { field: 'office', headerName: 'Office', hide: true, },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true, },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true, },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true, },\r\n { field: 'home', headerName: 'Home', hide: true, },\r\n { field: 'collegeName', headerName: 'College', hide: true, },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true, },\r\n { field: 'medschoolName', headerName: 'Medschool', hide: true, },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true, },\r\n { field: 'residencyName', headerName: 'Residency', hide: true, },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true, },\r\n { field: 'fellowshipName', headerName: 'Fellowship', hide: true, },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true, },\r\n { field: 'OWNER', headerName: 'User Name', hide: false, suppressSorting: true, },\r\n { field: 'created', headerName: 'Created123', hide: true, },\r\n { field: 'Status', headerName: 'Created', hide: true, },\r\n { field: 'contacttype', headerName: 'Created', hide: true, },\r\n { field: 'country', headerName: 'Created', hide: true, },\r\n { field: 'AlternateNo1', headerName: 'Created', hide: true, },\r\n ];\r\n }\r\n\r\n GetContactList(term, userid, active_deactiveStatus?: number) {\r\n this.opprtunityservice.GetAllContactsbySearchPaginationNew($(\"#userids\").val(), term, userid, this.subtype, active_deactiveStatus, '2018-01-01', this.endDateVal, '0,1').then((contact) => {\r\n\r\n contact.forEach(contact => {\r\n contact.created = this.datePipe.transform(contact.created, \"MM-dd-yyyy\");\r\n contact.speciality = ((contact.speciality == 'null') ? \"\" : contact.speciality);\r\n });\r\n this.allContacts = contact;\r\n });\r\n }\r\n ContactsUserlistDataReceived(outProps: OutputPropsUserList) {\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.Contactvales = outProps.secondDrpValue == undefined ? \"0\" : outProps.secondDrpValue;\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize));\r\n if (!outProps.pageSizeChanged) {\r\n this.GetContactList('null', $(\"#userids\").val(), this.active_deactiveStatus);\r\n }\r\n } else {\r\n this.allContacts = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n\r\n ContactsOnAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n ContactsrowClickAgGrid(rowEvent) {\r\n if (this.active_deactiveStatus != 1)\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val(' ');\r\n } else {\r\n if (rowEvent.data.permission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else {\r\n this.applicationComponent.isAccessDenied = false;\r\n }\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('Contact');\r\n\r\n }\r\n\r\n }\r\n ShowGrid() {\r\n this.ShowLeftSideDiv = true;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptionsSelectedContacts.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.conid) {\r\n selfObj.gridOptionsSelectedContacts.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n }\r\n\r\n ToggleClick() {\r\n if (this.toggleVal) {\r\n this.toggleVal = false;\r\n } else {\r\n this.toggleVal = true;\r\n }\r\n }\r\n}\r\n","
      \r\n
      \r\n
      \r\n
      \r\n {{box3header}}\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n {{chat.username}}\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      1\" class=\"col-xs-12\" style=\"padding:0%\">\r\n CHAT SESSION NAME\r\n \r\n
      \r\n
      \r\n
      \r\n
      0\" style=\"padding:0%;float:right;\">\r\n \r\n
      \r\n
      0 \" style=\"padding:0%;float:right;\">\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n CHAT SESSIONS \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n {{message.groupName}}\r\n {{selectedchatusers}}\r\n
      \r\n
      \r\n
      \r\n \r\n {{fuserchat.groupName}} 0\" style=\"color: rgb(0,176,240)\">**\r\n \r\n
      \r\n
      \r\n \r\n {{chat.groupName}} 0\" style=\"color: rgb(0,176,240)\">**\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n CHAT MESSAGES\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{ getMessageDate(i) }}\r\n
      \r\n
      \r\n
      \r\n {{msg.sentuserfirstName.charAt(0).toUpperCase()}} {{msg.sentuserlastName}}\r\n
      \r\n
      \r\n
      \r\n \r\n {{msg.createdate | date: 'h:mm a'}}\r\n \r\n

      \r\n {{msg.message}}\r\n

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      S
      \r\n E
      \r\n N
      \r\n D
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n","import { Component, OnInit, NgZone, EventEmitter, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { HubConnection } from '@aspnet/signalr';\r\nimport * as signalR from '@aspnet/signalr';\r\nimport { ReceiveMessage } from '../../models/ReceiveMessage';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SignalrClientService } from '../../services/signalr-client.service';\r\nimport { ChatService } from '../../services/chat.service';\r\nimport { Message } from '../../models/message';\r\nimport { UserService } from '../../services/user.service';\r\nimport { Auditlog } from '../../models/auditlog';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { ChatMessage } from '../../models/chatMessage';\r\nimport { AppSettings } from '../../app.settings';\r\nimport { MessagingService } from '../../services/messaging.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { GroupChat } from '../../models/GroupChat';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'chat',\r\n templateUrl: './chat.component.html',\r\n styleUrls: ['./chat.component.css']\r\n \r\n})\r\nexport class ChatComponent implements OnInit {\r\n message = new Message();\r\n chatContainer: ReceiveMessage[] = [];\r\n loggedinUserlist: Array = [];\r\n globalloggedinUserlist: Array = [];\r\n FirstloggedinUserlist: Array = [];\r\n editloggedinUserlist: Array = [];\r\n grpchat: GroupChat = new GroupChat();\r\n subscription: Subscription;\r\n msgloggedinUserlist: Array = []; msgMsg = \"\";\r\n txtMessage: string = ''; public selectedusername: any = [];\r\n uniqueID: string = new Date().getTime().toString();\r\n messages = new Array();\r\n previousmessages = new Array();\r\n joined: boolean = false; selectedItems = [];\r\n public AddGroup = false; public groupName = ''; public userName = ''; public chatId = 0;public deletechatids = '';\r\n public Enableedit = false; public showlabel: false;\r\n public messageToSend = ''; public selecteduserids: any = [];\r\n public term = ''; fromchatusrId: number = 0;\r\n public box3header: string = \"\";\r\n public selectedchatusers = \" \"; public chatuserids = '';\r\n isopenchatMsg: boolean = false;\r\n isshowReply: boolean = true;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n toUser = \"\"; touserId: string = \"\"; grpuserids: string = \"\"; selecteduserName: string = \"\"; currentuser: any; messageDateString: string = \"\";\r\n public groupId = 0\r\n private hubConnection: HubConnection; dropdownList = []; dropdownSetting = {};\r\n private _pipelinerChatHubProxy: SignalR.Hub.Proxy; private _pipelinerChatHubConnection: SignalR.Hub.Connection;\r\n public box3: boolean = false; public box2: boolean = false; public box1: boolean = false;\r\n constructor(private toastr: ToastrService,private messagingservice: MessagingService, private settings: AppSettings, private chatService: SignalrClientService, private userservice: UserService, private _ngZone: NgZone, public dialog: MatDialog, public appComponent: ApplicationComponent,\r\n private customerService: CustomerService) {\r\n this.subscription = new Subscription();\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n GroupAdd() {\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n this.AddGroup = true;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 0, 0).then((Owner) => {\r\n this.dropdownList = Owner;\r\n });\r\n }\r\n Close(val) {\r\n if (val == \"box3\") {\r\n this.box3 = false;\r\n this.appComponent.Standard3dotUitwo('#ChatDialog .dialog'); \r\n }\r\n else {\r\n this.sendMsgEvent.emit(\"Close\" + \"|\" + this.box1 + \"|\" + this.box2 + \"|\" + this.box3);\r\n }\r\n }\r\n CloseMsg() {\r\n this.isopenchatMsg = false;\r\n this.sendMsgEvent.emit(\"Chatmsg\" + \"|\" + this.box1 + \"|\" + this.box2 + \"|\" + this.box3);\r\n }\r\n OpenChatbox(touserId, chatids, grpId, chatuserName, grpuserids) {\r\n this.isshowReply = true;\r\n this.isopenchatMsg = true; \r\n this.selecteduserName = chatuserName;\r\n this.touserId = touserId;\r\n this.grpuserids = grpuserids;\r\n this.message.groupId = grpId;\r\n this.box1 = true;\r\n if (grpId > 0) { this.message.groupName = chatuserName; this.groupName = chatuserName; this.groupId = grpId; }\r\n this.deletechatids = chatids;\r\n this.chatId = chatids;\r\n \r\n this.sendorReceivemessageUserList(this.currentuser.id, chatids, this.touserId, grpId,\"\"); \r\n }\r\n \r\n cancel() { }\r\n sendorReceivemessageUserList(userId, chatids, touserId, grpId, source) {\r\n this.loggedinUserlist = [];\r\n this.customerService.GetmessageReceiveList(userId).then((userlist) => { \r\n userlist.forEach(user => {\r\n user.groupuserids = user.touserid;\r\n user.touserid = user.groupName != null && user.groupName != \"\" ? user.groupId.toString() : user.userid.toString();\r\n user.groupName = user.groupName != null && user.groupName != \"\" ? user.groupName : user.username;\r\n });\r\n if (source == \"Group\") {\r\n userlist = userlist.sort((a, b) => (a.groupId > b.groupId ? -1 : 1));\r\n }\r\n if (chatids != \"\" && chatids != \"0\") {\r\n this.loggedinUserlist = userlist; \r\n } else {\r\n this.globalloggedinUserlist = userlist;\r\n this.loggedinUserlist = this.globalloggedinUserlist;\r\n if (this.loggedinUserlist.length > 0) {\r\n if (source == \"Group\") {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n $('#' + selfobj.loggedinUserlist[0].groupId + \"_chatbutton\").click();\r\n }, 30));\r\n }\r\n }\r\n }\r\n if (touserId > 0) {\r\n this.GetChatMessages(this.currentuser.id, chatids, grpId, \"\");\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.box2 = true; this.box1 = true;\r\n this.sendorReceivemessageUserList(this.currentuser.id,\"\",0,0,\"\");\r\n }\r\n EditChats() {\r\n this.box3 = true;\r\n this.selecteduserids = [];\r\n this.box3header = \"EDIT CHAT SESSION\";\r\n this.editloggedinUserlist = []; \r\n this.userservice.GetAllUsers(0).then((userlist) => {\r\n this.editloggedinUserlist = userlist.filter(x => x.id != this.currentuser.id);\r\n this.editloggedinUserlist = this.editloggedinUserlist.filter(x => x.id != this.currentuser.id);\r\n this.editloggedinUserlist.forEach(user => {\r\n if (this.message.groupId) {\r\n user.userselected = this.grpuserids.split(',').includes(user.id.toString());\r\n if (user.userselected) {\r\n this.selecteduserids.push(user.id);\r\n }\r\n } else {\r\n user.userselected = this.touserId.split(',').includes(user.id.toString()); \r\n } \r\n });\r\n });\r\n this.sendMsgEvent.emit(\"EditUser\" + \"|\" + this.box1 + \"|\" + this.box2 + \"|\" + this.box3);\r\n }\r\n sendMessage(): void {\r\n \r\n var message = new ChatMessage(); \r\n message.clientuniqueid =\"2\";\r\n message.type = \"sent\";\r\n message.message = this.txtMessage;\r\n message.datetime = new Date().getTime().toString();\r\n message.createdate = new Date().getDate.toString();\r\n message.sentuserfirstName = this.currentuser.firstname;\r\n message.sentuserlastName = this.currentuser.lastname;\r\n this.previousmessages.push(message);\r\n this.message.clientuniqueid = \"2\";\r\n this.message.message = this.txtMessage;\r\n this.message.UserName = this.selectedchatusers;\r\n this.message.fromuserid = this.currentuser.id;\r\n this.message.touserid = this.message.groupId == 0 ? this.touserId : this.grpuserids;\r\n this.message.createdBy = this.currentuser.id;\r\n this.message.grpusers = this.grpuserids;\r\n if (this.message.groupName != \"\" && this.message.groupName != undefined) {\r\n this.chatService.sendGroupMessage(this.message);\r\n this.sendMsgEvent.emit(\"ClearGroup\" + \"|\" + this.box1 + \"|\" + this.box2 + \"|\" + this.box3);\r\n \r\n if (this.message.groupId == 0) {\r\n let SO = this;\r\n $(setTimeout(function () {\r\n if (SO.message.groupId == 0) {\r\n SO.showlabel = false;\r\n SO.sendorReceivemessageUserList(SO.currentuser.id, \"\", SO.touserId, 0, \"Group\");\r\n\r\n }\r\n else {\r\n SO.customerService.GetAllChatMessages(SO.currentuser.id, SO.message.groupId, SO.chatId, SO.message.groupId).then((chatlist) => {\r\n SO.previousmessages = chatlist;\r\n });\r\n }\r\n }, 50));\r\n }\r\n }\r\n else {\r\n this.chatService.sendMessage(this.message); \r\n this.sendMsgEvent.emit(\"MessageSend\" + \"|\" + this.box1 + \"|\" + this.box2 + \"|\" + this.box3);\r\n this.showlabel = false;\r\n if (this.chatId == 0) {\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.sendorReceivemessageUserList(SO.currentuser.id, \"\", SO.touserId, 0,\"\");\r\n $(setTimeout(function () {\r\n $('#' + SO.touserId + \"_chatbutton\").click();\r\n }, 50));\r\n }, 100));\r\n }\r\n }\r\n this.txtMessage = '';\r\n //}\r\n }\r\n \r\n public join() {\r\n this.chatService.join(this.groupName);\r\n this.joined = true;\r\n }\r\n OpenContacts() {\r\n this.box3 = true;\r\n this.isshowReply = false;\r\n $(\".sublabel\").removeClass(\"activeuserlbl\");\r\n this.previousmessages = [];\r\n this.box3header = \"ADD CHAT SESSION\";\r\n this.groupName = null; this.groupId = 0;\r\n this.editloggedinUserlist = [];\r\n this.sendMsgEvent.emit(\"OpenUser\" + \"|\" + this.box1 + \"|\" + this.box2 + \"|\" + this.box3); \r\n this.userservice.GetAllUsers(0).then((userlist) => {\r\n this.editloggedinUserlist = userlist;\r\n this.editloggedinUserlist = this.editloggedinUserlist.filter(x => x.id != this.currentuser.id);\r\n });\r\n }\r\n leave() {\r\n this.chatService.leave(this.groupName);\r\n this.joined = false;\r\n }\r\n onItemSelect(item: any) { }\r\n OnItemDeSelect(item: any) { }\r\n onSelectAll(items: any) { }\r\n onDeSelectAll(items: any) { }\r\n loadSelecteduser(grpname, grpid, usernames, userids, showlabel) {\r\n this.showlabel = showlabel;\r\n this.message.groupName = grpname;\r\n this.message.groupId = grpid;\r\n this.touserId = userids;\r\n this.grpuserids = userids;\r\n this.selectedchatusers = usernames; this.chatId = 0;\r\n this.sendMessage();\r\n }\r\n GetChatMessages(userId, chatids, grpId, source) {\r\n this.previousmessages = [];\r\n if (this.touserId != \"\") {\r\n this.customerService.GetAllChatMessages(this.currentuser.id, this.touserId, chatids, grpId).then((chatlist) => {\r\n this.previousmessages = chatlist;\r\n this.sendMsgEvent.emit(\"ReadAllMsgs\" +\"|\"+this.box1+\"|\"+this.box2+\"|\"+this.box3);\r\n if (this.touserId != undefined && !this.touserId.includes(\",\")) {\r\n $(\".sublabel\").removeClass(\"activeuserlbl\");\r\n $('#' + this.touserId + \"_chatbutton\").addClass(\"activeuserlbl\");\r\n if (source == \"init\") {\r\n $('#' + this.touserId + \"_chatbutton\").click();\r\n }\r\n }\r\n \r\n });\r\n \r\n }\r\n }\r\n Updategroup() {\r\n\r\n this.grpchat.groupId = this.groupId;\r\n this.grpchat.groupName = this.groupName;\r\n this.grpchat.createdBy = this.currentuser.id;\r\n this.grpchat.grpusers = this.selecteduserids.reduce((unique, item) => (unique.includes(item) ? unique : [...unique, item]), []).join(',');\r\n this.customerService.updategroup(this.grpchat).then((user) => {\r\n this.toastr.success(\"Group Updated.\", \"Group\");\r\n this.StartChat();\r\n });\r\n }\r\n StartChat() {\r\n this.isshowReply = true;\r\n if (this.selecteduserids.length > 1) {\r\n this.loadSelecteduser(this.groupName, this.groupId, this.selectedusername.join(','), this.selecteduserids.join(','), true);\r\n this.selectedusername = []; this.selecteduserids = [];\r\n }\r\n else {\r\n this.customerService.isDuplicateChatsession(this.currentuser.id, this.selecteduserids.join(',')).then((chatuser) => {\r\n if (chatuser) { \r\n this.appComponent.salesxcrmDialog('#showduplicatechatsessionDiaog .dialog');\r\n this.appComponent.loaddialog('DplicateChat', 'Create New Chat Session', 'A chat session for the selected aleady exists.', false, false, false, true, 0);\r\n this.isshowReply = false;\r\n \r\n }\r\n else {\r\n this.loadSelecteduser(this.groupName, this.groupId, this.selectedusername.join(','), this.selecteduserids.join(','), true);\r\n this.selectedusername = []; this.selecteduserids = [];\r\n }\r\n })\r\n }\r\n\r\n }\r\n isDifferentDay(messageIndex: number): boolean {\r\n if (messageIndex === 0) \r\n return true;\r\n const d1 = new Date(this.previousmessages[messageIndex - 1].createdate);\r\n const d2 = new Date(this.previousmessages[messageIndex].createdate);\r\n return (\r\n d1.getFullYear() !== d2.getFullYear() ||\r\n d1.getMonth() !== d2.getMonth() ||\r\n d1.getDate() !== d2.getDate()\r\n );\r\n }\r\n editOpenChatbox(touser, touserId, values) {\r\n if (values != null) {\r\n if (values.currentTarget.checked) {\r\n $('#' + touserId + \"_button\").addClass(\"activeSublabel\");\r\n this.selectedusername.push(touser);\r\n this.selecteduserids.push(touserId);\r\n } else {\r\n $('#' + touserId + \"_button\").removeClass(\"activeSublabel\");\r\n this.selecteduserids = this.selecteduserids;\r\n const index = this.selecteduserids.indexOf(touserId);\r\n if (index !== -1) {\r\n this.selecteduserids.splice(index, 1); \r\n }\r\n }\r\n } else {\r\n $('#' + touserId + \"_button\").addClass(\"activeSublabel\");\r\n const index = this.selecteduserids.indexOf(touserId);\r\n if (index == -1) {\r\n this.selectedusername.push(touser);\r\n this.selecteduserids.push(touserId);\r\n }\r\n }\r\n }\r\n EditChat(userids, grpName, grpId) {\r\n this.selecteduserids = []; this.selectedusername = []; var useridsarray = [];\r\n useridsarray = userids.split(',');\r\n useridsarray = useridsarray.reduce((unique, item) => (unique.includes(item) ? unique : [...unique, item]), []);\r\n //if (!this.ChatUserDialog) {\r\n \r\n // this.loadChatdialog();\r\n this.userservice.GetAllUsers(0).then((userlist) => {\r\n this.loggedinUserlist = userlist;\r\n this.loggedinUserlist = this.loggedinUserlist.filter(x => x.id != this.currentuser.id);\r\n this.loggedinUserlist.forEach(user => {\r\n user.userselected = useridsarray.includes(user.id.toString());\r\n });\r\n });\r\n // }\r\n //else {\r\n // let selfobj = this;\r\n // setTimeout(function () {\r\n // selfobj.loggedinUserlist.forEach(user => {\r\n // $('#' + user.id + \"_button\").removeClass(\"activeSublabel\");\r\n // });\r\n // }, 100);\r\n\r\n //}\r\n this.groupName = grpName;\r\n this.groupId = grpId;\r\n this.selecteduserids = userids.split(',');\r\n setTimeout(function () {\r\n useridsarray.forEach(id => {\r\n $('#' + id + \"_button\").addClass(\"activeSublabel\");\r\n });\r\n }, 300);\r\n\r\n }\r\n DeleteChat() {\r\n if (this.deletechatids != '') {\r\n this.appComponent.loaddialog('DELETECHAT', 'DELETE LIVE CHAT SESSION', (this.fromchatusrId == this.currentuser.id) ? 'Select OK to delete this chat session and chat history.' : 'Select OK to delete this chat session,You are not the owner of this chat session and deleting this chat session will only delete the chat session name from your chat session box.', false, false, true, true, this.deletechatids);\r\n } else {\r\n alert(\"Please Select Chat Session\");\r\n }\r\n \r\n }\r\n getMessageDate(messageIndex: number): string {\r\n //let dateToday = new Date().toLocaleDateString();\r\n let longDateYesterday = new Date();\r\n longDateYesterday.setDate(new Date().getDate() - 1);\r\n // let dateYesterday = longDateYesterday.toLocaleDateString();\r\n //let today = dateToday.slice(0, dateToday.length - 5);\r\n //let yesterday = dateYesterday.slice(0, dateToday.length - 5);\r\n\r\n const wholeDate = new Date(\r\n this.previousmessages[messageIndex].createdate\r\n ).toLocaleDateString();\r\n this.messageDateString = (wholeDate == 'Invalid Date') ? \"\" : wholeDate;\r\n //this.messageDateString = wholeDate.slice(0, wholeDate.length - 5);\r\n\r\n if (new Date(this.previousmessages[messageIndex].createdate).getFullYear() === new Date().getFullYear()) {\r\n //if (this.messageDateString === today) {\r\n // return \"Today\";\r\n //} else if (this.messageDateString === yesterday) {\r\n // return \"Yesterday\";\r\n //} else {\r\n return this.messageDateString;\r\n //}\r\n } else {\r\n return this.messageDateString;\r\n }\r\n }\r\n}\r\n","\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n SELECT OR CREATE A NEW USER\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n\r\n \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.titleName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.firstname}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.middleName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.lastname}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.suffixName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.UserStatus}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.RoleName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.systemadministrator == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.TaskGroupName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.Quotaid == 445 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.dealApproval}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{documentAccessName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{mySalesXAccessName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.timezone}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.releaseNoteAddEdit == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.customertypeaccess == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.customerAccount == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.customerStatus == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.TaskGroupName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.ZendeskPermissionName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.email}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n ********\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.isSendGrid == true ? 'Send Grid' : ''}} {{user.isSMTP == true ? 'SMTP' : ''}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n {{selecteduser.itemName}} {{selecteduser.category}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n {{selecteduser.itemName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n {{selecteduser.itemName}} {{selecteduser.category}}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n USER OPTIONS \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n User: {{emailAlertUsername}} {{emailAlertUsername2}}\r\n USER REGISTRATION\r\n
      \r\n\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n\r\n
      \r\n \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      ADMIN ACCESS
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      User Quota
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      Sales Quota
      \r\n
      \r\n\r\n
      \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n :\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      CUSTOMER EDITING
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      CUSTOMER VIEW
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      User Dashboards
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      DOCUMENTS & GROUPS
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      0\" class=\"col-xs-8\" style=\"padding:0 0.5% 0 0;\">\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      0\" class=\"col-xs-8\" style=\"padding:0 0.5% 0 0;\">\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      Email Á texting
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n Send Grid
      \r\n
      \r\n
      \r\n SMTP
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      PRIVILLAGES
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
      \r\n\r\n :\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      User: {{emailAlertUsername}} {{emailAlertUsername2}}
      \r\n
      User Access
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      0\" class=\"col-xs-8\" style=\"padding:0 0.5% 0 0;\">\r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      0\" class=\"col-xs-8\" style=\"padding:0 0.5% 0 0;\">\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      :
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n User Privileges
      \r\n User DashBoard
      \r\n User Quota
      \r\n User ALerts
      \r\n User Registration
      \r\n\r\n Save Changes to User Privileges?
      \r\n Save Changes to User DashBoard?
      \r\n Save Changes to User Quota?
      \r\n Save Changes to User ALerts?
      \r\n Save Changes to User Registration?
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n System Admin
      \r\n
      \r\n Must be System Admin to edit.
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
        \r\n\r\n
      • Minimum of 8 characters
      • \r\n
      • Maximum of 20 characters
      • \r\n
      • No Spaces will be allowed
      • \r\n
      • At least 1 Number
      • \r\n
      • At least 1 Upper Case Character
      • \r\n
      • At least 1 Lower Case Character
      • \r\n
      • At least 1 special character ( !   #   $   %   ^   &   *)
      • \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      There are ({{Roleassociatedusers.length}}) Users with the Role <{{selectedRole}}> in the System :
      \r\n\r\n
      \r\n
      \r\n <{{usr.itemName}}>
      \r\n
      \r\n
      \r\n
      \r\n
      Please re-assign each user another role under the \"Users\" Tab.
      :
      \r\n
      Once re-assigned,you will be able to delete the User Role <{{selectedRole}}> :
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n

      \r\n You are adding a NewTask Group to to-do Items
      \r\n This New Task Group will be Automatically Added to
      \r\n and :\r\n
      \r\n\r\n
      \r\n

      \r\n You are changing the Spelling of Task Group
      \r\n This spelling change will be Automatically Updated
      \r\n to and :\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n

      \r\n
      \r\n You have requested the TaskGroup Name to be Deactivated. The system has identified Users that are currently associated with that Task Group Name.

      \r\n please SELECT another Task Group Name from the list below and the system will automatically update the Task Group for these users\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n

      \r\n DELETE USER
      \r\n
      \r\n Select user to Transfer Accounts/Contacts, Open Leads, Open Proposals, Open Opportunities, Open Tasks and Open Tickets to.\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      User List
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n","import { Component, OnInit, ViewContainerRef, ViewEncapsulation, ElementRef, Renderer2, ViewChild, Optional, Input } from '@angular/core';\r\n/*import { UserService } from '../../services/user.service';*/\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Users } from '../../models/users';\r\nimport { Systemconfiguration } from '../../models/systemconfiguration';\r\nimport { Dropdowntype, Dropdown, ResourcePrivileges, SaveResourcePrivileges } from '../../models/dropdowntype';\r\nimport { Tasklistconfiguration } from '../../models/tasklistconfiguration';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Taskgroup } from \"../../models/taskgroup\";\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { ParentComp, UserlistComponent } from \"../userlist/userlist.component\";\r\nimport { UserQuotaComponent } from \"../user-quota/user-quota.component\";\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { DocumentmanagementComponent } from '../documentmanagement/documentmanagement.component';\r\nimport { DropdownCOnfigurationComponent } from '../dropdown-configuration/dropdown-configuration.component';\r\nimport { AutomatedEmailsComponent } from '../automated-emails/automated-emails.component';\r\nimport { RoleComponent } from '../role/role.component';\r\nimport { Privilages } from 'src/app/models/privilages';\r\nimport { Dashboardconfig } from 'src/app/models/Dashboardconfig';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { MyDashDefGridConfig } from '../../models/MyDashDefGridConfig';\r\nimport { userModel } from '../../models/userModel';\r\ndeclare var $: any;\r\n//import 'ag-grid-enterprise';\r\n@Component({\r\n selector: 'app-configurationdashboard',\r\n templateUrl: './configurationdashboard.component.html',\r\n styleUrls: ['./configurationdashboard.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ConfigurationdashboardComponent implements OnInit {\r\n @Input()\r\n selectedvalue: number;\r\n SingleSecondDrpSetting = {};\r\n public sideBar;\r\n emailAlertUsername: any;\r\n emailAlertUsername2: any;\r\n nUId: number;\r\n useraccess: any;\r\n currentuser: any;\r\n userregt = screen.height * 0.50778;\r\n userListHgt = screen.height * 0.54;\r\n HeadHgt1 = screen.height * 0.0355555556;\r\n HeadHgt = screen.height * 0.04;\r\n taskgroupId: number = 0;\r\n userid: any;\r\n TaskWarningDialog: boolean = false;\r\n privilageslist: Privilages[] = [];\r\n privilages: Privilages = new Privilages();\r\n tasklistconfiguration: Tasklistconfiguration = new Tasklistconfiguration();\r\n taskgroup: Taskgroup = new Taskgroup();\r\n public DashboardgridOptions: GridOptions;\r\n tasktype: string;\r\n test: any;\r\n res: Users;\r\n itemCount = 0;\r\n itemResource: any;\r\n params: any;\r\n items = [];\r\n userform: FormGroup;\r\n user: Users = new Users();\r\n userModel: userModel = new userModel();\r\n dash: Dashboardconfig = new Dashboardconfig();\r\n mydash: MyDashDefGridConfig = new MyDashDefGridConfig();\r\n systemconfiguration: Systemconfiguration = new Systemconfiguration();\r\n rolesList: Dropdowntype[] = [];\r\n dealapprovallist: Dropdowntype[] = [];\r\n taskgrouplist: Dropdowntype[] = [];\r\n mainresourceList: Dropdowntype[] = [];\r\n subresourceList: Dropdowntype[] = [];\r\n resourcePrivilegesList: ResourcePrivileges[];\r\n DashBoardConfigList: Dashboardconfig[];\r\n emptyResourcePrivilegesList: ResourcePrivileges[];\r\n customertypeList: Dropdowntype[] = [];\r\n dropdownList = [];\r\n selectedItems = [];\r\n TaskGroupselectedItems = [];\r\n selectedItemsAccess = [];\r\n TasksGroups = [];\r\n selectedTasksGroups = [];\r\n finalitems = \"\";\r\n dropdownSettings = {};\r\n SingleDrpSetting = {};\r\n TaskGroupdropdownSettings = {};\r\n AccountGroupdropdownSettings = {};\r\n tktTaskAccessSettings = {};\r\n isDocumentManagementRoute: boolean = false;\r\n isRoleTied: boolean = false;\r\n showDeleteDialog: boolean = false;\r\n ischangesforuser: boolean = false;\r\n ShowTaskGrpDialog: boolean = false;\r\n istodoDeactivate: boolean = false;\r\n taskname: string = \"\";\r\n selectedtab = \"\";\r\n documentAccessName = \"\";\r\n mySalesXAccessName = \"\";\r\n showResetBtn = true;\r\n showCancelBtn = false;\r\n showPassword = false;\r\n public elementRef;\r\n toTasktypelist = [];\r\n phonecallTasktypelist = [];\r\n meetingTasktypelist = [];\r\n newmeetingid = 0;\r\n newtodoid = 0;\r\n newphonecallid = 0;\r\n tododropdowns: Dropdowntype[] = [];\r\n meetingdropdowns: Dropdowntype[] = [];\r\n phonecalldropdowns: Dropdowntype[] = [];\r\n totaskids = [];\r\n meetingtaskids = [];\r\n phonecalltaskids = [];\r\n toDoNew: boolean = true;\r\n phonecallNew: boolean = true;\r\n meetingNew: boolean = true;\r\n meetingbuttons: boolean = true;\r\n toDobuttons: boolean = true;\r\n phoneCallbuttons: boolean = true;\r\n LeadType: boolean = false;\r\n proposalType: string = '';\r\n thisComp: ParentComp = ParentComp.ConfigurationDashBoard;\r\n isViewInitialized: boolean = false;\r\n isPgClickRegistered: boolean = false;\r\n todoNewTextSave: boolean = true;\r\n todoNewButtonSave: boolean = true;\r\n phoneNewTextSave: boolean = true;\r\n phoneButtonSave: boolean = true;\r\n meetingNewTextSave: boolean = true;\r\n meetingButtonSave: boolean = true;\r\n todoAddnewItem: boolean = false;\r\n phoneAddnewItem: boolean = false;\r\n meetingAddnewItem: boolean = false;\r\n QuotaList: Dropdowntype[] = [];\r\n ZendeskPermissionList: Dropdowntype[] = [];\r\n Roleassociatedusers: Dropdowntype[] = [];\r\n permissionlevellist: Dropdowntype[] = [];\r\n userpermissionlevellist: Dropdowntype[] = [];\r\n userstatuslist: Dropdowntype[] = [];\r\n usertitlelist: Dropdowntype[] = [];\r\n usersuffixlist: Dropdowntype[] = [];\r\n timezonelist: Dropdowntype[] = [];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n viewSuspendedUsers: boolean = false;\r\n selectedMenuRadio: string = \"tab11\";\r\n selectedPrvMenuRadio: string = \"prvtab1\";\r\n selectedQuotaMenuRadio: string = \"Quotatab1\";\r\n selectedUserType = \"Users\";\r\n selectedDocType: string;\r\n currentYear = new Date().getFullYear();\r\n public context;\r\n @ViewChild(UserlistComponent) userListComp;\r\n @ViewChild(DocumentmanagementComponent) docMgmtComp;\r\n @ViewChild(UserQuotaComponent) userquotaComp;\r\n @ViewChild(RoleComponent) roleComp;\r\n \r\n allusers: any;\r\n public gridOptionsusers: GridOptions;\r\n public MaingridOptions: GridOptions;\r\n public SubgridOptions: GridOptions;\r\n public columnDefsusers: any[];\r\n public MaincolumnDefs: any[];\r\n public SubcolumnDefs: any[];\r\n //selectedColumnIds = [];\r\n configurationtypeList: Dropdowntype[] = [];\r\n public gridApi;\r\n public gridColumnApi;\r\n public userListgridApi;\r\n public rowData: any[];\r\n public rowSelection;\r\n public autoGroupColumnDef;\r\n public columnDefs;\r\n private columnTypes;\r\n public gridOptionsView: GridOptions;\r\n public DashboardcolumnDefs: any[];\r\n DashBoardTypesList: any[];\r\n finaldashboardconfiglist: Dashboardconfig[] = [];\r\n @ViewChild(DropdownCOnfigurationComponent) Dropdownconfig;\r\n @ViewChild(AutomatedEmailsComponent) AutomatedEmails;\r\n DocumenttypeList: Dropdowntype[] = [];\r\n AccountGroupList: Dropdowntype[] = [];\r\n isDisplayCommissionEstimator: boolean = false;\r\n edittaskgroup: boolean = false;\r\n fromtaskgroupid: number = 0;\r\n selectedRole: string = \" \";\r\n userView: boolean = false;\r\n useraccountChange: boolean = false;\r\n UserAccountchangeDialogs: boolean = false;\r\n showAddUserDiv: boolean = false;\r\n showUserPrivilegesDiv: boolean = false;\r\n showUserDashBoardDiv: boolean = false;\r\n showUserQuotaDiv: boolean = false;\r\n showAlertsDiv: boolean = false;\r\n //Newly Added becoz while Upgrading\r\n isMeetingDeactivate: boolean = false;\r\n isphoneDeactivate: boolean = false;\r\n hide: boolean = false;\r\n AdminAccess: boolean = false;\r\n usersDropdownList: Dropdowntype[] = [];\r\n userDrpModel = [];\r\n selectedQuotaType = \"\";\r\n DeleteUserAlert: boolean = false;\r\n passwordMissmatch: boolean = false;\r\n DeleteUserId: number;\r\n ReplaceUserId: number = 0;\r\n urlImage = '';\r\n myDashDefGridBoxlist: any;\r\n SecondDrpModel = [];\r\n secondDropdownList: Dropdowntype[] = [];\r\n constructor(public applicationComponent: ApplicationComponent, private http: HttpClient, private userservice: UserService, private opprtunityservice: OpprtunitiesService, private toastr: ToastrService, private customerService: CustomerService, private viewContainerRef: ViewContainerRef, private router: Router, myElement: ElementRef, private leadservice: LeadsService, private route: ActivatedRoute) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.user.userrole = null;\r\n this.elementRef = myElement;\r\n }\r\n initializeAgGrid() {\r\n this.gridOptionsView = {\r\n //pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true//, rowSelection: 'single'\r\n };\r\n this.createColumnDefs(\"\");\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: \"Main Resource Id\",\r\n field: \"MainResourceId\",\r\n hide: true,\r\n aggFunc: 'first',\r\n\r\n },\r\n {\r\n headerName: \"Resource\",\r\n field: \"MainResourceName\",\r\n hide: true,\r\n rowGroup: true,\r\n aggFunc: 'first'\r\n },\r\n \r\n {\r\n headerName: \"Sub Resource Id\",\r\n field: \"SubResourceId\",\r\n hide: true,\r\n aggFunc: 'first'\r\n },\r\n {\r\n headerName: \"Resource Type\",\r\n field: \"ResourceType\",\r\n hide: false,\r\n },\r\n {\r\n headerName: \"Features\",\r\n field: \"SubResourceName\",\r\n hide: false,\r\n aggFunc: 'first'\r\n },\r\n {\r\n headerName: \"Is Main\",\r\n field: \"IsMain\",\r\n hide: true,\r\n aggFunc: 'first'\r\n },\r\n {\r\n headerName: \"Is Checked\",\r\n field: \"IsChecked\",\r\n hide: true,\r\n aggFunc: 'first'\r\n },\r\n {\r\n headerName: \"User Privilege Id\",\r\n field: \"UserPrivilegeId\",\r\n hide: true,\r\n aggFunc: 'first'\r\n },\r\n {\r\n headerName: \"Access\", width: 90, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n \r\n eDiv.innerHTML = \"\";\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function (event) {\r\n \r\n //selfObj.Change(params);\r\n if (params.data != undefined)\r\n params.data.CanView = !params.data.CanView;\r\n else if (params.node.allLeafChildren != undefined && params.node.allLeafChildren[0].data != undefined)\r\n params.node.allLeafChildren[0].data.CanView = !params.node.allLeafChildren[0].data.CanView;\r\n selfObj.useraccountChange = true;\r\n $('#SaveUserPrivilages').css(\"background\", \"#93d250\");\r\n $('#SaveUserPrivilages').prop('disabled', false);\r\n });\r\n return eDiv;\r\n },\r\n aggFunc: 'first'\r\n },\r\n {\r\n headerName: \"Add\", width: 90, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n \r\n eDiv.innerHTML = \"\";\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n \r\n //selfObj.Change(params);\r\n if (params.data != undefined)\r\n params.data.CanAdd = !params.data.CanAdd;\r\n else if (params.node.allLeafChildren != undefined && params.node.allLeafChildren[0].data != undefined)\r\n params.node.allLeafChildren[0].data.CanAdd = !params.node.allLeafChildren[0].data.CanAdd;\r\n selfObj.useraccountChange = true;\r\n $('#SaveUserPrivilages').css(\"background\", \"#93d250\");\r\n $('#SaveUserPrivilages').prop('disabled', false);\r\n });\r\n return eDiv;\r\n },\r\n aggFunc: 'first'\r\n },\r\n {\r\n headerName: \"Edit\", width: 90, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n\r\n eDiv.innerHTML = \"\";\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n \r\n //selfObj.Change(params);\r\n if (params.data != undefined)\r\n params.data.CanEdit = !params.data.CanEdit;\r\n else if (params.node.allLeafChildren != undefined && params.node.allLeafChildren[0].data != undefined)\r\n params.node.allLeafChildren[0].data.CanEdit = !params.node.allLeafChildren[0].data.CanEdit;\r\n selfObj.useraccountChange = true;\r\n $('#SaveUserPrivilages').css(\"background\", \"#93d250\");\r\n $('#SaveUserPrivilages').prop('disabled', false);\r\n });\r\n return eDiv;\r\n },\r\n aggFunc: 'first'\r\n },\r\n {\r\n headerName: \"Delete\", width: 90, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n\r\n eDiv.innerHTML = \"\";\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n \r\n //selfObj.Change(params);\r\n if (params.data != undefined)\r\n params.data.CanDelete = !params.data.CanDelete;\r\n else if (params.node.allLeafChildren != undefined && params.node.allLeafChildren[0].data != undefined)\r\n params.node.allLeafChildren[0].data.CanDelete = !params.node.allLeafChildren[0].data.CanDelete;\r\n $('#SaveUserPrivilages').css(\"background\", \"#93d250\");\r\n $('#SaveUserPrivilages').prop('disabled', false);\r\n });\r\n return eDiv;\r\n },\r\n aggFunc: 'first'\r\n },\r\n ];\r\n\r\n $(setTimeout(function () {\r\n selfObj.autoGroupColumnDef = {\r\n filterValueGetter: function (params) {\r\n var colGettingGrouped = params.colDef.showRowGroup;\r\n var valueForOtherCol = params.api.getValue(colGettingGrouped, params.node);\r\n return valueForOtherCol;\r\n },\r\n headerName: \"Resource\",\r\n width: 200,\r\n \r\n\r\n cellRenderer(params) {\r\n \r\n if (params.node.allChildrenCount != null) {\r\n //Uparraow(paramsparams.node.aggData.MainResourceId)\r\n var eDiv = document.createElement('div');\r\n //var checkboxId = params.node.aggData.MainResourceId;\r\n if (params.node.aggData.IsChecked) {\r\n eDiv.innerHTML = \" \" + params.value + \" (\" + params.node.allChildrenCount + \")\";\r\n } else {\r\n eDiv.innerHTML = \" \" + params.value + \" (\" + params.node.allChildrenCount + \")\";\r\n }\r\n\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n //(selfObj.selectedColumnIds).push(params.node.aggData.MainResourceId);\r\n params.node.aggData.IsChecked = !params.node.aggData.IsChecked;\r\n \r\n //let test = params;\r\n selfObj.CheckUnCheckAll(params);\r\n //Call Checkbox Func\r\n });\r\n eDiv.getElementsByTagName(\"label\")[0].addEventListener('click', function () {\r\n \r\n let test = params;\r\n params.node.expanded = true;\r\n selfObj.gridApi.onGroupExpandedOrCollapsed(params.node.aggData.MainResourceId);\r\n });\r\n return eDiv;\r\n }\r\n\r\n else {\r\n \r\n //let test = params;\r\n if (params.data.IsMain == 1 || params.node.parent.IsMain == 1) {\r\n var eDiv = document.createElement('div');\r\n //var checkboxId = params.data.MainResourceId;\r\n //if (params.data.MainResourceName == params.data.SubResourceName) {\r\n if (params.node.parent.aggData.IsChecked) {\r\n \r\n eDiv.innerHTML = \" \" + params.data.MainResourceName + \" (\" + params.node.parent.allChildrenCount + \")\";\r\n } else {\r\n eDiv.innerHTML = \" \" + params.data.MainResourceName + \" (\" + params.node.parent.allChildrenCount + \")\";\r\n }\r\n //}\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n //var checkboxId = params.data.MainResourceId;\r\n //var index = (selfObj.selectedColumnIds).indexOf(checkboxId);\r\n //(selfObj.selectedColumnIds).splice(index, 1);\r\n //let test = params;\r\n \r\n params.node.parent.aggData.IsChecked = !params.node.parent.aggData.IsChecked;\r\n selfObj.CheckUnCheckAll(params);\r\n //Call Checkbox Func\r\n });\r\n eDiv.getElementsByTagName(\"label\")[0].addEventListener('click', function () {\r\n \r\n let test = params;\r\n //params.node.expanded = false;\r\n params.node.parent.expanded = false;\r\n selfObj.gridApi.onGroupExpandedOrCollapsed(params.data.MainResourceId);\r\n });\r\n return eDiv;\r\n }\r\n //else if (params.data.IsMain == 0) {\r\n\r\n // var eDiv = document.createElement('div');\r\n // //eDiv.innerHTML = \" \" + params.data.MainResourceName ;\r\n\r\n // return eDiv;\r\n //}\r\n }\r\n }\r\n };\r\n //selfObj.gridOptions\r\n }, 500));\r\n }\r\n\r\n getmyDashDefGridBoxlist() {\r\n this.myDashDefGridBoxlist = [];\r\n \r\n this.userservice.GetAllmyDashDefGridBoxlist().then((result) => {\r\n this.myDashDefGridBoxlist = result;\r\n this.secondDropdownList = [];\r\n this.myDashDefGridBoxlist.forEach(ele => {\r\n this.secondDropdownList.push({ \"id\": ele.id, \"itemName\": ele.name, \"category\": ele.name, \"isdeleted\": ele.isdeleted, \"taskgroupid\": 0 });\r\n });\r\n });\r\n }\r\n getSelectedtmyDashDefGridBox() {\r\n this.userservice.GetSelectedUsermyDashDefGridBox(this.user.id).then((result) => {\r\n this.SecondDrpModel = this.secondDropdownList.filter(x => x.id == result.selectedMyDashDefaultGridId); \r\n });\r\n }\r\n\r\n Save() {\r\n this.mydash.userid = this.user.id;\r\n this.userservice.savemyDashDefGridBox(this.mydash).then(result => {\r\n this.toastr.success(\"My Dashboard Configuration saved successfully.\", \"Dashboard Configuration\", { timeOut: 600 });\r\n });\r\n }\r\n \r\n viewSuspended(val) {\r\n this.userservice.GetAllUsers(val).then((user) => {\r\n this.allusers = user;\r\n });\r\n }\r\n\r\n CheckUnCheckAll(params) {\r\n var ids = params.value;\r\n \r\n\r\n let mainResourceId: any = 0;\r\n let isChecked: boolean = false;\r\n if (params.node.aggData != null) {\r\n mainResourceId = params.node.aggData.MainResourceId;\r\n isChecked = params.node.aggData.IsChecked;\r\n }\r\n else if (params.node.parent != null && params.node.parent.aggData != null) {\r\n mainResourceId = params.node.parent.aggData.MainResourceId;\r\n isChecked = params.node.parent.aggData.IsChecked;\r\n }\r\n\r\n let selfObj = this;\r\n this.useraccountChange = true;\r\n\r\n if (isChecked) {\r\n selfObj.resourcePrivilegesList.filter(x => x.MainResourceId == mainResourceId).forEach(res => {\r\n res.CanView = true;\r\n res.CanAdd = true;\r\n res.CanEdit = true;\r\n res.CanDelete = true;\r\n res.IsChecked = isChecked;\r\n });\r\n selfObj.gridApi.onGroupExpandedOrCollapsed(mainResourceId);\r\n } else {\r\n selfObj.resourcePrivilegesList.filter(x => x.MainResourceId == mainResourceId).forEach(res => {\r\n res.CanView = false;\r\n res.CanAdd = false;\r\n res.CanEdit = false;\r\n res.CanDelete = false;\r\n res.IsChecked = isChecked;\r\n });\r\n selfObj.gridApi.onGroupExpandedOrCollapsed(mainResourceId);\r\n }\r\n $('#SaveUserPrivilages').css(\"background\", \"#93d250\");\r\n $('#SaveUserPrivilages').prop('disabled', false);\r\n }\r\n\r\n cellClicked(event) {\r\n \r\n let selfObj = this;\r\n if (event.node.data != undefined || event.node.data != null) {\r\n \r\n //this.message = this.createMessagingObjectFromEventData(event.node.data);\r\n event.node.data.CanView = true;\r\n event.node.data.CanAdd = true;\r\n event.node.data.CanEdit = true;\r\n event.node.data.CanDelete = true;\r\n //selfObj.createColumnDefs(\"\");\r\n } else {\r\n \r\n $(setTimeout(function () {\r\n \r\n //selfObj.message = selfObj.createMessagingObjectFromEventData(event.node.allLeafChildren[0].data);\r\n event.node.allLeafChildren[0].data.CanView = true;\r\n event.node.allLeafChildren[0].data.CanAdd = true;\r\n event.node.allLeafChildren[0].data.CanEdit = true;\r\n event.node.allLeafChildren[0].data.CanDelete = true;\r\n //selfObj.createColumnDefs(\"\");\r\n }, 200));\r\n event.node.setSelected(true);\r\n }\r\n }\r\n\r\n rowSelected(event) {\r\n \r\n let selfObj = this;\r\n if (event.node.data != undefined || event.node.data != null) {\r\n if (event.node.selected) {\r\n $(setTimeout(function () {\r\n \r\n //selfObj.message = selfObj.createMessagingObjectFromEventData(event.node.data);\r\n event.node.data.CanView = true;\r\n event.node.data.CanAdd = true;\r\n event.node.data.CanEdit = true;\r\n event.node.data.CanDelete = true;\r\n //selfObj.createColumnDefs(\"\");\r\n }, 200));\r\n } else {\r\n \r\n //this.message.id = 0;\r\n //this.message = new Messaging(); \r\n event.node.data.CanView = false;\r\n event.node.data.CanAdd = false;\r\n event.node.data.CanEdit = false;\r\n event.node.data.CanDelete = false;\r\n //selfObj.createColumnDefs(\"\");\r\n }\r\n } else {\r\n \r\n if (event.node.selected) {\r\n $(setTimeout(function () {\r\n event.node.allLeafChildren[0].data.CanView = true;\r\n event.node.allLeafChildren[0].data.CanAdd = true;\r\n event.node.allLeafChildren[0].data.CanEdit = true;\r\n event.node.allLeafChildren[0].data.CanDelete = true;\r\n }, 200));\r\n } else {\r\n \r\n event.node.allLeafChildren[0].data.CanView = false;\r\n event.node.allLeafChildren[0].data.CanAdd = false;\r\n event.node.allLeafChildren[0].data.CanEdit = false;\r\n event.node.allLeafChildren[0].data.CanDelete = false;\r\n\r\n }\r\n }\r\n }\r\n\r\n rowGroupOpened(event) {\r\n if (event.node.selected == true)\r\n event.node.allLeafChildren[0].setSelected(true);\r\n else {\r\n if (event.node.allLeafChildren[0].selected == true) {\r\n event.node.allLeafChildren[0].setSelected(false);\r\n event.node.setSelected(true);\r\n }\r\n }\r\n }\r\n\r\n loadResourcePrivilegeList(userId: number, groupName: string) {\r\n this.userservice.GetResourcePrivilegesList(this.user.id, groupName).then((resourcePrivileges) => {\r\n this.resourcePrivilegesList = resourcePrivileges;\r\n if (userId == 0)\r\n this.emptyResourcePrivilegesList = resourcePrivileges;\r\n });\r\n }\r\n\r\n loadDashBoardconfigByuser(userId: number) {\r\n this.userservice.GetDashBoardConfigByuser(this.user.id).then((config) => {\r\n if (config.length == 0) {\r\n this.customerService.GetSpecialityList(\"DashBoardTypes\", this.currentuser.id).then((CustomerType) => {\r\n this.DashBoardTypesList = CustomerType;\r\n CustomerType.forEach(config => {\r\n $(\"#\" + config.id + \"Yes\").prop('checked', false);\r\n $(\"#\" + config.id + \"No\").prop('checked', false);\r\n });\r\n });\r\n } else {\r\n config.forEach(config => {\r\n $(\"#\" + config.dashboardtypeid + \"Yes\").prop('checked', config.isaccess == 1 ? true : false);\r\n $(\"#\" + config.dashboardtypeid + \"No\").prop('checked', config.isaccess == 1 ? false : true);\r\n });\r\n\r\n this.DashBoardConfigList = config;\r\n }\r\n\r\n });\r\n\r\n //if (this.DashBoardConfigList == null) {\r\n // $(setTimeout(function () {\r\n // $(\"#475Yes\").prop('checked', true);\r\n // $(\"#476Yes\").prop('checked', true);\r\n // $(\"#477Yes\").prop('checked', true);\r\n // $(\"#478No\").prop('checked', true);\r\n // $(\"#479No\").prop('checked', true);\r\n // }, 100));\r\n //}\r\n }\r\n Change(chkId) {\r\n if (chkId.indexOf(\"Yes\") >= 0) {\r\n let rplcId = chkId.replace(\"Yes\", \"No\");\r\n $(\"#\" + rplcId).prop('checked', false);\r\n }\r\n else if (chkId.indexOf(\"No\") >= 0) {\r\n let rplcId = chkId.replace(\"No\", \"Yes\");\r\n $(\"#\" + rplcId).prop('checked', false);\r\n }\r\n this.applicationComponent.SelectedTab = 'tab13';\r\n this.useraccountChange = true;\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n }\r\n showhide() {\r\n\r\n //$('#password').toggleClass(\"fa-eye fa-eye-slash\");\r\n var input = $('#password');\r\n if (input.attr(\"type\") == \"password\") {\r\n //$('#passwordEye').attr(\"class\", \"fa fa-fw fa-eye-slash field-icon toggle-password\");\r\n $(\"#passwordEye\").removeClass(\"fa fa-fw fa-eye field-icon toggle-password\");\r\n $(\"#passwordEye\").addClass(\"fa fa-fw fa-eye-slash field-icon toggle-password\");\r\n\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n //$('#passwordEye').attr(\"class\", \"fa fa-fw fa-eye field-icon toggle-password--*/\");\r\n\r\n $(\"#passwordEye\").removeClass(\"fa fa-fw fa-eye-slash field-icon toggle-password\");\r\n $(\"#passwordEye\").addClass(\"fa fa-fw fa-eye field-icon toggle-password\");\r\n\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n onAgGridReady(event) {\r\n\r\n \r\n this.gridApi = event.api;\r\n this.gridColumnApi = event.columnApi;\r\n\r\n this.userservice.GetAllMainResourceList('Sub', 1).then((roles) => {\r\n this.subresourceList = roles;\r\n });\r\n\r\n //this.loadResourcePrivilegeList(0,null);\r\n this.loadResourcePrivilegeList(this.user.id, null);\r\n }\r\n autoSizeAll() {\r\n }\r\n\r\n initializeAgGridusers() {\r\n this.gridOptionsusers = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000,enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 42).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefsusers(columnSelections);\r\n });\r\n this.gridOptionsusers.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptionsusers.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n config.maxlimit = 10;\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 42;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config).then(result => {\r\n this.useraccountChange = false;\r\n });\r\n\r\n }\r\n createColumnDefsusers(columnSelections: string) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefsusers = [];\r\n \r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefsusers.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"userrole\") {\r\n this.columnDefsusers.push({\r\n field: 'userrole', headerName: 'User Role', hide: false,\r\n editable: true, cellEditor: \"agSelectCellEditor\", cellEditorParams: function (params) {\r\n return {\r\n values: Array.prototype.map.call(selfObj.rolesList, s => s.itemName),\r\n formatValue: function (value) {\r\n }\r\n };\r\n }\r\n })\r\n }\r\n else {\r\n this.columnDefsusers.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefsusers = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n {\r\n field: 'userrole', headerName: 'User Role', hide: false,\r\n editable: true, cellEditor: \"agSelectCellEditor\", cellEditorParams: function (params) {\r\n return {\r\n values: Array.prototype.map.call(selfObj.rolesList, s => s.itemName),\r\n formatValue: function (value) {\r\n }\r\n };\r\n }\r\n },\r\n { field: 'email', headerName: 'Email', hide: false },\r\n { field: 'username', headerName: 'UserName', hide: false },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 90, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.DeleteUserAlert = true;\r\n selfObj.DeleteUserId = params.data.id;\r\n selfObj.DeleteUserAlertCss();\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n }\r\n\r\n DeleteUsers() {\r\n if (this.ReplaceUserId != null && this.ReplaceUserId != 0) {\r\n this.userservice.DeleteUser(this.DeleteUserId, this.ReplaceUserId).then((user) => {\r\n this.DeleteUserAlert = false\r\n this.userservice.GetAllUsers(0).then((user) => {\r\n this.allusers = user;\r\n this.DeleteUserId = 0;\r\n this.ReplaceUserId = 0;\r\n this.toastr.success(\"User Deleted successfully.\", \"User Deleted\", { timeOut: 600 });\r\n });\r\n });\r\n } else {\r\n alert(\"Please select User\");\r\n }\r\n \r\n }\r\n DeleteUserAlertCss() {\r\n $(setTimeout(function () {\r\n $('#DeleteUserAlert .dialog').attr('style', 'width: 40%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 40%;top:10%');\r\n }, 4));\r\n }\r\n onAgGridReadyusers(event) {\r\n this.userListgridApi = event.api;\r\n }\r\n \r\n onSelectionChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n this.showAddUserDiv = true;\r\n this.user.id = rowEvent.api.getSelectedNodes()[0].data.id;\r\n this.emailAlertUsername = rowEvent.api.getSelectedNodes()[0].data.firstname;\r\n this.emailAlertUsername2 = rowEvent.api.getSelectedNodes()[0].data.lastname;\r\n this.userservice.GetUserByuserId(this.user.id).then(result => {\r\n this.user = result;\r\n \r\n this.urlImage = this.user.ProfilePicture;\r\n \r\n if (this.user.EmailSetUp == \"SendGrid\") {\r\n this.user.isSendGrid = true;\r\n this.user.isSMTP = false;\r\n } else {\r\n this.user.isSendGrid = false;\r\n this.user.isSMTP = true;\r\n }\r\n \r\n });\r\n if (this.selectedMenuRadio == \"tab11\") {\r\n //this.loadResourcePrivilegeList(this.user.id);\r\n //this.initializeAgGrid(); \r\n this.showResetBtn = true;\r\n this.showCancelBtn = false;\r\n this.showPassword = false;\r\n }\r\n else if (this.selectedMenuRadio == \"tab12\") {\r\n this.loadResourcePrivilegeList(this.user.id, null);\r\n this.initializeAgGrid();\r\n this.userservice.GetUserByuserId(this.user.id).then(result => {\r\n this.loadroleacess(this.currentuser.userrole).then(res => {\r\n });\r\n this.user = result; \r\n this.urlImage = this.user.ProfilePicture;\r\n this.selectedPrvMenuRadio = 'prvtab1';\r\n this.PrivilageTabChanged('Display All');\r\n });\r\n this.showResetBtn = true;\r\n this.showCancelBtn = false;\r\n this.showPassword = false;\r\n }\r\n else if (this.selectedMenuRadio == \"tab13\") {\r\n \r\n this.loadDashBoardconfigByuser(this.user.id);\r\n }\r\n else if (this.selectedMenuRadio == \"tab15\") {\r\n \r\n this.AutomatedEmails.loadUserAlertEmails(rowEvent.api.getSelectedNodes()[0].data.id);\r\n \r\n }\r\n\r\n //$(\"#SaveData\").css(\"background\",\"#90d24e\")\r\n }\r\n else {\r\n this.user.id = 0;\r\n this.showAddUserDiv = false;\r\n if (this.userquotaComp != undefined || this.userquotaComp != null)\r\n this.userquotaComp.showdetail();\r\n this.resetUserForm();\r\n \r\n }\r\n \r\n }\r\n\r\n selectallMain(val) {\r\n\r\n if ($('#' + val + '_chkbox').is(\":checked\")) {\r\n $('input:checkbox[id^=' + val + '_' + ']').prop('checked', true);\r\n } else {\r\n $('input:checkbox[id^=' + val + '_' + ']').prop('checked', false);\r\n }\r\n }\r\n loadTaskGrouplist(status) {\r\n \r\n if ($(\"#isTodoSelected\").is(':checked') || $(\"#isPhoneSelected\").is(':checked') || $(\"#isMeetingSelected\").is(':checked')) {\r\n this.userservice.GetAllTaskgrouplist(\"TaskList\", 1).then((taskgroups) => {\r\n this.taskgrouplist = taskgroups;\r\n this.TasksGroups = taskgroups;\r\n this.taskgrouplist.sort((a, b) => a.itemName.localeCompare(b.itemName));\r\n });\r\n } else {\r\n this.userservice.GetAllTaskgrouplist(\"TaskList\", 0).then((taskgroups) => {\r\n this.taskgrouplist = taskgroups;\r\n this.TasksGroups = taskgroups;\r\n this.taskgrouplist.sort((a, b) => a.itemName.localeCompare(b.itemName));\r\n });\r\n }\r\n \r\n this.toTasktypelist = [];\r\n this.phonecallTasktypelist = [];\r\n this.meetingTasktypelist = [];\r\n }\r\n\r\n initializeAgGridSubConfiguration() {\r\n this.SubgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.SubcreateColumnDefsusers(\"\");\r\n this.SubgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n SubcreateColumnDefsusers(columnSelections: string) {\r\n\r\n this.SubcolumnDefs = [\r\n { field: 'itemName', headerName: 'ACCESS TO', hide: false },\r\n { headerName: \"View/Access\", width: 120, checkboxSelection: true, hide: false, outerWidth: 8 },\r\n { headerName: \"Add\", width: 120, checkboxSelection: true, hide: false, outerWidth: 8 },\r\n { headerName: \"Edit\", width: 120, checkboxSelection: true, hide: false, outerWidth: 8 },\r\n { headerName: \"Delete\", width: 120, checkboxSelection: true, hide: false, outerWidth: 8 }\r\n\r\n ];\r\n }\r\n\r\n\r\n initializeAgGridMainConfiguration() {\r\n this.MaingridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n this.MaincreateColumnDefsusers(\"\");\r\n this.MaingridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n MaincreateColumnDefsusers(columnSelections: string) {\r\n let selfObj = this;\r\n this.MaincolumnDefs = [\r\n {\r\n field: 'itemName', headerName: 'ACCESS TO', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.MaingridOptions.rowSelection = \"multiple\";\r\n selfObj.initializeAgGridSubConfiguration();\r\n selfObj.userservice.GetAllMainResourceList('Sub', params.data.id).then((roles) => {\r\n selfObj.subresourceList = roles;\r\n });\r\n });\r\n return eDiv;\r\n }\r\n },\r\n {\r\n headerName: \"View/Access\",\r\n width: 120, checkboxSelection: true, hide: false,\r\n outerWidth: 8,\r\n }\r\n ];\r\n }\r\n MainonAgGridReadyusers(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.MainautoSizeAllusers();\r\n $(setTimeout(function () {\r\n selfObj.MainautoSizeAllusers();\r\n }, 1000));\r\n }, 1000));\r\n }\r\n MainautoSizeAllusers() {\r\n\r\n }\r\n\r\n loadstatusdropdowns() {\r\n this.customerService.GetSpecialityList(\"UserConfigStatus\", this.currentuser.id).then((Rows) => {\r\n this.usersDropdownList = Rows;\r\n this.userDrpModel = [{ \"id\": this.usersDropdownList[0].id, \"itemName\": this.usersDropdownList[0].itemName, \"category\": this.usersDropdownList[0].category }];\r\n });\r\n }\r\n ngOnInit() {\r\n \r\n this.applicationComponent.SearchSelectedItems = [];\r\n this.route.params.subscribe(params => {\r\n this.isDocumentManagementRoute = params['documentmanagement'];\r\n this.selectedvalue = params['subMenuId'];\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n \r\n selfObj.appendLabel(selfObj.selectedvalue);\r\n }, 100));\r\n //this.activateSubButtons(params['subMenuId']);\r\n });\r\n $(\".subButtons\").hide();\r\n $(\".checkMark\").removeClass(\"activeColor\");\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#systemConfig_span\").addClass(\"activeColor\");\r\n $(\"#systemConfig\").addClass(\"mainactiveButton\");\r\n\r\n\r\n this.user = new Users();\r\n this.user.userrole = null;\r\n this.user.Zendseskpermissionid = null;\r\n this.user.TaskGroupid = null;\r\n this.loadTaskGrouplist(0);\r\n \r\n this.user.ticketTaskGroupAccessID = [\r\n { \"id\": 1, \"itemName\": 'Sales', \"category\": 'none'}\r\n ];\r\n \r\n \r\n this.userservice.GetAllRolesList(this.currentuser.id).then((roles) => {\r\n \r\n this.rolesList = roles;\r\n });\r\n \r\n this.customerService.GetSpecialityList(\"Quota\", this.currentuser.id).then((CustomerType) => {\r\n CustomerType.forEach(CustomerType => {\r\n });\r\n this.QuotaList = CustomerType;\r\n });\r\n this.customerService.GetSpecialityList(\"Zendesk\", this.currentuser.id).then((CustomerType) => {\r\n CustomerType.forEach(CustomerType => {\r\n });\r\n this.ZendeskPermissionList = CustomerType;\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"PermissionLevel\", this.currentuser.id).then((PermissionLevel) => {\r\n PermissionLevel.forEach(PermissionLevel => {\r\n });\r\n this.permissionlevellist = PermissionLevel;\r\n });\r\n this.customerService.GetSpecialityList(\"UserPermissionLevel\", this.currentuser.id).then((UserPermissionLevel) => {\r\n UserPermissionLevel.forEach(UserPermissionLevel => {\r\n });\r\n this.userpermissionlevellist = UserPermissionLevel;\r\n });\r\n this.customerService.GetSpecialityList(\"UserStatus\", this.currentuser.id).then((userstatus) => {\r\n userstatus.forEach(userstatus => {\r\n });\r\n this.userstatuslist = userstatus;\r\n });\r\n this.customerService.GetSpecialityList(\"UserTitle\", this.currentuser.id).then((userstatus) => {\r\n userstatus.forEach(userstatus => {\r\n });\r\n this.usertitlelist = userstatus;\r\n });\r\n this.customerService.GetSpecialityList(\"Suffix\", this.currentuser.id).then((userstatus) => {\r\n userstatus.forEach(userstatus => {\r\n });\r\n this.usersuffixlist = userstatus;\r\n });\r\n this.customerService.GetSpecialityList(\"TimeZone\", this.currentuser.id).then((timezone) => {\r\n timezone.forEach(timezone => {\r\n });\r\n this.timezonelist = timezone;\r\n });\r\n \r\n this.customerService.GetSpecialityList(\"DealApproval\", this.currentuser.id).then((dealapprovallist) => {\r\n dealapprovallist.forEach(dealapprovallist => {\r\n });\r\n this.dealapprovallist = dealapprovallist;\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"DocumnentType\", this.currentuser.id).then((Documenttype) => {\r\n Documenttype.forEach(Documenttype => {\r\n });\r\n this.DocumenttypeList = Documenttype;\r\n });\r\n\r\n //this.customerService.GetSpecialityList(\"AccountGroup\", this.currentuser.id).then((AccGropu) => {\r\n // this.AccountGroupList = AccGropu;\r\n //});\r\n\r\n this.customerService.GetAllAccountSharingGroups(this.currentuser.id).then((ShareGroups) => {\r\n var Groups = [];\r\n ShareGroups.forEach(ele => {\r\n Groups.push({ \"id\": ele.SharingGroupId, \"itemName\": ele.SharingGroupName, \"category\": 'SharingGroups' })\r\n });\r\n this.AccountGroupList = Groups;\r\n });\r\n\r\n this.SingleDrpSetting = {\r\n singleSelection: true,\r\n text:'Users'\r\n\r\n };\r\n\r\n this.loadstatusdropdowns();\r\n\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n \r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n this.TaskGroupdropdownSettings = {\r\n singleSelection: false,\r\n text: \"Select TaskGroup\",\r\n selectAllText: 'Select All',\r\n\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n\r\n this.TaskGroupdropdownSettings = {\r\n singleSelection: false,\r\n text: \"Select Account Group\",\r\n selectAllText: 'Select All',\r\n\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n this.initializeAgGridusers();\r\n \r\n this.initializeAgGrid();\r\n this.IntializeDashboardGrid();\r\n\r\n this.selectedtab = 'Registration';\r\n localStorage.setItem('UserConfigSubTab', this.selectedtab);\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'User Configuration', action: 'User ConfigViewed', AccountOrContactId: 0, AccountOrContact: \"\", documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'User Config Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n this.viewSuspended(0);\r\n //this.userservice.GetAllUsers(0).then((user) => {\r\n // this.allusers = user;\r\n //});\r\n\r\n \r\n\r\n this.userform = new FormGroup({\r\n 'firstname': new FormControl(this.user.firstname, Validators.required),\r\n 'lastname': new FormControl(this.user.lastname, Validators.required),\r\n 'userrole': new FormControl(this.user.userrole, Validators.required),\r\n 'cellphone': new FormControl(this.user.cellphone, Validators.required),\r\n 'email': new FormControl(this.user.email, Validators.email),\r\n 'password': new FormControl(this.user.password, [Validators.required, Validators.pattern('^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{8,})')]),\r\n 'Zendseskpermissionid': new FormControl(this.user.Zendseskpermissionid, Validators.nullValidator),\r\n 'timezoneid': new FormControl(this.user.timezoneid, Validators.nullValidator),\r\n 'todotaskgroup': new FormControl(this.user.SelectedTaskGroupids, Validators.nullValidator),\r\n 'userstatusid': new FormControl(this.user.userstatusid, Validators.required),\r\n 'systemadministrator': new FormControl(this.user.systemadministrator, Validators.required),\r\n 'permissionlevelid': new FormControl(this.user.permissionlevelid, Validators.required),\r\n //'userpermissionlevelid': new FormControl(this.user.userpermissionlevelid, Validators.required),\r\n 'releaseNoteAddEdit': new FormControl(this.user.releaseNoteAddEdit, Validators.required),\r\n 'customertypeaccess': new FormControl(this.user.customertypeaccess, Validators.required),\r\n 'customerAccount': new FormControl(this.user.customerAccount, Validators.required),\r\n 'customerStatus': new FormControl(this.user.customerStatus, Validators.required),\r\n 'TaskGroupselectedItems': new FormControl(this.user.TaskGroupselectedItems, Validators.required),\r\n 'taskGroupAccessForTickets': new FormControl(this.user.taskGroupAccessForTickets, Validators.required),\r\n });\r\n //this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 1).then((Owner) => {\r\n this.customerService.GetAllaccesusersListbyuser(0,1, 1, 1).then((Owner) => { // passing 0 to get all Users\r\n Owner.forEach(Owner => {\r\n });\r\n\r\n this.dropdownList = Owner;\r\n this.dropdownList.push({ id: 0, category: \"None\", itemName: \"None\", isdeleted: 0, name: null, Value: null });\r\n })\r\n this.isViewInitialized = true;\r\n // this.configurationtypeList = accounttype;\r\n //});\r\n\r\n if (this.isDocumentManagementRoute) {\r\n this.appendLabel(451);\r\n }\r\n\r\n //$('#SaveData').prop('disabled', true);\r\n $('#SaveUserPrivilages').prop('disabled', true);\r\n $('#saveDashboardConfig').prop('disabled', true);\r\n $('#searchBox').attr('style', 'display:none');\r\n //this.applicationComponent.showDashboardSubTabs = false;\r\n //this.applicationComponent.showSystemConfigSubTabs = true;\r\n\r\n //let self = this;\r\n //$(document).mousedown(function (e) {\r\n // \r\n // var container = $(\"#UCForm\");\r\n // if (!container.is(e.target) && container.has(e.target).length === 0) {\r\n // if (self.useraccountChange) {\r\n // // self.UserAccountchangeDialogs = true\r\n // self.UserAccountchangeDialogCss();\r\n // e.stopPropagation();\r\n // }\r\n // }\r\n //});\r\n\r\n \r\n\r\n }\r\n\r\n UserAccountchangeDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n }\r\n\r\n onItemSelect(event) {\r\n this.useraccountChange = true;\r\n \r\n }\r\n\r\n OnItemDeSelect(event) {\r\n this.useraccountChange = true;\r\n //$(\"#SaveData\").css(\"background\", \"#93d250\");\r\n //$('#SaveData').prop('disabled', false);\r\n }\r\n\r\n onSelectAll(event) {\r\n this.useraccountChange = true;\r\n }\r\n\r\n onDeSelectAll(event) {\r\n this.useraccountChange = true;\r\n }\r\n onItemSelectAccess(event) {\r\n this.useraccountChange = true;\r\n //$(\"#SaveData\").css(\"background\", \"#93d250\");\r\n //$('#SaveData').prop('disabled', false);\r\n }\r\n\r\n OnItemDeSelectAccess(event) {\r\n this.useraccountChange = true;\r\n //$(\"#SaveData\").css(\"background\", \"#93d250\");\r\n //$('#SaveData').prop('disabled', false);\r\n }\r\n\r\n onSelectAllAccess(event) {\r\n this.useraccountChange = true;\r\n }\r\n\r\n onDeSelectAllAccess(event) {\r\n this.useraccountChange = true;\r\n }\r\n\r\n onTaskGroupAccessSelect(event) {\r\n // this.useraccountChange = true;\r\n //$(\"#SaveData\").css(\"background\", \"#93d250\");\r\n //$('#SaveData').prop('disabled', false);\r\n }\r\n\r\n OnTaskGroupItemDeSelect(event) {\r\n // this.useraccountChange = true;\r\n //$(\"#SaveData\").css(\"background\", \"#93d250\");\r\n //$('#SaveData').prop('disabled', false);\r\n\r\n }\r\n\r\n onTaskGroupSelectAll(event) {\r\n //this.useraccountChange = true;\r\n //$(\"#SaveData\").css(\"background\", \"#93d250\");\r\n //$('#SaveData').prop('disabled', false);\r\n }\r\n\r\n onTaskGroupDeSelectAll(event) {\r\n // this.useraccountChange = true;\r\n //$(\"#SaveData\").css(\"background\", \"#93d250\");\r\n //$('#SaveData').prop('disabled', false);\r\n }\r\n\r\n\r\n reloadItems(params) {\r\n if (this.itemResource != undefined) {\r\n this.itemResource.query(params).then(items => this.items = items);\r\n }\r\n }\r\n Configure() {\r\n if (document.getElementById('contactconfiguration_button').className == 'btn activeButton') {\r\n this.systemconfiguration.configurationname = 'Contacts';\r\n } else {\r\n\r\n }\r\n\r\n this.systemconfiguration.addeduserid = this.currentuser.id;\r\n this.userservice.savesystemconfiguration(this.systemconfiguration).then(result => {\r\n this.toastr.success(\"Configuration saved successfully.\", \"Configuration Saved\", { timeOut: 600 });\r\n });\r\n }\r\n\r\n TodoedittaskGroup() { \r\n this.ShowTaskGrpDialog = true;\r\n this.edittaskgroup = true;\r\n \r\n }\r\n activateSubButtons(id) {\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#' + id + \"_button\").addClass(\"activeButton\");\r\n this.selectedItems = [];\r\n //this.selectedtab = id;\r\n \r\n }\r\n GetAllTasksList(tasktype, taskgroup, status) {\r\n if (tasktype == 'todo') this.toTasktypelist = [];\r\n else if (tasktype == 'phonecall') this.phonecallTasktypelist = [];\r\n else if (tasktype == 'meeting') this.meetingTasktypelist = [];\r\n\r\n this.leadservice.GetAllTasksList(tasktype, 'undefined', taskgroup, status, this.currentuser.id).then((accounttype) => {\r\n if (tasktype == 'todo') {\r\n this.toTasktypelist = accounttype;\r\n \r\n }\r\n else if (tasktype == 'phonecall') {\r\n this.phonecallTasktypelist = accounttype;\r\n }\r\n else if (tasktype == 'meeting') {\r\n this.meetingTasktypelist = accounttype;\r\n }\r\n });\r\n\r\n }\r\n \r\n Activate(item) {\r\n var AuditLogId = Number(localStorage.getItem(\"AuditLogId\"));\r\n this.customerService.updatelogin(item.id, 0, \" \", AuditLogId).then((user) => { });\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('temptoken');\r\n //this.router.navigateByUrl(`/login`);\r\n }\r\n DivClick(val) {\r\n var url = window.location.href;\r\n this.applicationComponent.displayheader(url);\r\n //if (this.useraccountChange) {\r\n // this.UserAccountchangeDialogs = true;\r\n // this.UserAccountchangeDialogCss();\r\n //}\r\n }\r\n handleClick(event) { \r\n var clickedComponent = event.target;\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n this.useraccountChange = true;\r\n this.applicationComponent.SelectedTab = this.selectedMenuRadio;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n }\r\n while (clickedComponent);\r\n \r\n if (this.user.firstname != \"\" && this.user.firstname != undefined && this.user.lastname != \"\" && this.user.lastname != undefined && this.user.userrole != \"\" && this.user.userrole != undefined && this.user.email != \"\" && this.user.email != undefined && this.user.password != \"\" && this.user.password != undefined) {\r\n //$(\"#SaveData\").css(\"background\", \"#93d250\");\r\n //$('#SaveData').prop('disabled', false);\r\n }\r\n else {\r\n //$(\"#SaveData\").css(\"background\", \"#d3d3d3\");\r\n //$('#SaveData').prop('disabled', true);\r\n }\r\n \r\n\r\n }\r\n public clearcheckboxs() {\r\n $('.mainview').each(function () {\r\n this.checked = false;\r\n })\r\n $('.mainadd').each(function () {\r\n this.checked = false;\r\n })\r\n $('.mainedit').each(function () {\r\n this.checked = false;\r\n })\r\n $('.view').each(function () {\r\n this.checked = false;\r\n })\r\n $('.add').each(function () {\r\n this.checked = false;\r\n })\r\n $('.edit').each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n\r\n public clearCheckBoxesNew() {\r\n $('input:checkbox').prop('checked', false);\r\n this.resourcePrivilegesList = this.emptyResourcePrivilegesList;\r\n }\r\n\r\n public resetUserForm() {\r\n this.user = new Users();\r\n this.user.userrole = null;\r\n this.user.Zendseskpermissionid = null;\r\n this.user.TaskGroupid = null;\r\n this.user.ticketTaskGroupAccessID = 0;\r\n this.user.systemadministrator = 0;\r\n this.user.timezoneid = null;\r\n this.user.customertypeaccess = 0;\r\n this.clearCustomerEditing();\r\n this.user.Quotaid = 444;\r\n this.user.userstatusid = 460;\r\n this.user.permissionlevelid = null;\r\n this.user.Zendseskpermissionid = 465;\r\n this.user.dealapprovalid = 452;//Not in Use\r\n }\r\n\r\n loadroleacess(role): Promise {\r\n this.dropdownList = [];\r\n const promise = new Promise((resolve, reject) => {\r\n this.customerService.GetAllOwnerList(role).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n if (this.currentuser.id != Owner.id) {\r\n this.dropdownList.push(Owner)\r\n resolve();\r\n }\r\n });\r\n })\r\n });\r\n return promise;\r\n }\r\n RegisterUser(btn) { \r\n this.user.ticketTaskGroupAccessID == this.user.TaskGroupselectedItems;\r\n this.userservice.GetEmail(this.user).then(result => {\r\n this.res = result;\r\n if (this.res != null) {\r\n this.toastr.error(\"The email address you have entered is already registered\", \"Email\");\r\n return;\r\n }\r\n if (btn == \"save\") {\r\n if (this.currentuser.id == this.user.id) {\r\n this.currentuser.systemadministrator = this.user.systemadministrator;\r\n localStorage.setItem('currentUser', JSON.stringify(this.currentuser));\r\n }\r\n this.user.userid = this.currentuser.id;\r\n this.user.EmailSetUp = $(\"input[name='email']:checked\").val();\r\n this.user.ticketTaskGroupAccessID = '';\r\n this.user.AccountGroupAccessID = '';\r\n this.user.mysalesxcrmuseraccess = '';\r\n if (this.user.TaskGroupselectedItems != undefined && this.user.TaskGroupselectedItems.length > 0 ) {\r\n this.user.TaskGroupselectedItems.forEach(ele => {\r\n this.user.ticketTaskGroupAccessID += ele.id + ','\r\n });\r\n }\r\n if (this.user.AccountGroupselectedItems != undefined && this.user.AccountGroupselectedItems.length > 0) {\r\n this.user.AccountGroupAccessID = this.user.AccountGroupselectedItems.map(x => x.id).join(\",\");\r\n }\r\n if (this.user.SalesXCRMacesselectedItems != undefined && this.user.SalesXCRMacesselectedItems.length > 0) {\r\n this.user.SalesXCRMacesselectedItems.forEach(ele => {\r\n this.user.mysalesxcrmuseraccess += ele.id + ','\r\n });\r\n }\r\n\r\n if (this.user.SelectedTaskGroupids != undefined && this.user.SelectedTaskGroupids.length > 0) {\r\n this.user.TaskGroupid = this.user.SelectedTaskGroupids.map(x => x.id).join(\",\");\r\n }\r\n \r\n this.userservice.registeruser(this.user).then(result => {\r\n this.nUId = result.id;\r\n this.useraccess = [];\r\n this.useraccess.push(this.nUId);\r\n if (this.user.selectedItems != undefined) {\r\n for (var i = 0; i < this.user.selectedItems.length; i++) {\r\n this.useraccess.push(this.user.selectedItems[i].id);\r\n }\r\n this.userservice.updateuser(this.useraccess);\r\n }\r\n \r\n this.SaveDashBoardData(result.id);\r\n this.resetUserForm();\r\n this.toastr.success(\"User Registered successfully.\", \"User Saved\", { timeOut: 600 });\r\n if (this.userDrpModel[0].id == 609) { this.viewSuspended(0); }\r\n else { this.viewSuspended(1); }\r\n \r\n this.gridOptionsusers.api.deselectAll();\r\n this.userservice.GetAllRolesList(this.currentuser.id).then((roles) => {\r\n \r\n this.rolesList = roles;\r\n });\r\n\r\n this.clearCustomerEditing();\r\n this.user.customerStatus = 0;\r\n this.clearCheckBoxesNew();\r\n });\r\n\r\n }\r\n if (btn == \"Previlages\") {\r\n this.user.userid = this.currentuser.id;\r\n this.user.EmailSetUp = $(\"input[name='email']:checked\").val();\r\n let saveResourcePrivileges: SaveResourcePrivileges = new SaveResourcePrivileges();\r\n saveResourcePrivileges.ResourcePrivileges = this.resourcePrivilegesList;\r\n saveResourcePrivileges.AssignedUserId = this.user.id;\r\n saveResourcePrivileges.UserId = this.currentuser.id; \r\n this.userservice.SaveUserPrivilagesNew(saveResourcePrivileges).then(result => {\r\n this.user.selectedItems;\r\n this.toastr.success(\"User Previllages successfully.\", \"Previllages Saved\", { timeOut: 600 });\r\n \r\n this.userservice.GetAllRolesList(this.currentuser.id).then((roles) => {\r\n \r\n this.rolesList = roles;\r\n });\r\n this.customerService.GetPrivilagesByuser(this.currentuser.id).then(result => {\r\n this.currentuser.UserPrivilegeList = result;\r\n this.applicationComponent.currentuser.UserPrivilegeList = result;\r\n });\r\n \r\n this.useraccountChange = false;\r\n this.useraccess = [];\r\n this.useraccess.push(this.nUId);\r\n if (this.user.selectedItems != undefined) {\r\n for (var i = 0; i < this.user.selectedItems.length; i++) {\r\n this.useraccess.push(this.user.selectedItems[i].id);\r\n }\r\n this.userservice.updateuser(this.useraccess);\r\n }\r\n\r\n this.selectedPrvMenuRadio = 'prvtab1';\r\n this.loadResourcePrivilegeList(this.user.id, 'Display All');\r\n });\r\n $(\"#SaveUserPrivilages\").css(\"background\", \"#d3d3d3\");\r\n $('#SaveUserPrivilages').prop('disabled', true);\r\n }\r\n if (btn == \"customerview\") { \r\n this.customerService.updateCustomerView(this.user.id, this.user.defaultSearchPage,this.user.hidecustomer).then((user) => {\r\n this.toastr.success(\"Customer View Updated Successfully.\", \"User Updated\", { timeOut: 200 });\r\n this.currentuser.defaultSearchPage = this.user.defaultSearchPage;\r\n localStorage.setItem('currentUser', JSON.stringify(this.currentuser)); \r\n });\r\n }\r\n if (btn == \"CustomerEdit\") {\r\n this.userModel.userId = this.user.id;\r\n this.userModel.isCustomer = this.user.isCustomer;\r\n this.userModel.customerSince = this.user.customerSince;\r\n this.userModel.HL7interface = this.user.HL7interface;\r\n this.userModel.CustomerRCM = this.user.CustomerRCM;\r\n this.userModel.OnDemand = this.user.OnDemand;\r\n this.userModel.ApptReminders = this.user.ApptReminders;\r\n this.userModel.eLab = this.user.eLab;\r\n this.userModel.MIPS = this.user.MIPS;\r\n this.userModel.SystemType = this.user.SystemType;\r\n this.userModel.customerStatus = this.user.customerStatus;\r\n this.userModel.customerAccount = parseInt(this.user.customerAccount.toString());\r\n this.userservice.updateCustomerEdit(this.userModel).then(result => {\r\n this.toastr.success(\"Customer Edit Updated Successfully.\", \"User Updated\", { timeOut: 200 });\r\n this.currentuser.isCustomer = this.userModel.isCustomer;\r\n this.currentuser.customerSince = this.userModel.customerSince;\r\n this.currentuser.HL7interface = this.userModel.HL7interface;\r\n this.currentuser.CustomerRCM = this.userModel.CustomerRCM;\r\n this.currentuser.OnDemand = this.userModel.OnDemand;\r\n this.currentuser.ApptReminders = this.userModel.ApptReminders;\r\n this.currentuser.eLab = this.userModel.eLab;\r\n this.currentuser.MIPS = this.userModel.MIPS;\r\n this.currentuser.SystemType = this.userModel.SystemType;\r\n this.currentuser.customerStatus = this.userModel.customerStatus;\r\n this.currentuser.customerAccount = this.userModel.customerAccount;\r\n this.currentuser.accountStatus = this.userModel.customerStatus;\r\n \r\n localStorage.setItem('currentUser', JSON.stringify(this.currentuser));\r\n });\r\n }\r\n //update\r\n else {\r\n var pass = $('#password').val();\r\n if (pass != undefined && $.trim(pass) == \"\")\r\n return false;\r\n else if (pass == undefined)\r\n this.user.password = null;\r\n else\r\n this.user.password = pass;\r\n \r\n if (this.user.id > 0) {\r\n this.user.userid = this.currentuser.id; \r\n this.userservice.updateRegisteredUser(this.user).then(result => {\r\n let saveResourcePrivileges: SaveResourcePrivileges = new SaveResourcePrivileges();\r\n saveResourcePrivileges.ResourcePrivileges = this.resourcePrivilegesList;\r\n saveResourcePrivileges.AssignedUserId = result.id;\r\n saveResourcePrivileges.UserId = this.currentuser.id;\r\n\r\n this.userservice.SaveUserPrivilagesNew(saveResourcePrivileges).then(result => {\r\n this.useraccess = [];\r\n this.useraccess.push(this.user.id);\r\n for (var i = 0; i < this.user.selectedItems.length; i++) {\r\n this.useraccess.push(this.user.selectedItems[i].id);\r\n }\r\n this.userservice.updateuser(this.useraccess);\r\n\r\n this.userservice.GetAllRolesList(this.currentuser.id).then((roles) => {\r\n \r\n this.rolesList = roles;\r\n });\r\n this.user = new Users();\r\n this.showCancelBtn = false;\r\n this.user.email = '';\r\n this.user.password = '';\r\n this.user.userrole = 'null';\r\n this.user.systemadministrator = 0;\r\n this.user.timezoneid = null;\r\n this.clearCustomerEditing();\r\n this.toastr.success(\"Privileges updated successfully.\", \"User Updated\", { timeOut: 600 });\r\n this.useraccountChange = false;\r\n //this.customerService.GetPrivilagesByuser(this.currentuser.id).then(result => {\r\n // this.userprevilages = result;\r\n //});\r\n this.gridOptionsusers.api.deselectAll();\r\n this.viewSuspended(0);\r\n\r\n this.clearCheckBoxesNew();\r\n });\r\n });\r\n }\r\n else {\r\n //this.toastr.error(\"User not selected correctly\", \"User\");\r\n }\r\n } // Update Ends here\r\n });//this.userservice.GetEmail ends here\r\n this.applicationComponent.PrevUserConfigTab = \"\";\r\n \r\n }\r\n\r\n clearCustomerEditing() {\r\n \r\n this.user.customertypeaccess = 0;\r\n this.user.customerAccount = 0;\r\n this.user.customerStatus = 0;\r\n this.user.SystemType = 0;\r\n this.user.HL7interface = 0;\r\n this.user.CustomerRCM = 0;\r\n this.user.OnDemand = 0;\r\n this.user.ApptReminders = 0;\r\n this.user.eLab = 0;\r\n this.user.MIPS = 0;\r\n }\r\n selectall(name) {\r\n if (name == \"view\") {\r\n if ($('#view_chkbox').is(\":checked\")) {\r\n $('.view').each(function () {\r\n this.checked = true;\r\n })\r\n } else {\r\n $('.view').each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n }\r\n if (name == \"add\") {\r\n if ($('#Add_chkbox').is(\":checked\")) {\r\n $('.add').each(function () {\r\n this.checked = true;\r\n })\r\n } else {\r\n $('.add').each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n }\r\n if (name == \"edit\") {\r\n if ($('#Edit_chkbox').is(\":checked\")) {\r\n $('.edit').each(function () {\r\n this.checked = true;\r\n })\r\n } else {\r\n $('.edit').each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n\r\n }\r\n\r\n }\r\n checkAccess(id, type) {\r\n var idCheck = '', classname = '', mainId = '';\r\n if (type == 'add') {\r\n idCheck = 'mainadd_' + id\r\n classname = \"mainadd\";\r\n mainId = 'mainadd_chkbox';\r\n } else if (type == 'edit') {\r\n idCheck = 'mainedit_' + id\r\n classname = \"mainedit\";\r\n mainId = 'mainedit_chkbox';\r\n } else {\r\n idCheck = 'mainview_' + id\r\n classname = \"mainview\";\r\n mainId = 'mainview_chkbox';\r\n }\r\n var checkIs = 0;\r\n $('.' + classname).each(function () {\r\n if (!this.checked) {\r\n checkIs++;\r\n }\r\n })\r\n if (checkIs > 0) {\r\n $('#' + mainId).prop('checked', false);\r\n } else {\r\n $('#' + mainId).prop('checked', true);\r\n }\r\n }\r\n checkAccessSub(id, type) {\r\n var idCheck = '', classname = '', mainId = '';\r\n if (type == 'add') {\r\n idCheck = 'add_' + id\r\n classname = \"add\";\r\n mainId = 'Add_chkbox';\r\n } else if (type == 'edit') {\r\n idCheck = 'edit_' + id\r\n classname = \"edit\";\r\n mainId = 'Edit_chkbox';\r\n } else {\r\n idCheck = 'view_' + id\r\n classname = \"view\";\r\n mainId = 'view_chkbox';\r\n }\r\n\r\n var checkIs = 0;\r\n $('.' + classname).each(function () {\r\n if (!this.checked) {\r\n checkIs++;\r\n }\r\n })\r\n if (checkIs > 0) {\r\n $('#' + mainId).prop('checked', false);\r\n } else {\r\n $('#' + mainId).prop('checked', true);\r\n }\r\n }\r\n UserrowClick(rowEvent) {\r\n this.systemconfiguration.userid = rowEvent.row.item.id;\r\n }\r\n rowClick(rowEvent) {\r\n\r\n }\r\n ShowPassword() {\r\n this.showResetBtn = false;\r\n this.showCancelBtn = true;\r\n this.showPassword = true;\r\n\r\n }\r\n\r\n HidePassword() {\r\n this.showResetBtn = true;\r\n this.showCancelBtn = false;\r\n this.showPassword = false;\r\n }\r\n keyupTask(taskid, kval, tasktype) {\r\n \r\n if (taskid > 0) {\r\n if ((this.totaskids.filter(f => f.Index == taskid && f.Type == \"todo\")).length == 0)\r\n this.totaskids.push({ Index: taskid, Type: tasktype });\r\n if ((this.meetingtaskids.filter(f => f.Index == taskid && f.Type == \"meeting\")).length == 0)\r\n this.meetingtaskids.push({ Index: taskid, Type: tasktype });\r\n if ((this.phonecalltaskids.filter(f => f.Index == taskid && f.Type == \"phonecall\")).length == 0)\r\n this.phonecalltaskids.push({ Index: taskid, Type: tasktype });\r\n }\r\n else {\r\n if (tasktype == \"todo\") { this.toDoNew = false; this.newtodoid = taskid; }\r\n else if (tasktype == \"meeting\") { this.meetingNew = false; this.newmeetingid = taskid; }\r\n else if (tasktype == \"phonecall\") { this.phonecallNew = false; this.newphonecallid = taskid; }\r\n }\r\n\r\n if (tasktype == \"todo\") {\r\n $(\"#\" + taskid + \"todoTasktype\").css(\"color\", \"red\");\r\n this.toDobuttons = false\r\n }\r\n else if (tasktype == \"meeting\") {\r\n $(\"#\" + taskid + \"meetingTasktype\").css(\"color\", \"red\");\r\n this.meetingbuttons = false\r\n }\r\n else if (tasktype == \"phonecall\") {\r\n $(\"#\" + taskid + \"phoneTasktype\").css(\"color\", \"red\");\r\n this.phoneCallbuttons = false\r\n }\r\n\r\n }\r\n\r\n //SaveTasktype(val) {\r\n // if (val == 'todo') {\r\n \r\n // this.totaskids.forEach(id => {\r\n \r\n // if (id.Type == 'todo') {\r\n // var drpDwn = new Dropdowntype();\r\n // drpDwn.category = \"To Do\";\r\n\r\n // drpDwn.taskgroupid = $('#todotaskgroup').val();\r\n // drpDwn.itemName = $('#' + id.Index + 'todoTasktype').html().replace('To Do - ', '');\r\n // drpDwn.id = parseInt($('#' + id.Index + 'todoTaskID').html());\r\n // if (drpDwn.itemName.toString().replace(' ', '').trim() != '') {\r\n // this.tododropdowns.push(drpDwn);\r\n // }\r\n // //this.tododropdowns.push(drpDwn);\r\n // }\r\n // });\r\n // if (this.totaskids.length == 0) {\r\n // if ((this.tododropdowns.filter(f => { f.id == 0 && f.category == \"To Do\" && f.itemName == $('#' + this.newtodoid + 'todoTasktype').html() }).length == 0)) {\r\n // var drpDwn = new Dropdowntype();\r\n // drpDwn.category = \"To Do\";\r\n \r\n // drpDwn.taskgroupid = $('#todotaskgroup').val();\r\n \r\n // drpDwn.itemName = $('#' + this.newtodoid + 'todoTasktype').html().replace('To Do - ', '');\r\n // drpDwn.id = 0;\r\n // if (drpDwn.itemName.toString().replace(' ', '').trim() != '') {\r\n // this.tododropdowns.push(drpDwn);\r\n // }\r\n // }\r\n // }\r\n // this.customerService.checkduplicateTaskName(this.tododropdowns[0].id, this.tododropdowns[0].itemName, $('#todotaskgroup').val(), this.tododropdowns[0].category).then(taskgopdata => {\r\n \r\n // if (taskgopdata == null) {\r\n // this.customerService.saveDropdownValue(this.tododropdowns).then(result => {\r\n // this.toastr.success(\" To Do Task List configured Successfully.\", \"Task List\", { timeOut: 600 });\r\n // this.newtodoid = 0;\r\n // this.totaskids = [];\r\n // this.tododropdowns = [];\r\n \r\n // this.GetAllTasksList(val, $('#todotaskgroup').val(), 0);\r\n // this.toDobuttons = true; this.toDoNew = true;\r\n \r\n // });\r\n \r\n // $('#todoTasktype').attr('style', \"background-color:#808080;color:white\");\r\n // } else {\r\n // alert(\"Task Name Already Exist\");\r\n // this.newtodoid = 0;\r\n // this.totaskids = [];\r\n // this.tododropdowns = [];\r\n // return false;\r\n // }\r\n // }); \r\n \r\n // }\r\n // else if (val == 'meeting') {\r\n // this.meetingtaskids.forEach(id => {\r\n // if (id.Type == 'meeting') {\r\n // var drpDwn = new Dropdowntype();\r\n // drpDwn.category = \"Meeting\";\r\n // drpDwn.taskgroupid = $('#meetingtaskgroup').val();\r\n // drpDwn.itemName = $('#' + id.Index + 'meetingTasktype').html().replace('Meeting - ', '');\r\n // drpDwn.id = parseInt($('#' + id.Index + 'meetingTaskID').html());\r\n // if (drpDwn.itemName.toString().replace(' ', '').trim() != '') {\r\n // this.meetingdropdowns.push(drpDwn);\r\n // }\r\n \r\n // }\r\n // });\r\n // if (this.meetingtaskids.length == 0) {\r\n // if ((this.meetingdropdowns.filter(f => { f.id == 0 && f.category == \"Meeting\" && f.itemName == $('#' + this.newmeetingid + 'meetingTasktype').html() }).length == 0)) {\r\n // var drpDwn = new Dropdowntype();\r\n // drpDwn.category = \"Meeting\";\r\n // drpDwn.taskgroupid = $('#meetingtaskgroup').val();\r\n // drpDwn.itemName = $('#' + this.newmeetingid + 'meetingTasktype').html().replace('Meeting - ', '');;\r\n // drpDwn.id = 0;\r\n // if (drpDwn.itemName.toString().replace('\\n', '').trim() != '') {\r\n // this.meetingdropdowns.push(drpDwn);\r\n // }\r\n // }\r\n // }\r\n // this.customerService.checkduplicateTaskName(this.meetingdropdowns[0].id, this.meetingdropdowns[0].itemName, $('#meetingtaskgroup').val(), this.meetingdropdowns[0].category).then(taskgopdata => {\r\n \r\n // if (taskgopdata == null) {\r\n // this.customerService.saveDropdownValue(this.meetingdropdowns).then(result => {\r\n // this.toastr.success(\" Meeting Task List configured Successfully.\", \"Task List\", { timeOut: 600 });\r\n // this.newmeetingid = 0;\r\n // this.meetingtaskids = [];\r\n // this.meetingdropdowns = [];\r\n // this.GetAllTasksList(val, $('#meetingtaskgroup').val(), 0);\r\n // this.meetingbuttons = true; this.meetingNew = true;\r\n \r\n // });\r\n // $('#meetingTasktype').attr('style', \"background-color:#808080;color:white\");\r\n // } else {\r\n // alert(\"Task Name Already Exist\");\r\n // this.newmeetingid = 0;\r\n // this.meetingtaskids = [];\r\n // this.meetingdropdowns = [];\r\n // return false;\r\n // }\r\n // }); \r\n \r\n // }\r\n // else if (val == 'phonecall') {\r\n \r\n // var drpDwn = new Dropdowntype();\r\n // this.phonecalltaskids.forEach(id => {\r\n \r\n // if (id.Type == 'phonecall') {\r\n \r\n // drpDwn.category = \"Phone\";\r\n\r\n // drpDwn.taskgroupid = $('#phonetaskgroup').val();\r\n // drpDwn.itemName = $('#' + id.Index + 'phoneTasktype').html().replace('Phone - ', '');\r\n // drpDwn.id = parseInt($('#' + id.Index + 'phoneTaskID').html());\r\n // if (drpDwn.itemName.toString().replace(' ', '').trim() != '') {\r\n // this.phonecalldropdowns.push(drpDwn);\r\n // }\r\n // //this.tododropdowns.push(drpDwn);\r\n // }\r\n // });\r\n \r\n // if (this.phonecalltaskids.length == 0) {\r\n // if ((this.phonecalldropdowns.filter(f => { f.id == 0 && f.category == \"Phone\" && f.itemName == $('#' + this.newphonecallid + 'phoneTasktype').html() }).length == 0)) {\r\n // var drpDwn = new Dropdowntype();\r\n // drpDwn.category = \"Phone\";\r\n // drpDwn.taskgroupid = $('#phonetaskgroup').val();\r\n // drpDwn.itemName = $('#' + this.newphonecallid + 'phoneTasktype').html().replace('Phone - ', '');;\r\n // drpDwn.id = 0;\r\n // if (drpDwn.itemName.toString().replace('\\n', '').trim() != '') {\r\n // this.phonecalldropdowns.push(drpDwn);\r\n // }\r\n // }\r\n // }\r\n // this.customerService.checkduplicateTaskName(drpDwn.id, drpDwn.itemName, $('#phonetaskgroup').val(), drpDwn.category).then(taskgopdata => {\r\n // if (taskgopdata == null) {\r\n // this.customerService.saveDropdownValue(this.phonecalldropdowns).then(result => {\r\n // this.toastr.success(\"Phone Call Task List configured Successfully.\", \"Task List\", { timeOut: 600 });\r\n // this.newphonecallid = 0;\r\n // this.phonecalltaskids = [];\r\n // this.phonecalldropdowns = [];\r\n // this.GetAllTasksList(val, $('#phonetaskgroup').val(), 0);\r\n // this.phoneCallbuttons = true; this.phonecallNew = true;\r\n \r\n // });\r\n \r\n // $('#phoneTasktype').attr('style', \"background-color:#808080;color:white\");\r\n // } else {\r\n // alert(\"Task Name Already Exist\");\r\n // this.newphonecallid = 0;\r\n // this.phonecalltaskids = [];\r\n // this.phonecalldropdowns = [];\r\n // return false;\r\n // }\r\n // });\r\n\r\n \r\n // }\r\n //}\r\n canceltodotasktype(val) {\r\n \r\n this.GetAllTasksList(val, this.currentuser.TaskGroupid, 0);\r\n if (val == \"todo\") { this.toDobuttons = true; this.toDoNew = true; $('#todoTasktype').attr('style', \"background-color:#808080;color:white\"); }\r\n else if (val == \"meeting\") { this.meetingbuttons = true; this.meetingNew = true; $('#meetingTasktype').attr('style', \"background-color:#808080;color:white\"); }\r\n else if (val == \"phonecall\") { this.phoneCallbuttons = true; this.phonecallNew = true; $('#phoneTasktype').attr('style', \"background-color:#808080;color:white\"); }\r\n \r\n }\r\n\r\n ToDoDelete(id, status) {\r\n if (status == '1') {\r\n $('#' + id + 'todoTasktype').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + id + 'todoTasktypeorder').attr('style', \"background-color:#b7e4ff;\")\r\n var that =this;\r\n $(setTimeout(function () {\r\n var c = confirm(\"Select Yes To Confirm You Want to Delete This Task item\");\r\n if (c == true) {\r\n that.customerService.deletetaskitem(id, status).then((user) => {\r\n that.toastr.success(\" To Do item deleted Successfully.\", \"Task List\");\r\n that.GetAllTasksList('todo', $('#todotaskgroup').val(), 0);\r\n });\r\n // $('#todotaskgroup').val(1);\r\n }\r\n else {\r\n $('#' + id + 'todoTasktype').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n $('#' + id + 'todoTasktypeorder').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n }\r\n }, 200)); \r\n }\r\n else {\r\n\r\n $('#' + id + 'todoTasktype').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + id + 'todoTasktypeorder').attr('style', \"background-color:#b7e4ff;\")\r\n var that = this;\r\n $(setTimeout(function () {\r\n var c = confirm(\"Are you sure you want to do Activate to do item??\");\r\n if (c == true) {\r\n that.customerService.deletetaskitem(id, status).then((user) => {\r\n that.toastr.success(\" To Do item Activated Successfully.\", \"Task List\");\r\n that.GetAllTasksList('todo', $('#todotaskgroup').val(), 1);\r\n });\r\n }\r\n else {\r\n $('#' + id + 'todoTasktype').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n $('#' + id + 'todoTasktypeorder').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n }\r\n }, 200)); \r\n }\r\n }\r\n PhoneCallDelete(id, status) {\r\n if (status == '1') {\r\n\r\n $('#' + id + 'phoneTasktype').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + id + 'phoneTasktypeorder').attr('style', \"background-color:#b7e4ff;\")\r\n var that = this;\r\n $(setTimeout(function () {\r\n var c = confirm(\"Select Yes To Confirm You Want to Delete This Task item\");\r\n if (c == true) {\r\n that.customerService.deletetaskitem(id, 1).then((user) => {\r\n that.toastr.success(\"Phone call item deleted Successfully.\", \"Task List\");\r\n that.GetAllTasksList('phonecall', $('#phonetaskgroup').val(), 0);\r\n });\r\n // $('#phonetaskgroup').val(1);\r\n }\r\n else {\r\n $('#' + id + 'phoneTasktype').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n $('#' + id + 'phoneTasktypeorder').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n }\r\n }, 200)); \r\n\r\n }\r\n else {\r\n $('#' + id + 'phoneTasktype').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + id + 'phoneTasktypeorder').attr('style', \"background-color:#b7e4ff;\")\r\n var that = this;\r\n $(setTimeout(function () {\r\n var c = confirm(\"Are you sure you want to do Activate phone item??\");\r\n if (c == true) {\r\n that.customerService.deletetaskitem(id, status).then((user) => {\r\n that.toastr.success(\" Phone call item Activated Successfully.\", \"Task List\");\r\n that.GetAllTasksList('phonecall', $('#phonetaskgroup').val(), 1);\r\n });\r\n }\r\n else {\r\n $('#' + id + 'phoneTasktype').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n $('#' + id + 'phoneTasktypeorder').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n }\r\n }, 200)); \r\n }\r\n }\r\n MeetingDelete(id, status) {\r\n if (status == '1') {\r\n $('#' + id + 'meetingTasktype').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + id + 'meetingTasktypeorder').attr('style', \"background-color:#b7e4ff;\")\r\n var that = this;\r\n $(setTimeout(function () {\r\n var c = confirm(\"Select Yes To Confirm You Want to Delete This Task item\");\r\n if (c == true) {\r\n that.customerService.deletetaskitem(id, 1).then((user) => {\r\n that.toastr.success(\" Meeting item deleted Successfully.\", \"Task List\");\r\n that.GetAllTasksList('meeting', $('#meetingtaskgroup').val(), 0);\r\n });\r\n\r\n // $('#meetingtaskgroup').val(1);\r\n }\r\n else {\r\n $('#' + id + 'meetingTasktype').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n $('#' + id + 'meetingTasktypeorder').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n }\r\n }, 200)); \r\n }\r\n else {\r\n $('#' + id + 'meetingTasktype').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + id + 'meetingTasktypeorder').attr('style', \"background-color:#b7e4ff;\")\r\n var that = this;\r\n $(setTimeout(function () {\r\n var c = confirm(\"Are you sure you want to do Activate meeting item??\");\r\n if (c == true) {\r\n that.customerService.deletetaskitem(id, status).then((user) => {\r\n that.toastr.success(\"Meeting item Activated Successfully.\", \"Task List\");\r\n that.GetAllTasksList('meeting', $('#meetingtaskgroup').val(), 1);\r\n });\r\n }\r\n else {\r\n $('#' + id + 'meetingTasktype').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n $('#' + id + 'meetingTasktypeorder').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n }\r\n }, 200)); \r\n }\r\n }\r\n\r\n edit(jval, tasktype) {\r\n \r\n \r\n if (tasktype ==\"todoTasktype\" && $('#todotaskgroup').val() == \"0\") {\r\n alert(\"Please Select Category Before Adding Item\")\r\n }\r\n else if (tasktype == \"phoneTasktype\" && $('#phonetaskgroup').val() == \"0\") {\r\n alert(\"Please Select Category Before Adding Item\")\r\n }\r\n else if (tasktype == \"meetingTasktype\" && $('#meetingtaskgroup').val() == \"0\") {\r\n alert(\"Please Select Category Before Adding Item\")\r\n }\r\n else {\r\n\r\n if (tasktype == \"todoTasktype\") {\r\n // \r\n if (jval == 0) {\r\n var toDoEmpty = ({ id: 0, itemName: '', category: null })\r\n this.toTasktypelist.push(toDoEmpty);\r\n }\r\n //var toDoEmpty = ({ id: jval, itemName: '', category: null })\r\n // this.toTasktypelist.push(toDoEmpty);\r\n }\r\n else if (tasktype == \"phoneTasktype\") {\r\n //var phoneCallEmpty = ({ id: 0, itemName: '', category: null })\r\n if (jval == 0) {\r\n var phoneCallEmpty = ({ id: jval, itemName: '', category: null })\r\n this.phonecallTasktypelist.push(phoneCallEmpty);\r\n }\r\n }\r\n else if (tasktype == \"meetingTasktype\") {\r\n if (jval == 0) {\r\n var meetingEmpty = ({ id: jval, itemName: '', category: null })\r\n this.meetingTasktypelist.push(meetingEmpty);\r\n }\r\n }\r\n\r\n $(setTimeout(function () {\r\n \r\n $('.disableEditable').attr('contenteditable', \"false\")\r\n $('.disableEditable').attr('style', \"border: 1px solid #A6A4A4;background-color:#f2f2f3;\")\r\n $('.disableEditableButton').attr('style', \"border: 1px solid #A6A4A4;background-color:#f2f2f3;\")\r\n \r\n $('#' + jval + tasktype).attr('contenteditable', \"true\")\r\n $('#' + tasktype).removeClass('btn-default');\r\n if (jval == 0) {\r\n $('#' + tasktype).attr('style', \"background-color:#b7e4ff;\")\r\n }\r\n\r\n $('.Tr').removeAttr('style');\r\n // $('.Tr').attr('style', \"background-color:yellow;\")\r\n $('#' + jval + tasktype).attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + jval + tasktype + 'order').attr('style', \"background-color:#b7e4ff;\")\r\n\r\n if (($('#' + jval + tasktype).html()).trim() == 'add item here') {\r\n $('#' + jval + tasktype).html('')\r\n }\r\n }, 200)); \r\n\r\n\r\n \r\n }\r\n\r\n \r\n }\r\n addItemHereDblClk(jval, tasktype) {\r\n\r\n if (tasktype == \"phoneTasktype\") {\r\n $(\"#phoneItemId\").hide();\r\n $(\"#0phoneTasktype\").show();\r\n }\r\n this.edit(jval, tasktype);\r\n }\r\n\r\n ToDoReordertaskItems(tasktype) {\r\n var c = confirm(\"Are you sure you want to Reorder items in this Order??\");\r\n if (c == true) {\r\n var TaskIdArr = [];\r\n if (tasktype == 'To Do') {\r\n \r\n $.each($(\"#todoTable tbody tr td[id$='todoTaskID']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).html());\r\n TaskIdArr.push(TaskIds);\r\n })\r\n this.tasklistconfiguration.taskgroupid = $('#todotaskgroup').val();\r\n\r\n }\r\n else if (tasktype == 'Phone') {\r\n $.each($(\"#phoneTable tbody tr td[id$='phoneTaskID']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).html());\r\n TaskIdArr.push(TaskIds);\r\n })\r\n this.tasklistconfiguration.taskgroupid = $('#phonetaskgroup').val();\r\n }\r\n else if (tasktype == 'Meeting') {\r\n $.each($(\"#meetingTable tbody tr td[id$='meetingTaskID']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).html());\r\n TaskIdArr.push(TaskIds);\r\n })\r\n this.tasklistconfiguration.taskgroupid = $('#meetingtaskgroup').val();\r\n }\r\n // TaskIdArr.pop();\r\n this.tasklistconfiguration.configureduserid = this.currentuser.id;\r\n this.tasklistconfiguration.tasklistconfigurtaionorder = TaskIdArr.toString();\r\n this.tasklistconfiguration.tasktype = tasktype;\r\n this.customerService.SaveTaskListConfiguration(this.tasklistconfiguration).then(result => {\r\n this.toastr.success(tasktype + \" Task List Re-Ordered Successfully.\", tasktype + \" Task List\", { timeOut: 600 });\r\n\r\n });\r\n }\r\n }\r\n\r\n userListOutParamsBinding(outProps) {\r\n this.finalitems = outProps.finalitems;\r\n this.selectedItems = outProps.selectedItems;\r\n this.items = outProps.items;\r\n this.itemCount = outProps.itemsCount;\r\n }\r\n SaveGroup(val) {\r\n this.taskgroup.tasktype = val;\r\n if (val == 'todo')\r\n this.taskgroup.TaskGroupName = $('#ToGrouptaskname').val();\r\n else if (val == 'meeting') this.taskgroup.TaskGroupName = $('#MeetingTaskgroupName').val();\r\n else if (val == 'phone') this.taskgroup.TaskGroupName = $('#PhoneTaskgroupName').val();\r\n \r\n if (this.taskgroup.TaskGroupName.trim() == \"\")\r\n return false;\r\n if (this.taskgroup.id == 0) {\r\n this.customerService.checkduplicateTaskGroupName(this.taskgroup).then(result => {\r\n if (result == null) { \r\n this.customerService.addtaskgroup(this.taskgroup).then(result => {\r\n\r\n this.toastr.success(\"New Task Group Saved Successfully.\", \"Task Group\", { timeOut: 600 });\r\n this.ShowTaskGrpDialog = false;\r\n this.loadTaskGrouplist(0);\r\n this.userservice.GetAllTaskgrouplist(\"TaskList\",0).then((taskgroups) => {\r\n this.CancelTaskGroup(val);\r\n $('#ToGrouptaskname').val('');\r\n $('#MeetingTaskgroupName').val('');\r\n $('#PhoneTaskgroupName').val('');\r\n });\r\n });\r\n }\r\n else {\r\n alert(this.taskgroup.TaskGroupName + \" Already Exist\")\r\n }\r\n });\r\n } else {\r\n this.customerService.addtaskgroup(this.taskgroup).then(result => {\r\n\r\n this.toastr.success(\"New Task Group Saved Successfully.\", \"Task Group\", { timeOut: 600 });\r\n this.ShowTaskGrpDialog = false;\r\n this.loadTaskGrouplist(0);\r\n this.userservice.GetAllTaskgrouplist(\"TaskList\",0).then((taskgroups) => {\r\n this.CancelTaskGroup(val);\r\n $('#ToGrouptaskname').val('');\r\n $('#MeetingTaskgroupName').val('');\r\n $('#PhoneTaskgroupName').val('');\r\n });\r\n });\r\n }\r\n }\r\n SaveTaskGroup(value) {\r\n this.taskname = (value == 'To Do') ? $('#ToGrouptaskname').val() : (value == 'Phone') ? $('#PhoneTaskgroupName').val() : (value == 'Meeting') ? $('#MeetingTaskgroupName').val() : \"\";\r\n this.ShowTaskGrpDialog = true;\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width:35% !important;border: 1px solid black; background:#93d14f; height:35%; top:16%;max-width:none;padding:1%;');\r\n }, 200));\r\n if (this.taskgroup.id != 0) {\r\n this.edittaskgroup = true;\r\n } else { this.edittaskgroup = false; }\r\n\r\n }\r\n\r\n\r\n AddTaskGroup(type) {\r\n this.tasktype = type;\r\n $('.taskGroupType').removeClass('selectedTaskGroupType')\r\n if (type == 'todo') {\r\n $('#todoAddTaskGroup').removeClass('btn-default');\r\n $('#todoAddTaskGroup').addClass('selectedTaskGroupType');\r\n this.taskgroup.id = $('#todotaskgroup').val(); \r\n $('#ToGrouptaskname').val($(\"#todotaskgroup option:selected\").text());\r\n this.todoNewTextSave = false;\r\n this.todoNewButtonSave = true;\r\n this.phoneNewTextSave = true;\r\n this.phoneButtonSave = true;\r\n this.meetingNewTextSave = true;\r\n this.meetingButtonSave = true;\r\n } else if (type == 'phone') {\r\n $('#phoneAddTaskGroup').removeClass('btn-default');\r\n $('#phoneAddTaskGroup').addClass('selectedTaskGroupType');\r\n this.taskgroup.id = $('#phonetaskgroup').val();\r\n $('#PhoneTaskgroupName').val($(\"#phonetaskgroup option:selected\").text());\r\n this.todoNewTextSave = true;\r\n this.todoNewButtonSave = true;\r\n this.phoneNewTextSave = false;\r\n this.phoneButtonSave = true;\r\n this.meetingNewTextSave = true;\r\n this.meetingButtonSave = true;\r\n } else {\r\n $('#meetingAddTaskGroup').removeClass('btn-default');\r\n $('#meetingAddTaskGroup').addClass('selectedTaskGroupType');\r\n this.taskgroup.id = $('#meetingtaskgroup').val();\r\n $('#MeetingTaskgroupName').val($(\"#meetingtaskgroup option:selected\").text());\r\n this.todoNewTextSave = true;\r\n this.todoNewButtonSave = true;\r\n this.phoneNewTextSave = true;\r\n this.phoneButtonSave = true;\r\n this.meetingNewTextSave = false;\r\n this.meetingButtonSave = true;\r\n }\r\n }\r\n enableButtons(type) {\r\n if (type == 'todo') {\r\n\r\n if ($('#ToGrouptaskname').val().trim() == \"\")\r\n this.todoNewButtonSave = true;\r\n else\r\n this.todoNewButtonSave = false;\r\n\r\n this.todoNewTextSave = false;\r\n this.phoneNewTextSave = true;\r\n this.phoneButtonSave = true;\r\n this.meetingNewTextSave = true;\r\n this.meetingButtonSave = true;\r\n } else if (type == 'phone') {\r\n\r\n if ($('#PhoneTaskgroupName').val().trim() == \"\")\r\n this.phoneButtonSave = true;\r\n else\r\n this.phoneButtonSave = false;\r\n\r\n this.todoNewTextSave = true;\r\n this.todoNewButtonSave = true;\r\n this.phoneNewTextSave = false;\r\n this.meetingNewTextSave = true;\r\n this.meetingButtonSave = true;\r\n } else {\r\n\r\n if ($('#MeetingTaskgroupName').val().trim() == \"\")\r\n this.meetingButtonSave = true;\r\n else\r\n this.meetingButtonSave = false;\r\n\r\n this.todoNewTextSave = true;\r\n this.todoNewButtonSave = true;\r\n this.phoneNewTextSave = true;\r\n this.phoneButtonSave = true;\r\n this.meetingNewTextSave = false;\r\n }\r\n }\r\n CancelTaskGroup(type) {\r\n $('.taskGroupType').removeClass('btn-default')\r\n $('.taskGroupType').removeClass('selectedTaskGroupType')\r\n $('.taskGroupType').addClass('btn-default')\r\n\r\n $('#ToGrouptaskname').val('');\r\n $('#MeetingTaskgroupName').val('');\r\n $('#PhoneTaskgroupName').val('');\r\n this.todoNewTextSave = true;\r\n this.todoNewButtonSave = true;\r\n this.todoNewTextSave = true;\r\n this.todoNewButtonSave = true;\r\n this.phoneNewTextSave = true;\r\n this.phoneButtonSave = true;\r\n this.meetingNewTextSave = true;\r\n this.meetingButtonSave = true;\r\n }\r\n\r\n loadtaskitems(taskgroup, type, status) {\r\n if (type == \"todo\") {\r\n //if ($(\"#isTodoSelected\").is(':checked')) {\r\n taskgroup = $('#todotaskgroup').val();\r\n this.GetAllTasksList(type, taskgroup, status);\r\n //}\r\n //else {\r\n // taskgroup = $('#todotaskgroup').val();\r\n // this.GetAllTasksList(type, taskgroup, 0);\r\n //}\r\n }\r\n else if (type == \"phonecall\") {\r\n if ($(\"#isPhoneSelected\").is(':checked')) {\r\n taskgroup = $('#phonetaskgroup').val();\r\n this.GetAllTasksList(type, taskgroup, status);\r\n }\r\n else {\r\n taskgroup = $('#phonetaskgroup').val();\r\n this.GetAllTasksList(type, taskgroup, 0);\r\n }\r\n }\r\n else if (type == \"meeting\") {\r\n if ($(\"#isMeetingSelected\").is(':checked')) {\r\n taskgroup = $('#meetingtaskgroup').val();\r\n this.GetAllTasksList(type, taskgroup, status);\r\n }\r\n else {\r\n taskgroup = $('#meetingtaskgroup').val();\r\n this.GetAllTasksList(type, taskgroup, 0);\r\n }\r\n }\r\n }\r\n \r\n\r\n appendLabel(value) {\r\n \r\n this.selectedvalue = value\r\n this.activateSubButtons(value);\r\n \r\n //$('#addDetailsDiv').attr('style', 'height:250px ');\r\n //this.Dropdownconfig.LoadDropDownValues(this.selectedvalue);\r\n }\r\n MainrowClickAgGrid(rowEvent) {\r\n this.initializeAgGridSubConfiguration();\r\n\r\n }\r\n UserSetUp(val) {\r\n if (val == \"Users\")\r\n {\r\n this.viewSuspendedUsers = false;\r\n this.viewSuspended(0);\r\n }\r\n else if (val == \"Suspended\") {\r\n this.viewSuspendedUsers = true;\r\n this.viewSuspended(1);\r\n }\r\n else {\r\n this.viewSuspendedUsers = false;\r\n }\r\n this.selectedUserType = val; \r\n }\r\n\r\n UserQuota(val) {\r\n this.applicationComponent.SelectedTab = \"tab14\";\r\n let previousTab = this.selectedQuotaMenuRadio;\r\n this.selectedQuotaType = val;\r\n if (this.user.id == undefined || this.user.id == null || this.user.id == 0) {\r\n let selfObj = this;\r\n alert(\"Please select a user.\");\r\n\r\n $(setTimeout(function () {\r\n selfObj.selectedQuotaMenuRadio = previousTab;\r\n }, 1));\r\n } else {\r\n\r\n\r\n if (val == \"TaskQuota\") {\r\n this.selectedQuotaMenuRadio = \"Quotatab1\";\r\n let Obj = this;\r\n $(setTimeout(function () {\r\n Obj.userquotaComp.LoadActivityQuotaData(Obj.user.id, Obj.currentYear);\r\n }, 300));\r\n }\r\n else if (val == 'TicketQuota') {\r\n this.selectedQuotaMenuRadio = \"Quotatab2\";\r\n let Obj = this;\r\n $(setTimeout(function () {\r\n Obj.userquotaComp.LoadSalesQuotaData(Obj.user.id, Obj.currentYear);\r\n }, 300));\r\n } else if (val == 'SalesQuota') {\r\n this.selectedQuotaMenuRadio = \"Quotatab3\";\r\n let Obj = this;\r\n $(setTimeout(function () {\r\n Obj.userquotaComp.LoadSalesQuotaData(Obj.user.id, Obj.currentYear);\r\n }, 300));\r\n }\r\n }\r\n\r\n }\r\n DashboardChanged(val) {\r\n \r\n let previousTab = this.selectedMenuRadio;\r\n localStorage.setItem('PrevUserConfigTab', previousTab);\r\n this.applicationComponent.PrevUserConfigTab = previousTab;\r\n if (this.useraccountChange) {\r\n this.UserAccountchangeDialogs = true;\r\n this.UserAccountchangeDialogCss();\r\n }\r\n this.selectedtab = val;\r\n if (val == \"Dashboard\") {\r\n this.SingleSecondDrpSetting = {\r\n singleSelection: true,\r\n text: 'Select Dashboard Type',\r\n selectAllText: 'Select All',\r\n\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n this.getmyDashDefGridBoxlist();\r\n this.selectedMenuRadio = \"tab12\";\r\n if (this.user.id == undefined || this.user.id == null || this.user.id == 0) {\r\n let selfObj = this;\r\n alert(\"Please select a user.\");\r\n $(setTimeout(function () {\r\n selfObj.selectedMenuRadio = previousTab;\r\n }, 1));\r\n } else\r\n this.customerService.GetSpecialityList(\"DashBoardTypes\", this.currentuser.id).then((CustomerType) => {\r\n CustomerType.forEach(CustomerType => {\r\n });\r\n this.DashBoardTypesList = CustomerType;\r\n this.showUserDashBoardDiv = true;\r\n });\r\n if (this.user.id != undefined && this.user.id != null && this.user.id != 0) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.loadDashBoardconfigByuser(selfObj.user.id);\r\n selfObj.getSelectedtmyDashDefGridBox();\r\n }, 500));\r\n }\r\n }\r\n else if (val == \"Privileges\") {\r\n\r\n this.applicationComponent.SelectedTab = \"tab18\";\r\n if (this.user.id == undefined || this.user.id == null || this.user.id == 0) {\r\n let selfObj = this;\r\n alert(\"Please select a user.\");\r\n $(setTimeout(function () {\r\n selfObj.selectedMenuRadio = previousTab;\r\n }, 1));\r\n } else\r\n this.showUserPrivilegesDiv = true;\r\n this.loadResourcePrivilegeList(this.user.id, null);\r\n this.selectedMenuRadio = \"tab18\";\r\n }\r\n else if (val == \"Alerts\") {\r\n\r\n if (this.user.id == undefined || this.user.id == null || this.user.id == 0) {\r\n let selfObj = this;\r\n alert(\"Please select a user.\");\r\n $(setTimeout(function () {\r\n selfObj.selectedMenuRadio = previousTab;\r\n }, 10));\r\n } else {\r\n this.selectedMenuRadio = 'tab13';\r\n this.showAlertsDiv = true;\r\n let selfObj = this;\r\n this.user.id = this.user.id;\r\n $(setTimeout(function () {\r\n selfObj.AutomatedEmails.loadUserAlertEmails(this.user.id);\r\n\r\n }, 300));\r\n\r\n }\r\n }\r\n else if (val == 'UserQuota') {\r\n this.UserQuota('TaskQuota');\r\n }\r\n else if (val == 'Sales') {\r\n this.UserQuota('SalesQuota');\r\n }\r\n //else if (val == 'CustomerView') {\r\n // this.user.hidecustomer = this.currentuser.hidecustomer;\r\n //}\r\n else if (val == \"Registration\") {\r\n this.showAddUserDiv = true;\r\n this.applicationComponent.SelectedTab = \"tab11\";\r\n this.selectedMenuRadio = \"tab11\";\r\n }\r\n \r\n }\r\n IntializeDashboardGrid() {\r\n this.DashboardgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.createDashBoardTypesColumnDefs(\"\");\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n }\r\n createDashBoardTypesColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.DashboardcolumnDefs = [\r\n { field: 'id', headerName: 'Id', hide: true, width: 10 },\r\n { field: 'itemName', headerName: 'DashBoard Types', hide: false, width: 150 },\r\n {\r\n headerName: \"Display (Yes)\", width: 120, hide: false, outerWidth: 8, cellRenderer(params) {\r\n \r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n selfObj.Change(params.data.id + \"Yes\");\r\n $('#saveDashboardConfig').css(\"background\", \"#93d250\");\r\n $('#saveDashboardConfig').prop('disabled', false);\r\n \r\n });\r\n return eDiv;\r\n }\r\n },\r\n {\r\n headerName: \"Display (No)\", width: 120, hide: false, outerWidth: 8, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.getElementsByTagName(\"input\")[0].addEventListener('click', function () {\r\n selfObj.Change(params.data.id + \"No\");\r\n $('#saveDashboardConfig').css(\"background\", \"#93d250\");\r\n $('#saveDashboardConfig').prop('disabled', false);\r\n });\r\n return eDiv;\r\n },\r\n },\r\n\r\n ];\r\n\r\n }\r\n\r\n SaveDashBoardData(id: number = 0) {\r\n this.finaldashboardconfiglist = [];\r\n //let rowData = [];\r\n //this.DashboardgridOptions.rowData.forEachNode(node => rowData.push(node.data));\r\n //return rowData;\r\n \r\n if (this.DashboardgridOptions.api == undefined) {\r\n this.customerService.GetSpecialityList(\"DashBoardTypes\", this.currentuser.id).then((CustomerType) => {\r\n this.DashBoardTypesList = CustomerType;\r\n\r\n let count = this.DashBoardTypesList.length;\r\n for (var i = 0; i < count; i++) {\r\n\r\n let newdash = new Dashboardconfig();\r\n newdash.dashboardtypeid = this.DashBoardTypesList[i].id; //rowNode.data.id;\r\n\r\n\r\n if (i == 0)\r\n newdash.isaccess = 1;\r\n else\r\n newdash.isaccess = 0;\r\n\r\n newdash.userid = this.currentuser.id;\r\n newdash.selecteduserid = this.user.id;\r\n this.finaldashboardconfiglist.push(newdash);\r\n }\r\n if (this.finaldashboardconfiglist.length > 0) {\r\n this.userservice.SaveDashBoardConfig(this.finaldashboardconfiglist).then(result => {\r\n this.toastr.success(\"DashBoard Configured successfully.\", \"DashBoard Config\", { timeOut: 600 });\r\n this.useraccountChange = false;\r\n });\r\n }\r\n \r\n });\r\n } else {\r\n let count = this.DashboardgridOptions.api.getDisplayedRowCount();\r\n for (var i = 0; i < count; i++) {\r\n \r\n var rowNode = this.DashboardgridOptions.api.getDisplayedRowAtIndex(i);\r\n let newdash = new Dashboardconfig();\r\n newdash.dashboardtypeid = rowNode.data.id;\r\n newdash.isaccess = $('#' + rowNode.data.id + 'Yes').is(\":checked\") == true ? 1 : 0;\r\n newdash.userid = this.currentuser.id;\r\n newdash.selecteduserid = this.user.id;\r\n this.finaldashboardconfiglist.push(newdash);\r\n }\r\n this.userservice.SaveDashBoardConfig(this.finaldashboardconfiglist).then(result => {\r\n this.toastr.success(\"DashBoard Configured successfully.\", \"DashBoard Config\", { timeOut: 600 });\r\n this.useraccountChange = false;\r\n });\r\n }\r\n $(\"#saveDashboardConfig\").css(\"background\", \"#d3d3d3\");\r\n $('#saveDashboardConfig').prop('disabled', true);\r\n this.applicationComponent.PrevUserConfigTab = \"\";\r\n }\r\n UpdateTaskName() {\r\n this.userservice.modifyTaskGroupidtoUsers(this.fromtaskgroupid, this.user.TaskGroupid).then(result => {\r\n this.toastr.success(\"Task Group Updated successfully.\", \"Group Updated\", { timeOut: 600 });\r\n this.TaskWarningDialog = false;\r\n });\r\n\r\n }\r\n //ChangeDocumentType() {\r\n \r\n // this.selectedDocType = $(\"#DocumenttypeId option:selected\").text();\r\n // this.docMgmtComp.loaddocuments(this.selectedDocType.trim(), this.currentYear);\r\n //}\r\n RoleeventReceived(msg) {\r\n var idstatus = msg.split(\"|\")\r\n this.userservice.checkRoleTiedtoUser(idstatus[0]).then(resultdata => {\r\n this.Roleassociatedusers = resultdata;\r\n if (resultdata.length == 0) {\r\n var c = confirm(\"Select Yes To Confirm You Want to Delete This Role\");\r\n if (c == true) {\r\n this.userservice.deleteRole(idstatus[0], idstatus[1]).then((user) => {\r\n this.toastr.success(\" Role deleted Successfully.\", \"Role\", { timeOut: 600 });\r\n this.roleComp.GetAllRoles();\r\n });\r\n } \r\n }\r\n else {\r\n this.selectedRole = idstatus[2];\r\n this.showDeleteDialog = true;\r\n this.dialogsizeDeleteRole();\r\n // this.selectedMenuRadio = \"\";\r\n }\r\n });\r\n\r\n }\r\n DeActivateTaskGroup(value,status) {\r\n \r\n this.taskname = (value == 'todo') ? $(\"#todotaskgroup option:selected\").text() : (value == 'phone') ? $(\"#phonetaskgroup option:selected\").text() : (value == 'meeting') ? $(\"#meetingtaskgroup option:selected\").text() : \"\";\r\n this.fromtaskgroupid = (value == 'todo') ? $('#todotaskgroup').val() : (value == 'phone') ? $('#phonetaskgroup').val() : (value == 'meeting') ? $('#meetingtaskgroup').val():\"\";\r\n this.userservice.checkAssociatedGroup(this.fromtaskgroupid).then(result => {\r\n if (result > 0) {\r\n this.TaskWarningDialog = true;\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width:40% !important;border: 1px solid black; background:#93d14f; height:75%; top:16%;max-width:none;padding:1%;text-align:center;');\r\n }, 200));\r\n } else {\r\n var c =(status == 1)? confirm(\"Are you sure you want to Delete this Task Group Name?\") : confirm(\"Are you sure you want to Activate this Task Group Name?\");\r\n if (c == true) {\r\n this.userservice.DeactivateTaskGroup(this.fromtaskgroupid,status).then((user) => {\r\n this.loadTaskGrouplist(status);\r\n });\r\n\r\n }\r\n }\r\n\r\n });\r\n }\r\n AccountIdChange(val) { }\r\n onCellValueChanged(params) {\r\n \r\n this.rolesList.forEach(rolelist => {\r\n if (params.newValue == rolelist.itemName) {\r\n params.data.userrole = rolelist.id;\r\n }\r\n });\r\n\r\n this.userservice.updateRole(params.data.userrole,params.data.id).then((user) => {\r\n // this.loadTaskGrouplist(status);\r\n });\r\n \r\n }\r\n dialogsizeDeleteRole() {\r\n setTimeout(function () {\r\n $('#showDeleteDialog .dialog').attr('style', 'width: 53%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 50%;overflow: visible;height: 82%;top: 17%;left:43%');\r\n }, 4);\r\n }\r\n cellDoubleClicked(rowEvent) {\r\n this.userView = true;\r\n $(\"#tab12\").trigger(\"click\");\r\n this.DashboardChanged('Privileges');\r\n this.selectedMenuRadio = 'tab12';\r\n this.selectedPrvMenuRadio = 'prvtab2';\r\n this.PrivilageTabChanged('Navigation Menu');\r\n this.GetDocumentAccess();\r\n }\r\n closeuser() {\r\n this.userView = false;\r\n $(\"#tab11\").trigger(\"click\");\r\n this.DashboardChanged('Registration');\r\n this.selectedMenuRadio = 'tab11';\r\n\r\n }\r\n closedConfigDashEventListener() {\r\n var tab = localStorage.getItem('PrevUserConfigTab');\r\n if (this.applicationComponent.isClosedConfigDashEventListener) {\r\n if (tab == \"tab11\")\r\n this.RegisterUser('save');\r\n else if (tab == \"tab12\")\r\n this.RegisterUser('Previlages');\r\n else if (tab == \"tab13\")\r\n this.SaveDashBoardData();\r\n else if (this.applicationComponent.SelectedTab == \"tab22\")\r\n this.RegisterUser('customerview');\r\n\r\n this.applicationComponent.isClosedConfigDashEventListener = false;\r\n this.applicationComponent.isUserConfig = false;\r\n this.applicationComponent.isUserPrivilege = false;\r\n this.applicationComponent.isUserDashboard = false;\r\n }\r\n return false;\r\n }\r\n onuserConfiguration(val) {\r\n if (val == \"Changed\") {\r\n this.useraccountChange = true;\r\n }\r\n else if (val == 'Alert Cancel') {\r\n this.CancelAlert();\r\n }\r\n else {\r\n\r\n this.useraccountChange = false;\r\n \r\n }\r\n }\r\n CloseUserChangeDialog(val) {\r\n if (val == 'danotsavechanges') {\r\n this.UserAccountchangeDialogs = false;\r\n \r\n this.useraccountChange = false;\r\n \r\n }\r\n else if (val == 'savechanges') {\r\n if (this.applicationComponent.SelectedTab == 'tab12') {\r\n this.RegisterUser('Previlages')\r\n } else if (this.applicationComponent.SelectedTab == 'tab11') {\r\n this.RegisterUser('save');\r\n } else if (this.applicationComponent.SelectedTab == 'tab13') {\r\n this.SaveDashBoardData();\r\n } \r\n \r\n this.UserAccountchangeDialogs = false;\r\n }\r\n }\r\n\r\n GetDocumentAccess() {\r\n //this.totaskids.filter(f => f.Index == taskid && f.Type == \"todo\")\r\n let permissionlevel = this.permissionlevellist.filter(f => f.id == this.user.permissionlevelid);\r\n this.documentAccessName = permissionlevel[0].itemName;\r\n\r\n let userpermissionlevel = this.userpermissionlevellist.filter(f => f.id == this.user.userpermissionlevelid);\r\n this.mySalesXAccessName = userpermissionlevel[0].itemName;\r\n }\r\n ShowAddUserDiv() {\r\n this.DashboardChanged('Registration');\r\n this.selectedMenuRadio = 'tab11';\r\n this.userListgridApi.deselectAll();\r\n \r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.showAddUserDiv = true;\r\n objSelf.user = new Users(); \r\n }, 100));\r\n\r\n }\r\n\r\n CancelUser() {\r\n this.showAddUserDiv = false;\r\n this.user = new Users();\r\n this.gridApi.deselectAll();\r\n }\r\n CancelUserPrivilages() {\r\n this.showUserPrivilegesDiv = false;\r\n var tab = localStorage.getItem('PrevUserConfigTab');\r\n this.selectedMenuRadio = tab;\r\n }\r\n CancelUserDashBoard() {\r\n this.showUserDashBoardDiv = false;\r\n var tab = localStorage.getItem('PrevUserConfigTab');\r\n this.selectedMenuRadio = tab;\r\n }\r\n\r\n CancelAlert() {\r\n this.showAlertsDiv = false\r\n var tab = localStorage.getItem('PrevUserConfigTab');\r\n this.selectedMenuRadio = tab;\r\n }\r\n\r\n //LeadTypeReceiveEvent(msg) {\r\n // if (msg == 'Lead Type') {\r\n // this.LeadType = true;\r\n // }\r\n // else if (\"Close Lead Type\") {\r\n // this.LeadType = false;\r\n // } else {\r\n // this.LeadType = false;\r\n // }\r\n //}\r\n\r\n ProposakAccessType(msg) {\r\n if (msg != null && msg != undefined) {\r\n this.proposalType = msg;\r\n \r\n }\r\n }\r\n\r\n systemAdminClick() {\r\n if (this.currentuser.systemadministrator == 0) {\r\n this.AdminAccess = true;\r\n setTimeout(function () {\r\n $('#SystemAdminAccessBox .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n }\r\n CloseAccessDlg() { this.AdminAccess = false; }\r\n\r\n PrivilageTabChanged(grpName) {\r\n if (grpName == 'Navigation Menu') {\r\n this.selectedPrvMenuRadio = 'prvtab2';\r\n } else if (grpName == 'Action Icon') {\r\n this.selectedPrvMenuRadio = 'prvtab3';\r\n } else if (grpName == '3 Dot Icon') {\r\n this.selectedPrvMenuRadio = 'prvtab4';\r\n } else {\r\n this.selectedPrvMenuRadio = 'prvtab1';\r\n }\r\n \r\n this.loadResourcePrivilegeList(this.user.id, grpName);\r\n }\r\n onUserConfigItemSelect(item: any) {\r\n if (item.value == 'Users (Active)') { this.UserSetUp('Users'); }\r\n else if (item.value == 'Users (Inactive/Suspended)') { this.UserSetUp('Suspended'); }\r\n else if (item.value == 'Users (Role Configuration)') { this.UserSetUp('Role');}\r\n \r\n }\r\n \r\n close() {\r\n\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n \r\n }\r\n\r\n ValidatePassword(event) {\r\n if (event.target.value != null) {\r\n var pwd = event.target.value;\r\n\r\n var strongRegex = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{8,})\");\r\n if (!strongRegex.test(pwd)) {\r\n this.passwordMissmatch = true;\r\n this.passwordMissmatchCss();\r\n !this.userform.valid;\r\n } \r\n }\r\n }\r\n passwordMissmatchCss() {\r\n setTimeout(function () {\r\n $('#passwordMissmatch .dialog').attr('style', 'width: 40%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 42%;overflow: auto;height: 42%;top:10%;padding:0;');\r\n }, 4);\r\n }\r\n ClosePasswordMissmatch() {\r\n this.passwordMissmatch = false;\r\n //setTimeout(() => {\r\n // document.getElementById('password').focus();\r\n //}, 100);\r\n }\r\n\r\n addFiles(event) {\r\n\r\n let files = event.srcElement.files;\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n this.addChargeNew(file);\r\n\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n this.urlImage = reader.result.toString();\r\n }\r\n }\r\n\r\n addChargeNew(file) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.user.ProfilePicture = reader.result.toString();\r\n selfObj.user.Phototype = file.type;\r\n selfObj.urlImage = reader.result.toString();\r\n selfObj.customerService.uploadUserProfilePhoto(selfObj.user).then((user) => {\r\n selfObj.currentuser.ProfilePicture = selfObj.user.ProfilePicture;\r\n localStorage.setItem('currentUser', JSON.stringify(selfObj.currentuser));\r\n });\r\n }, 500));\r\n }\r\n\r\n onGridSettingItemSelect(item: any) {\r\n this.mydash.selectedMyDashDefaultGridId = item.id;\r\n }\r\n onGridSettingItemDeSelect(item: any) {\r\n this.mydash.selectedMyDashDefaultGridId = item.id;\r\n }\r\n cancel() {\r\n\r\n }\r\n}\r\n","
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n

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

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

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

      \r\n
      \r\n \r\n
      \r\n
      \r\n \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, EventEmitter, Output, Input } from '@angular/core';\r\nimport { ContactUs } from 'src/app/models/contact-us';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ApplicationComponent } from '../application.component';\r\n@Component({\r\n selector: 'app-contact-us',\r\n templateUrl: './contact-us.component.html',\r\n styleUrls: ['./contact-us.component.css']\r\n})\r\nexport class ContactUsComponent implements OnInit {\r\n @Input()\r\n From: string;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n contactus: ContactUs = new ContactUs();\r\n currentuser: any;\r\n contactPhone: any;\r\n contentBody: any;\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n constructor(public applicationComponent: ApplicationComponent,private userservice: UserService, private toastr: ToastrService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.contactus.username = this.currentuser.firstname + \" \" + this.currentuser.lastname;\r\n this.contactus.email = this.currentuser.email;\r\n this.contactPhone = this.currentuser.cellphone;\r\n }\r\n ReleaseNotesShow() {\r\n //this.releaseNotesDiv = true;\r\n //this.aboutus = false;\r\n }\r\n ShowContactus() {\r\n //this.ContactUs = true;\r\n //this.aboutus = false;\r\n\r\n }\r\n close() { }\r\n\r\n CancelContactUs() {\r\n var url = window.location.href;\r\n this.applicationComponent.displayheader(url);\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n /*this.sendMsgEvent.emit(\"ContactUs\");*/\r\n }\r\n Send() {\r\n this.contactus.phone = this.contactPhone;\r\n this.contactus.body = this.contentBody;\r\n this.contactus.userId = this.currentuser.id;\r\n this.userservice.sendEmail(this.contactus).then(result => {\r\n if (this.contactus.phone == undefined || this.contactus.phone == '' || this.contactus.body == undefined || this.contactus.body == '') {\r\n return false;\r\n } else {\r\n this.toastr.success(\"Email sent successfully.\", \"Email Sent\", { timeOut: 600 });\r\n }\r\n \r\n });\r\n this.contactPhone = '';\r\n this.contentBody = '';\r\n }\r\n \r\n}\r\n","
      \r\n \r\n
      \r\n
      \r\n
      CONTACT SUMMARY
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      {{contact.accountname}}

      \r\n
      \r\n
      \r\n
      \r\n {{contact.firstname}} {{contact.middlename}} {{contact.lastname}}\r\n , \r\n {{contact.titleName}}\r\n \r\n
      \r\n
      \r\n {{contact.contacttypeName}}\r\n
      \r\n
      {{contact.email}}
      \r\n
      {{contact.office}}
      \r\n
      {{contact.cell}}
      \r\n
      {{contact.address1}}
      \r\n
      {{contact.address2}}
      \r\n
      \r\n {{contact.city}}, {{contact.state | uppercase}}. {{contact.zip | slice:0:5 }}\r\n 5\">-{{contact.zip | slice:5:20 }}, \r\n
      {{contact.country}}
      \r\n
      \r\n
      Last Completed Task:{{contact.LastCompletedTask | date:\"MM-dd-yyyy\"}}
      \r\n
      Last Closed Ticket:{{contact.lastTicketcompleteDate | date:\"MM-dd-yyyy\" }}
      \r\n
      Last Campaign:
      \r\n
      \r\n
      SaaS Date:{{contact.SassDate | date:\"MM-dd-yyyy\"}}
      \r\n
      SaaS Renewal:{{contact.SaaSRenewal | date:\"MM-dd-yyyy\"}}
      \r\n
      SaaS Term: {{contact.SaaStermName}}
      \r\n
      SaaS RCM: {{contact.SaaSRCM | date:\"MM-dd-yyyy\"}}
      \r\n
      \r\n
      College :{{contact.collegeName}}
      \r\n
      Medical School :{{contact.medschoolName}}
      \r\n
      Residency : {{contact.residencyName}}
      \r\n
      Fellowship : {{contact.fellowshipName}}
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      Contact Summary Notes

      \r\n
      Save Contact Summary Notes?
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \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 } from '@angular/core';\r\nimport { Notes } from '../../../models/notes';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DatePipe, TitleCasePipe } from '@angular/common';\r\n@Component({\r\n selector: 'contact-photo',\r\n templateUrl: './contact-photo.component.html',\r\n styleUrls: ['./contact-photo.component.css']\r\n})\r\nexport class ContactPhotoComponent implements OnInit {\r\n notes: Notes = new Notes();\r\n @Input() contact;\r\n public crmDialog = false;\r\n SummaryNoteschanged: boolean = false;\r\n currentuser: any;\r\n @Output() Change: EventEmitter = new EventEmitter();\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n constructor(private customerService: CustomerService, private toastr: ToastrService) { this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); }\r\n\r\n ngOnInit(): void {\r\n this.contact.SassDate = (this.contact.SassDate == \"0001-01-01T00:00:00\") ? null : this.datePipe.transform(this.contact.SassDate, 'yyyy-MM-dd');\r\n this.contact.SaaSRenewal = (this.contact.SaaSRenewal == \"0001-01-01T00:00:00\") ? null : this.datePipe.transform(this.contact.SaaSRenewal, 'yyyy-MM-dd');\r\n this.contact.SaaSRCM = (this.contact.SaaSRCM == \"0001-01-01T00:00:00\") ? null : this.datePipe.transform(this.contact.SaaSRCM, 'yyyy-MM-dd'); \r\n } \r\n close() { this.Change.emit(\"Close\"); }\r\n SaveNote() { \r\n this.notes.accountid = this.contact.id;\r\n this.notes.type = \"ContactSummary\";\r\n this.notes.isnewnote = 1;\r\n this.notes.userid = this.currentuser.id;\r\n this.notes.notedescription = this.contact.SummaryNotes;\r\n if (this.notes.notedescription != undefined && this.notes.notedescription != \"\") {\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.toastr.success(\"Notes saved successfully.\", \"Notes Saved\", { timeOut: 600 });\r\n this.Change.emit(\"Close\"); \r\n });\r\n }\r\n }\r\n checkNotes() {\r\n if (this.SummaryNoteschanged) {\r\n this.Change.emit(\"Open\")\r\n }\r\n else {\r\n this.Change.emit(\"Close\")\r\n } \r\n }\r\n valuechange(event) {\r\n this.SummaryNoteschanged = true;\r\n }\r\n CRMClose() {\r\n if (this.contact.SummaryNotes != null && this.contact.SummaryNotes != \"\") {\r\n this.crmDialog = true;\r\n }\r\n }\r\n \r\n}\r\n","\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n CONTACTS\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n

      Select all the Fields that describe this account

      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n \r\n\r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n \r\n\r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n \r\n\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \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, ViewContainerRef, ElementRef, Renderer2, ViewChild, Optional, Input, EventEmitter, Output } from '@angular/core';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { TempData } from '../../models/temp-data';\r\nimport { Notes } from '../../models/notes';\r\nimport { Http } from '@angular/http';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AppSettings } from '../../app.settings';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ParentComp, UserlistComponent } from \"../userlist/userlist.component\";\r\nimport { CalllisthistoryComponent } from \"../calllisthistory/calllisthistory.component\";\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { PageComponent } from '../page/page.component';\r\nimport { Column } from 'ag-grid';\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { EditactivatecvComponent } from '../editactivatecv/editactivatecv.component';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { AccountsService } from '../../services/accounts.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { EditcontactComponent } from '../editcontact/editcontact.component';\r\nimport * as moment from 'moment'\r\ndeclare var require: any;\r\nimport { NotesComponent } from '../notes/notes.component';\r\nimport { OwnershipsharingComponent } from '../ownershipsharing/ownershipsharing.component';\r\nimport { AddressmapComponent } from '../addressmap/addressmap.component';\r\nimport { DeletePopupComponent } from '../delete-popup/delete-popup.component';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { ContactsdashboardComponent } from '../contacts/contactsdashboard/contactsdashboard.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-contacts',\r\n templateUrl: './contacts.component.html',\r\n styleUrls: ['./contacts.component.css']\r\n})\r\nexport class ContactsComponent implements OnInit {\r\n resizeheight = (window.innerHeight / 1.577) + 'px';\r\n public zipmask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n currentuser: any;\r\n public sideBar;\r\n notedescription: string;\r\n itemResource: any;\r\n items = [];\r\n Contactitems = [];\r\n ContactitemCount = 0;\r\n itemCount = 0;\r\n params: any;\r\n term: string = \"null\";\r\n showDialog = false;\r\n ActiveConvertDialogg = false;\r\n SearchDiv123 = false;\r\n CallHistoryDialog = false;\r\n notesshowDialog = false;\r\n calanderonoff: boolean = true;\r\n dialogOpen: boolean = false;\r\n contactid: number; callhistorystatus: string;\r\n type: string;\r\n isselectionUserlist: boolean = false;\r\n showAddEditContact: boolean = false;\r\n EnableSearch: boolean = false;\r\n isContactViewOpen: boolean = true;\r\n leadstatus: number;\r\n notesitemResource: any;\r\n notesitems = [];\r\n notesitemCount = 0;\r\n ContactIds: string;\r\n notesparams: any;\r\n Ids = [];\r\n subtype: string = \"contacts\";\r\n ContacttableDiv: boolean = true;\r\n practicetableDiv: boolean = true;\r\n IsEditContact: boolean = false;\r\n isSharing: boolean = false;\r\n dropdownList = [];\r\n finalitems = \"\";\r\n /*selectedItems = [];*/\r\n dropdownSetting = {};\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n notes: Notes = new Notes();\r\n accessDenied: boolean = false;\r\n isMultiLine: boolean = false;\r\n showcustomer: boolean = false;\r\n isSharedConatcts: boolean = true;\r\n itemList = [];\r\n //selectedItems2 = [];\r\n settings2 = {};\r\n thisComp: ParentComp = ParentComp.Contacts;\r\n isViewInitialized: boolean = false;\r\n isPgClickRegistered: boolean = false;\r\n @ViewChild(UserlistComponent) userListComp;\r\n @ViewChild(CalllisthistoryComponent) callhistorycmp;\r\n @ViewChild(NotesComponent) notecomp;\r\n @ViewChild(EditcontactComponent) editcontactcomp;\r\n @ViewChild(AddressmapComponent) addressMapComp: AddressmapComponent;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n @ViewChild(DeletePopupComponent) deletePopupComp: DeletePopupComponent;\r\n @ViewChild(ContactsdashboardComponent) condashcmp: ContactsdashboardComponent;\r\n isHeaderFixed: boolean = true;\r\n isStatusidopen: boolean = false;\r\n public gridOptions: GridOptions;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefs: any[];\r\n public TableColumns: any;\r\n public defaultColDef;\r\n public columnDefsnotes: any[];\r\n public contactProps: string[];\r\n allContacts: Contacts[];\r\n OriginalallContacts: Contacts[];\r\n pageSize = '100'; value = \"\";\r\n public selectedStatus: number = 309;\r\n public context;\r\n //googlemapshow: boolean = false;\r\n public frameworkComponents;\r\n public getRowHeight;\r\n activeItems: boolean = true;\r\n isGooglemapExpandOpen: boolean = false;\r\n colSelections: string;\r\n aggridheight: string;\r\n allnotes: Notes[];\r\n allContactsproviders: any[] = [];\r\n //public editorOptions: Object = { key: 'pe1G2wF1I1B2C3B5D6B4ogtzrkayiqC2A-7pmB-16D4E3D2F3C3I2D1B10C2B3==' };\r\n Collegelist: Dropdowntype[] = [];\r\n contacttypelist: Dropdowntype[] = [];\r\n SexList: Dropdowntype[] = [];\r\n TitleList: Dropdowntype[] = [];\r\n SuffixList: Dropdowntype[] = [];\r\n Specialitytypelist: Dropdowntype[] = [];\r\n MonthList: Dropdowntype[] = [];\r\n DayList: Dropdowntype[] = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n StatesList: Dropdowntype[] = [];\r\n CitiesList: Dropdowntype[] = [];\r\n OwnerList: Dropdowntype[] = [];\r\n Years: any[];\r\n MedSchoolYears: any[];\r\n ResidencyYears: any[];\r\n FellowShipYears: any[];\r\n @Input()\r\n FromSelector: boolean = false;\r\n tempdata: TempData[] = [];\r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n userInfo: string;\r\n isModal: boolean = true;\r\n accountid;\r\n divHeight =(screen.height * 0.6);\r\n private gridApi;\r\n private gridColumnApi;\r\n isShowDetailsChecked: boolean = false;\r\n isShowAccountInfo: boolean = false;\r\n public stateInfo = []; \r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()-1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } }; \r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } } \r\n active_deactiveStatus: number=0; NotesDec = false;\r\n timezonevalue: string;\r\n showEditNoteBtn: boolean = false;\r\n isShowContactInfo: boolean = false;\r\n editNoteId: boolean = false;\r\n Contactvales: string = \"0\";\r\n isCustomer: boolean = false;\r\n isFormerCustomer: boolean = false;\r\n contactIdArr: Dropdowntype[] = [];\r\n DeleteConfirmationPopup: boolean = false;\r\n deleteRowData: any;\r\n contactStatus: any;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n SelectedContact: number = 0;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n DocExpandView: boolean = false;\r\n constructor(private paginationcop: PageComponent, public applicationComponent: ApplicationComponent, private accountsService: AccountsService, private elementRef: ElementRef,\r\n private renderer: Renderer2, private http: Http, private opprtunityservice: OpprtunitiesService, private route: ActivatedRoute, private customerService: CustomerService,\r\n private router: Router, private settings: AppSettings, private toastr: ToastrService, private viewContainerRef: ViewContainerRef) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n initializeAgGrid(typeval) {\r\n this.gridOptions = {\r\n pagination: true, paginationPageSize: 1000,enableColResize: true, enableSorting: true, defaultToolPanel:'', enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true,\r\n rowSelection: 'multiple', enableCellChangeFlash: true, rowDragManaged: true, animateRows: true, suppressSorting: true, suppressMultiSort: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n defaultToolPanel: 'none',\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 5).then((config) => { \r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01'; \r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n this.GetContactList(this.term, $(\"#userids\").val(), 0); \r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }, \r\n ],\r\n position: 'right',\r\n defaultToolPanel: 'none',\r\n };\r\n\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent,\r\n editdeletecv: EditdeletecvComponent,\r\n editactivatecv: EditactivatecvComponent\r\n };\r\n \r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3,\r\n closeDropDownOnSelection: false\r\n };\r\n }\r\n createColumnDefs(columnSelections: string, searchstring, @Optional() isDeActive: boolean = false) {\r\n var searcharray = [];\r\n if (this.gridOptions.quickFilterText != null && this.gridOptions.quickFilterText != undefined && this.gridOptions.quickFilterText != '') {\r\n searcharray.push(this.gridOptions.quickFilterText);\r\n } \r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n \r\n columnSelectionsArray = columnSelections.split(',');\r\n this.columnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\" && !isDeActive) {\r\n\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n \r\n });\r\n } \r\n else if (fieldHeaderVisibleWidthArray[0] == \"callliststatus\") {\r\n this.columnDefs.push({\r\n field: 'callliststatus', headerName: 'Call List Hx', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.id;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n selfObj.CallHistoryDialog = true;\r\n });\r\n return eDiv;\r\n }, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n })\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"customertype\") {\r\n this.columnDefs.push({\r\n field: 'customertype', headerName: 'Customer Type', hide: (!this.isCustomer && !this.isFormerCustomer),\r\n cellRenderer: function (params) {\r\n if (params.value == '1') { return \"Active\" }\r\n else if (params.value == '2') { return \"In Active\" } else {\r\n return params.value;\r\n }\r\n },\r\n getQuickFilterText: () => '',\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastname\") {\r\n \r\n this.columnDefs.push({\r\n field: 'lastname', headerName: 'Last Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n \r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstname\") {\r\n this.columnDefs.push({\r\n field: 'firstname', headerName: 'First Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"zip\") {\r\n this.columnDefs.push({\r\n field: 'zip', headerName: 'ZIP', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n },\r\n getQuickFilterText: () => '',\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accnumber\") {\r\n this.columnDefs.push({\r\n field: 'accnumber', headerName: 'Acct #', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer), cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accountname\") {\r\n this.columnDefs.push({\r\n field: 'accountname', headerName: 'Account', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '',hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"speciality\") {\r\n this.columnDefs.push({\r\n field: 'specialityName', headerName: 'Speciality', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }, getQuickFilterText: () => '', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"contacttype\") {\r\n this.columnDefs.push({\r\n field: 'contacttypeName', headerName: 'Contact Type', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"actions\") {\r\n this.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: isDeActive ? 'editactivatecv' : 'editdeletecv', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, pinned: 'right', width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({\r\n field: 'OWNER', headerName: 'Owner', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"conmapit\") {\r\n this.columnDefs.push({\r\n field: 'conmapit', headerName: 'Map It', hide: false, getQuickFilterText: () => '', suppressSorting: true, width:80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n //eDiv.addEventListener('click', function () {\r\n //});\r\n return eDiv;\r\n } \r\n });\r\n }\r\n else {\r\n\r\n /* var res = this.TableColumns.filter(ele => ele.ColumnName == fieldHeaderVisibleWidthArray[0] && ele.DataType == \"Pick List\")*/\r\n //if (res.length > 0) {\r\n // selfObj.columnDefs.push({\r\n // field: fieldHeaderVisibleWidthArray[0],\r\n // headerName: fieldHeaderVisibleWidthArray[1],\r\n // hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n // width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n // cellRenderer(params) {\r\n \r\n // if (params.value != null && params.value != \"\") {\r\n // return params.value.split(\":\")[1];\r\n // } else {\r\n // return params.value;\r\n // }\r\n\r\n // }\r\n // });\r\n //}\r\n //else {\r\n if (fieldHeaderVisibleWidthArray[0] == 'office' || fieldHeaderVisibleWidthArray[0] == 'cell') {\r\n selfObj.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, \r\n width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }\r\n }\r\n });\r\n } else {\r\n selfObj.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }, getQuickFilterText: () => '',\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n //}\r\n }\r\n\r\n }\r\n }\r\n } else { \r\n selfObj.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n }\r\n ];\r\n //selfObj.TableColumns.forEach(ele => {\r\n // if (ele.OldOrNew == 'Old') {\r\n // switch (ele.ColumnName) {\r\n // case 'customertype': {\r\n selfObj.columnDefs.push({\r\n field: 'contacttypeName', headerName: 'Customer Type ', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n if (params.value == '1') { return \"Active\" }\r\n else if (params.value == '2') { return \"In Active\" } else {\r\n return params.value;\r\n }\r\n //}\r\n },\r\n getQuickFilterText: () => '', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer)\r\n })\r\n // break\r\n // } \r\n // case 'accnumber': {\r\n selfObj.columnDefs.push({\r\n field: 'accnumber', headerName: 'Acct #', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer)\r\n , cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }, getQuickFilterText: () => ''\r\n })\r\n // break\r\n // }\r\n // case 'lastname': {\r\n selfObj.columnDefs.push({\r\n field: 'lastname', headerName: 'Last Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else { \r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n // } else {\r\n return params.value;\r\n // } \r\n }\r\n }\r\n })\r\n // break\r\n // }\r\n // case 'firstname': {\r\n selfObj.columnDefs.push({\r\n field: 'firstname', headerName: 'First Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else { \r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n // } else {\r\n return params.value;\r\n //} \r\n }\r\n }\r\n })\r\n \r\n selfObj.columnDefs.push({\r\n field: 'middlename', headerName: 'Middle Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else { \r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n // } else {\r\n return params.value;\r\n //}\r\n \r\n }\r\n }\r\n })\r\n // break\r\n // }\r\n // case 'title': {\r\n selfObj.columnDefs.push({\r\n field: 'titleName', headerName: 'Title', hide: false, cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => ''\r\n })\r\n // break\r\n // }\r\n // case 'speciality': {\r\n selfObj.columnDefs.push({\r\n field: 'specialityName', headerName: 'Specialty', hide: false, cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n },getQuickFilterText: () => ''\r\n })\r\n // break\r\n // }\r\n // case 'DOB': {\r\n selfObj.columnDefs.push({\r\n field: 'DOB', headerName: 'DOB', hide: false, cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => ''\r\n \r\n })\r\n // break\r\n // }\r\n // case 'zip': {\r\n selfObj.columnDefs.push({\r\n field: 'zip', headerName: 'ZIP', hide: false, cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n },getQuickFilterText: () => ''\r\n })\r\n // break\r\n // }\r\n // case 'accountname': {\r\n selfObj.columnDefs.push({\r\n field: 'accountname', headerName: 'Account', hide: false, cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n },getQuickFilterText: () => ''\r\n })\r\n // break\r\n // }\r\n // case 'suffix': {\r\n selfObj.columnDefs.push({\r\n field: 'suffixName', headerName: 'Suffix', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }, getQuickFilterText: () => '', hide: true })\r\n // break\r\n // }\r\n // case 'sex': {\r\n selfObj.columnDefs.push({\r\n field: 'sexName', headerName: 'Sex', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '',hide: true, })\r\n // break\r\n // }\r\n // case 'subspeciality': {\r\n selfObj.columnDefs.push({\r\n field: 'subspecialityName', headerName: 'Subspeciality', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }, getQuickFilterText: () => '',hide: true })\r\n // break\r\n // }\r\n // case 'email': {\r\n selfObj.columnDefs.push({\r\n field: 'email', headerName: 'Email', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n },getQuickFilterText: () => '',hide: true })\r\n // break\r\n // }\r\n // case 'address1': {\r\n selfObj.columnDefs.push({\r\n field: 'address1', headerName: 'Address1', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '',hide: true,})\r\n // break\r\n // }\r\n // case 'address2': {\r\n selfObj.columnDefs.push({\r\n field: 'address2', headerName: 'Address2', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n },getQuickFilterText: () => '',hide: true,})\r\n // break\r\n // }\r\n // case 'city': {\r\n selfObj.columnDefs.push({\r\n field: 'city', headerName: 'City', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }, getQuickFilterText: () => '',hide: true})\r\n // break\r\n // }\r\n // case 'state': {\r\n selfObj.columnDefs.push({\r\n field: 'state', headerName: 'State', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '',hide: true })\r\n // break\r\n // }\r\n // case 'ownerid': {\r\n selfObj.columnDefs.push({\r\n field: 'OWNER', headerName: 'Owner', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: false})\r\n // break\r\n // } \r\n // case 'cell': {\r\n selfObj.columnDefs.push({\r\n field: 'cell', headerName: 'Cell', hide: true, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }\r\n } })\r\n // break\r\n // }\r\n // case 'office': {\r\n selfObj.columnDefs.push({\r\n field: 'office', headerName: 'Office', hide: true, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }\r\n } })\r\n // break\r\n // }\r\n // case 'homeaddress': {\r\n selfObj.columnDefs.push({\r\n field: 'homeaddress', headerName: 'Home Address', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: true, })\r\n // break\r\n // }\r\n // case 'homecity': {\r\n selfObj.columnDefs.push({\r\n field: 'homecity', headerName: 'Home City', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n }, getQuickFilterText: () => '', hide: true})\r\n // break\r\n // }\r\n // case 'homestate': {\r\n selfObj.columnDefs.push({\r\n field: 'homestate', headerName: 'Home State', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: true, })\r\n // break\r\n // }\r\n // case 'homezip': {\r\n selfObj.columnDefs.push({\r\n field: 'homezip', headerName: 'Home Zip', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n },getQuickFilterText: () => '', hide: true,})\r\n // break\r\n // }\r\n // case 'home': {\r\n selfObj.columnDefs.push({\r\n field: 'home', headerName: 'Home', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n },getQuickFilterText: () => '', hide: true,})\r\n // break\r\n // }\r\n // case 'college': {\r\n selfObj.columnDefs.push({\r\n field: 'collegeName', headerName: 'College', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n //}\r\n },getQuickFilterText: () => '', hide: true,})\r\n // break\r\n // }\r\n // case 'collegegrandyear': {\r\n selfObj.columnDefs.push({\r\n field: 'collegegrandyear', headerName: 'C.G.year', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: true, })\r\n // break\r\n // }\r\n // case 'medschool': {\r\n selfObj.columnDefs.push({\r\n field: 'medschoolName', headerName: 'Medschool', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: true, })\r\n // break\r\n // }\r\n // case 'medschoolgrandyear': {\r\n selfObj.columnDefs.push({\r\n field: 'medschoolgrandyear', headerName: 'M.G.year', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: true, })\r\n // break\r\n // }\r\n // case 'residency': {\r\n selfObj.columnDefs.push({\r\n field: 'residencyName', headerName: 'Residency', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: true, })\r\n // break\r\n // }\r\n // case 'residencygrandyear': {\r\n selfObj.columnDefs.push({\r\n field: 'residencygrandyear', headerName: 'R.G.year', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n },getQuickFilterText: () => '', hide: true, })\r\n // break\r\n // }\r\n // case 'fellowship': {\r\n selfObj.columnDefs.push({\r\n field: 'fellowshipName', headerName: 'Fellowship', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '', hide: true, })\r\n // break\r\n // }\r\n // case 'fellowshipgrandyear': {\r\n selfObj.columnDefs.push({\r\n field: 'fellowshipgrandyear', headerName: 'F.G.year', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n },getQuickFilterText: () => '', hide: true,})\r\n // break\r\n // }\r\n \r\n // case 'created': {\r\n // selfObj.columnDefs.push({ field: 'created', headerName: 'Created123', getQuickFilterText: () => '', hide: true, })\r\n // break\r\n // }\r\n // case 'Status': {\r\n // selfObj.columnDefs.push({ field: 'Status', headerName: 'Created', getQuickFilterText: () => '',hide: true, })\r\n // break\r\n // } case 'contacttype': {\r\n selfObj.columnDefs.push({\r\n field: 'contacttypeName', headerName: 'contact Type', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '',hide: true, })\r\n // break\r\n // }\r\n // case 'country': {\r\n selfObj.columnDefs.push({\r\n field: 'country', headerName: 'Created', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n // }\r\n }, getQuickFilterText: () => '',hide: true, })\r\n // break\r\n // } case 'AlternateNo1': {\r\n selfObj.columnDefs.push({\r\n field: 'AlternateNo1', headerName: 'Alternate No1', cellRenderer: function (params) {\r\n //if ((params.data.lattitude == \"\" || params.data.lattitude == null)) {\r\n // return \" \"\r\n //} else {\r\n return params.value;\r\n /*}*/\r\n },getQuickFilterText: () => '',hide: true, })\r\n // break\r\n // }\r\n\r\n \r\n // }\r\n // } else {\r\n // selfObj.columnDefs.push({ field: ele.ColumnName, headerName: ele.DisplayAs, getQuickFilterText: () => '', hide: true, width: 200 })\r\n // }\r\n \r\n //});\r\n selfObj.columnDefs.push({\r\n field: \"Geo\", headerName: 'Geo', hide: false,\r\n })\r\n selfObj.columnDefs.push({\r\n field: \"notes\", headerName: 'Notes', hide: false, cellRenderer: 'notesrenderer'})\r\n selfObj.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: isDeActive ? 'editactivatecv' : 'editdeletecv', hide: false, pinned: 'right' })\r\n \r\n }\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n var allColumnIds = [];\r\n this.gridOptions.api.sizeColumnsToFit();\r\n }\r\n\r\n txtPageSizeChanged(pageSize) {\r\n this.currentPage = 1;\r\n this.pageSize = pageSize;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.active_deactiveStatus);\r\n this.saveConfiguration();\r\n }\r\n\r\n columnVisible(event) { \r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 100;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 5;\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n config.userid = \"\";\r\n for (let i = 0; i < this.applicationComponent.selectedItems.length; i++) {\r\n config.userid += this.applicationComponent.selectedItems[i].id + \",\";\r\n }\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.isShowAccountInfo = false;\r\n this.SelectedContact = event.api.getSelectedNodes()[0].data.id;\r\n if (this.condashcmp != undefined) {\r\n this.condashcmp.GetContactInfo(event.api.getSelectedNodes()[0].data.id);\r\n this.contactid = event.api.getSelectedNodes()[0].data.id;\r\n }\r\n }\r\n }\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n\r\n\r\n if (this.gridApi.getSelectedRows() != undefined && this.gridApi.getSelectedRows()?.length > 0) {\r\n $('#emailIds').val(this.gridApi.getSelectedRows().map(x => x.id).join(','));\r\n this.ContactIds = this.gridApi.getSelectedRows().map(x => x.id).join(',');\r\n $('#tasklistselectedtyle').val('Contact');\r\n } else {\r\n $('#emailIds').val(\"\");\r\n this.ContactIds = \"\";\r\n $('#tasklistselectedtyle').val('');\r\n }\r\n if (this.applicationComponent.googlemapshow) {\r\n if (this.addressMapComp != undefined) {\r\n this.addressMapComp.GetLocations(this.ContactIds, 'Contacts');\r\n }\r\n }\r\n\r\n\r\n // if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n // var index = (this.Ids).indexOf(rowEvent.data.id);\r\n // (this.Ids).splice(index, 1);\r\n // var string = (this.Ids).toString();\r\n // $('#emailIds').val(string);\r\n // if ($('#emailIds').val() != '') { $('#tasklistselectedtyle').val('Contact'); } else {\r\n // $('#tasklistselectedtyle').val(' ');\r\n // }\r\n // this.ContactIds = string;\r\n // } else {\r\n // if (rowEvent.data.permission == \"view\") {\r\n // this.applicationComponent.isAccessDenied = true;\r\n // } else {\r\n // this.applicationComponent.isAccessDenied = false;\r\n // }\r\n // this.Ids.push(rowEvent.data.id)\r\n // var string = (this.Ids).toString(); \r\n // $('#emailIds').val(string);\r\n // $('#tasklistselectedtyle').val('Contact'); \r\n // this.ContactIds = string;\r\n // this.contactid = rowEvent.data.id;\r\n // this.accountid = rowEvent.data.accountid;\r\n \r\n // }\r\n //if (this.addressMapComp != undefined) {\r\n // this.addressMapComp.GetLocations(this.ContactIds, 'Contacts');\r\n //}\r\n \r\n }\r\n\r\n MapItEventListner() {\r\n if (this.applicationComponent.isMapItEventRaised) {\r\n this.IsEditContact = false;\r\n }\r\n else {\r\n this.applicationComponent.googlemapshow = false;\r\n }\r\n }\r\n cellDoubleClicked(rowEvent) {\r\n this.isSharing = false;\r\n this.isShowContactInfo = true;\r\n this.contactid = rowEvent.data.id;\r\n this.SelectedContact = this.contactid;\r\n this.gridOptions.rowSelection = 'single';\r\n this.accountid = rowEvent.data.accountid;\r\n this.EnableSearch = false;\r\n }\r\n\r\n cellClicked(rowEvent) {\r\n \r\n }\r\n openNotesDialogAg(rowdata) { \r\n if (rowdata.permission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else { \r\n this.contactid = rowdata.id;\r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n }\r\n }\r\n oneventReceived(msg) {\r\n this.IsEditContact = false;\r\n this.toastr.success(\"Contact saved successfully.\", \"Contact Saved\", { timeOut: 1000 });\r\n }\r\n\r\n onCloseDialogEventReceived(msg) {\r\n this.notecomp.statusIds = false;\r\n }\r\n editRowAg(rowdata) {\r\n if (rowdata.permission == \"view\")\r\n {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogsize();\r\n }\r\n else {\r\n this.contactid = rowdata.id;\r\n this.accountid = rowdata.accountid;\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n \r\n }\r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n if (this.deleteRowData.permission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogsize();\r\n }\r\n else {\r\n this.contactid = this.deleteRowData.id;\r\n let isdeletedstatustext = (this.deleteRowData.isdeleted == 1) ? \"Re-Activate\" : \"De-Activate\";\r\n //var c = confirm(\"Are you sure you want to \" + isdeletedstatustext + \" this Contact??\");\r\n //if (c == true) {\r\n let isdeletedstatus = (this.deleteRowData.isdeleted == 1) ? 0 : 1;\r\n this.customerService.Deactivatecontact(this.deleteRowData.id, isdeletedstatus).then((user) => {\r\n this.active_deactiveStatus = this.activeItems ? 0 : 1;\r\n this.GetContactList(this.term, $(\"#userids\").val(),this.active_deactiveStatus);\r\n this.DeleteConfirmationPopup = false;\r\n });\r\n \r\n //}\r\n }\r\n } else {\r\n this.DeleteConfirmationPopup = false;\r\n }\r\n }\r\n deleteRowAg(rowdata) {\r\n\r\n if (this.currentuser.userrole == 1 && rowdata.ownerid == this.currentuser.id) {\r\n this.deleteRowData = rowdata;\r\n this.contactStatus = rowdata.isdeleted;\r\n this.DeleteConfirmationPopup = true;\r\n setTimeout(function () {\r\n $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n } else {\r\n alert(\"Please Contact System Admin / Owner of the Account to delete\");\r\n }\r\n }\r\n ExpandPDF(val) {\r\n this.notesshowDialog = true;\r\n this.QuickViewDialogCss(val);\r\n this.DocExpandView = val;\r\n }\r\n QuickViewDialogCss(val) {\r\n if (val == true) { //expand\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n dialogsize() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 32%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 23%;overflow: visible;height: 24%;');\r\n\r\n }, 4)\r\n }\r\n convertContactAg(rowdata) {\r\n if (rowdata.permission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogsize();\r\n }\r\n else {\r\n this.contactid = rowdata.id;\r\n this.leadstatus = 0;\r\n this.customerService.GetContactById(rowdata.id).then(result => {\r\n this.contact = result;\r\n this.leadstatus = this.contact.converttolead;\r\n if (this.leadstatus == 0) {\r\n this.applicationComponent.loaddialog('convertcontacttolead', 'Convert Lead', 'Convert this Contact to a Lead?', false, false, true, true, this.contactid);\r\n }\r\n else {\r\n this.applicationComponent.loaddialog('convertcontacttolead', 'Convert Lead', 'Contact is an Open Lead', false, false, true, true, this.contactid);\r\n } \r\n });\r\n \r\n }\r\n }\r\n ngOnInit() {\r\n this.applicationComponent.googlemapshow = false;\r\n this.applicationComponent.pageViewed = \"\";\r\n this.applicationComponent.selectedbuttonText = \"Contacts\";\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#contact\").addClass(\"mainactiveButton\");\r\n this.initializeAgGrid(\"Yes\"); \r\n this.isViewInitialized = true;\r\n\r\n }\r\n\r\n sharingAg(rowdata) {\r\n this.isSharing = true;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ownrshipComp.loadAccountInformation(rowdata.accountid, 0);\r\n }, 50));\r\n }\r\n \r\n onCloseEventReceived(msg) {\r\n if (msg == 'Close') {\r\n this.isSharing = false;\r\n } else if (msg == 'Save') {\r\n //this.getContactList();\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.active_deactiveStatus);\r\n }\r\n \r\n }\r\n GetAllaccesusersListbyuser() {\r\n \r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n\r\n GetContactIds() {\r\n this.customerService.GetSpecialityList(\"ContactIds\", this.currentuser.id).then((Acids) => {\r\n this.contactIdArr = Acids;\r\n });}\r\n userListOutParamsBinding(outProps) {\r\n this.finalitems = outProps.finalitems;\r\n this.Contactitems = outProps.items;\r\n this.ContactitemCount = outProps.itemsCount;\r\n this.applicationComponent.selectedItems = outProps.selectedItems;\r\n }\r\n \r\n AssignStartAndEndDate(event) {\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n GetContactList(term, userid, active_deactiveStatus?: number) { \r\n this.createColumnDefs(this.colSelections, this.applicationComponent.searchstring, !this.activeItems); \r\n this.opprtunityservice.GetAllContactsbySearchPaginationNew(this.currentuser.id, term, userid, this.subtype, active_deactiveStatus,\r\n (this.calanderonoff) ? '2018-01-01' : '2018-01-01', this.endDateVal, this.Contactvales).then((contact) => { \r\n this.allContacts = this.OriginalallContacts = contact;\r\n \r\n this.allContacts = this.OriginalallContacts.filter(x => x.STATUS == this.selectedStatus);\r\n\r\n if (localStorage.getItem('RhxContactVal') != null && localStorage.getItem('RhxContactVal') != undefined) {\r\n this.isShowContactInfo = true;\r\n this.contactid = Number(localStorage.getItem('RhxContactVal'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 300)); \r\n \r\n } else { \r\n this.createColumnDefs(this.colSelections, this.applicationComponent.searchstring, !this.activeItems); \r\n }\r\n \r\n });\r\n }\r\n \r\n onDropdownClose(items: any) {\r\n }\r\n rowDoubleClick(rowEvent) {\r\n if (rowEvent.row.item.permission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/contactsdashboard/${rowEvent.row.item.id}/${rowEvent.row.item.permission}`);\r\n }\r\n }\r\n\r\n covertContact(rowEvent) {\r\n this.contactid = rowEvent.id;\r\n this.showDialog = !this.showDialog\r\n }\r\n \r\n Edit(event) {\r\n this.router.navigateByUrl(`/application/contactsdashboard/${event.id}/edit`);\r\n }\r\n\r\n Delete(rowEvent) {\r\n this.contactid = rowEvent.id;\r\n let isdeletedstatustext = (rowEvent.isdeleted == 1) ? \"Re-Activate\" : \"De-Activate\";\r\n var c = confirm(\"Are you sure you want to \" + isdeletedstatustext + \" this Contact??\");\r\n if (c == true) {\r\n let isdeletedstatus = (rowEvent.isdeleted == 1) ? 0 : 1;\r\n this.customerService.Deactivatecontact(rowEvent.id, isdeletedstatus).then((user) => {\r\n this.active_deactiveStatus = this.activeItems ? 0 : 1;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.active_deactiveStatus);\r\n });\r\n }\r\n }\r\n getContactList() {\r\n this.activeItems = this.activeItems ? false : true;\r\n this.active_deactiveStatus = this.activeItems ? 0 : 1;\r\n\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.active_deactiveStatus);\r\n }\r\n Resetcontacts() {\r\n this.contact.contacttype = null;\r\n this.contact.suffix = null;\r\n this.contact.sex = null;\r\n this.contact.title = null;\r\n this.contact.speciality = null;\r\n this.contact.subspeciality = null;\r\n this.contact.college = 0;\r\n this.contact.collegegrandyear = null;\r\n this.contact.medschool = 0;\r\n this.contact.medschoolgrandyear = null;\r\n this.contact.residency = 0;\r\n this.contact.residencygrandyear = null;\r\n this.contact.fellowship = 0;\r\n this.contact.fellowshipgrandyear = null;\r\n this.contact.ownerid = null;\r\n this.contact.practiceid = 0;\r\n }\r\n getyears() {\r\n var range = [];\r\n var year = new Date().getFullYear();\r\n for (var i = 0; i < 7; i++) {\r\n range.push({\r\n label: year + i,\r\n value: parseInt(String(year + i).slice(2, 4))\r\n });\r\n }\r\n this.Years = range;\r\n }\r\n SaveContact() {\r\n this.accountsService.addcontact(this.contact).then(result => {\r\n this.customerService.GetContactById(result.id).then(result => {\r\n this.contact = result;\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n });\r\n\r\n });\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n if (this.account.customertypeid == 1) {\r\n document.getElementById('logoid').style.display = 'block';\r\n } else {\r\n document.getElementById('logoid').style.display = 'none';\r\n }\r\n });\r\n });\r\n }\r\n\r\n openDisplaynotes(params) {\r\n $('#closeDetailsDialog').click();\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n let selfObj = this;\r\n $(setTimeout(function () { \r\n if (selfObj.isModal) { \r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n $('.fr-wrapper').css('height', '68%');\r\n $('.fr-wrapper').css('overflow', 'auto');\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n } else {\r\n var gridOffset = $(\"#notesGrid\").offset(); \r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n } \r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n\r\n }\r\n editNotesDialogSize() {\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n $('#showDetailsDialog').show();\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n Search(val) {\r\n if (val == true) {\r\n this.applicationComponent.Searchdiv = true;\r\n }\r\n else {\r\n this.applicationComponent.Searchdiv = false;\r\n }\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.active_deactiveStatus);\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n \r\n if (outProps.enableSearch) { this.EnableSearch = true; }\r\n if (outProps.secondDrpValue == \"\") { this.allContacts = []; } else {\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.Contactvales = outProps.secondDrpValue == undefined ? \"0\" : outProps.secondDrpValue;\r\n\r\n if (outProps.thirdDrpValue != \"0\" && outProps.thirdDrpValue != undefined && outProps.thirdDrpValue != \"\") {\r\n \r\n this.allContacts = this.OriginalallContacts.filter(x => x.contacttypeName == outProps.thirdDrpValue);\r\n } else if (outProps.fourthDrpValue != \"0\" && outProps.fourthDrpValue != undefined && outProps.fourthDrpValue != \"Select Last Activity\" && outProps.fourthDrpValue != \"\") {\r\n this.opprtunityservice.GetAlllastActivityContacts($(\"#userids\").val(), outProps.fourthDrpValue).then((accounts) => {\r\n this.allContacts = accounts;\r\n });\r\n\r\n } else {\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize));\r\n if (!outProps.pageSizeChanged) { \r\n if (outProps.secondDrpValue == '1') {\r\n this.selectedStatus = 309;\r\n } else if (outProps.secondDrpValue == '2') {\r\n this.selectedStatus = 310;\r\n }\r\n \r\n this.GetContactList(this.term, $(\"#userids\").val(), this.active_deactiveStatus);\r\n }\r\n } else {\r\n this.allContacts = this.OriginalallContacts = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n }\r\n if (outProps.fifthDrpValue == \"No Shared Contacts\") {\r\n this.isSharedConatcts = false;\r\n } else {\r\n this.isSharedConatcts = true;\r\n }\r\n }\r\n CloseaccountIds() { this.isStatusidopen = false; }\r\n \r\n onContactMessageReceived(msg) {\r\n if (msg == \"StatusId\") { this.isStatusidopen = true }\r\n else if (msg == \"QuickView\") { this.CloseContactDiv(); }\r\n else {\r\n this.isShowAccountInfo = true;\r\n }\r\n }\r\n expandContactView(value) { \r\n if (value === 'Collapse') {\r\n this.isContactViewOpen = false;\r\n if (this.applicationComponent.googlemapshow) {\r\n this.isGooglemapExpandOpen = true;\r\n } else {\r\n this.condashcmp.SixBoxExpand = false;\r\n this.condashcmp.tab = 'QuickView';\r\n } \r\n }\r\n else {\r\n this.isContactViewOpen = true;\r\n if (this.applicationComponent.googlemapshow) {\r\n this.isGooglemapExpandOpen = false;\r\n } else {\r\n this.condashcmp.SixBoxExpand = false;\r\n this.condashcmp.tab = 'QuickView';\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n }\r\n }\r\n }\r\n ContactIdsReceived(contactids) {\r\n this.allContacts = this.allContacts.filter(x => this.ContactIds.split(',').includes(x.id.toString())); \r\n }\r\n CloseContactDiv() {\r\n this.isShowContactInfo = false;\r\n this.isContactViewOpen = true;\r\n this.applicationComponent.activateMainButtons('contact'); \r\n }\r\n onFilterTextBoxChanged() {\r\n this.gridApi.setQuickFilter(\r\n (document.getElementById('filter-text-box') as HTMLInputElement).value\r\n );\r\n this.gridOptions.quickFilterText = (document.getElementById('filter-text-box') as HTMLInputElement).value;\r\n this.createColumnDefs(this.colSelections, this.applicationComponent.searchstring, !this.activeItems);\r\n this.gridApi.redrawRows(); \r\n }\r\n ClearSearch() {\r\n this.gridOptions.quickFilterText = \"\";\r\n this.gridApi.setQuickFilter('');\r\n this.value = \"\";\r\n this.EnableSearch = false;\r\n this.createColumnDefs(this.colSelections, this.applicationComponent.searchstring, !this.activeItems);\r\n this.gridApi.redrawRows(); \r\n }\r\n}\r\n","\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n {{displaycontact.firstname}} {{displaycontact.middlename}} {{displaycontact.lastname}}, {{displaycontact.titleName}}\r\n
      {{displaycontact.email}}
      \r\n
      Office:{{displaycontact.office}}
      \r\n
      Cell:{{displaycontact.cell}}
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n\r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Contact Type:\r\n
      \r\n
      \r\n {{displaycontact.contacttypeName}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Address1:\r\n
      \r\n
      \r\n {{displaycontact.address1}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Address2:\r\n
      \r\n
      \r\n {{displaycontact.address2}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n City/State/Zip/Country:\r\n
      \r\n
      \r\n {{displaycontact.city}}, {{displaycontact.state | uppercase}}. {{displaycontact.zip | slice:0:5 }} 5\">-{{displaycontact.zip | slice:5:20 }}, {{displaycontact.country}}\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n Island:\r\n
      \r\n
      \r\n {{displaycontact.ProvidenceIsland}}\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n Specialty:\r\n
      \r\n
      \r\n {{displaycontact.specialityName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Sub Specialty:\r\n
      \r\n
      \r\n {{displaycontact.subspecialityName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Sex:\r\n
      \r\n
      \r\n {{(displaycontact.sex == 315)?'Male':(displaycontact.sex == 316)? 'Female' : ''}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n DOB:\r\n
      \r\n
      \r\n {{displaycontact.DOB}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n College/Year:\r\n
      \r\n
      \r\n {{displaycontact.collegeName}}\r\n \r\n /{{displaycontact.collegegrandyear }}\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Med School/Year:\r\n
      \r\n
      \r\n {{displaycontact.medschoolName}}\r\n \r\n / {{displaycontact.medschoolgrandyear }}\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Residency/Year:\r\n
      \r\n
      \r\n {{displaycontact.residencyName}}\r\n /{{displaycontact.residencygrandyear}} \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Fellowship/Year:\r\n
      \r\n
      \r\n {{displaycontact.fellowshipName}}\r\n /{{displaycontact.fellowshipgrandyear}}\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Home address:\r\n
      \r\n
      \r\n {{displaycontact.homeaddress}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n City/State/Zip:\r\n
      \r\n
      \r\n {{displaycontact.homecity}}\r\n /{{displaycontact.homestate | uppercase}}\r\n /{{displaycontact.homezip | slice:0:5}} 5\">-{{displaycontact.homezip | slice:5:20}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Home #:\r\n
      \r\n
      \r\n {{displaycontact.home}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n FaceBook:\r\n
      \r\n
      \r\n {{displaycontact.facebook}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Instagram:\r\n
      \r\n
      \r\n {{displaycontact.instagram}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Linkedin:\r\n
      \r\n
      \r\n {{displaycontact.linkedin}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Twitter:\r\n
      \r\n
      \r\n {{displaycontact.twitter}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n SaaS Date:\r\n
      \r\n
      \r\n {{displaycontact.SassDate | date:\"MM-dd-yyyy\"}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n SaaS RCM:\r\n
      \r\n
      \r\n {{displaycontact.SaaSRCM | date:\"MM-dd-yyyy\"}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n SasS Renewal:\r\n
      \r\n
      \r\n {{displaycontact.SaaSRenewal | date:\"MM-dd-yyyy\"}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n SaaS Term:\r\n
      \r\n
      \r\n {{displaycontact.SaaStermName}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Owner:\r\n
      \r\n
      \r\n {{displaycontact.owner}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      DOCUMENTS ({{userdocumentlist.length}})
      \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n\r\n\r\n\r\n
      \r\n\r\n\r\n
      \r\n\r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n ACTIVITIES ({{activitieslist.length}})\r\n
      \r\n\r\n
      \r\n
      \r\n 0\" src=\"../../../assets/img/Activities - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n NOTES ({{noteslist.length}})\r\n\r\n
      \r\n\r\n
      \r\n 0\" src=\"../../../assets/img/Notes - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n EMAILS ({{emailslist.length}})\r\n
      \r\n\r\n
      \r\n
      \r\n 0\" src=\"../../../assets/img/Emails Green Icon - Account Details Box.png\" style=\"height:70%\" />\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n SMS(0)\r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n DOCUMENTS ({{userdocumentlist.length}})\r\n
      \r\n\r\n
      \r\n
      \r\n 0\" src=\"../../../assets/img/Documents - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n CAMPAIGNS ({{Campignslist.length}})\r\n
      \r\n
      \r\n 0\" src=\"../../../assets/img/Campaigns Green Icon - Account Details Box.png\" style=\"height:70%\" />\r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n OPPORTUNITIES ({{Opportunitylist.length}})\r\n
      \r\n\r\n
      \r\n
      \r\n 0\" src=\"../../../assets/img/Account Details Opportunities Green.png\" style=\"height:70%\" />\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n TICKETS ({{ticketslist.length}})\r\n
      \r\n\r\n
      \r\n
      \r\n 0\" src=\"../../../assets/img/Tickets - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n PROJECTS ({{ProjectsList.length}})\r\n\r\n
      \r\n\r\n
      \r\n 0\" src=\"../../../assets/img/Projects - QuickView Page Icon - Green.png\" style=\"height:70%\" />\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n

      DOCUMENTS

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

      Proposal Documents

      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      EMAILS ({{emailslist.length}})
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n Contact Name: {{displaycontact.firstname}} {{displaycontact.middlename}} {{displaycontact.lastname}}, {{displaycontact.title}}\r\n
      \r\n
      \r\n 0\" class=\"fa fa-arrow-left \" aria-hidden=\"true\" id=\"previous\" (click)=\"previousdocument()\">\r\n
      \r\n
      \r\n
      \r\n = documentindex\" class=\"fa fa-arrow-right \" aria-hidden=\"true\" id=\"next\" (click)=\"nextdocument()\">\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      Adding Account Address
      \r\n
      \r\n
      \r\n \r\n The Address for this account was not selected from\r\n google Address list.Please select one of the two\r\n options below: Select \" Go to Google Address \" and\r\n select google address for the account -or- select\r\n \"Save\" and system will save the address you have\r\n added to account.\r\n \r\n

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

      DOCUMENTS

      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n PROPOSALS AND PURCHASE ORDERS\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      EMAILS ({{emailslist.length}})
      \r\n\r\n \r\n
      \r\n \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, ElementRef, ViewChild, Input, EventEmitter, Output } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { Contacts } from '../../../models/contacts';\r\nimport { Accounts } from '../../../models/accounts';\r\nimport { Statistics } from '../../../models/statistics';\r\nimport { Tickets } from '../../../models/tickets';\r\nimport { Notes } from '../../../models/notes';\r\nimport { Emails } from '../../../models/emails';\r\nimport { Project } from '../../../models/project';\r\nimport { Document } from '../../../models/document';\r\nimport { Dropdowntype, Dropdown } from '../../../models/dropdowntype';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ViewContainerRef } from '@angular/core';\r\nimport { AccountsService } from '../../../services/accounts.service';\r\nimport { LeadsService } from '../../../services/leads.service';\r\nimport { TaskHistory } from '../../../models/task-history';\r\nimport { DatePipe, TitleCasePipe} from '@angular/common';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { AccountContactComponent } from '../../../application/account-contact/account-contact.component';\r\nimport { TaskComponent } from '../../task/task.component';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { OwnershipsharingComponent } from '../../ownershipsharing/ownershipsharing.component';\r\nimport { UploadDocumentComponent } from '../../../application/upload-document/upload-document.component';\r\nimport { NotesComponent } from '../../notes/notes.component';\r\nimport { AddressComponent } from '../../address/address.component';\r\nimport { HistoryComponent } from '../../history/history.component';\r\nimport { DocumentmanagementComponent } from '../../documentmanagement/documentmanagement.component';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Viewaccount } from '../../../models/viewaccount';\r\nimport * as moment from 'moment';\r\nimport { AccountDetailsComponent } from '../../account-details/account-details.component';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { Opportunities } from '../../../models/opportunities';\r\nimport { Projects } from '../../../models/ProjectConfiguration';\r\nimport { Campaign } from '../../../models/Campaign';\r\nimport { CampaignsComponent } from '../../campaigns/campaigns.component';\r\nimport { ContactPhotoComponent } from '../contact-photo/contact-photo.component';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'contactsdashboard',\r\n templateUrl: './contactsdashboard.component.html',\r\n styleUrls: ['./contactsdashboard.component.css']\r\n})\r\nexport class ContactsdashboardComponent implements OnInit {\r\n currentuser: any;\r\n userprevilages: any;\r\n Years: any[];\r\n MedSchoolYears: any[];\r\n ResidencyYears: any[];\r\n FellowShipYears: any[];\r\n public zipmask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public contactid: number = 0;\r\n contactIdArr: any;\r\n public contactpermission: string;\r\n contact: Contacts = new Contacts();\r\n displaycontact: Contacts = new Contacts();\r\n expanded: boolean = false;\r\n public account: Accounts = new Accounts();\r\n statisticlist: Array = [];\r\n activitieslist: Array = [];\r\n Opportunitylist: Array = [];\r\n Campignslist: Array = [];\r\n ProjectsList: Array = [];\r\n userdocumentlist: any[] = [];\r\n Originaluserdocumentlist: any[] = [];\r\n POdocumentlist: any[] = [];\r\n noteslist: Array = [];\r\n emailslist: Array = [];\r\n projectlist: Array = [];\r\n documentlist: Array = [];\r\n ticketslist: Array = [];\r\n FeeAmountdiv: boolean = false;\r\n currentYear = new Date().getFullYear();\r\n isTicketsInfoDivVisible: boolean = false;\r\n AccountIdsDialog: boolean = false;\r\n activitiesinfo: boolean = false;\r\n showticketsinfo: boolean = false;\r\n Projectsinfo: boolean = false;\r\n showAddEditContact: boolean = false;\r\n conid: number;\r\n collegeyearDrop: boolean = true;\r\n MedSchoolyearDrop: boolean = true;\r\n ResidencyyearDrop: boolean = true;\r\n FellowshipyearDrop: boolean = true;\r\n documentview: boolean = false;\r\n ShowtaskDialog: boolean = false;\r\n viewPermission: boolean = true;\r\n documentindex: number = 0;\r\n hidDiv: boolean = true;\r\n Collegelist: Dropdowntype[] = [];\r\n contacttypelist: Dropdowntype[] = [];\r\n SexList: Dropdowntype[] = [];\r\n TitleList: Dropdowntype[] = [];\r\n SuffixList: Dropdowntype[] = [];\r\n Specialitytypelist: Dropdowntype[] = [];\r\n MonthList: Dropdowntype[] = [];\r\n DayList: Dropdowntype[] = [];\r\n public stateInfo = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n StatesList: Dropdowntype[] = [];\r\n CitiesList: Dropdowntype[] = [];\r\n OwnerList: Dropdowntype[] = [];\r\n public staticsticsId: number;\r\n stateTextBox: boolean = true;\r\n stateDropDown: boolean = false;\r\n displayZipCode: boolean = true;\r\n displayCountryName: boolean = false;\r\n edit: boolean = false;\r\n contactintialized: boolean = false;\r\n ScheduleTaskOpen: boolean = false;\r\n StatusDropdownList: Dropdowntype[] = [];\r\n uploadDocumentShow: boolean = false;\r\n id: number;\r\n taskid: number;\r\n addEditInsideContact: boolean = false;\r\n showmapWarning: boolean = false;\r\n seletedcountry: any;\r\n notesshowDialog = false;\r\n countryId: number = 1;\r\n public elementRef;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n allnotes: Notes[];\r\n public context;\r\n public columnDefsnotes: any[];\r\n public gridOptionsnotes: GridOptions;\r\n public getRowHeight;\r\n notes: Notes = new Notes();\r\n notedescription: string;\r\n private data: Array = [];\r\n public length: number = 0;\r\n today = Date.now();\r\n campaignId: number;\r\n taskDialog = false;\r\n accDocCount: number = 0;\r\n conDocCount: number = 0; \r\n nodeData:any;\r\n totalContactdocCount: number = 0;\r\n isShowDetailsChecked: boolean = false;\r\n @ViewChild(AccountContactComponent) accComp;\r\n @ViewChild(UploadDocumentComponent) uploadDoc;\r\n @ViewChild(AddressComponent) adddata;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n @ViewChild(HistoryComponent) historyComp;\r\n @ViewChild(TaskComponent) taskComp;\r\n @ViewChild(DocumentmanagementComponent) docMgmtComp;\r\n @ViewChild(UploadDocumentComponent) uploadDocComp: UploadDocumentComponent;\r\n @ViewChild(AccountDetailsComponent) accdetailcmp;\r\n @ViewChild(NotesComponent) noteComp: NotesComponent;\r\n @ViewChild(CampaignsComponent) campaincmp;\r\n @ViewChild(ContactPhotoComponent) contactphotocmp;\r\n AccountIdArr: Dropdowntype[] = [];\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n @Input()\r\n contactids: any[];\r\n @Input()\r\n type: string;\r\n @Input()\r\n tab: string;\r\n @Input()\r\n SdivHeight: number;\r\n @Input()\r\n Source: string;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n public showContactInfo: boolean;\r\n public showAccountInfo: boolean;\r\n NotesDec = false;\r\n ContactDashBoardPage: boolean = true;\r\n @Input()\r\n ShowRightInfoDiv: boolean = true;\r\n titleCasePipe: TitleCasePipe = new TitleCasePipe();\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n ForDocumentInsideContactView: boolean = false;\r\n documentsinfoBesideContactInfo: boolean = false;\r\n ForPhotoInsideContactView: boolean = true;\r\n photoForConatctView: boolean = false;\r\n timezonevalue: string;\r\n urlImage = '';\r\n isModal: boolean = false;\r\n allowAccess: boolean = true;\r\n userdocumentcount: number = 0;\r\n contactemailcount:number=0\r\n fixHeight = 110;\r\n documentInsideContactViewHeight = (screen.height * 0.61)\r\n editContHGT = (screen.height * 0.39444); //0.3944\r\n divHeight = (screen.height * 0.155555);\r\n divHeight1 = (screen.height * 0.5);\r\n divHeight2 = (screen.height * 0.1667);\r\n divHeight3 = 452;\r\n RightDivHeight = screen.height * 0.691111;\r\n height = screen.height * 0.62888;\r\n isDocumentsInfoDivVisible: boolean = false;\r\n isTaskShow: boolean = false;\r\n statisticbox: string = 'Open';\r\n accountSharingid: number = 0;\r\n isSharing: boolean = false;\r\n docstatus: string = \"New\";\r\n documentcount: number = 0;\r\n userInfo: string;\r\n action: string;\r\n otherDetailsTable: boolean = true;\r\n notesinfo: boolean = false;\r\n documentsinfo: boolean = false;\r\n Proposalinfo: boolean = false;\r\n emailsinfo: boolean = false;\r\n public ShowPDF: boolean = false;\r\n public SixBoxExpand: boolean = false;\r\n viewaccount: Viewaccount = new Viewaccount();\r\n quickViewHistoryDialog: boolean = false;\r\n QuickViewActivitiesDialog: boolean = false;\r\n QuickViewNotesDialog: boolean = false;\r\n QuickViewEmailDialog: boolean = false;\r\n QuickViewDocumentsDialog: boolean = false;\r\n QuickViewProposalsDialog: boolean = false;\r\n QuickViewTicketsDialog: boolean = false;\r\n QuickViewOpportunityDialog: boolean = false;\r\n QuickViewProjectDialog: boolean = false;\r\n quickViewCampaignsDialog: boolean = false;\r\n quickViewSMSDialog: boolean = false;\r\n DocExpandView: boolean = false;\r\n DocumentsFilter;\r\n public EditDocument: boolean = true;\r\n futureTaskDialog = false;\r\n ViewPhotoDialog = false;\r\n crmDialog = false;\r\n url = ''; historyName = '';\r\n constructor(private route: ActivatedRoute, public applicationComponent: ApplicationComponent, private customerService: CustomerService, private userService: UserService, private accountsService: AccountsService, private toastr: ToastrService, private viewContainerRef: ViewContainerRef, private router: Router, myElement: ElementRef, private leadservice: LeadsService, private opprtunityservice: OpprtunitiesService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n var loggedInUserId = this.currentuser.id;\r\n this.customerService.GetPrivilagesByuser(loggedInUserId).then(result => {\r\n this.userprevilages = result;\r\n });\r\n this.elementRef = myElement;\r\n }\r\n\r\n AddDocumentsNew(val) {\r\n this.docstatus = val;\r\n if (this.uploadDocumentShow) {\r\n this.documentcount = 0;\r\n this.uploadDocComp.OpenFilemanual(this.docstatus);\r\n } else {\r\n this.docMgmtComp.uploadFiles();\r\n }\r\n }\r\n \r\n onOpenUploadDocument(msg) {\r\n var isnum = /^\\d+$/.test(msg);\r\n if (isnum) {\r\n this.userdocumentcount = msg;\r\n }\r\n else if (msg == \"UploadDocument\") {\r\n this.uploadDocumentShow = true;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.uploadDocComp.OpenFilemanual(objSelf.docstatus);\r\n objSelf.documentcount = 0;\r\n }, 100));\r\n }\r\n else if (msg == \"ShowPDF\") {\r\n this.ShowPDF = true;\r\n } else if (msg == \"Hide\") {\r\n this.ShowPDF = false;\r\n }\r\n else if (msg == 'EditDocumentTrue') {\r\n this.EditDocument = false;\r\n } else if (msg == 'EditDocumentFalse') {\r\n this.EditDocument = true;\r\n }\r\n }\r\n\r\n\r\n GetContactInfo(contactid) {\r\n $('#emailIds').val(contactid);\r\n $('#tasklistselectedtyle').val('Contact');\r\n var url = window.location.href;\r\n if (url.indexOf('tasklistdashboard') > -1) {\r\n $('#ContactInformation1').attr('style','padding-right:0;')\r\n this.editContHGT = 240;\r\n this.allowAccess = false; \r\n }\r\n else if (url.indexOf('quick-view') > -1) {\r\n $('#ContactInformation1').attr('style', 'overflow:hidden;padding-right:0;padding:0;height:100%');\r\n\r\n this.divHeight1 = screen.height * 0.46222;\r\n this.divHeight2 = screen.height * 0.15555;\r\n this.fixHeight = 100;\r\n this.divHeight3 = 420;\r\n this.allowAccess = false;\r\n this.editContHGT = screen.height * 0.36111;\r\n }\r\n else if (url.indexOf('opportunitiesdashboard') > -1) {\r\n \r\n $('#ContactInformation1').attr('style', 'overflow:hidden;padding-right:0;height:100%');\r\n $('#Contactinformation').attr('style', 'overflow:auto ;padding-right:0;height:100%' );\r\n this.editContHGT = screen.height * 0.264;\r\n this.allowAccess = false;\r\n }\r\n else if (url.indexOf('tickets') > -1) {\r\n $('#ContactInformation1').attr('style', 'overflow:hidden;padding-right:0;height:100%' );\r\n $('#Contactinformation').attr('style', 'overflow:auto ;padding-right:0;height:100%'); \r\n }\r\n\r\n else if (url.indexOf('campaigns') > -1) {\r\n this.allowAccess = false; \r\n }\r\n\r\n else if (url.indexOf('month-calender') > -1) {\r\n this.allowAccess = false;\r\n document.getElementById('checkDiv').style.width = \"1000px !important\";\r\n \r\n this.divHeight3 = 350;\r\n this.divHeight1 = 350;\r\n \r\n }\r\n let selfObj = this;\r\n\r\n if (contactid != 0)\r\n $(setTimeout(function () {\r\n selfObj.Loadcontactdata(contactid);\r\n }, 500));\r\n }\r\n Stisticboxclose() {\r\n this.statisticbox = \"Close\";\r\n }\r\n StisticboxOpen() {\r\n this.statisticbox = \"Open\"; \r\n }\r\n Loadcontactdata(contactid) {\r\n var url = window.location.href;\r\n this.staticsticsId = 1;\r\n if (this.tab == 'QuickView') { \r\n $('#emailIds').val(contactid);\r\n \r\n }\r\n $('#tasklistselectedtyle').val('Contact');\r\n this.contactids = contactid;\r\n this.customerService.GetContactById(contactid).then(result => {\r\n this.displaycontact = result;\r\n \r\n this.displaycontact.collegegrandyear = moment(this.displaycontact.collegegrandyear).format(\"YYYY\");\r\n this.displaycontact.medschoolgrandyear = moment(this.displaycontact.medschoolgrandyear).format(\"YYYY\");\r\n this.displaycontact.fellowshipgrandyear = moment(this.displaycontact.fellowshipgrandyear).format(\"YYYY\");\r\n this.displaycontact.residencygrandyear = moment(this.displaycontact.residencygrandyear).format(\"YYYY\");\r\n this.displaycontact.SassDate = this.displaycontact.SassDate != \"0001-01-01T00:00:00\" ? this.displaycontact.SassDate : \"\";\r\n this.displaycontact.SaaSRCM = this.displaycontact.SaaSRCM != \"0001-01-01T00:00:00\" ? this.displaycontact.SaaSRCM : \"\";\r\n this.displaycontact.SaaSRenewal = this.displaycontact.SaaSRenewal != \"0001-01-01T00:00:00\" ? this.displaycontact.SaaSRenewal : \"\";\r\n this.urlImage = \"\";\r\n this.customerService.Getcontactimage(contactid).then(res => { \r\n this.urlImage = res.photo;\r\n this.displaycontact.photo = res.photo;\r\n });\r\n this.contactid = this.displaycontact.id;\r\n if (this.displaycontact.city != null) {\r\n var cityArray = this.displaycontact.city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n this.displaycontact.city = newCity;\r\n }\r\n \r\n this.displaycontact.state = this.displaycontact.state;\r\n \r\n this.customerService.loadaccountdata(this.displaycontact.accountid).then(result => {\r\n this.account = result;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.owner);\r\n\r\n if (url.indexOf('tasklistdashboard/Customer') > -1 || url.indexOf('opportunitiesdashboard') > -1 || url.indexOf('campaigns') > -1) {\r\n \r\n } else {\r\n if (this.account.customertypeid == 0) {\r\n this.statisticbox = 'Close';\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#contact_span\").addClass(\"activeColor\");\r\n $(\"#contact\").addClass(\"mainactiveButton\");\r\n }\r\n else {\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#customers_span\").addClass(\"activeColor\");\r\n $(\"#customers\").addClass(\"mainactiveButton\");\r\n }\r\n }\r\n if (this.account != null) {\r\n this.customerService.getAccountPermission(this.account.id, this.currentuser.id).then(perresult => {\r\n this.account.isAccountPermission = perresult;\r\n });\r\n }\r\n if (url.indexOf('opportunitiesdashboard') < 0 ) {\r\n if (url.indexOf('tickets') < -1) {\r\n if (this.account.customertypeid == 0) {\r\n $(\"#contact\").addClass(\"mainactiveButton\");\r\n } else {\r\n \r\n $(\"#customers\").addClass(\"mainactiveButton\");\r\n } \r\n }\r\n }\r\n \r\n if (this.edit) {\r\n this.editcontact(parseInt(this.contactids.toString()));\r\n }\r\n \r\n if (this.account.website!=null && this.account.website.indexOf('www.') >= 0) {\r\n this.account.website = ((this.account.website).split('www.')[1])\r\n }\r\n if (this.account.accnumber != '0') {\r\n \r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#customers\").addClass(\"mainactiveButton\");\r\n }\r\n });\r\n this.customerService.GetAllEmailsList(contactid, 'Contacts').then((emails) => {\r\n this.emailslist = []; \r\n this.emailslist = emails;\r\n });\r\n this.leadservice.GetAllTaskHistoryByContact(contactid, 'Contacts', this.currentuser.timezone).then((activities) => {\r\n this.activitieslist = [];\r\n \r\n this.activitieslist = activities;\r\n \r\n });\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid.toString(), \"Contact\").then((notes) => {\r\n notes.forEach(notes => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = notes.user + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n notes.userfullName = timeDisplay;\r\n notes.created = this.datePipe.transform(notes.created, \"MM/dd/yyyy\");\r\n });\r\n this.noteslist = notes.filter(x => x.isnewnote == 1 && x.type=='Contact'); \r\n this.allnotes = this.noteslist;\r\n \r\n });\r\n\r\n this.customerService.GetAllDocumentList(contactid, 'Contacts', this.currentYear, 'Contacts').then((document) => {\r\n this.Originaluserdocumentlist = document;\r\n this.userdocumentlist = document.filter(x => x.DocSavedFrom !== \"Proposal\");\r\n this.POdocumentlist = document.filter(x => x.DocSavedFrom === \"Proposal\");\r\n });\r\n this.customerService.GetTicketsListByContact(contactid, 'All').then((tickets) => { \r\n this.ticketslist = tickets;\r\n });\r\n this.opprtunityservice.GetAllCampaigns(this.currentuser.id).then((Campaigns) => {\r\n this.Campignslist = Campaigns;\r\n this.Campignslist = this.Campignslist.filter(x => x.ContactsLinked == this.contactid.toString());\r\n });\r\n this.customerService.GetAllProjectsByAccountId((result.accountid).toString()).then(res => {\r\n this.ProjectsList = res;\r\n });\r\n\r\n this.opprtunityservice.GetAllOpportunitiesListByAccountorContact(contactid, 'Opt').then((customer) => {\r\n customer.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n });\r\n this.Opportunitylist = customer;\r\n\r\n });\r\n });\r\n\r\n this.loaddropdowns();\r\n this.customerService.GetAllStatistics().then((statistics) => {\r\n this.statisticlist = [];\r\n statistics.forEach(statistics => {\r\n this.statisticlist.push(statistics)\r\n });\r\n\r\n });\r\n \r\n this.customerService.GetAllProjectList().then((project) => {\r\n project.forEach(project => {\r\n });\r\n this.projectlist = project;\r\n });\r\n this.contactintialized = true;\r\n \r\n }\r\n\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata,owner) {\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.viewaccount.ownerName = owner;\r\n this.accdetailcmp.loadAccountId(accId);\r\n }\r\n handleClick(event) {\r\n \r\n var clickedComponent = event.target;\r\n this.nodeData = clickedComponent[0].text;\r\n if (this.nodeData == 'Select College') {\r\n this.collegeyearDrop = false;\r\n } else if (this.nodeData == 'Select Med School') {\r\n this.MedSchoolyearDrop = false;\r\n } else if (this.nodeData == 'Select Residency') {\r\n this.ResidencyyearDrop = false;\r\n } else if (this.nodeData == 'Select Fellowship') {\r\n this.FellowshipyearDrop = false;\r\n }\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n\r\n $('#test').val('Contact');\r\n } else {\r\n //alert(\"outside\");\r\n //$('#test').val(1);\r\n }\r\n }\r\n addAccount() {\r\n }\r\n Resetcontacts() {\r\n this.contact.contacttype = null;\r\n this.contact.suffix = null;\r\n this.contact.sex = null;\r\n this.contact.title = null;\r\n this.contact.speciality = null;\r\n this.contact.subspeciality = null;\r\n this.contact.college = 0;\r\n this.contact.collegegrandyear = null;\r\n this.contact.medschool = 0;\r\n this.contact.medschoolgrandyear = null;\r\n this.contact.residency = 0;\r\n this.contact.residencygrandyear = null;\r\n this.contact.fellowship = 0;\r\n this.contact.fellowshipgrandyear = null;\r\n this.contact.ownerid = this.currentuser.id;\r\n this.contact.practiceid = 0;\r\n }\r\n\r\n CloseNotesDiv(val) {\r\n \r\n this.notesshowDialog = false;\r\n this.close(); \r\n }\r\n\r\n close() {\r\n if (this.tab === 'QuickView') {\r\n this.SixBoxExpand = false;\r\n this.sendMsgEvent.emit(\"Collapse\");\r\n }\r\n this.otherDetailsTable = true;\r\n this.documentsinfo = false\r\n this.Proposalinfo = false\r\n this.notesinfo = false;\r\n this.activitiesinfo = false;\r\n this.emailsinfo = false;\r\n this.showticketsinfo = false;\r\n this.Projectsinfo = false;\r\n this.customerService.GetAllNotesList(this.currentuser.id,this.contactid.toString(), \"Contact\").then((notes) => {\r\n notes.forEach(notes => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = notes.user + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n notes.userfullName = timeDisplay;\r\n notes.created = this.datePipe.transform(notes.created, \"MM-dd-yyyy\");\r\n this.data.push(notes);\r\n }); \r\n this.noteslist = notes;\r\n\r\n this.length = this.data.length;\r\n });\r\n this.customerService.GetAllDocumentList(this.contactid.toString(), 'Contacts', this.currentYear,'Contacts').then((document) => {\r\n this.Originaluserdocumentlist = document;\r\n this.userdocumentlist = document.filter(x => x.DocSavedFrom !== \"Proposal\");\r\n this.POdocumentlist = document.filter(x => x.DocSavedFrom === \"Proposal\");\r\n });\r\n this.isDocumentsInfoDivVisible = false;\r\n this.ScheduleTaskOpen = false;\r\n this.onTaskSaved('Task Closed');\r\n }\r\n expand(val) {\r\n this.historyName = val;\r\n var url = window.location.href;\r\n if (url.indexOf('tickets') > -1) { \r\n this.openAccountNotes()\r\n } else {\r\n if (this.tab === 'QuickView') {\r\n //this.sendMsgEvent.emit(\"Expand\");\r\n //this.SixBoxExpand = true;\r\n this.quickViewHistoryDialog = true;\r\n this.QuickViewDialogCss(false);\r\n this.QuickViewActivitiesDialog = false\r\n this.QuickViewNotesDialog = true;\r\n this.QuickViewEmailDialog = false;\r\n this.QuickViewDocumentsDialog = false;\r\n this.QuickViewProposalsDialog = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewOpportunityDialog = false;\r\n this.QuickViewProjectDialog = false;\r\n this.isModal = false;\r\n } else {\r\n \r\n this.Stisticboxclose();\r\n this.otherDetailsTable = false;\r\n this.Projectsinfo = false;\r\n this.notesinfo = true;\r\n }\r\n \r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.noteComp.Notes('Contact Only');\r\n }, 500));\r\n }\r\n }\r\n loaddropdowns() {\r\n \r\n this.customerService.GetAllOwnerList(0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.OwnerList = Owner;\r\n\r\n });\r\n\r\n \r\n //this.customerService.GetSpecialitytypes(this.currentuser.id).then((accounttype) => {\r\n // accounttype.forEach(accounttype => {\r\n // });\r\n // this.Specialitytypelist = accounttype;\r\n //});\r\n this.customerService.GetSpecialityList(\"Account Specialty\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Specialitytypelist = accounttype;\r\n });\r\n\r\n this.customerService.GetCollegeList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Collegelist = accounttype;\r\n });\r\n\r\n this.customerService.GetMedicalSchoolList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.MedicalSchoolList = accounttype;\r\n });\r\n\r\n this.customerService.GetAllStateList('all').then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.StatesList = accounttype;\r\n this.stateInfo = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Month\", this.currentuser.id).then((appointment) => {\r\n appointment.forEach(appointment => {\r\n });\r\n this.MonthList = appointment;\r\n\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Day\", this.currentuser.id).then((appointment) => {\r\n appointment.forEach(appointment => {\r\n });\r\n this.DayList = appointment;\r\n });\r\n this.customerService.Getcontacttypes(2).then((accounttype) => {\r\n this.contacttypelist = [];\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.contacttypelist = accounttype;\r\n });\r\n this.customerService.GetCollegeList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Collegelist = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Suffix\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.SuffixList = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Sex\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.SexList = accounttype;\r\n });\r\n\r\n this.getyears()\r\n {\r\n var range = [];\r\n var y = 1949;\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.Years = range;\r\n this.MedSchoolYears = range;\r\n this.ResidencyYears = range;\r\n this.FellowShipYears = range;\r\n }\r\n }\r\n ReceivelinkNote(msg) {\r\n this.expanddocuments('WithOut Proposal','DOCUMENTS');\r\n }\r\n ngAfterViewInit() {\r\n \r\n \r\n }\r\n ngOnInit() {\r\n this.applicationComponent.totalglobalsearchcount = 0;\r\n var url = window.location.href;\r\n if (url.indexOf('opportunitiesdashboard') < 0 && url.indexOf('tasklistdashboard') < 0 && url.indexOf('campaigns') < 0 && url.indexOf('month-calender') < 0 && url.indexOf('contactsdashboard') < 0) {\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n \r\n } \r\n \r\n this.route.params.subscribe(params => {\r\n this.contactid = params['contactid'];\r\n this.contactpermission = params['permission'];\r\n $('#emailIds').val(this.contactid);\r\n if (this.tab == 'QuickView' || this.tab == 'Search' ) {\r\n this.contactid = parseInt(this.contactids.toString().split(',')[0]);\r\n this.GetContactInfo(this.contactid);\r\n } \r\n $('#accotIdNotes').val(this.contactid.toString());\r\n $('#accotTypeNotes').val('Contact');\r\n if (url.indexOf('opportunitiesdashboard') < 0 && url.indexOf('tasklistdashboard') < 0) {\r\n this.GetContactInfo(this.contactid);\r\n \r\n }\r\n });\r\n this.showContactInfo = true;\r\n this.customerService.GetDocumentsCount(this.contactid,'Contact').then(result => {\r\n this.userdocumentcount = result;\r\n });\r\n\r\n \r\n\r\n var url = window.location.href;\r\n if (url.indexOf('campaigns') > -1) {\r\n\r\n this.RightDivHeight = 410;\r\n }\r\n //document.getElementById('mergeHGT').style.height = '150px';\r\n $('#mergeHGT').css('height', '150px');\r\n //if (url.indexOf('campaigns') > -1) {\r\n // //document.getElementById('otherDetails').style.height = \"416px\";\r\n //}\r\n\r\n if (url.indexOf('quick-view') > -1) {\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\"#customers_span\").addClass(\"activeColor\");\r\n //document.getElementById('detailedView').style.height = '420px';\r\n \r\n $('#ContactInformation1').attr('style', 'overflow:hidden;padding-right:0;padding:0;;height:100%');\r\n this.divHeight1 = screen.height * 0.46222;\r\n this.divHeight2 = screen.height * 0.1555;\r\n this.fixHeight = 100;\r\n this.divHeight3 = 420;\r\n }\r\n //else if (url.indexOf('tasklistdashboard') > -1 || url.indexOf('opportunitiesdashboard') > -1) {\r\n // this.applicationComponent.showContactsSubTabs = false;\r\n //}\r\n //else {\r\n // this.applicationComponent.showContactsSubTabs = true;\r\n //}\r\n \r\n //this.applicationComponent.showDashboardSubTabs = false;\r\n }\r\n\r\n //collegeyear(val) {\r\n // var range = [];\r\n // var y = Number(val);\r\n // var year = new Date().getFullYear();\r\n // for (var i = 0; y <= year; i++) {\r\n // y = y + 1;\r\n // range.push({\r\n // label: y,\r\n // value: y\r\n // });\r\n // }\r\n // this.MedSchoolYears = range;\r\n //}\r\n //medschoolyear(val) {\r\n // var range = [];\r\n // var y = Number(val);\r\n // var year = new Date().getFullYear();\r\n // for (var i = 0; y <= year; i++) {\r\n // y = y + 1;\r\n // range.push({\r\n // label: y,\r\n // value: y\r\n // });\r\n // this.ResidencyYears = range;\r\n // }\r\n\r\n // var range = [];\r\n // var y = this.contact.collegegrandyear == null ? 1949 : this.contact.collegegrandyear;\r\n // var year = this.contact.medschoolgrandyear;\r\n // for (var i = 0; y < year - 1; i++) {\r\n // y = y + 1;\r\n // range.push({\r\n // label: y,\r\n // value: y\r\n // });\r\n \r\n // }\r\n // if (this.contact.collegegrandyear == null) { this.Years = range;}\r\n //}\r\n //residencyyear(val) {\r\n // var range = [];\r\n // var y = Number(val);\r\n // var year = new Date().getFullYear();\r\n // for (var i = 0; y <= year; i++) {\r\n // y = y + 1;\r\n // range.push({\r\n // label: y,\r\n // value: y\r\n // });\r\n // }\r\n // this.FellowShipYears = range;\r\n\r\n // var range = [];\r\n // var y = this.contact.medschoolgrandyear == null ? 1949 : this.contact.medschoolgrandyear;\r\n // var year = this.contact.residencygrandyear;\r\n // for (var i = 0; y < year - 1; i++) {\r\n // y = y + 1;\r\n // range.push({\r\n // label: y,\r\n // value: y\r\n // });\r\n // }\r\n // if (this.contact.medschoolgrandyear == null) { this.MedSchoolYears = range; }\r\n // if (this.contact.collegegrandyear == null) { this.Years = range; } \r\n\r\n //}\r\n //fellowshipyear(val) {\r\n // var range = [];\r\n // var y = this.contact.residencygrandyear == null ? 1949 : this.contact.residencygrandyear;\r\n // var year = this.contact.fellowshipgrandyear;\r\n // for (var i = 0; y < year - 1; i++) {\r\n // y = y + 1;\r\n // range.push({\r\n // label: y,\r\n // value: y\r\n // });\r\n // }\r\n \r\n // if (this.contact.residencygrandyear == null) { this.ResidencyYears = range; }\r\n // if (this.contact.medschoolgrandyear == null) { this.MedSchoolYears = range; }\r\n // if (this.contact.collegegrandyear == null) { this.Years = range; }\r\n //}\r\n\r\n nextStatistics() {\r\n var count = this.staticsticsId\r\n count++;\r\n if (count <= this.statisticlist.length) {\r\n document.getElementById('statisticsCount').innerHTML = '(' + count + ' of ' + this.statisticlist.length + ')';\r\n this.staticsticsId++;\r\n var id = this.staticsticsId;\r\n $('.statistic').attr('style', 'display:none');\r\n $('#' + id).attr('style', 'display:block');\r\n document.getElementById('previous').style.display = 'block';\r\n if (count == this.statisticlist.length) {\r\n document.getElementById('next').style.display = 'none';\r\n }\r\n }\r\n\r\n }\r\n statePopulate(zipid, cityid, stateid, stateDDN) {\r\n var that = this;\r\n var zipCode = $('#' + zipid).val();\r\n var newStr = zipCode.replace(/_/g, \"\");\r\n var newStrArray = newStr.split(\"-\");\r\n if (newStrArray[0].length > 0) {\r\n var url = \"http://ziptasticapi.com/\" + newStrArray[0];\r\n $.ajax({\r\n url: url,\r\n dataType: \"json\",\r\n type: 'GET',\r\n success: function (data) {\r\n\r\n $('#' + cityid).val(data.city);\r\n that.loadstate(data.state, stateid, stateDDN);\r\n if (zipid == 'contactzip') {\r\n that.contact.city = data.city;\r\n }\r\n if (zipid == 'contacthomeZip') {\r\n that.contact.homecity = data.city;\r\n }\r\n if (zipid == 'zipCode') {\r\n that.account.city = data.city;\r\n\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n loadstate(state, stateid, stateDDN) {\r\n\r\n var countryCode = ($('#country').val());\r\n if (countryCode == 1) {\r\n for (var i = 0; i < 50; i++) {\r\n if (this.StatesList[i].itemName.trim().toString() == state) {\r\n $('#' + stateDDN).val(this.StatesList[i].id)\r\n this.account.state = state;\r\n }\r\n }\r\n } else {\r\n\r\n $('#' + stateid).val(state);\r\n\r\n if (stateid == 'contactstateTextBox') {\r\n this.contact.state = state;\r\n\r\n }\r\n if (stateid == 'contacthomestate') {\r\n this.contact.homestate = state;\r\n\r\n }\r\n if (stateid == 'stateTextBox') {\r\n this.account.state = state;\r\n }\r\n }\r\n }\r\n previousStatistics() {\r\n var count = this.staticsticsId\r\n count--;\r\n if (count > 0) {\r\n document.getElementById('statisticsCount').innerHTML = '(' + count + ' of ' + this.statisticlist.length + ')';\r\n this.staticsticsId--;\r\n var id = this.staticsticsId;\r\n $('.statistic').attr('style', 'display:none');\r\n $('#' + id).attr('style', 'display:block');\r\n document.getElementById('next').style.display = 'block';\r\n if (count == 1) {\r\n document.getElementById('previous').style.display = 'none';\r\n }\r\n }\r\n }\r\n Notes(val) {\r\n this.GetCustomerNotes(this.contact.id, val);\r\n }\r\n GetCustomerNotes(contactid, type) {\r\n //this.customerService.GetAllNotesList(this.currentuser.id,contactid, type).then((taskhistory) => {\r\n // taskhistory.forEach(items => {\r\n // var moment = require('moment-timezone');\r\n // var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n // items.userfullName = timeDisplay;\r\n // items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n // });\r\n // this.initializeAgGridNotes();\r\n // alert(\"a\");\r\n // this.allnotes = taskhistory;\r\n //});\r\n //this.noteComp.GetCustomerNotes(this.currentuser.id, contactid, type);\r\n }\r\n\r\n //initializeAgGridNotes() {\r\n \r\n // this.gridOptionsnotes = {\r\n // pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n // };\r\n // this.createColumnDefsnotes();\r\n\r\n // this.context = this;\r\n // var url = window.location.href;\r\n // if (url.indexOf('campaigns') > -1) {\r\n // this.divHeight1 = 210;\r\n // document.getElementById('detailedView').style.overflow = \"auto\";\r\n // }\r\n // //if (url.indexOf('month-calender') > -1) {\r\n // // $(setTimeout(function () {\r\n // // document.getElementById('detailedView').style.fontSize = \"11.5px\";\r\n // // }, 400));\r\n // //}\r\n //}\r\n //createColumnDefsnotes() {\r\n // let selfObj = this;\r\n // this.columnDefsnotes = [\r\n // {\r\n\r\n // field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n // if (params.data.isnewnote == 1) {\r\n // return '';\r\n // }\r\n // else if (params.value == 'Contact' || params.value == 'Account') {\r\n // // return '';\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n // //return '';\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n // //return '';\r\n // return '';\r\n // } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n // //return '';\r\n // return '';\r\n // }\r\n // else {\r\n // //return '';\r\n // return '';\r\n // }\r\n\r\n // }\r\n // },\r\n // {\r\n // field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', hide: false, cellRenderer(params) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = params.value;\r\n // eDiv.addEventListener('click', function () {\r\n // alert('B');\r\n // selfObj.openDisplaynotes(params);\r\n // });\r\n // return eDiv;\r\n // }\r\n // },\r\n // { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: true },\r\n // { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n // {\r\n // field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: false,\r\n // cellRenderer(params) {\r\n // if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n // else { return params.value; }\r\n\r\n // }\r\n // },\r\n // { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n // { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n // { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n // ];\r\n // //this.columnDefsnotes = [\r\n // // {\r\n // // field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n // // if (params.value == 'Contact') {\r\n // // return '';\r\n // // }\r\n // // else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n // // return '';\r\n // // }\r\n // // else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n // // return 'To-Do';\r\n // // }\r\n // // else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n // // return '';\r\n // // } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n // // return '';\r\n // // }\r\n // // else {\r\n // // return '
      $$
      '\r\n // // }\r\n // // }\r\n // // },\r\n // // {\r\n // // field: 'notedescription', headerName: 'Notes', hide: false, cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellRenderer(params) {\r\n // // var eDiv = document.createElement('div');\r\n // // eDiv.innerHTML = params.value;\r\n // // eDiv.addEventListener('click', function () {\r\n // // //selfObj.notes.notedescription = params.value;\r\n // // //selfObj.NotesDec = !selfObj.NotesDec;\r\n // // selfObj.openDisplaynotes(params);\r\n // // });\r\n // // return eDiv;\r\n // // }},\r\n // // { field: 'contactname', headerName: 'Contact', hide: false },\r\n // // { field: 'created', headerName: 'Date Added', hide: false },\r\n // // { field: 'status', headerName: 'Completed Y/N', hide: false, cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } },\r\n // // { field: 'user', headerName: 'User Added', hide: false },\r\n // // { field: 'type', headerName: 'Type', hide: false }\r\n\r\n // //];\r\n // this.getRowHeight = function (params) {\r\n // return 18 * (Math.floor(params.data.notedescription.length / 45) + 1);\r\n // };\r\n //}\r\n\r\n //onAgGridReadynotes(event) {\r\n \r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAllnotes();\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAllnotes();\r\n // }, 1000));\r\n // }, 1000));\r\n //}\r\n //autoSizeAllnotes() {\r\n // var allColumnIds = [];\r\n // if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n // var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n // if (allCols != null) {\r\n // allCols.forEach(function (column) {\r\n // allColumnIds.push(column.getColId());\r\n // });\r\n // }\r\n // this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds);\r\n // //this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds, \"autosizeColumns\");\r\n // }\r\n //}\r\n\r\n enterNotes() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n }\r\n SaveNote() {\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/img, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/<[^>]*>/g, '');\r\n this.notes.type = \"Contact\";\r\n this.notes.accountid = this.contact.id;\r\n\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.GetCustomerNotes(this.notes.accountid, 'Contact');\r\n $('#notesListTabsId .active').removeClass('active');\r\n $('#notesListTabsId #allNotesId').addClass('active');\r\n\r\n \r\n this.CancelNote();\r\n });\r\n //document.getElementById('ownerlabel').innerHTML = this.account.owner;\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n //document.getElementById('ownerlabel').innerHTML = this.account.owner;\r\n }\r\n editcontact(contactId) {\r\n if (this.contactpermission == \"view\" || this.account.isAccountPermission==\"View\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('tickets') > -1) {\r\n this.sendMsgEvent.emit('edit');\r\n }\r\n this.action = \"EditContact\";\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n this.contactid = contactId;\r\n \r\n }\r\n \r\n }\r\n cancelContact() {\r\n \r\n //document.getElementById('EdittContactDetails').style.display = 'none';\r\n //document.getElementById('otherDetailsTable').style.display = 'block';\r\n this.otherDetailsTable = true;\r\n document.getElementById('saveContact').style.display = 'none';\r\n \r\n this.FellowshipyearDrop = true;\r\n this.MedSchoolyearDrop = true;\r\n this.ResidencyyearDrop = true;\r\n this.collegeyearDrop = true;\r\n }\r\n \r\n SaveContact() {\r\n if (this.contact.isaddressadded) {\r\n //document.getElementById('EdittContactDetails').style.display = 'none';\r\n //document.getElementById('otherDetailsTable').style.display = 'block';\r\n this.otherDetailsTable = true;\r\n document.getElementById('saveContact').style.display = 'none';\r\n if (this.tab != 'QuickView') {\r\n //$('#mainDivleft').attr('style', 'padding:0;width: 50%;');\r\n }\r\n $('#detailedView').attr('style', 'padding:0;padding-right: 0%;display: block;height:100% ')\r\n this.contact.accountid = this.account.id;\r\n this.contact.isshared = this.account.isshared;\r\n \r\n this.accountsService.addcontact(this.contact).then(result => {\r\n this.customerService.GetContactById(result.id).then(result1 => {\r\n if (document.getElementById('contactlabel').innerHTML == \"EDIT CONTACT\") {\r\n this.displaycontact = result1; \r\n this.displaycontact.collegegrandyear = moment(this.displaycontact.collegegrandyear).format(\"YYYY\");\r\n this.displaycontact.medschoolgrandyear = moment(this.displaycontact.medschoolgrandyear).format(\"YYYY\");\r\n this.displaycontact.fellowshipgrandyear = moment(this.displaycontact.fellowshipgrandyear).format(\"YYYY\");\r\n this.displaycontact.residencygrandyear = moment(this.displaycontact.residencygrandyear).format(\"YYYY\");\r\n } else {\r\n this.contact = result1;\r\n this.contact.collegegrandyear = moment(this.contact.collegegrandyear).format(\"YYYY\");\r\n this.contact.medschoolgrandyear = moment(this.contact.medschoolgrandyear).format(\"YYYY\");\r\n this.contact.fellowshipgrandyear = moment(this.contact.fellowshipgrandyear).format(\"YYYY\");\r\n this.contact.residencygrandyear = moment(this.contact.residencygrandyear).format(\"YYYY\");\r\n }\r\n this.contactid = result1.id;\r\n \r\n });\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n var city1 = this.account.city;\r\n var cityArray1 = city1.split(' ');\r\n var newcity1 = '';\r\n for (var i = 0; i < cityArray1.length; i++) {\r\n if (newcity1 == '') {\r\n newcity1 = cityArray1[i].charAt(0).toUpperCase() + cityArray1[i].substr(1).toLowerCase();\r\n } else {\r\n newcity1 = newcity1 + ' ' + cityArray1[i].charAt(0).toUpperCase() + cityArray1[i].substr(1).toLowerCase();\r\n }\r\n }\r\n this.account.city = newcity1;\r\n \r\n var state1 = this.account.state;\r\n var properstate1 = state1.charAt(0).toUpperCase() + state1.substr(1).toLowerCase();\r\n this.account.state = properstate1;\r\n\r\n });\r\n\r\n this.toastr.success(\"Contact Updated successfully.\", \"Contact Saved\", { timeOut: 600 });\r\n\r\n this.FellowshipyearDrop = true;\r\n this.MedSchoolyearDrop = true;\r\n this.ResidencyyearDrop = true;\r\n this.collegeyearDrop = true;\r\n });\r\n }\r\n else {\r\n this.showmapWarning = true;\r\n this.showmapWarningDialogCss();\r\n }\r\n }\r\n showmapWarningDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width:30%;padding-bottom: 0px;border:4px solid rgb(49,189,240);border-radius:5%;min-height: 30%;overflow: visible;height: 43%;top: 32%;left: 56%;');\r\n }, 4);\r\n }\r\n\r\n SaveCustomeAddress() {\r\n this.contact.isaddressadded = true;\r\n this.showmapWarning = false;\r\n }\r\n getyears() {\r\n var range = [];\r\n var y = 1949;\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.Years = range;\r\n }\r\n\r\n\r\n loadcontacttitles(val) {\r\n this.customerService.GetTitleListbycontacttype(val).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.TitleList = accounttype;\r\n this.contact.title = null;\r\n if (val == 'Physician' || val == 'DPM' || val == 'NP' || val == 'PT' || val == 'PA') {\r\n $('#title').removeClass('required');\r\n $('#title').addClass('not-required');\r\n document.getElementById('titlespan').style.display = 'block';\r\n\r\n } else {\r\n $(\"#title\").prop(\"required\", false)\r\n $('#title').removeClass('not-required');\r\n $('#title').removeClass('required');\r\n document.getElementById('titlespan').style.display = 'none';\r\n\r\n }\r\n });\r\n\r\n }\r\n titleSelected() {\r\n if ($('#title').hasClass('not-required')) {\r\n $('#title').removeClass('not-required')\r\n $('#title').addClass('required')\r\n\r\n }\r\n }\r\n IsButtonAccess(btn, type) {\r\n if (this.contactpermission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else {\r\n if ((this.userprevilages == undefined || this.userprevilages.length == 0) && type == \"add\") {\r\n this.router.navigate(['/application/account-contact/' + this.contactpermission + '/' + this.account.id]);\r\n }\r\n if ((this.userprevilages == undefined || this.userprevilages.length == 0) && type == \"edit\") {\r\n\r\n this.router.navigate(['/application/account-contact/' + this.contactpermission + '/edit' + this.account.id]);\r\n }\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (btn == this.userprevilages[j].resource) {\r\n if (type == \"add\") {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.warning(\"You Do Not have Access to this Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n else {\r\n this.router.navigate(['/application/account-contact/' + this.contactpermission + '/show' + this.account.id]);\r\n //document.getElementById('AccountstatisticsBox').style.display = 'block';\r\n $('#AccountstatisticsBox').css('display', 'block');\r\n\r\n }\r\n\r\n }\r\n\r\n if (type == \"edit\") {\r\n if (this.userprevilages[j].canedit == false) {\r\n this.toastr.warning(\"You Do Not have Access to this Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n else {\r\n this.router.navigate(['/application/account-contact/' + this.contactpermission + '/edit' + this.account.id]);\r\n $('#AccountstatisticsBox').css('display', 'block');\r\n \r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n //document.getElementById('subTab').style.display = 'height';\r\n } \r\n }\r\n contactsSelectState(id, name) {\r\n $('.selectedState').removeClass('selectedState');\r\n $('#cont_' + id).addClass('selectedState');\r\n $('#contactstateTextBox').val(name);\r\n this.contact.state = name;\r\n }\r\n contactsShowStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'block';\r\n }\r\n contactsHideStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'none';\r\n }\r\n changeCityStateZip(id) {\r\n\r\n var $stateDropdownDiv = $('#contactstateTextBox').parent();\r\n if (id == 1) {\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n this.getSelectedState('all');\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = true;\r\n this.displayCountryName = false;\r\n $stateDropdownDiv.removeClass();\r\n $stateDropdownDiv.addClass('col-xs-3 removeCompletePadding');\r\n $stateDropdownDiv.prop(\"style\", \"padding:0px\");\r\n $('#contactstateTextBox').prop(\"placeholder\", \"Select State\");\r\n $('#contactCityDiv').removeClass();\r\n $('#contactCityDiv').addClass('col-xs-6');\r\n\r\n this.countryId == 1;\r\n }\r\n else if (id == 2) {\r\n $('#citySateZipforContacts').html('Island/Country');\r\n this.getSelectedState('bahamas');\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = false;\r\n this.displayCountryName = true;\r\n $stateDropdownDiv.removeClass();\r\n $stateDropdownDiv.addClass('col-xs-6 removeCompletePadding');\r\n $stateDropdownDiv.prop(\"style\", \"padding:0px\");\r\n $('#contactstateTextBox').prop(\"placeholder\", \"Select Island\");\r\n $('#contactCityDiv').removeClass();\r\n $('#displayCountry').val('Bahamas');\r\n this.countryId == 2;\r\n }\r\n }\r\n getSelectedState(country) {\r\n this.customerService.GetAllStateList(country).then((state) => {\r\n state.forEach(accounttype => {\r\n });\r\n this.StatesList = state;\r\n this.stateInfo = state;\r\n\r\n });\r\n }\r\n QuickViewDialogCss(val) { \r\n if (val == true) { //expand\r\n this.applicationComponent.StandardGreenpopupUi('.dialog');\r\n } else {\r\n if (this.Source == \"Campaigns\") {\r\n this.applicationComponent.quickViewDialogcss('#quickViewHistoryDialog .dialog');\r\n //$(setTimeout(function () {\r\n // $('#quickViewHistoryDialog .dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(117, 218, 51);min-height: 63%;overflow: auto;height: 89%;top: 10%;left: 3%;margin-right:1%');\r\n //}, 4));\r\n } else {\r\n this.applicationComponent.quickViewDialogcss('.dialog'); \r\n }\r\n }\r\n }\r\n\r\n expandactivities(val) {\r\n this.historyName = val;\r\n if (this.contactpermission == \"view\" || this.account.isAccountPermission == 'View') {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else {\r\n if (this.tab === 'QuickView') {\r\n //this.sendMsgEvent.emit(\"Expand\");\r\n //this.SixBoxExpand = true;\r\n this.quickViewHistoryDialog = true;\r\n this.QuickViewDialogCss(false);\r\n this.QuickViewActivitiesDialog = true\r\n this.QuickViewNotesDialog = false;\r\n this.QuickViewEmailDialog = false;\r\n this.QuickViewDocumentsDialog = false;\r\n this.QuickViewProposalsDialog = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewOpportunityDialog = false;\r\n this.QuickViewProjectDialog = false;\r\n } else {\r\n this.otherDetailsTable = false;\r\n this.activitiesinfo = true;\r\n this.Projectsinfo = false\r\n }\r\n this.historyComp.getAllActivities(this.contactid, 'Contacts');\r\n }\r\n }\r\n AddTask() {\r\n if (this.contactpermission == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else {\r\n this.ScheduleTaskOpen = true;\r\n document.getElementById('otherDetails').style.display = 'none';\r\n document.getElementById('taskDialog').style.display = 'block';\r\n }\r\n \r\n \r\n }\r\n onTaskSaved(msg) {\r\n if (msg != 'Header') {\r\n this.leadservice.GetAllTaskHistoryByContact(this.contactid, 'Contacts', this.currentuser.timezone).then((activities) => {\r\n\r\n this.activitieslist = activities;\r\n });\r\n document.getElementById('taskDialog').style.display = 'none';\r\n document.getElementById('otherDetails').style.display = 'block';\r\n }\r\n else {\r\n document.getElementById('taskDialog').style.display = 'none';\r\n document.getElementById('otherDetails').style.display = 'block';\r\n }\r\n }\r\n \r\n PreviousContact() {\r\n this.sendMsgEvent.emit(\"Previous\");\r\n }\r\n NextContact() {\r\n this.sendMsgEvent.emit(\"Next\");\r\n }\r\n LoadContact(msg) {\r\n this.showContactInfo = true;\r\n this.showAccountInfo = false;\r\n if (msg == 'Previous') { this.PreviousContact(); } else { this.NextContact(); } \r\n }\r\n\r\n //openDisplaynotes(params) {\r\n // \r\n // this.notes.notedescription = params.value;\r\n // this.NotesDec = !this.NotesDec;\r\n // if (this.currentuser.id == params.data.userid) {\r\n // this.showEditNoteBtn = true;\r\n // this.editNoteId = params.data.id;\r\n // } else\r\n // this.showEditNoteBtn = false;\r\n\r\n // var notesOffset = $(\"#divNotesContainer\").offset();\r\n // let notesWidth = $('#divNotesContainer').width();\r\n // let notesHeight = $('#divNotesContainer').height();\r\n // let windowWidth = $(window).width();\r\n // let showDialogWidth = 350;\r\n // $(setTimeout(function () {\r\n // \r\n // $('#showDetailsDialog').width(showDialogWidth);\r\n // $('#showDetailsDialog').height('27%');\r\n // $('#showDetailsDialog').css('top', '70%');\r\n // $('#showDetailsDialog').css('left', '70%');\r\n // $('#showDetailsDialog').css('border-radius', '4px');\r\n // $('#showDetailsDialog').css('border', '3px solid');\r\n // if ($('input[name=Notes]').is(':checked')) {\r\n // $('#txtLongNoteDesc').css('height', '81%');\r\n // $('#txtLongNoteDesc').css('padding-top', '0%');\r\n // $('#txtUserFullName').css('height', '14%');\r\n // } else {\r\n // $('#txtLongNoteDesc').css('height', '96%');\r\n // $('#txtLongNoteDesc').css('padding-top', '6%');\r\n // }\r\n // $('#showDetailsDialog').show();\r\n // }, 1));\r\n //}\r\n\r\n openDisplaynotes(params) {\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 25%;left: 76%;background-color:#ffffb4;border: 1px solid;overflow:auto;padding:0;');\r\n $('#closeDetailsDialog').click();\r\n\r\n //this.notes.notedescription = params.value;\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n \r\n //$('#showDetailsDialog').width(showDialogWidth);\r\n //$('#showDetailsDialog').height(notesHeight - 140);\r\n //if ($('#typeClicked').val() == 'modal') {\r\n if (selfObj.isModal) {\r\n //$('#showDetailsDialog').css('top', '23%');\r\n //$('#showDetailsDialog').css('height', '61%');\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n //$('#showDetailsDialog').css('top', notesOffset.top + 125);\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 25%;left: 76%;background-color:#ffffb4;border: 1px solid;overflow:auto;padding:0;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n } else {\r\n //var url = window.location.href;\r\n //if ((url).indexOf('account-contact') > -1) {\r\n // $('#showDetailsDialog').css('top', '62%');\r\n //} else {\r\n // $('#showDetailsDialog').css('top', '72%');\r\n //}\r\n var gridOffset = $(\"#notesGrid\").offset();\r\n //$('#showDetailsDialog').css('top', gridOffset.top);\r\n //$('#showDetailsDialog').css('height', '38%');\r\n //$('#showDetailsDialog').css('left', '74%');\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 25%;left: 76%;background-color:#ffffb4;border: 1px solid;overflow:auto;padding:0;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('overflow', 'auto');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n }\r\n //$('#showDetailsDialog').css('border-radius', '4px');\r\n //$('#showDetailsDialog').css('border', '3px solid');\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show(); \r\n }\r\n expandcampaigns(val) {\r\n this.historyName = val;\r\n this.quickViewHistoryDialog = true;\r\n this.QuickViewDialogCss(false);\r\n this.QuickViewActivitiesDialog = false\r\n this.QuickViewNotesDialog = false;\r\n this.QuickViewEmailDialog = false;\r\n this.QuickViewDocumentsDialog = false;\r\n this.QuickViewProposalsDialog = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewOpportunityDialog = false;\r\n this.QuickViewProjectDialog = false;\r\n this.quickViewCampaignsDialog = true;\r\n this.customerService.GetSpecialityList(\"CampaignStatus\", this.currentuser.id).then((Rows) => {\r\n this.StatusDropdownList = Rows;\r\n })\r\n }\r\n CampaignsDropdownChange(status) {\r\n this.campaincmp.LoadCampaigns(this.currentuser.id, status)\r\n }\r\n expanddocuments(val,headerName) {\r\n this.historyName = headerName;\r\n if (this.contactpermission == \"view\" || this.account.isAccountPermission == \"View\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else {\r\n if (this.tab === 'QuickView') {\r\n \r\n this.quickViewHistoryDialog = true;\r\n this.quickViewSMSDialog = false;\r\n this.quickViewCampaignsDialog = false;\r\n\r\n this.QuickViewDialogCss(false);\r\n this.QuickViewActivitiesDialog = false\r\n this.QuickViewNotesDialog = false;\r\n this.QuickViewEmailDialog = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewOpportunityDialog = false;\r\n this.QuickViewProjectDialog = false;\r\n if (val == 'With Proposal') {\r\n this.QuickViewDocumentsDialog = false;\r\n this.QuickViewProposalsDialog = true;\r\n } else {\r\n this.QuickViewDocumentsDialog = true;\r\n this.QuickViewProposalsDialog = false;\r\n }\r\n\r\n this.loadDocFilterDropDown(val);\r\n } else {\r\n $('#setDocumentDetails').val(1);\r\n this.otherDetailsTable = false;\r\n this.activitiesinfo = false;\r\n this.emailsinfo = false;\r\n this.Projectsinfo = false;\r\n\r\n if (val == 'With Proposal') {\r\n this.documentsinfo = false;\r\n this.Proposalinfo = true;\r\n } else {\r\n this.documentsinfo = true;\r\n this.Proposalinfo = false;\r\n }\r\n \r\n }\r\n this.isDocumentsInfoDivVisible = true;\r\n }\r\n }\r\n\r\n\r\n loadDocFilterDropDown(val) {\r\n if (val == 'With Proposal') {\r\n\r\n this.DocumentsFilter = Array.from(new Set(this.POdocumentlist.map(s => s.documentname)))\r\n .map(contacttype => {\r\n return {\r\n Name: ((this.POdocumentlist.filter(x => x.documentname == contacttype)[0].documentname != null) ? this.POdocumentlist.filter(x => x.documentname == contacttype)[0].documentname : '') + \" (\" + this.POdocumentlist.filter(x => x.documentname == contacttype).length + \")\",\r\n Value: contacttype\r\n }\r\n });\r\n\r\n } else {\r\n\r\n this.DocumentsFilter = Array.from(new Set(this.userdocumentlist.map(s => s.documentname)))\r\n .map(contacttype => {\r\n return {\r\n Name: ((this.userdocumentlist.filter(x => x.documentname == contacttype)[0].documentname != null) ? this.userdocumentlist.filter(x => x.documentname == contacttype)[0].documentname : '') + \" (\" + this.userdocumentlist.filter(x => x.documentname == contacttype).length + \")\",\r\n Value: contacttype\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n DocumentsFilterBy(event) {\r\n this.docMgmtComp.DocumentsFilterBy(event)\r\n }\r\n expandsms(val) {\r\n this.historyName = val;\r\n this.quickViewHistoryDialog = true;\r\n this.QuickViewDialogCss(false);\r\n this.QuickViewActivitiesDialog = false\r\n this.QuickViewNotesDialog = false;\r\n this.QuickViewEmailDialog = false;\r\n this.QuickViewDocumentsDialog = false;\r\n this.QuickViewProposalsDialog = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewOpportunityDialog = false;\r\n this.QuickViewProjectDialog = false;\r\n this.quickViewSMSDialog = true;\r\n }\r\n expandtickets(val) {\r\n this.historyName = val;\r\n if (this.account.isAccountPermission == 'View' || this.contactpermission == 'view') {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n if (this.tab === 'QuickView') {\r\n this.quickViewHistoryDialog = true;\r\n this.QuickViewDialogCss(false);\r\n this.QuickViewActivitiesDialog = false\r\n this.QuickViewNotesDialog = false;\r\n this.QuickViewEmailDialog = false;\r\n this.QuickViewDocumentsDialog = false;\r\n this.QuickViewProposalsDialog = false;\r\n this.QuickViewTicketsDialog = true;\r\n this.QuickViewOpportunityDialog = false;\r\n this.QuickViewProjectDialog = false;\r\n } else {\r\n this.otherDetailsTable = false;\r\n this.activitiesinfo = false;\r\n this.emailsinfo = false;\r\n this.documentsinfo = false;\r\n this.Proposalinfo = false;\r\n this.notesinfo = false;\r\n this.Projectsinfo = false;\r\n this.showticketsinfo = true;\r\n }\r\n this.isTicketsInfoDivVisible = true;\r\n\r\n }\r\n \r\n }\r\n expandemails(val) {\r\n this.historyName = val;\r\n if (this.contactpermission == \"view\" || this.account.isAccountPermission == \"View\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else {\r\n if (this.tab === 'QuickView') {\r\n this.quickViewHistoryDialog = true;\r\n this.QuickViewDialogCss(false);\r\n this.QuickViewActivitiesDialog = false\r\n this.QuickViewNotesDialog = false;\r\n this.QuickViewEmailDialog = true;\r\n this.QuickViewDocumentsDialog = false;\r\n this.QuickViewProposalsDialog = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewOpportunityDialog = false;\r\n this.QuickViewProjectDialog = false;\r\n } else {\r\n this.otherDetailsTable = false;\r\n this.documentsinfo = false;\r\n this.Proposalinfo = false;\r\n this.Projectsinfo = false;\r\n this.emailsinfo = true;\r\n }\r\n \r\n }\r\n\r\n }\r\n\r\n expandOpportunities(val) {\r\n this.historyName = val;\r\n if (this.account.isAccountPermission == 'View' || this.contactpermission == 'view') {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else {\r\n if (this.tab === 'QuickView') {\r\n this.quickViewHistoryDialog = true;\r\n this.QuickViewDialogCss(false);\r\n this.QuickViewActivitiesDialog = false\r\n this.QuickViewNotesDialog = false;\r\n this.QuickViewEmailDialog = false;\r\n this.QuickViewDocumentsDialog = false;\r\n this.QuickViewProposalsDialog = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewProjectDialog = false;\r\n this.QuickViewOpportunityDialog = true;\r\n } else {\r\n \r\n this.otherDetailsTable = false;\r\n this.activitiesinfo = false;\r\n this.emailsinfo = false;\r\n this.documentsinfo = false;\r\n this.Proposalinfo = false;\r\n this.notesinfo = false;\r\n this.Projectsinfo = false;\r\n this.showticketsinfo = true;\r\n }\r\n\r\n //this.historyComp.getAllActivities(this.contactid, 'Customer');\r\n }\r\n }\r\n expandProjects(val) {\r\n this.historyName = val;\r\n if (this.tab === 'QuickView') {\r\n this.quickViewHistoryDialog = true;\r\n this.QuickViewDialogCss(false);\r\n this.QuickViewActivitiesDialog = false\r\n this.QuickViewNotesDialog = false;\r\n this.QuickViewEmailDialog = false;\r\n this.QuickViewDocumentsDialog = false;\r\n this.QuickViewProposalsDialog = false;\r\n this.QuickViewTicketsDialog = false;\r\n this.QuickViewOpportunityDialog = false;\r\n this.QuickViewProjectDialog = true;\r\n } else {\r\n this.otherDetailsTable = false;\r\n this.activitiesinfo = false;\r\n this.emailsinfo = false;\r\n this.documentsinfo = false;\r\n this.Proposalinfo = false;\r\n this.notesinfo = false;\r\n this.showticketsinfo = false;\r\n this.Projectsinfo = true;\r\n }\r\n\r\n }\r\n\r\n\r\n closeDocumentInsideContact() {\r\n \r\n this.documentsinfoBesideContactInfo = false;\r\n this.photoForConatctView = false;\r\n this.addEditInsideContact = false;\r\n $('#contactDiv').removeClass('col-xs-7');\r\n $('#contactDiv').addClass('col-xs-8');\r\n }\r\n onDocumentOpen(myBaseString) {\r\n \r\n var viewtype = \"ContactView\";\r\n this.ForPhotoInsideContactView = false;\r\n $('#statisticsBox').attr('style', 'display:none');\r\n $('#otherDetails').attr('style', 'display:none');\r\n $('#buttonDiv').attr('style','display:none');\r\n document.getElementById('pdfDiv').style.display = 'block';\r\n\r\n\r\n this.documentsinfoBesideContactInfo = true;\r\n this.photoForConatctView = true;\r\n this.addEditInsideContact = true;\r\n $('#contactDiv').removeClass('col-xs-8');\r\n $('#contactDiv').addClass('col-xs-7');\r\n\r\n\r\n \r\n $('#pdfDiv').html('')\r\n $('#pdfDiv').attr('style', 'height: 571px;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n//\r\n setTimeout(function () {\r\n $('#documentDiv').removeClass('col-xs-4');\r\n $('#documentDiv').addClass('col-xs-5');\r\n }, 500);\r\n }\r\n saveEditedNote() {\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.GetCustomerNotes(selfObj.contactid, 'Contact');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n //this.Notes(this.selectedTabName);\r\n }\r\n openAccountNotes() {\r\n //this.isModal = true;\r\n //$('#accotIdNotes').val(this.account.id);\r\n //$('#accotTypeNotes').val('Customer');\r\n //this.notesshowDialog = true;\r\n //this.notesshowDialogCss();\r\n //let selfobj = this;\r\n //$(setTimeout(function () {\r\n // selfobj.noteComp.Notes('Contact Only');\r\n // $('#chkShowDetailsNotes').prop('checked', false); $('#closeDetailsDialog').click();\r\n //}, 100));\r\n //$('#checkDiv').css('height', '63%');\r\n this.isModal = true;\r\n this.notesshowDialog = true;\r\n this.notesshowDialogCss();\r\n\r\n }\r\n notesshowDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n addFiles(event) {\r\n if (this.contactpermission == 'view') {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else {\r\n let files = event.srcElement.files;\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n this.addChargeNew(file);\r\n }\r\n // $(\"#addFiles\").val(\"\");\r\n }\r\n }\r\n \r\n addChargeNew(file) {\r\n \r\n let contact = new Contacts();\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n // this.urlImage = reader.result;\r\n //reader.onload = (event) => { // called once readAsDataURL is completed\r\n \r\n //}\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n contact.id = selfObj.contactid;\r\n contact.phototype = file.type;\r\n contact.photo = reader.result.toString();\r\n selfObj.urlImage = reader.result.toString();\r\n // $('#pdfDiv1').html('')\r\n\r\n /// selfObj.urlImage = reader.result;\r\n selfObj.customerService.uploadPhoto(contact).then((user) => {\r\n }); \r\n }, 500));\r\n //let selfObj = this;\r\n //$(setTimeout(function () {\r\n // selfObj.customerService.uploadPhoto(this.contact.id, reader.result, file.type).then((user) => {\r\n // }); \r\n // }); \r\n //}, 500));\r\n \r\n }\r\n sharingAg() {\r\n this.isSharing = true;\r\n this.isSharingCss();\r\n this.accountSharingid = this.account.id;\r\n this.ownrshipComp.loadAccountInformation(this.account.id, this.contact.id);\r\n }\r\n\r\n\r\n isSharingCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 35%;padding-bottom: 0px;border: 1px solid rgb(49,189,240);min-height: 63%;overflow: auto;height: 82.5%;padding: 0;top: 10%;left: 63%;');\r\n }, 4)\r\n\r\n }\r\n previousdocument() {\r\n var viewtype = \"ContactView\";\r\n this.documentindex--;\r\n $('#pdfDiv').html('')\r\n }\r\n nextdocument() {\r\n var viewtype = \"ContactView\";\r\n this.documentindex++;\r\n $('#pdfDiv').html('')\r\n }\r\n onDocumentSavedSaved(msg) {\r\n var isnum = /^\\d+$/.test(msg);\r\n if (msg == 'UploadDocument') {\r\n \r\n this.uploadDocumentShow = true;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.uploadDoc.OpenFilemanual();\r\n }, 100));\r\n } else if (isnum) {\r\n this.customerService.GetDocumentsCount(msg, 'Contact').then(result => {\r\n this.userdocumentcount = result;\r\n\r\n });\r\n } else if (msg==\"close\") {\r\n this.close();\r\n } else if (msg == \"ShowPDF\") {\r\n this.ShowPDF = true;\r\n } else if (msg == \"Hide\") {\r\n this.ShowPDF = false;\r\n }\r\n else {\r\n this.documentview = true;\r\n this.onDocumentOpen(msg);\r\n }\r\n }\r\n SavedDocuments(msg) {\r\n \r\n this.uploadDocumentShow = false;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.customerService.GetAllDocumentList(msg, 'Contacts', selfObj.currentYear, 'Contacts').then((document) => {\r\n \r\n //selfObj.userdocumentlist = document;\r\n let AccountDocuments: any = document.filter((doc) => (doc != null && doc.type.startsWith('Account')));\r\n\r\n selfObj.accDocCount = AccountDocuments.length;\r\n let ContactDocuments: any = document.filter((doc) => (doc != null && doc.type.startsWith('Contact')));\r\n selfObj.conDocCount = ContactDocuments.length;\r\n\r\n });\r\n }, 500));\r\n \r\n\r\n }\r\n public transform(input: string): string {\r\n //if (!input) {\r\n // return '';\r\n //} else {\r\n // return this.titleCasePipe.transform(input);;\r\n //}\r\n if (!input) {\r\n return '';\r\n }\r\n else {\r\n return input[0].toUpperCase() + input.substr(1);\r\n }\r\n }\r\n onCloseEventReceived(msg) {\r\n this.accountSharingid = 0;\r\n this.isSharing = false;\r\n this.GetContactInfo(this.contactid);\r\n }\r\n\r\n Expandimage() {\r\n if (document.getElementById('pdfDiv').className == 'col-xs-12') {\r\n document.getElementById('window').style.display = 'block';\r\n document.getElementById('pdfDiv').className = 'col-xs-6';\r\n $('#documentViewId').removeClass('col-xs-12');\r\n $('#documentViewId').addClass('col-xs-6');\r\n } else {\r\n document.getElementById('window').style.display = 'none';\r\n document.getElementById('pdfDiv').className = 'col-xs-12';\r\n $('#documentViewId').removeClass('col-xs-6');\r\n $('#documentViewId').addClass('col-xs-12');\r\n }\r\n }\r\n closeEmbed() {\r\n this.documentview = false;\r\n $('#pdfDiv').attr('style', 'display: none;');\r\n this.closeDocumentInsideContact();\r\n document.getElementById('window').style.display = 'block';\r\n document.getElementById('pdfDiv').className = 'col-xs-6';\r\n }\r\n OpenTask(contactId, taskid, type) {\r\n this.id = contactId;\r\n this.taskid = taskid;\r\n this.type = type;\r\n this.isTaskShow = true;\r\n }\r\n ReceiveTaskUpdate(msg) { }\r\n Taskdialoghideshow(tdialog: boolean) {\r\n this.isTaskShow = tdialog;\r\n }\r\n AddressReceived(msg: Accounts) { \r\n this.contact.address1 = msg.address1;\r\n this.contact.address2 = msg.address2;\r\n this.contact.city = msg.city;\r\n this.contact.state = msg.state;\r\n this.contact.zip = msg.zip;\r\n this.contact.ProvidenceIsland = msg.ProvidenceIsland;\r\n this.contact.lattitude = msg.lattitude;\r\n this.contact.longtitude = msg.longtitude.toString(); \r\n }\r\n openAccountIds() {\r\n this.AccountIdsDialog = true;\r\n this.AccountIdsDialogCss();\r\n }\r\n\r\n AccountIdsDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 20%;padding-bottom:0px;border:2px solid rgb(49,189,240);border-radius:5%;min-height:15%;overflow: auto;height: 18%;left: 0%;right:9%;top: 18%;padding: 0;');\r\n }, 4)\r\n\r\n }\r\n //expandDiv() {\r\n // var ExpandVal = $('#expandid').html();\r\n // if (ExpandVal == \"X\") {\r\n // this.expanded = false;\r\n // $('#expandid').html('<>')\r\n // $('#window').removeClass('col-xs-12 col-sm-12 col-md-12');\r\n // $('#window').addClass('col-xs-12 col-sm-12 col-md-6');\r\n // $('#rightInfoDiv').attr('style', 'display:block;padding:0;height:95%');\r\n // } else {\r\n // this.expanded = true;\r\n // $('#window').removeClass('col-xs-12 col-sm-12 col-md-6');\r\n // $('#window').addClass('col-xs-12 col-sm-12 col-md-12');\r\n // $('#rightInfoDiv').attr('style', 'display:none');\r\n // $('#expandid').html('X');\r\n\r\n // }\r\n\r\n //}\r\n\r\n onCloseDialogEventReceived(msg) { \r\n if (msg == 'false') {\r\n this.notesshowDialog = false;\r\n this.isModal = false;\r\n }\r\n }\r\n onChange(msg) {\r\n \r\n this.contactphotocmp.checkNotes();\r\n \r\n }\r\n OnReceived(msg) {\r\n \r\n if (msg == \"Open\") {\r\n this.contactphotocmp.crmDialog = true;\r\n this.crmDialogCss(); }\r\n else {\r\n this.ViewPhotoDialog = false; \r\n }\r\n }\r\n crmDialogCss() {\r\n $(setTimeout(function () {\r\n $('#crmDialog .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 42%;left: 24%;max-width: 1393px !important;');\r\n }, 4));\r\n }\r\n CRMSAVE() {\r\n \r\n }\r\n\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n this.GetContactInfo(this.contactid);\r\n //this.toastr.success(\"Contact saved successfully.\", \"Contact Saved\", { timeOut: 600 });\r\n }\r\n ReceiveEvent(event) {\r\n\r\n if (event == \"ExpandSoftwareLicense\" || event == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(event);\r\n } else {\r\n this.showAddEditContact = false;\r\n if (this.contactid != 0) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.GetContactInfo(selfObj.contactid);\r\n }, 100));\r\n }\r\n } \r\n }\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n\r\n AccountsharingAg(selectedval) {\r\n\r\n if (selectedval == 'share') {\r\n this.sharingAg();\r\n } else if (selectedval == 'Edit') {\r\n this.action = selectedval;\r\n } else {\r\n this.action = selectedval;\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n }\r\n \r\n }\r\n AccountInfo() {\r\n var url = window.location.href;\r\n if (this.tab == 'QuickView') {\r\n if (url.indexOf('account/Accounts') > -1) {\r\n //let objSelf = this;\r\n //$(setTimeout(function () {\r\n // objSelf.accComp.AccountData('show' + objSelf.account.id);\r\n //}, 100));\r\n this.sendMsgEvent.emit(\"AccountView\");\r\n } else if (url.indexOf('contacts/contacts') > -1 || url.indexOf('customercontacts') > -1) {\r\n this.sendMsgEvent.emit(\"ContactView\");\r\n } else {\r\n this.sendMsgEvent.emit(\"AccountView\");\r\n }\r\n } else {\r\n \r\n if ((url.indexOf('tasklistdashboard') > -1 || url.indexOf('month-calender') > -1 || url.indexOf('opportunitiesdashboard') > -1 || url.indexOf('campaigns') > -1 || url.indexOf('quick-view') > -1) == false) {\r\n if (url.indexOf('tickets') > 1) {\r\n this.router.navigateByUrl(`/application/account-contact/all/show${this.account.id}`);\r\n } else if (this.tab == 'QuickView' || this.tab == 'Search') {\r\n\r\n this.showContactInfo = false;\r\n this.showAccountInfo = true; \r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.accComp.AccountData('show' + objSelf.account.id);\r\n }, 100));\r\n } else {\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#allaccount_button').addClass(\"activeButton\");\r\n this.router.navigateByUrl(`/application/account-contact/` + this.contactpermission + '/show' + this.account.id);\r\n }\r\n }\r\n }\r\n }\r\n btnClickReceived(event) {\r\n\r\n if (event.btnName == 'AccountInfo') {\r\n this.AccountInfo();\r\n }\r\n else if (event.btnName == 'addContact') {\r\n this.editcontact(0)\r\n } else if (event.btnName == 'StatusId') {\r\n this.sendMsgEvent.emit(\"StatusId\");\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n\r\n this.openAccountNotes();\r\n } else if (event.btnName == 'FutureTask') {\r\n this.openFutureTask();\r\n }\r\n }\r\n openFutureTask() {\r\n this.futureTaskDialog = true;\r\n }\r\n ExpandPDF(val) {\r\n this.notesshowDialog = true;\r\n this.QuickViewDialogCss(val);\r\n this.DocExpandView = val;\r\n }\r\n openfile(myBaseString) {\r\n this.ViewPhotoDialog = true;\r\n this.ViewPhotoDialogCss();\r\n \r\n }\r\n ViewPhotoDialogCss() {\r\n setTimeout(function () {\r\n $('#ViewPhotoDialog .dialog').attr('style', 'width: 50%;padding-bottom: 0px;min-height: 25%;overflow: auto;height: 70%;padding: 0;left: 23%;top: 20%;');\r\n }, 4);\r\n }\r\n OpenSocialMedia(val, userName) {\r\n window.open(val + userName);\r\n }\r\n CloseTab(tabval) {\r\n this.sendMsgEvent.emit(tabval);\r\n }\r\n ToggleClick() {\r\n this.sendMsgEvent.emit(\"Toggle\");\r\n }\r\n}\r\n\r\n","

      \r\n
      \r\n ACCOUNT VIEW\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{account.accountname}}\r\n
      \r\n Owner : \r\n
      \r\n
      \r\n
      \r\n
      {{account.address1}} 
      \r\n
      {{account.address2}}
      \r\n
      \r\n {{account.city}} , {{account.state}}. {{account.zip | slice:0:5}} 5\">-{{account.zip | slice:5:20}}, {{account.country}}\r\n
      \r\n
      \r\n Phone : {{account.phone}}\r\n , \r\n Fax: {{account.fax}}\r\n
      \r\n
      \r\n {{account.website}},  \r\n Multiple Locations: No\r\n Multiple Locations: Yes\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n Contacts ( {{ContactsprovidersitemCount}} )\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n","import { Component, OnInit, Input, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'contactsof-customer',\r\n templateUrl: './contactsof-customer.component.html',\r\n styleUrls: ['./contactsof-customer.component.css']\r\n})\r\nexport class ContactsofCustomerComponent implements OnInit {\r\n account: Accounts = new Accounts();\r\n allContactsproviders: Contacts[];\r\n itemResource: any;\r\n ContactsprovidersitemCount = 0; contactid: number;\r\n @Input()\r\n id: number;\r\n public gridOptionsProvider: GridOptions;\r\n public columnDefsProvider: any[];\r\n currentuser: any; public callhistorystatus: string;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n constructor(private customerService: CustomerService, public applicationComponent: ApplicationComponent, private opprtunityservice: OpprtunitiesService,)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.GetAccountInformation(this.id);\r\n this.initializeAgGrid();\r\n }\r\n GetAccountInformation(Accountid) {\r\n this.customerService.GetByAccountId(Accountid).then(result => {\r\n this.account = result;\r\n });\r\n this.customerService.GetAllContactproviderByAccount(Accountid, this.currentuser.id).then((contacts) => {\r\n contacts.forEach(contacts => {\r\n });\r\n this.allContactsproviders = contacts;\r\n this.ContactsprovidersitemCount = contacts.length;\r\n //this.itemResource = new DataTableResource(contacts);\r\n //this.itemResource.count().then(count => this.ContactsprovidersitemCount = count);\r\n });\r\n\r\n }\r\n onAgGridReadyProvider(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllProvider();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllProvider();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllProvider() { }\r\n initializeAgGrid() {\r\n \r\n this.gridOptionsProvider = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n\r\n let columnSelections: string;\r\n \r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 36).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefsProvider(columnSelections);\r\n });\r\n this.gridOptionsProvider.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n \r\n }\r\n createColumnDefsProvider(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefsProvider = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefsProvider.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else {\r\n this.columnDefsProvider.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefsProvider = [ \r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n {\r\n field: 'callliststatus', headerName: 'Call List Hx', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.id;\r\n var obj = new Object();\r\n obj[\"id\"] = params.data.id;\r\n obj[\"callliststatus\"] = params.data.callliststatus;\r\n selfObj.sendMsgEvent.emit(JSON.stringify(obj)); \r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'zip', headerName: 'ZIP', hide: false },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'contacttype', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n ];\r\n }\r\n\r\n }\r\n \r\n}\r\n\r\n","\r\n
      \r\n
      \r\n
      \r\n Convert Lead\r\n
      \r\n
      \r\n
      \r\n Convert this Contact to a Lead?
      \r\n Contact is an Open Lead
      \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, } from '@angular/core';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { ApplicationComponent } from './../application.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'convertcontactto-lead',\r\n templateUrl: './convertcontactto-lead.component.html',\r\n styleUrls: ['./convertcontactto-lead.component.css']\r\n})\r\nexport class ConvertcontacttoLeadComponent implements OnInit {\r\n @Input()\r\n id: number;\r\n @Input()\r\n type: number;\r\n @Input()\r\n selectorTag: boolean = false;\r\n\r\n @Input() closable = true;\r\n @Input() visible: boolean;\r\n @Output() visibleChange: EventEmitter = new EventEmitter();\r\n contacts: Contacts = new Contacts();\r\n currentuser: any;\r\n\r\n constructor(private customerService: CustomerService, private router: Router, public applicationComponent: ApplicationComponent)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n \r\n convertLead(id)\r\n {\r\n if (this.type == 0) {\r\n this.customerService.UpdateLeadStatus(id, this.currentuser.id).then((contact) => {\r\n\r\n }); \r\n }\r\n this.applicationComponent.ExpandSelectedMenu('leads');\r\n this.router.navigateByUrl(`/application/leadsdashboard/${id}/0/null`);\r\n }\r\n\r\n cancel()\r\n {\r\n document.getElementById('checkDiv').style.display = 'none' \r\n $('.overlay').remove()\r\n //document.getElementById('inactivelead').style.display = 'none'\r\n \r\n }\r\n}\r\n","\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      {{account.address1}} 
      \r\n
      {{account.address2}}
      \r\n
      \r\n {{account.city}} , {{account.state}}, {{account.zip | slice:0:5}} 5\">-{{account.zip | slice:5:20}}, {{account.country}}\r\n \r\n
      \r\n
      \r\n
      \r\n
      {{account.accountname}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n No data found\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Location
      \r\n
      \r\n
      \r\n Address1:{{localtion.address1}}\r\n
      \r\n
      \r\n Address2:{{localtion.address2}}\r\n
      \r\n
      \r\n city/state/zip:{{localtion.city}},{{localtion.state}} {{localtion.zip}}\r\n
      \r\n
      \r\n phone:{{localtion.phone}}\r\n
      \r\n
      \r\n fax:{{localtion.fax}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n Edit\r\n Save\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n","import { Component, OnInit, ViewChild, ElementRef, ViewContainerRef, ViewEncapsulation, Renderer2,Optional } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { AccountsService } from '../../services/accounts.service';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Accountlocations } from '../../models/data-model';\r\nimport { Http } from '@angular/http';\r\nimport { ParentComp, UserlistComponent } from \"../userlist/userlist.component\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport { Notes } from '../../models/notes';\r\nimport { EditdeleteComponent } from '../editdelete/editdelete.component';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment'\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-customer',\r\n templateUrl: './customer.component.html',\r\n styleUrls: ['./customer.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CustomerComponent {\r\n resizeheight = (window.innerHeight / 1.577) + 'px';\r\n notedescription: string;\r\n itemResource: any;\r\n currentuser: any;\r\n items = [];\r\n itemCount = 0;\r\n params: any;\r\n dropdownList = [];\r\n finalitems = \"\";\r\n selectedItems = [];\r\n term: string = \"\";\r\n multiplelocationshowDialog = false;\r\n accountlocationlist: any;\r\n account: Accounts = new Accounts();\r\n notes: Notes = new Notes();\r\n accountlocations: Accountlocations = new Accountlocations();\r\n public zipmask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n dropdownSetting = {};\r\n alllocations: boolean = true;\r\n addnewlocation: boolean = true;\r\n practiceDiv: boolean = false;\r\n otherDiv: boolean = true;\r\n type: string = ''; Ids = [];\r\n thisComp: ParentComp = ParentComp.Customer;\r\n isViewInitialized: boolean = false;\r\n accessDenied: boolean = false;\r\n notesshowDialog = false;\r\n notesitems = [];\r\n notesitemResource: any;\r\n notesitemCount = 0;\r\n notesparams: any;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n allCustomers: Accounts[];\r\n public gridOptions: GridOptions;\r\n public gridOptionsnotes: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n public columnDefsnotes: any[];\r\n pageSize: string = \"1000\";\r\n public context;\r\n public frameworkComponents;\r\n aggridheight: number = screen.height * 0.6333;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n allnotes: Notes[];\r\n allContactsproviders: any[] = [];\r\n conid: number;\r\n typ: string; NotesDec = false;\r\n userInfo: string;\r\n isShowDetailsChecked: boolean = false;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' } };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()-1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear()-1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' } };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n timezonevalue: string;\r\n constructor(public applicationComponent: ApplicationComponent, private elementRef: ElementRef, private renderer: Renderer2, private http: Http, private opprtunityservice: OpprtunitiesService, private route: ActivatedRoute, private accountService: AccountsService, private customerService: CustomerService, private router: Router, private toastr: ToastrService, private viewContainerRef: ViewContainerRef) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n this.viewContainerRef = viewContainerRef;\r\n // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleArray[3])});\r\n } else if (fieldHeaderVisibleArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleArray[3])});\r\n } else if (fieldHeaderVisibleArray[0] == \"accnumber\") {\r\n this.columnDefs.push({ field: 'accnumber', headerName: 'Act Number', hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n //this.columnDefs.push({ field: 'accnumber', headerName: 'Act Number', hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleArray[3]), cellStyle:{ color: 'red' } });\r\n } else if (fieldHeaderVisibleArray[0] == \"actions\") {\r\n this.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: false, width: parseInt(fieldHeaderVisibleArray[3]), pinned: 'right' });\r\n } else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n { field: 'accnumber', headerName: 'Act Number', hide: false},\r\n //{ field: 'accnumber', headerName: 'Act Number', hide: false, cellStyle: { color: 'red' } },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'speciality', headerName: 'Specialty', hide: false },\r\n { field: 'address1', headerName: 'Address1', hide: false },\r\n { field: 'address2', headerName: 'Address2', hide: false },\r\n { field: 'city', headerName: 'City', hide: false },\r\n { field: 'state', headerName: 'State', hide: false },\r\n { field: 'zip', headerName: 'Zip', hide: false },\r\n { field: 'phone', headerName: 'Phone', hide: true }, //true starts here\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: false, pinned: 'right' },\r\n ];\r\n }\r\n \r\n }\r\n ngAfterViewInit(): void {\r\n \r\n\r\n }\r\n\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n autoSizeAll() { \r\n }\r\n txtPageSizeChanged(pageSize) {\r\n this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 12;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, suppressMovableColumns: true, rowSelection: 'multiple'\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 12).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent,\r\n editdeletecv: EditdeleteComponent\r\n };\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n } else {\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n }\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.router.navigateByUrl(`/application/account-contact/0/show${rowEvent.data.id}`);\r\n }\r\n openNotesDialogAg(rowdata) {\r\n this.customerService.GetByAccountId(rowdata.id).then(result => {\r\n this.account = result;\r\n });\r\n $('#accotIdNotes').val(rowdata.id);\r\n $('#accotTypeNotes').val('Customer');\r\n this.GetCustomerNotes(rowdata.id, 'Customer');\r\n this.notesshowDialog = !this.notesshowDialog;\r\n \r\n this.conid = rowdata.id;\r\n \r\n $(setTimeout(function () {\r\n if ($('#oppNotesId').length > 0)\r\n $('#oppNotesId').removeClass('active');\r\n\r\n if ($('#leadsNotesId').length > 0)\r\n $('#leadsNotesId').removeClass('active');\r\n\r\n if ($('#allContactNotesId').length > 0)\r\n $('#allContactNotesId').removeClass('active');\r\n\r\n if ($('#tskHistNotesId').length > 0)\r\n $('#tskHistNotesId').removeClass('active');\r\n\r\n if ($('#allNotesId').length > 0) { \r\n $('#allNotesId').removeClass('active');\r\n $('#allNotesId').addClass('active');\r\n }\r\n var modalWidth = (screen.width) - ((screen.width) / 10);\r\n //$('.dialog').attr('style', 'padding:1%;border: 3px solid green;width:' + modalWidth + 'px');\r\n $('#chkShowDetailsNotes').prop('checked', false); $('#closeDetailsDialog').click();\r\n }, 100));\r\n\r\n \r\n }\r\n openMultiplelocationDialogAg(rowdata) {\r\n this.multiplelocationshowDialog = !this.multiplelocationshowDialog\r\n this.alllocations = false;\r\n this.addnewlocation = true;\r\n this.opprtunityservice.GetByAccountId(rowdata.id).then(result => {\r\n this.account = result;\r\n this.GetAccountlocation(rowdata.id);\r\n });\r\n\r\n }\r\n editRowAg(rowdata) {\r\n this.router.navigateByUrl(`/application/account-contact/0/edit${rowdata.id}`);\r\n }\r\n\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },tooltipField: 'notedescription', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellStyle: { 'text-align': 'left' }, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n\r\n //this.columnDefsnotes = [\r\n // {\r\n // field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n // if (params.value == 'Contact') {\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n // return 'To-Do';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n // return '';\r\n // } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n // return '';\r\n // }\r\n // else {\r\n // return '
      $$
      '\r\n // }\r\n // }\r\n // },\r\n // {\r\n // field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: false, tooltipField: 'notedescription', cellRenderer(params) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = params.value;\r\n // eDiv.addEventListener('click', function () {\r\n // //selfObj.notes.notedescription = params.value;\r\n // //selfObj.NotesDec = !selfObj.NotesDec;\r\n // selfObj.openDisplaynotes(params);\r\n // });\r\n // return eDiv;\r\n // }\r\n // },\r\n // { field: 'created', headerName: 'Date Added', hide: false },\r\n // { field: 'status', headerName: 'Completed Y/N', hide: false, cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } },\r\n // { field: 'user', headerName: 'User Added', hide: false },\r\n // { field: 'type', headerName: 'Type', hide: false }\r\n\r\n //];\r\n }\r\n onAgGridReadynotes(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllnotes() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds);\r\n //this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds, \"autosizeColumns\");\r\n }\r\n\r\n }\r\n public ngOnInit(): void {\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1,0,0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownList = Owner;\r\n })\r\n\r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n }); this.selectedItems = Owner;\r\n })\r\n }\r\n else {\r\n this.selectedItems = [{ \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n }\r\n \r\n this.route.params.subscribe(params => {\r\n this.type = params['id'];\r\n this.term = params['term'];\r\n\r\n //let eleId = this.type;\r\n if (this.type == 'practice') {\r\n this.practiceDiv = false;\r\n this.otherDiv = true;\r\n if (this.term == undefined) {\r\n \r\n this.loadallcustomers(this.type, this.term);\r\n } else {\r\n \r\n this.loadallcustomers(this.type, this.term);\r\n }\r\n $(\".checkMark\").removeClass(\"activeColor\");\r\n //$(\".subButtons\").removeClass(\"activeButton\");\r\n if (document.getElementById('subTab') != undefined && document.getElementById('subTab') != null)\r\n document.getElementById('subTab').style.display = 'block';\r\n //$(\"#practice_button\").removeClass(\"activeButton\");\r\n $(\"#customers_span\").addClass(\"activeColor\");\r\n $(\"#customers\").addClass(\"mainactiveButton\");\r\n //$(\"#practice_button\").addClass(\"activeButton\");\r\n\r\n\r\n if (this.gridOptions && this.gridOptions.columnApi)\r\n this.gridOptions.columnApi.moveColumn('accountname', 1);\r\n else {\r\n let selfObj: CustomerComponent = this;\r\n $(setTimeout(function () {\r\n\r\n if (selfObj.gridOptions && selfObj.gridOptions.columnApi)\r\n selfObj.gridOptions.columnApi.moveColumn('accountname', 1);\r\n }, 200));\r\n }\r\n }\r\n //else if (this.type == 'recent') {\r\n // var thisSubTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == \"Recent\")[0];\r\n // if (thisSubTab.canview == false) {\r\n // // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n // this.toastr.warning(\"You Do Not have Access to \" + \"Recent\" + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n // return false;\r\n // }\r\n\r\n // this.practiceDiv = true;\r\n // this.otherDiv = false;\r\n // if ($('.activeButton').length == 0) {\r\n // $(\"#practice_button\").removeClass(\"activeButton\");\r\n // $(\"#coustomers_span\").addClass(\"activeColor\");\r\n // $(\"#coustomers\").addClass(\"mainactiveButton\");\r\n // $(\"#recent_button\").addClass(\"activeButton\");\r\n // }\r\n // }\r\n //else if (this.type == 'specialty') {\r\n // var thisSubTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == \"Recent\")[0];\r\n // if (thisSubTab.canview == false) {\r\n // // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n // this.toastr.warning(\"You Do Not have Access to \" + \"Recent\" + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n // return false;\r\n // }\r\n\r\n // this.practiceDiv = true;\r\n // this.otherDiv = false;\r\n // if ($('.activeButton').length == 0) {\r\n // $(\"#practice_button\").removeClass(\"activeButton\");\r\n // $(\"#coustomers_span\").addClass(\"activeColor\");\r\n // $(\"#coustomers\").addClass(\"mainactiveButton\");\r\n // $(\"#specialty_button\").addClass(\"activeButton\");\r\n // }\r\n //}\r\n else {\r\n\r\n this.practiceDiv = true;\r\n this.otherDiv = false;\r\n if (this.term == undefined) {\r\n \r\n this.loadallcustomers(this.type, this.term);\r\n } else {\r\n \r\n this.loadallcustomers(this.type, this.term);\r\n }\r\n\r\n //this.applicationComponent.showContactsCustomersSubTabs = false;\r\n if (document.getElementById('subTab') != undefined && document.getElementById('subTab') != null)\r\n document.getElementById('subTab').style.display = 'block';\r\n \r\n //if ($('.activeButton').length == 0) {\r\n // $(\".fa-check\").removeClass(\"activeColor\");\r\n // $(\"#practice_button\").removeClass(\"activeButton\");\r\n // $(\"#a-z\").addClass(\"activeColor\");\r\n // $(\"#coustomers_span\").addClass(\"activeColor\");\r\n // $(\"#coustomers\").addClass(\"mainactiveButton\");\r\n // $(\"#a-z_button\").addClass(\"activeButton\");\r\n //}\r\n\r\n if (this.columnDefs && this.columnDefs.length > 0 && this.allCustomers && this.allCustomers.length > 0) {\r\n if (this.gridOptions && this.gridOptions.columnApi)\r\n this.gridOptions.columnApi.moveColumn('accountname', 3);\r\n //this.gridOptions.columnApi.moveColumn('accountname', 3, \"autosizeColumns\");\r\n else {\r\n let selfObj: CustomerComponent = this;\r\n $(setTimeout(function () {\r\n if (selfObj.gridOptions && selfObj.gridOptions.columnApi)\r\n selfObj.gridOptions.columnApi.moveColumn('accountname', 3);\r\n //selfObj.gridOptions.columnApi.moveColumn('accountname', 3, \"autosizeColumns\");\r\n }, 200));\r\n }\r\n }\r\n }\r\n });\r\n //$(\".fa-check\").removeClass(\"activeColor\");\r\n //$(\"#\" + this.type).addClass(\"activeColor\");\r\n //$(\"#\" + this.type + \"_button\").addClass(\"activeButton\");\r\n\r\n $(\"#customers_span\").addClass(\"activeColor\");\r\n $(\"#customers\").addClass(\"mainactiveButton\");\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All Users',\r\n unSelectAllText: 'UnSelect All Users',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n this.initializeAgGrid();\r\n this.isViewInitialized = true;\r\n }\r\n \r\n userListOutParamsBinding(outProps) {\r\n this.finalitems = outProps.finalitems;\r\n this.items = outProps.items;\r\n this.itemCount = outProps.itemsCount;\r\n this.selectedItems = outProps.selectedItems;\r\n }\r\n\r\n loadallcustomers(type, term) {\r\n \r\n var userids = $(\"#userids\").val();\r\n this.applicationComponent.selectedusers = userids;\r\n this.opprtunityservice.GetAllAccountsBySearch(this.currentuser.id,term, userids, type, this.startDateVal, this.endDateVal, 1, 100).then((account) => {\r\n account.forEach(account => {\r\n });\r\n //this.opprtunityservice.GetAllAccountsBySearch(this.term != undefined ? this.term : 'All', userids, this.type, this.startDateVal, this.endDateVal, 1, 100).then((account) => {\r\n // account.forEach(account => {\r\n // });\r\n this.allCustomers = account;\r\n\r\n });\r\n }\r\n\r\n GetContactList(term, userids) {\r\n //var userids = $(\"#userids\").val();\r\n this.opprtunityservice.GetAllAccountsBySearch(this.currentuser.id,term, userids, this.type).then((account) => {\r\n account.forEach(account => {\r\n });\r\n this.itemCount = account.length;\r\n //this.itemResource = new DataTableResource(account);\r\n //this.itemResource.count().then(count => this.itemCount = count);\r\n //this.params = { offset: 0, limit: 10 }\r\n //this.reloadItems(this.params);\r\n });\r\n }\r\n Generate(userids) {\r\n this.GetContactList(this.term, userids);\r\n }\r\n\r\n //reloadItems(params) {\r\n // if (this.itemResource != undefined) {\r\n // this.itemResource.query(params).then(items => this.items = items);\r\n // }\r\n //}\r\n onItemSelect(item: any)\r\n {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n \r\n this.loadallcustomers(this.type, this.term);\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n } else {\r\n this.allCustomers = [];\r\n $(\"#userids\").val('');\r\n }\r\n \r\n this.loadallcustomers(this.type, this.term);\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n \r\n this.loadallcustomers(this.type, this.term);\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.allCustomers = [];\r\n $(\"#userids\").val('');\r\n this.applicationComponent.selectedusers = null;\r\n this.loadallcustomers(this.type, this.term);\r\n }\r\n \r\n Close(locationid) {\r\n document.getElementById('location' + locationid).remove();\r\n this.customerService.updatemultiplelocation(locationid).then((user) => { });\r\n //this.GetAccountlocation(this.account.id);\r\n }\r\n //OpenMultiplelocation(rowEvent) {\r\n // this.multiplelocationshowDialog = !this.multiplelocationshowDialog\r\n // this.alllocations = false;\r\n // this.addnewlocation = true;\r\n // this.opprtunityservice.GetByAccountId(rowEvent.id).then(result => {\r\n // this.account = result;\r\n // this.GetAccountlocation(rowEvent.id);\r\n // });\r\n\r\n //}\r\n GetAccountlocation(accid) {\r\n //this.accountlocationlist = null;\r\n this.customerService.GetLocationByAccountId(accid).then(result => {\r\n result.forEach(Owner => {\r\n });\r\n this.accountlocationlist = result;\r\n });\r\n }\r\n\r\n NewLocation() {\r\n \r\n this.alllocations = true;\r\n this.addnewlocation = false;\r\n document.getElementById('alllocations').style.display = 'none';\r\n document.getElementById('addnewlocation').style.display = 'block';\r\n }\r\n SaveLocation() {\r\n document.getElementById('alllocations').style.display = 'block';\r\n document.getElementById('addnewlocation').style.display = 'none';\r\n }\r\n Cancel() {\r\n this.alllocations = false;\r\n this.addnewlocation = true;\r\n document.getElementById('alllocations').style.display = 'block';\r\n document.getElementById('addnewlocation').style.display = 'none';\r\n }\r\n\r\n GetCustomerNotes(contactid, type) {\r\n\r\n this.customerService.GetAllNotesList(this.currentuser.id,contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes(); this.allnotes = taskhistory; \r\n });\r\n\r\n }\r\n\r\n //Notes(val)\r\n //{\r\n // alert(val)\r\n // if (val == 'AllContactsNotes') {\r\n // this.customerService.GetAllContactproviderByAccount(this.account.id).then((contacts) => {\r\n // contacts.forEach(contacts => {\r\n // this.allContactsproviders.push(contacts.id)\r\n // });\r\n // this.GetCustomerNotes(this.allContactsproviders, val);\r\n // });\r\n // } else {\r\n // this.GetCustomerNotes(this.account.id, val);\r\n // }\r\n //}\r\n enterNotes() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n }\r\n SaveNote() {\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/img, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/<[^>]*>/g, '');\r\n this.notes.type = \"Customer\";\r\n this.notes.accountid = this.account.id;\r\n\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.GetCustomerNotes(this.notes.accountid, 'Contact');\r\n $('#notesListTabsId .active').removeClass('active');\r\n $('#notesListTabsId #allNotesId').addClass('active');\r\n this.CancelNote();\r\n });\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n }\r\n \r\n\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n \r\n this.loadallcustomers(this.type, this.term);\r\n }\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n\r\n openDisplaynotes(params) {\r\n // this.notes.notedescription = params.value;\r\n this.NotesDec = !this.NotesDec;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n $(setTimeout(function () {\r\n \r\n $('#showDetailsDialog').width(showDialogWidth);\r\n $('#showDetailsDialog').height(notesHeight - 101);\r\n $('#showDetailsDialog').css('top', notesOffset.top + 94);\r\n $('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n $('#showDetailsDialog').css('border-radius', '4px');\r\n $('#showDetailsDialog').css('border', '3px solid');\r\n $('#showDetailsDialog').css('overflow', 'auto');\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtLongNoteDesc').css('overflow', 'auto');\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n //if ($(\"#btnEditNote\").text() == \"Edit Note\") {\r\n // $(\"#txtLongNoteDesc\").removeAttr(\"readonly\");\r\n // $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n // $(\"#btnEditNote\").css(\"background-color\", \"#A2E477\");\r\n // $(\"#btnEditNote\").text(\"Save Note\");\r\n //} else {\r\n // this.saveEditedNote();\r\n //}\r\n\r\n \r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n\r\n\r\n\r\n }\r\n saveEditedNote() {\r\n\r\n\r\n // \r\n //let desc: string = $(\"#txtLongNoteDesc\").val();\r\n //let selfObj = this;\r\n //this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n // if (success) {\r\n // selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n // selfObj.closeDetailsDialog();\r\n // selfObj.GetCustomerNotes(selfObj.conid, 'Customer');\r\n // } else {\r\n // selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n // }\r\n //});\r\n ////this.Notes(this.selectedTabName);\r\n\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.GetCustomerNotes(selfObj.conid, 'Customer');\r\n selfObj.closeDetailsDialog();\r\n\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n }\r\n}\r\n\r\n\r\n","\r\n\r\n\r\n

      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n Customer Contacts\r\n \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n \r\n
      \r\n\r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n \r\n\r\n
      \r\n \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n Edit\r\n Save\r\n
      \r\n
      \r\n
      \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, ViewContainerRef, ViewEncapsulation, ElementRef, Renderer2, ViewChild, Optional, Input } from '@angular/core';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Notes } from '../../models/notes';\r\nimport { Http } from '@angular/http';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AppSettings } from '../../app.settings';\r\nimport { ToastrService } from 'ngx-toastr';;\r\nimport { ParentComp, UserlistComponent } from \"../userlist/userlist.component\";\r\nimport { CalllisthistoryComponent } from \"../calllisthistory/calllisthistory.component\";\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { PageComponent } from '../page/page.component';\r\nimport { Column } from 'ag-grid';\r\nimport { EditactivatecvComponent } from '../editactivatecv/editactivatecv.component';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { AccountsService } from '../../services/accounts.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment'\r\ndeclare var require: any;\r\nimport { NotesComponent } from '../notes/notes.component';\r\nimport { AddressmapComponent } from '../addressmap/addressmap.component';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { ContactsdashboardComponent } from '../contacts/contactsdashboard/contactsdashboard.component';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { AccountDetailsComponent } from '../account-details/account-details.component';\r\ndeclare var $: any;\r\nimport { UserdataheaderComponent } from '../userdataheader/userdataheader.component';\r\n@Component({\r\n selector: 'customercontacts',\r\n templateUrl: './customercontacts.component.html',\r\n styleUrls: ['./customercontacts.component.css']\r\n})\r\nexport class CustomercontactsComponent implements OnInit {\r\n @Input() source;\r\n resizeheight = (window.innerHeight / 1.577) + 'px';\r\n public zipmask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n currentuser: any;\r\n notedescription: string;\r\n itemResource: any;\r\n items = [];\r\n Contactitems = [];\r\n ContactitemCount = 0;\r\n itemCount = 0;\r\n params: any;\r\n term: string = \"\";\r\n showDialog = false;\r\n ActiveConvertDialogg = false;\r\n CallHistoryDialog = false;\r\n ContactIds: string;\r\n notesshowDialog = false;\r\n public defaultColDef;\r\n contactid: number;\r\n callhistorystatus: string;\r\n public sideBar;\r\n leadstatus: number;\r\n notesitemResource: any;\r\n notesitems = [];\r\n notesitemCount = 0;\r\n notesparams: any;\r\n Ids = [];\r\n subtype: string = \"\";\r\n ContacttableDiv: boolean = true;\r\n practicetableDiv: boolean = true;\r\n dropdownList = [];\r\n finalitems = \"\";\r\n selectedItems = [];\r\n dropdownSetting = {};\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n notes: Notes = new Notes();\r\n accessDenied: boolean = false;\r\n isMultiLine: boolean = false;\r\n calanderonoff: boolean = true;\r\n itemList = [];\r\n selectedItems2 = [];\r\n settings2 = {};\r\n contactIdArr: Dropdowntype[] = [];\r\n thisComp: ParentComp = ParentComp.Contacts;\r\n isViewInitialized: boolean = false;\r\n isPgClickRegistered: boolean = false;\r\n @ViewChild(UserlistComponent) userListComp;\r\n @ViewChild(CalllisthistoryComponent) callhistorycmp;\r\n @ViewChild(NotesComponent) notecomp;\r\n @ViewChild(AddressmapComponent) addressMapComp: AddressmapComponent;\r\n @ViewChild(AccountDetailsComponent) acccontDetailComp;\r\n isHeaderFixed: boolean = true;\r\n public gridOptions: GridOptions;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefs: any[];\r\n public columnDefsnotes: any[];\r\n public contactProps: string[];\r\n allContacts: Contacts[];\r\n OriginalallContacts: Contacts[];\r\n pageSize: string = \"1000\";\r\n public context;\r\n isCustomer: boolean = false;\r\n isFormerCustomer: boolean = false;\r\n public frameworkComponents;\r\n public getRowHeight;\r\n activeItems: boolean = true;\r\n colSelections: string;\r\n aggridheight: string;\r\n allnotes: Notes[];\r\n allContactsproviders: any[] = [];\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n Collegelist: Dropdowntype[] = [];\r\n contacttypelist: Dropdowntype[] = [];\r\n SexList: Dropdowntype[] = [];\r\n TitleList: Dropdowntype[] = [];\r\n SuffixList: Dropdowntype[] = [];\r\n Specialitytypelist: Dropdowntype[] = [];\r\n MonthList: Dropdowntype[] = [];\r\n DayList: Dropdowntype[] = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n StatesList: Dropdowntype[] = [];\r\n CitiesList: Dropdowntype[] = [];\r\n OwnerList: Dropdowntype[] = [];\r\n Years: any[];\r\n MedSchoolYears: any[];\r\n ResidencyYears: any[];\r\n FellowShipYears: any[];\r\n @Input()\r\n FromSelector: boolean = false;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n showContactDashBoard = false;\r\n isModal: boolean = true;\r\n isSharedAccts: boolean = true;\r\n divHeight = (screen.height * 0.6);\r\n userInfo;\r\n isShowDetailsChecked: boolean = false;\r\n public stateInfo = [];\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()-1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear()-1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n active_deactiveStatus: number; NotesDec = false;\r\n timezonevalue: string;\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n Contactvales: string = \"1\";\r\n isCustomercontacts: boolean = false;\r\n isFormerCustomercontacts: boolean = false;\r\n DeleteConfirmationPopup: boolean = false;\r\n deleteRowData: any;\r\n isdeletedstatustext: number;\r\n private gridApi;\r\n isContactViewOpen: boolean = true;\r\n @ViewChild(ContactsdashboardComponent) condashcmp: ContactsdashboardComponent;\r\n @ViewChild(UserdataheaderComponent) userdatacmp: UserdataheaderComponent;\r\n EnableSearch: boolean = false; value = \"\";\r\n isShowAccountInfo: boolean = false;\r\n accountid;\r\n showAddEditContact: boolean = false;\r\n DocExpandView: boolean = false;\r\n public selectedStatus: number = 309;\r\n constructor(private paginationcop: PageComponent, public applicationComponent: ApplicationComponent, private accountsService: AccountsService, private elementRef: ElementRef, private renderer: Renderer2, private http: Http, private opprtunityservice: OpprtunitiesService, private route: ActivatedRoute, private customerService: CustomerService, private router: Router, private settings: AppSettings, private toastr: ToastrService, private viewContainerRef: ViewContainerRef) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n if (this.currentuser.defaultSearchPage == 1) { this.EnableSearch = true; } else { this.EnableSearch = false; }\r\n this.viewContainerRef = viewContainerRef;\r\n }\r\n ngAfterViewInit(): void {\r\n //this.ResizeTable();\r\n }\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && (fields[1] != '#' && fields[0] != 'notes' && fields[0] != 'actions' && fields[0] != 'callliststatus')) { \r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n\r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n if (element.subtab == 'customercontacts') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n }\r\n //if (this.applicationComponent.SearchSelectedItemsLengthChanged == true) {\r\n // this.applicationComponent.showSearchTabsSubTabs = false;\r\n //}\r\n //else {\r\n // this.applicationComponent.showSearchTabsSubTabs = true;\r\n //}\r\n });\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n else {\r\n this.accountsService.GetDefaultColumns('customercontacts', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'lastname', \"itemName\": 'Last Name' },\r\n { \"id\": 'firstname', \"itemName\": 'First Name' }\r\n ];\r\n }\r\n });\r\n //this.applicationComponent.showSearchTabsSubTabs = false;\r\n }\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, paginationPageSize: 1000, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 5).then((config) => {\r\n \r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString(); \r\n this.createColumnDefs(columnSelections,true);\r\n this.UpdateSearchColumns(columnSelections);\r\n this.Generate($(\"#userids\").val());\r\n \r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent,\r\n //editdeletecv: EditdeletecvComponent,\r\n editactivatecv: EditactivatecvComponent\r\n };\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n\r\n };\r\n }\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n var searcharray = [];\r\n if (this.gridOptions.quickFilterText != null && this.gridOptions.quickFilterText != undefined && this.gridOptions.quickFilterText != '') {\r\n searcharray.push(this.gridOptions.quickFilterText);\r\n } \r\n\r\n var searchstring= this.applicationComponent.searchstring\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastname\") {\r\n this.columnDefs.push({\r\n field: 'lastname', headerName: 'Last Name', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n })\r\n //this.columnDefs.push({ field: 'lastname', headerName: 'Last Name', hide: false, sort: \"asc\" })\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstname\") {\r\n this.columnDefs.push({\r\n field: 'firstname', headerName: 'First Name', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n })\r\n //this.columnDefs.push({ field: 'lastname', headerName: 'Last Name', hide: false, sort: \"asc\" })\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accountname\") {\r\n this.columnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', getQuickFilterText: () => '', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: function (params) { \r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n } \r\n }\r\n })\r\n //this.columnDefs.push({ field: 'lastname', headerName: 'Last Name', hide: false, sort: \"asc\" })\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"callliststatus\") {\r\n this.columnDefs.push({\r\n field: 'callliststatus', headerName: 'Call List Hx', getQuickFilterText: () => '',hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.id;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n })\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"customertype\") {\r\n this.columnDefs.push({\r\n field: 'customertype', headerName: 'Customer Type', getQuickFilterText: () => '',hide: (!selfObj.isCustomercontacts && !selfObj.isFormerCustomercontacts),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '1') { return \"Customer\" }\r\n else if (params.value == '2') { return \"Former Customer\" }\r\n }, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accnumber\") {\r\n this.columnDefs.push({\r\n field: 'accnumber', headerName: 'Acct #', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n},\r\n getQuickFilterText: () => '', hide: (!selfObj.isCustomercontacts && !selfObj.isFormerCustomercontacts), width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"SaaS\") {\r\n this.columnDefs.push({\r\n field: 'SaaS', headerName: 'SaaS', getQuickFilterText: () => '', hide: false, cellRenderer(params) {\r\n if (params.value != null) {\r\n return \"$\" + parseInt(params.value).toFixed(2);\r\n } else {\r\n return \"$0.00\";\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"actions\") {\r\n this.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: isDeActive ? 'editactivatecv' : 'editdeletecv', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, pinned: 'right', width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: function (params) { \r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n } \r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'customertype', headerName: 'Customer Type', getQuickFilterText: () => '', hide: (!selfObj.isCustomercontacts && !selfObj.isFormerCustomercontacts),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'accnumber', headerName: 'Acct #', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: (!selfObj.isCustomercontacts && !selfObj.isFormerCustomercontacts)\r\n },\r\n //{ field: 'lastname', headerName: 'Last Name', hide: false, sort: \"asc\"},\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n },\r\n {\r\n field: 'firstname', headerName: 'First Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n },\r\n {\r\n field: 'middlename', headerName: 'Middle Name', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'titleName', headerName: 'Title', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'specialityName', headerName: 'Specialty', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'DOB', headerName: 'DOB', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'callliststatus', headerName: 'Call List Hx', getQuickFilterText: () => '', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.id;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n {\r\n field: 'zip', headerName: 'ZIP', getQuickFilterText: () => '', hide: false, cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account Name', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: false\r\n },\r\n { field: 'actions', headerName: 'Actions', cellRenderer: isDeActive ? 'editactivatecv' : 'editdeletecv', hide: false, pinned: 'right' },\r\n \r\n {\r\n field: 'contacttypeName', headerName: 'Contact Type', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: true\r\n },\r\n {\r\n field: 'SaaS', headerName: 'SaaS', getQuickFilterText: () => '', hide: false, cellRenderer(params) {\r\n if (params.value != null) {\r\n return \"$\" + parseInt(params.value).toFixed(2);\r\n } else {\r\n return \"$0.00\";\r\n }\r\n }\r\n },\r\n {\r\n field: 'RDate', headerName: 'RDate', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'sex', headerName: 'Sex', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'subspeciality', headerName: 'Subspeciality', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: true },\r\n {\r\n field: 'email', headerName: 'Email', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: true },\r\n {\r\n field: 'address1', headerName: 'Address1', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'address2', headerName: 'Address2', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: true },\r\n {\r\n field: 'city', headerName: 'City', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'state', headerName: 'State', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'cell', headerName: 'Cell',\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }, hide: true },\r\n {\r\n field: 'office', headerName: 'Office',\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }, hide: true },\r\n {\r\n field: 'homeaddress', headerName: 'Home Address', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '', hide: true },\r\n {\r\n field: 'homecity', headerName: 'Home City', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'homestate', headerName: 'Home State', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'homezip', headerName: 'Home Zip', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'home', headerName: 'Home', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'college', headerName: 'College', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'collegegrandyear', headerName: 'C.G.year', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'medschool', headerName: 'Medschool', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'medschoolgrandyear', headerName: 'M.G.year', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'residency', headerName: 'Residency', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'residencygrandyear', headerName: 'R.G.year', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'fellowship', headerName: 'Fellowship', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'fellowshipgrandyear', headerName: 'F.G.year', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'owner', headerName: 'Owner', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, hide: false, getQuickFilterText: () => '',suppressSorting: true },\r\n {\r\n field: 'created', headerName: 'Created', cellRenderer(params) {\r\n if ((params.data.lattitude == \"\" || params.data.lattitude == null) && selfObj.applicationComponent.googlemapshow) {\r\n return \" \"\r\n } else {\r\n return params.value;\r\n }\r\n }, getQuickFilterText: () => '',hide: true },\r\n \r\n ];\r\n\r\n this.defaultColDef = { sortable: true };\r\n }\r\n }\r\n\r\n currencyFormatter(currency, sign) {\r\n var sansDec = currency.toFixed(0);\r\n var formatted = sansDec.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n return sign + `${formatted}`;\r\n}\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n GetContactIds() {\r\n this.customerService.GetSpecialityList(\"ContactIds\", this.currentuser.id).then((Acids) => {\r\n this.contactIdArr = Acids;\r\n });\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n //this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.currentPage = 1;\r\n this.pageSize = pageSize;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n this.saveConfiguration();\r\n }\r\n\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n this.UpdateSearchColumns(config.columnsselections);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 5;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n if (this.isShowAccountInfo) {\r\n this.acccontDetailComp.ContactInfo('show' + event.api.getSelectedNodes()[0].data.id);\r\n //this.acccontactcomp.ShowContactView = false;\r\n }\r\n\r\n }\r\n }\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if (this.active_deactiveStatus != 1)\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n this.ContactIds = string;\r\n } else {\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n this.ContactIds = string;\r\n }\r\n $('#tasklistselectedtyle').val('Contact');\r\n if (this.applicationComponent.googlemapshow) {\r\n this.addressMapComp.GetLocations(this.ContactIds, \"Contacts\");\r\n }\r\n }\r\n cellDoubleClicked(rowEvent) {\r\n \r\n this.contactid = rowEvent.data.id;\r\n this.accountid = rowEvent.data.accountid;\r\n \r\n this.showContactDashBoard = true;\r\n this.EnableSearch = false;\r\n var obj: AuditLogModel = { id: 0, type: 'Customer', action: 'Customer Viewed', AccountOrContactId: rowEvent.data.id, AccountOrContact: rowEvent.data.permission, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Task List Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n this.applicationComponent.ExpandSelectedMenu('customers');\r\n\r\n }\r\n onCellValueChanged($event) {\r\n \r\n }\r\n ExpandPDF(val) {\r\n this.notesshowDialog = true;\r\n this.QuickViewDialogCss(val);\r\n this.DocExpandView = val;\r\n }\r\n QuickViewDialogCss(val) {\r\n if (val == true) { //expand\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n }\r\n\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n openNotesDialogAg(rowdata) {\r\n \r\n this.contactid = rowdata.id;\r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n\r\n }\r\n\r\n editRowAg(rowdata) {\r\n this.contactid = rowdata.id;\r\n this.accountid = rowdata.accountid;\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n //this.GetContactList(this.term, $(\"#userids\").val(), this.active_deactiveStatus);\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n }\r\n\r\n deleteRowAg(rowdata) {\r\n this.DeleteConfirmationPopup = true;\r\n this.deleteRowData = rowdata\r\n this.contactid = rowdata.id;\r\n this.isdeletedstatustext = rowdata.isdeleted;\r\n this.applicationComponent.salesxcrmDialog('#DeleteConfirmationPopup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n \r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n let isdeletedstatus = (this.deleteRowData.isdeleted == 1) ? 0 : 1;\r\n this.customerService.Deactivatecontact(this.deleteRowData.id, isdeletedstatus).then((user) => {\r\n this.active_deactiveStatus = this.activeItems ? 0 : 1;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n });\r\n }\r\n this.DeleteConfirmationPopup = false;\r\n }\r\n convertContactAg(rowdata) {\r\n this.contactid = rowdata.id;\r\n this.leadstatus = 0;\r\n this.showDialog = !this.showDialog\r\n this.customerService.GetContactById(rowdata.id).then(result => {\r\n this.contact = result;\r\n this.leadstatus = this.contact.converttolead;\r\n if (this.leadstatus == 0) {\r\n this.applicationComponent.loaddialog('convertcontacttolead', 'Convert Lead', 'Convert this Contact to a Lead?', false, false, true, true, this.contactid);\r\n }\r\n else {\r\n this.applicationComponent.loaddialog('convertcontacttolead', 'Convert Lead', 'Contact is an Open Lead', false, false, true, true, this.contactid);\r\n }\r\n });\r\n\r\n }\r\n\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single', autoHeight: true\r\n };\r\n this.createColumnDefsnotes();\r\n this.context = this;\r\n }\r\n createColumnDefsnotes() {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\",\r\n tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' },\r\n //tooltip: function (params) {\r\n // return (params.valueFormatted);\r\n //},\r\n hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n //this.getRowHeight = function () {\r\n // return 100;\r\n //};\r\n //this.getRowHeight = function (params) {\r\n // // return 18 * (Math.floor(params.data.notedescription.length / 45) + 1);\r\n // // return 1000;\r\n //};\r\n }\r\n\r\n ngOnInit() {\r\n this.applicationComponent.googlemapshow = false;\r\n const custPage = localStorage.getItem(\"CustPage\");\r\n if (custPage === \"Customer\") {\r\n this.applicationComponent.pageViewed = \"Customer\";\r\n } else {\r\n this.applicationComponent.pageViewed = \"\";\r\n }\r\n this.route.params.subscribe(params => {\r\n this.term = params['term'];\r\n this.contactid = params['contactid'];\r\n this.subtype = 'Customercontacts';\r\n });\r\n\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == \"Contacts\")[0];\r\n if (thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + thisTab.resource + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n this.accessDenied = true;\r\n return false;\r\n }\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n var appendHtml = '
      ';\r\n\r\n var dyn = document.createElement('dyn');\r\n dyn.innerHTML = appendHtml;\r\n $('.ag-side-buttons').append(dyn);\r\n dyn.onclick = function () {\r\n if ($('#lblDeActive').text() == 'DeActive')\r\n $('#lblDeActive').text('Active');\r\n else\r\n $('#lblDeActive').text('DeActive');\r\n selfObj.activeItems = selfObj.activeItems ? false : true;\r\n selfObj.active_deactiveStatus = selfObj.activeItems ? 0 : 1;\r\n \r\n selfObj.GetContactList(selfObj.term, $(\"#userids\").val(), selfObj.currentPage, selfObj.pageSize, selfObj.active_deactiveStatus);\r\n \r\n };\r\n }, 500));\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n //$(\"#a-z_button\").addClass(\"activeButton\");\r\n $(\"#customers\").addClass(\"mainactiveButton\");\r\n\r\n var today = new Date();\r\n\r\n this.initializeAgGrid();\r\n\r\n this.route.params.subscribe(params => { \r\n this.subtype = 'Customercontacts';\r\n let eleId = this.subtype;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1, 0, 0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownList = Owner;\r\n });\r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n \r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n });\r\n \r\n\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#customers_span\").addClass(\"activeColor\");\r\n $(\"#customers\").addClass(\"mainactiveButton\");\r\n \r\n \r\n this.Generate($(\"#userids\").val());\r\n }\r\n \r\n });\r\n \r\n this.isViewInitialized = true;\r\n\r\n this.loaddropdowns();\r\n \r\n this.GetContactIds(); \r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n \r\n }\r\n\r\n userListOutParamsBinding(outProps) {\r\n this.finalitems = outProps.finalitems;\r\n this.Contactitems = outProps.items;\r\n this.ContactitemCount = outProps.itemsCount;\r\n this.selectedItems = outProps.selectedItems;\r\n }\r\n \r\n\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n GetCUSContactListLK(userid, filtstatusval) { \r\n this.opprtunityservice.GetAllCustomerContactsLK(userid).then((contactLK) => {\r\n this.allContacts = contactLK;\r\n });\r\n }\r\n\r\n GetContactList(term, userid, startrow, endrow, active_deactiveStatus?: number) { \r\n if (this.source == \"Reports\") { \r\n this.GetCUSContactListLK($(\"#userids\").val(), 'active');\r\n } else {\r\n if (this.currentuser.UserPrivilegeList != undefined) {\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'CustomerContacts' || p.resource.toLowerCase() == 'CustomerContacts')[0];\r\n if (thisTab != undefined && thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to Customer Contacts Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n }\r\n if (this.Contactvales != \"\") {\r\n \r\n this.opprtunityservice.GetAllContactsCustomersBySearch(this.currentuser.id, this.term, $(\"#userids\").val().toString(), '2018-01-01', this.endDateVal, startrow, endrow, this.Contactvales).then((contact) => {\r\n contact.forEach(contact => {\r\n contact.created = this.datePipe.transform(contact.created, \"MM-dd-yyyy\");\r\n contact.speciality = ((contact.speciality == 'null') ? \"\" : contact.speciality);\r\n });\r\n if (this.currentuser.defaultSearchPage == 1) {\r\n this.OriginalallContacts = contact; \r\n } else {\r\n this.OriginalallContacts = contact; \r\n }\r\n \r\n if (!this.isSharedAccts) {\r\n this.allContacts = this.OriginalallContacts.filter(x => x.ownerid == this.currentuser.id);\r\n }\r\n if (this.currentuser.hidecustomer == 0) {\r\n this.allContacts = this.OriginalallContacts.filter(x => x.Status == this.selectedStatus);\r\n }\r\n if (this.currentuser.hidecustomer == 1 && !this.EnableSearch) {\r\n this.allContacts = [];\r\n } else if (this.currentuser.hidecustomer == 1 && this.EnableSearch) {\r\n \r\n if (this.value != null && this.value != \"\") {\r\n this.allContacts = this.OriginalallContacts;\r\n }\r\n }\r\n else {\r\n this.allContacts = this.OriginalallContacts;\r\n } \r\n this.allContacts = this.OriginalallContacts.filter(x => x.Status == this.selectedStatus);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.userdatacmp.isDisplayAccount = true;\r\n }, 200));\r\n if (localStorage.getItem('RhxContactVal') != null && localStorage.getItem('RhxContactVal') != undefined) {\r\n\r\n this.showContactDashBoard = true;\r\n this.contactid = Number(localStorage.getItem('RhxContactVal'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n }\r\n });\r\n }\r\n else {\r\n this.allContacts = [];\r\n }\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Customer', action: 'Customer Viewed', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Task List Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n \r\n }\r\n onItemSelect(item: any) {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val().toString();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.allContacts = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n this.saveConfiguration();\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n }\r\n \r\n\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.allContacts = [];\r\n this.gridOptions.api.hideOverlay();\r\n $(\"#userids\").val('');\r\n this.applicationComponent.selectedusers = null;\r\n }\r\n Generate(userids) {\r\n\r\n this.applicationComponent.selectedusers = userids;\r\n if (this.pageSize == '')\r\n this.pageSize = '1000';\r\n if (this.contactid != null && this.contactid != undefined) {\r\n this.showContactDashBoard = true;\r\n \r\n this.customerService.GetContactById(this.contactid).then(ConResult => {\r\n this.customerService.GetByAccountId(ConResult.accountid).then(AccResult => {\r\n this.Contactvales = AccResult.customertypeid.toString();\r\n this.userListComp\r\n this.GetContactList(this.term, userids, this.currentPage, this.pageSize, 0);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n });\r\n });\r\n\r\n }\r\n\r\n else {\r\n this.GetContactList(this.term, userids, this.currentPage, this.pageSize, 0);\r\n }\r\n }\r\n rowClick(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.row.item.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.row.item.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n } else {\r\n this.Ids.push(rowEvent.row.item.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n }\r\n }\r\n rowDoubleClick(rowEvent) {\r\n \r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Customer', action: 'Customer Viewed', AccountOrContactId: rowEvent.row.item.id, AccountOrContact: rowEvent.data.permission, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Task List Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n this.router.navigateByUrl(`/application/contactsdashboard/${rowEvent.row.item.id}/${rowEvent.data.permission}`);\r\n }\r\n\r\n covertContact(rowEvent) {\r\n this.contactid = rowEvent.id;\r\n this.showDialog = !this.showDialog\r\n }\r\n convertLead(id) {\r\n this.customerService.UpdateLeadStatus(id, this.currentuser.id).then((contact) => {\r\n this.showDialog = !this.showDialog\r\n this.router.navigateByUrl(`/application/leads/${id}`);\r\n\r\n });\r\n }\r\n Edit(event) {\r\n this.router.navigateByUrl(`/application/contactsdashboard/${event.id}/edit`);\r\n }\r\n\r\n Delete(rowEvent) {\r\n this.contactid = rowEvent.id;\r\n let isdeletedstatustext = (rowEvent.isdeleted == 1) ? \"Re-Activate\" : \"De-Activate\";\r\n var c = confirm(\"Are you sure you want to \" + isdeletedstatustext + \" this Contact??\");\r\n if (c == true) {\r\n let isdeletedstatus = (rowEvent.isdeleted == 1) ? 0 : 1;\r\n this.customerService.Deactivatecontact(rowEvent.id, isdeletedstatus).then((user) => {\r\n this.active_deactiveStatus = this.activeItems ? 0 : 1;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n });\r\n }\r\n }\r\n getContactList() {\r\n this.activeItems = this.activeItems ? false : true;\r\n this.active_deactiveStatus = this.activeItems ? 0 : 1;\r\n\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n }\r\n loaddeactivatedcontcats() {\r\n this.activeItems = this.activeItems ? false : true;\r\n this.active_deactiveStatus = this.activeItems ? 0 : 1;\r\n this.createColumnDefs(this.colSelections, !this.activeItems);\r\n\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n\r\n stripHTML(str) {\r\n var strippedText = $(\"
      \").html(str).text();\r\n return strippedText;\r\n }\r\n public GetAllNotes(contactid, type) {\r\n var moment = require('moment-timezone');\r\n this.allnotes = [];\r\n this.customerService.GetAllNotesList(this.currentuser.id,contactid, type).then((notes) => {\r\n notes.forEach(items => {\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = notes;\r\n this.notesitemCount = notes.length;\r\n let windowHeight = $(window).height() - 160;\r\n\r\n });\r\n }\r\n\r\n notesreloadItems(notesparams) {\r\n if (this.notesitemResource != undefined) {\r\n this.notesitemResource.query(notesparams).then(notesitems => this.notesitems = notesitems);\r\n }\r\n }\r\n\r\n loaddropdowns() {\r\n this.customerService.GetAllOwnerList(0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.OwnerList = Owner;\r\n });\r\n \r\n this.customerService.GetSpecialityList(\"Account Specialty\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Specialitytypelist = accounttype;\r\n });\r\n\r\n this.customerService.GetCollegeList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Collegelist = accounttype;\r\n });\r\n\r\n this.customerService.GetMedicalSchoolList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.MedicalSchoolList = accounttype;\r\n });\r\n\r\n this.customerService.GetAllStateList('all').then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.StatesList = accounttype;\r\n this.stateInfo = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Month\", this.currentuser.id).then((appointment) => {\r\n appointment.forEach(appointment => {\r\n });\r\n this.MonthList = appointment;\r\n\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Day\", this.currentuser.id).then((appointment) => {\r\n appointment.forEach(appointment => {\r\n });\r\n this.DayList = appointment;\r\n });\r\n this.customerService.Getcontacttypes(2).then((accounttype) => {\r\n this.contacttypelist = [];\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.contacttypelist = accounttype;\r\n });\r\n this.customerService.GetCollegeList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Collegelist = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Suffix\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.SuffixList = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"Sex\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.SexList = accounttype;\r\n });\r\n\r\n this.getyears()\r\n {\r\n var range = [];\r\n var y = 1949;\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.Years = range;\r\n }\r\n this.Resetcontacts();\r\n }\r\n Resetcontacts() {\r\n this.contact.contacttype = null;\r\n this.contact.suffix = null;\r\n this.contact.sex = null;\r\n this.contact.title = null;\r\n this.contact.speciality = null;\r\n this.contact.subspeciality = null;\r\n this.contact.college = 0;\r\n this.contact.collegegrandyear = null;\r\n this.contact.medschool = 0;\r\n this.contact.medschoolgrandyear = null;\r\n this.contact.residency = 0;\r\n this.contact.residencygrandyear = null;\r\n this.contact.fellowship = 0;\r\n this.contact.fellowshipgrandyear = null;\r\n this.contact.ownerid = null;\r\n this.contact.practiceid = 0;\r\n }\r\n getyears() {\r\n var range = [];\r\n var year = new Date().getFullYear();\r\n for (var i = 0; i < 7; i++) {\r\n range.push({\r\n label: year + i,\r\n value: parseInt(String(year + i).slice(2, 4))\r\n });\r\n }\r\n this.Years = range;\r\n }\r\n SaveContact() {\r\n this.accountsService.addcontact(this.contact).then(result => {\r\n this.customerService.GetContactById(result.id).then(result => {\r\n this.contact = result;\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n });\r\n\r\n });\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n this.accountid = this.account.id\r\n if (this.account.customertypeid == 1) {\r\n document.getElementById('logoid').style.display = 'block';\r\n } else {\r\n document.getElementById('logoid').style.display = 'none';\r\n }\r\n });\r\n });\r\n }\r\n\r\n openDisplaynotes(params) {\r\n $('#closeDetailsDialog').click();\r\n //var contentDiv = params.value;\r\n\r\n //this.notes.notedescription = params.value;\r\n\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n //$('#showDetailsDialog').width(showDialogWidth);\r\n //$('#showDetailsDialog').height(notesHeight - 140);\r\n\r\n if (selfObj.isModal) {\r\n //$('#showDetailsDialog').css('top', '23%');\r\n //$('#showDetailsDialog').css('height', '47%');\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n //$('#showDetailsDialog').css('top', '20.5%');\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n $('.fr-wrapper').attr('style','height:68%;overflow:auto;')\r\n //$('.fr-wrapper').css('height', '147px !important');\r\n //$('.fr-wrapper').css('overflow', 'auto');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n } else {\r\n\r\n var gridOffset = $(\"#notesGrid\").offset();\r\n //$('#showDetailsDialog').css('top', gridOffset.top);\r\n //$('#showDetailsDialog').css('height', '30%');\r\n //$('#showDetailsDialog').css('left', '69%');\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n }\r\n //$('#showDetailsDialog').css('border-radius', '4px');\r\n //$('#showDetailsDialog').css('border', '3px solid');\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n\r\n }\r\n\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n \r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n\r\n }\r\n saveEditedNote() {\r\n\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.GetAllNotes(selfObj.contactid, 'Contact');\r\n selfObj.closeDetailsDialog();\r\n\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n }\r\n\r\n\r\n first() {\r\n\r\n this.currentPage = 1;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n }\r\n prev() {\r\n if (this.currentPage > 1) {\r\n this.currentPage--;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n }\r\n }\r\n next() {\r\n if (this.currentPage != this.totalnumberofPages) {\r\n this.currentPage++;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n }\r\n\r\n }\r\n last() {\r\n this.currentPage = this.totalnumberofPages;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n }\r\n calanderclick(val) {\r\n this.calanderonoff = val;\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n //this.loadallaccounts($(\"#userids\").val(), true, 1, this.pageSize, this.active_deactiveStatus);\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n }\r\n loadselectedcontacts(str, val) {\r\n \r\n if (str == \"formerCustomer\")\r\n this.isFormerCustomercontacts = val;\r\n let items = [];\r\n if (this.isCustomercontacts) {\r\n items.push('1');\r\n }\r\n else {\r\n items = $.grep(items, function (value) {\r\n return value != '1';\r\n });\r\n }\r\n if (this.isFormerCustomercontacts) {\r\n items.push('2');\r\n }\r\n else {\r\n items = $.grep(items, function (value) {\r\n return value != '2';\r\n });\r\n }\r\n this.Contactvales = items.toString();\r\n this.initializeAgGrid();\r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, this.active_deactiveStatus);\r\n }\r\n\r\n MapItEventListner() {\r\n if (this.applicationComponent.isMapItEventRaised) {\r\n \r\n } else { this.applicationComponent.googlemapshow = false; }\r\n }\r\n\r\n SelectCustomerType(val) {\r\n if (val == 'Display account') {\r\n this.router.navigateByUrl(`/application/account/Customer`);\r\n }\r\n this.customerService.UpdateCustomerType(val, this.currentuser.id).then((user) => {\r\n localStorage.setItem('CustomerType', user.CustomerTypeView);\r\n });\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n \r\n if (outProps.enableSearch) { this.EnableSearch = true; }\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n if (outProps.fifthDrpValue == \"No Shared Contacts\") {\r\n this.isSharedAccts = false;\r\n } else if (outProps.fifthDrpValue == \"All Shared Contacts\") { this.isSharedAccts = true; }\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize));\r\n this.Contactvales = (outProps.secondDrpValue == undefined || outProps.secondDrpValue == '0') ? \"1\" :\r\n outProps.secondDrpValue;\r\n if (outProps.thirdDrpValue != \"0\" && outProps.thirdDrpValue != undefined && outProps.thirdDrpValue != \"\") { \r\n this.allContacts = this.OriginalallContacts.filter(x => x.contacttypeName == outProps.thirdDrpValue)\r\n } else if (outProps.fourthDrpValue != \"0\" && outProps.fourthDrpValue != undefined && outProps.fourthDrpValue != \"All Activity\" && outProps.fourthDrpValue != \"\") {\r\n this.opprtunityservice.GetAlllastActivityContacts($(\"#userids\").val(), outProps.fourthDrpValue).then((result) => { \r\n this.allContacts = result.filter(x => x.customertype == '1');\r\n });\r\n\r\n } else {\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n if (!outProps.pageSizeChanged) {\r\n if (outProps.custType !== undefined) {\r\n this.SelectCustomerType(outProps.custType);\r\n } \r\n if (outProps.secondDrpValue == '1') {\r\n this.selectedStatus = 309;\r\n } else if (outProps.secondDrpValue == '2') {\r\n this.selectedStatus = 310;\r\n } \r\n this.GetContactList(this.term, $(\"#userids\").val(), this.currentPage, this.pageSize, 0);\r\n }\r\n } else {\r\n this.allContacts = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n }\r\n\r\n expandContactView(value) {\r\n if (value === 'Collapse') {\r\n this.isContactViewOpen = false;\r\n this.condashcmp.SixBoxExpand = false;\r\n this.condashcmp.tab = 'QuickView';\r\n }\r\n else {\r\n this.isContactViewOpen = true;\r\n this.condashcmp.SixBoxExpand = false;\r\n this.condashcmp.tab = 'QuickView';\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n }\r\n }\r\n CloseContactDiv() {\r\n this.showContactDashBoard = false;\r\n this.isContactViewOpen = true;\r\n if (this.currentuser.defaultSearchPage == 1) { this.EnableSearch = true; } else { this.EnableSearch = false; }\r\n }\r\n\r\n onContactMessageReceived(msg) {\r\n this.isShowAccountInfo = true;\r\n }\r\n onFilterTextBoxChanged() {\r\n if (this.currentuser.hidecustomer == 1 && this.EnableSearch) {\r\n this.allContacts = this.OriginalallContacts.filter(x => x.firstname.indexOf(this.value) || x.lastname.indexOf(this.value));\r\n }\r\n this.gridApi.setQuickFilter(\r\n (document.getElementById('filter-text-box') as HTMLInputElement).value\r\n );\r\n this.gridOptions.quickFilterText = (document.getElementById('filter-text-box') as HTMLInputElement).value;\r\n this.createColumnDefs(this.colSelections, true);\r\n this.gridApi.redrawRows(); \r\n \r\n }\r\n ClearSearch() {\r\n this.gridApi.setQuickFilter('');\r\n this.value = \"\";\r\n if (this.currentuser.defaultSearchPage == 1) {\r\n this.EnableSearch = true;\r\n this.allContacts = [];\r\n } else {\r\n if (this.currentuser.hidecustomer == 1) { this.allContacts = []; }\r\n this.EnableSearch = false;\r\n }\r\n }\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 { DecimalPipe } from '@angular/common';\r\nimport { Component, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\r\nimport { GridOptions, Optional } from 'ag-grid';\r\nimport { Campaign } from '../../../models/Campaign';\r\nimport { AccountsService } from '../../../services/accounts.service';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { LeadsService } from '../../../services/leads.service';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { CampaignsComponent } from '../../campaigns/campaigns.component';\r\ndeclare var $: any;\n@Component({\n selector: 'app-campaign-dashboard',\n templateUrl: './campaign-dashboard.component.html',\n styleUrls: ['./campaign-dashboard.component.css']\n})\nexport class CampaignDashboardComponent implements OnInit {\n public gridOptions: GridOptions;\n public columnDefs: any[];\n allCampaigns: Campaign[];\n OriginalAllCampaigns: Campaign[];\n public context;\n private gridApi;\n public sideBar;\n currentuser: any;\n pageSize: string = \"1000\";\r\n colSelections: string;\n public frameworkComponents;\n @Input() type: string;\n ShowConfigurationDialog: boolean = false;\n CampaignId;\n userIDs: string;\n @ViewChild(CampaignsComponent) CampaignComp: CampaignsComponent;\n constructor(public applicationComponent: ApplicationComponent, private route: ActivatedRoute, public decimalpipe: DecimalPipe, private customerService: CustomerService, private leadsService: LeadsService, private opprtunityservice: OpprtunitiesService, private userService: UserService, private viewContainerRef: ViewContainerRef, private accountsService: AccountsService) {\n\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));}\n\n ngOnInit(): void {\n this.initializeAgGrid(this.currentuser.id);\n }\n\n\n initializeAgGrid(userids) {\n this.userIDs = userids;\n this.gridOptions = {\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\n };\n this.sideBar = {\n toolPanels: [\n {\n id: 'columns',\n labelDefault: 'Columns',\n labelKey: 'columns',\n iconKey: 'columns',\n toolPanel: 'agColumnsToolPanel',\n }\n ],\n position: 'right',\n\n };\n let columnSelections: string;\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 32).then((config) => {\n\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\n this.pageSize = config.maxlimit.toString();\n }\n\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\n this.pageSize = (this.pageSize == \"\") ? '1000' : this.pageSize;\n this.createColumnDefs(this.colSelections);\n this.LoadCampaigns(this.userIDs);\n\n });\n\n this.context = this;\n //this.frameworkComponents = {\n // linkdelete: LinkDeleteComponent\n //};\n\n }\n\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\n var searcharray = [];\n if (this.applicationComponent.searchCriteriadata) {\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\n if (searchaarraystring.includes(' /')) {\n searcharray = searchaarraystring.split(' / ');\n } else {\n searcharray.push(searchaarraystring);\n }\n }\n let selfobj = this;\n let columnSelectionsArray: string[] = [];\n if (columnSelections != \"\") {\n columnSelectionsArray = columnSelections.split(',');\n\n this.columnDefs = [];\n\n for (let i = 0; i < columnSelectionsArray.length; i++) {\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\n \n if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true });\n }\n else {\n this.columnDefs.push({\n field: fieldHeaderVisibleWidthArray[0],\n headerName: fieldHeaderVisibleWidthArray[1],\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\n width: parseInt(fieldHeaderVisibleWidthArray[3]),\n });\n }\n }\n }\n else {\n this.columnDefs = [\n //{\n // field: '#',\n // headerName: '#',\n // width: 52,\n // checkboxSelection: true,\n // suppressSorting: true,\n // suppressMenu: true,\n // pinned: true,\n // hide: false,\n // outerWidth: 8,\n // headerCheckboxSelection: true,\n // headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\n //},\n { field: 'CampaignID', headerName: 'Campaign Id', hide: true },\n { field: 'CreatedDate', headerName: 'Date Created', hide: false },\n { field: 'CampaignName', headerName: 'Campaign Name', hide: false },\n { field: 'CampaignTypeName', headerName: 'Campaign Type', hide: false },\n { field: 'TotalExpense', headerName: 'Total Expense', hide: false },\n { field: 'ProfitLoss', headerName: 'Profit | Loss', hide: false },\n { field: 'salesPlusMonthlyPerYear', headerName: 'Total SMR', hide: false },\n { field: 'CampaignStatus', headerName: 'Status', hide: false },\n { field: 'createdByName', headerName: 'Owner', hide: false },\n //{\n // field: 'actions', headerName: 'Actions', width: 80, hide: (this.Source == \"dashboard\") ? true : false, pinned: 'right', cellRenderer(params) {\n // var eDiv = document.createElement('div');\n // eDiv.innerHTML = '';\n // eDiv.addEventListener('click', function () {\n // selfobj.campaign = params.data;\n // selfobj.DeleteCampaignConfirmation = true;\n // selfobj.DeleteExpenseCss('DeleteCampaignConfirmation');\n // });\n // return eDiv;\n // }\n //}\n\n\n ];\n\n var tooltipRenderer = function (params) {\n return '' + params.value + '';\n };\n }\n }\n\n\n LoadCampaigns(userid) {\n this.opprtunityservice.GetAllCampaigns(userid).then((viewCampaigns) => {\n\n viewCampaigns.forEach(ele => {\n var salesPlusMonthlyPerYear = Number(ele.SalesRevenue) + (Number(ele.MonthlyRevenue) * 12);\n var ProfitLoss = salesPlusMonthlyPerYear - ele.TotalExpense;\n\n ele.salesPlusMonthlyPerYear = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n }).format(salesPlusMonthlyPerYear);\n ele.ProfitLoss = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n }).format(ProfitLoss);\n\n });\n\n this.OriginalAllCampaigns = viewCampaigns;\n if (this.type == 'Open') {\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.CampaignStatus == 'Open');\r\n } else if (this.type == 'Closed') {\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.CampaignStatus == 'Closed');\r\n } else {\n this.allCampaigns = this.OriginalAllCampaigns;\r\n }\n \n });\n }\n\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n // this.CampaignId = event.api.getSelectedNodes()[0].data.CampaignID;\r\n \r\n this.applicationComponent.selectedbuttonText = 'My Campaigns';\r\n this.applicationComponent.activateMainButtons('Campaigns');\r\n localStorage.setItem('CompaignVal', event.api.getSelectedNodes()[0].data.CampaignID + \"|\" + this.type);\r\n }\r\n }\n CloseDialog(msg) {\n if (msg == 'CloseDialog') {\r\n this.ShowConfigurationDialog = false;\r\n }\r\n }\n DialogCss() {\n setTimeout(function () {\r\n $('#ConfigurationDialog .dialog').attr('style', 'width: 100%;padding-bottom: 0px;border: none;min-height: 63%;overflow: auto;height: 84%;padding: 0.5%;top: 10%;max-width: 88%;left: 10%;');\r\n }, 4)\r\n }\n}\n","
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      0 ? 'auto' : '' }\" style=\"height:90%;padding:0;\" class=\"col-xs-12\">\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n

      Calls Completed

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

      \r\n \r\n {{this.salesinfo.Monthlycallscount}} /{{this.salesinfo.Monthlycallscompleted}}\r\n \r\n

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

      New Tickets

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

      \r\n \r\n {{this.salesinfo.NewTicketCount}} /{{this.salesinfo.NewTicketsgoal}}\r\n \r\n \r\n /\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n {{CallsCompletedLabel}}\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n {{NewTicketsLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n

      Meetings Completed

      \r\n

      Monthly Calls Completed

      \r\n

      Closed Tickets

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

      Sales Won

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

      \r\n \r\n {{this.salesinfo.MonthlyMeetingCompletedCount}}\r\n /{{this.salesinfo.MonthlyMeetingCompletedgoal}}\r\n \r\n\r\n

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

      \r\n \r\n {{this.salesinfo.MonthlySalesWonCount}}\r\n /{{this.salesinfo.MonthlySaleswongoal}}\r\n \r\n\r\n

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

      \r\n\r\n \r\n {{this.salesinfo.Monthlycallscount}}\r\n /{{this.salesinfo.Monthlycallscompleted}}\r\n \r\n\r\n

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

      \r\n\r\n \r\n {{this.salesinfo.ClosedTicketCount}}\r\n /{{this.salesinfo.ClosedTicketsgoal}}\r\n \r\n\r\n

      \r\n

      \r\n\r\n \r\n \r\n /{{this.salesinfo.ClosedTicketsgoal}}\r\n \r\n\r\n

      \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n {{MonthlyMeetingLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n {{MonthlyMeetingLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n {{MonthlyMeetingLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n {{ClosedTicketsLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n

      To-Do's Completed

      \r\n

      Monthly Accounts Added

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

      Monthly Won

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

      \r\n\r\n \r\n {{salesinfo.MonthlyToDoCount}}\r\n /{{salesinfo.MonthlyToDogoal}}\r\n \r\n\r\n

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

      \r\n \r\n {{salesinfo.MonthlySalesRRCount}}\r\n /{{salesinfo.MonthlySalesRRgoal}}\r\n \r\n\r\n

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

      \r\n \r\n {{salesinfo.MonthlyAccountsaddedcount}}\r\n /{{salesinfo.MonthlyAccountAdded}}\r\n \r\n\r\n

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

      Calls Completed

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

      \r\n \r\n {{this.salesinfo.Monthlycallscount}} /{{this.salesinfo.Monthlycallscompleted}}\r\n \r\n

      \r\n

      \r\n \r\n /{{this.salesinfo.Monthlycallscompleted}}\r\n \r\n

      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n {{CallsCompletedLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n {{MonthlyToDoLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n {{MonthlySalesRRLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n {{MonthlyAccountsLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n

      Leads Converted

      \r\n

      Monthly Leads Converted

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

      \r\n\r\n {{salesinfo.leadconvertedcount}}/{{salesinfo.monthlyleadconvertedcount}}\r\n\r\n

      \r\n
      \r\n
      \r\n
      \r\n SalesXCRM User Usage Stats\r\n
      \r\n
      \r\n
      Today {{TodayTimeSpent |number : '1.1-1' }}
      \r\n
      Week {{WeekkTimeSpent | number: '1.1-1'}}
      \r\n
      Month {{MonthTimeSpent |number : '1.1-1' }}
      \r\n
      YTD {{YearTimeSpent | number: '1.1-1'}}
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n {{LeadsConvertedLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n {{LeadsConvertedLabel}}\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n My Calendar\r\n {{displayCalendar ? 'Close Calendar':'Display Calendar'}}\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n Sales Opportunities - Open    \r\n\r\n \r\n Activity Report\r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{lbl.name}}
      \r\n
      \r\n
      \r\n
      {{lbl.percentage}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n My Open Tickets\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n Sales Opportunities - Won\r\n \r\n \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Year to Date Activity\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
      {{item.activityname}}{{item.JanPercenatge}}{{item.FebPercenatge}}{{item.MarPercenatge}}{{item.AprilPercenatge}}{{item.MayPercenatge}}{{item.JunPercenatge}}{{item.JulPercenatge}}{{item.AugPercenatge}}{{item.SepPercenatge}}{{item.OctPercenatge}}{{item.NovPercenatge}}{{item.DecPercenatge}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Opportunities - Open\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n Calendar\r\n \r\n \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n Open Tickets\r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Customer On-Hold\r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Open Tickets - Assigned to Corporate Group\r\n \r\n \r\n Open Tickets - Assigned to NBD Group\r\n \r\n \r\n Open Tickets - Assigned to Trainers Group\r\n \r\n \r\n Open Tickets - Assigned to Support Group\r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Customer On-Hold\r\n \r\n \r\n Tasks | Past Due\r\n \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n Accounts Added this Month\r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n Open Projects\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n\r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n\r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n Open Tickets - (Assigned To Trainers Group)\r\n \r\n \r\n Open Tickets - (Assigned To Support Group)\r\n \r\n \r\n c\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n Open Leads \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n My Closed Tickets\r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n Sales Ranking\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n User Activity - Top Users\r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n Closed Tickets Ratings\r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n From : {{message.fromuser}}

      \r\n To : {{message.touser}}

      \r\n Received : {{message.date}}

      \r\n Subject : {{message.subject}}

      \r\n Message : {{message.message}}\r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Total Opportunities (Sales Won)

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

      \r\n \r\n {{Revenue.OpportunityWonTotalPrice | currency}}\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n {{TotalOppWonPriceLabel}}\r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Total Opportunities (Monthly Won)

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

      \r\n \r\n {{Revenue.OpportunityWonTotalRR | currency}}\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n {{TotalOppWonRRLabel}}\r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Total Opportunities (Sales Lost)

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

      \r\n \r\n {{Revenue.OpportunityLostTotalPrice | currency}}\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n {{TotalLostOppPriceLabel}}\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Total Opportunities (Open Sales)

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

      \r\n \r\n {{Revenue.OpportunityOpenTotalPrice | currency}}\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n {{TotalOpenOppPriceLabel}}\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Sales Opportunities - Won\r\n \r\n \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Sales Opportunities - Lost\r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Sales Opportunities - Open\r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Open Projects

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

      \r\n \r\n {{projInfo.OpenProjectsCount}}\r\n \r\n

      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Pended Projects

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

      \r\n \r\n {{projInfo.PendedProjectsCount}}\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Completed Projects

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

      \r\n \r\n {{projInfo.CompletedProjectsCount}}\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n {{TotalLostOppPriceLabel}}\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Cancelled Projects

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

      \r\n \r\n {{projInfo.CancelledProjectsCount}}\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n {{TotalOpenOppPriceLabel}}\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Open Projects\r\n\r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Pended Projects\r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Completed Projects\r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n Cancelled Projects\r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Open Campaigns ( Total Expenses )

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

      \r\n \r\n {{this.campaigninfo.OpenCampaignTotalExpenses | currency}}\r\n \r\n

      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Open Campaigns ( Profit | Loss )

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

      \r\n \r\n {{this.campaigninfo.OpenCampaignProfitLoss| currency}}\r\n \r\n

      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Closed Campaigns ( Total Expenses )

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

      \r\n \r\n {{this.campaigninfo.ClosedCampaignTotalExpenses| currency}}\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n {{TotalLostOppPriceLabel}}\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n No Data\r\n
      \r\n
      \r\n
      \r\n
      \r\n

      Closed Campaigns ( Profit | Loss )

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

      \r\n \r\n {{this.campaigninfo.ClosedCampaignProfitLoss| currency}}\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n {{TotalLostOppPriceLabel}}\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Open Campaigns\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Closed Campaigns\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n Calendar (Past Due Activity) ({{(pastDueactivitytaskhistory)? pastDueactivitytaskhistory.length : 0}}) \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n Sales Ranking- \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n User Activity - Top Users\r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Closed Tickets Rankings - Training Group\r\n Closed Tickets Rankings - Support Group\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n \r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      \r\n User List\r\n

      \r\n
      Save Changes to User List?
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n

      Draggable Events

      \r\n
      My Event 1
      \r\n
      My Event 2
      \r\n
      My Event 3
      \r\n
      My Event 4
      \r\n
      My Event 5
      \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, Optional, ViewChild } from '@angular/core';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { MessagingService } from '../../services/messaging.service';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Salesranking } from '../../models/salesranking';\r\nimport { Messaging } from '../../models/messaging';\r\nimport { ViewSalesinfo } from '../../models/view-salesinfo';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Dropdowntype, Dropdown, RevenueModel } from '../../models/dropdowntype';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\n//import { CalendarComponent } from \"ap-angular-fullcalendar\";\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Userquota } from '../../models/userquota';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport { ScheduletaskComponent } from \"../scheduletask/scheduletask.component\";\r\nimport { ProposalsComponent } from '../proposals/proposals.component';\r\nimport { LeadsdashboardComponent } from '../leads/leadsdashboard/leadsdashboard.component';\r\nimport { UnreadMessagesComponent } from '../unread-messages/unread-messages.component';\r\nimport timeGridPlugin from '@fullcalendar/timegrid';\r\ndeclare var require: any;\r\nimport * as moment from 'moment'\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AdvancedsearchService } from 'src/app/services/advancedsearch.service';\r\ndeclare var $: any;\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CalendarOptions, EventApi } from '@fullcalendar/angular';\r\n//import { SignalRAdapter } from 'src/adapters/signalr-adapter';\r\n//import { DemoAdapter } from 'src/adapters/demo-adapter';\r\nimport { SignalRGroupAdapter } from 'src/adapters/signalr-group-adapter';\r\nimport { ChatAdapter } from 'ng-chat';\r\nimport { TaskComponent } from '../task/task.component';\r\nimport { ZendeskhomeComponent } from '../zendeskhome/zendeskhome.component';\r\nimport { AccountTransferModel } from '../../models/AccountTransferModel';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Notes } from '../../models/notes';\r\nimport { RevenueDashboardComponent } from './revenue-dashboard/revenue-dashboard.component';\r\nimport { SalesProcessHistory } from '../../models/sales-process-history';\r\nimport { Campaigninfo } from '../../models/Campaigninfo';\r\nimport { Campaign } from '../../models/Campaign';\r\nimport { ProjectsDashboardComponent } from './projects-dashboard/projects-dashboard.component';\r\nimport { Projects } from '../../models/ProjectConfiguration';\r\nimport { ProjectsInfo } from '../../models/ProjectsInfo';\r\nimport { CampaignDashboardComponent } from './campaign-dashboard/campaign-dashboard.component';\r\nimport { TicketsDashboardComponent } from './tickets-dashboard/tickets-dashboard.component';\r\n\r\nimport { UserMessages } from '../../models/UserMessages';\r\nimport { NotificationService } from '../notification/notification.service';\r\nimport { forkJoin } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css']\r\n})\r\nexport class DashboardComponent {\r\n calendarOptions: CalendarOptions = {\r\n };\r\n calendarOptions1: CalendarOptions = {\r\n\r\n };\r\n calendarOptions2: CalendarOptions = {\r\n\r\n };\r\n //calendarOptions3: CalendarOptions = {\r\n\r\n //};\r\n\r\n allCampaigns: Campaign[];\r\n OriginalAllCampaigns: Campaign[];\r\n public sideBar;\r\n pageSize: string = \"1000\";\r\n aggridHeight: string = \"\";\r\n currentuser: any;\r\n messageOpen = false;\r\n hdrHtml0: boolean = false;\r\n CalendarTomorrowActDiv: boolean = true;\r\n MsgCalendarDiv: boolean = true;\r\n calendarpastDiv: boolean = true;\r\n internalmessagediv: boolean = true;\r\n msgSalesDiv: boolean = true;//for tab2 & 3\r\n fullcalendar: boolean = true;//for tab2 & 3\r\n saleRankingDiv: boolean = true;//for tab2 & 3\r\n intmsgdiv: boolean = true;//for tab2 & 3\r\n\r\n calanderonoff: boolean = true;\r\n Dashboardtypelist: Dropdowntype[] = [];\r\n message: Messaging = new Messaging();\r\n alltaskhistory: TaskHistory[];\r\n tomorrowtaskhistory: TaskHistory[];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n Allsalesranking: Salesranking[];\r\n\r\n AllActivityData: any;\r\n closedRankingData: any;\r\n AllAccountData: any;\r\n DashBoardConfigData: any;\r\n AllyeartoSalesData: any;\r\n AllyeartoSalesDataTotal: any;\r\n YearToDateTotal: any;\r\n AllyeartodataActivity: Userquota[] = [];\r\n allMessages: Messaging[];\r\n allCustomers: Accounts[];\r\n selectedActType = 732;\r\n OpenOppTotal: string = \"$ 0\";\r\n colSelections: string;\r\n public SalesRankinggridOptions: GridOptions;\r\n public AccountgridOptions: GridOptions;\r\n public TomorrowActivitygridOptions: GridOptions;\r\n public useractivitygridOptions: GridOptions;\r\n public columnDefs: any[];\r\n public taskcolumnDefs: any[];\r\n public useractivitycolumnDefs: any[];\r\n public closedRankingcolumnDefs: any[];\r\n public AccontcolumnDefs: any[];\r\n public TomorrowActivitycolumnDefs: any[];\r\n salesinfo: ViewSalesinfo = new ViewSalesinfo();\r\n campaigninfo: Campaigninfo = new Campaigninfo();\r\n finaldata = [];\r\n finaldataincludediscription = [];\r\n newEvents = [];\r\n newEventsincludediscription = [];\r\n MonthlycallsPercentageColor = \"#e7e8ea\";\r\n MonthlyMeetingCompletedPercentageColor = \"#e7e8ea\";\r\n MonthlycallsScheduledPercentageColor = \"#e7e8ea\";\r\n MonthlySalesWonPercentageColor = \"#e7e8ea\";\r\n MonthlySalesRRPercentageColor = \"#e7e8ea\";\r\n MonthlyAccountsaddedPercentageColor = \"#e7e8ea\";\r\n leadconvertedPercentageColor = \"#e7e8ea\";\r\n MonthlyToDoPercentageColor = \"#e7e8ea\";\r\n NewTicketsPercentageColor = \"#e7e8ea\";\r\n ClosedTicketsPercentageColor = \"#e7e8ea\";\r\n MonthlylastDueActivityPercentageColor = \"#e7e8ea\";\r\n UserIds: string;\r\n UserIdsCount: number = 1;\r\n selectedTab: string;\r\n //calendarOptions: any;\r\n timezonevalue: string;\r\n check: boolean = true;\r\n dropdownList = [];\r\n selectedItems = [];\r\n finalitems: any;\r\n CurrentDate: string;\r\n CallsCompletedLabel: string;\r\n NewTicketsLabel: string;\r\n ClosedTicketsLabel: string;\r\n MonthlySalesRRLabel: string;\r\n MonthlyAccountsLabel: string;\r\n MonthlyToDoLabel: string;\r\n MonthlyMeetingLabel: string;\r\n MeetingsCompletedLabel: string;\r\n ToDoCompletedLabel: string;\r\n TotalOppWonPriceLabel: string;\r\n TotalOppWonRRLabel: string;\r\n TotalLostOppPriceLabel: string;\r\n TotalOpenOppPriceLabel: string;\r\n SalesWonLabel: string;\r\n RRWonLabel: string;\r\n LeadsConvertedLabel: string;\r\n today = Date.now();\r\n public accountGridColumnApi: any;\r\n public salesRankingGridColumnApi: any;\r\n public userActivityGridColumnApi: any;\r\n YDAHight = screen.height * 0.24111;\r\n divHeight = (screen.height * 0.21);\r\n divHeight1 = (screen.height * 0.2444);\r\n divHeight3 = 124;\r\n divHeight4 = (screen.height * 0.2422222);\r\n divHeight5 = (screen.height * 0.203333);\r\n canvasHGT = screen.height * 0.241111;\r\n hdHGT = screen.height * 0.02666667;\r\n public yy: number;\r\n pastDueactivitytaskhistory: TaskHistory[];\r\n public PastDueActivitygridOptions: GridOptions;\r\n public pastDueActivitycolumnDefs: any[];\r\n currentYear = new Date().getFullYear();\r\n currentMonth = (new Date().getMonth()) + 1;\r\n public years: number[] = [];\r\n selectedMenuRadio: string = \"notab\";\r\n tasklistshowDialog = false;\r\n showExpandGrid = false;\r\n EXpandCalender: boolean = false;\r\n displayCalendar: boolean = false;\r\n emptyGridData = [];\r\n assignedToval: number;\r\n contactId: number = 0;\r\n showcustomerOnhold: boolean = true;\r\n showtickets: boolean = true;\r\n showclosedtickets: boolean = true;\r\n showclosedticketsrating: boolean = true;\r\n showsalesranking: boolean = true;\r\n ShowcustomerActivity: boolean = true;\r\n showPastdue: boolean = true;\r\n showcompletedprojects: boolean = true;\r\n showcancelledprojects: boolean = true;\r\n showopenleads: boolean = true;\r\n showactivitytopusers: boolean = true;\r\n expand: boolean = false;\r\n\r\n expandmydashboardsecrow: boolean = false;\r\n expandmydashboardthirdrow: boolean = false;\r\n\r\n expandsupportdashboardsecrow: boolean = false;\r\n expandsupportdashboardthirdrow: boolean = false;\r\n\r\n expandprojectdashboardsecrow: boolean = false;\r\n expandprojectdashboardthirdrow: boolean = false;\r\n\r\n expandnbddashboardsecrow: boolean = false;\r\n CurrentUserMessages: UserMessages[];\r\n expandcustomeronhold: boolean = false;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal;\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n taskDialog: boolean = false;\r\n showtaskDialog: boolean = false;\r\n taskhistory: TaskHistory = new TaskHistory()\r\n notes: Notes = new Notes();\r\n @ViewChild(ScheduletaskComponent) scheduleComp: ScheduletaskComponent;\r\n @ViewChild(UnreadMessagesComponent) unReadMsgcomponent: UnreadMessagesComponent;\r\n @ViewChild(TaskComponent) taskcomp: TaskComponent;\r\n @ViewChild(ProposalsComponent) Proposalcomp: ProposalsComponent;\r\n @ViewChild(LeadsdashboardComponent) LeadsDashBoardComp: LeadsdashboardComponent;\r\n @ViewChild(ZendeskhomeComponent) ZendeskComp: ZendeskhomeComponent;\r\n @ViewChild(TicketsDashboardComponent) TicketsDashComp: TicketsDashboardComponent;\r\n @ViewChild(RevenueDashboardComponent) revenueDashComp: RevenueDashboardComponent;\r\n @ViewChild(ProjectsDashboardComponent) ProjDashComp: ProjectsDashboardComponent;\r\n @ViewChild(CampaignDashboardComponent) campDashComp: CampaignDashboardComponent;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public ECDstartDate: any;\r\n public ECDendDate: any;\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n public customerpieChartLabels = [];\r\n public customerpieChartLabels1 = [];\r\n public customerpieChartType: string = 'pie';\r\n public customerpieChartData = [{ horizontalAlign: \"left\" }];\r\n public customerpieChartcolors = [{ backgroundColor: [\"#826AA4\", \"\t#5F97C7\", \"#4C7FC0\", \"#CA5A4E\", \"#9DB15A\"] }]\r\n public pieColors = ['#826AA4', '#5F97C7', '#4C7FC0', '#CA5A4E', '#9DB15A'];\r\n public SalesbarChartLabels = [];\r\n public NBDSpecialistSalesbarChartLabels = [];\r\n selectedmonth = new Date();\r\n public color = '#23B14D';\r\n public displayDiv: boolean = false;\r\n dropdownSetting = {};\r\n public barChartOptions: any = {\r\n scaleShowVerticalLines: false,\r\n responsive: true\r\n };\r\n public elementRef;\r\n public barChartLabels: string[] = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];\r\n public barChartType: string = 'bar';\r\n public barChartLegend: boolean = true;\r\n public barChartData: any[] = [{ label: 'Series A', backgroundColor: \"#ccc\" }];\r\n public NBDSpecialistbarChartData: any[] = [\r\n {/*data: [65, 59, 80, 81, 56, 55, 40],*/ label: 'Series A', backgroundColor: \"#ccc\" },\r\n {/*data: [28, 48, 40, 19, 86, 27, 90],*/ label: 'Series B', backgroundColor: \"rgb(202, 90, 78)\" }\r\n ];\r\n //@ViewChild(CalendarComponent) myCalendar: CalendarComponent;\r\n\r\n public messagegridOptions: GridOptions;\r\n public messagecolumnDefs: any[];\r\n public colorStoke: any[];\r\n public colors = [\r\n { // 1st Year.\r\n backgroundColor: '#4394db'\r\n },\r\n { // 2nd Year.\r\n backgroundColor: 'rgba(30, 169, 224, 0.8)'\r\n }\r\n ]\r\n public chartColors: Array = [{\r\n fillColor: 'rgba(47, 132, 71, 0.8)',\r\n strokeColor: 'rgba(47, 132, 71, 0.8)',\r\n highlightFill: 'rgba(47, 132, 71, 0.8)',\r\n highlightStroke: 'rgba(47, 132, 71, 0.8)'\r\n }];\r\n public data = [300, 500, 100];\r\n public labels = [\"Download Sales\", \"In-Store Sales\", \"Mail-Order Sales\"];\r\n public NBDSpecialistbarChartOptions: any = {\r\n responsive: true,\r\n legend: { fontSize: 5 }\r\n };\r\n public chartClicked(e: any): void { }\r\n public UnreadMessageCount = this.applicationComponent.inboxmessagecount;\r\n public myDashboard: boolean = false;\r\n public salesDashBoard: boolean = false;\r\n public nbdDashBoard: boolean = false;\r\n public trainerDashboard: boolean = false;\r\n public supportDashboard: boolean = false;\r\n public ProjectsDashboard: boolean = false;\r\n public RevenueDashboard: boolean = false;\r\n public TransferedAccountsDashboard: boolean = false;\r\n globaleventid: number;\r\n MultiselectDropDownChanged: boolean = false;\r\n SaveUserListConfirmation: boolean = false;\r\n id: number;\r\n taskid: number;\r\n type: string;\r\n month = \"\";\r\n ActivityDropdowns: Dropdowntype[] = [];\r\n CustActivityDropdowns: Dropdowntype[] = [];\r\n CustStatusDropdowns: Dropdowntype[] = [];\r\n title = 'app';\r\n currentTheme = 'dark-theme';\r\n triggeredEvents = [];\r\n //fileUploadUrl: string = `${SignalRAdapter.serverBaseUrl}UploadFile`;\r\n SelectedAct: number; SelectedStatus: number;\r\n userId: string = \"offline-demo\";\r\n username: string;\r\n NotificationMessages = [];\r\n //adapter: ChatAdapter = new DemoAdapter();\r\n Revenue: RevenueModel = new RevenueModel();\r\n SingleRevenue: RevenueModel = new RevenueModel();\r\n signalRAdapter: SignalRGroupAdapter;\r\n TodayTimeSpent = 0;\r\n WeekkTimeSpent = 0;\r\n MonthTimeSpent = 0;\r\n YearTimeSpent = 0;\r\n\r\n Ids = [];\r\n ClearTransferAccounts: boolean = false;\r\n DropDownListBox: boolean = false;\r\n SelectedDate: any;\r\n SearchDialog: boolean = false;\r\n BTClick: boolean = false;\r\n RevenueStartDate: string = \"\";\r\n RevenueEndDate: string = \"\";\r\n TicketStartDate: string = \"\";\r\n TicketEndDate: string = \"\";\r\n public LeadsgridOptions: GridOptions;\r\n public LeadscolumnDefs: any[];\r\n allLeads: SalesProcessHistory[];\r\n public context;\r\n projInfo: ProjectsInfo = new ProjectsInfo();\r\n selectedmyDashDefGridBox = [];\r\n selectedmyDashDefGridBoxid: number = 0;\r\n \r\n constructor(private route: ActivatedRoute, public applicationComponent: ApplicationComponent, private userservice: UserService, private messagingservice: MessagingService,\r\n private leadservice: LeadsService, private opprtunityservice: OpprtunitiesService, private customerService: CustomerService, private toastr: ToastrService, private router: Router,protected _notificationSvc: NotificationService,\r\n private advsearch: AdvancedsearchService, private http: HttpClient) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedbuttonText = \"DashBoard\";\r\n this.loadCustomerActivityDrp();\r\n\r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.getSelectedUserList(this.currentuser.id);\r\n }\r\n\r\n }\r\n loadCustomerActivityDrp() {\r\n\r\n forkJoin({\r\n res1: this.customerService.GetSpecialityList(\"CustomerActivity\", this.currentuser.id),\r\n res2: this.customerService.GetSpecialityList(\"Account Active or Inactive\", this.currentuser.id)\r\n })\r\n .subscribe(({ res1, res2 }) => {\r\n this.CustActivityDropdowns = res1;\r\n \r\n var myDashactivity = localStorage.getItem('myDashactivity');\r\n if (myDashactivity != null) {\r\n this.ActivityChange(Number(myDashactivity));\r\n\r\n } else {\r\n this.SelectedAct = 732;\r\n }\r\n this.CustStatusDropdowns = res2;\r\n \r\n var myDashactivityStatus = localStorage.getItem('myDashactivityStatus');\r\n if (myDashactivityStatus != null) {\r\n this.CustomerStatusChange(Number(myDashactivityStatus));\r\n } else {\r\n this.SelectedStatus = 1;\r\n }\r\n \r\n });\r\n \r\n }\r\n getSelectedtmyDashDefGridBox() {\r\n\r\n this.userservice.GetSelectedUsermyDashDefGridBox(this.currentuser.id).then((result) => {\r\n this.selectedmyDashDefGridBox = result;\r\n this.selectedmyDashDefGridBoxid = 3;// result.selectedMyDashDefaultGridId;\r\n if (this.selectedmyDashDefGridBoxid == 1) {\r\n this.assignedToval = 13\r\n this.currentMonth = (new Date().getMonth()) + 1;\r\n }\r\n else if (this.selectedmyDashDefGridBoxid == 2) { this.assignedToval = 3 }\r\n else if (this.selectedmyDashDefGridBoxid == 4) { this.assignedToval = 2 }\r\n else if (this.selectedmyDashDefGridBoxid == 5) { this.assignedToval = 8 }\r\n else if (this.selectedmyDashDefGridBoxid == 3) {\r\n var date = new Date();\r\n var ECDstartDate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n var ECDendDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n this.ECDstartDate = moment(ECDstartDate.toString()).format(\"YYYY-MM-DD\");\r\n this.ECDendDate = moment(ECDendDate.toString()).format(\"YYYY-MM-DD\");\r\n\r\n }\r\n\r\n });\r\n }\r\n refresh() {\r\n var that = this;\r\n that.alltaskhistory = [];\r\n var calEventStatus = [];\r\n var tomorrow = new Date();\r\n var isEventOverDiv = function (x, y) {\r\n var external_events = $('#external-events');\r\n var offset = external_events.offset();\r\n offset.right = external_events.width() + offset.left;\r\n offset.bottom = external_events.height() + offset.top;\r\n if (x >= offset.left\r\n && y >= offset.top\r\n && x <= offset.right\r\n && y <= offset.bottom) { return true; }\r\n return false;\r\n\r\n };\r\n that.calendarOptions1 = {\r\n plugins: [timeGridPlugin],\r\n initialView: 'timeGridWeek',\r\n views: {\r\n\r\n TwoWeek: {\r\n text: '2 Weeks',\r\n type: 'timeGridWeek',\r\n duration: { weeks: 2 },\r\n dayHeaderContent: ({ date }) => {\r\n return moment(date).format('ddd MM/DD')\r\n },\r\n\r\n }\r\n },\r\n allDaySlot: true,\r\n slotDuration: '00:15:01',\r\n slotMinTime: '6:00',\r\n slotMaxTime: '24:00',\r\n nowIndicator: true,\r\n selectable: true,\r\n editable: true,\r\n droppable: true,\r\n slotLabelFormat:\r\n {\r\n hour: 'numeric',\r\n minute: '2-digit',\r\n omitZeroMinute: false,\r\n },\r\n buttonText: {\r\n today: 'Today',\r\n month: 'Month',\r\n week: 'Week',\r\n day: 'Day',\r\n list: 'List',\r\n TwoWeek: '2 Weeks',\r\n },\r\n headerToolbar:\r\n {\r\n left: 'prev,next today',\r\n center: 'title',\r\n right: 'timeGridDay,timeGridWeek,TwoWeek,dayGridMonth' \r\n },\r\n dateClick: this.handleDateClick.bind(this),\r\n eventDidMount: function (event) {\r\n },\r\n eventClick: function (event) {\r\n $(setTimeout(function () {\r\n that.leadservice.GetByTaskHistoryId(Number(event.event.id), \"View\", that.currentuser.timezone).then(result => {\r\n that.taskhistory = result;\r\n that.id = that.taskhistory.contactid;\r\n that.taskid = that.taskhistory.id;\r\n that.type = that.taskhistory.type;\r\n if (that.taskhistory.contactid == null || that.taskhistory.contactid == 0 || that.taskhistory.contactid == undefined) {\r\n that.BTClick = true;\r\n }\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('month-calender') > -1) {\r\n $('#checkDiv').css('height', '83%');\r\n }\r\n if (that.taskid != undefined) {\r\n that.taskDialog = !that.taskDialog;\r\n that.taskDialogCss();\r\n $(setTimeout(function () {\r\n \r\n that.taskcomp.loadcoantactname(that.id, that.type);\r\n that.taskcomp.LoadSelectedTaskdata(that.taskid, true, \"View\");\r\n that.taskcomp.loadtaskHistoryByselecteddate(that.taskhistory.estcompleteddate);\r\n }, 300));\r\n }\r\n });\r\n }, 400));\r\n\r\n },\r\n eventMouseEnter: function (event) {\r\n var notesli = \"\";\r\n that.leadservice.GetAllTaskHistoryById(Number(event.event.id), 'TaskHistory').then((items) => {\r\n this.taskhistorynotes = items;\r\n this.taskhistorynotes.forEach((res) => {\r\n notesli += \" -\" + res.notedescription + \"
      \";\r\n });\r\n\r\n });\r\n\r\n\r\n that.leadservice.GetByTaskHistoryId(Number(event.event.id), \"View\", that.currentuser.timezone).then(taskdata => {\r\n that.taskhistory = taskdata;\r\n\r\n var moment = require('moment-timezone');\r\n let frm = (event.event.start == null) ? '(NTS)' : moment.tz(event.event.start.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n let to = (event.event.end == null) ? '(NTS)' : moment.tz(event.event.end.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n var contact = (that.taskhistory.contactid != 0 && that.taskhistory.contactid != null) ? \"Contact: \" + that.taskhistory.contactName + \"
      \" : \"\";\r\n var Account = (that.taskhistory.contactid != 0 && that.taskhistory.contactid != null) ? \"Account: \" + that.taskhistory.accountname + \"
      \" : \"\";\r\n let timelabel = frm + '-' + to;\r\n \r\n });\r\n\r\n },\r\n eventMouseLeave: function (data) {\r\n $(setTimeout(function () {\r\n $(this).css('z-index', 8);\r\n $('.tooltiptopicevent').remove();\r\n }, 300));\r\n },\r\n eventDrop: function (event) {\r\n that.makeEventsDraggable('eventDrop', event.event.id, event.event.start);\r\n },\r\n eventResize: function (event, ) {\r\n that.makeEventsDraggable('eventResize', event.event.id, event.event.start);\r\n\r\n },\r\n eventReceive: function (event) {\r\n that.makeEventsDraggable('eventReceive', that.globaleventid, event.event.start);\r\n },\r\n\r\n eventDragStart: function (event) {\r\n that.globaleventid = 0;\r\n calEventStatus['calendar'] = '#calendar1';\r\n calEventStatus['event_id'] = event.event.id;\r\n that.globaleventid = Number(event.event.id);\r\n //$('#calendar1').fullCalendar('removeEvents', event.event.id);\r\n },\r\n\r\n eventDragStop: function (event) {\r\n if (isEventOverDiv(event.jsEvent.clientX, event.jsEvent.clientY)) {\r\n //$('#calendar1').fullCalendar('removeEvents', event.event.id);\r\n var el = $(\"
      \").appendTo('#external-events-listing').text(event.event.title);\r\n el.draggable({\r\n zIndex: 999,\r\n revert: true,\r\n revertDuration: 0\r\n });\r\n el.data('event', { title: event.event.title, id: event.event.id, stick: true });\r\n\r\n }\r\n\r\n //calEventStatus = [];\r\n\r\n },\r\n\r\n\r\n };\r\n that.calendarOptions2 = {\r\n plugins: [timeGridPlugin],\r\n initialView: 'listDay',\r\n allDaySlot: true,\r\n slotDuration: '00:15:01',\r\n slotMinTime: '6:00',\r\n slotMaxTime: '23:45',\r\n nowIndicator: true,\r\n selectable: true,\r\n editable: true,\r\n droppable: true,\r\n slotLabelFormat:\r\n {\r\n hour: 'numeric',\r\n minute: '2-digit',\r\n omitZeroMinute: false,\r\n }, \r\n headerToolbar:\r\n {\r\n left: '',\r\n center: 'title',\r\n right: 'today,prev,next'\r\n },\r\n dateClick: this.handleDateClick.bind(this),\r\n eventDidMount: function (event) {\r\n },\r\n datesSet: this.handleEvents.bind(this),\r\n eventClick: function (event) {\r\n\r\n $(setTimeout(function () {\r\n that.leadservice.GetByTaskHistoryId(Number(event.event.id), \"View\", that.currentuser.timezone).then(result => {\r\n that.taskhistory = result;\r\n that.id = that.taskhistory.contactid;\r\n that.taskid = that.taskhistory.id;\r\n that.type = that.taskhistory.type;\r\n if (that.taskhistory.contactid == null || that.taskhistory.contactid == 0 || that.taskhistory.contactid == undefined) {\r\n that.BTClick = true;\r\n }\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('month-calender') > -1) {\r\n $('#checkDiv').css('height', '83%');\r\n }\r\n if (that.taskid != undefined) {\r\n that.taskDialog = !that.taskDialog;\r\n that.taskDialogCss();\r\n $(setTimeout(function () {\r\n\r\n that.taskcomp.loadcoantactname(that.id, that.type);\r\n that.taskcomp.LoadSelectedTaskdata(that.taskid, true, \"View\");\r\n that.taskcomp.loadtaskHistoryByselecteddate(that.taskhistory.estcompleteddate);\r\n }, 300));\r\n }\r\n });\r\n }, 400));\r\n\r\n },\r\n eventMouseEnter: function (event) {\r\n var notesli = \"\";\r\n that.leadservice.GetAllTaskHistoryById(Number(event.event.id), 'TaskHistory').then((items) => {\r\n this.taskhistorynotes = items;\r\n this.taskhistorynotes.forEach((res) => {\r\n notesli += \" -\" + res.notedescription + \"
      \";\r\n });\r\n\r\n });\r\n\r\n\r\n that.leadservice.GetByTaskHistoryId(Number(event.event.id), \"View\", that.currentuser.timezone).then(taskdata => {\r\n that.taskhistory = taskdata;\r\n\r\n var moment = require('moment-timezone');\r\n let frm = (event.event.start == null) ? '(NTS)' : moment.tz(event.event.start.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n let to = (event.event.end == null) ? '(NTS)' : moment.tz(event.event.end.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n var contact = (that.taskhistory.contactid != 0 && that.taskhistory.contactid != null) ? \"Contact: \" + that.taskhistory.contactName + \"
      \" : \"\";\r\n var Account = (that.taskhistory.contactid != 0 && that.taskhistory.contactid != null) ? \"Account: \" + that.taskhistory.accountname + \"
      \" : \"\";\r\n let timelabel = frm + '-' + to;\r\n\r\n });\r\n\r\n $(this).mouseover(function (e) {\r\n $(this).css('z-index', 8);\r\n\r\n $('.tooltiptopicevent').fadeIn('500');\r\n $('.tooltiptopicevent').fadeTo('10', 1.9);\r\n }).mousemove(function (e) {\r\n $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n });\r\n\r\n },\r\n eventMouseLeave: function (data) {\r\n $(setTimeout(function () {\r\n $(this).css('z-index', 8);\r\n $('.tooltiptopicevent').remove();\r\n }, 300));\r\n },\r\n eventDrop: function (event) {\r\n that.makeEventsDraggable('eventDrop', event.event.id, event.event.start);\r\n },\r\n eventResize: function (event, ) {\r\n that.makeEventsDraggable('eventResize', event.event.id, event.event.start);\r\n\r\n },\r\n eventReceive: function (event) {\r\n that.makeEventsDraggable('eventReceive', that.globaleventid, event.event.start);\r\n },\r\n\r\n eventDragStart: function (event) {\r\n that.globaleventid = 0;\r\n calEventStatus['calendar'] = '#calendar1';\r\n calEventStatus['event_id'] = event.event.id;\r\n that.globaleventid = Number(event.event.id);\r\n },\r\n\r\n eventDragStop: function (event) {\r\n if (isEventOverDiv(event.jsEvent.clientX, event.jsEvent.clientY)) {\r\n var el = $(\"
      \").appendTo('#external-events-listing').text(event.event.title);\r\n el.draggable({\r\n zIndex: 999,\r\n revert: true,\r\n revertDuration: 0\r\n });\r\n el.data('event', { title: event.event.title, id: event.event.id, stick: true, description: 'Lecture' });\r\n\r\n }\r\n },\r\n\r\n\r\n };\r\n //that.calendarOptions3 = {\r\n\r\n // initialView: 'listDay',\r\n // initialDate: new Date().setDate(tomorrow.getDate() + 1),\r\n // allDaySlot: true,\r\n // slotDuration: '00:15:01',\r\n // slotMinTime: '6:00',\r\n // slotMaxTime: '24:00',\r\n // nowIndicator: true,\r\n // selectable: true,\r\n // editable: true,\r\n // droppable: true,\r\n // slotLabelFormat:\r\n // {\r\n // hour: 'numeric',\r\n // minute: '2-digit',\r\n // omitZeroMinute: false,\r\n // },\r\n // headerToolbar:\r\n // {\r\n // left: '',\r\n // center: 'title',\r\n // right: ''\r\n // },\r\n // dateClick: this.handleDateClick.bind(this),\r\n // eventDidMount: function (event) {\r\n // },\r\n // eventClick: function (event) {\r\n // $(setTimeout(function () {\r\n // that.leadservice.GetByTaskHistoryId(Number(event.event.id), \"View\", that.currentuser.timezone).then(result => {\r\n // that.taskhistory = result;\r\n // that.id = that.taskhistory.contactid;\r\n // that.taskid = that.taskhistory.id;\r\n // that.type = that.taskhistory.type;\r\n // if (that.taskhistory.contactid == null || that.taskhistory.contactid == 0 || that.taskhistory.contactid == undefined) {\r\n // that.BTClick = true;\r\n // }\r\n\r\n // var url = window.location.href;\r\n // if (url.indexOf('month-calender') > -1) {\r\n // $('#checkDiv').css('height', '83%');\r\n // }\r\n // if (that.taskid != undefined) {\r\n // that.taskDialog = !that.taskDialog;\r\n // that.taskDialogCss();\r\n // $(setTimeout(function () {\r\n // //that.scheduleComp.loadcoantactname(that.id, that.type);\r\n // //that.scheduleComp.LoadSelectedTaskdata(that.taskid, true, \"View\");\r\n // //that.scheduleComp.loadtaskHistoryByselecteddate(that.taskhistory.estcompleteddate);\r\n\r\n // that.taskcomp.loadcoantactname(that.id, that.type);\r\n // that.taskcomp.LoadSelectedTaskdata(that.taskid, true, \"View\");\r\n // that.taskcomp.loadtaskHistoryByselecteddate(that.taskhistory.estcompleteddate);\r\n // }, 300));\r\n // }\r\n // });\r\n // }, 400));\r\n\r\n // },\r\n // eventMouseEnter: function (event) {\r\n // var notesli = \"\";\r\n // that.leadservice.GetAllTaskHistoryById(Number(event.event.id), 'TaskHistory').then((items) => {\r\n // this.taskhistorynotes = items;\r\n // this.taskhistorynotes.forEach((res) => {\r\n // notesli += \" -\" + res.notedescription + \"
      \";\r\n // });\r\n\r\n // });\r\n\r\n\r\n // that.leadservice.GetByTaskHistoryId(Number(event.event.id), \"View\", that.currentuser.timezone).then(taskdata => {\r\n // that.taskhistory = taskdata;\r\n\r\n // var moment = require('moment-timezone');\r\n // let frm = (event.event.start == null) ? '(NTS)' : moment.tz(event.event.start.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n // let to = (event.event.end == null) ? '(NTS)' : moment.tz(event.event.end.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n // var contact = (that.taskhistory.contactid != 0 && that.taskhistory.contactid != null) ? \"Contact: \" + that.taskhistory.contactName + \"
      \" : \"\";\r\n // var Account = (that.taskhistory.contactid != 0 && that.taskhistory.contactid != null) ? \"Account: \" + that.taskhistory.accountname + \"
      \" : \"\";\r\n // let timelabel = frm + '-' + to;\r\n // var tooltip = \"
      \"\r\n // + \"Date: \" + moment(event.event.start).format(\"MM/DD/YYYY\") + \"
      \"\r\n // + \"Time: \" + timelabel + \"
      \"\r\n // + contact\r\n // + Account\r\n // + \"Type: \" + event.event.title.split(\"[\")[0] + \"
      \"\r\n // + \"Notes: \" + notesli + \"
      \"\r\n // + \"
      \";\r\n // $(this).mouseover(function (e) {\r\n // $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n // $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n // });\r\n // $(this).mousemove(function (e) {\r\n // $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n // $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n // });\r\n // $(\"body\").append(tooltip);\r\n // });\r\n\r\n // $(this).mouseover(function (e) {\r\n // $(this).css('z-index', 8);\r\n\r\n // $('.tooltiptopicevent').fadeIn('500');\r\n // $('.tooltiptopicevent').fadeTo('10', 1.9);\r\n // }).mousemove(function (e) {\r\n // $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n // $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n // });\r\n\r\n // },\r\n // eventMouseLeave: function (data) {\r\n // $(setTimeout(function () {\r\n // $(this).css('z-index', 8);\r\n // $('.tooltiptopicevent').remove();\r\n // }, 300));\r\n // },\r\n // eventDrop: function (event) {\r\n // that.makeEventsDraggable('eventDrop', event.event.id, event.event.start);\r\n // },\r\n // eventResize: function (event,) {\r\n // that.makeEventsDraggable('eventResize', event.event.id, event.event.start);\r\n\r\n // },\r\n // eventReceive: function (event) {\r\n // that.makeEventsDraggable('eventReceive', that.globaleventid, event.event.start);\r\n // },\r\n\r\n // eventDragStart: function (event) {\r\n // that.globaleventid = 0;\r\n // calEventStatus['calendar'] = '#calendar1';\r\n // calEventStatus['event_id'] = event.event.id;\r\n // that.globaleventid = Number(event.event.id);\r\n // //$('#calendar1').fullCalendar('removeEvents', event.event.id);\r\n // },\r\n // eventDragStop: function (event) {\r\n // if (isEventOverDiv(event.jsEvent.clientX, event.jsEvent.clientY)) {\r\n // //$('#calendar1').fullCalendar('removeEvents', event.event.id);\r\n // var el = $(\"
      \").appendTo('#external-events-listing').text(event.event.title);\r\n // el.draggable({\r\n // zIndex: 999,\r\n // revert: true,\r\n // revertDuration: 0\r\n // });\r\n // el.data('event', { title: event.event.title, id: event.event.id, stick: true });\r\n\r\n // }\r\n // },\r\n\r\n\r\n //};\r\n }\r\n\r\n\r\n makeEventsDraggable(eventtype, eventid, date) {\r\n let that = this;\r\n $('.fc-draggable').each(function () {\r\n $(this).data('event', {\r\n title: $.trim($(this).text()), // use the element's text as the event title\r\n stick: true // maintain when user navigates (see docs on the renderEvent method)\r\n });\r\n $(this).draggable({\r\n zIndex: 999,\r\n revert: true, // will cause the event to go back to its\r\n revertDuration: 0 // original position after the drag\r\n });\r\n $(\"td\").removeClass(\"fc-highlight\");\r\n });\r\n $('.fc-rigid').attr('style', 'height:80px');\r\n $('.fc-day-grid-container').attr('style', 'height:auto');\r\n if (eventid != 0) {\r\n that.leadservice.GetByTaskHistoryId(eventid, \"View\", that.currentuser.timezone).then(result => {\r\n that.taskhistory = result;\r\n that.taskhistory.estcompleteddate = date;\r\n that.taskhistory.contactid = that.taskhistory.contactid;\r\n that.taskhistory.type = that.taskhistory.type;\r\n that.taskhistory.userid = that.currentuser.id;\r\n that.taskhistory.timezone = that.currentuser.timezone;\r\n that.taskhistory.tasktype = $(\"#sel1 option:selected\").text();\r\n if (that.taskhistory.time != undefined || that.taskhistory.time != null) {\r\n //that.taskhistory.starttime = that.taskhistory.time;\r\n\r\n that.taskhistory.starttime = moment(date).format(\"MM/DD/YYYY hh:mm a\");\r\n }\r\n if (that.taskhistory.totime != null) {\r\n //that.taskhistory.endtime = that.taskhistory.totime;\r\n var difference = moment.duration(moment(that.taskhistory.totime).diff(moment(that.taskhistory.time)));\r\n var endTime = new Date(date.getTime() + difference.asMinutes() * 60000);\r\n that.taskhistory.endtime = moment(endTime).format(\"MM/DD/YYYY hh:mm a\");\r\n }\r\n that.leadservice.addTaskHistory(that.taskhistory).then(result => {\r\n\r\n\r\n that.notes.accountid = result.id;\r\n that.notes.type = \"TaskHistory\";\r\n if (eventtype == \"eventDrop\" || eventtype == \"eventReceive\") {\r\n $(setTimeout(function () {\r\n //that.TaskData(that.statustype, $(\"#userids\").val())\r\n that.checkvalues('All Tasks', $(\"#userids\").val());\r\n }, 100));\r\n }\r\n\r\n\r\n that.notes.userid = that.currentuser.id;\r\n that.notes.notedescription = \"Task Moved to \" + moment(date).format(\"MM/DD/YYYY hh:mm a\");\r\n\r\n that.opprtunityservice.addopprtunityNotes(that.notes).then(result => {\r\n that.notes = result;\r\n\r\n that.taskhistory.notedescription = '';\r\n this.toastr.success(\"Task saved successfully.\", \"Task Saved\", { timeOut: 600 });\r\n });\r\n });\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n hours_am_pm(time) {\r\n let hour = (time.split(':'))[0]\r\n let min = (time.split(':'))[1]\r\n let part = hour > 12 ? 'pm' : 'am';\r\n min = (min + '').length == 1 ? `0${min}` : min;\r\n hour = hour > 12 ? hour - 12 : hour;\r\n hour = (hour + '').length == 1 ? `0${hour}` : hour;\r\n return `${hour}:${min} ${part}`;\r\n }\r\n checkvalues(val, userids) {\r\n this.newEvents = [];\r\n this.finaldataincludediscription = [];\r\n if (userids && userids != null) {\r\n this.leadservice.GetAllTaskHistoryForCalendar('All Tasks', userids, this.startDateVal, this.endDateVal, 'null', 'All Tasks', this.currentuser.timezone).then((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n if (taskhistory.status == 'Open') {\r\n if ((taskhistory.starttime != null && taskhistory.starttime != '0:00')) {\r\n \r\n (this.finaldata).push({\r\n id: taskhistory.id,\r\n title: taskhistory.tasktype + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \" - \" + taskhistory.firstName + \",\" + taskhistory.lastName),\r\n start: (taskhistory.starttime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.starttime).toISOString() : '',\r\n end: (taskhistory.endtime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.endtime).toISOString() : '',\r\n color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8',\r\n backgroundColor: (taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8'\r\n });\r\n (this.finaldataincludediscription).push({\r\n id: taskhistory.id,\r\n title: \"
      \" + taskhistory.tasktype + \"
      \" + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \"\" + taskhistory.firstName + \",\" + taskhistory.lastName + \",\" + (taskhistory.title == null ? \"\" : taskhistory.title)) + \" \" + \"
      \" + taskhistory.accountname + \"
      \" +\r\n ((taskhistory.accountphone == undefined) ? '' : taskhistory.accountphone) + \"
      \" + taskhistory.owner + \"
      \",\r\n start: (taskhistory.starttime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.starttime).toISOString() : '',\r\n end: (taskhistory.endtime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.endtime).toISOString() : '',\r\n color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8',\r\n backgroundColor: (taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8'\r\n });\r\n\r\n }\r\n else {\r\n (this.finaldata).push({\r\n id: taskhistory.id,\r\n title: taskhistory.tasktype + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \" - \" + taskhistory.firstName + \",\" + taskhistory.lastName),\r\n start: taskhistory.estcompleteddate,\r\n color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8',\r\n backgroundColor: (taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8'\r\n });\r\n }\r\n }\r\n else if (taskhistory.status == 'Completed' || taskhistory.status == 'Complete & Repeat' || taskhistory.status == 'Complete & Schedule New' || taskhistory.status == 'Complete & Return' || taskhistory.status == 'Not Completed') {\r\n if ((taskhistory.starttime != null && taskhistory.starttime != '0:00')) {\r\n (this.finaldata).push({\r\n id: taskhistory.id,\r\n title: taskhistory.tasktype + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \" - \" + taskhistory.firstName + \",\" + taskhistory.lastName + \",\" + taskhistory.title),\r\n start: (taskhistory.starttime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.starttime).toISOString() : '',\r\n end: (taskhistory.endtime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.endtime).toISOString() : '',\r\n color: (taskhistory.contactid == 0) ? 'lightgrey' : 'lightgrey',\r\n textColor: 'black', backgroundColor: 'lightgrey'\r\n });\r\n (this.finaldataincludediscription).push({\r\n id: taskhistory.id,\r\n title: \"
      \" + taskhistory.tasktype + \"
      \" + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \"\" + taskhistory.firstName + \",\" + taskhistory.lastName + \",\" + (taskhistory.title == null ? \"\" : taskhistory.title)) + \" \" + \"
      \" + taskhistory.accountname + \"
      \" +\r\n ((taskhistory.accountphone == undefined) ? '' : taskhistory.accountphone) + \"\" + \"
      \" + taskhistory.owner + \"
      \",\r\n start: (taskhistory.starttime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.starttime).toISOString() : '',\r\n end: (taskhistory.endtime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.endtime).toISOString() : '',\r\n color: (taskhistory.contactid == 0) ? 'lightgrey' : 'lightgrey',\r\n textColor: 'black', backgroundColor: 'lightgrey'\r\n });\r\n\r\n } else {\r\n (this.finaldata).push({\r\n id: taskhistory.id,\r\n color: (taskhistory.contactid == 0) ? 'lightgrey' : 'lightgrey',\r\n Contact: taskhistory.contactName,\r\n title: taskhistory.tasktype + \"[\" + taskhistory.owner,\r\n textColor: 'black', backgroundColor: 'lightgrey'\r\n\r\n });\r\n }\r\n }\r\n else {\r\n if ((taskhistory.starttime != null && taskhistory.starttime != '0:00')) {\r\n (this.finaldata).push({\r\n id: taskhistory.id,\r\n title: taskhistory.tasktype + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \" - \" + taskhistory.firstName + \",\" + taskhistory.lastName + \",\" + taskhistory.title),\r\n start: (taskhistory.starttime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.starttime).toISOString() : '',\r\n end: (taskhistory.endtime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.endtime).toISOString() : '',\r\n color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8',\r\n backgroundColor: (taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8'\r\n\r\n });\r\n (this.finaldataincludediscription).push({\r\n id: taskhistory.id,\r\n title: \"
      \" + taskhistory.tasktype + \"
      \" + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \"\" + taskhistory.firstName + \",\" + taskhistory.lastName + \",\" + (taskhistory.title == null ? \"\" : taskhistory.title)) + \" \" + \"
      \" + taskhistory.accountname + \"
      \" +\r\n taskhistory.accountphone + \"\" + \"
      \" + taskhistory.owner + \"
      \",\r\n start: (taskhistory.starttime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.starttime).toISOString() : '',\r\n end: (taskhistory.endtime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.endtime).toISOString() : '',\r\n color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8',\r\n backgroundColor: (taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8'\r\n });\r\n\r\n } else {\r\n (this.finaldata).push({ id: taskhistory.id, color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8', Contact: taskhistory.contactName, title: taskhistory.tasktype + \"   \" + taskhistory.firstName + \",\" + taskhistory.lastName + \",\" + taskhistory.title, start: taskhistory.estcompleteddate, From: taskhistory.starttime, To: taskhistory.endtime, backgroundColor: (taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8' });\r\n }\r\n }\r\n\r\n });\r\n if (this.check == true) {\r\n this.newEvents = this.finaldata;\r\n this.newEventsincludediscription = this.finaldataincludediscription;\r\n this.calendarOptions1.events = [];\r\n this.calendarOptions2.events = [];\r\n // this.calendarOptions3.events = [];\r\n\r\n this.calendarOptions1.events = this.newEvents;\r\n this.calendarOptions2.events = this.finaldataincludediscription;\r\n $('#myCalendar1 .fc-next-button').click(); \r\n setTimeout(function () { \r\n $('#myCalendar1 .fc-today-button').click();\r\n }, 100); \r\n\r\n this.finaldata = [];\r\n }\r\n\r\n this.alltaskhistory = taskhistory;\r\n });\r\n } else {\r\n this.calendarOptions1.events = [];\r\n this.calendarOptions2.events = [];\r\n\r\n this.newEvents = [];\r\n this.calendarOptions1.events = this.newEvents;\r\n this.calendarOptions2.events = this.newEvents;\r\n\r\n }\r\n }\r\n getYear() {\r\n var today = new Date();\r\n this.yy = today.getFullYear();\r\n for (var i = (this.yy - 100); i <= this.yy; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n\r\n checkTabAccess() {\r\n if (this.selectedMenuRadio == \"tab1\")\r\n return this.myDashboard;\r\n else if (this.selectedMenuRadio == \"tab2\")\r\n return this.salesDashBoard;\r\n else if (this.selectedMenuRadio == \"tab3\")\r\n return this.nbdDashBoard;\r\n else if (this.selectedMenuRadio == \"tab4\")\r\n return this.trainerDashboard;\r\n else if (this.selectedMenuRadio == \"tab5\")\r\n return this.supportDashboard;\r\n else if (this.selectedMenuRadio == \"tab6\")\r\n return this.ProjectsDashboard;\r\n else if (this.selectedMenuRadio == \"tab7\")\r\n return this.RevenueDashboard;\r\n else if (this.selectedMenuRadio == \"tab8\")\r\n return this.TransferedAccountsDashboard;\r\n else if (this.selectedMenuRadio == \"notab\")\r\n return false;\r\n }\r\n\r\n ngOnInit() {\r\n this.refresh();\r\n \r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $('#dashboard').addClass('mainactiveButton');\r\n this.applicationComponent.searchstring = \"\";\r\n this.currentDate();\r\n var calEventStatus = [];\r\n this.route.params.subscribe(params => {\r\n this.selectedMenuRadio = params['type'];\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (params['type'] == 'tab1') { $(\"#tab1\").trigger(\"click\"); }\r\n else if (params['type'] == 'tab2') { $(\"#tab2\").trigger(\"click\"); }\r\n else if (params['type'] == 'tab3') { $(\"#tab3\").trigger(\"click\"); }\r\n else if (params['type'] == 'tab4') { $(\"#tab4\").trigger(\"click\"); }\r\n else if (params['type'] == 'tab5') { $(\"#tab5\").trigger(\"click\"); }\r\n else if (params['type'] == 'tab6') { $(\"#tab6\").trigger(\"click\"); }\r\n else if (params['type'] == 'tab7') { $(\"#tab7\").trigger(\"click\"); }\r\n else if (params['type'] == 'tab8') { $(\"#tab8\").trigger(\"click\"); }\r\n selfObj.DashboardChanged(params['type'])\r\n }, 500));\r\n });\r\n\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.opprtunityservice.GetDashBoardAccess(selfObj.currentuser.id).then((config) => {\r\n config = config.sort(x => x.dashboardtypeid);\r\n config = config.reverse();\r\n config.forEach(config => {\r\n if (config.dashboardtypeid == 475) {\r\n selfObj.myDashboard = config.isaccess == 1 ? true : false;\r\n } else if (config.dashboardtypeid == 476) {\r\n selfObj.salesDashBoard = config.isaccess == 1 ? true : false;\r\n } else if (config.dashboardtypeid == 477) {\r\n selfObj.nbdDashBoard = config.isaccess == 1 ? true : false;\r\n } else if (config.dashboardtypeid == 478) {\r\n selfObj.trainerDashboard = config.isaccess == 1 ? true : false;\r\n } else if (config.dashboardtypeid == 479) {\r\n selfObj.supportDashboard = config.isaccess == 1 ? true : false;\r\n } else if (config.dashboardtypeid == 689) {\r\n selfObj.ProjectsDashboard = config.isaccess == 1 ? true : false;\r\n } else if (config.dashboardtypeid == 690) {\r\n selfObj.RevenueDashboard = config.isaccess == 1 ? true : false;\r\n }\r\n });\r\n\r\n if (config.length == 0) {\r\n selfObj.myDashboard = true;\r\n selfObj.salesDashBoard = false;\r\n selfObj.nbdDashBoard = false;\r\n selfObj.trainerDashboard = false;\r\n selfObj.supportDashboard = false;\r\n selfObj.ProjectsDashboard = false;\r\n selfObj.RevenueDashboard = false;\r\n selfObj.TransferedAccountsDashboard = false;\r\n selfObj.selectedMenuRadio = \"tab1\";\r\n }\r\n\r\n if (selfObj.myDashboard || selfObj.salesDashBoard || selfObj.nbdDashBoard || selfObj.trainerDashboard || selfObj.supportDashboard || selfObj.ProjectsDashboard || selfObj.RevenueDashboard || selfObj.TransferedAccountsDashboard) {\r\n //do nothing\r\n } else {\r\n selfObj.selectedMenuRadio = \"notab\";\r\n }\r\n\r\n });\r\n }, 200));\r\n $('.ag-tool-panel').attr('style', 'display:none');\r\n this.customerService.GetSpecialityList(\"Dashboard\", this.currentuser.id).then((ehr) => {\r\n ehr.forEach(accounttype => {\r\n });\r\n this.Dashboardtypelist = ehr;\r\n });\r\n this.dropdownList = this.applicationComponent.dropdownList;\r\n\r\n this.finalitems += this.currentuser.id + ',';\r\n if ($(\"#userids\").val() && $(\"#userids\").val() != null && $(\"#userids\").val() != undefined && $(\"#userids\").val() != '') {\r\n this.UserIds = $(\"#userids\").val();\r\n } else {\r\n this.UserIds = this.currentuser.id;\r\n } \r\n\r\n this.advsearch.GetAllRunQueries(this.currentuser.id).then((queries) => {\r\n if (queries && queries.length > 0) {\r\n if (queries[0].queryOrder == null) {\r\n this.applicationComponent.searchoffon = false;\r\n } else {\r\n var list = queries[0].queryOrder.split(\",\");\r\n list.forEach(element => {\r\n if (element != \"\") {\r\n this.applicationComponent.searchoffon = true;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 2\r\n };\r\n let selfObj1 = this;\r\n //$(setTimeout(function () {\r\n // selfObj1.AddSuspendInactiveDiv();\r\n //}, 400));\r\n\r\n $(\"#UserList .c-btn\").click(function () {\r\n\r\n selfObj1.DropDownListBox = !selfObj1.DropDownListBox;\r\n if (selfObj1.DropDownListBox == true) {\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n } else {\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", true);\r\n }\r\n });\r\n\r\n window.onclick = function (event) {\r\n var overlay = document.getElementsByClassName('col-md-12');\r\n if (event.target == overlay[0]) {\r\n selfObj1.DropDownListBox = false;\r\n }\r\n\r\n var cbtn = document.getElementsByClassName('c-btn');\r\n var clist = document.getElementsByClassName('c-list');\r\n var cinput = document.getElementsByClassName('c-input ng-pristine ng-valid ng-star-inserted ng-touched');//done\r\n var selectall = document.getElementsByClassName('pure-checkbox select-all ng-star-inserted');// done\r\n var purecheckbox = document.getElementsByClassName('pure-checkbox ng-star-inserted selected-item');// done\r\n var lazyContainer = document.getElementsByClassName('dropdown-list animated fadeIn');\r\n var lazy = document.getElementsByClassName('lazyContainer');\r\n\r\n var SuspendInactiveDiv = document.getElementById('SuspendInactiveDiv');\r\n var UserListHeader = document.getElementById('UserListHeader');\r\n var ButtonsDiv = document.getElementById('ButtonsDiv');\r\n var Active = document.getElementById('Active');\r\n var Inactive = document.getElementById('Inactive');\r\n var suspended = document.getElementById('suspended');\r\n var MultiUserSave = document.getElementById('MultiUserSave');\r\n var MultiUserCancel = document.getElementById('MultiUserCancel');\r\n if (event.target == clist || event.target == Inactive || event.target == Active || event.target == suspended || event.target == cbtn || event.srcElement == cinput[0] || event.srcElement == selectall[1] || event.srcElement == purecheckbox[1] || (event.target.parentNode && lazy[1] != undefined && (event.target.parentNode.className == lazy[1].className)) || event.target == MultiUserSave || event.target == MultiUserCancel || event.target == SuspendInactiveDiv || event.target == UserListHeader || event.target == ButtonsDiv || event.target == lazyContainer) {\r\n } else {\r\n if (selfObj1.MultiselectDropDownChanged == true) {\r\n selfObj1.SaveUserListConfirmation = true;\r\n selfObj1.SaveUserListConfirmationCss();\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n //this.AccTranInitializeAgGrid();\r\n //this.getTransferedAccounts();\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = false;\r\n this.initializeAgGrid();\r\n this.initializePastDueActivityAgGrid();\r\n this.GenerateUserAccess(this.UserIds);\r\n this.Generate(this.UserIds);\r\n this.getSelectedtmyDashDefGridBox();\r\n\r\n let selfObja = this;\r\n $(setTimeout(function () {\r\n selfObja.GetUserMessagesByUserId();\r\n }, 400));\r\n\r\n }\r\n\r\n SaveConfirm(val) {\r\n if (val == 'Yes') {\r\n this.MultiUserSaveclicked();\r\n this.TicketsDashComp.getCustomerOnHoldData();\r\n } else {\r\n this.MultiselectDropDownChanged = false;\r\n this.SaveUserListConfirmation = false;\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", true);\r\n }\r\n $('#cancelDiv').attr('style', 'display:none;');\r\n $('#SaveDiv').attr('style', 'display:none;');\r\n if (this.UserIds == null) {\r\n this.newEvents = [];\r\n this.calendarOptions1.events = this.newEvents;\r\n this.calendarOptions2.events = this.newEvents;\r\n }\r\n }\r\n\r\n SaveUserListConfirmationCss() {\r\n setTimeout(function () {\r\n $('#SaveUserListConfirmation .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4)\r\n }\r\n getSelectedUserList(val) {\r\n //this.customerService.getSelectedUserList(val).then(res => {\r\n // if (res != null && res.length > 0) {\r\n // this.applicationComponent.selectedItems = res;\r\n // localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n // var ids = [];\r\n // this.applicationComponent.selectedItems.forEach(ele => {\r\n // ids.push(ele.id);\r\n // });\r\n\r\n // this.UserIds = ids.join(',');\r\n // $(\"#userids\").val(ids.join(','));\r\n // //this.Proposalcomp.GetAllProposal(this.UserIds);\r\n // } else {\r\n //this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n // }\r\n //});\r\n }\r\n\r\n AddSuspendInactiveDiv() {\r\n\r\n var mydiv = document.getElementsByClassName(\"pure-checkbox select-all ng-star-inserted\");\r\n var Headerdiv = document.createElement('div');\r\n Headerdiv.id = \"Header\";\r\n Headerdiv.className = \"col-xs-12 UserListHeader\";\r\n mydiv[1].parentNode.insertBefore(Headerdiv, mydiv[1].previousSibling);\r\n\r\n var UserListlabel = document.createElement('label'); // creating label for checkbox \r\n UserListlabel.htmlFor = \"UserList\"; // assigning attributes for\r\n UserListlabel.id = \"UserList\";\r\n UserListlabel.appendChild(document.createTextNode(' User List '));\r\n $('#Header').append(UserListlabel);\r\n ////////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n var ButtonsDiv = document.createElement('div');\r\n ButtonsDiv.id = \"ButtonsDiv\";\r\n ButtonsDiv.className = \"col-xs-12 UserListButtons\";\r\n mydiv[1].parentNode.insertBefore(ButtonsDiv, mydiv[1].previousSibling);\r\n\r\n var cancelDiv = document.createElement('div');\r\n cancelDiv.id = \"cancelDiv\";\r\n cancelDiv.className = \"col-xs-6\";\r\n $('#ButtonsDiv').append(cancelDiv);\r\n\r\n var SaveDiv = document.createElement('div');\r\n SaveDiv.id = \"SaveDiv\";\r\n SaveDiv.className = \"col-xs-6\";\r\n $('#ButtonsDiv').append(SaveDiv);\r\n\r\n var CancelButton = document.createElement('button');\r\n CancelButton.textContent = 'Cancel'; CancelButton.className = 'MultiselectCancelButton'; CancelButton.value = \"Cancel\"; CancelButton.title = 'Cancel'; CancelButton.id = \"MultiUserCancel\"\r\n $('#cancelDiv').append(CancelButton);\r\n\r\n var SaveChanges = document.createElement('button');\r\n SaveChanges.textContent = 'Save'; SaveChanges.className = 'MultiselectSaveButton'; SaveChanges.value = \"Save\"; SaveChanges.title = 'Save'; SaveChanges.id = \"MultiUserSave\"\r\n $('#SaveDiv').append(SaveChanges);\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n\r\n var SuspendInactiveDiv = document.createElement('div');\r\n SuspendInactiveDiv.id = \"SuspendInactiveDiv\";\r\n SuspendInactiveDiv.className = \"col-xs-12 Banoos\";\r\n mydiv[1].parentNode.insertBefore(SuspendInactiveDiv, mydiv[1].previousSibling);\r\n\r\n\r\n var ActiveDiv = document.createElement('div');\r\n ActiveDiv.id = \"ActiveDiv\";\r\n ActiveDiv.className = \"col-xs-3\";\r\n $('#SuspendInactiveDiv').append(ActiveDiv);\r\n\r\n var inActiveDiv = document.createElement('div'); // creating checkbox element\r\n inActiveDiv.id = \"inActiveDiv\";\r\n inActiveDiv.className = \"col-xs-4\";\r\n $('#SuspendInactiveDiv').append(inActiveDiv);\r\n\r\n var suspendDiv = document.createElement('div'); // creating checkbox element\r\n suspendDiv.id = \"suspendDiv\";\r\n suspendDiv.className = \"col-xs-5\";\r\n $('#SuspendInactiveDiv').append(suspendDiv);\r\n\r\n\r\n var ActiveCheckBox = document.createElement('input'); // creating checkbox element \r\n ActiveCheckBox.type = \"checkbox\"; // Assigning the attributes \r\n ActiveCheckBox.name = \"Active\";\r\n ActiveCheckBox.value = \"Active\";\r\n ActiveCheckBox.checked = true;\r\n ActiveCheckBox.id = \"Active\";\r\n var ActiveLabel = document.createElement('label'); // creating label for checkbox \r\n ActiveLabel.htmlFor = \"Active\"; // assigning attributes for\r\n ActiveLabel.id = \"ActiveLabel\";\r\n ActiveLabel.appendChild(document.createTextNode(' Active ')); // appending the created text to \r\n\r\n $('#ActiveDiv').append(ActiveCheckBox);\r\n $('#ActiveDiv').append(ActiveLabel);\r\n\r\n\r\n var InactiveCheckbox = document.createElement('input'); // creating checkbox element \r\n InactiveCheckbox.type = \"checkbox\"; // Assigning the attributes \r\n InactiveCheckbox.name = \"Inactive\";\r\n InactiveCheckbox.value = \"Inactive\";\r\n InactiveCheckbox.id = \"Inactive\";\r\n var InactiveLabel = document.createElement('label'); // creating label for checkbox \r\n InactiveLabel.htmlFor = \"Inactive\"; // assigning attributes for\r\n InactiveLabel.id = \"InactiveLabel\";\r\n InactiveLabel.appendChild(document.createTextNode(' Inactive ')); // appending the created text to \r\n\r\n $('#inActiveDiv').append(InactiveCheckbox);\r\n $('#inActiveDiv').append(InactiveLabel);\r\n\r\n\r\n var SuspendedCheckbox = document.createElement('input'); // creating checkbox element \r\n SuspendedCheckbox.type = \"checkbox\"; // Assigning the attributes \r\n SuspendedCheckbox.name = \"suspended\";\r\n SuspendedCheckbox.value = \"suspended\";\r\n SuspendedCheckbox.id = \"suspended\";\r\n var SuspendedLabel = document.createElement('label'); // creating label for checkbox \r\n SuspendedLabel.htmlFor = \"suspended\"; // assigning attributes for\r\n SuspendedLabel.id = 'suspendedLabel';\r\n SuspendedLabel.appendChild(document.createTextNode(' Suspended')); // appending the created text to \r\n\r\n $('#suspendDiv').append(SuspendedCheckbox);\r\n $('#suspendDiv').append(SuspendedLabel);\r\n\r\n $('#cancelDiv').attr('style', 'display:none;');\r\n $('#SaveDiv').attr('style', 'display:none;');\r\n $('#ActiveDiv').attr('style', 'display:flex;width:30%');\r\n $('#inActiveDiv').attr('style', 'padding:0;display:flex;width:30%');\r\n $('#suspendDiv').attr('style', 'padding:0;;display:flex;width:40%');\r\n\r\n $('#ActiveLabel').attr('style', 'margin-left:4%');\r\n $('#InactiveLabel').attr('style', 'margin-left:4%');\r\n $('#suspendedLabel').attr('style', 'margin-left:4%');\r\n\r\n let self = this;\r\n document.getElementById('Active').onclick = function inactiveclick() {\r\n self.GetAllaccesusersListbyuser();\r\n }\r\n\r\n document.getElementById('Inactive').onclick = function inactiveclick() {\r\n self.GetAllaccesusersListbyuser();\r\n }\r\n\r\n document.getElementById('suspended').onclick = function inactiveclick() {\r\n self.GetAllaccesusersListbyuser();\r\n }\r\n\r\n document.getElementById('MultiUserSave').onclick = function MultiUserSaveclick() {\r\n self.MultiUserSaveclicked();\r\n\r\n }\r\n document.getElementById('MultiUserCancel').onclick = function MultiUserSaveclick() {\r\n self.MultiUserCancelClicked();\r\n\r\n }\r\n }\r\n MultiUserCancelClicked() {\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", true);\r\n\r\n this.MultiselectDropDownChanged = false;\r\n this.SaveUserListConfirmation = false;\r\n this.DropDownListBox = false;\r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.UserIdsCount = this.applicationComponent.selectedItems.length;\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n\r\n }\r\n this.SaveConfirm('No');\r\n }\r\n MultiUserSaveclicked() {\r\n\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n this.MultiselectDropDownChanged = false;\r\n this.SaveUserListConfirmation = false;\r\n this.DropDownListBox = false;\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", true);\r\n }\r\n\r\n GetAllaccesusersListbyuser() {\r\n this.dropdownList = [];\r\n var active = $('#Active').prop(\"checked\") ? 1 : 0;\r\n var inactive = $('#Inactive').prop(\"checked\") ? 1 : 0;\r\n var suspended = $('#suspended').prop(\"checked\") ? 1 : 0;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, active, inactive, suspended).then((Owner) => {\r\n this.applicationComponent.dropdownList = Owner;\r\n });\r\n }\r\n\r\n public chartHovered(e: any): void { }\r\n\r\n currentDate() {\r\n var now = new Date();\r\n var mm = now.getMonth() + 1;\r\n var mon = '';\r\n if (mm < 10) {\r\n mon = '0' + mm;\r\n this.CurrentDate = now.getFullYear() + '-' + mon;\r\n this.CallsCompletedLabel = this.NewTicketsLabel = this.ClosedTicketsLabel = this.MonthlySalesRRLabel = this.MonthlyAccountsLabel = this.MonthlyToDoLabel = this.MonthlyMeetingLabel = this.MeetingsCompletedLabel =\r\n this.ToDoCompletedLabel = this.SalesWonLabel = this.RRWonLabel = this.LeadsConvertedLabel = this.TotalOppWonPriceLabel = this.TotalOppWonRRLabel = this.TotalLostOppPriceLabel = this.TotalOpenOppPriceLabel = moment(this.CurrentDate).format('MMM, YYYY');\r\n\r\n }\r\n else {\r\n this.CurrentDate = now.getFullYear() + '-' + mm;\r\n this.CallsCompletedLabel = this.NewTicketsLabel = this.ClosedTicketsLabel = this.MonthlySalesRRLabel = this.MonthlyAccountsLabel = this.MonthlyToDoLabel = this.MonthlyMeetingLabel = this.MeetingsCompletedLabel = this.ToDoCompletedLabel = this.SalesWonLabel = this.RRWonLabel = this.LeadsConvertedLabel = this.TotalOppWonPriceLabel = this.TotalOpenOppPriceLabel = this.TotalOppWonRRLabel = this.TotalLostOppPriceLabel = moment(this.CurrentDate).format('MMM, YYYY');\r\n }\r\n\r\n }\r\n ViewMonthlyNewTickets(loggedinuserid, monthName, year) {\r\n this.opprtunityservice.GetMonthlyNewTicketsAdded(this.UserIds, monthName, year).then(newticketresult => {\r\n\r\n this.salesinfo.NewTicketsgoal = (newticketresult.Goal != null) ? newticketresult.Goal : 0;\r\n this.salesinfo.NewTicketCount = (newticketresult.Monthcount != null) ? newticketresult.Monthcount : 0;\r\n this.salesinfo.NewTicketPercentage = (newticketresult.Percentage != null) ? newticketresult.Percentage.replace('%', '') : \"0\";\r\n this.salesinfo.NewTicketPercentage = Math.round(parseFloat(this.salesinfo.NewTicketPercentage)).toString();\r\n if (parseInt(this.salesinfo.NewTicketPercentage) >= 0 && parseInt(this.salesinfo.NewTicketPercentage) <= 25) {\r\n\r\n this.NewTicketsPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.NewTicketPercentage) >= 26 && parseInt(this.salesinfo.NewTicketPercentage) <= 75) {\r\n\r\n\r\n this.NewTicketsPercentageColor = \"yellow\";\r\n }\r\n else {\r\n\r\n this.NewTicketsPercentageColor = \"#77C043\";\r\n }\r\n\r\n\r\n });\r\n }\r\n ViewMonthlyClosedTickets(loggedinuserid, monthName, year) {\r\n this.opprtunityservice.GetMonthlyClosedTickets(this.UserIds, monthName, year).then(newticketresult => {\r\n\r\n this.salesinfo.ClosedTicketsgoal = (newticketresult.Goal != null) ? newticketresult.Goal : 0;\r\n this.salesinfo.ClosedTicketCount = (newticketresult.Monthcount != null) ? newticketresult.Monthcount : 0;\r\n this.salesinfo.ClosedTicketPercentage = (newticketresult.Percentage != null) ? newticketresult.Percentage.replace('%', '') : \"0\";\r\n this.salesinfo.ClosedTicketPercentage = (this.salesinfo.ClosedTicketPercentage != '0') ? Math.round(parseFloat(this.salesinfo.ClosedTicketPercentage)).toString() : \"0\";\r\n if (parseInt(this.salesinfo.ClosedTicketPercentage) >= 0 && parseInt(this.salesinfo.ClosedTicketPercentage) <= 25) {\r\n\r\n this.ClosedTicketsPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.ClosedTicketPercentage) >= 26 && parseInt(this.salesinfo.ClosedTicketPercentage) <= 75) {\r\n\r\n\r\n this.ClosedTicketsPercentageColor = \"yellow\";\r\n }\r\n else {\r\n\r\n this.ClosedTicketsPercentageColor = \"#77C043\";\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n ViewMonthlyToDoCompleted(loggedinuserid, monthName, year) {\r\n this.opprtunityservice.GetMonthlyToDoCompleted(this.UserIds, monthName, year).then(result => {\r\n if (result) {\r\n this.salesinfo.MonthlyToDogoal = (result.Goal != null) ? result.Goal : 0;\r\n this.salesinfo.MonthlyToDoCount = (result.Monthcount != null) ? result.Monthcount : 0;\r\n this.salesinfo.MonthlyToDoPercentage = (result.Percentage != null) ? result.Percentage.replace('%', '') : \"0\";\r\n this.salesinfo.MonthlyToDoPercentage = (this.salesinfo.MonthlyToDoPercentage != null) ? this.salesinfo.MonthlyToDoPercentage.split(\".\", 2)[0].toString() : \"0\";\r\n if (parseInt(this.salesinfo.MonthlyToDoPercentage) >= 0 && parseInt(this.salesinfo.MonthlyToDoPercentage) <= 25) {\r\n\r\n this.MonthlyToDoPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.MonthlyToDoPercentage) >= 26 && parseInt(this.salesinfo.MonthlyToDoPercentage) <= 75) {\r\n\r\n this.MonthlyToDoPercentageColor = \"yellow\";\r\n }\r\n else {\r\n\r\n this.MonthlyToDoPercentageColor = \"#77C043\";\r\n }\r\n\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n ViewMonthlyMeetingCompleted(loggedinuserid, monthName, year) {\r\n this.opprtunityservice.GetMonthlyMeetingCOmpleted(this.UserIds, monthName, year).then(result => {\r\n if (result && result != null) {\r\n this.salesinfo.MonthlyMeetingCompletedgoal = (result.Goal != null) ? result.Goal : 0;\r\n this.salesinfo.MonthlyMeetingCompletedCount = (result.Monthcount != null) ? result.Monthcount : 0;\r\n this.salesinfo.MonthlyMeetingCompletedPercentage = (result.Percentage != null) ? result.Percentage.replace('%', '') : \"0\";\r\n this.salesinfo.MonthlyMeetingCompletedPercentage = (this.salesinfo.MonthlyMeetingCompletedPercentage != null) ? this.salesinfo.MonthlyMeetingCompletedPercentage.split(\".\", 2)[0].toString() : \"0\";\r\n if (parseInt(this.salesinfo.MonthlyMeetingCompletedPercentage) >= 0 && parseInt(this.salesinfo.MonthlyMeetingCompletedPercentage) <= 25) {\r\n\r\n this.MonthlyMeetingCompletedPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.MonthlyMeetingCompletedPercentage) >= 26 && parseInt(this.salesinfo.MonthlyMeetingCompletedPercentage) <= 75) {\r\n\r\n this.MonthlyMeetingCompletedPercentageColor = \"yellow\";\r\n }\r\n else {\r\n\r\n this.MonthlyMeetingCompletedPercentageColor = \"#77C043\";\r\n }\r\n\r\n }\r\n });\r\n }\r\n ViewSalesInformation(loggedinuserid, monthName, year) { \r\n this.opprtunityservice.GetAllViewSalesInfo(this.UserIds, monthName, year).then(result => {\r\n if (result) {\r\n this.salesinfo.Monthlycallscompleted = (result.Goal != null) ? result.Goal : 0;\r\n this.salesinfo.Monthlycallscount = (result.Monthcount != null) ? result.Monthcount : 0;\r\n this.salesinfo.MonthlycallsPercentage = (result.Percentage != null) ? result.Percentage.replace('%', '') : \"0\";\r\n this.salesinfo.MonthlycallsPercentage = (this.salesinfo.MonthlycallsPercentage != null) ? this.salesinfo.MonthlycallsPercentage.split(\".\", 2)[0].toString() : '0';\r\n\r\n if (parseInt(this.salesinfo.MonthlycallsPercentage) >= 0 && parseInt(this.salesinfo.MonthlycallsPercentage) <= 25) {\r\n\r\n this.MonthlycallsPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.MonthlycallsPercentage) >= 26 && parseInt(this.salesinfo.MonthlycallsPercentage) <= 75) {\r\n\r\n this.MonthlycallsPercentageColor = \"yellow\";\r\n }\r\n else {\r\n\r\n this.MonthlycallsPercentageColor = \"#77C043\";\r\n }\r\n }\r\n });\r\n\r\n }\r\n SalesWonopp(msg) {\r\n var salewon = msg.split(\":\")[0];\r\n var rrwon = msg.split(\":\")[1];\r\n var locale = \"en-us\";\r\n this.ViewSalesWOn(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.salesinfo.MonthlySalesWonCount = (salewon != null) ? '$' + salewon : '0';\r\n var obtained = parseInt(this.salesinfo.MonthlySalesWonCount.replace('$', ''));\r\n var total = parseInt(this.salesinfo.MonthlySaleswongoal.replace('$', ''), 10);\r\n \r\n this.salesinfo.MonthlySalesWonPercentage = obtained==0?'0':(obtained * 100 / total).toString();\r\n \r\n if (parseInt(this.salesinfo.MonthlySalesWonPercentage) >= 0 && parseInt(this.salesinfo.MonthlySalesWonPercentage) <= 25) {\r\n\r\n this.MonthlySalesWonPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.MonthlySalesWonPercentage) >= 26 && parseInt(this.salesinfo.MonthlySalesWonPercentage) <= 74) {\r\n\r\n this.MonthlySalesWonPercentageColor = \"yellow\";\r\n }\r\n else {\r\n this.MonthlySalesWonPercentageColor = \"#77C043\";\r\n }\r\n\r\n this.ViewSalesRR(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.salesinfo.MonthlySalesRRCount = (rrwon == null || rrwon != \"NAN\") ? \"0\" : '$' + rrwon.toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1\") + \"\";\r\n var obtainedRR = this.salesinfo.MonthlySalesRRCount == \"0\" ? 0 : parseInt(rrwon.replace('$', ''));\r\n var totalRR = parseInt(this.salesinfo.MonthlySalesRRgoal.replace('$', ''), 10);\r\n if (totalRR == 0) { this.salesinfo.MonthlySalesRRPercentage = '0'; } else {\r\n this.salesinfo.MonthlySalesRRPercentage = (obtainedRR * 100 / totalRR).toString();\r\n }\r\n \r\n if (parseInt(this.salesinfo.MonthlySalesRRPercentage.replace('$', '')) >= 0 && parseInt(this.salesinfo.MonthlySalesRRPercentage.replace('$', '')) <= 25) {\r\n \r\n this.MonthlySalesRRPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.MonthlySalesRRPercentage.replace('$', '')) >= 26 && parseInt(this.salesinfo.MonthlySalesRRPercentage.replace('$', '')) <= 74) {\r\n \r\n this.MonthlySalesRRPercentageColor = \"yellow\";\r\n }\r\n else { \r\n this.MonthlySalesRRPercentageColor = \"#77C043\";\r\n }\r\n \r\n }\r\n ViewSalesWOn(loggedinuserid, monthName, year) {\r\n this.opprtunityservice.GetSalesWOn(this.UserIds, monthName, year).then(result => {\r\n if (result) {\r\n this.salesinfo.MonthlySaleswongoal = (result.Goal != null) ? '$' + result.Goal.toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1\") + \"\" : '0';\r\n\r\n }\r\n\r\n });\r\n }\r\n ViewSalesRR(loggedinuserid, monthName, year) {\r\n if (this.UserIds != null) {\r\n this.opprtunityservice.GetSalesRR(this.UserIds, monthName, year).then(result => {\r\n if (result) {\r\n this.salesinfo.MonthlySalesRRgoal = (result.Goal != null) ? '$' + result.Goal.toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1\") + \"\" : '0';\r\n\r\n }\r\n\r\n });\r\n }\r\n }\r\n ViewLeadsConvertedInformation(loggedinuserid, monthName, year) {\r\n if (this.UserIds != null) {\r\n this.opprtunityservice.GetAllViewLeadsConvertedInfo(this.UserIds, monthName, year).then(result => {\r\n if (result) {\r\n this.salesinfo.monthlyleadconvertedcount = (result.Goal != null) ? result.Goal : 0;\r\n this.salesinfo.leadconvertedcount = (result.Monthcount != null) ? result.Monthcount : 0;\r\n this.salesinfo.leadconvertedPercentage = (result.Percentage != null) ? result.Percentage.replace('%', '') : \"0\";\r\n this.salesinfo.leadconvertedPercentage = (this.salesinfo.leadconvertedPercentage != '0') ? this.salesinfo.leadconvertedPercentage.split(\".\", 2)[0].toString() : '0';\r\n if (parseInt(this.salesinfo.leadconvertedPercentage) >= 0 && parseInt(this.salesinfo.leadconvertedPercentage) <= 25) {\r\n\r\n this.leadconvertedPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.leadconvertedPercentage) >= 26 && parseInt(this.salesinfo.leadconvertedPercentage) <= 74) {\r\n\r\n this.leadconvertedPercentageColor = \"yellow\";\r\n }\r\n else {\r\n\r\n this.leadconvertedPercentageColor = \"#77C043\";\r\n }\r\n\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n viewmonthlysalesRanking(loggedinuserid, month, year) {\r\n if (this.UserIds != null) {\r\n this.opprtunityservice.GetviewmonthlysalesRanking(this.currentuser.id, month, year).then((salesranking) => {\r\n this.Allsalesranking = salesranking;\r\n });\r\n } else {\r\n this.Allsalesranking = [];\r\n }\r\n }\r\n ViewMonthlyCallScheduledByMonth(loggedinuserid, month, year) {\r\n\r\n this.opprtunityservice.GetViewMonthlyCallScheduledByMonth(loggedinuserid, month, year).then((result) => {\r\n if (result) {\r\n this.salesinfo.MonthlycallsScheduled = (result.Goal != null) ? result.Goal : 0;\r\n this.salesinfo.MonthlycallsScheduledcount = (result.Monthcount != null) ? result.Monthcount : 0;\r\n this.salesinfo.MonthlycallsScheduledPercentage = (result.Percentage != null) ? result.Percentage.replace('%', '') : \"0\";\r\n this.salesinfo.MonthlycallsScheduledPercentage = (this.salesinfo.MonthlycallsScheduledPercentage != \"0\") ? this.salesinfo.MonthlycallsScheduledPercentage.split(\".\", 2)[0].toString() : \"0\";\r\n if (parseInt(this.salesinfo.MonthlycallsScheduledPercentage) >= 0 && parseInt(this.salesinfo.MonthlycallsScheduledPercentage) <= 25) {\r\n this.MonthlycallsScheduledPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.MonthlycallsScheduledPercentage) >= 26 && parseInt(this.salesinfo.MonthlycallsScheduledPercentage) <= 74) {\r\n this.MonthlycallsScheduledPercentageColor = \"yellow\";\r\n }\r\n else {\r\n this.MonthlycallsScheduledPercentageColor = \"#77C043\";\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n ViewMonthlyPatDueActivityByMonth(loggedinuserid, month, year) {\r\n\r\n this.opprtunityservice.GetViewPastDueActivityByMonth(this.UserIds, month, year).then((result) => {\r\n\r\n if (result) {\r\n this.salesinfo.MonthlylastDueActivitygoal = (result.Goal != null) ? result.Goal : 0;\r\n this.salesinfo.MonthlylastDueActivityCount = (result.Monthcount != null) ? result.Monthcount : 0;\r\n this.salesinfo.MonthlylastDueActivityPercentage = (result.Percentage != null) ? result.Percentage.replace('%', '') : \"0\";\r\n this.salesinfo.MonthlylastDueActivityPercentage = (this.salesinfo.MonthlylastDueActivityPercentage != \"0\") ? this.salesinfo.MonthlylastDueActivityPercentage.split(\".\", 2)[0].toString() : '0';\r\n if (parseInt(this.salesinfo.MonthlylastDueActivityPercentage) >= 0 && parseInt(this.salesinfo.MonthlylastDueActivityPercentage) <= 25) {\r\n\r\n this.MonthlylastDueActivityPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.MonthlylastDueActivityPercentage) >= 26 && parseInt(this.salesinfo.MonthlylastDueActivityPercentage) <= 74) {\r\n\r\n this.MonthlylastDueActivityPercentageColor = \"yellow\";\r\n }\r\n else {\r\n\r\n this.MonthlylastDueActivityPercentageColor = \"#77C043\";\r\n }\r\n }\r\n\r\n });\r\n this.month = month;\r\n\r\n }\r\n\r\n ViewMonthlyAccountAddedByMonth(loggedinuserid, month, year) {\r\n this.opprtunityservice.GetViewMonthlyAccountAddedByMonth(this.UserIds, month, year).then((result) => {\r\n if (result) {\r\n this.salesinfo.MonthlyAccountAdded = (result.Goal != null) ? result.Goal : 0;\r\n this.salesinfo.MonthlyAccountsaddedcount = (result.Monthcount != null) ? result.Monthcount : 0;\r\n this.salesinfo.MonthlyAccountsaddedPercentage = (result.Percentage != null) ? result.Percentage.replace('%', '') : \"0\";\r\n this.salesinfo.MonthlyAccountsaddedPercentage = (this.salesinfo.MonthlyAccountsaddedPercentage != \"0\") ? this.salesinfo.MonthlyAccountsaddedPercentage.split(\".\", 2)[0].toString() : '0';\r\n if (parseInt(this.salesinfo.MonthlyAccountsaddedPercentage) >= 0 && parseInt(this.salesinfo.MonthlyAccountsaddedPercentage) <= 25) {\r\n\r\n this.MonthlyAccountsaddedPercentageColor = \"#FF0000\";\r\n }\r\n else if (parseInt(this.salesinfo.MonthlyAccountsaddedPercentage) >= 25 && parseInt(this.salesinfo.MonthlyAccountsaddedPercentage) <= 74) {\r\n\r\n this.MonthlyAccountsaddedPercentageColor = \"yellow\";\r\n }\r\n else {\r\n\r\n this.MonthlyAccountsaddedPercentageColor = \"#77C043\";\r\n }\r\n }\r\n\r\n });\r\n }\r\n LoadActivityData(startdate, enddate) {\r\n this.opprtunityservice.GetActivitysummaryData(this.UserIds, startdate, enddate).then((salesranking) => {\r\n this.AllActivityData = salesranking;\r\n });\r\n }\r\n LoadClosedTicketsRanking(startdate, enddate) {\r\n this.opprtunityservice.GetClosedTicketsRanking(this.UserIds, this.selectedTab == 'tab4' ? 2 : 8, startdate, enddate).then((rankingdata) => {\r\n this.closedRankingData = rankingdata;\r\n });\r\n }\r\n loadallcustomers(loggedinuserid) {\r\n var labelArr = [];\r\n var labelArr1 = [];\r\n var data = [];\r\n this.opprtunityservice.GetAllCustomersSales(this.UserIds, this.startDateVal, this.endDateVal).then((account) => {\r\n account.forEach(account => {\r\n //var newArrayIs = { name: account.accountname, percentage: '$ ' + account.percentage.toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1,\") + \".00\" }\r\n var newArrayIs = { name: account.accountname, percentage: '$' + parseInt(account.percentage).toFixed(2) }\r\n labelArr1.push(newArrayIs);\r\n labelArr.push(account.accountname);\r\n //data.push(55);\r\n data.push(parseInt(account.percentage));\r\n });\r\n this.customerpieChartLabels = labelArr; \r\n this.customerpieChartLabels1 = labelArr1;\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.customerpieChartData = data;\r\n }, 200));\r\n\r\n });\r\n\r\n this.opprtunityservice.GetOpenOpportunitiestotal(loggedinuserid, 0).then((account) => {\r\n account.forEach(account => {\r\n //this.OpenOppTotal = '$' + account.OpenOppTotal.toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1,\");\r\n this.OpenOppTotal = \"$\" + parseInt(account.OpenOppTotal).toFixed(2);\r\n });\r\n });\r\n }\r\n\r\n\r\n LoadyeartodateSalesBymonth(loggedinuserid, selectedyear) {\r\n var bardata = [];\r\n this.opprtunityservice.GetYearToSalesDataByMonth(this.UserIds, selectedyear).then((salesranking) => {\r\n this.AllyeartoSalesData = salesranking;\r\n bardata.push(this.AllyeartoSalesData[0].JanPercenatge, this.AllyeartoSalesData[0].FebPercenatge, this.AllyeartoSalesData[0].MarPercenatge, this.AllyeartoSalesData[0].AprilPercenatge, this.AllyeartoSalesData[0].MayPercenatge, this.AllyeartoSalesData[0].JunPercenatge, this.AllyeartoSalesData[0].JulPercenatge, this.AllyeartoSalesData[0].AugPercenatge, this.AllyeartoSalesData[0].SepPercenatge, this.AllyeartoSalesData[0].OctPercenatge, this.AllyeartoSalesData[0].NovPercenatge, this.AllyeartoSalesData[0].DecPercenatge)\r\n this.barChartData = [{ data: bardata, label: 'Sales BY Month', backgroundColor: \"#ccc\", fontSize: '2px' }];\r\n this.AllyeartoSalesDataTotal = salesranking;\r\n //this.YearToDateTotal = '$' + this.AllyeartoSalesDataTotal[0].YeearToDateTotal.toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1,\")\r\n this.YearToDateTotal = '$' + parseInt(this.AllyeartoSalesDataTotal[0].YeearToDateTotal).toFixed(2)\r\n });\r\n\r\n //this.opprtunityservice.GetYearToSalesDataByMonth(loggedinuserid, this.startDateVal.split('-')[0]).then((Salesranking) => {\r\n // this.AllyeartoSalesDataTotal = Salesranking;\r\n // this.YearToDateTotal = '$' + this.AllyeartoSalesDataTotal[0].YeearToDateTotal.toString().replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1,\")\r\n //});\r\n\r\n\r\n\r\n }\r\n\r\n NBDSpecilaistSalesBymonth(loggedinuserid, selectedyear) {\r\n var NBDdata = [], NBDdata1 = [];\r\n this.opprtunityservice.GetYearToDateActivity(this.UserIds, selectedyear).then((AllyeartodataActivity) => {\r\n AllyeartodataActivity.forEach(salesranking => {\r\n });\r\n this.AllyeartodataActivity = AllyeartodataActivity;\r\n for (var i = 0; i < AllyeartodataActivity.length; i++) {\r\n if (i == 0) {\r\n NBDdata.push(AllyeartodataActivity[i].JanPercenatge, AllyeartodataActivity[i].FebPercenatge, AllyeartodataActivity[i].MarPercenatge, AllyeartodataActivity[i].AprilPercenatge, AllyeartodataActivity[i].MayPercenatge, AllyeartodataActivity[i].JunPercenatge, AllyeartodataActivity[i].JulPercenatge, AllyeartodataActivity[i].AugPercenatge, AllyeartodataActivity[i].SepPercenatge, AllyeartodataActivity[i].OctPercenatge, AllyeartodataActivity[i].NovPercenatge, AllyeartodataActivity[i].DecPercenatge)\r\n } else {\r\n NBDdata1.push(AllyeartodataActivity[i].JanPercenatge, AllyeartodataActivity[i].FebPercenatge, AllyeartodataActivity[i].MarPercenatge, AllyeartodataActivity[i].AprilPercenatge, AllyeartodataActivity[i].MayPercenatge, AllyeartodataActivity[i].JunPercenatge, AllyeartodataActivity[i].JulPercenatge, AllyeartodataActivity[i].AugPercenatge, AllyeartodataActivity[i].SepPercenatge, AllyeartodataActivity[i].OctPercenatge, AllyeartodataActivity[i].NovPercenatge, AllyeartodataActivity[i].DecPercenatge)\r\n }\r\n }\r\n this.NBDSpecialistbarChartData = [\r\n { data: NBDdata, label: 'Leads Converted', backgroundColor: \"#ccc\" },\r\n { data: NBDdata1, label: 'Phone Calls Completed\t', backgroundColor: \"rgb(202, 90, 78)\" }\r\n ];\r\n });\r\n }\r\n\r\n initializeAgGrid() {\r\n $('.ag-tool-panel').attr('style', 'display:none');\r\n this.SalesRankinggridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.useractivitygridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000,enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 50).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n\r\n });\r\n\r\n let useractivitycolumnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 51).then((config) => {\r\n\r\n useractivitycolumnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.useractivitycreateColumndef(useractivitycolumnSelections);\r\n\r\n });\r\n this.CreateclosedRankingColumndef();\r\n }\r\n CreateclosedRankingColumndef() {\r\n this.closedRankingcolumnDefs = [\r\n { field: 'username', headerName: 'User Name', hide: false },\r\n { field: 'TicketClosed', headerName: 'TicketsClosed', hide: false }\r\n ];\r\n }\r\n useractivitycreateColumndef(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.useractivitycolumnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n this.useractivitycolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n\r\n }\r\n } else {\r\n this.useractivitycolumnDefs = [\r\n { field: 'username', headerName: 'User Name', hide: false },\r\n { field: 'CallCompleted', headerName: 'CallCompleted', hide: false },\r\n { field: 'LeadConverted', headerName: 'LeadConverted', hide: false },\r\n ];\r\n }\r\n }\r\n\r\n\r\n createColumnDefs(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.columnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n\r\n }\r\n } else {\r\n\r\n this.columnDefs = [\r\n { field: 'SalesRep', headerName: 'Sales Rep', hide: false, width: 120 },\r\n { field: 'Software', headerName: 'Price', hide: false, width: 120 },\r\n { field: 'RR', headerName: 'Monthly', hide: false },\r\n ];\r\n }\r\n }\r\n\r\n onAgGridReady(event) {\r\n //// $('.ag-tool-panel').attr('style', 'display:none');\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // }, 100));\r\n // }, 100));\r\n }\r\n onTaskAgGridReady(event) {\r\n $('.ag-tool-panel').attr('style', 'display:none');\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizetaskhistoryAll();\r\n }, 100));\r\n }\r\n autoSizetaskhistoryAll() {\r\n if (this.TomorrowActivitygridOptions && this.TomorrowActivitygridOptions.columnApi && this.TomorrowActivitygridOptions.columnApi.getAllColumns() != undefined) {\r\n var allColumnIds = [];\r\n this.TomorrowActivitygridOptions.columnApi.getAllColumns().forEach((column) => {\r\n allColumnIds.push(column.getColId());\r\n });\r\n this.TomorrowActivitygridOptions.columnApi.autoSizeColumns(allColumnIds);\r\n }\r\n }\r\n //autoSizeAll() {\r\n // if (this.gridOptions && this.gridOptions.columnApi && this.gridOptions.columnApi.getAllColumns() != undefined) {\r\n // var allColumnIds = [];\r\n // this.gridOptions.columnApi.getAllColumns().forEach((column) => {\r\n // allColumnIds.push(column.getColId());\r\n // });\r\n // this.gridOptions.columnApi.autoSizeColumns(allColumnIds);\r\n // }\r\n //}\r\n ChangeDashboard(val) {\r\n }\r\n currenttab(tab) {\r\n if (tab == 'tab2' || tab == 'tab3') {\r\n this.displayDiv = true\r\n } else {\r\n this.displayDiv = false;\r\n }\r\n return $('input[id=' + tab + ']').is(':checked');\r\n\r\n }\r\n onItemSelect(item: any) {\r\n this.MultiselectDropDownChanged = true;\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n var s = $(\"#userids\").val();\r\n while (s.charAt(0) === ',') {\r\n s = s.substr(1);\r\n }\r\n $(\"#userids\").val(s);\r\n var SelectedUsers = [];\r\n SelectedUsers = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (SelectedUsers && SelectedUsers.length > 0) {\r\n SelectedUsers.push(item)\r\n } else {\r\n SelectedUsers.push(item);\r\n }\r\n //localStorage.setItem('SelectedUserIds', JSON.stringify(SelectedUsers));\r\n this.UserIds = $(\"#userids\").val();\r\n this.GenerateUserAccess(this.UserIds);\r\n\r\n //this.applicationComponent.selectedItems = this.selectedItems;\r\n\r\n if (this.selectedMenuRadio == \"tab4\" || this.selectedMenuRadio == \"tab5\") {\r\n this.DashboardChanged(this.selectedMenuRadio)\r\n this.ZendeskComp.LoadTickets(\"\", \"\", \"\");\r\n } else if (this.selectedMenuRadio == \"tab7\") {\r\n this.DashboardChanged(this.selectedMenuRadio)\r\n this.loadRevenue();\r\n this.SalesOpportunities('2021-11', 'Won Opportunities')\r\n }\r\n else if (this.selectedMenuRadio == \"tab8\") {\r\n this.DashboardChanged(this.selectedMenuRadio)\r\n this.LoadCampaigns(this.UserIds, this.monthNumToName(this.currentMonth), this.currentYear);\r\n this.campDashComp.initializeAgGrid(this.UserIds);\r\n }\r\n else {\r\n this.DashboardChanged(this.selectedMenuRadio);\r\n if (this.Proposalcomp) {\r\n this.Proposalcomp.GetAllProposal(this.UserIds);\r\n }\r\n if (this.LeadsDashBoardComp) {\r\n this.LeadsDashBoardComp.ClosedLeads('Open', $(\"#userids\").val(), null, 1, 10);\r\n }\r\n }\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n this.Generate(this.UserIds);\r\n\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.MultiselectDropDownChanged = true;\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.GenerateUserAccess($(\"#userids\").val());\r\n\r\n var SelectedUsers = [];\r\n SelectedUsers = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (SelectedUsers && SelectedUsers.length > 0) {\r\n SelectedUsers = SelectedUsers.filter(x => x.id != item.id)\r\n } else {\r\n SelectedUsers.push(item);\r\n }\r\n this.UserIds = $(\"#userids\").val();\r\n if (this.selectedMenuRadio == \"tab4\" || this.selectedMenuRadio == \"tab5\") {\r\n this.ZendeskComp.LoadTickets(\"\", \"\", \"\");\r\n this.DashboardChanged(this.selectedMenuRadio)\r\n }\r\n else if (this.selectedMenuRadio == \"tab8\") {\r\n this.DashboardChanged(this.selectedMenuRadio)\r\n this.LoadCampaigns(this.UserIds, this.monthNumToName(this.currentMonth), this.currentYear);\r\n this.campDashComp.initializeAgGrid(this.UserIds);\r\n }\r\n else {\r\n this.DashboardChanged(this.selectedMenuRadio);\r\n if (this.Proposalcomp) {\r\n this.Proposalcomp.GetAllProposal($(\"#userids\").val());\r\n }\r\n if (this.LeadsDashBoardComp) {\r\n this.LeadsDashBoardComp.ClosedLeads('Open', $(\"#userids\").val(), null, 1, 10);\r\n }\r\n }\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n\r\n var res = $(\"#UserList .dropdown-list\").prop(\"hidden\");\r\n if (res == true) {\r\n\r\n this.SaveUserListConfirmation = true;\r\n this.SaveUserListConfirmationCss();\r\n //$(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n\r\n }\r\n this.Generate($(\"#userids\").val());\r\n\r\n }\r\n else {\r\n $(\"#userids\").val('');\r\n //localStorage.setItem('SelectedUserIds', null); \r\n this.finalitems = \"\";\r\n this.UserIds = null;\r\n this.UserIdsCount = 0;\r\n this.applicationComponent.selectedItems = null;\r\n if (this.selectedMenuRadio == \"tab4\" || this.selectedMenuRadio == \"tab5\") {\r\n this.ZendeskComp.onTicketTypeChange('Closed Tickets');\r\n this.ZendeskComp.LoadTickets(\"\", \"\", \"\");\r\n this.ZendeskComp.Userlist = [];\r\n this.ZendeskComp.assignedTo = null;\r\n this.ZendeskComp.dashticketType = null;\r\n } else {\r\n if (this.Proposalcomp) {\r\n this.Proposalcomp.GetAllProposal(0);\r\n }\r\n if (this.LeadsDashBoardComp) {\r\n this.LeadsDashBoardComp.ClosedLeads('Open', 0, null, 1, 10);\r\n }\r\n\r\n\r\n }\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n var res = $(\"#UserList .dropdown-list\").prop(\"hidden\");\r\n if (res == true) {\r\n this.SaveUserListConfirmation = true;\r\n this.SaveUserListConfirmationCss();\r\n //$(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n\r\n }\r\n this.Generate(null);\r\n this.unReadMsgcomponent.getallmessages(this.UserIds);\r\n\r\n }\r\n this.DashboardChanged(this.selectedMenuRadio);\r\n }\r\n onSelectAll(items) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.MultiselectDropDownChanged = true;\r\n\r\n //localStorage.setItem('SelectedUserIds', JSON.stringify(items));\r\n this.UserIds = $(\"#userids\").val();\r\n this.GenerateUserAccess($(\"#userids\").val());\r\n\r\n\r\n if (this.selectedMenuRadio == \"tab8\") {\r\n this.DashboardChanged(this.selectedMenuRadio)\r\n this.LoadCampaigns(this.UserIds, this.monthNumToName(this.currentMonth), this.currentYear);\r\n this.campDashComp.initializeAgGrid(this.UserIds);\r\n }\r\n\r\n //this.applicationComponent.selectedItems = this.selectedItems;\r\n\r\n //if (this.selectedMenuRadio == \"tab4\" || this.selectedMenuRadio == \"tab5\") {\r\n // this.ZendeskComp.LoadTickets();\r\n //} else {\r\n // this.Proposalcomp.GetAllProposal($(\"#userids\").val());\r\n // this.LeadsDashBoardComp.ClosedLeads('Open', $(\"#userids\").val(), null, 1, 10);\r\n //}\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n this.Generate($(\"#userids\").val());\r\n this.DashboardChanged(this.selectedMenuRadio);\r\n }\r\n onDeSelectAll(items: any) {\r\n\r\n $(\"#userids\").val(\"\");\r\n localStorage.setItem('SelectedUserIds', null);\r\n this.applicationComponent.selectedusers = null;\r\n this.finalitems = \"\";\r\n this.UserIds = null;\r\n this.UserIdsCount = 0;\r\n this.MultiselectDropDownChanged = true;\r\n this.applicationComponent.selectedItems = null;\r\n //if (this.selectedMenuRadio == \"tab4\" || this.selectedMenuRadio == \"tab5\") {\r\n // this.ZendeskComp.LoadTickets();\r\n // this.ZendeskComp.Userlist = [];\r\n\r\n //} else {\r\n // this.Proposalcomp.GetAllProposal(0);\r\n // this.LeadsDashBoardComp.ClosedLeads('Open', 0, null, 1, 10);\r\n //}\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n var res = $(\"#UserList .dropdown-list\").prop(\"hidden\");\r\n if (res == true) {\r\n\r\n this.SaveUserListConfirmation = true;\r\n this.SaveUserListConfirmationCss();\r\n //$(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n\r\n }\r\n this.UserIds = $(\"#userids\").val();\r\n if (this.selectedMenuRadio == \"tab8\") {\r\n this.DashboardChanged(this.selectedMenuRadio)\r\n this.LoadCampaigns(this.UserIds, this.monthNumToName(this.currentMonth), this.currentYear);\r\n this.campDashComp.initializeAgGrid(this.UserIds);\r\n }\r\n\r\n\r\n this.DashboardChanged(this.selectedMenuRadio);\r\n this.Generate(null);\r\n this.unReadMsgcomponent.getallmessages(this.UserIds);\r\n\r\n }\r\n Generate(userids) {\r\n if (userids != null) {\r\n var format = /,/;\r\n if (format.test(userids)) {\r\n\r\n this.UserIdsCount = userids.split(',').length;\r\n } else { this.UserIdsCount = 1; }\r\n this.UserIds = userids;\r\n\r\n this.UserIds = userids;\r\n var locale = \"en-us\";\r\n }\r\n this.applicationComponent.selectedusers = userids;\r\n var doc = document.getElementById(\"Inactive\");\r\n this.checkvalues('Open Tasks', userids);\r\n this.refresh();\r\n var doc1 = document.getElementById(\"Inactive\");\r\n this.YeartoDateActivity(userids);\r\n this.ViewMonthlyNewTickets(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewMonthlyClosedTickets(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewMonthlyPatDueActivityByMonth(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewMonthlyMeetingCompleted(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewMonthlyToDoCompleted(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewSalesInformation(userids, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.viewmonthlysalesRanking(this.UserIds, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewLeadsConvertedInformation(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.loadallcustomers(userids);\r\n\r\n this.loadpastdueActivitiesdata(this.UserIds, 'PastDue', this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewMonthlyAccountAddedByMonth(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewMonthlyCallScheduledByMonth(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n var moment = require('moment-timezone');\r\n this.SalesbarChartLabels = moment.localeData().monthsShort();\r\n this.NBDSpecialistSalesbarChartLabels = moment.localeData().monthsShort();\r\n this.ViewSalesWOn(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewSalesRR(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n\r\n this.LoadyeartodateSalesBymonth(this.UserIds, (new Date()).getFullYear());\r\n this.NBDSpecilaistSalesBymonth(this.UserIds, (new Date()).getFullYear());\r\n var startOfWeek = moment().startOf('week').toDate();\r\n var endOfWeek = moment().endOf('week').toDate();\r\n\r\n var startDateVal = this.datePipe.transform(startOfWeek, 'yyyy-MM-dd');\r\n var endDateVal = this.datePipe.transform(endOfWeek, 'yyyy-MM-dd');\r\n this.LoadAccountAddedData(startDateVal, endDateVal);\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n //selfObj.tomoactcomponent.loadtomorrowActivitiesdata(selfObj.UserIds, \"Tomorrow\", selfObj.month, selfObj.currentYear);\r\n if (selfObj.unReadMsgcomponent != undefined) {\r\n selfObj.unReadMsgcomponent.getallmessages(selfObj.UserIds);\r\n }\r\n\r\n }, 100));\r\n $(setTimeout(function () {\r\n selfObj.loadpastdueActivitiesdata(selfObj.UserIds, \"PastDue\", selfObj.month, selfObj.currentYear);\r\n }, 100));\r\n //document.getElementById(\"bchart\").style.height = '105px !important';\r\n }\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n this.GenerateUserAccess($(\"#userids\").val());\r\n this.Generate($(\"#userids\").val());\r\n\r\n }\r\n messageClose() {\r\n //document.getElementById('selectedmessagediv').style.display = 'none';\r\n\r\n }\r\n onReceiveMessage(msg) {\r\n if (msg == '0') {\r\n this.messageOpen = false;\r\n\r\n } else if (msg.indexOf(\"Load\") >= 0) {\r\n this.UnreadMessageCount = msg.replace(\"Load\", \"\");\r\n }\r\n else if (msg == 'Expand') {\r\n this.CalendarTomorrowActDiv = false;\r\n this.calendarpastDiv = false\r\n this.fullcalendar = false;//for tab2 & 3\r\n this.intmsgdiv = true;//for tab2 & 3\r\n this.saleRankingDiv = false;//for tab2 & 3\r\n \r\n $('#intmsgdiv').removeClass(\"col-md-6 col-sm-12 col-xs-12\");//for tab2 & 3\r\n $('#intmsgdiv').addClass(\"col-md-12 col-sm-12 col-xs-12\");//for tab2 & 3\r\n $('#intmsgdiv').attr(\"style\", \"padding:0;height:100%;\");//for tab2 & 3\r\n\r\n } else if (msg == 'collapse') {\r\n this.CalendarTomorrowActDiv = true;\r\n this.calendarpastDiv = true;\r\n this.internalmessagediv = true;\r\n this.fullcalendar = true;//for tab2 & 3\r\n this.intmsgdiv = true;//for tab2 & 3\r\n this.saleRankingDiv = true;//for tab2 & 3\r\n //$('#MsgCalendarDiv').attr(\"style\", \"height:50%;padding: 0;margin-top: 1%\");\r\n $('#internalmessagediv').removeClass(\"col-md-12 col-sm-12 col-xs-12\");\r\n $('#internalmessagediv').addClass(\"col-md-6 col-sm-12 col-xs-12\");\r\n $('#intmsgdiv').removeClass(\"col-md-12 col-sm-12 col-xs-12\");//for tab2 & 3\r\n $('#intmsgdiv').addClass(\"col-md-6 col-sm-12 col-xs-12\");//for tab2 & 3\r\n // $('#msgSalesDiv').attr(\"style\", \"height:100%;padding: 0;\");//for tab2 & 3\r\n $('#intmsgdiv').attr(\"style\", \"padding:0;padding-right:1.8%;height:100%;\");//for tab2 & 3\r\n\r\n //this.OpenCompletedButtons();\r\n }\r\n else {\r\n this.messageOpen = true;\r\n this.messagingservice.GetMessageById(msg).then(result => {\r\n this.message = result;\r\n });\r\n }\r\n }\r\n\r\n expandcalendarpast(val) {\r\n if (val == 'Collapase') {\r\n this.showExpandGrid = false;\r\n } else {\r\n this.showExpandGrid = true;\r\n this.GridCss();\r\n }\r\n\r\n }\r\n GridCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 45%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px!important;margin-right: 1%;');\r\n }, 4));\r\n }\r\n AssignStartAndEndDate(event) {\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n previousYear(id) {\r\n var idArray = id.split('_');\r\n var year = Number($('#' + idArray[0]).html());\r\n year--;\r\n $('#' + idArray[0]).html(year.toString())\r\n }\r\n\r\n nextYear(id) {\r\n var idArray = id.split('_');\r\n var year = Number($('#' + idArray[0]).html());\r\n year++;\r\n $('#' + idArray[0]).html(year.toString())\r\n }\r\n selectedMonth(monthNo, monthName, yearId, claenderId, monthDisplay) {\r\n $('#' + monthDisplay).html(monthName);\r\n document.getElementById(claenderId).style.display = 'none';\r\n $('.' + claenderId).removeClass('monthSelectedView');\r\n $('.' + claenderId).addClass('monthView');\r\n $('#' + monthNo + '_' + claenderId).removeClass('monthView');\r\n $('#' + monthNo + '_' + claenderId).addClass('monthSelectedView');\r\n if (claenderId == 'calernderCall') {\r\n this.ViewSalesInformation(this.currentuser.id, monthName, (new Date()).getFullYear())\r\n } else {\r\n this.ViewLeadsConvertedInformation(this.currentuser.id, monthName, (new Date()).getFullYear())\r\n }\r\n }\r\n callCalenderOpen(claenderId) {\r\n document.getElementById(claenderId).style.display = 'block';\r\n }\r\n CallCompletedByMonth(val) {\r\n this.CallsCompletedLabel = moment(val).format('MMM, YYYY');\r\n this.ViewSalesInformation(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0])\r\n }\r\n NewTicketAddedByMonth(val) {\r\n this.NewTicketsLabel = moment(val).format('MMM, YYYY');\r\n this.ViewMonthlyNewTickets(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0])\r\n }\r\n ClosedTicketsByMonth(val) {\r\n this.ClosedTicketsLabel = moment(val).format('MMM, YYYY');\r\n this.ViewMonthlyClosedTickets(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0])\r\n }\r\n LeadsConvertedByMonth(val) {\r\n this.LeadsConvertedLabel = moment(val).format('MMM, YYYY');\r\n this.ViewLeadsConvertedInformation(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0])\r\n }\r\n moonthranking(val) {\r\n this.viewmonthlysalesRanking(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n }\r\n MonthlyCallsScheduledByMonth(val) {\r\n this.ViewMonthlyCallScheduledByMonth(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n }\r\n MonthlyMeetingCompletedByMonth(val) {\r\n this.MonthlyMeetingLabel = moment(val).format('MMM, YYYY');\r\n this.ViewMonthlyMeetingCompleted(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n }\r\n MonthlyToDoCompletedByMonth(val) {\r\n this.MonthlyToDoLabel = moment(val).format('MMM, YYYY');\r\n this.ViewMonthlyToDoCompleted(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n }\r\n MonthlyAccountAddedByMonth(val) {\r\n this.MonthlyAccountsLabel = moment(val).format('MMM, YYYY');\r\n this.ViewMonthlyAccountAddedByMonth(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n }\r\n PatDueActivityByMonth(val) {\r\n this.loadpastdueActivitiesdata(this.UserIds, 'PastDue', this.monthNumToName(val.split('-')[1]), val.split('-')[0])\r\n this.ViewMonthlyPatDueActivityByMonth(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n }\r\n MonthlySalesRR(val) {\r\n this.MonthlySalesRRLabel = moment(val).format('MMM, YYYY');\r\n this.ViewSalesRR(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n }\r\n MonthlySalesWon(val) {\r\n this.MonthlyMeetingLabel = moment(val).format('MMM, YYYY');\r\n this.SalesOpportunities(val, 'Won Opportunities');\r\n this.ViewSalesWOn(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n\r\n }\r\n YeartoDateActivity(val) {\r\n this.NBDSpecilaistSalesBymonth(this.UserIds, val);\r\n }\r\n loadpastdueActivitiesdata(userids, source, month, selectedyear) {\r\n if (userids != null) {\r\n this.leadservice.GetTomorrowActivityDetails(userids, source, month, selectedyear).then((result) => {\r\n result.forEach(pastDueactivitytaskhistory => {\r\n pastDueactivitytaskhistory.datecreated = this.datePipe.transform(pastDueactivitytaskhistory.datecreated, \"MM-dd-yyyy\");\r\n pastDueactivitytaskhistory.estcompleteddate = this.datePipe.transform(pastDueactivitytaskhistory.estcompleteddate, \"MM-dd-yyyy\");\r\n });\r\n this.pastDueactivitytaskhistory = result; \r\n var paskdueId = Number(localStorage.getItem('openPastDueId'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.PastDueActivitygridOptions.api.forEachNode((node) => {\r\n if (node.data.id == paskdueId) {\r\n selfObj.PastDueActivitygridOptions.api.selectNode(node, true);\r\n selfObj.PastDueActivitygridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 300));\r\n this.salesinfo.MonthlylastDueActivityCount = this.pastDueactivitytaskhistory.length;\r\n });\r\n }\r\n else {\r\n this.pastDueactivitytaskhistory = [];\r\n }\r\n }\r\n public monthNumToName(monthnum) {\r\n var months = [\r\n 'January', 'February', 'March', 'April', 'May',\r\n 'June', 'July', 'August', 'September',\r\n 'October', 'November', 'December'\r\n ];\r\n return months[monthnum - 1] || '';\r\n }\r\n\r\n OpenOpportunities() {\r\n this.applicationComponent.activateMainButtons('opportunities');\r\n }\r\n ClosedWonOpportunities() {\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/0/0/null/null`);\r\n this.applicationComponent.ClosedOpportunity(\"Closed\", this.currentuser.id);\r\n }\r\n\r\n SelectedYear(yearval) {\r\n this.LoadyeartodateSalesBymonth(this.currentuser.id, yearval);\r\n }\r\n\r\n DashboardChanged(selectedtab) {\r\n \r\n this.expand = false;\r\n localStorage.setItem('dashboardTab', selectedtab);\r\n var locale = \"en-us\";\r\n this.getYear();\r\n this.initializeAgGrid();\r\n this.selectedTab = selectedtab;\r\n var date = new Date();\r\n var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n if (selectedtab == 'tab2') {\r\n var salesDashboardval = localStorage.getItem('salesDashboardGrid');\r\n if (salesDashboardval != null) {\r\n this.expandgrid(salesDashboardval, 'Expand', true)\r\n }\r\n this.viewmonthlysalesRanking(this.UserIds, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.LoadyeartodateSalesBymonth(this.currentuser.id, (new Date()).getFullYear());\r\n this.loadRevenue();\r\n this.loadallcustomers(this.UserIds);\r\n }\r\n else if (selectedtab == 'tab3') {\r\n var nbdDashboardval = localStorage.getItem('nbdDashboardGrid');\r\n if (nbdDashboardval != null) {\r\n this.expandgrid(nbdDashboardval, 'Expand', true)\r\n }\r\n this.NBDSpecilaistSalesBymonth(this.UserIds, (new Date()).getFullYear());\r\n this.loadRevenue();\r\n this.LoadActivityData(moment(firstDay).format(\"YYYY-MM-DD\"), moment(lastDay).format(\"YYYY-MM-DD\"));\r\n this.IntializeaccountGrid();\r\n this.customerService.GetSpecialityList(\"AccountReport\", this.currentuser.id).then((accdropdown) => {\r\n this.ActivityDropdowns = accdropdown;\r\n });\r\n }\r\n else if (selectedtab == 'tab4' || selectedtab == 'tab5') {\r\n if (selectedtab == 'tab5') {\r\n var supportDashboardval = localStorage.getItem('supportDashboardGrid');\r\n if (supportDashboardval != null) {\r\n this.expandgrid(supportDashboardval, 'Expand', true)\r\n }\r\n } else {\r\n var trainerDashboardGridval = localStorage.getItem('trainerDashboardGrid');\r\n if (trainerDashboardGridval != null) {\r\n this.expandgrid(trainerDashboardGridval, 'Expand', true)\r\n }\r\n }\r\n this.TicketStartDate = moment(firstDay).format(\"MM-DD-YYYY\");\r\n this.TicketEndDate = moment(lastDay).format(\"MM-DD-YYYY\");\r\n this.applicationComponent.searchCriteriadata = null;\r\n this.LoadClosedTicketsRanking(moment(firstDay).format(\"YYYY-MM-DD\"), moment(lastDay).format(\"YYYY-MM-DD\"));\r\n this.ZendeskComp.GetAllZendeskUers('All Tasks Groups and Users', 'none'); \r\n }\r\n else if (selectedtab == 'tab6') {\r\n var projectDashboardval = localStorage.getItem('projectDashboardGrid');\r\n if (projectDashboardval != null) {\r\n this.expandgrid(projectDashboardval, 'Expand', true)\r\n }\r\n this.LoadProjectInfo(this.UserIds, this.monthNumToName(this.currentMonth), this.currentYear);\r\n\r\n } else if (selectedtab == 'tab7') {\r\n this.loadRevenue();\r\n this.initializeOpenLeadsAgGrid();\r\n\r\n } else if(selectedtab == 'tab8') {\r\n this.LoadCampaigns(this.UserIds, this.monthNumToName(this.currentMonth), this.currentYear);\r\n\r\n }\r\n else if (selectedtab == 'tab1') {\r\n var mydashboardval = localStorage.getItem('myDashExpandGrid');\r\n if (mydashboardval != null) {\r\n this.expandgrid(mydashboardval, 'Expand', true)\r\n }\r\n this.loadCustomerActivityDrp();\r\n setTimeout(function () {\r\n $(\".fc-list-event-title > a\").each(function (index) {\r\n if ($(this).text().indexOf(\"
      \") > -1) {\r\n $(this).html($(this).text());\r\n }\r\n });\r\n\r\n }, 500);\r\n \r\n }\r\n\r\n this.onReceiveMessage('collapse');\r\n if (this.applicationComponent.selectedItems.length == 0) {\r\n if (this.Proposalcomp) {\r\n this.Proposalcomp.GetAllProposal(0);\r\n }\r\n if (this.LeadsDashBoardComp) {\r\n this.LeadsDashBoardComp.ClosedLeads(null, 0, null, 1, 10);\r\n }\r\n\r\n\r\n }\r\n\r\n this.EXpandCalender = false;\r\n }\r\n LoadProjectInfo(userid, mon, year) {\r\n this.opprtunityservice.GetProjectDashboardInfo(userid, mon, year).then((result) => {\r\n this.projInfo = result;\r\n\r\n });\r\n }\r\n LoadCampaigns(userid, mon, year) {\r\n this.opprtunityservice.GetexpensetotalprofitInfo(userid, mon, year).then((result) => {\r\n this.campaigninfo = result;\r\n this.campaigninfo.OpenCampaignProfitLoss = (Number(this.campaigninfo.OpenCampaignProfitLoss) -\r\n Number(this.campaigninfo.OpenCampaignTotalExpenses)).toString();\r\n });\r\n }\r\n\r\n\r\n IntializeaccountGrid() {\r\n this.AccountgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 46).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.AccountgridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.createAccountsColumnDefs(columnSelections);\r\n });\r\n }\r\n createAccountsColumnDefs(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.AccontcolumnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n this.AccontcolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n\r\n }\r\n } else {\r\n let so = this;\r\n this.AccontcolumnDefs = [\r\n { field: 'id', headerName: 'id', hide: true, width: 120, },\r\n { field: 'accountname', headerName: 'Account Name', hide: false, width: 120, cellStyle: function (params) { if (params.data.isshared == 1) { return { color: '#77C043' }; } } },\r\n {\r\n field: 'dateadded', headerName: 'Date Added', hide: false, width: 120, cellStyle: function (params) {\r\n if (params.data.isshared == 1 && params.data.ownerid == selfObj.currentuser.id) { return { color: '#77C043' }; } else if (params.data.isshared == 1 && params.data.ownerid != selfObj.currentuser.id) { return { color: '#003366' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value, ['DD-MM-YYYY', 'MM-DD-YYYY']).format('MM-DD-YYYY');\r\n }\r\n },\r\n { field: 'time', headerName: 'Time Added', hide: false, cellStyle: function (params) { if (params.data.isshared == 1) { return { color: '#77C043' }; } } },\r\n \r\n { field: 'owner', headerName: 'User', hide: false, width: 120, cellStyle: function (params) { if (params.data.isshared == 1) { return { color: '#77C043' }; } } },\r\n ];\r\n }\r\n\r\n }\r\n\r\n LoadAccountAddedData(startDateVal, endDateVal) {\r\n this.opprtunityservice.GetAccountsData(this.UserIds, startDateVal, endDateVal).then((accountdata) => {\r\n this.AllAccountData = accountdata;\r\n if (localStorage.getItem('RhxAccountVal') != null && localStorage.getItem('RhxAccountVal') != undefined) {\r\n var accountid = Number(localStorage.getItem('RhxAccountVal'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.AccountgridOptions.api.forEachNode((node) => {\r\n if (node.data.id == accountid) {\r\n selfObj.AccountgridOptions.api.selectNode(node, true);\r\n selfObj.AccountgridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 200));\r\n }\r\n });\r\n\r\n }\r\n columnVisible(event) {\r\n this.saveNBDAccountConfiguration(46);\r\n }\r\n dragStopped(event) {\r\n this.saveNBDAccountConfiguration(46);\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveNBDAccountConfiguration(46);\r\n }\r\n\r\n pastDueActivitycolumnVisible(event) {\r\n this.savePastDueActivityConfiguration(52);\r\n }\r\n pastDueActivitydragStopped(event) {\r\n this.savePastDueActivityConfiguration(52);\r\n }\r\n pastDueActivitycolumnResized(event) {\r\n if (event.finished == true)\r\n this.savePastDueActivityConfiguration(52);\r\n }\r\n\r\n SalesRankingcolumnVisible(event) {\r\n this.saveNBDAccountConfiguration(50);\r\n }\r\n SalesRankingdragStopped(event) {\r\n this.saveNBDAccountConfiguration(50);\r\n }\r\n SalesRankingcolumnResized(event) {\r\n this.saveNBDAccountConfiguration(50);\r\n }\r\n AllActivitycolumnVisible(event) {\r\n this.saveNBDAccountConfiguration(51);\r\n }\r\n AllActivitydragStopped(event) {\r\n this.saveNBDAccountConfiguration(51);\r\n }\r\n AllActivitycolumnResized(event) {\r\n this.saveNBDAccountConfiguration(51);\r\n }\r\n savePastDueActivityConfiguration(resourceid) {\r\n\r\n let allCols: Column[] = this.PastDueActivitygridOptions.columnApi.getAllGridColumns();;\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = resourceid;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.applicationComponent.selectedItems.length; i++) {\r\n config.userid += this.applicationComponent.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n saveNBDAccountConfiguration(resourceid) {\r\n let allCols: Column[] = (resourceid == 46) ? this.accountGridColumnApi.getAllGridColumns() : (resourceid == 50) ? this.salesRankingGridColumnApi.getAllGridColumns() : this.userActivityGridColumnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = resourceid;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.applicationComponent.selectedItems.length; i++) {\r\n config.userid += this.applicationComponent.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n PastDueActivityrowDoubleClickAgGrid(rowEvent) {\r\n localStorage.setItem('openPastDueId', rowEvent.data.id);\r\n var message = rowEvent.data.contactid + '|' + rowEvent.data.id + '|' + rowEvent.data.type;\r\n this.onTaskOpen(message);\r\n }\r\n onAccountAgGridReady(event) {\r\n this.accountGridColumnApi = event.columnApi;\r\n }\r\n onSalesRankingAgGridReady(event) {\r\n this.salesRankingGridColumnApi = event.columnApi;\r\n }\r\n onUserActivityAgGridReady(event) {\r\n this.userActivityGridColumnApi = event.columnApi;\r\n }\r\n onTaskOpen(msg) {\r\n var data = msg.split(\"|\");\r\n this.contactId = data[0];\r\n this.taskid = data[1];\r\n this.type = data[2];\r\n this.leadservice.GetByTaskHistoryId(this.taskid, \"View\", this.currentuser.timezone).then(result => {\r\n this.taskhistory = result;\r\n\r\n this.contactId = this.taskhistory.contactid;\r\n this.taskid = this.taskhistory.id;\r\n this.type = this.taskhistory.type;\r\n $(\"#dashboardsMainMenu\").removeClass(\"activeButton\");\r\n $('#tasklistsMainMenu').addClass(\"activeButton\");\r\n this.router.navigateByUrl('/application/tasklistdashboard/' + this.type + '/' + this.contactId + '/' + this.taskid + '/null');\r\n //this.taskDialog = !this.taskDialog;\r\n //this.taskDialogCss();\r\n //this.applicationComponent.showDashboardSubTabs = true;\r\n\r\n });\r\n var that = this;\r\n $(setTimeout(function () {\r\n that.scheduleComp.loadcoantactname(that.contactId, that.type);\r\n that.scheduleComp.LoadSelectedTaskdata(that.taskid, true, \"View\");\r\n that.scheduleComp.loadtaskHistoryByselecteddate(that.taskhistory.estcompleteddate);\r\n }, 300));\r\n\r\n\r\n\r\n }\r\n Taskdialoghideshow(tdialog: boolean) {\r\n this.taskDialog = tdialog;\r\n this.taskDialogCss();\r\n }\r\n taskDialogCss() {\r\n $(setTimeout(function () {\r\n $('#dashtaskDialog .dialog').attr('style', 'width: 45%;padding: 0;min-height: 63%;height:99%;top: 0;left: 3%;max-width: 1393px!important;margin-right: 1%');\r\n }, 4));\r\n }\r\n\r\n onTaskSaved(msg) {\r\n \r\n this.taskDialog = false;\r\n this.SelectedDate = null;\r\n \r\n this.checkvalues('Open Tasks', this.UserIds);\r\n this.refresh();\r\n\r\n var locale = \"en-us\";\r\n\r\n this.ViewMonthlyMeetingCompleted(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewMonthlyToDoCompleted(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewMonthlyCallScheduledByMonth(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n this.ViewSalesInformation(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.loadpastdueActivitiesdata(selfObj.UserIds, \"PastDue\", selfObj.month, selfObj.currentYear);\r\n }, 100));\r\n this.ViewMonthlyPatDueActivityByMonth(this.currentuser.id, this.selectedmonth.toLocaleString(locale, { month: \"long\" }), (new Date()).getFullYear());\r\n }\r\n initializePastDueActivityAgGrid() {\r\n\r\n this.PastDueActivitygridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.PastDueActivitygridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 52).then((config) => {\r\n\r\n //if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n // this.PastDueActivitygridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = '1000';\r\n //}\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.createpastDueActivitycolumnDefs(columnSelections);\r\n });\r\n\r\n }\r\n createpastDueActivitycolumnDefs(columnSelections: string) {\r\n\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n selfObj.pastDueActivitycolumnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n selfObj.pastDueActivitycolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: { color: '#FF0000' },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n\r\n }\r\n } else {\r\n this.pastDueActivitycolumnDefs = [\r\n { field: 'contactName', headerName: 'Contact Name', hide: false, cellStyle: { color: '#FF0000' } },\r\n { field: 'estcompleteddate', headerName: 'Date Scheduled', hide: false, cellStyle: { color: '#FF0000' } },\r\n { field: 'accountname', headerName: 'Account Name', hide: false, cellStyle: { color: '#FF0000' } },\r\n { field: 'taskcategory', headerName: 'Task', hide: false, cellStyle: { color: '#FF0000' } },\r\n { field: 'tasktype', headerName: 'Type', hide: false, cellStyle: { color: '#FF0000' } },\r\n { field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) { if (params.value == 'Open') { return { color: '#FF0000' }; } } },\r\n { field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: { color: '#FF0000' } }, \r\n { field: 'type', headerName: 'Account Or Contact', hide: false, cellStyle: { color: '#FF0000' } },\r\n { field: 'starttime', headerName: 'From', hide: false, cellStyle: { color: '#FF0000' } },\r\n { field: 'endtime', headerName: 'To', hide: false, cellStyle: { color: '#FF0000' } }, //true starts here\r\n { field: 'owner', headerName: 'User Name', hide: true, cellStyle: { color: '#FF0000' } }\r\n\r\n ];\r\n }\r\n }\r\n\r\n AccountrowDoubleClickAgGrid(rowEvent) {\r\n \r\n localStorage.setItem('RhxAccountVal', rowEvent.data.id);\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/account/Accounts`);\r\n SO.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n SO.applicationComponent.selectedtabid = 'Customer';\r\n }, 100));\r\n }, 50));\r\n\r\n\r\n }\r\n ActivityReportChange(selectedValue) {\r\n if (selectedValue == '508') {\r\n this.startDateVal = this.datePipe.transform(this.today, 'yyyy-MM-dd');\r\n this.endDateVal = this.datePipe.transform(this.today, 'yyyy-MM-dd');\r\n }\r\n else if (selectedValue == '507') {\r\n var startOfWeek = moment().startOf('week').toDate();\r\n var endOfWeek = moment().endOf('week').toDate();\r\n\r\n this.startDateVal = this.datePipe.transform(startOfWeek, 'yyyy-MM-dd');\r\n this.endDateVal = this.datePipe.transform(endOfWeek, 'yyyy-MM-dd');\r\n\r\n }\r\n else if (selectedValue == '509') {\r\n var date = new Date();\r\n this.startDateVal = this.datePipe.transform(new Date(date.getFullYear(), date.getMonth(), 1), 'yyyy-MM-dd');\r\n this.endDateVal = this.datePipe.transform(new Date(date.getFullYear(), date.getMonth() + 1, 0), 'yyyy-MM-dd');\r\n }\r\n else if (selectedValue == '510') {\r\n var date = new Date();\r\n this.startDateVal = date.getFullYear() + \"-01-01\";\r\n this.endDateVal = date.getFullYear() + \"-12-31\";\r\n\r\n }\r\n this.LoadAccountAddedData(this.startDateVal, this.endDateVal);\r\n }\r\n InactiveSuspend(val) {\r\n //alert(val)\r\n }\r\n InternalMessageClicked() {\r\n\r\n }\r\n\r\n //onTaskclose(event) {\r\n // this.showtaskDialog = !this.showtaskDialog;\r\n //}\r\n\r\n\r\n switchTheme(theme: string): void {\r\n this.currentTheme = theme;\r\n }\r\n\r\n onEventTriggered(event: string): void {\r\n this.triggeredEvents.push(event);\r\n }\r\n\r\n joinSignalRChatRoom(): void {\r\n const userName = prompt('Please enter a user name:');\r\n\r\n this.signalRAdapter = new SignalRGroupAdapter(userName, this.http);\r\n }\r\n\r\n GenerateUserAccess(val) {\r\n val = $(\"#userids\").val();\r\n this.TodayTimeSpent = 0;\r\n this.WeekkTimeSpent = 0;\r\n this.MonthTimeSpent = 0;\r\n this.YearTimeSpent = 0;\r\n this.applicationComponent.selectedusers = val;\r\n if (this.applicationComponent.selectedusers != '' || this.applicationComponent.selectedusers != null) {\r\n this.customerService.GetUserAccessTime(this.applicationComponent.selectedusers, 'Today', this.startDateVal, this.endDateVal).then((Time) => {\r\n var Timedata = Time;\r\n Timedata.forEach(ele => {\r\n if (ele != null) {\r\n this.TodayTimeSpent += ele.TimeSpent;\r\n }\r\n });\r\n\r\n });\r\n\r\n this.customerService.GetUserAccessTime(this.applicationComponent.selectedusers, 'Week', this.startDateVal, this.endDateVal).then((weekTime) => {\r\n weekTime.forEach(ele => {\r\n if (ele != null) {\r\n this.WeekkTimeSpent += ele.TimeSpent;\r\n }\r\n });\r\n });\r\n\r\n this.customerService.GetUserAccessTime(this.applicationComponent.selectedusers, 'Month', this.startDateVal, this.endDateVal).then((Month) => {\r\n Month.forEach(ele => {\r\n if (ele != null) {\r\n this.MonthTimeSpent += ele.TimeSpent;\r\n }\r\n });\r\n });\r\n this.customerService.GetUserAccessTime(this.applicationComponent.selectedusers, 'Year', this.startDateVal, this.endDateVal).then((Year) => {\r\n Year.forEach(ele => {\r\n if (ele != null) {\r\n this.YearTimeSpent += ele.TimeSpent;\r\n }\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n }\r\n //getAccountTransferData() {\r\n // this.customerService.GetAccountsTransferByUser(this.currentuser.id,'New').then(res => {\r\n // this.TransferedAccounts = res;\r\n // });\r\n //}\r\n\r\n rowClickAgGrid(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('');\r\n } else {\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('Customer');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n handleDateClick(arg) {\r\n this.SelectedDate = arg.dateStr;\r\n //$('#checkDiv').css('height', '89%');\r\n this.SearchDialog = !this.SearchDialog;\r\n this.SearchDialogCss();\r\n }\r\n handleEvents(event: EventApi | any): void {\r\n setTimeout(function () {\r\n $(\".fc-list-event-title > a\").each(function (index) {\r\n $(this).html($(this).text());\r\n });\r\n\r\n }, 100);\r\n }\r\n SearchDialogCss() {\r\n $(setTimeout(function () {\r\n $('#SearchDialog .dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n onSearchstring(msg) {\r\n if (msg == 'BTClick') {\r\n this.taskDialog = true;\r\n this.SearchDialog = true;\r\n this.taskDialogCss();\r\n this.SearchDialog = !this.SearchDialog;\r\n this.BTClick = true;\r\n this.id = 0;\r\n this.taskid = 0;\r\n } else {\r\n var data = msg.split(\"|\");\r\n this.SearchDialog = !this.SearchDialog;\r\n this.SearchDialogCss();\r\n this.taskDialog = !this.taskDialog;\r\n this.taskDialogCss();\r\n this.id = data[0];\r\n this.taskid = 0;\r\n this.type = data[1];\r\n this.BTClick = false;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n //selfObj.scheduleComp.loadcoantactname(selfObj.id, selfObj.type);\r\n //selfObj.scheduleComp.LoadSelectedTaskdata(selfObj.taskid, true, \"View\");\r\n //selfObj.scheduleComp.loadtaskHistoryByselecteddate(selfObj.taskhistory.estcompleteddate);\r\n\r\n selfObj.taskcomp.loadcoantactname(selfObj.id, selfObj.type);\r\n selfObj.taskcomp.LoadSelectedTaskdata(selfObj.taskid, true, \"View\");\r\n selfObj.taskcomp.loadtaskHistoryByselecteddate(selfObj.taskhistory.estcompleteddate);\r\n }, 300));\r\n }\r\n }\r\n\r\n SalesOpportunities(value, type) {\r\n var date = new Date(value);\r\n\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var startDaY = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var endDay = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.revenueDashComp.LoadRevenueData(type, startDaY, endDay);\r\n }\r\n TicketsChange(value, type) {\r\n var date = new Date(value);\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var startDaY = moment(firstDay).format(\"MM-DD-YYYY\");\r\n var endDay = moment(lastDay).format(\"MM-DD-YYYY\");\r\n this.TicketsDashComp.LoadTickets(startDaY, endDay, \"Closed Tickets\");\r\n }\r\n ClosedChange(value) {\r\n var date = new Date(value);\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var startDaY = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var endDay = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.LoadClosedTicketsRanking(startDaY, endDay);\r\n }\r\n UserActivityChange(value) {\r\n var date = new Date(value);\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var startDaY = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var endDay = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.LoadActivityData(startDaY, endDay);\r\n }\r\n loadRevenue() {\r\n var date = new Date();\r\n var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n this.RevenueStartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n this.RevenueEndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.getRevenueData();\r\n }\r\n\r\n initializeOpenLeadsAgGrid() {\r\n var searchstring = this.applicationComponent.searchstring;\r\n this.LeadsgridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n //this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 6).then((config) => {\r\n\r\n // if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n // //this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n // this.pageSize = config.maxlimit.toString();\r\n // }\r\n\r\n // let columnSelectionsArray: any[] = [];\r\n // for (let i = 0; i < allCols.length; i++) {\r\n // let fields: string[] = allCols[i].split(':');\r\n // if (fields[2] == 'true' && fields[1] != '#') {\r\n // columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n // }\r\n // }\r\n\r\n // this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n //});\r\n\r\n this.createLeadsColumnDefs();\r\n this.ClosedLeads('Open Leads', $(\"#userids\").val(), null, 1, this.pageSize);\r\n this.LeadsgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n //this.frameworkComponents = {\r\n // notesrenderer: NotesrendererComponent\r\n //};\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n\r\n //let selfObj = this;\r\n //$(setTimeout(function () {\r\n // selfObj.gridOptions.api.forEachNode((node) => {\r\n // if (node.data.id == selfObj.leadid) {\r\n // selfObj.gridOptions.api.selectNode(node, true);\r\n // selfObj.gridOptions.rowSelection = 'single';\r\n // }\r\n // });\r\n //}, 500));\r\n\r\n }\r\n\r\n createLeadsColumnDefs() {\r\n var searcharray = [];\r\n if (this.applicationComponent.searchCriteriadata) {\r\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\r\n if (searchaarraystring.includes(' /')) {\r\n searcharray = searchaarraystring.split(' / ');\r\n } else {\r\n searcharray.push(searchaarraystring);\r\n }\r\n }\r\n let columnSelectionsArray: string[] = [];\r\n\r\n\r\n this.LeadscolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'datecreated', headerName: 'Date Created', hide: false },\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'firstname', headerName: 'First Name', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n {\r\n field: 'account', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'salesstage', headerName: 'Sales Stage', hide: false, cellStyle: function (params) {\r\n if (params.data.status == 'Open' || params.data.status == 'Pending') { return { color: 'red' }; }\r\n }\r\n },\r\n {\r\n\r\n field: 'status', headerName: 'Status', hide: false, cellStyle:\r\n function (params) {\r\n if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; }\r\n }, cellRenderer(params) {\r\n if (params.data.salesstage == 'MD Logic Demonstration' && params.data.status == 'Next Stage Pending') { return ' ' } else { return params.value; }\r\n }\r\n\r\n },\r\n {\r\n field: 'nexttask', headerName: 'Next Sales Step', hide: false, cellRenderer(params) {\r\n if (params.data.salesstage == 'IPC') { return 'Analysis' }\r\n else if (params.data.salesstage == 'Analysis') { return 'Prepare Analysis Report' }\r\n else if (params.data.salesstage == 'Prepare Analysis Report') { return 'Review Analysis' }\r\n else if (params.data.salesstage == 'Review Analysis') { return 'Generate Proposal' }\r\n else if (params.data.salesstage == 'Generate Proposal') { return 'Justification Meeting' }\r\n else if (params.data.salesstage == 'Justification Meeting') { return 'Reference Calls' }\r\n else if (params.data.salesstage == 'Reference Calls') { return 'Demonstration' }\r\n else if (params.data.salesstage == 'Demonstration') { return 'Won-Lost-Pending' }\r\n }\r\n },\r\n { field: 'datescheduled', headerName: 'Date Schedule', hide: true }, //true starts here\r\n { field: 'owner', headerName: 'Owner', hide: false },\r\n { field: 'completeduser', headerName: 'Completed By', hide: false },\r\n { field: 'dealwonOrlost', headerName: 'Deal Won/Lost', hide: true },\r\n\r\n\r\n ];\r\n\r\n var tooltipRenderer = function (params) {\r\n return '' + params.value + '';\r\n };\r\n\r\n }\r\n\r\n ClosedLeads(val, userids, searchval, startrow, endrow) {\r\n var subMenuId = '';\r\n if (val == 'Open Leads') {\r\n subMenuId = 'OpenLeads';\r\n } else if (val == 'Completed') {\r\n subMenuId = 'ClosedLeads';\r\n } else if (val == 'All') {\r\n subMenuId = 'AllLeads';\r\n }\r\n else {\r\n subMenuId = 'OpenLeads';\r\n }\r\n if (this.currentuser.UserPrivilegeList != undefined) {\r\n var button = document.getElementById(subMenuId);\r\n var bname = (button == null) ? subMenuId : (button.title);\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == bname || p.resource.toLowerCase() == bname)[0];\r\n if (thisTab != undefined && thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + bname + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n }\r\n\r\n this.allLeads = [];\r\n var today = new Date();\r\n userids = $(\"#userids\").val();\r\n\r\n this.applicationComponent.searchCriteriadata = [];\r\n this.leadservice.GetAllLeadsList(val, userids, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, searchval, startrow, endrow, this.currentuser.id).then((customer) => {\r\n if (customer.length > 0) {\r\n if ((customer.length == 0 || customer == null) && searchval != null) {\r\n this.applicationComponent.ShowInvalidSearchDialog = !this.applicationComponent.ShowInvalidSearchDialog;\r\n this.applicationComponent.dialogsizeInvalidSearch();\r\n\r\n }\r\n customer.forEach(customer => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n });\r\n let leads: any = customer;\r\n if (val == \"Open\") {\r\n leads = leads.filter((cust) => cust.status != 'Won' && cust.status != 'Lost');\r\n }\r\n this.allLeads = leads;\r\n if (this.allLeads.length > 0 && this.allLeads[0].islimitedSearch == true) {\r\n if (this.allLeads[0].SearchVal) {\r\n this.applicationComponent.searchCriteria = this.allLeads[0].SearchVal;\r\n this.applicationComponent.searchstring = this.allLeads[0].SearchVal.slice(0, -3);\r\n //this.applicationComponent.Searchdiv = true;\r\n this.applicationComponent.searchCriteriadata = this.applicationComponent.searchstring.split(' / ');\r\n }\r\n this.applicationComponent.term = \"true\"; //passing dummy data toshow delete button in search box\r\n this.applicationComponent.searchstring = this.allLeads[0].SearchVal;\r\n this.applicationComponent.limitedSearch = true;\r\n $('#searchContact').val('');\r\n\r\n }\r\n else {\r\n this.applicationComponent.term = \"\";\r\n $('#searchContact').val('');\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.limitedSearch = false;\r\n this.applicationComponent.searchCriteriadata = [];\r\n }\r\n\r\n }\r\n });\r\n\r\n //this.initializeAgGrid();\r\n }\r\n getRevenueData() {\r\n this.leadservice.GetRevenueData($(\"#userids\").val(), this.RevenueStartDate, this.RevenueEndDate).then((customer) => {\r\n this.Revenue = customer;\r\n });\r\n }\r\n ChangeclosedtotalCampaign(val) {\r\n\r\n this.TotalLostOppPriceLabel = moment(val).format('MMM, YYYY');\r\n this.LoadCampaigns(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n\r\n }\r\n ChangeprofitlossCampaign(val) {\r\n\r\n this.TotalLostOppPriceLabel = moment(val).format('MMM, YYYY');\r\n this.LoadCampaigns(this.currentuser.id, this.monthNumToName(val.split('-')[1]), val.split('-')[0]);\r\n\r\n }\r\n ChangeTotalOpp(val, type) {\r\n var date = new Date(val);\r\n\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var startDay = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var endDay = moment(lastDay).format(\"YYYY-MM-DD\");\r\n\r\n if (type == 'WonPrice') {\r\n this.TotalOppWonPriceLabel = moment(val).format('MMM, YYYY');\r\n } else if (type == 'WonRR') {\r\n this.TotalOppWonRRLabel = moment(val).format('MMM, YYYY');\r\n } else if (type == 'LostPrice') {\r\n this.TotalLostOppPriceLabel = moment(val).format('MMM, YYYY');\r\n } else {\r\n this.TotalOpenOppPriceLabel = moment(val).format('MMM, YYYY');\r\n }\r\n this.leadservice.GetRevenuedashboardData($(\"#userids\").val(), startDay, endDay, type).then((customer) => {\r\n if (type == 'WonPrice') {\r\n this.Revenue.OpportunityWonTotalPrice = customer.OpportunityWonTotalPrice;\r\n } else if (type == 'WonRR') {\r\n this.Revenue.OpportunityWonTotalRR = customer.OpportunityWonTotalRR;\r\n } else if (type == 'LostPrice') {\r\n this.Revenue.OpportunityLostTotalPrice = customer.OpportunityLostTotalPrice;\r\n } else {\r\n this.Revenue.OpportunityOpenTotalPrice = customer.OpportunityOpenTotalPrice;\r\n }\r\n });\r\n this.CallsCompletedLabel = moment(val).format('MMM, YYYY');\r\n }\r\n GetUserMessagesByUserId() {\r\n this.NotificationMessages = [];\r\n this.messagingservice.GetUserMessagesByUser(this.currentuser.id).then((res) => {\r\n res.forEach(x => {\r\n var DisplayDate = this.datePipe.transform(x.DisplayDate, \"MM-dd-yyyy\");\r\n var currentdate = this.datePipe.transform(new Date(), \"MM-dd-yyyy\");\r\n var readusers;\r\n if (x.readusers != null) {\r\n readusers = x.readusers.split(',').filter(x => x == this.currentuser.id)[0];\r\n }\r\n if (DisplayDate <= currentdate && !readusers) {\r\n x.DisplayDate = DisplayDate;\r\n this.NotificationMessage(x);\r\n this.NotificationMessages.push(x);\r\n this.applicationComponent.NotificationMessages = this.NotificationMessages;\r\n //this.NotificationMessageDialog = true;\r\n }\r\n else {\r\n //this.NotificationMessageDialog = false;\r\n\r\n }\r\n\r\n });\r\n this.CurrentUserMessages = res;\r\n });\r\n }\r\n\r\n NotificationMessage(Data) {\r\n this._notificationSvc.Message(Data);\r\n this.NotificationMessage\r\n }\r\n\r\n NotificationMessageDialogCss() {\r\n setTimeout(function () {\r\n $(' #NotificationMessageDialog .dialog').attr('style', 'width: 50%;padding - bottom: 0px;min-height: 63%;overflow: auto;height: 60%;left: 6%;top: 18.5%;padding: 0;');\r\n }, 4)\r\n }\r\n\r\n onWizzardClosed(val) {\r\n if (val.readusers == null) {\r\n val.readusers = \"\";\r\n val.readusers += this.currentuser.id;\r\n } else {\r\n val.readusers += \",\" + this.currentuser.id;\r\n }\r\n\r\n this.AddorUpdateUserMessages(val)\r\n }\r\n\r\n AddorUpdateUserMessages(userMessages) {\r\n\r\n this.messagingservice.AddorUpdateUserMessages(userMessages).then((res) => {\r\n this.GetUserMessagesByUserId()\r\n\r\n });\r\n }\r\n onWizardAdded() {\r\n\r\n }\r\n LeadsrowClickAgGrid(rowEvent) {\r\n this.applicationComponent.CollapseSelectedMenu('leads');\r\n this.applicationComponent.ExpandSelectedMenu('leads');\r\n this.router.navigateByUrl(`/application/leadsdashboard/${rowEvent.data.contactid}/${rowEvent.data.id}/null`);\r\n }\r\n\r\n CalenderClick() {\r\n\r\n let className = $(this).parent()\r\n .parent().parent().attr('class');\r\n let removeSpace = className.replace(' ', '.');\r\n\r\n $(\".\" + removeSpace).datepicker({\r\n format: \"dd/mm/yyyy\",\r\n orientation: \"bottom auto\",\r\n autoclose: true,\r\n showOnFocus: \"false\"\r\n });\r\n\r\n\r\n }\r\n ActivityChange(value) {\r\n \r\n localStorage.setItem('myDashactivity', value);\r\n this.SelectedAct = value;\r\n this.TicketsDashComp.getAccountsData(this.SelectedAct, this.SelectedStatus); \r\n }\r\n\r\n CustomerStatusChange(value) { \r\n \r\n localStorage.setItem('myDashactivityStatus', value);\r\n this.SelectedStatus = value;\r\n this.TicketsDashComp.getAccountsData(this.SelectedAct, this.SelectedStatus);\r\n }\r\n\r\n CompletedProjects(value, type) {\r\n var date = new Date(value);\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var startDaY = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var endDay = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.ProjDashComp.LoadCompletedProjects(type, startDaY, endDay);\r\n }\r\n expandgrid(gridname, val, expandval) {\r\n this.expand = expandval;\r\n if (gridname == \"opentickets\" || gridname == \"CustomerOnHold\" || gridname == \"taskpastdue\" || gridname == \"custactivity\") {\r\n localStorage.setItem('myDashExpandGrid', gridname);\r\n }\r\n if (gridname == \"assignedtosupportgroup\" || gridname == \"closedtickets\" || gridname == \"closedticketsrating\") {\r\n localStorage.setItem('supportDashboardGrid', gridname);\r\n }\r\n if (gridname == \"assignedtotrainergroup\" || gridname == \"closedtickets\" || gridname ==\"closedticketsrating\")\r\n {\r\n localStorage.setItem('trainerDashboardGrid', gridname);\r\n }\r\n if (gridname == \"cancelledprojects\" || gridname == \"completedprojects\" || gridname == \"pendedprojects\") {\r\n localStorage.setItem('projectDashboardGrid', gridname);\r\n }\r\n if (gridname == \"opportunitiesopen\" || gridname == \"openleads\" || gridname == \"useractivitytopuser\") {\r\n localStorage.setItem('nbdDashboardGrid', gridname);\r\n }\r\n if (gridname == \"opportunitiesopen\" || gridname == \"openleads\" || gridname == \"salesranking\") {\r\n localStorage.setItem('salesDashboardGrid', gridname);\r\n }\r\n if (gridname == \"opentickets\") {\r\n this.showcustomerOnhold = false;\r\n this.expandmydashboardthirdrow = true;\r\n }\r\n else if (gridname == \"CustomerOnHold\") {\r\n this.showtickets = false;\r\n this.expandmydashboardthirdrow = true;\r\n }\r\n else if (gridname == \"taskpastdue\") {\r\n this.expandmydashboardsecrow = true;\r\n this.ShowcustomerActivity = false;\r\n }\r\n else if (gridname == \"custactivity\") {\r\n this.expandmydashboardsecrow = true;\r\n this.showPastdue = false;\r\n this.ShowcustomerActivity = true;\r\n }\r\n else if (gridname == \"assignedtosupportgroup\" || gridname == \"assignedtotrainergroup\") {\r\n this.expandsupportdashboardthirdrow = true;\r\n }\r\n else if (gridname == \"closedtickets\" || gridname == \"closedticketsrating\") {\r\n this.expandsupportdashboardsecrow = true;\r\n if (gridname == \"closedticketsrating\") {\r\n this.showclosedtickets = false;\r\n }\r\n else if (gridname == \"closedtickets\") {\r\n this.showclosedticketsrating = false;\r\n }\r\n }\r\n else if (gridname == \"opportunitiesopen\") { this.expandsupportdashboardthirdrow = true; }\r\n else if (gridname == \"pendedprojects\") {\r\n this.expandprojectdashboardthirdrow = true;\r\n } else if (gridname == \"completedprojects\" || gridname == \"cancelledprojects\") {\r\n this.expandprojectdashboardsecrow = true;\r\n if (gridname == \"completedprojects\") { this.showcancelledprojects = false; }\r\n else if (gridname == \"cancelledprojects\") { this.showcompletedprojects = false; }\r\n } else if (gridname == \"openleads\" || gridname == \"useractivitytopuser\") {\r\n this.expandnbddashboardsecrow = true;\r\n if (gridname == \"useractivitytopuser\") { this.showopenleads = false; }\r\n else if (gridname == \"openleads\") {\r\n this.showactivitytopusers = false;\r\n this.showsalesranking = false;\r\n }\r\n } else if (gridname == \"useractivitytopuser\") { }\r\n else if (gridname == \"salesranking\") {\r\n this.expandnbddashboardsecrow = true;\r\n this.showopenleads = false;\r\n }\r\n \r\n }\r\n expandclose(gridname, expandval) {\r\n this.expand = expandval;\r\n this.expandmydashboardsecrow = expandval;\r\n this.expandmydashboardthirdrow = expandval;\r\n if (gridname == \"opentickets\" || gridname == \"CustomerOnHold\" || gridname == \"taskpastdue\" || gridname == \"custactivity\") {\r\n localStorage.removeItem(\"myDashExpandGrid\");\r\n }\r\n if (gridname == \"assignedtosupportgroup\" || gridname == \"closedtickets\" || gridname ==\"closedticketsrating\") {\r\n localStorage.removeItem('supportDashboardGrid');\r\n }\r\n if (gridname == \"assignedtotrainergroup\" || gridname == \"closedtickets\" || gridname == \"closedticketsrating\") {\r\n localStorage.removeItem('trainerDashboardGrid');\r\n }\r\n if (gridname == \"cancelledprojects\" || gridname == \"completedprojects\" || gridname == \"pendedprojects\") {\r\n localStorage.removeItem('projectDashboardGrid');\r\n }\r\n if (gridname == \"opportunitiesopen\" || gridname == \"openleads\" || gridname == \"useractivitytopuser\") {\r\n localStorage.removeItem('nbdDashboardGrid');\r\n }\r\n if (gridname == \"opportunitiesopen\" || gridname == \"openleads\" || gridname == \"salesranking\") {\r\n localStorage.removeItem('salesDashboardGrid');\r\n }\r\n if (gridname == \"opentickets\") {\r\n this.showcustomerOnhold = true;\r\n }\r\n else if (gridname == \"CustomerOnHold\") {\r\n this.showtickets = true;\r\n\r\n }\r\n else if (gridname == \"taskpastdue\") {\r\n this.showPastdue = true;\r\n this.ShowcustomerActivity = true;\r\n }\r\n else if (gridname == \"custactivity\") {\r\n this.ShowcustomerActivity = true;\r\n this.showPastdue = true;\r\n }\r\n else if (gridname == \"assignedtosupportgroup\" || gridname == \"assignedtotrainergroup\") {\r\n this.expandsupportdashboardthirdrow = false;\r\n }\r\n else if (gridname == \"closedtickets\" || gridname == \"closedticketsrating\") {\r\n this.expandsupportdashboardsecrow = false;\r\n if (gridname == \"closedticketsrating\") { this.showclosedtickets = true; }\r\n else if (gridname == \"closedtickets\") {\r\n this.showclosedticketsrating = true;\r\n }\r\n }\r\n else if (gridname == \"pendedprojects\") {\r\n this.expandprojectdashboardthirdrow = false;\r\n }\r\n else if (gridname == \"completedprojects\" || gridname == \"cancelledprojects\") {\r\n this.expandprojectdashboardsecrow = false;\r\n if (gridname == \"completedprojects\") { this.showcancelledprojects = true; }\r\n else if (gridname == \"cancelledprojects\") { this.showcompletedprojects = true; }\r\n }\r\n else if (gridname == \"openleads\" || gridname == \"useractivitytopuser\") {\r\n this.expandnbddashboardsecrow = false;\r\n if (gridname == \"useractivitytopuser\") { this.showopenleads = true; }\r\n else if (gridname == \"openleads\") {\r\n this.showactivitytopusers = true;\r\n this.showsalesranking = true;\r\n }\r\n }\r\n else if (gridname == \"opportunitiesopen\") { this.expandsupportdashboardthirdrow = false; }\r\n \r\n else if (gridname == \"salesranking\") {\r\n this.expandnbddashboardsecrow = false;\r\n this.showopenleads = true;\r\n }\r\n }\r\n}\r\n","
      \r\n \r\n \r\n\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, OnInit } from '@angular/core';\nimport { GridOptions } from 'ag-grid';\r\nimport { Projects } from '../../../models/ProjectConfiguration';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { EditdeletecvComponent } from '../../editdeletecv/editdeletecv.component';\r\ndeclare var $: any;\nimport * as moment from 'moment'\nimport { Router } from '@angular/router';\r\n\n@Component({\n selector: 'app-projects-dashboard',\n templateUrl: './projects-dashboard.component.html',\n styleUrls: ['./projects-dashboard.component.css']\n})\nexport class ProjectsDashboardComponent implements OnInit {\n @Input() ProjectsType: string = 'Open Projects';\n @Input() Type: string = 'Open';\n public gridOptionsView: GridOptions;\n public PendedgridOptionsView: GridOptions;\n public CancelledgridOptionsView: GridOptions;\n public CompletedgridOptionsView: GridOptions;\n public columnDefs;\r\n public sideBar;\n public frameworkComponents;\r\n public context;\n currentuser: any;\n OpenProjectsList: Projects[] = [];\r\n ProjectsList: Projects[] = [];\n PendedProjectsList: Projects[] = [];\n CompletedProjectsList: Projects[] = [];\n CancelProjectsList: Projects[] = [];\n \n\n constructor(private router: Router,public applicationComponent: ApplicationComponent, private customerservice: CustomerService ) {\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (this.applicationComponent.selectedItems != null && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.getSelectedUserList(this.currentuser.id);\r\n }\n }\n\n ngOnInit(): void {\n this.initializeAgGrid();\n switch (this.ProjectsType) {\r\n case 'Open Projects': {\r\n this.getOpenProjects();\r\n break;\r\n }\r\n case 'Pended Projects': {\r\n this.getPendedProjects();\r\n break;\r\n }\r\n case 'Completed Projects': {\r\n this.getCompletedProjects(null,null);\r\n break;\r\n }\r\n case 'Cancelled Projects': {\r\n this.getCancelledProjects(null, null);\r\n break;\r\n }\r\n }\n this.getAllProjects(null,null);\n }\n\n getSelectedUserList(val) {\r\n\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n\r\n }\n\n initializeAgGrid() {\n this.gridOptionsView = { \n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\n };\n this.PendedgridOptionsView = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\n this.CancelledgridOptionsView = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\n this.CompletedgridOptionsView = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\n \n this.sideBar = {\n toolPanels: [\n {\n id: 'columns',\n labelDefault: 'Columns',\n labelKey: 'columns',\n iconKey: 'columns',\n toolPanel: 'agColumnsToolPanel',\n }\n ],\n position: 'right',\n\n };\n this.context = this;\n this.frameworkComponents = {\n editdeletecv: EditdeletecvComponent,\n\n };\n this.createColumnDefs(\"\");\n }\n createColumnDefs(columnSelections: string) {\n let selfObj = this;\n\n this.columnDefs = [\n //{\n // headerName: '#',\n // field: '#',\n // width: 52,\n // checkboxSelection: true,\n // suppressSorting: true,\n // suppressMenu: true,\n // pinned: true,\n // hide: false, outerWidth: 8,\n // headerCheckboxSelection: true,\n // headerCheckboxSelectionFilteredOnly: true\n //},\n { field: 'AccountName', headerName: 'Account Name', hide: false },\n { field: 'ProjectStatusName', headerName: 'Project Status', hide: false },\n { field: 'ProjectTypeName', headerName: 'Project TypeId', hide: false },\n { field: 'ProjectLeaderName', headerName: 'Project LeaderId', hide: false },\n\n { field: 'TotalProjects', headerName: 'TotalProjects', hide: true },\n { field: 'OpenProjects', headerName: 'OpenProjects', hide: true },\n { field: 'PendedProjects', headerName: 'PendedProjects', hide: true },\n {\n field: 'CompletedProjects', headerName: 'CompletedProjects', hide: true, cellRenderer: function (params) {\n if (params.value != null) {\n\n return params.value;\n\n } else {\n return '0';\n }\n }\n },\n {\n field: 'CancelledProjects', headerName: 'CancelledProjects', hide: true, cellRenderer: function (params) {\n if (params.value != null) {\n\n return params.value;\n\n } else {\n return '0';\n }\n }\n },\n { field: 'TargetGoLiveDate', headerName: 'TargetGoLiveDate', hide: true },\n { field: 'NumberofTrainers', headerName: '# Trainers', hide: true },\n { field: 'OnsiteDateStatus1Name', headerName: 'OnsiteDateStatus1', hide: true },\n { field: 'OnsiteTrainingDate1From', headerName: 'OnsiteTrainingDate1', hide: true },\n { field: 'OnsiteTrainingDate1To', headerName: 'OnsiteTrainingDate1', hide: true },\n { field: 'OnsiteTrainingDate2From', headerName: 'OnsiteTrainingDate2', hide: true },\n { field: 'OnsiteTrainingDate2To', headerName: 'OnsiteTrainingDate2', hide: true },\n { field: 'OnsiteTrainingHours', headerName: 'OnsiteTrainingHours', hide: true },\n //{ field: 'PickListEditable', headerName: 'Pick List Editable', hide: false },\n \n \n { field: 'OnsiteTrainingName', headerName: 'OnsiteTraining', hide: true },\n { field: 'RemoteTrainingName', headerName: 'RemoteTraining', hide: true },\n { field: 'RemoteTrainingDate1From', headerName: 'RemoteTrainingDate1', hide: true },\n { field: 'RemoteTrainingDate1To', headerName: 'RemoteTrainingDate1', hide: true },\n { field: 'RemoteDateStatus1Name', headerName: 'RemoteDateStatus1', hide: true },\n { field: 'RemoteTrainingDate2From', headerName: 'RemoteTrainingDate2', hide: true },\n { field: 'RemoteTrainingDate2To', headerName: 'RemoteTrainingDate2', hide: true },\n { field: 'RemoteDateStatus2Name', headerName: 'RemoteDateStatus2', hide: true },\n { field: 'RemoteTrainingHours', headerName: 'RemoteTrainingHours', hide: true },\n { field: 'Trainer1Name', headerName: 'Trainer1', hide: true },\n { field: 'Trainer2Name', headerName: 'Trainer2', hide: true },\n { field: 'UserAccessName', headerName: 'UserAccess', hide: true },\n { field: 'Notes', headerName: 'Notes', hide: true },\n \n ];\n\n\n }\n getAllProjects(startDate, endDate) {\r\n this.customerservice.getAllProjects(this.currentuser.id).then(res => {\r\n res.forEach(ele => {\r\n ele.CreatedDate = moment(ele.CreatedDate).format(\"YYYY-MM-DD\");\r\n });\r\n\r\n this.ProjectsList = res;\r\n \r\n\r\n });\r\n }\n cellDoubleClicked(event) {\r\n \r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateMainButtons('empty');\r\n $(setTimeout(function () { \r\n SO.applicationComponent.activateMainButtons('Projects');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n SO.applicationComponent.selectedtabid = 'Projects';\r\n if (SO.Type == 'Open') {\r\n localStorage.setItem('projecttype', 'Open');\r\n localStorage.setItem('projectid', event.data.ProjectID);\r\n }\r\n else if (SO.Type == 'Pended') {\r\n localStorage.setItem('projecttype', 'Pended');\r\n localStorage.setItem('Pendedprojectid', event.data.ProjectID);\r\n }\r\n else if (SO.Type == 'Completed') {\r\n localStorage.setItem('projecttype', 'Complete');\r\n localStorage.setItem('Completedprojectid', event.data.ProjectID);\r\n }\r\n else if (SO.Type == 'Cancelled') {\r\n localStorage.setItem('projecttype', 'Cancelled');\r\n localStorage.setItem('Cancelledprojectid', event.data.ProjectID);\r\n }\r\n }, 100));\r\n }, 50));\r\n\r\n }\n getOpenProjects() {\n this.customerservice.getAllProjects(this.currentuser.id).then(res => {\r\n res.forEach(ele => {\r\n ele.CreatedDate = moment(ele.CreatedDate).format(\"YYYY-MM-DD\");\r\n });\r\n this.OpenProjectsList = res.filter(x => x.ProjectStatusName == 'Open')\r\n if (Number(localStorage.getItem(\"projectid\")) > 0) {\r\n this.RowSelection(Number(localStorage.getItem(\"projectid\")));\r\n }\r\n });\r\n }\n RowSelection(projectId) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (selfObj.gridOptionsView.api != null) {\r\n selfObj.gridOptionsView.api.forEachNode((node) => {\r\n if (node.data.ProjectID == projectId) {\r\n selfObj.gridOptionsView.api.selectNode(node, true);\r\n selfObj.gridOptionsView.rowSelection = 'single';\r\n }\r\n });\r\n }\r\n }, 300));\r\n }\n\n CancelledRowSelection(projectId) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (selfObj.CancelledgridOptionsView.api != null) {\r\n selfObj.CancelledgridOptionsView.api.forEachNode((node) => {\r\n if (node.data.ProjectID == projectId) {\r\n selfObj.CancelledgridOptionsView.api.selectNode(node, true);\r\n selfObj.CancelledgridOptionsView.rowSelection = 'single';\r\n }\r\n });\r\n }\r\n }, 300));\r\n }\n \n\n PendedRowSelection(projectId) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (selfObj.PendedgridOptionsView.api != null) {\r\n selfObj.PendedgridOptionsView.api.forEachNode((node) => {\r\n if (node.data.ProjectID == projectId) {\r\n selfObj.PendedgridOptionsView.api.selectNode(node, true);\r\n selfObj.PendedgridOptionsView.rowSelection = 'single';\r\n }\r\n });\r\n }\r\n }, 300));\r\n }\n getPendedProjects() {\n this.customerservice.getAllProjects(this.currentuser.id).then(res => {\r\n res.forEach(ele => {\r\n ele.CreatedDate = moment(ele.CreatedDate).format(\"YYYY-MM-DD\");\r\n });\r\n this.PendedProjectsList = res.filter(x => x.ProjectStatusName == 'Pended')\r\n if (Number(localStorage.getItem(\"Pendedprojectid\")) > 0) {\r\n this.PendedRowSelection(Number(localStorage.getItem(\"Pendedprojectid\")));\r\n }\r\n });\r\n }\n getCompletedProjects(startDate, endDate) {\n this.CompletedProjectsList = [];\n this.customerservice.getAllProjects(this.currentuser.id).then(res => {\r\n res.forEach(ele => {\r\n ele.CreatedDate = moment(ele.CreatedDate).format(\"YYYY-MM-DD\");\r\n }); \r\n if (startDate != null && endDate != null) {\r\n var data = this.CompletedProjectsList = res.filter(x => x.ProjectStatusName == 'Open')\r\n this.CompletedProjectsList = data;\r\n this.initializeAgGrid();\r\n } else {\r\n this.CompletedProjectsList = res.filter(x => x.ProjectStatusName == 'Complete')\r\n }\r\n if (Number(localStorage.getItem(\"Completedprojectid\")) > 0) {\r\n this.RowSelection(Number(localStorage.getItem(\"Completedprojectid\")));\r\n }\r\n });\r\n }\n getCancelledProjects(startDate, endDate) {\n\n this.customerservice.getAllProjects(this.currentuser.id).then(res => {\r\n res.forEach(ele => {\r\n ele.CreatedDate = moment(ele.CreatedDate).format(\"YYYY-MM-DD\");\r\n });\r\n this.CancelProjectsList = [];\r\n if (startDate != null && endDate != null) {\r\n this.CancelProjectsList = res.filter(x => (x.CreatedDate > startDate) && (x.CreatedDate < endDate))\r\n }\r\n else {\r\n this.CancelProjectsList = res.filter(x => x.ProjectStatusName == 'Cancelled')\r\n }\r\n if (Number(localStorage.getItem(\"Cancelledprojectid\")) > 0) {\r\n this.CancelledRowSelection(Number(localStorage.getItem(\"Cancelledprojectid\")));\r\n }\r\n });\r\n }\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n let rowData = event.api.getSelectedNodes()[0].data; \r\n }\r\n }\r\n\r\n }\n\n LoadCompletedProjects(type, startDate: string, endDate: string) {\n \n this.ProjectsType = type;\n switch (this.ProjectsType) {\r\n case 'Completed Projects': {\r\n this.Type = '';\r\n this.getCompletedProjects(startDate, endDate);\r\n //this.Type = 'Completed';\r\n break;\r\n }\r\n case 'Cancelled Projects': {\r\n this.getCancelledProjects(startDate, endDate);\r\n break;\r\n }\r\n }\n\r\n }\n}\n","
      \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
      \r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnInit, Optional, Output, EventEmitter } from '@angular/core';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport * as moment from 'moment'\r\nimport { Opportunities } from '../../../models/opportunities';\r\nimport { Router } from '@angular/router';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-revenue-dashboard',\r\n templateUrl: './revenue-dashboard.component.html',\r\n styleUrls: ['./revenue-dashboard.component.css']\r\n})\r\nexport class RevenueDashboardComponent implements OnInit {\r\n @Input()\r\n opportunitytype: string;\r\n @Input()\r\n startDateVal;\r\n @Input()\r\n endDateVal;\r\n @Input()\r\n type;\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n currentuser: any;\r\n columnSelections;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public context;\r\n public columnDefs: any[];\r\n today = Date.now();\r\n DateClosed: boolean = true;\r\n Allopportunities_Won: Opportunities[];\r\n Allopportunities_Lost: Opportunities[];\r\n Allopportunities_Open: Opportunities[];\r\n Allopportunities_Open_ECD: Opportunities[];\r\n @Output()\r\n outPropsEvent = new EventEmitter();\r\n constructor(private opprtunityservice: OpprtunitiesService, public applicationComponent: ApplicationComponent, private router: Router) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n //alert(this.startDateVal);\r\n //alert(this.endDateVal);\r\n this.LoadRevenueData(this.opportunitytype, this.startDateVal, this.endDateVal);\r\n this.initializeAgGrid();\r\n }\r\n\r\n LoadRevenueData(type, startdatevalue, enddatevalue) {\r\n this.startDateVal = startdatevalue;\r\n this.endDateVal = enddatevalue;\r\n\r\n this.opportunitytype = type;\r\n if (this.type == 'Open_ECD') {\r\n this.OpportunityOpen_ECD(this.opportunitytype, $(\"#userids\").val(), null);\r\n } else {\r\n\r\n if (this.opportunitytype == 'Won Opportunities') {\r\n this.OpportunityWon(this.opportunitytype, $(\"#userids\").val(), null);\r\n } else if (this.opportunitytype == 'Lost Opportunities') {\r\n this.OpportunityLost(this.opportunitytype, $(\"#userids\").val(), null);\r\n } else if (this.opportunitytype == 'Open Opportunities') {\r\n this.OpportunityOpen(this.opportunitytype, $(\"#userids\").val(), null);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let DashconfigId = (this.type == 'Open_ECD') ? 60 : (this.type == 'Won') ? 61: 7;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, DashconfigId).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n //this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n }\r\n this.columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n\r\n this.createColumnDefs(this.columnSelections);\r\n\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n\r\n }\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n var searcharray = [];\r\n if (this.applicationComponent.searchCriteriadata) {\r\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\r\n if (searchaarraystring.includes(' /')) {\r\n searcharray = searchaarraystring.split(' / ');\r\n } else {\r\n searcharray.push(searchaarraystring);\r\n }\r\n }\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':'); \r\n if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({\r\n field: 'owner', headerName: 'Owner', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({\r\n field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"estimatedclosedate\") {\r\n this.columnDefs.push({\r\n field: 'estimatedclosedate', headerName: 'ECD', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecreated\") {\r\n this.columnDefs.push({\r\n field: 'datecreated', headerName: 'Date Created', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"practicename\") {\r\n this.columnDefs.push({\r\n field: 'practicename', headerName: 'Account Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastName\") {\r\n this.columnDefs.push({\r\n field: 'lastName', headerName: 'Last Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstName\") {\r\n this.columnDefs.push({\r\n field: 'firstName', headerName: 'First Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"ProposalPDF\") {\r\n this.columnDefs.push({\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n //cellRenderer(params) {\r\n // if (params.data.ProposalPDF != null && params.data.ProposalPDF != 0) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = '';\r\n // eDiv.addEventListener('click', function () {\r\n // selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n // });\r\n // return eDiv;\r\n // }\r\n\r\n //}\r\n });\r\n }\r\n\r\n else if (fieldHeaderVisibleWidthArray[0] == \"ProposalPOPDF\") {\r\n this.columnDefs.push({\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n //cellRenderer(params) {\r\n // if (params.data.ProposalPOPDF != null && params.data.ProposalPOPDF != 0) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = '';\r\n // eDiv.addEventListener('click', function () {\r\n // selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n // });\r\n // return eDiv;\r\n // }\r\n\r\n //}\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecompleted\") {\r\n this.columnDefs.push({\r\n field: 'datecompleted', headerName: 'Date Completed', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Open') {\r\n return \"\";\r\n } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n if (this.type == 'Open_ECD') {\r\n this.columnDefs = [\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false,\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'estimatedclosedate', headerName: 'ECD', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'dollers', headerName: 'Price', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'RR', headerName: 'Monthly', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'itemName', headerName: 'Proposal Type', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false,\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'isPended', headerName: 'Pended', hide: false, cellStyle: function (params) {\r\n { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (params.data.isPended == '1' || params.data.isPended == 1) { return 'Pended'; }\r\n }\r\n },\r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', hide: false\r\n },\r\n\r\n {\r\n field: 'datecompleted', headerName: 'Date Closed', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Open') {\r\n return \"\";\r\n } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n\r\n\r\n\r\n {\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: true, width: 100,\r\n //cellRenderer(params) {\r\n\r\n // if (params.data.ProposalPDF != null && params.data.ProposalPDF != 0) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = '';\r\n // eDiv.addEventListener('click', function () {\r\n // selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n // });\r\n // return eDiv;\r\n // }\r\n\r\n //}\r\n\r\n },\r\n {\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: true, width: 100,\r\n //cellRenderer(params) {\r\n // if (params.data.ProposalPOPDF != null && params.data.ProposalPOPDF != 0) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = '';\r\n // eDiv.addEventListener('click', function () {\r\n // selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n // });\r\n // return eDiv;\r\n // }\r\n //}\r\n\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n\r\n\r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'drsName', headerName: '# DRS', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'midlevel', headerName: '# Mid Levels', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: true, pinned: 'right' },\r\n\r\n ];\r\n }\r\n else if (this.type == 'Won') {\r\n this.columnDefs = [\r\n\r\n {\r\n field: 'datecompleted', headerName: 'Date Closed', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Open') {\r\n return \"\";\r\n } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n },\r\n \r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false,\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n \r\n {\r\n field: 'dollers', headerName: 'Price', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'RR', headerName: 'Monthly', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n \r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false,\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'itemName', headerName: 'Proposal Type', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n\r\n\r\n\r\n {\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: true, width: 100,\r\n //cellRenderer(params) {\r\n\r\n // if (params.data.ProposalPDF != null && params.data.ProposalPDF != 0) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = '';\r\n // eDiv.addEventListener('click', function () {\r\n // selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n // });\r\n // return eDiv;\r\n // }\r\n\r\n //}\r\n\r\n },\r\n {\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: true, width: 100,\r\n //cellRenderer(params) {\r\n // if (params.data.ProposalPOPDF != null && params.data.ProposalPOPDF != 0) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = '';\r\n // eDiv.addEventListener('click', function () {\r\n // selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n // });\r\n // return eDiv;\r\n // }\r\n //}\r\n\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n\r\n\r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'drsName', headerName: '# DRS', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'midlevel', headerName: '# Mid Levels', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: true, pinned: 'right' },\r\n\r\n ];\r\n }\r\n else {\r\n this.columnDefs = [\r\n\r\n {\r\n field: 'datecompleted', headerName: 'Date Closed', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Open') {\r\n return \"\";\r\n } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false,\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'dollers', headerName: 'Price', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'RR', headerName: 'Monthly', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false,\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Title', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'itemName', headerName: 'Proposal Type', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'estimatedclosedate', headerName: 'ECD', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n\r\n\r\n\r\n {\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: true, width: 100,\r\n //cellRenderer(params) {\r\n\r\n // if (params.data.ProposalPDF != null && params.data.ProposalPDF != 0) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = '';\r\n // eDiv.addEventListener('click', function () {\r\n // selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n // });\r\n // return eDiv;\r\n // }\r\n\r\n //}\r\n\r\n },\r\n {\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: true, width: 100,\r\n //cellRenderer(params) {\r\n // if (params.data.ProposalPOPDF != null && params.data.ProposalPOPDF != 0) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = '';\r\n // eDiv.addEventListener('click', function () {\r\n // selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n // });\r\n // return eDiv;\r\n // }\r\n //}\r\n\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n\r\n\r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'drsName', headerName: '# DRS', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'midlevel', headerName: '# Mid Levels', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: true, pinned: 'right' },\r\n\r\n ];\r\n }\r\n\r\n var tooltipRenderer = function (params) {\r\n return '' + params.value + '';\r\n };\r\n }\r\n }\r\n\r\n OpportunityWon(val, userids, searchval) {\r\n this.opprtunityservice.GetAllOpportunitiesList(val, userids, this.startDateVal, this.endDateVal, searchval, this.currentuser.id, true).then((customer) => {\r\n if (customer.length > 0) {\r\n\r\n this.Allopportunities_Won = customer;\r\n if (this.Allopportunities_Won.length > 0) {\r\n var won = this.Allopportunities_Won.reduce((sum, current) => sum + parseInt(current.dollers.replace('$', '')), 0);\r\n var rr = this.Allopportunities_Won.reduce((sum, current) => sum + parseInt(current.RR.replace('$', '')), 0); \r\n this.outPropsEvent.emit(won + \":\" + rr);\r\n }\r\n var openopportunityId = Number(localStorage.getItem('openopportunityId'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == openopportunityId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 300));\r\n }\r\n else {\r\n this.Allopportunities_Won = [];\r\n this.outPropsEvent.emit(\"0:0\");\r\n }\r\n });\r\n\r\n }\r\n OpportunityLost(val, userids, searchval) {\r\n this.Allopportunities_Lost = [];\r\n this.opprtunityservice.GetAllOpportunitiesList(val, userids, this.startDateVal, this.endDateVal, searchval, this.currentuser.id, true).then((customer) => {\r\n if (customer.length > 0) {\r\n this.Allopportunities_Lost = customer;\r\n }\r\n else {\r\n this.Allopportunities_Lost = [];\r\n\r\n }\r\n });\r\n\r\n }\r\n OpportunityOpen(val, userids, searchval) {\r\n this.opprtunityservice.GetAllOpportunitiesList(val, userids, this.startDateVal, this.endDateVal, searchval, this.currentuser.id, true).then((customer) => {\r\n if (customer.length > 0) {\r\n this.Allopportunities_Open = customer;\r\n var openopportunityId = Number(localStorage.getItem('openopportunityId'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == openopportunityId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 300));\r\n }\r\n else {\r\n this.Allopportunities_Open = [];\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n rowClickAgGrid(rowEvent) {\r\n this.applicationComponent.CollapseSelectedMenu('opportunities');\r\n this.applicationComponent.ExpandSelectedMenu('opportunities');\r\n //if (this.type == 'Won') {\r\n // localStorage.setItem('openopportunityId', rowEvent.data.id);\r\n //} else if (this.type =='Open_ECD'){\r\n localStorage.setItem('openopportunityId', rowEvent.data.id);\r\n //}\r\n\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/${rowEvent.data.accountorcontactid}/${rowEvent.data.type}/null/${rowEvent.data.id}`);\r\n\r\n }\r\n\r\n OpportunityOpen_ECD(val, userids, searchval) {\r\n this.opprtunityservice.GetAllOpportunitiesByECD(val, userids, this.startDateVal, this.endDateVal, searchval, this.currentuser.id).then((customer) => {\r\n if (customer.length > 0) {\r\n this.Allopportunities_Open_ECD = customer;\r\n var openopportunityId = Number(localStorage.getItem('openopportunityId'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == openopportunityId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 300));\r\n }\r\n else {\r\n this.Allopportunities_Open_ECD = [];\r\n\r\n }\r\n });\r\n\r\n }\r\n}\r\n","
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n\r\n\r\n
      \r\n\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, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport * as moment from 'moment';\r\nimport { Accounts } from '../../../models/accounts';\r\nimport { Tickets } from '../../../models/tickets';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { DatePipe } from '@angular/common';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-tickets-dashboard',\r\n templateUrl: './tickets-dashboard.component.html',\r\n styleUrls: ['./tickets-dashboard.component.css']\r\n})\r\nexport class TicketsDashboardComponent implements OnInit {\r\n @Input()\r\n TaskGroupType: number;\r\n @Input()\r\n type: string;\r\n @Input()\r\n PageFrom: string;\r\n public ticketgridOptions: GridOptions;\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n public columnDefs: any[];\r\n Ticketslist: Array = [];\r\n public context;\r\n currentuser: any;\r\n allCustomers: Accounts[]; allmasterCustomers: Accounts[];\r\n allOnHoldCustomers: Accounts[];\r\n public ZenDeskTicketGridOptions: GridOptions;\r\n pageSize: string = \"1000\";\r\n colSelections: string;\r\n public ZendeskColumnDefs: any[];\r\n public ZendeskTrainerColumnDefs: any[];\r\n OpenTicketsUserlist: Array = [];\r\n ClosedTicketsUserlist: Array = [];\r\n DupClosedTicketsUserlist: Array = [];\r\n @Input()\r\n ticketType: string = \"Open Tickets\";\r\n displayCC = false;\r\n @Input()\r\n assignedTo: string = \"null\";\r\n dashticketType: string;\r\n AssignTo = \"\";\r\n CCTo = \"\";\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n Filter: string = \"My Tickets Only\";\r\n sortOrder: string = \"None\";\r\n @Input()\r\n startDateVal;\r\n @Input()\r\n endDateVal;\r\n\r\n OpenTicketsGrid: boolean = false;\r\n ClosedTicketsGrid: boolean = false;\r\n public SelectedStatus: number = 1; public SelectedAct: number=732;\r\n constructor(private router: Router, private customerService: CustomerService, public applicationComponent: ApplicationComponent, private opprtunityservice: OpprtunitiesService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.type == 'Tickets') {\r\n this.initializeTicketsAgGrid();\r\n }\r\n else if (this.type == 'ZendeskTicketsOpen' || this.type == 'ZendeskTicketsClosed' || this.type == 'ZendeskTicketsTrainer') {\r\n this.initializeZendeskAgGrid();\r\n }\r\n else {\r\n this.initializeAgGrid();\r\n }\r\n\r\n }\r\n initializeTicketsAgGrid() {\r\n\r\n this.ticketgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000,toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.context = this;\r\n this.createColumnDefs('');\r\n this.GetAllTicketsByTaskGroup();\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n var searcharray = [];\r\n\r\n let columnSelectionsArray: string[] = [];\r\n let selfobj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n selfobj.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n selfobj.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"contactname\") {\r\n selfobj.columnDefs.push({\r\n field: 'contactname', headerName: 'Contact Name', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accountName\") {\r\n selfobj.columnDefs.push({\r\n field: 'accountName', headerName: 'Account', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n selfobj.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'ticketId', headerName: 'Ticket', hide: true },\r\n {\r\n field: 'createdDate', headerName: 'Created Date', hide: false, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'accountName', headerName: 'Account', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'contactname', headerName: 'Contact name', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'email', headerName: 'Email', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'UserName', headerName: 'User Name', hide: true, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false },\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n {\r\n field: 'priority', headerName: 'Priority', hide: false, cellRenderer: function (params) {\r\n if (params.data.priority == 1) {\r\n return 'Yes';\r\n\r\n } else {\r\n return 'No';\r\n }\r\n }\r\n },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n { field: 'CCToName', headerName: 'CC', hide: true },\r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false\r\n },\r\n {\r\n field: 'action', headerName: 'Action', hide: false,\r\n\r\n }\r\n\r\n ];\r\n\r\n }\r\n\r\n }\r\n\r\n GetAllTicketsByTaskGroup() {\r\n this.customerService.GetTicketsByTaskGroup(this.currentuser.id, this.TaskGroupType).then((tickets) => {\r\n this.Ticketslist = tickets;\r\n });\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: false, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: 'single', enableCellChangeFlash: true, suppressSorting: true, suppressMultiSort: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n this.createAccColumnDefs('', this.applicationComponent.searchstring, this.applicationComponent.SearchSelectedItems);\r\n var myDashactivity = localStorage.getItem('myDashactivity');\r\n if (myDashactivity != null) {\r\n this.SelectedAct = Number(myDashactivity);\r\n } else {\r\n this.SelectedAct = 732;\r\n }\r\n \r\n var myDashactivityStatus = localStorage.getItem('myDashactivityStatus');\r\n if (myDashactivityStatus != null) {\r\n this.SelectedStatus = Number(myDashactivityStatus);\r\n } else {\r\n this.SelectedStatus = 1;\r\n }\r\n this.getAccountsData(this.SelectedAct, this.SelectedStatus);\r\n this.getCustomerOnHoldData();\r\n //this.getCustomersOnholdData();\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n\r\n\r\n\r\n }\r\n createAccColumnDefs(columnSelections: string, searchval: string, SearchSelectedItems) {\r\n\r\n let selfObj = this;\r\n selfObj.columnDefs = [\r\n //{ \r\n // headerName: '#',\r\n // field: '#',\r\n // width: 52,\r\n // checkboxSelection: true,\r\n // suppressSorting: true,\r\n // suppressMenu: true,\r\n // pinned: true,\r\n // hide: false, outerWidth: 8,\r\n // headerCheckboxSelection: true,\r\n // headerCheckboxSelectionFilteredOnly: true\r\n //},\r\n { field: 'id', headerName: 'Id', hide: true },\r\n //{ field: 'accnumber', headerName: 'Act Number', hide: true, cellStyle: { color: 'red' }},\r\n //{ field: 'TickerSymbol', headerName: ' Ticket Symbol', hide: true },\r\n //{ field: 'NoOfEmployees', headerName: 'NoOfEmployees', hide:true },\r\n //{ field: 'IsContact', headerName: ' Is Contact?', hide: true },\r\n {\r\n\r\n field: 'accountname', headerName: 'Account Name', hide: false,\r\n },\r\n {\r\n\r\n field: 'statusName', headerName: 'Status', hide: false,\r\n },\r\n {\r\n field: 'specialityName', headerName: 'Specialty', hide: false,\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false,\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false,\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false,\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false,\r\n },\r\n {\r\n field: 'zip', headerName: 'Zip', hide: false,\r\n },\r\n {\r\n field: 'countryname', headerName: 'Country', hide: false,\r\n },\r\n {\r\n field: 'phone', headerName: 'Phone', hide: true,\r\n },\r\n //{\r\n // field: 'mapit', headerName: 'Map It', hide: false, width: 80, cellRenderer(params) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = '';\r\n // //eDiv.addEventListener('click', function () {\r\n // //});\r\n // return eDiv;\r\n // } \r\n //},\r\n {\r\n field: 'ehrName', headerName: 'EHR', hide: false,\r\n },\r\n {\r\n field: 'pmName', headerName: 'PM', hide: false,\r\n },\r\n\r\n {\r\n field: 'rcmName', headerName: 'RCM', hide: false,\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false,\r\n },\r\n\r\n //{\r\n // field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false},\r\n\r\n\r\n ];\r\n\r\n }\r\n TicketcellDoubleClicked(event, ticketType) {\r\n this.applicationComponent.ExpandSelectedMenu('tickets');\r\n localStorage.setItem('includecc', (event.data.CCTo == \"\" || event.data.CCTo == null) ? \"false\" : \"true\");\r\n localStorage.setItem('tickettype', event.data.TicketStatus);\r\n localStorage.setItem('openTicketId', event.data.ticketId);\r\n this.router.navigateByUrl(`/application/zendeskhome/${event.data.contactid}/${event.data.ticketId}/Open Tickets`);\r\n }\r\n onSelectionChanged(event) { \r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n localStorage.setItem('RhxAccountVal', event.api.getSelectedNodes()[0].data.id);\r\n if (this.PageFrom != 'dashboard') {\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/account/Customer`);\r\n SO.applicationComponent.ExpandSelectedMenu('customers');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n SO.applicationComponent.selectedtabid = 'customers';\r\n }, 100));\r\n }, 50));\r\n }\r\n }\r\n } \r\n }\r\n cellDoubleClicked(event) {\r\n localStorage.setItem('openCustActivityid', event.data.id);\r\n this.loadCutomergrid();\r\n\r\n }\r\n cellCustomerOnholdDoubleClicked(event) {\r\n localStorage.setItem('openCustomerholdid', event.data.id);\r\n this.loadCutomergrid();\r\n }\r\n\r\n loadCutomergrid() {\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/account/Customer`);\r\n SO.applicationComponent.ExpandSelectedMenu('customers');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n SO.applicationComponent.selectedtabid = 'customers';\r\n }, 100));\r\n }, 50));\r\n }\r\n getAccountsData(val, custsatus) {\r\n this.opprtunityservice.GetAlllastActivity($(\"#userids\").val(), (this.type == 'CustomerAccounts') ? 'CustomerAccounts' : 'No Activity (60+ days)', '1').then((accounts) => {\r\n this.allCustomers = accounts.filter(x => x.isCustomer == 874);\r\n \r\n this.allmasterCustomers = this.allCustomers;\r\n if (val == 731) {\r\n if (custsatus == 1 || custsatus == 2) {\r\n this.allCustomers = this.allmasterCustomers.filter(x => x.customertypeid == custsatus);\r\n }\r\n else {\r\n this.allCustomers = this.allmasterCustomers;\r\n }\r\n }\r\n else if (val == 732) {\r\n if (custsatus == 1 || custsatus == 2) {\r\n this.allCustomers = this.allmasterCustomers.filter(x => x.ownerid == this.currentuser.id && x.customertypeid == custsatus);\r\n }\r\n else {\r\n this.allCustomers = this.allmasterCustomers.filter(x => x.ownerid == this.currentuser.id);\r\n }\r\n }\r\n else if (val == 733) {\r\n if (custsatus == 1 || custsatus == 2) { this.allCustomers = this.allmasterCustomers.filter(x => x.Salesrep == this.currentuser.id && x.customertypeid == custsatus); }\r\n else {\r\n this.allCustomers = this.allmasterCustomers.filter(x => x.Salesrep == this.currentuser.id);\r\n }\r\n }\r\n else if (val == 734) {\r\n if (custsatus == 1 || custsatus == 2) { this.allCustomers = this.allmasterCustomers.filter(x => x.ownerid != this.currentuser.id && x.customertypeid == custsatus); }\r\n else {\r\n this.allCustomers = this.allmasterCustomers.filter(x => x.ownerid != this.currentuser.id);\r\n }\r\n } else {\r\n if (custsatus == 1 || custsatus == 2) {\r\n this.allCustomers = this.allmasterCustomers.filter(x => x.ownerid != this.currentuser.id && x.customertypeid == custsatus)\r\n }\r\n else {\r\n this.allCustomers = this.allmasterCustomers.filter(x => x.ownerid != this.currentuser.id);\r\n }\r\n }\r\n var openCustActivityid = Number(localStorage.getItem('openCustActivityid'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == openCustActivityid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 300));\r\n });\r\n \r\n }\r\n getCustomerOnHoldData() {\r\n this.allOnHoldCustomers = [];\r\n this.opprtunityservice.GetAlllastActivity($(\"#userids\").val(), 'CustomeronHold', '1').then((holdaccounts) => {\r\n this.allOnHoldCustomers = holdaccounts; \r\n var openCustomerholdid = Number(localStorage.getItem('openCustomerholdid'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == openCustomerholdid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 300));\r\n });\r\n }\r\n \r\n initializeZendeskAgGrid() {\r\n\r\n this.ZenDeskTicketGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, paginationPageSize: 1000, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n //let gridconfigId = (this.type == 'ZendeskTicketsOpen') ? 53 : (this.type == 'ZendeskTicketsTrainer') ? 53 : 53;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 53).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n if (this.ZenDeskTicketGridOptions && this.ZenDeskTicketGridOptions.api)\r\n this.ZenDeskTicketGridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n //this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n this.createZendeskColumnDefs(columnSelections);\r\n if (this.ticketType == 'Open Tickets') {\r\n //if (this.type == 'ZendeskTicketsTrainer') {\r\n\r\n //}\r\n //else {\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n // }\r\n } else if (this.ticketType == 'Closed Tickets') {\r\n this.GetAllZendeskUersClosed(this.Filter, this.sortOrder);\r\n }\r\n //this.UpdateSearchColumns(columnSelections)\r\n });\r\n\r\n this.context = this;\r\n }\r\n\r\n \r\n createZendeskColumnDefs(columnSelections: string) {\r\n var searcharray = [];\r\n if (this.applicationComponent.searchCriteriadata) {\r\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\r\n if (searchaarraystring.includes(' /')) {\r\n searcharray = searchaarraystring.split(' / ');\r\n } else {\r\n searcharray.push(searchaarraystring);\r\n }\r\n }\r\n let columnSelectionsArray: string[] = [];\r\n\r\n let selfobj = this;\r\n\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n selfobj.ZendeskColumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n selfobj.ZendeskColumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"contactname\") {\r\n selfobj.ZendeskColumnDefs.push({\r\n field: 'contactname', headerName: 'Contact Name', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accountName\") {\r\n selfobj.ZendeskColumnDefs.push({\r\n field: 'accountName', headerName: 'Account', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n\r\n else if (fieldHeaderVisibleWidthArray[0] == \"TicketStatus\") {\r\n selfobj.ZendeskColumnDefs.push({\r\n field: 'TicketStatus', headerName: 'Status', hide: false,\r\n\r\n });\r\n }\r\n\r\n else {\r\n selfobj.ZendeskColumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n if (selfobj.type == \"ZendeskTicketsOpen\") {\r\n selfobj.ZendeskColumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: true,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'ticketId', headerName: 'Ticket', hide: true },\r\n\r\n {\r\n field: 'accountName', headerName: 'Account', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'priority', headerName: 'Priority', hide: false, cellRenderer: function (params) {\r\n if (params.data.priority == 1) {\r\n return 'Yes';\r\n\r\n } else {\r\n return 'No';\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'contactname', headerName: 'Contact name', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'createdDate', headerName: 'Created Date', hide: false, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n\r\n {\r\n field: 'email', headerName: 'Email', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false },\r\n\r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false,\r\n\r\n },\r\n\r\n ];\r\n }\r\n else if (selfobj.type == \"ZendeskTicketsClosed\") {\r\n selfobj.ZendeskColumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: true,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'ticketId', headerName: 'Ticket', hide: true },\r\n\r\n {\r\n field: 'accountName', headerName: 'Account', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n\r\n {\r\n field: 'contactname', headerName: 'Contact name', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'createdDate', headerName: 'Created Date', hide: false, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false },\r\n\r\n {\r\n field: 'priority', headerName: 'Priority', hide: false, cellRenderer: function (params) {\r\n if (params.data.priority == 1) {\r\n return 'Yes';\r\n\r\n } else {\r\n return 'No';\r\n }\r\n }\r\n },\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n\r\n {\r\n field: 'email', headerName: 'Email', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n\r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false,\r\n\r\n },\r\n\r\n ];\r\n }\r\n else {\r\n selfobj.ZendeskColumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: true,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'ticketId', headerName: 'Ticket', hide: true },\r\n {\r\n field: 'createdDate', headerName: 'Created Date', hide: false, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'accountName', headerName: 'Account', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'contactname', headerName: 'Contact name', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'email', headerName: 'Email', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'UserName', headerName: 'User Name', hide: true, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false },\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n {\r\n field: 'priority', headerName: 'Priority', hide: false, cellRenderer: function (params) {\r\n if (params.data.priority == 1) {\r\n return 'Yes';\r\n\r\n } else {\r\n return 'No';\r\n }\r\n }\r\n },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n { field: 'CCToName', headerName: 'CC', hide: true },\r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false,\r\n\r\n },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, cellRenderer(params) {\r\n if (params.data.TicketStatus != '6') {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n //selfobj.deleteClosedTicket(params.data);\r\n });\r\n return eDiv;\r\n }\r\n else {\r\n return null;\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n ];\r\n }\r\n }\r\n selfobj.ZenDeskTicketGridOptions.getRowStyle = function (params) {\r\n if (params.data.assignTicketToUser != null && params.data.assignTicketToUser == selfobj.currentuser.id && params.data.readstatus == 0) {\r\n return { 'font-weight': 'bold' };\r\n }\r\n }\r\n }\r\n\r\n GetAllZendeskUers(filter, sortOrder) {\r\n if (this.ticketType == \"\") {\r\n this.OpenTicketsUserlist = [];\r\n this.ClosedTicketsUserlist = [];\r\n }\r\n else {\r\n if (this.ticketType == 'Open Tickets') {\r\n filter = 'My Tickets Only'\r\n }\r\n\r\n this.customerService.GetTicketsList(this.ticketType, filter, this.currentuser.id, sortOrder, this.displayCC, this.assignedTo).then((tickets) => {\r\n\r\n tickets.forEach(ele => {\r\n ele.createdDate = this.datePipe.transform(ele.createdDate, \"MM-dd-yyyy\")\r\n this.AssignTo = '';\r\n this.CCTo = '';\r\n if (ele.assignTicketToTask != null) {\r\n ele.assignTicketToTask = \"TG-\" + ele.assignTicketToTask;\r\n this.AssignTo = ele.assignTicketToTask;\r\n }\r\n if (ele.assignTicketToUser != null) {\r\n ele.assignTicketToUser = \"USR-\" + ele.assignTicketToUser;\r\n this.AssignTo = ele.assignTicketToUser\r\n }\r\n\r\n if (ele.CCToTask != null) {\r\n ele.CCToTask = \"TG-\" + ele.CCToTask;\r\n this.CCTo = ele.CCToTask;\r\n }\r\n if (ele.CCTo != null) {\r\n ele.CCTo = \"USR-\" + ele.CCTo;\r\n this.CCTo = ele.CCTo\r\n }\r\n\r\n });\r\n\r\n if (this.ticketType == \"Open Tickets\") {\r\n this.OpenTicketsUserlist = tickets;\r\n var openMyticketid = Number(localStorage.getItem('openTicketId'));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ZenDeskTicketGridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == openMyticketid) {\r\n selfObj.ZenDeskTicketGridOptions.api.selectNode(node, true);\r\n selfObj.ZenDeskTicketGridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 300));\r\n \r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n }\r\n GetAllZendeskUersClosed(filter, sortOrder) {\r\n if (this.ticketType == \"\") {\r\n }\r\n else {\r\n if (this.ticketType == 'Open Tickets') {\r\n filter = 'My Tickets Only'\r\n }\r\n\r\n this.customerService.GetTicketsList(this.ticketType, filter, this.currentuser.id, sortOrder, this.displayCC, this.assignedTo).then((tickets) => {\r\n tickets.forEach(ele => {\r\n\r\n ele.createdDate = this.datePipe.transform(ele.createdDate, \"MM-dd-yyyy\")\r\n this.AssignTo = '';\r\n this.CCTo = '';\r\n if (ele.assignTicketToTask != null) {\r\n ele.assignTicketToTask = \"TG-\" + ele.assignTicketToTask;\r\n this.AssignTo = ele.assignTicketToTask;\r\n }\r\n if (ele.assignTicketToUser != null) {\r\n ele.assignTicketToUser = \"USR-\" + ele.assignTicketToUser;\r\n this.AssignTo = ele.assignTicketToUser\r\n }\r\n\r\n if (ele.CCToTask != null) {\r\n ele.CCToTask = \"TG-\" + ele.CCToTask;\r\n this.CCTo = ele.CCToTask;\r\n }\r\n if (ele.CCTo != null) {\r\n ele.CCTo = \"USR-\" + ele.CCTo;\r\n this.CCTo = ele.CCTo\r\n }\r\n\r\n });\r\n\r\n this.ClosedTicketsUserlist = tickets;\r\n\r\n // tickets.forEach(ele => {\r\n // if (new Date(ele.createdDate) > new Date(this.startDateVal)) {\r\n // alert(ele.createdDate);\r\n // this.DupClosedTicketsUserlist.push(ele);\r\n // } \r\n\r\n // });\r\n\r\n //this.ClosedTicketsUserlist = this.DupClosedTicketsUserlist;\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n LoadTickets(startdate, enddate, tickettype) {\r\n this.startDateVal = startdate;\r\n this.endDateVal = enddate;\r\n this.ticketType = tickettype;\r\n //if (this.ticketType == 'Open Tickets') {\r\n // this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n //} else if (this.ticketType == 'Closed Tickets') {\r\n // this.GetAllZendeskUersClosed(this.Filter, this.sortOrder);\r\n //}\r\n\r\n this.initializeZendeskAgGrid();\r\n }\r\n\r\n\r\n GetTicketsByGroup() {\r\n //this.customerService.GetTicketsList(this.ticketType, filter, this.currentuser.id, sortOrder, this.displayCC, this.assignedTo).then((tickets) => {\r\n\r\n //});\r\n }\r\n}\r\n","
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      {{title}}

      \r\n
      {{description}}
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \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, EventEmitter, Output, Input } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-delete-popup',\r\n templateUrl: './delete-popup.component.html',\r\n styleUrls: ['./delete-popup.component.css']\r\n})\r\nexport class DeletePopupComponent implements OnInit {\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n @Input() status;\r\n @Input() MessageType;\r\n\r\n @Input() title;\r\n @Input() description;\r\n @Input() isok;\r\n @Input() issave;\r\n @Input() iscancel;\r\n @Input() isdiscard;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n CRMOK() { this.sendMsgEvent.emit(\"Ok\"); }\r\n CRMSAVE() { }\r\n CRMDISCARD() { }\r\n CRMCANCEL() { this.sendMsgEvent.emit(\"Cancel\"); }\r\n //Confirmation(val) {\r\n // if (val) {\r\n // this.sendMsgEvent.emit(\"Ok\");\r\n // } else {\r\n // this.sendMsgEvent.emit(\"Cancel\");\r\n // }\r\n \r\n //}\r\n}\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, OnChanges, EventEmitter } from '@angular/core';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css'],\r\n animations: [\r\n trigger('dialog', [\r\n transition('void => *', [\r\n style({ transform: 'scale3d(.3, .3, .3)' }),\r\n animate(100)\r\n ]),\r\n transition('* => void', [\r\n animate(100, style({ transform: 'scale3d(.0, .0, .0)' }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class DialogComponent implements OnInit {\r\n @Input() closable = true;\r\n @Input() type: string;\r\n @Input() visible: boolean;\r\n @Input() CalendarDialog: boolean;\r\n @Input() CloseButtonColor: string = 'black';\r\n @Input() StayVisible: boolean = false;\r\n @Input() OutSideClick: boolean = true; \r\n @Output() visibleChange: EventEmitter = new EventEmitter();\r\n @Output() Change: EventEmitter = new EventEmitter();\r\n\r\n ngOnInit() { \r\n var url = window.location.href;\r\n if (url.indexOf('month-calender') > -1) {\r\n \r\n }\r\n if (url.indexOf('addAccount') > -1) {\r\n }\r\n \r\n }\r\n\r\n close() { \r\n if ($.trim($(\"#test\").val()) != '') {\r\n if (this.StayVisible === false) {\r\n \r\n const yes = confirm(\"You have not completed adding the \" + $(\"#test\").val() + \" information, click OK to exit (the Data will not be saved) or click Cancel and continue adding information in the \" + $(\"#test\").val() + \".\");\r\n if (yes) {\r\n $(\"#test\").val('');\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n $('#typeClicked').val('');\r\n $('#closeDetailsDialog').click();\r\n } else {\r\n\r\n return false;\r\n }\r\n } else {\r\n this.visibleChange.emit(true);\r\n }\r\n \r\n } else {\r\n if (this.StayVisible == false) {\r\n if (this.type == \"Contactphoto\") {\r\n this.Change.emit(\"Contactphoto\");\r\n }\r\n else{\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n }\r\n \r\n } else if (this.StayVisible == true) {\r\n this.visibleChange.emit(true);\r\n }\r\n \r\n $('#typeClicked').val('');\r\n $('#closeDetailsDialog').click();\r\n }\r\n\r\n }\r\n}\r\n","
      \r\n \r\n
      \r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { Column, GridOptions, RowDragEndEvent } from 'ag-grid';\r\nimport * as moment from 'moment';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { SystemRowConfiguration } from '../../models/system-row-configuration';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { EditdeleteComponent } from '../editdelete/editdelete.component';\r\nimport { Document } from '../../models/document';\r\nimport { UserService } from '../../services/user.service';\r\nimport { DocumentmanagementComponent } from '../documentmanagement/documentmanagement.component';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-document-management-configuration',\r\n templateUrl: './document-management-configuration.component.html',\r\n styleUrls: ['./document-management-configuration.component.css']\r\n})\r\nexport class DocumentManagementConfigurationComponent implements OnInit {\r\n DocMgmtHomePage: boolean = true;\r\n DocMgmtPage: boolean = false;\r\n selectedDocType: string;\r\n currentuser: any;\r\n DocumenttypeList: Dropdowntype[] = [];\r\n public gridOptionsDM: GridOptions;\r\n public sideBar;\r\n pageSize: string = \"1000\";\r\n colSelections: string;\r\n public context;\r\n public frameworkComponents;\r\n public documentscolumnDefs: any[];\r\n permissionlevellist: Dropdowntype[] = [];\r\n selectedtype: string = \"Accounts & Contacts\";\r\n documenttypeList = [];\r\n deleteRowData: any;\r\n finaldocumentlist: Document[] = [];\r\n DeletedDoc: any;\r\n documentNamesList: any[] = [];\r\n ShowDeleteDocNameMatch: boolean = false;\r\n ShowDeleteDocNamePermission: boolean = false;\r\n userdocumentlist: any[] = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n userdocumentcount: number = 0;\r\n currentYear = new Date().getFullYear();\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal === undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal === undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n finalitems = \"\"; dropdownSetting = {};\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal === undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal === undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");\r\n selectedItems = [];\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\r\n documentlist: Document[] = [];\r\n private gridApi;\r\n SelReportType: string = '496';\r\n calanderonoff: boolean = true;\r\n doc: Document = new Document();\r\n @ViewChild(DocumentmanagementComponent) docMgmtComp;\r\n @Input() SubMenuType: string = null;\r\n constructor(private leadsService: LeadsService, private customerService: CustomerService, private opprtunityservice: OpprtunitiesService, public applicationComponent: ApplicationComponent, private toastr: ToastrService, private userservice: UserService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.customerService.GetSpecialityList(\"DocumnentType\", this.currentuser.id).then((Documenttype) => {\r\n Documenttype.forEach(Documenttype => {\r\n });\r\n this.DocumenttypeList = Documenttype;\r\n //this.ChangeDocumentType();\r\n this.initializeAgGrid();\r\n });\r\n if (this.SubMenuType !== null && this.SubMenuType !== undefined && this.SubMenuType !== '') {\r\n this.AccessDiv(this.SubMenuType);\r\n } else {\r\n var obj: AuditLogModel = { id: 0, type: 'Document MGMT Configuration', action: 'Doc Mgmt Config', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Doc Mgmt Config', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n }\r\n ChangeVal(val) {\r\n this.docMgmtComp.ChangeVal(val);\r\n }\r\n AccessDiv(val) {\r\n this.DocMgmtPage = true;\r\n this.DocMgmtHomePage = false;\r\n \r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Document MGMT Configuration', action: 'Doc Mgmt Config - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Doc Mgmt Config - ' + val, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n this.ChangeDocumentType();\r\n }\r\n\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n }\r\n\r\n ChangeDocumentType() {\r\n this.selectedDocType = $(\"#DocumenttypeId option:selected\").text();\r\n //this.loadPermissionLevel(this.selectedDocType);\r\n this.docMgmtComp.loaddocuments(this.selectedDocType, this.currentYear);\r\n }\r\n loadPermissionLevel(type) {\r\n var dropdowntype = \"\";\r\n if (type == \"Accounts & Contacts\") {\r\n dropdowntype = \"PermissionLevel\";\r\n }\r\n else {\r\n dropdowntype = \"UserPermissionLevel\";\r\n }\r\n this.customerService.GetSpecialityList(dropdowntype, this.currentuser.id).then((PermissionLevel) => {\r\n PermissionLevel.forEach(PermissionLevel => {\r\n });\r\n this.permissionlevellist = PermissionLevel;\r\n });\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptionsDM = {\r\n pagination: false, enableColResize: true, enableSorting: true, paginationPageSize: 1000, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: false, toolPanelSuppressPivotMode: false, rowSelection: 'single',\r\n toolPanelSuppressValues: false, enableCellChangeFlash: true, enableMultiRowDragging: true,\r\n\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n \r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 56).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.createColumnDefs(this.colSelections);\r\n this.getUserDocumentList(this.currentYear, 1, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n });\r\n \r\n\r\n \r\n this.gridOptionsDM.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeleteComponent,\r\n };\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.documentscolumnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n\r\n if (fieldHeaderVisibleWidthArray[0] === \"#\") {\r\n this.documentscolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] === \"actions\") {\r\n this.documentscolumnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: fieldHeaderVisibleWidthArray[2] === \"true\" ? false : true, pinned: 'right', width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else {\r\n this.documentscolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] === \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n\r\n\r\n }\r\n } else {\r\n let selfObj = this;\r\n this.documentscolumnDefs = [\r\n\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 70,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag:true,\r\n },\r\n { field: 'DateUploaded', headerName: 'Date Created', hide: false },\r\n { field: 'documentname', headerName: 'Document Name', hide: false, editable: true },\r\n { field: 'UploadedBy', headerName: 'Saved By', hide: false },\r\n { field: 'documentdescription', headerName: 'Description', hide: true },\r\n { field: 'Size', headerName: 'Size', hide: true },\r\n {\r\n field: 'PermissionlevelName', headerName: 'Permission to View', hide: false, editable: true,\r\n cellEditor: \"agRichSelectCellEditor\",\r\n cellEditorParams: function (params) {\r\n return {\r\n values: Array.prototype.map.call(selfObj.permissionlevellist, s => s.itemName),\r\n formatValue: function (value) {\r\n }\r\n };\r\n }, cellRenderer(params) {\r\n return params.data.PermissionlevelName;\r\n }\r\n },\r\n {\r\n field: 'doctab', headerName: 'Document Tab', cellEditor: \"agRichSelectCellEditor\", editable: true,\r\n hide: (selfObj.selectedtype === \"MySalesXCRM\" || selfObj.selectedtype === \"SalesXUsers\") ? false : true, cellRenderer(params) {\r\n return params.data.doctab;\r\n },\r\n cellEditorParams: {\r\n cellHeight: 25,\r\n values: [\"Expense Report\", \"Sales Report\", \"Company Documents\", \"Performance Reviews\", \"Miscellaneous\"],\r\n formatValue: function (value) {\r\n }\r\n \r\n },\r\n\r\n },\r\n { field: 'documentdescription', headerName: 'Document Description', hide: (selfObj.selectedtype === \"MySalesXCRM\" || selfObj.selectedtype === \"SalesXUsers\") ? false : true },\r\n { field: 'DeActivatedUser', headerName: 'DeActivated By', hide: (selfObj.selectedtype === \"Account\" || selfObj.selectedtype === \"Contact\") ? true : false },\r\n {\r\n field: 'actions', headerName: 'Actions', hide: false, pinned: 'right', width: 80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted === 0) {\r\n eDiv.innerHTML = '';\r\n } else {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n //selfObj.checkDocPermissionLinked(params.data);\r\n if (params.data.isdeleted === 0) {\r\n selfObj.checkDocPermissionLinked(params.data);\r\n } else {\r\n selfObj.UndoDocname(params.data);\r\n }\r\n });\r\n return eDiv;\r\n\r\n }\r\n },\r\n ];\r\n }\r\n\r\n \r\n }\r\n\r\n checkDocPermissionLinked(Data) {\r\n this.documenttypeList = [];\r\n this.deleteRowData = Data;\r\n this.customerService.GetAllDocumentByPermissionLevel(this.currentuser.id, Data.id).then((userdocument) => {\r\n //this.finaldocumentlist = userdocument;\r\n if (userdocument.length > 0) {\r\n this.DeletedDoc = Data;\r\n this.customerService.GetAllDocumentNamePermissionList(this.selectedtype, this.currentuser.id).then((document) => {\r\n document.forEach(doc => {\r\n this.documenttypeList.push({ \"id\": doc.id, \"itemName\": doc.documentname, \"category\": doc.permissionlevel });\r\n });\r\n this.documentNamesList = document;\r\n });\r\n this.ShowDeleteDocNameMatch = true;\r\n this.ShowDeleteDocNameMatchCss();\r\n } else {\r\n\r\n this.ShowDeleteDocNamePermission = true;\r\n this.ShowDeleteDocNamePermissionCss();\r\n }\r\n });\r\n\r\n }\r\n\r\n UndoDocname(Data) {\r\n this.deleteRowData = Data;\r\n this.ShowDeleteDocNamePermission = true;\r\n this.ShowDeleteDocNamePermissionCss();\r\n\r\n }\r\n\r\n ShowDeleteDocNameMatchCss() {\r\n setTimeout(function () {\r\n $('#ShowDeleteDocNameMatch .dialog').attr('style', 'width: 45%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 81%;overflow: auto;height: 81%;top: 11%;left: 53%;');\r\n }, 4);\r\n }\r\n\r\n ShowDeleteDocNamePermissionCss() {\r\n setTimeout(function () {\r\n $('#ShowDeleteDocNamePermission .dialog').attr('style', 'width: 30%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 21%;top:10%');\r\n }, 4);\r\n }\r\n\r\n\r\n getUserDocumentList(selYear, startrow, endrow, userids, startval, endval) {\r\n\r\n if (this.selectedtype === undefined) { this.selectedtype = 'Accounts & Contacts'; }\r\n else if (this.selectedtype === \"MySalesXCRM\") {\r\n this.selectedtype = this.selectedtype;\r\n }\r\n\r\n\r\n if (this.selectedtype === 'Accounts & Contacts' || this.selectedtype === \"MySalesXCRM\") {\r\n this.customerService.GetAllDocumentNamePermissionList(this.selectedtype, this.currentuser.id).then((document) => {\r\n document.forEach(document => {\r\n document.DateUploaded = this.datePipe.transform(document.DateUploaded, \"MM-dd-yyyy\");\r\n });\r\n\r\n this.userdocumentlist = document;\r\n this.userdocumentcount = this.userdocumentlist.length;\r\n if (this.userdocumentlist.length === 0) {\r\n $('.ag-overlay-no-rows-center').html('No Documents Found');\r\n }\r\n\r\n });\r\n }\r\n \r\n }\r\n\r\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(this.selectedtype.trim() + \"DocManagement\");\r\n this.saveConfigurationDM(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n columnVisibleDM(event) {\r\n this.saveConfigurationDM(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n dragStoppedDM(event) {\r\n this.saveConfigurationDM(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n columnResizedDM(event) {\r\n if (event.finished === true)\r\n this.saveConfigurationDM(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n saveConfigurationDM(pagesize, start, End) {\r\n let allCols: Column[] = this.gridOptionsDM.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize === \"\")\r\n config.maxlimit =1000;\r\n else\r\n config.maxlimit = Number(pagesize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 56;\r\n config.startdate = start;\r\n config.enddate = End;\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n this.gridOptionsDM.api.forEachNode((node) => {\r\n sortoorder.push(node.data.id);\r\n });\r\n\r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i === a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentuser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n\r\n });\r\n\r\n }\r\n\r\n onSelectionChanged(event) {\r\n\r\n var rowCount = event.api.getSelectedNodes();\r\n this.documentlist = [];\r\n rowCount.forEach(ele => {\r\n let newdoc = new Document();\r\n newdoc.id = ele.data.id;\r\n newdoc.documentname = ele.data.documentname;\r\n newdoc.permissionlevel = ele.data.permissionlevel;\r\n newdoc.uploadedfilename = ele.data.uploadedfilename;\r\n newdoc.Size = ele.data.Size;\r\n newdoc.documenttype = ele.data.documenttype;\r\n newdoc.imagecontent = ele.data.imagecontent;\r\n newdoc.extension = ele.data.extension;\r\n newdoc.documentdescription = '';\r\n newdoc.accountid = 0;\r\n newdoc.type = ele.data.type;\r\n this.documentlist.push(newdoc);\r\n\r\n });\r\n\r\n }\r\n\r\n onAgGridReady(event) {\r\n \r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > 1) {\r\n $('#buttonDiv').attr('style', 'margin-top: 0%;');\r\n }\r\n this.gridApi = event.api;\r\n }\r\n\r\n addCharge() {\r\n this.documentlist = [];\r\n let newdoc = new Document();\r\n newdoc.documentname = \"\";\r\n newdoc.permissionlevel = 0;\r\n newdoc.uploadedfilename = \"\";\r\n newdoc.Size = \"\";\r\n newdoc.documenttype = \"\";\r\n newdoc.imagecontent = \"\";\r\n newdoc.extension = \"\";\r\n newdoc.documentdescription = \"\";\r\n newdoc.accountid = 0;\r\n newdoc.type = \"\";\r\n this.documentlist.push(newdoc);\r\n }\r\n\r\n CancelDocuments() {\r\n this.documentlist = [];\r\n }\r\n SaveDocuments() {\r\n\r\n //let test: number = this.accountId;\r\n this.finaldocumentlist = [];\r\n let deleteDocuments: Document[] = [];\r\n\r\n this.documentlist.forEach(document => {\r\n let isValidate: boolean = false;\r\n if (document.documentname != null && document.documentname.trim() != \"\" && document.permissionlevel != null && document.permissionlevel != 0)\r\n isValidate = true;\r\n\r\n if (isValidate) {\r\n\r\n let newdoc = new Document();\r\n newdoc.id = document.id;\r\n newdoc.documentname = document.documentname;\r\n newdoc.uploadedby = this.currentuser.id;\r\n newdoc.uploadedfilename = document.uploadedfilename;\r\n newdoc.Size = document.Size;\r\n newdoc.documenttype = document.documenttype;\r\n newdoc.documentdescription = document.documentdescription;\r\n newdoc.permissionlevel = (this.selectedtype === \"MySalesXCRM\" || this.selectedtype === \" MySalesXCRM \" || this.selectedtype === \"Accounts & Contacts\") ? document.permissionlevel : document.documentnamepermissionid;\r\n newdoc.doctype = this.selectedtype;\r\n newdoc.imagecontent = document.imagecontent;\r\n newdoc.extension = document.extension;\r\n newdoc.accountid = 0;\r\n newdoc.type = (this.selectedtype === null) ? 'Account Or Contact' : (this.selectedtype === \"SalesXUsers\") ? 'MySalesXCRM' : this.selectedtype;\r\n \r\n this.finaldocumentlist.push(newdoc);\r\n\r\n deleteDocuments.push(document);\r\n }\r\n });\r\n\r\n if (this.finaldocumentlist.length > 0) {\r\n\r\n this.userservice.addDocumentNamePermission(this.finaldocumentlist).then(result => {\r\n this.toastr.success(\"Document names with permissions saved successfully.\", \"Document\", { timeOut: 600 });\r\n //this.loaddocuments(this.selectedtype.trim(), this.currentYear, this.SelReportType, this.currentuser.id, this.startDateVal, this.endDateVal, this.pageSize);\r\n this.getUserDocumentList(this.currentYear, 1, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n if (deleteDocuments.length > 0) {\r\n deleteDocuments.forEach(document => {\r\n let deleteIndex = this.documentlist.indexOf(document);\r\n if (deleteIndex >= 0)\r\n this.documentlist.splice(deleteIndex, 1);\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n //this.doc.uploadedby = this.currentuser.id;\r\n this.doc.lastediteduserId = this.currentuser.id;\r\n this.userservice.UpdatePermissionLevel(this.doc).then(result => {\r\n\r\n this.toastr.success(\"Document names with permissions Updated successfully.\", \"Document\", { timeOut: 600 });\r\n //this.loaddocuments(this.selectedtype.trim(), this.currentYear, this.SelReportType, this.currentuser.id, this.startDateVal, this.endDateVal, this.pageSize);\r\n this.getUserDocumentList(this.currentYear, 1, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n if (deleteDocuments.length > 0) {\r\n deleteDocuments.forEach(document => {\r\n let deleteIndex = this.documentlist.indexOf(document);\r\n if (deleteIndex >= 0)\r\n this.documentlist.splice(deleteIndex, 1);\r\n });\r\n }\r\n });\r\n\r\n }\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > -1) {\r\n\r\n //document.getElementById('documentsinfo').style.marginTop = \"9% !important\";\r\n }\r\n\r\n \r\n }\r\n \r\n}\r\n","
      \r\n\r\n
      \r\n \r\n \r\n\r\n\r\n
      \r\n\r\n
      0)\" class=\"col-md-12 col-sm-12 col-xs-12\" style=\"padding: 0;\" [style.height.%]=\"documentDivHeight\">\r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n Document Name :\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n Documnent Description :\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n Document Size :\r\n
      \r\n
      \r\n {{doc.Size}}\r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n User Saved\r\n
      \r\n
      \r\n {{doc.SavedBy}}\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n Date Saved :\r\n
      \r\n
      \r\n {{doc.datecreated | date : \"MM-dd-yyyy\"}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Time Saved :\r\n
      \r\n
      \r\n {{doc.datecreated | date:\"hh:mm a\"}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      DateTimeUserField Edited
      {{item.EditedDate}}{{item.EditedTime}}{{item.EditedByName}}{{item.FieldEdited}}
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      DOCUMENT TRANSFER
      \r\n
      \r\n

      \r\n Congratulation

      \r\n there were (18) documents transfered from
      \r\n {{this.selecteddocumentName}} to {{this.selectedtodocumentname}}

      \r\n

      \r\n \r\n

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

      \r\n There are (12) documants associated with the document description:

      \r\n {{this.selecteddocumentName}}

      \r\n Before the system can delete this document description,all documents associates with this document description must be transfered to\r\n another document descrption.

      \r\n Please select document decription from the table on right to transfer these documents too.\r\n

      \r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{doc.documentname}}
      \r\n

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

      \r\n DOCUMENT NAMES / MY DOCUMENTS PERMISSION\r\n

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      0)\">\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n

      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      Document Name
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      Permission Level
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Uploaded File
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      File Size
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      0)\">\r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n\r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n You are Deleting the following Document Name : {{DeletedDoc.documentname}}:
      \r\n
      \r\n\r\n
      \r\n The system has found the Document Name being used in the system.
      \r\n Before deleting you must select another document name
      \r\n to replace the document name you are Deleting.
      \r\n
      \r\n
      \r\n
      \r\n Please select a Document name to replace this Document \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      Access Denied

      \r\n
      Higher Level of Permission Required
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Document } from '../../models/document';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { GridOptions, ColumnUtils, ColumnApi, RowDragEndEvent } from \"ag-grid/main\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment'\r\nimport { PageComponent } from '../page/page.component';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { EditdeleteComponent } from '../editdelete/editdelete.component';\r\nimport { Column } from 'ag-grid';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { AppSettings } from 'src/app/app.settings';\r\nimport { SystemRowConfiguration } from 'src/app/models/system-row-configuration';\r\nimport { LeadsService } from 'src/app/services/leads.service';\r\nimport { DocumentHistory } from '../../models/DocumentHistory';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'documentmanagement',\r\n templateUrl: './documentmanagement.component.html',\r\n styleUrls: ['./documentmanagement.component.css']\r\n})\r\nexport class DocumentmanagementComponent implements OnInit {\r\n @Input()\r\n accountId: number = 0;\r\n @Input()\r\n isUploadDivVisible: boolean = false;\r\n @Input()\r\n documentview: boolean = false;\r\n @Input()\r\n isDocumentManagement: boolean = false;\r\n @Input() selectedtype: string;\r\n @Input() FilterType: string;\r\n documentDivHeight: number = 100;\r\n fromdocumentid: number;\r\n todocumentid: number;\r\n calanderonoff: boolean = false; pendingDocumentCount = 0;\r\n\r\n EditDiv: boolean = false;\r\n selectedtodocumentname: string;\r\n uploadDivHeight: number = screen.height * 0.6111;\r\n gridhgtforAccView: number = screen.height * 0.35555;\r\n documentlist: Document[] = [];\r\n finaldocumentlist: Document[] = [];\r\n doc: Document = new Document();\r\n docHistory: DocumentHistory[] = [];\r\n permissionlevellist: Dropdowntype[] = [];\r\n pageSize: string = \"1000\";\r\n currentuser: any;\r\n tablehgt = 145;\r\n @Input()\r\n accountstatisticBox: string = 'Open';\r\n @Input()\r\n parentPage;\r\n selecteddocumentName: string;\r\n userdocumentlist: any[] = [];\r\n Originaluserdocumentlist: any[] = [];\r\n userpendingdocumentlist: any[] = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n currentYear = new Date().getFullYear();\r\n public gridOptions: GridOptions;\r\n public gridOptionsDM: GridOptions;\r\n public documentscolumnDefs: any[];\r\n public DocumentNamecolumnDefs: any[];\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal === undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal === undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n finalitems = \"\"; dropdownSetting = {};\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal === undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal === undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n selectedItems = [];\r\n dropdownList = [];\r\n isPdfOpen = false;\r\n isselectedtransfered = false;\r\n documentDialog = false;\r\n GridLoad = false;\r\n ShowPDF = false;\r\n pdfDiv1 = false;\r\n isDocumentTransfer = false;\r\n documentNamesList: any[] = [];\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n documenttypeList = [];\r\n SelReportType: string = '496';\r\n isEditDocument = false;\r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n public context;\r\n public frameworkComponents;\r\n docTabList: Dropdowntype[] = [];\r\n conList: Dropdowntype[] = [];\r\n colSelections: string;\r\n Ids = [];\r\n FieldsEdited = [];\r\n DocumenttypeList: Dropdowntype[] = [];\r\n public sideBar;\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\r\n DeleteConfirmationPopup = false;\r\n deleteRowData: any;\r\n contactStatus: any;\r\n selectedUserIds: any;\r\n private gridApi;\r\n documentindex: number = 0;\r\n PreviewDocument: Document;\r\n userdocumentcount: number = 0;\r\n ShowDeleteDocNamePermission: boolean = false;\r\n ShowDeleteDocNameMatch: boolean = false;\r\n DeletedDoc: any; ReplaceItem = [];\r\n DocViewAccessDenied: boolean = false;\r\n selectedDocType: string;\r\n constructor(private leadsService: LeadsService, private router: Router, public applicationComponent: ApplicationComponent, private settings: AppSettings, private customerService: CustomerService, private userservice: UserService, private toastr: ToastrService, private paginationcop: PageComponent, private opprtunityservice: OpprtunitiesService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n checkEnable() {\r\n let isEnable: boolean = false;\r\n\r\n if (!this.isDocumentManagement) {\r\n isEnable = this.documentlist.find(x => (x.documentnamepermissionid != undefined && x.documentnamepermissionid != null && x.documentnamepermissionid != 0)) != null;\r\n } else {\r\n isEnable = this.documentlist.find(x => ((x.documentname != null && x.documentname.trim() != '') && (x.permissionlevel != null && x.permissionlevel != 0))) != null;\r\n }\r\n $('table td#myid').find('input:first').focus()\r\n return isEnable;\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: false, toolPanelSuppressPivotMode: false, toolPanelSuppressValues: false, rowSelection: 'Single'\r\n };\r\n\r\n this.gridOptionsDM = {\r\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: false, toolPanelSuppressPivotMode: false, rowSelection: 'single',\r\n toolPanelSuppressValues: false, enableCellChangeFlash: true, enableMultiRowDragging: true, rowDrag: true\r\n\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n if (this.isDocumentManagement) {\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 56).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.createColumnDefs(this.colSelections);\r\n\r\n });\r\n }\r\n else {\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 59).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.createColumnDefs(this.colSelections);\r\n\r\n });\r\n }\r\n\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.gridOptionsDM.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeleteComponent,\r\n };\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > 1) {\r\n $('#buttonDiv').attr('style', 'margin-top: 0%;');\r\n $('#documentManagementDiv').attr('style', 'height:83%');\r\n }\r\n if (url.indexOf('quick-view') > 1) {\r\n $('#documentManagementDiv').attr('style', 'height:88%');\r\n }\r\n if (url.indexOf('configurationdashboard') > 1) {\r\n\r\n this.tablehgt = 517;\r\n }\r\n\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.documentscolumnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n\r\n if (fieldHeaderVisibleWidthArray[0] === \"#\") {\r\n this.documentscolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] === \"actions\") {\r\n this.documentscolumnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: fieldHeaderVisibleWidthArray[2] === \"true\" ? false : true, pinned: 'right', width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else {\r\n this.documentscolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] === \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n\r\n\r\n }\r\n } else {\r\n let selfObj = this;\r\n this.documentscolumnDefs = [\r\n\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 70,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: (this.isDocumentManagement) ? true : false,\r\n },\r\n { field: 'DateUploaded', headerName: 'Date Created', hide: false },\r\n { field: 'documentname', headerName: 'Document Name', hide: false, editable: this.isDocumentManagement ? true : false },\r\n { field: 'documentdescription', headerName: 'Document Description', hide: (selfObj.selectedtype === \"MySalesXCRM\" || selfObj.selectedtype === \"SalesXUsers\") ? false : true },\r\n {\r\n field: 'doctab', headerName: 'Document Tab', cellEditor: \"agRichSelectCellEditor\", editable: true,\r\n hide: (selfObj.selectedtype === \"MySalesXCRM\" || selfObj.selectedtype === \"SalesXUsers\") ? false : true, cellRenderer(params) {\r\n return params.data.doctab;\r\n },\r\n cellEditorParams: {\r\n cellHeight: 25,\r\n values: [\"Expense Report\", \"Sales Report\", \"Company Documents\", \"Performance Reviews\", \"Miscellaneous\"],\r\n formatValue: function (value) {\r\n }\r\n },\r\n\r\n },\r\n { field: 'UploadedBy', headerName: 'Saved By', hide: false },\r\n {\r\n field: 'PermissionlevelName', headerName: 'Permission to View', hide: false, editable: true,\r\n cellEditor: \"agRichSelectCellEditor\",\r\n cellEditorParams: function (params) {\r\n return {\r\n values: Array.prototype.map.call(selfObj.permissionlevellist, s => s.itemName),\r\n formatValue: function (value) {\r\n }\r\n };\r\n }, cellRenderer(params) {\r\n return params.data.PermissionlevelName;\r\n }\r\n },\r\n\r\n { field: 'stat', headerName: 'Status', cellRenderer: (params) => {\r\n if (params.data.stat == '108') {\r\n return 'Open';\r\n }\r\n else if (params.data.stat == '109') {\r\n return 'Display Won';\r\n } else if (params.data.stat == '110') {\r\n return 'Display Lost';\r\n } else if (params.data.stat == '111') {\r\n return 'Display Pending';\r\n }\r\n }, hide: this.isDocumentManagement ? true : false },\r\n { field: 'Size', headerName: 'Size', hide: this.isDocumentManagement ? true : false },\r\n \r\n {\r\n field: 'documenttype', width: 120, headerName: 'Document Type', hide: this.isDocumentManagement ? true : false, cellRenderer(params) {\r\n let usrPermissionLevel = selfObj.currentuser.permissionlevelid;\r\n let docPermissionLevel = params.data.permissionlevel;\r\n var eDiv = document.createElement('div');\r\n if (params.data.extension.toLowerCase() === \"txt\") {\r\n eDiv.innerHTML = '';\r\n } else if (params.data.extension.toLowerCase() === \"pdf\") {\r\n eDiv.innerHTML = '';\r\n } else if (params.data.extension.toLowerCase() === \"doc\" || params.data.extension.toLowerCase() === \"docx\") {\r\n eDiv.innerHTML = '';\r\n } else if (params.data.extension.toLowerCase() === \"jpg\" || params.data.extension.toLowerCase() === \"jpeg\" || params.data.extension.toLowerCase() === \"png\") {\r\n eDiv.innerHTML = '';\r\n } else {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.PreviewDocument = params.data;\r\n selfObj.documentindex = params.rowIndex;\r\n if (selfObj.selectedtype === \"Account\" || selfObj.selectedtype === \"Contact\") {\r\n if (Number(params.data.permissionlevel) <= selfObj.currentuser.permissionlevelid) {\r\n selfObj.openfile(params.data.id, params.data.fileName, params.data.documenttype);\r\n\r\n } else {\r\n selfObj.DocViewAccessDeniedCss();\r\n }\r\n\r\n }\r\n else if (selfObj.selectedtype === \"MySalesXCRM\" || selfObj.selectedtype === \"SalesXUsers\") {\r\n if (params.data.DocSavedFrom === 'Proposal') {\r\n var val = selfObj.settings.baseUrl + \"Proposals/\" + params.data.fileName + \".pdf\";\r\n selfObj.onDocumentOpen(val);\r\n } else {\r\n if (Number(params.data.permissionlevel) <= selfObj.currentuser.userpermissionlevelid) {\r\n\r\n selfObj.openfile(params.data.id, params.data.fileName, params.data.documenttype);\r\n } else {\r\n selfObj.DocViewAccessDeniedCss();\r\n }\r\n }\r\n }\r\n else {\r\n //alert(\"You don't have permission to view this document.\");\r\n selfObj.DocViewAccessDeniedCss();\r\n }\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'DeActivatedUser', headerName: 'DeActivated By', hide: (selfObj.selectedtype === \"Account\" || selfObj.selectedtype === \"Contact\") ? true : false },\r\n\r\n { field: 'docsavedTo', headerName: 'Document Saved To', hide: (selfObj.selectedtype === \"Accounts & Contacts\" || selfObj.selectedtype === \"MySalesXCRM\" || selfObj.selectedtype === \"SalesXUsers\") ? true : false },\r\n \r\n \r\n \r\n { field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: !this.isDocumentManagement ? false : true, pinned: 'right', width: 80 },\r\n {\r\n field: 'actions', headerName: 'Actions', hide: this.isDocumentManagement ? false : true, pinned: 'right', width: 80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted === 0) {\r\n eDiv.innerHTML = '';\r\n } else {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n if (params.data.isdeleted === 0) {\r\n selfObj.checkDocPermissionLinked(params.data);\r\n } else {\r\n selfObj.UndoDocname(params.data);\r\n }\r\n });\r\n return eDiv;\r\n\r\n }\r\n },\r\n ];\r\n }\r\n\r\n this.DocumentNamecolumnDefs = [\r\n { field: 'documentdescription', headerName: 'Document Name', hide: false, editable: this.isDocumentManagement ? false : false },\r\n\r\n ];\r\n }\r\n\r\n checkDocPermissionLinked(Data) {\r\n this.documenttypeList = [];\r\n this.deleteRowData = Data;\r\n this.customerService.GetAllDocumentByPermissionLevel(this.currentuser.id, Data.id).then((userdocument) => {\r\n this.finaldocumentlist = userdocument;\r\n if (userdocument.length > 0) {\r\n this.DeletedDoc = Data;\r\n this.customerService.GetAllDocumentNamePermissionList(this.selectedtype, this.currentuser.id).then((document) => {\r\n document.forEach(doc => {\r\n this.documenttypeList.push({ \"id\": doc.id, \"itemName\": doc.documentname, \"category\": doc.permissionlevel });\r\n });\r\n this.documentNamesList = document;\r\n });\r\n this.ShowDeleteDocNameMatch = true;\r\n this.ShowDeleteDocNameMatchCss();\r\n } else {\r\n this.ShowDeleteDocNamePermission = true;\r\n this.applicationComponent.salesxcrmDialog('#ShowDeleteDocNamePermission .dialog'); \r\n }\r\n });\r\n }\r\n\r\n UndoDocname(Data) {\r\n this.deleteRowData = Data;\r\n this.ShowDeleteDocNamePermission = true;\r\n this.applicationComponent.salesxcrmDialog('#ShowDeleteDocNamePermission .dialog');\r\n }\r\n\r\n //onCellValueChanged(params) {\r\n\r\n // this.customerService.DeactivateDocument(params.data.id, 0, params.data.doctab, this.currentuser.id).then((user) => {\r\n // this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n // });\r\n //}\r\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(this.selectedtype.trim() + \"DocManagement\");\r\n this.saveConfigurationDM(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n this.gridOptionsDM.api.forEachNode((node) => {\r\n sortoorder.push(node.data.id);\r\n });\r\n\r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i === a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentuser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n\r\n });\r\n\r\n }\r\n cellEditingStopped(event) {\r\n\r\n let document: Document = new Document();\r\n document.id = event.node.data.id;\r\n document.documentname = event.node.data.documentname;\r\n let permissionlevelid: number = event.node.data.Permissionlevel;\r\n let permissionObj = this.permissionlevellist.find(x => x.itemName === event.node.data.permissionlevelname);\r\n if (permissionObj != null)\r\n permissionlevelid = permissionObj.id;\r\n\r\n document.permissionlevel = permissionlevelid;\r\n\r\n\r\n if (this.isDocumentManagement) {\r\n if (event.colDef.field === \"permissionlevelname\") {\r\n this.userservice.UpdatePermissionLevel(document).then(result => {\r\n\r\n this.toastr.success(\"Permission Level updated successfully.\", \"Permission Level Updated\", { timeOut: 600 });\r\n });\r\n } else {\r\n this.userservice.UpdateDocumentName(document).then(result => {\r\n\r\n this.toastr.success(\"Document Name updated successfully.\", \"Document Name Updated\", { timeOut: 600 });\r\n });\r\n }\r\n }\r\n }\r\n\r\n openfile(documentid, fileName, documenttype) {\r\n var myBaseString = \"\";\r\n\r\n this.customerService.GetDocumentById(documentid).then(result => {\r\n myBaseString = result.imagecontent;\r\n\r\n if (this.selectedtype === 'SalesXUsers') {\r\n this.sendMsgEvent.emit(myBaseString);\r\n } else {\r\n var res = this.niceBytes(result.Size);\r\n if (res <= 2097152) {\r\n this.onDocumentOpen(myBaseString);\r\n\r\n\r\n }\r\n else {\r\n this.openfilecharge1(result);\r\n }\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n }\r\n\r\n niceBytes(x) {\r\n const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n let l = 0, n = parseFloat(x) || 0;\r\n var type = x.split(\" \")[1];\r\n var bytes = 0;\r\n if (type == \"MB\") {\r\n bytes = n * 1048576;\r\n }\r\n else if (type == \"KB\") {\r\n bytes = n * 1024;\r\n } else {\r\n bytes = n;\r\n }\r\n\r\n return parseInt(bytes.toString());\r\n }\r\n\r\n onDocumentOpen(myBaseString) {\r\n this.ShowPDF = true;\r\n this.pdfDiv1 = true;\r\n this.sendMsgEvent.emit(\"ShowPDF\");\r\n $(setTimeout(function () {\r\n $('#pdfDiv1').css('display', 'block');\r\n $('#documentManagementDiv').css('display', 'none');\r\n\r\n $('#pdfDiv1').html('')\r\n $('#pdfDiv1').attr('style', 'height: 93%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n }, 200));\r\n\r\n\r\n\r\n }\r\n\r\n base64ToBlob(base64, type = \"application/octet-stream\") {\r\n const binStr = window.atob(base64);\r\n const len = binStr.length;\r\n const arr = new Uint8Array(len);\r\n for (let i = 0; i < len; i++) {\r\n arr[i] = binStr.charCodeAt(i);\r\n }\r\n return new Blob([arr], { type: type });\r\n }\r\n\r\n PDFDocumentOpen(myBaseString) {\r\n this.ShowPDF = true;\r\n $(setTimeout(function () {\r\n $('#documentManagementDiv').css('display', 'none');\r\n $('#pdfDiv').html('')\r\n $('#pdfDiv').attr('style', 'width:100%;height: 100%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;margin-left:0%');\r\n }, 100));\r\n }\r\n close() {\r\n this.ShowPDF = false;\r\n this.pdfDiv1 = false;\r\n this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal);\r\n this.sendMsgEvent.emit(\"Hide\");\r\n }\r\n ChangeVal(val) {\r\n if (val == 800) { this.selectedtype = \"Accounts & Contacts\"; }\r\n else { this.selectedtype = \"MySalesXCRM\"; }\r\n this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal);\r\n }\r\n openfilecharge(charge) {\r\n let myBaseString = charge.imagecontent;\r\n let fileName = charge.uploadedfilename;\r\n\r\n var data = myBaseString.split(\",\")\r\n var binary_string = window.atob(data[1]);\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n\r\n var arrayBufferView = new Uint8Array(bytes.buffer);\r\n\r\n if (charge.documenttype === \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\")\r\n var blob = new Blob([arrayBufferView], { type: charge.documenttype });\r\n else\r\n var blob = new Blob([arrayBufferView], { type: 'image/png/html' });\r\n\r\n var url = window.URL.createObjectURL(blob);\r\n\r\n var a = $(\"\").attr(\"href\", url).attr(\"download\", fileName).appendTo(\"body\");\r\n\r\n a[0].click();\r\n\r\n a.remove();\r\n this.sendMsgEvent.emit(myBaseString);\r\n //$('#window').attr('style', 'padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-left: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n $('#pdfDiv1').html('')\r\n $('#pdfDiv1').attr('style', 'height: 513px;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n this.isPdfOpen = true;\r\n }\r\n\r\n\r\n openfilecharge1(charge) {\r\n let myBaseString = charge.imagecontent;\r\n let fileName = charge.fileName;\r\n\r\n var data = myBaseString.split(\",\")\r\n var binary_string = window.atob(data[1]);\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n\r\n var arrayBufferView = new Uint8Array(bytes.buffer);\r\n\r\n if (charge.documenttype === \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\")\r\n var blob = new Blob([arrayBufferView], { type: charge.documenttype });\r\n else\r\n var blob = new Blob([arrayBufferView], { type: 'image/png/html' });\r\n\r\n var url = window.URL.createObjectURL(blob);\r\n\r\n var a = $(\"\").attr(\"href\", url).attr(\"download\", fileName).appendTo(\"body\");\r\n\r\n a[0].click();\r\n\r\n a.remove();\r\n this.sendMsgEvent.emit(myBaseString);\r\n //$('#window').attr('style', 'padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-left: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n $('#pdfDiv1').html('')\r\n $('#pdfDiv1').attr('style', 'height: 513px;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n this.isPdfOpen = true;\r\n }\r\n\r\n deleteCharge(charge) {\r\n let deleteIndex = this.documentlist.indexOf(charge);\r\n if (deleteIndex >= 0) {\r\n this.documentlist.splice(deleteIndex, 1);\r\n }\r\n }\r\n\r\n pageSizeChanged(pageSize) {\r\n this.gridApi.paginationSetPageSize(Number(pageSize));\r\n }\r\n loaddocuments(selType, selYear, SelReportType, userids, startval, endval, pageSize) {\r\n\r\n this.selectedUserIds = userids;\r\n this.startDateVal = startval,\r\n this.endDateVal = endval;\r\n this.selectedtype = selType;\r\n this.SelReportType = SelReportType\r\n if (selType === undefined || selType === 'Accounts & Contacts') {\r\n this.selectedtype = \"Accounts & Contacts\";\r\n this.accountId = 0;\r\n this.customerService.GetSpecialityList(\"PermissionLevel\", this.currentuser.id).then((PermissionLevel) => {\r\n PermissionLevel.forEach(PermissionLevel => {\r\n });\r\n this.permissionlevellist = PermissionLevel;\r\n });\r\n }\r\n else\r\n if (selType === \"MySalesXCRM\") {\r\n this.selectedtype = selType;\r\n this.customerService.GetSpecialityList(\"UserPermissionLevel\", this.currentuser.id).then((PermissionLevel) => {\r\n PermissionLevel.forEach(PermissionLevel => {\r\n });\r\n this.permissionlevellist = PermissionLevel;\r\n });\r\n this.accountId = this.currentuser.id;\r\n }\r\n\r\n if (userids != \"\") {\r\n this.getUserDocumentList(selYear, this.currentPage, this.pageSize, userids, startval, endval)\r\n } else {\r\n this.userdocumentlist = [];\r\n }\r\n }\r\n\r\n loadDeleteddocuments(selType, selYear, SelReportType, userids, startval, endval, pageSize) {\r\n\r\n this.getUserDeletedDocumentList(selYear, this.currentPage, this.pageSize === \"\" ? 1000 : this.pageSize, userids, startval, endval)\r\n\r\n }\r\n getUserDeletedDocumentList(selYear, startrow, endrow, userids, startval, endval) {\r\n\r\n this.customerService.GetAllDeletedDocumentList(userids, \"MySalesXCRM\", selYear, this.SelReportType, startrow, endrow, startval, endval).then((userdocument) => {\r\n this.userdocumentlist = userdocument;\r\n this.Originaluserdocumentlist = userdocument;\r\n this.userdocumentcount = this.userdocumentlist.length;\r\n });\r\n }\r\n\r\n getUserDocumentList(selYear, startrow, endrow, userids, startval, endval) {\r\n if (this.selectedtype === undefined) { this.selectedtype = 'Accounts & Contacts'; }\r\n else if (this.selectedtype === \"MySalesXCRM\") {\r\n this.selectedtype = this.selectedtype;\r\n }\r\n if (this.selectedtype === 'Accounts & Contacts' || this.selectedtype === \"MySalesXCRM\") {\r\n this.customerService.GetAllDocumentNamePermissionList(this.selectedtype, this.currentuser.id).then((document) => {\r\n document.forEach(document => {\r\n document.DateUploaded = this.datePipe.transform(document.DateUploaded, \"MM-dd-yyyy\");\r\n });\r\n this.userdocumentlist = document;\r\n this.Originaluserdocumentlist = document;\r\n this.userdocumentcount = this.userdocumentlist.length;\r\n if (this.userdocumentlist.length === 0) {\r\n $('.ag-overlay-no-rows-center').html('No Documents Found');\r\n }\r\n \r\n });\r\n }\r\n else if (this.selectedtype === \"SalesXUsers\") {\r\n this.customerService.GetAllDocumentList(userids, \"MySalesXCRM\", selYear, this.SelReportType, startval, endval).then((userdocument) => {\r\n userdocument.forEach(userdocument => {\r\n userdocument.DateUploaded = this.datePipe.transform(userdocument.DateUploaded, \"MM-dd-yyyy\");\r\n });\r\n this.userdocumentlist = userdocument;\r\n this.Originaluserdocumentlist = userdocument;\r\n this.userdocumentcount = this.userdocumentlist.length;\r\n this.sendMsgEvent.emit(this.userdocumentlist.length.toString());\r\n\r\n });\r\n \r\n this.customerService.GetAllDocumentNamePermissionList(\"MySalesXCRM\", this.currentuser.id).then((document) => {\r\n document.forEach(document => {\r\n document.DateUploaded = this.datePipe.transform(document.DateUploaded, \"MM-dd-yyyy\");\r\n });\r\n this.documentNamesList = document;\r\n });\r\n\r\n }\r\n else {\r\n\r\n this.customerService.GetAllDocumentNamePermissionList(this.selectedtype, this.currentuser.id).then((document) => {\r\n document.forEach(document => {\r\n document.DateUploaded = this.datePipe.transform(document.DateUploaded, \"MM-dd-yyyy\");\r\n });\r\n this.documentNamesList = document;\r\n });\r\n this.customerService.GetAllDocumentList(this.accountId.toString(), this.selectedtype, selYear, this.SelReportType, startval, endval).then((document) => {\r\n document.forEach(document => {\r\n document.DateUploaded = this.datePipe.transform(document.DateUploaded, \"MM-dd-yyyy\");\r\n });\r\n if (this.FilterType == \"With Proposal\") {\r\n this.userdocumentlist = document.filter(x => x.DocSavedFrom == 'Proposal');\r\n this.Originaluserdocumentlist = document.filter(x => x.DocSavedFrom == 'Proposal');\r\n } else if (this.FilterType == 'WithOut Proposal') {\r\n this.userdocumentlist = document.filter(x => x.DocSavedFrom !== 'Proposal');\r\n this.Originaluserdocumentlist = document.filter(x => x.DocSavedFrom !== 'Proposal');\r\n } else {\r\n this.userdocumentlist = document;\r\n this.Originaluserdocumentlist = document;\r\n this.userdocumentcount = this.userdocumentlist.length;\r\n }\r\n\r\n if (this.userdocumentlist.length === 0) {\r\n $('.ag-overlay-no-rows-center').html('No Documents Available');\r\n }\r\n });\r\n \r\n }\r\n\r\n }\r\n\r\n DocumentsFilterBy(value) {\r\n if (value == \"Display Proposal & PO\") {\r\n this.userdocumentlist = this.Originaluserdocumentlist;\r\n } else {\r\n this.userdocumentlist = this.Originaluserdocumentlist.filter(x => x.documentname == value)\r\n }\r\n\r\n this.userdocumentcount = this.userdocumentlist.length;\r\n\r\n }\r\n DocumentsStatusBy(val) {\r\n if (val == 736) { this.userdocumentlist = this.Originaluserdocumentlist.filter(x=>x.stat==110); }\r\n else if (val == 737) { this.userdocumentlist = this.Originaluserdocumentlist.filter(x => x.stat == 111); }\r\n else if (val == 738) { this.userdocumentlist = this.Originaluserdocumentlist.filter(x => x.stat == 109);}\r\n else {\r\n this.userdocumentlist = this.Originaluserdocumentlist;\r\n }\r\n }\r\n ngOnInit() {\r\n\r\n if (this.isUploadDivVisible)\r\n this.documentDivHeight = 50;\r\n\r\n if (!this.isDocumentManagement) {\r\n this.uploadDivHeight = 0;\r\n }\r\n\r\n if (!this.GridLoad) {\r\n this.initializeAgGrid();\r\n this.GridLoad = true;\r\n }\r\n\r\n this.loaddocuments(this.selectedtype, this.currentYear, this.SelReportType, this.currentuser.id, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, this.pageSize);\r\n\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > -1) {\r\n if (document.getElementById('documentManagementDiv') != undefined || document.getElementById('documentManagementDiv') != null)\r\n document.getElementById('documentManagementDiv').style.height = \"83%\";\r\n\r\n $('#documentManagementDiv').attr('style', 'height:426px');\r\n\r\n }\r\n\r\n this.customerService.GetSpecialityList(\"DocumnentType\", this.currentuser.id).then((Documenttype) => {\r\n Documenttype.forEach(Documenttype => {\r\n });\r\n this.DocumenttypeList = Documenttype;\r\n \r\n this.initializeAgGrid();\r\n });\r\n\r\n this.dropdownSetting = {\r\n singleSelection: true,\r\n text: \"Select Document Name\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 2\r\n };\r\n\r\n }\r\n GetImagedata(reader, index, filename, filesize, filetype) {\r\n $('#' + index + 'imagecontent').val(reader.result);\r\n $('#' + index + 'uploadedfilename').val(filename);\r\n $('#' + index + 'size').val(filesize);\r\n $('#' + index + 'documenttype').val(filetype);\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n columnResized(event) {\r\n if (event.finished === true)\r\n this.saveConfiguration(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n saveConfiguration(pagesize, start, End) {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize === \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(pagesize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 59;\r\n config.startdate = start;\r\n config.enddate = End;\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n columnVisibleDM(event) {\r\n this.saveConfigurationDM(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n dragStoppedDM(event) {\r\n this.saveConfigurationDM(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n columnResizedDM(event) {\r\n if (event.finished === true)\r\n this.saveConfigurationDM(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n saveConfigurationDM(pagesize, start, End) {\r\n let allCols: Column[] = this.gridOptionsDM.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize === \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(pagesize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 56;\r\n config.startdate = start;\r\n config.enddate = End;\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n onFileChanged(event, index) {\r\n if (event.target.files && event.target.files.length) {\r\n const reader = new FileReader();\r\n const [file] = event.target.files;\r\n reader.readAsDataURL(file);\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.GetImagedata(reader, index, file.name, file.size, file.type);\r\n }, 500));\r\n }\r\n }\r\n updateDropdown(value, index) {\r\n document.getElementById(index + 'selectedPermissionName').innerHTML = value;\r\n }\r\n addCharge() {\r\n this.documentlist = [];\r\n let newdoc = new Document();\r\n newdoc.documentname = \"\";\r\n newdoc.permissionlevel = 0;\r\n newdoc.uploadedfilename = \"\";\r\n newdoc.Size = \"\";\r\n newdoc.documenttype = \"\";\r\n newdoc.imagecontent = \"\";\r\n newdoc.extension = \"\";\r\n newdoc.documentdescription = \"\";\r\n newdoc.accountid = 0;\r\n newdoc.type = \"\";\r\n this.documentlist.push(newdoc);\r\n\r\n this.loaddocuments(this.selectedtype, this.currentYear, this.SelReportType, this.currentuser.id, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, this.pageSize);\r\n }\r\n //rowDoubleClickAgGrid(rowEvent) {\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.gridOptions.api.forEachNode((node) => {\r\n // if (node.data.id === rowEvent.data.id) {\r\n // selfObj.gridOptions.api.selectNode(node, true);\r\n // var myBaseString = \"\";\r\n // selfObj.userservice.GetImageData(rowEvent.data.id).then(result => {\r\n // myBaseString = result;\r\n // $(setTimeout(function () {\r\n // selfObj.sendMsgEvent.emit(myBaseString);\r\n // }, 100));\r\n // });\r\n // this.sendMsgEvent.emit(rowEvent.data.imagecontent);\r\n // }\r\n // });\r\n // }, 500));\r\n\r\n //}\r\n\r\n SalesXCRMSelectionChanged(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n var rowdata = event.api.getSelectedNodes()[0];\r\n if (rowdata.data.permissionlevel <= selfObj.currentuser.userpermissionlevelid) {\r\n selfObj.documentindex = rowdata.rowIndex;\r\n selfObj.PreviewDocument = rowdata.data;\r\n\r\n var myBaseString = \"\";\r\n selfObj.userservice.GetImageData(rowdata.data.id).then(result => {\r\n myBaseString = result;\r\n selfObj.sendMsgEvent.emit(myBaseString);\r\n });\r\n //this.sendMsgEvent.emit(rowdata.data.imagecontent);\r\n } else {\r\n selfObj.DocViewAccessDeniedCss();\r\n\r\n }\r\n } else {\r\n\r\n }\r\n } else {\r\n\r\n }\r\n }, 200));\r\n }\r\n\r\n rowClickAgGrid(rowEvent) {\r\n\r\n // document.getElementById('documentManagementDiv').style.height = '428px';\r\n\r\n var myBaseString = \"\";\r\n this.userservice.GetImageData(rowEvent.data.id).then(result => {\r\n myBaseString = result;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.sendMsgEvent.emit(myBaseString);\r\n }, 100));\r\n });\r\n $('#buttonDiv').attr('style', 'display: none; ')\r\n\r\n }\r\n addChargeNew(file) {\r\n\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n\r\n let selfObj = this;\r\n let newdoc = new Document();\r\n\r\n $(setTimeout(function () {\r\n newdoc.file = file;\r\n newdoc.documentnamepermissionid = 0;\r\n newdoc.documentname = \"Select\";\r\n newdoc.permissionlevel = 0;\r\n newdoc.uploadedfilename = file.name;\r\n newdoc.Size = file.size;\r\n newdoc.documentdescription = \"ban\";\r\n newdoc.documenttype = file.type;\r\n newdoc.imagecontent = reader.result.toString();\r\n let extensionArr = file.name.split('.');\r\n newdoc.extension = extensionArr[extensionArr.length - 1];\r\n\r\n selfObj.documentlist.push(newdoc);\r\n }, 500));\r\n\r\n }\r\n addChargeExisting(file, charge) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n\r\n $(setTimeout(function () {\r\n charge.file = file;\r\n //charge.documentname = \"\";\r\n //charge.permissionlevel = \"Select\";\r\n charge.uploadedfilename = file.name;\r\n charge.size = file.size;\r\n charge.documenttype = file.type;\r\n charge.imagecontent = reader.result;\r\n let extensionArr = file.name.split('.');\r\n charge.extension = extensionArr[extensionArr.length - 1];\r\n }, 500));\r\n }\r\n\r\n addFiles(event) {\r\n\r\n if (!this.isDocumentManagement) {\r\n let files = event.srcElement.files;\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n this.addChargeNew(file);\r\n }\r\n $(\"#addFiles\").val(\"\");\r\n } else {\r\n this.addCharge();\r\n }\r\n\r\n }\r\n\r\n addFile(event, charge) {\r\n let files = event.srcElement.files;\r\n if (files != null && files.length > 0) {\r\n let file = files[0];\r\n this.addChargeExisting(file, charge);\r\n }\r\n $(\"#addFile\").val(\"\");\r\n\r\n\r\n\r\n }\r\n\r\n onFileAdded(file, index) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.GetImagedata(reader, index, file.name, file.size, file.type);\r\n }, 500));\r\n }\r\n SaveDocuments() {\r\n let test: number = this.accountId;\r\n this.finaldocumentlist = [];\r\n let deleteDocuments: Document[] = [];\r\n\r\n this.documentlist.forEach(document => {\r\n let isValidate: boolean = false;\r\n if (!this.isDocumentManagement) {\r\n if (document.documentnamepermissionid != undefined && document.documentnamepermissionid != null && document.documentnamepermissionid != 0)\r\n isValidate = true;\r\n } else {\r\n if (document.documentname != null && document.documentname.trim() != \"\" && document.permissionlevel != null && document.permissionlevel != 0)\r\n isValidate = true;\r\n }\r\n\r\n if (isValidate) {\r\n\r\n let newdoc = new Document();\r\n newdoc.id = document.id;\r\n newdoc.documentname = document.documentname;\r\n newdoc.uploadedby = this.currentuser.id;\r\n newdoc.uploadedfilename = document.uploadedfilename;\r\n newdoc.Size = document.Size;\r\n newdoc.documenttype = document.documenttype;\r\n newdoc.documentdescription = document.documentdescription;\r\n newdoc.permissionlevel = (this.selectedtype === \"MySalesXCRM\" || this.selectedtype === \" MySalesXCRM \" || this.selectedtype === \"Accounts & Contacts\") ? document.permissionlevel : document.documentnamepermissionid;\r\n newdoc.doctype = this.selectedtype;\r\n newdoc.imagecontent = document.imagecontent;\r\n newdoc.extension = document.extension;\r\n newdoc.accountid = this.accountId;\r\n newdoc.type = (this.selectedtype === null) ? 'Account Or Contact' : (this.selectedtype === \"SalesXUsers\") ? 'MySalesXCRM' : this.selectedtype;\r\n if (!this.isDocumentManagement) {\r\n\r\n newdoc.documentnamepermissionid = document.documentnamepermissionid;\r\n }\r\n\r\n this.finaldocumentlist.push(newdoc);\r\n\r\n deleteDocuments.push(document);\r\n }\r\n });\r\n\r\n if (this.finaldocumentlist.length > 0) {\r\n\r\n if (!this.isDocumentManagement) {\r\n this.userservice.addDocuments(this.finaldocumentlist).then(result => {\r\n this.toastr.success(\"Documents saved successfully.\", \"Documents Saved\", { timeOut: 600 });\r\n this.loaddocuments(this.selectedtype, this.currentYear, result[0].tabId, this.currentuser.id, this.startDateVal, this.endDateVal, this.pageSize);\r\n if (deleteDocuments.length > 0) {\r\n deleteDocuments.forEach(document => {\r\n let deleteIndex = this.documentlist.indexOf(document);\r\n if (deleteIndex >= 0)\r\n this.documentlist.splice(deleteIndex, 1);\r\n });\r\n }\r\n });\r\n } else {\r\n this.userservice.addDocumentNamePermission(this.finaldocumentlist).then(result => {\r\n this.toastr.success(\"Document names with permissions saved successfully.\", \"Document\", { timeOut: 600 });\r\n this.loaddocuments(this.selectedtype.trim(), this.currentYear, this.SelReportType, this.currentuser.id, this.startDateVal, this.endDateVal, this.pageSize);\r\n if (deleteDocuments.length > 0) {\r\n deleteDocuments.forEach(document => {\r\n let deleteIndex = this.documentlist.indexOf(document);\r\n if (deleteIndex >= 0)\r\n this.documentlist.splice(deleteIndex, 1);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n\r\n if (!this.isDocumentManagement) {\r\n this.userservice.UpdateDocumentName(this.doc).then(result => {\r\n this.toastr.success(\"Documents Updated successfully.\", \"Documents Updated\", { timeOut: 600 });\r\n this.loaddocuments(this.selectedtype, this.currentYear, result[0].tabId, this.currentuser.id, this.startDateVal, this.endDateVal, this.pageSize);\r\n if (deleteDocuments.length > 0) {\r\n deleteDocuments.forEach(document => {\r\n let deleteIndex = this.documentlist.indexOf(document);\r\n if (deleteIndex >= 0)\r\n this.documentlist.splice(deleteIndex, 1);\r\n });\r\n }\r\n });\r\n } else {\r\n //this.doc.uploadedby = this.currentuser.id;\r\n this.doc.lastediteduserId = this.currentuser.id;\r\n this.userservice.UpdatePermissionLevel(this.doc).then(result => {\r\n\r\n this.toastr.success(\"Document names with permissions Updated successfully.\", \"Document\", { timeOut: 600 });\r\n this.loaddocuments(this.selectedtype.trim(), this.currentYear, this.SelReportType, this.currentuser.id, this.startDateVal, this.endDateVal, this.pageSize);\r\n if (deleteDocuments.length > 0) {\r\n deleteDocuments.forEach(document => {\r\n let deleteIndex = this.documentlist.indexOf(document);\r\n if (deleteIndex >= 0)\r\n this.documentlist.splice(deleteIndex, 1);\r\n });\r\n }\r\n });\r\n }\r\n\r\n }\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > -1) {\r\n\r\n //document.getElementById('documentsinfo').style.marginTop = \"9% !important\";\r\n }\r\n\r\n if (this.isEditDocument === true)\r\n this.isEditDocument = !this.isEditDocument;\r\n }\r\n transfered() {\r\n this.isselectedtransfered = true;\r\n }\r\n canceltransfered() {\r\n this.isselectedtransfered = false;\r\n }\r\n CancelDocuments() {\r\n this.documentlist = [];\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > -1) {\r\n //document.getElementById('documentsinfo').style.marginTop = \"5%\";\r\n }\r\n if (this.isEditDocument === true)\r\n this.isEditDocument = !this.isEditDocument;\r\n\r\n }\r\n editRowAg(rowdata) {\r\n if (this.isDocumentManagement) {\r\n this.isEditDocument = true;\r\n this.customerService.GetDocumentPermissionById(rowdata.id).then(result => {\r\n this.doc = result;\r\n });\r\n }\r\n else {\r\n\r\n\r\n if (this.selectedtype === 'SalesXUsers') {\r\n this.doc = rowdata;\r\n this.documentDialog = true;\r\n this.documentDialgCss();\r\n }\r\n else {\r\n if (Number(rowdata.permissionlevel) <= this.currentuser.permissionlevelid) {\r\n this.EditDiv = true;\r\n this.sendMsgEvent.emit(\"EditDocumentTrue\");\r\n\r\n } else {\r\n this.DocViewAccessDeniedCss();\r\n }\r\n\r\n }\r\n\r\n this.customerService.GetSpecialityList(\"DocumentTab\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.docTabList = accounttype;\r\n });\r\n var selfObj = this;\r\n selfObj.customerService.GetContactById(selfObj.accountId).then(result => {\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > -1 || url.indexOf('contacts') > -1) {\r\n if (result) { selfObj.accountId = result.accountid; }\r\n }\r\n\r\n this.customerService.GetAccountContactList(selfObj.accountId).then((contacts) => {\r\n contacts.forEach(contacts => {\r\n });\r\n this.conList = contacts;\r\n });\r\n });\r\n if (this.selectedtype !== 'SalesXUsers') {\r\n this.customerService.GetDocumentById(rowdata.id).then(result => {\r\n this.doc = result;\r\n this.customerService.GetDocumentHistoryById(rowdata.id).then(result => {\r\n result.forEach(ele => {\r\n ele.EditedTime = this.datePipe.transform(ele.EditedDate, 'hh: mm a')\r\n ele.EditedDate = this.datePipe.transform(ele.EditedDate, \"MM-dd-yyyy\").toString();\r\n\r\n\r\n });\r\n this.docHistory = result;\r\n });\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n documentDialgCss() {\r\n $(setTimeout(function () {\r\n $('#documentDialog .dialog').attr('style', 'width:50% !important;border: 4px solid rgb(49,189,240);border-radius:5%; height:64%;top:7%;left:0%;max-width:none;');\r\n }, 200));\r\n }\r\n deleteRowAg(rowdata) {\r\n let confirmText: string = \"\";\r\n this.deleteRowData = rowdata;\r\n this.contactStatus = this.deleteRowData.isdeleted\r\n this.DeleteConfirmationPopup = true;\r\n setTimeout(function () {\r\n $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 40);\r\n\r\n }\r\n \r\n ShowDeleteDocNameMatchCss() {\r\n setTimeout(function () {\r\n $('#ShowDeleteDocNameMatch .dialog').attr('style', 'width: 45%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 81%;overflow: auto;height: 81%;top: 11%;left: 53%;');\r\n }, 4);\r\n }\r\n\r\n ReceiveDeleteevent(msg) {\r\n if (msg === \"Ok\") {\r\n if (this.isDocumentManagement) {\r\n this.deleteRowData.isdeleted = this.contactStatus;\r\n this.userservice.UpdatePermissionLevel(this.deleteRowData).then(result => {\r\n this.toastr.success(\"Documents Restored successfully.\", \"Documents Restored\", { timeOut: 600 });\r\n this.deleteRowData.isdeleted = result.isdeleted;\r\n let So = this;\r\n $(setTimeout(function () {\r\n So.getUserDocumentList(So.currentYear, So.currentPage, So.pageSize, So.currentuser.id, So.startDateVal, So.endDateVal);\r\n }, 100));\r\n });\r\n } else {\r\n this.customerService.DeactivateDocument(this.deleteRowData.id, (this.contactStatus === 1) ? 0 : 1, 0, this.currentuser.id).then((user) => {\r\n if (this.contactStatus === 1) {\r\n this.getUserDeletedDocumentList(this.currentYear, this.currentPage, this.pageSize === \"\" ? 25 : this.pageSize, this.selectedUserIds, this.startDateVal, this.endDateVal);\r\n } else {\r\n this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize === \"\" ? 25 : this.pageSize, this.selectedUserIds, this.startDateVal, this.endDateVal);\r\n }\r\n\r\n });\r\n }\r\n }\r\n this.DeleteConfirmationPopup = false;\r\n }\r\n EditDocument(documentId: number) {\r\n\r\n this.customerService.GetDocumentById(documentId).then(result => {\r\n this.doc = result;\r\n });\r\n this.customerService.GetSpecialityList(\"DocumentTab\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.docTabList = accounttype;\r\n });\r\n\r\n }\r\n DeleteDocument(documentId: number, documentName: string) {\r\n\r\n this.selecteddocumentName = documentName;\r\n this.isDocumentTransfer = true;\r\n this.isselectedtransfered = false\r\n this.fromdocumentid = documentId;\r\n let confirmText: string = \"Are you sure you want to delete this Document?\";\r\n if (this.isDocumentManagement)\r\n // confirmText = \"Are you sure you want to delete this Document Name and Permission?\"\r\n\r\n var c = confirm(confirmText);\r\n if (c === true) {\r\n if (!this.isDocumentManagement) {\r\n this.userservice.DeleteDocument(documentId.toString()).then(result => {\r\n if (result != null) {\r\n this.toastr.success(\"Document deleted successfully.\", \"Document Deleted\", { timeOut: 600 });\r\n }\r\n else {\r\n this.toastr.error(\"Some error occurred while deleting document.\", \"Error!\");\r\n }\r\n\r\n //this.loaddocuments(this.currentuser.id);\r\n\r\n //this.userdocumentlist = result;\r\n this.loaddocuments(this.selectedtype, this.currentYear, this.SelReportType, this.currentuser.id, this.startDateVal, this.endDateVal, this.pageSize);\r\n });\r\n } else {\r\n this.userservice.DeleteDocumentNamePermission(documentId.toString()).then(result => {\r\n if (result != null) {\r\n this.toastr.success(\"Document Name and Permission deleted successfully.\", \"Document\", { timeOut: 600 });\r\n }\r\n else {\r\n this.toastr.error(\"There might be documents with this name. Please delete them before deleting this Document Name\", \"Documents with this name exists\");\r\n }\r\n this.loaddocuments(this.selectedtype, this.currentYear, this.SelReportType, this.currentuser.id, this.startDateVal, this.endDateVal, this.pageSize);\r\n });\r\n }\r\n }\r\n }\r\n\r\n documenttransfered() {\r\n this.userservice.addtransfered(this.fromdocumentid, this.todocumentid).then(result => {\r\n this.loaddocuments(this.selectedtype, this.currentYear, this.SelReportType, this.currentuser.id, this.startDateVal, this.endDateVal, this.pageSize);\r\n this.isDocumentTransfer = false;\r\n });\r\n }\r\n SelectedDocumentType(id, Docname) {\r\n\r\n this.todocumentid = id;\r\n this.selectedtodocumentname = Docname;\r\n $('.closeButtonTr').removeAttr('style');\r\n\r\n $('#' + id).attr('style', 'background-color:#b7e4ff;')\r\n }\r\n ToDoDelete(taskId, index) {\r\n\r\n $('#' + index).remove();\r\n }\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 400));\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > 1) {\r\n $('#buttonDiv').attr('style', 'margin-top: 0%;');\r\n }\r\n this.gridApi = event.api;\r\n }\r\n autoSizeAll() {\r\n var allColumnIds = [];\r\n if (this.gridOptions && this.gridOptions.columnApi) {\r\n var allCols = this.gridOptions.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptions.columnApi.autoSizeColumns(allColumnIds);\r\n }\r\n\r\n }\r\n autoSizeAllDocumentManagement() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsDM && this.gridOptionsDM.columnApi) {\r\n var allCols = this.gridOptionsDM.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsDM.columnApi.autoSizeColumns(allColumnIds);\r\n }\r\n\r\n }\r\n\r\n\r\n first() {\r\n\r\n this.currentPage = 1;\r\n this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n }\r\n prev() {\r\n if (this.currentPage > 1) {\r\n this.currentPage--;\r\n this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n }\r\n }\r\n next() {\r\n if (this.currentPage != this.totalnumberofPages) {\r\n this.currentPage++;\r\n this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n }\r\n\r\n }\r\n last() {\r\n this.currentPage = this.totalnumberofPages;\r\n this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n }\r\n fieldEdited(val) {\r\n\r\n var fieldeditd = \"\";\r\n this.FieldsEdited = this.FieldsEdited.filter(x => x != val);\r\n this.FieldsEdited.push(val);\r\n }\r\n\r\n UpdateDoc() {\r\n\r\n this.finaldocumentlist = [];\r\n this.finaldocumentlist.push(this.doc);\r\n this.userservice.addDocuments(this.finaldocumentlist).then(result => {\r\n\r\n if (result != null) {\r\n // this.cancel();\r\n this.toastr.success(\"Document Updated successfully.\", \"Document Saved\", { timeOut: 600 });\r\n this.cancel();\r\n this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n }\r\n var DocHistory = [];\r\n this.finaldocumentlist.forEach(ele => {\r\n var doc = new DocumentHistory();\r\n doc.DocumentId = ele.id;\r\n doc.EditedBy = this.currentuser.id;\r\n doc.FieldEdited = this.FieldsEdited.join(',');\r\n DocHistory.push(doc);\r\n });\r\n this.userservice.DocumentsHistory(DocHistory).then(res => {\r\n this.FieldsEdited = [];\r\n });\r\n });\r\n }\r\n uploadFiles() {\r\n this.sendMsgEvent.emit(\"UploadDocument\");\r\n }\r\n\r\n DoconSelectionChanged(event) {\r\n let selfobj = this;\r\n setTimeout(function () {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n var rowdata = event.api.getSelectedNodes()[0];\r\n if (rowdata.data.permissionlevel <= selfobj.currentuser.permissionlevelid) {\r\n selfobj.documentindex = rowdata.rowIndex;\r\n selfobj.PreviewDocument = rowdata.data;\r\n if ((selfobj.Ids).indexOf(rowdata.data.id) > -1) {\r\n var index = (selfobj.Ids).indexOf(rowdata.data.id);\r\n\r\n } else {\r\n selfobj.Ids.push(rowdata.data.id)\r\n\r\n }\r\n selfobj.openfile(rowdata.data.id, rowdata.data.fileName, rowdata.data.documenttype)\r\n selfobj.sendMsgEvent.emit((selfobj.Ids).toString());\r\n } else {\r\n selfobj.DocViewAccessDeniedCss();\r\n\r\n }\r\n } else {\r\n\r\n }\r\n } else {\r\n\r\n }\r\n }, 200);\r\n }\r\n\r\n\r\n DocViewAccessDeniedCss() {\r\n this.DocViewAccessDenied = true;\r\n this.applicationComponent.salesxcrmDialog('#DocViewAccessDenied .dialog'); \r\n }\r\n cancel() {\r\n this.EditDiv = false;\r\n this.sendMsgEvent.emit(\"EditDocumentFalse\");\r\n this.documentDialog = false;\r\n }\r\n\r\n PDFClick(val) {\r\n this.userservice.GetProposalsDocumentContent(val).then(result => {\r\n let SO = this\r\n $(setTimeout(function () {\r\n SO.PDFDocumentOpen(result.PdfContent);\r\n }, 100));\r\n });\r\n }\r\n\r\n previousdocument() {\r\n this.documentindex--;\r\n if (this.userdocumentlist[this.documentindex].permissionlevel <= this.currentuser.permissionlevelid) {\r\n\r\n this.getImageData(this.userdocumentlist[this.documentindex]);\r\n } else {\r\n this.documentindex++;\r\n this.DocViewAccessDeniedCss();\r\n }\r\n }\r\n nextdocument() {\r\n this.documentindex++;\r\n if (this.userdocumentlist[this.documentindex].permissionlevel <= this.currentuser.permissionlevelid) {\r\n\r\n this.getImageData(this.userdocumentlist[this.documentindex]);\r\n } else {\r\n this.documentindex--;\r\n this.DocViewAccessDeniedCss();\r\n }\r\n }\r\n getImageData(documentid) {\r\n\r\n this.openfile(documentid.id, null, null);\r\n\r\n }\r\n onSelectionChanged(event) {\r\n\r\n var rowCount = event.api.getSelectedNodes();\r\n this.documentlist = [];\r\n rowCount.forEach(ele => {\r\n let newdoc = new Document();\r\n newdoc.id = ele.data.id;\r\n newdoc.documentname = ele.data.documentname;\r\n newdoc.permissionlevel = ele.data.permissionlevel;\r\n newdoc.uploadedfilename = ele.data.uploadedfilename;\r\n newdoc.Size = ele.data.Size;\r\n newdoc.documenttype = ele.data.documenttype;\r\n newdoc.imagecontent = ele.data.imagecontent;\r\n newdoc.extension = ele.data.extension;\r\n newdoc.documentdescription = '';\r\n newdoc.accountid = 0;\r\n newdoc.type = ele.data.type;\r\n this.documentlist.push(newdoc);\r\n\r\n });\r\n\r\n }\r\n\r\n Confirmation(val) {\r\n \r\n if (val === 'Ok') {\r\n if (this.deleteRowData.isdeleted === 0) {\r\n this.contactStatus = 1;\r\n } else {\r\n this.contactStatus = 0;\r\n }\r\n\r\n this.ReceiveDeleteevent('Ok');\r\n this.ShowDeleteDocNamePermission = false;\r\n this.ShowDeleteDocNameMatch = false;\r\n\r\n\r\n\r\n\r\n } else {\r\n this.ShowDeleteDocNamePermission = false;\r\n this.ShowDeleteDocNameMatch = false;\r\n }\r\n }\r\n ReplaceDocumentName() {\r\n this.finaldocumentlist.forEach(ele => {\r\n ele.documentnamepermissionid = this.ReplaceItem[0].id;\r\n ele.permissionlevel = this.ReplaceItem[0].id;\r\n });\r\n\r\n this.userservice.addDocuments(this.finaldocumentlist).then(result => {\r\n\r\n if (result != null) {\r\n this.Confirmation(true);\r\n this.toastr.success(\"Document Updated successfully.\", \"Document Saved\", { timeOut: 600 });\r\n this.getUserDocumentList(this.currentYear, this.currentPage, this.pageSize, this.currentuser.id, this.startDateVal, this.endDateVal)\r\n this.ReplaceItem = [];\r\n }\r\n });\r\n }\r\n CloseDeleteDocNameMatch() {\r\n\r\n }\r\n\r\n ChangeDocumentType() {\r\n\r\n this.loaddocuments(this.selectedtype, this.currentYear, this.SelReportType, this.currentuser.id, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, this.pageSize);\r\n }\r\n}\r\n","
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
        \r\n
      • \r\n\r\n \r\n
      • \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n

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

      \r\n\r\n
      \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n\r\n
      • \r\n
      • \r\n \r\n
      • \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n

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

      \r\n\r\n
      \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n\r\n
      • \r\n
      • \r\n \r\n\r\n
      • \r\n
      • \r\n \r\n\r\n
      • \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n\r\n
      • \r\n
      • \r\n \r\n\r\n
      • \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n

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

      \r\n\r\n
      \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n\r\n
      • \r\n \r\n
      • \r\n \r\n
      • \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
        \r\n
      • \r\n
      • \r\n \r\n
      • \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n\r\n
      • \r\n
      • \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n

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

      \r\n\r\n
      \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n\r\n
      • \r\n\r\n
      • \r\n \r\n\r\n
      • \r\n\r\n
      • \r\n \r\n\r\n
      • \r\n\r\n
      • \r\n \r\n\r\n
      • \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n

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

      \r\n\r\n
      \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n\r\n
      • \r\n
      • \r\n \r\n\r\n
      • \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n\r\n
      • \r\n
      • \r\n \r\n\r\n
      • \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n
      • \r\n
      • \r\n \r\n\r\n
      • \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n\r\n
      • \r\n
      • \r\n \r\n\r\n
      • \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n

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

      \r\n\r\n
      \r\n
      \r\n
      \r\n
        \r\n
      • \r\n \r\n
      • \r\n
      • \r\n \r\n\r\n
      • \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n\r\n\r\n\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, ViewChild } from '@angular/core';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Tasklistconfiguration } from '../../models/tasklistconfiguration';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { SystemconfigurationAccessModel } from '../../models/systemconfiguration';\r\nimport { AccountConfigurationComponent } from '../account-contact/account-configuration/account-configuration.component';\r\nimport { LeadsConfigurationComponent } from '../leads-configuration/leads-configuration.component';\r\nimport { MySalesxcrmConfigurationComponent } from '../sales-xcrm/my-salesxcrm-configuration/my-salesxcrm-configuration.component';\r\nimport { OpportunitiesConfigurationComponent } from '../opportunities-configuration/opportunities-configuration.component';\r\nimport { ProjectConfigurationComponent } from '../projects/project-configuration/project-configuration.component';\r\nimport { ProposalConfigurationComponent } from '../proposal-configuration/proposal-configuration.component';\r\nimport { SoftwareLicenseConfigurationComponent } from '../software-license-configuration/software-license-configuration.component';\r\nimport { StatusIDconfigurationComponent } from '../status-idconfiguration/status-idconfiguration.component';\r\nimport { TaskListConfigurationComponent } from '../task-list-configuration/task-list-configuration.component';\r\nimport { TicketConfigurationComponent } from '../ticket-configuration/ticket-configuration.component';\r\nimport { DocumentmanagementComponent } from '../documentmanagement/documentmanagement.component';\r\nimport { DocumentManagementConfigurationComponent } from '../document-management-configuration/document-management-configuration.component';\r\nimport { CampaignConfigurationComponent } from '../campaign-configuration/campaign-configuration.component';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'dropdown-configuration',\r\n templateUrl: './dropdown-configuration.component.html',\r\n styleUrls: ['./dropdown-configuration.component.css']\r\n})\r\nexport class DropdownCOnfigurationComponent implements OnInit {\r\n @Input()\r\n type: string=\"420\";\r\n @ViewChild(AccountConfigurationComponent) accconfigcmp;\r\n @ViewChild(LeadsConfigurationComponent) leadconfigcmp;\r\n @ViewChild(MySalesxcrmConfigurationComponent) crmconfigcmp;\r\n @ViewChild(OpportunitiesConfigurationComponent) oppconfigcmp;\r\n @ViewChild(ProjectConfigurationComponent) projcmp;\r\n @ViewChild(ProposalConfigurationComponent) proposalcmp;\r\n @ViewChild(SoftwareLicenseConfigurationComponent) licensecmp;\r\n @ViewChild(StatusIDconfigurationComponent) statusidcmp;\r\n @ViewChild(TaskListConfigurationComponent) tasklistcmp;\r\n @ViewChild(TicketConfigurationComponent) ticcmp;\r\n @ViewChild(DocumentManagementConfigurationComponent) doccmp;\r\n @ViewChild(CampaignConfigurationComponent) camcmp;\r\n dropdownTypes: any;\r\n Specialitytypelist: Dropdowntype[] = [];\r\n Collegelist: Dropdowntype[] = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n accounttypeList: Dropdowntype[] = [];\r\n ownershipList: Dropdowntype[] = [];\r\n pmpurchasedList: Dropdowntype[] =[];\r\n rcmlist: Dropdowntype[] = [];\r\n AccountIdlist: Dropdowntype[] = [];\r\n ContactIdslist: Dropdowntype[] = [];\r\n ehrpurchasedList: Dropdowntype[] =[];\r\n dropdown: Dropdown = new Dropdown();\r\n tasklistconfiguration: Tasklistconfiguration = new Tasklistconfiguration();\r\n systemconfig :SystemconfigurationAccessModel = new SystemconfigurationAccessModel();\r\n selectedtabid = \"dashboards\";\r\n \r\n specialityids = [];\r\n currentuser: any;\r\n \r\n \r\n dropdownid: number;\r\n dropItemName: string; dropdownCategory: string; selectedNewVal: string;\r\n AccountIdArr: Dropdowntype[] = [];\r\n contactIdArr: Dropdowntype[] = [];\r\n thisTab: any;\r\n public columnDefs;\r\n public sideBar; \r\n @Input() SubMenuType: string = null;\r\n private gridApi;\r\n public clickedVal: string = '';\r\n \r\n public showCampaignConfiguration: boolean = false;\r\n public show: boolean = true;\r\n constructor(private leadservice: LeadsService, private customerService: CustomerService, private toastr: ToastrService, public applicationComponent: ApplicationComponent)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n \r\n }\r\n\r\n ngOnInit() { \r\n this.LoadAccounts();\r\n this.LoadSpecialities();\r\n this.LoadCollegeList();\r\n this.LoadMedSchool();\r\n this.clickedVal = this.type;\r\n \r\n if (this.clickedVal == '420') {\r\n if (this.currentuser.UserPrivilegeList != undefined) {\r\n \r\n this.systemconfig.AccountConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Account Configuration' || p.resource.toLowerCase() == 'Account Configuration')[0].canview;\r\n this.systemconfig.AccountSharingGroups = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Account Sharing Group' || p.resource.toLowerCase() == 'Account Sharing Group')[0].canview;\r\n this.systemconfig.CampaignConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Campaign Configuration' || p.resource.toLowerCase() == 'Campaign Configuration')[0].canview;\r\n this.systemconfig.ContactConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Contact Configuration' || p.resource.toLowerCase() == 'Contact Configuration')[0].canview;\r\n this.systemconfig.DocumentMGMTConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Document MGMT Configuration' || p.resource.toLowerCase() ==\r\n 'Document MGMT Configuration')[0].canview;\r\n this.systemconfig.LeadsConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Leads Configuration' || p.resource.toLowerCase() ==\r\n 'Leads Configuration')[0].canview;\r\n this.systemconfig.MySalesXCRMConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'MySalesXCRM Configuration' || p.resource.toLowerCase() ==\r\n 'MySalesXCRM Configuration')[0].canview;\r\n this.systemconfig.OpportunitiesConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Opportunities Configuration' || p.resource.toLowerCase() ==\r\n 'Opportunities Configuration')[0].canview;\r\n this.systemconfig.ProjectsConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Projects Configuration' || p.resource.toLowerCase() ==\r\n 'Projects Configuration')[0].canview;\r\n this.systemconfig.ProposalConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Proposal Configuration' || p.resource.toLowerCase() ==\r\n 'Proposal Configuration')[0].canview;\r\n\r\n this.systemconfig.ResponseWizard = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Response Wizard' || p.resource.toLowerCase() ==\r\n 'Response Wizard')[0].canview;\r\n\r\n this.systemconfig.SoftwareLicenseConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Software License Configuration' || p.resource.toLowerCase() ==\r\n 'Software License Configuration')[0].canview;\r\n\r\n this.systemconfig.StatusIDConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Status ID Configuration' || p.resource.toLowerCase() ==\r\n 'Status ID Configuration')[0].canview;\r\n\r\n this.systemconfig.TaskListConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Task List Configuration' || p.resource.toLowerCase() ==\r\n 'Task List Configuration')[0].canview;\r\n\r\n this.systemconfig.TicketConfiguration = this.currentuser.UserPrivilegeList.filter(p => p.resource == 'Ticket Configuration' || p.resource.toLowerCase() ==\r\n 'Ticket Configuration')[0].canview;\r\n\r\n //this.SubmenuChange('Account Configuration', '420', 'main');\r\n }\r\n }\r\n }\r\n\r\n\r\n onsideMenuClick(val) {\r\n this.clickedVal = val;\r\n \r\n this.show = true;\r\n switch (this.clickedVal) {\r\n case '420': {\r\n this.type = '420';\r\n break;\r\n }\r\n case '701': {\r\n this.type = '701';\r\n break;\r\n }\r\n case '624': {\r\n this.type = '624';\r\n break;\r\n }\r\n case '422': {\r\n this.type = '422';\r\n break;\r\n }\r\n case '451': {\r\n this.type = '451';\r\n break;\r\n }\r\n case '531': {\r\n this.type = '531';\r\n break;\r\n }\r\n case '697': {\r\n this.type = '697';\r\n break;\r\n }\r\n case '423': {\r\n this.type = '423';\r\n break;\r\n }\r\n case '663': {\r\n this.type = '663';\r\n break;\r\n }\r\n case '528': {\r\n this.type = '528';\r\n break;\r\n }\r\n case '627': {\r\n this.type = '627';\r\n break;\r\n }\r\n case '530': {\r\n this.type = '530';\r\n break;\r\n }\r\n case '424': {\r\n this.type = '424';\r\n break;\r\n }\r\n case '529': {\r\n this.type = '529';\r\n break;\r\n }\r\n case 'SalesTool': {\r\n this.type = 'SalesTool';\r\n break;\r\n }\r\n }\r\n \r\n }\r\n\r\n LoadSpecialities()\r\n {\r\n \r\n this.customerService.GetSpecialityList(\"Account Specialty\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Specialitytypelist = accounttype;\r\n });\r\n\r\n }\r\n\r\n LoadCollegeList() {\r\n this.customerService.GetCollegeList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Collegelist = accounttype;\r\n });\r\n }\r\n LoadMedSchool() {\r\n this.customerService.GetMedicalSchoolList(this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.MedicalSchoolList = accounttype;\r\n });\r\n }\r\n LoadAccounts() {\r\n this.customerService.GetSpecialityList(\"Account Type\", this.currentuser.id).then((accounttype) => { \r\n this.accounttypeList = accounttype;\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Account Ownership\", this.currentuser.id).then((ownerShip) => {\r\n this.ownershipList = ownerShip;\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Account PM\", this.currentuser.id).then((pm) => {\r\n pm.forEach(pm => {\r\n });\r\n this.pmpurchasedList = pm;\r\n });\r\n this.customerService.GetSpecialityList(\"Account RCM\", this.currentuser.id).then((rcm) => {\r\n rcm.forEach(rcm => {\r\n });\r\n this.rcmlist = rcm;\r\n });\r\n this.customerService.GetSpecialityList(\"Account EHR\", this.currentuser.id).then((ehr) => {\r\n ehr.forEach(accounttype => {\r\n });\r\n this.ehrpurchasedList = ehr;\r\n });\r\n this.customerService.GetSpecialityList(\"AccountIds\", this.currentuser.id).then((accountids) => {\r\n accountids.forEach(rcm => {\r\n });\r\n this.AccountIdlist = accountids;\r\n });\r\n this.ContactIdslist = [];\r\n this.customerService.GetSpecialityList(\"ContactIds\", this.currentuser.id).then((contactids) => {\r\n \r\n this.ContactIdslist = contactids;\r\n });\r\n }\r\n\r\n SaveDropdownName(DropdownType)\r\n {\r\n\r\n this.specialityids.forEach(id => {\r\n if (id.Type == 'Speciality' || id.Type == 'SubSpeciality' || id.Type == 'EHR' || id.Type == 'PM' || id.Type == 'RCM' || id.Type == 'AccountType' || id.Type == 'OwnerShip' || id.Type == 'College' || id.Type == 'MedSchool' || id.Type == 'Residency' || id.Type == 'FellowShip' || id.Type == 'AccountIds' || id.Type == 'ContactIds') {\r\n var drpDwn = new Dropdown();\r\n if (DropdownType == id.Type) {\r\n this.dropdown.category = id.Type;\r\n this.dropdown.itemName = $('#' + id.Type + id.Index + \"itemName\").html();\r\n this.dropdown.id = $('#' + id.Index + id.Type).html(); \r\n }\r\n }\r\n \r\n });\r\n \r\n if (this.specialityids.length == 0) {\r\n this.dropdown.category = DropdownType;\r\n this.dropdown.itemName = $('#' + DropdownType + 'Value').val();\r\n if (this.dropdown.itemName.trim() == \"\")\r\n return false;\r\n }\r\n\r\n\r\n this.customerService.checkduplicateDropDownName(this.dropdown).then(result => {\r\n if (result == null) {\r\n this.customerService.adddropdown(this.dropdown).then(result => {\r\n \r\n this.dropdown = new Dropdown();\r\n this.toastr.success(\"New DropDown Saved Successfully.\", \"Task Group\", { timeOut: 600 });\r\n this.LoadSpecialities();\r\n this.LoadCollegeList();\r\n this.LoadMedSchool();\r\n this.LoadAccounts();\r\n $('#' + DropdownType + 'Value').val('');\r\n this.specialityids = [];\r\n });\r\n }\r\n else {\r\n alert(this.dropdown.itemName + \" Already Exist\")\r\n }\r\n\r\n $('#' + DropdownType + 'Value').css('display', 'none')\r\n $('#' + DropdownType + 'Div').css('display', 'none')\r\n $('#' + DropdownType + 'Table').css('height', '79%')\r\n });\r\n\r\n \r\n \r\n }\r\n addDropDownName(clickedButton) {\r\n $('#' + clickedButton +'Value').css('display','block')\r\n $('#' + clickedButton + 'Div').css('display', 'block')\r\n $('#' + clickedButton + 'Table').css('height', '49%')\r\n $('#' + clickedButton + 'Value').val('');\r\n this.dropdown = new Dropdown();\r\n }\r\n \r\n\r\n \r\n accountIdChange(val) {\r\n this.selectedNewVal = val;\r\n }\r\n contactIdChange(val) {\r\n this.selectedNewVal = val;\r\n }\r\n SubmenuChange(Tab, val, menu) {\r\n this.type = val;\r\n if (menu == 'main') {\r\n this.selectedtabid = Tab;\r\n var classOfId = $('#' + Tab.replace(\" \", \"\") + \"MainMenu\").attr('class');\r\n if (classOfId == '') {\r\n this.CollapseSelectedMenu(Tab.replace(\" \", \"\"));\r\n }\r\n else {\r\n this.ExpandSelectedMenu(Tab.replace(\" \", \"\"), val);\r\n \r\n }\r\n\r\n } else {\r\n\r\n $(\".subButtons\").removeClass(\"activeSubButton\");\r\n $('#' + val + \"_button\").addClass(\"activeSubButton\");\r\n }\r\n if (val == '100') {\r\n this.crmconfigcmp.SalesXCRMLoad(\"Document Name\");\r\n }\r\n else if (val == '101') {\r\n this.crmconfigcmp.SalesXCRMLoad(\"Chart Tab\");\r\n }\r\n else if (val == '200') {\r\n this.oppconfigcmp.ShowDiv(\"Fields Configuration\");\r\n }\r\n else if (val == '201') {\r\n this.oppconfigcmp.ShowDiv(\"Fields Choice Configuration\");\r\n }\r\n else if (val == '300') {\r\n this.projcmp.AccessDiv(\"Fields\");\r\n }\r\n else if (val == '301') {\r\n this.projcmp.AccessDiv(\"Config\");\r\n }\r\n else if (val == '302') {\r\n this.projcmp.AccessDiv(\"Stages\");\r\n }\r\n else if (val == '303') {\r\n this.projcmp.AccessDiv(\"Steps\");\r\n }\r\n else if (val == '420') {\r\n this.accconfigcmp.AccountField(\"Add/Edit\");\r\n } else if (val == '422') {\r\n this.accconfigcmp.AccountField(\"Configuration\");\r\n }\r\n else if (val == '423') {\r\n this.accconfigcmp.AccountField(\"AccountMailingPageConfiguration\");\r\n }\r\n else if (val == '424') {\r\n this.accconfigcmp.AccountField(\"AccountSpecificsPageConfiguration\");\r\n }\r\n else if (val == '500') {\r\n this.accconfigcmp.AccountSharingGroup('Add/Edit');\r\n }\r\n else if (val == '600' || val == '601') {\r\n if (this.camcmp!= undefined) {\r\n this.camcmp.AccessDiv(val);\r\n }\r\n }\r\n else if (val == '700') {\r\n this.accconfigcmp.ContactsField('Add/Edit');\r\n }\r\n else if (val == '701') {\r\n this.accconfigcmp.ContactsField('Configuration');\r\n }\r\n else if (val == '702') {\r\n this.accconfigcmp.ContactsField('ContactPageConfiguration');\r\n }\r\n else if (val == '800' || val == '801') {\r\n this.doccmp.ChangeVal(val);\r\n }\r\n else if (val == '901') {\r\n this.leadconfigcmp.AccessDiv(\"TriggerTypes\");\r\n }\r\n else if (val == '902') {\r\n this.leadconfigcmp.AccessDiv(\"SalesStages\");\r\n }\r\n else if (val == '1000') {\r\n this.proposalcmp.AccessDiv(\"Categories\");\r\n }\r\n else if (val == '1001') {\r\n this.proposalcmp.AccessDiv(\"Items\");\r\n } else if (val == '1100') {\r\n this.licensecmp.ShowSLC_Pages(\"Categories\");\r\n }\r\n else if (val == '1101') {\r\n this.licensecmp.ShowSLC_Pages(\"LicenseTypes\");\r\n }\r\n else if (val == '1200') {\r\n this.statusidcmp.OpenStatusID(\"Group\");\r\n }\r\n else if (val == '1201') {\r\n this.statusidcmp.OpenStatusID(\"Items\");\r\n }\r\n else if (val == '1300') {\r\n this.tasklistcmp.ShowTaskGroupPages(\"TaskGroups\");\r\n }\r\n else if (val == '1301') {\r\n this.tasklistcmp.ShowTaskGroupPages(\"TaskGroupsItems\");\r\n }\r\n else if (val == '1400') {\r\n this.ticcmp.AccessDiv(\"SalesXCRM Ticket\");\r\n }\r\n else if (val == '1401') {\r\n this.ticcmp.AccessDiv(\"Zendesk Integration\");\r\n }\r\n\r\n }\r\n ExpandSelectedMenu(val, Idval) {\r\n $('#AccountConfigurationMainMenu').attr('aria-expanded', 'false');\r\n $('#AccountConfigurationMainMenu').addClass('collapsed');\r\n $('#AccountConfigurationMainMenu').removeClass('activeButton');\r\n $('#AccountConfiguration').removeClass('in');\r\n\r\n $('#AccountSharingMainMenu').attr('aria-expanded', 'false');\r\n $('#AccountSharingMainMenu').addClass('collapsed');\r\n $('#AccountSharingMainMenu').removeClass('activeButton');\r\n $('#AccountSharing').removeClass('in');\r\n\r\n $('#CampaignMainMenu').attr('aria-expanded', 'false');\r\n $('#CampaignMainMenu').addClass('collapsed');\r\n $('#CampaignMainMenu').removeClass('activeButton');\r\n $('#Campaign').removeClass('in');\r\n\r\n $('#ContactMainMenu').attr('aria-expanded', 'false');\r\n $('#ContactMainMenu').addClass('collapsed');\r\n $('#ContactMainMenu').removeClass('activeButton');\r\n $('#Contact').removeClass('in');\r\n\r\n $('#DocumentMGMTMainMenu').attr('aria-expanded', 'false');\r\n $('#DocumentMGMTMainMenu').addClass('collapsed');\r\n $('#DocumentMGMTMainMenu').removeClass('activeButton');\r\n $('#DocumentMGMT').removeClass('in');\r\n\r\n $('#LeadsMainMenu').attr('aria-expanded', 'false');\r\n $('#LeadsMainMenu').addClass('collapsed');\r\n $('#LeadsMainMenu').removeClass('activeButton');\r\n $('#Leads').removeClass('in');\r\n\r\n $('#CRMMainMenu').attr('aria-expanded', 'false');\r\n $('#CRMMainMenu').addClass('collapsed');\r\n $('#CRMMainMenu').removeClass('activeButton');\r\n $('#CRM').removeClass('in');\r\n\r\n $('#OpportunitiesMainMenu').attr('aria-expanded', 'false');\r\n $('#OpportunitiesMainMenu').addClass('collapsed');\r\n $('#OpportunitiesMainMenu').removeClass('activeButton');\r\n $('#Opportunities').removeClass('in');\r\n\r\n $('#ProjectMainMenu').attr('aria-expanded', 'false');\r\n $('#ProjectMainMenu').addClass('collapsed');\r\n $('#ProjectMainMenu').removeClass('activeButton');\r\n $('#Project').removeClass('in');\r\n\r\n $('#ProposalMainMenu').attr('aria-expanded', 'false');\r\n $('#ProposalMainMenu').addClass('collapsed');\r\n $('#ProposalMainMenu').removeClass('activeButton');\r\n $('#Proposal').removeClass('in');\r\n\r\n $('#SoftwareLicenseMainMenu').attr('aria-expanded', 'false');\r\n $('#SoftwareLicenseMainMenu').addClass('collapsed');\r\n $('#SoftwareLicenseMainMenu').removeClass('activeButton');\r\n $('#SoftwareLicense').removeClass('in');\r\n\r\n $('#StatusIDMainMenu').attr('aria-expanded', 'false');\r\n $('#StatusIDMainMenu').addClass('collapsed');\r\n $('#StatusIDMainMenu').removeClass('activeButton');\r\n $('#StatusID').removeClass('in');\r\n\r\n $('#TaskListMainMenu').attr('aria-expanded', 'false');\r\n $('#TaskListMainMenu').addClass('collapsed');\r\n $('#TaskListMainMenu').removeClass('activeButton');\r\n $('#TaskList').removeClass('in');\r\n\r\n $('#TicketMainMenu').attr('aria-expanded', 'false');\r\n $('#TicketMainMenu').addClass('collapsed');\r\n $('#TicketMainMenu').removeClass('activeButton');\r\n $('#Ticket').removeClass('in');\r\n\r\n $('#' + val+'MainMenu').attr('aria-expanded', 'true');\r\n $('#' + val + 'MainMenu').removeClass('collapsed');\r\n $('#' + val + 'MainMenu').addClass('activeButton');\r\n $('#' + val).addClass('in');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\".subButtons\").removeClass(\"activeSubButton\");\r\n $('#' + Idval + \"_button\").addClass(\"activeSubButton\");\r\n }\r\n CollapseSelectedMenu(val) {\r\n //$('#dashboardsMainMenu').attr('aria-expanded', 'false');\r\n //$('#dashboardsMainMenu').addClass('collapsed');\r\n ////$('#dashboard').removeClass('in');\r\n\r\n //$('#contactMainMenu').attr('aria-expanded', 'false');\r\n //$('#contactMainMenu').addClass('collapsed');\r\n //$('#contact').removeClass('in');\r\n\r\n //$('#AccountsMainMenu').attr('aria-expanded', 'false');\r\n //$('#AccountsMainMenu').addClass('collapsed');\r\n //$('#Accounts').removeClass('in');\r\n\r\n //$('#leadsMainMenu').attr('aria-expanded', 'false');\r\n //$('#leadsMainMenu').addClass('collapsed');\r\n //$('#leads').removeClass('in');\r\n\r\n //$('#opportunitiesMainMenu').attr('aria-expanded', 'false');\r\n //$('#opportunitiesMainMenu').addClass('collapsed');\r\n //$('#opportunities').removeClass('in');\r\n\r\n //$('#tasklistsMainMenu').attr('aria-expanded', 'false');\r\n //$('#tasklistsMainMenu').addClass('collapsed');\r\n //// $('#tasklist').removeClass('in');\r\n\r\n //$('#CalendarMainMenu').attr('aria-expanded', 'false');\r\n //$('#CalendarMainMenu').addClass('collapsed');\r\n\r\n //$('#reportsMainMenu').attr('aria-expanded', 'false');\r\n //$('#reportsMainMenu').addClass('collapsed');\r\n //$('#reports').removeClass('in');\r\n\r\n //$('#MarketingMainMenu').attr('aria-expanded', 'false');\r\n //$('#MarketingMainMenu').addClass('collapsed');\r\n //$('#Marketing').removeClass('in');\r\n\r\n //$('#ProjectsMainMenu').attr('aria-expanded', 'false');\r\n //$('#ProjectsMainMenu').addClass('collapsed');\r\n //$('#Projects').removeClass('in');\r\n\r\n //$('#ticketsMainMenu').attr('aria-expanded', 'false');\r\n //$('#ticketsMainMenu').addClass('collapsed');\r\n //$('#tickets').removeClass('in');\r\n\r\n //$('#customersMainMenu').attr('aria-expanded', 'false');\r\n //$('#customersMainMenu').addClass('collapsed');\r\n //$('#customers').removeClass('in');\r\n\r\n //$('#MySalesXCRMMainMenu').attr('aria-expanded', 'false');\r\n //$('#MySalesXCRMMainMenu').addClass('collapsed');\r\n //// $('#MySalesXCRM').removeClass('in');\r\n\r\n //$('#RecentHistoryMainMenu').attr('aria-expanded', 'false');\r\n //$('#RecentHistoryMainMenu').addClass('collapsed');\r\n\r\n //$('#SalesToolsMainMenu').attr('aria-expanded', 'false');\r\n //$('#SalesToolsMainMenu').addClass('collapsed');\r\n //$('#SalesTools').removeClass('in');\r\n\r\n //$('#MyProfileMainMenu').attr('aria-expanded', 'false');\r\n //$('#MyProfileMainMenu').addClass('collapsed');\r\n //$('#MyProfile').removeClass('in');\r\n\r\n //$('#internalmessagingMainMenu').attr('aria-expanded', 'false');\r\n //$('#internalmessagingMainMenu').addClass('collapsed');\r\n //$('#internalmessaging').removeClass('in');\r\n\r\n //$('#CallListsMainMenu').attr('aria-expanded', 'false');\r\n //$('#CallListsMainMenu').addClass('collapsed');\r\n\r\n //$('#CampaignsMainMenu').attr('aria-expanded', 'false');\r\n //$('#CampaignsMainMenu').addClass('collapsed');\r\n //$('#Campaigns').removeClass('in');\r\n\r\n //$('#SystemConfigurationMainMenu').attr('aria-expanded', 'false');\r\n //$('#SystemConfigurationMainMenu').addClass('collapsed');\r\n\r\n //$('#UserConfigurationMainMenu').attr('aria-expanded', 'false');\r\n //$('#UserConfigurationMainMenu').addClass('collapsed');\r\n\r\n //$('#SysregMainMenu').attr('aria-expanded', 'false');\r\n //$('#SysregMainMenu').addClass('collapsed');\r\n //$('#Sysreg').removeClass('in');\r\n\r\n //$('#Pop-UpMessagingMainMenu').attr('aria-expanded', 'false');\r\n //$('#Pop-UpMessaginggMainMenu').addClass('collapsed');\r\n\r\n //$('#SalesForecastMainMenu').attr('aria-expanded', 'false');\r\n //$('#SalesForecastMainMenu').addClass('collapsed');\r\n //// $('#SalesForeCast').removeClass('in');\r\n\r\n //$('#AboutSalesXCRMMainMenu').attr('aria-expanded', 'false');\r\n //$('#AboutSalesXCRMMainMenu').addClass('collapsed');\r\n //$('#AboutSalesXCRM').removeClass('in');\r\n\r\n //$('#ContactUsMainMenu').attr('aria-expanded', 'false');\r\n //$('#ContactUsMainMenu').addClass('collapsed');\r\n //$('#ContactUs').removeClass('in');\r\n\r\n //$('#ReleaseNotesMainMenu').attr('aria-expanded', 'false');\r\n //$('#ReleaseNotesMainMenu').addClass('collapsed');\r\n //$('#ReleaseNotes').removeClass('in');\r\n\r\n //$('#PendedProposalMainMenu').attr('aria-expanded', 'false');\r\n //$('#PendedProposalMainMenu').addClass('collapsed');\r\n //$('#PendedProposal').removeClass('in');\r\n\r\n }\r\n Close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n }\r\n SortDropdwns(dropdowntype) {\r\n \r\n var c = confirm(\"Are you sure you want to Reorder items in this Order??\");\r\n if (c == true) {\r\n var dropdownArr = [];\r\n //if (dropdowntype == 'Speciality') {\r\n $.each($(\"#\" + dropdowntype + \"Table table tbody tr td[id$=\" + dropdowntype + \"]\"), function (k, v) {\r\n \r\n var splIds = $.trim($(this).html());\r\n dropdownArr.push(splIds);\r\n })\r\n this.tasklistconfiguration.taskgroupid = 1;\r\n //}\r\n this.tasklistconfiguration.configureduserid = this.currentuser.id;\r\n this.tasklistconfiguration.tasklistconfigurtaionorder = dropdownArr.toString();\r\n this.tasklistconfiguration.tasktype = dropdowntype;\r\n this.customerService.SaveTaskListConfiguration(this.tasklistconfiguration).then(result => {\r\n this.toastr.success(dropdowntype + \" Drop-Down Re-Ordered Successfully.\", dropdowntype + \" Drop Down\", { timeOut: 600 });\r\n\r\n });\r\n }\r\n }\r\n\r\n \r\n\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 { ICellRendererAngularComp } from \"ag-grid-angular\";\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-editactivatecv',\r\n templateUrl: './editactivatecv.component.html',\r\n styleUrls: ['./editactivatecv.component.css']\r\n})\r\nexport class EditactivatecvComponent implements OnInit, ICellRendererAngularComp {\r\n\r\n constructor() { } \r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n public params: any;\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n \r\n }\r\n needDeletebtn() {\r\n return true ;\r\n }\r\n needCVbtn() {\r\n return true;\r\n }\r\n public editRowAg() {\r\n this.params.context.editRowAg(this.params.node.data);\r\n }\r\n\r\n public deleteRowAg() {\r\n this.params.context.deleteRowAg(this.params.node.data);\r\n }\r\n public ActiateRowAg() {\r\n this.params.context.deleteRowAg(this.params.node.data);\r\n }\r\n\r\n public convertContactAg() {\r\n this.params.context.convertContactAg(this.params.node.data);\r\n }\r\n\r\n refresh(): boolean {\r\n return false;\r\n }\r\n}\r\n","
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n

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

      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n
      \r\n \r\n\r\n\r\n
      \r\n\r\n
      \r\n {{contacts.fileName}}\r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n\r\n \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n \r\n
      \r\n
      Adding Account Address
      \r\n
      \r\n
      \r\n \r\n The Address for this account was not selected from\r\n google Address list.Please select one of the two\r\n options below: Select \" Go to Google Address \" and\r\n select google address for the account -or- select\r\n \"Save\" and system will save the address you have\r\n added to account.\r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n\r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      Contact

      \r\n
      \r\n Discard Saving Contact
      \r\n Changes will Not be saved
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \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, ViewContainerRef, ElementRef, Input, Output, EventEmitter, ViewChild, NgZone } from '@angular/core';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Customers } from '../../models/customers';\r\nimport { Notes } from '../../models/notes';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AccountsService } from './../../services/accounts.service';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { DatePipe, TitleCasePipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Statistics } from '../../models/statistics';\r\nimport { Location } from '@angular/common';\r\nimport { Tickets } from '../../models/tickets';\r\nimport { Emails } from '../../models/emails';\r\nimport { Document } from '../../models/document';\r\nimport { Project } from '../../models/project';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { HeroService } from './../../services/hero.service';\r\nimport { Accountlocations } from '../../models/data-model';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { GridOptions} from \"ag-grid/main\";\r\nimport { AddressComponent } from '../address/address.component';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport * as moment from 'moment';\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'editcontact',\r\n templateUrl: './editcontact.component.html',\r\n styleUrls: ['./editcontact.component.css']\r\n})\r\nexport class EditcontactComponent implements OnInit {\r\n currentuser: any;\r\n notedescription: string;\r\n userprevilages: any;\r\n accid: number;\r\n customercontacttypelist: Dropdowntype[];\r\n Years: any[];\r\n MedSchoolYears: any[];\r\n ResidencyYears: any[];\r\n FellowShipYears: any[];\r\n accountform: FormGroup;\r\n contactform: FormGroup;\r\n notes: Notes = new Notes();\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n public getRowHeight;\r\n public zipmask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n account: Accounts = new Accounts();\r\n contacts: Contacts = new Contacts();\r\n AddressSelection: string = '';\r\n customer: Customers = new Customers();\r\n accountlocations: Accountlocations = new Accountlocations();\r\n accountslist: Array = [];\r\n contactslist: Array = [];\r\n noteslist: Array = [];\r\n public practiceid: number = 0;\r\n @Input()\r\n accountId: number;\r\n @Input()\r\n contactid: number;\r\n @Input()\r\n type: string;\r\n OwnerList: Dropdowntype[] = [];\r\n statisticlist: Array = [];\r\n SuffixList: Dropdowntype[] = [];\r\n SexList: Dropdowntype[] = [];\r\n TitleList: Dropdowntype[] = [];\r\n contacttypelist: Dropdowntype[] = [];\r\n Specialitytypelist: Dropdowntype[] = [];\r\n Collegelist: Dropdowntype[] = [];\r\n MedicalSchoolList: Dropdowntype[] = [];\r\n StatesList: Dropdowntype[] = [];\r\n CitiesList: Dropdowntype[] = [];\r\n PractiseList: Dropdowntype[] = [];\r\n Statuslist: Dropdowntype[] = [];\r\n itemResource: any;\r\n ContactStaffitemResource: any;\r\n items = [];\r\n itemCount = 0;\r\n staffitems = [];\r\n staffitemCount = 0;\r\n locationId = 0;\r\n locId = 0;\r\n params: any;\r\n ContactStaffparams: any;\r\n showmapWarning: boolean = false;\r\n showDialog = false;\r\n locationCount: number = 2;\r\n MonthList: Dropdowntype[] = [];\r\n DayList: Dropdowntype[] = [];\r\n public providerId: number = 0;\r\n activitieslist: Array = [];\r\n documentlist: Array = [];\r\n ticketslist: Array = [];\r\n emailslist: Array = [];\r\n projectlist: Array = [];\r\n FeeAmountdiv: boolean = false;\r\n hidDiv: boolean = true;\r\n notesshowDialog = false;\r\n allnotes: Notes[];\r\n public staticsticsId: number = 1;\r\n public stateInfo = [];\r\n public rows: Array = [];\r\n public columns: Array = [\r\n { title: 'Date', name: 'created' },\r\n { title: 'Type', name: 'type' },\r\n { title: 'Note Description', name: 'notedescription' }\r\n ];\r\n Ids = [];\r\n public page: number = 1;\r\n public itemsPerPage: number = 10;\r\n public maxSize: number = 5;\r\n public numPages: number = 1;\r\n public length: number = 0;\r\n public config: any = {\r\n paging: true,\r\n sorting: { columns: this.columns },\r\n filtering: { filterString: '' },\r\n className: ['table-striped', 'table-bordered']\r\n };\r\n stateTextBox: boolean = true;\r\n stateDropDown: boolean = false;\r\n displayZipCode: boolean = true;\r\n displayCountryName: boolean = false;\r\n seletedcountry: any;\r\n countryId: number = 1;\r\n public elementRef;\r\n textareaLength: number = 15;\r\n addresses: Accountlocations[];\r\n multiplelocaddresses: any;\r\n AddressList = [];\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n heroForm: FormGroup;\r\n nameChangeLog: string[] = [];\r\n allContactsproviders: Contacts[];\r\n allContactstaffs: Contacts[];\r\n public context;\r\n public frameworkComponents; public columnDefsnotes: any[];\r\n public gridOptionsnotes: GridOptions;\r\n today = Date.now();\r\n public AccountorCustomertype;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n titleCasePipe: TitleCasePipe = new TitleCasePipe();\r\n public searchControl: FormControl;\r\n public lattitude: number;\r\n public longitude: number;\r\n public address1: string;\r\n public zoom: number;\r\n @ViewChild(\"search\")\r\n @ViewChild(AddressComponent) adddata;\r\n AccountIdArr: Dropdowntype[] = [];\r\n contactIdArr: Dropdowntype[] = [];\r\n public searchElementRef: ElementRef;\r\n NewForm = new FormGroup({});\r\n Fields: any;\r\n FormDataModified: boolean = false;\r\n DiscardFormDataConfirmation: boolean = false;\r\n\r\n constructor(private appComponent: ApplicationComponent,private ngZone: NgZone, private fb: FormBuilder, private http: HttpClient, private heroService: HeroService,\r\n private accountsService: AccountsService, private route: ActivatedRoute, private customerService: CustomerService,\r\n private toastr: ToastrService, private viewContainerRef: ViewContainerRef, private location: Location, private router: Router,\r\n myElement: ElementRef, private leadservice: LeadsService, private opprtunityservice: OpprtunitiesService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.account.customertypeid = 0;\r\n this.account.country = \"1\";\r\n this.account.accounttype = null;\r\n this.contacts.isaddressadded = null;\r\n this.account.ownerid = null;\r\n this.account.state = null;\r\n this.account.city = null;\r\n this.account.multiplelocations = 0;\r\n this.account.speciality = null;\r\n this.account.ownership = null;\r\n this.account.rcm = null;\r\n this.account.ehr = null;\r\n this.account.pm = null;\r\n this.account.ownerid = this.currentuser.id;\r\n this.ResetContact();\r\n this.elementRef = myElement; \r\n\r\n }\r\n ngOnInit() {\r\n this.contacts.STATUS = 309;\r\n this.dropdownvalues();\r\n this.getContactForm();\r\n \r\n if (this.contactid > 0) {\r\n this.Loadcontactdata(this.contactid);\r\n var index = 1;\r\n this.customerService.GetByAccountId(this.accountId).then(result => {\r\n this.account = result;\r\n this.AddressList.push({ \"id\": result.id + \"~AccountAdd\", \"itemName\": \"Location (\" + index + \") :- \" + ((result.address1 != null) ? result.address1 : '') + \", \" + ((result.address2 != null) ? result.address2 : '') + \", \" + ((result.city != null) ? result.city : '') + \", \" + ((result.state !=null)?result.state:''), \"Category\": 'Account Address' });\r\n this.customerService.GetLocationByAccountId(this.accountId).then(result => {\r\n this.multiplelocaddresses = result;\r\n \r\n result.forEach(ele => {\r\n if (ele.address1 !== null && ele.address1 !== '') {\r\n index++;\r\n this.AddressList.push({ \"id\": ele.id + \"~AdditionalLoc\", \"itemName\": \"Location (\" + index + \") :- \" + ((ele.address1 != null) ? ele.address1 : '') + \", \" + ((ele.address2 != null) ? ele.address2 : '') + \", \" + ((ele.city != null) ? ele.city : '') + \", \" + ((ele.state != null) ? ele.state : ''), \"Category\": 'Additional Loaction' });\r\n \r\n }\r\n\r\n });\r\n\r\n });\r\n });\r\n }\r\n else {\r\n this.customerService.GetByAccountId(this.accountId).then(result => {\r\n this.account = result;\r\n this.contacts.ownerid = this.account.ownerid;\r\n this.contacts.address1 = result.address1;\r\n this.contacts.address2 = result.address2;\r\n if (result.country !== 'Bahamas') {\r\n this.contacts.city = result.city;\r\n }\r\n this.contacts.state = result.state;\r\n this.contacts.zip = result.zip;\r\n this.customerService.GetPickListData(\"Account (Primary) Country\", 12, this.currentuser.id).then((accounttype) => {\r\n this.contacts.country = accounttype.filter(x => x.id == parseInt(result.country))[0].itemName;\r\n });\r\n this.contacts.ProvidenceIsland = result.ProvidenceIsland;\r\n this.contacts.isaddressadded = true;\r\n if (result.phone != null) {\r\n this.contacts.office = result.phone;\r\n }\r\n \r\n var index = 1;\r\n this.AddressList.push({ \"id\": result.id + \"~AccountAdd\", \"itemName\": \"Location (\" + index + \") :- \" + ((result.address1 != null) ? result.address1 : '') + \", \" + ((result.address2 != null) ? result.address2 : '') + \", \" + ((result.city != null) ? result.city : '') + \", \" + ((result.state != null) ? result.state : ''), \"Category\": 'Account Address' });\r\n this.customerService.GetLocationByAccountId(this.accountId).then(result1 => {\r\n this.multiplelocaddresses = result1;\r\n result1.forEach(ele => {\r\n if (ele.address1 !== null && ele.address1 !== '') {\r\n index++;\r\n this.AddressList.push({ \"id\": ele.id + \"~AdditionalLoc\", \"itemName\": \"Location (\" + index + \") :- \" + ((ele.address1 != null) ? ele.address1 : '') + \", \" + ((ele.address2 != null) ? ele.address2 : '') + \", \" + ((ele.city != null) ? ele.city : '') + \", \" + ((ele.state != null) ? ele.state : ''), \"Category\": 'Additional Loaction' });\r\n }\r\n\r\n });\r\n this.AddressSelection = result.id + \"~AccountAdd\";\r\n });\r\n });\r\n }\r\n\r\n this.customerService.GetFormConfiguration(this.currentuser.id, 'Contacts').then(res => {\r\n if (res != null && res.length > 0) {\r\n let obj: string[] = [res[0].OrderFields, 'Contacts'];\r\n this.customerService.getSaveFormFields(obj).then(result => {\r\n result.forEach(ele => {\r\n if (ele['ColumnName'] == 'address1') {\r\n ele['Data'] = this.AddressList;\r\n \r\n } else if (ele['ColumnName'] == 'ownerid') {\r\n ele['Data'] = this.OwnerList;\r\n } else {\r\n if (ele.DataType == \"Pick List\") {\r\n var FieldId = ele['id'];\r\n var FieldName = ele['FieldName'];\r\n if (ele['ColumnName'] == 'speciality' || ele['ColumnName'] == 'subspeciality') {\r\n FieldId = 21;\r\n FieldName = 'Account Specialty';\r\n } else if (ele['ColumnName'] == 'fellowship' || ele['ColumnName'] == 'residency') {\r\n FieldId = 101;\r\n FieldName = 'Contact Medical School';\r\n } else if (ele['ColumnName'] == 'SaasTerm') {\r\n FieldId = 119;\r\n FieldName = 'SaasTerm';\r\n } else {\r\n FieldId = ele['id'];\r\n FieldName = ele['FieldName'];\r\n }\r\n //this.customerService.GetSpecialityList(ele['FieldName'], this.currentuser.id).then((CustomerType) => {\r\n this.customerService.GetPickListData(FieldName, FieldId, this.currentuser.id).then((accounttype) => { \r\n var data = this.PickListSortByType(ele['FieldDataOrderBy'], accounttype)\r\n ele['Data'] = data; \r\n });\r\n }\r\n \r\n }\r\n\r\n });\r\n this.Fields = result;\r\n this.Fields.forEach(x => {\r\n this.NewForm.addControl(x.ColumnName, new FormControl('')); \r\n if (this.contacts.country == 'Bahamas' && (x.ColumnName == 'state' || x.ColumnName =='zip')) {\r\n x.RequiredField = 'No';\r\n }\r\n });\r\n this.NewForm.addControl('AddLocationId', new FormControl(this.contacts.AddLocationId));\r\n let selfObj = this;\r\n setTimeout(function () { \r\n if (selfObj.contacts.country == 'Bahamas') {\r\n $(\"#zip\").attr(\"disabled\", \"disabled\");\r\n $(\"#state\").attr(\"disabled\", \"disabled\");\r\n $(\"#city\").attr(\"disabled\", \"disabled\");\r\n } \r\n }, 100);\r\n });\r\n } \r\n }); \r\n }\r\n\r\n public onAccStatusClick() {\r\n if (this.currentuser.customerStatus == 0) {\r\n alert(\"You don't have access to Change Account Status. If you want to Access, please change it from User Configuration \")\r\n\r\n }\r\n }\r\n Loadcontactdata(contactid) { \r\n this.customerService.GetContactByIdNew(contactid).then(result => {\r\n this.contacts = JSON.parse(result);\r\n this.contacts.collegegrandyear = moment(this.contacts.collegegrandyear).format(\"YYYY\");\r\n this.contacts.medschoolgrandyear = moment(this.contacts.medschoolgrandyear).format(\"YYYY\");\r\n this.contacts.fellowshipgrandyear = moment(this.contacts.fellowshipgrandyear).format(\"YYYY\");\r\n this.contacts.residencygrandyear = moment(this.contacts.residencygrandyear).format(\"YYYY\");\r\n this.contacts.SassDate = this.contacts.SassDate == \"0001-01-01T00:00:00\" ? null : this.datePipe.transform(this.contacts.SassDate, 'yyyy-MM-dd');\r\n this.contacts.SaaSRenewal = this.contacts.SaaSRenewal ==\"0001-01-01T00:00:00\"?null: this.datePipe.transform(this.contacts.SaaSRenewal, 'yyyy-MM-dd');\r\n this.contacts.SaaSRCM = this.contacts.SaaSRCM == \"0001-01-01T00:00:00\" ? null : this.datePipe.transform(this.contacts.SaaSRCM, 'yyyy-MM-dd'); \r\n this.accountId = this.contacts.accountid;\r\n this.loadcontacttitles(this.contacts.contacttype);\r\n this.contacts.isaddressadded = true;\r\n this.contacts.ownerid = this.account.ownerid;\r\n this.NewForm.addControl('AddLocationId', new FormControl(this.contacts.AddLocationId));\r\n\r\n if (this.contacts.AddLocationId == 0) {\r\n this.AddressSelection = this.contacts.accountid + \"~AccountAdd\";\r\n let SO = this;\r\n setTimeout(function () {\r\n SO.AddressSelected(SO.AddressSelection);\r\n }, 100);\r\n } else {\r\n this.AddressSelection = this.contacts.AddLocationId + \"~AdditionalLoc\";\r\n let SO = this;\r\n setTimeout(function () {\r\n SO.AddressSelected(SO.AddressSelection);\r\n }, 100);\r\n }\r\n });\r\n }\r\n handleClick(event) {\r\n var clickedComponent = event.target;\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n\r\n $('#test').val('Account');\r\n } else {\r\n\r\n }\r\n }\r\n\r\n dropdownvalues() {\r\n $('#zip').attr('disabled', true);\r\n this.customerService.GetLoggedinUserList(this.currentuser.id, this.currentuser.systemadministrator).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.OwnerList = Owner;\r\n });\r\n this.getyears()\r\n {\r\n var range = [];\r\n var y = 1949;\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.Years = range;\r\n this.MedSchoolYears= range;\r\n this.ResidencyYears= range;\r\n this.FellowShipYears= range;\r\n }\r\n\r\n }\r\n countryState(id, state, type) {\r\n this.stateTextBox = true;\r\n this.stateDropDown = true;\r\n var $stateDropdownDiv = $('#stateDropDown').parent().parent();\r\n\r\n if (id == 1) {\r\n\r\n $('#citySateZipSpan').html('City/State/Zip');\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n $('#contactCityDiv').css('display', 'block');\r\n this.getSelectedState('all');\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = true;\r\n this.displayCountryName = false;\r\n $stateDropdownDiv.removeClass('col-xs-6');\r\n $stateDropdownDiv.addClass('col-xs-3');\r\n $stateDropdownDiv.prop(\"style\", \"padding-right:0px\");\r\n $('#stateDropDown').prop(\"placeholder\", \"Select State\"); \r\n if (this.seletedcountry !== null && this.seletedcountry != undefined && this.seletedcountry == 1) {\r\n if (state != undefined || state != null)\r\n $('#stateDropDown').val(state);\r\n }\r\n else\r\n $('#stateDropDown').val('');\r\n this.countryId == 1;\r\n }\r\n else if (id == 2) {\r\n $('#citySateZipSpan').html('City/State/Zip');\r\n\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n\r\n this.getSelectedState('bahamas');\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = false;\r\n this.displayCountryName = true;\r\n $stateDropdownDiv.removeClass('col-xs-3');\r\n $stateDropdownDiv.addClass('col-xs-6');\r\n $stateDropdownDiv.prop(\"style\", \"padding:0px\");\r\n $('#stateDropDown').prop(\"placeholder\", \"Select Island\");\r\n if (this.seletedcountry !== null && this.seletedcountry != undefined && this.seletedcountry == 2) {\r\n if (state != undefined || state != null)\r\n $('#stateDropDown').val(state);\r\n }\r\n else\r\n $('#stateDropDown').val('');\r\n $('#displayCountry').val('Bahamas');\r\n this.countryId == 2;\r\n }\r\n else {\r\n \r\n $('#stateTextBox').prop(\"placeholder\", \"Select State\");\r\n this.stateTextBox = false;\r\n this.stateDropDown = true;\r\n }\r\n }\r\n\r\n editRowAg(id, type): boolean {\r\n var response = false;\r\n if (type == 'Contacts' || type == 'Contact') {\r\n \r\n this.customerService.Getcontacttypes(2).then((accounttype) => {\r\n this.contacttypelist = [];\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.contacttypelist = accounttype;\r\n });\r\n\r\n this.ResetContact();\r\n \r\n this.customerService.GetContactByIdNew(id).then(result => {\r\n this.contacts = JSON.parse(result);\r\n this.contacts.collegegrandyear = moment(this.contacts.collegegrandyear).format(\"YYYY\");\r\n this.contacts.medschoolgrandyear = moment(this.contacts.medschoolgrandyear).format(\"YYYY\");\r\n this.contacts.fellowshipgrandyear = moment(this.contacts.fellowshipgrandyear).format(\"YYYY\");\r\n this.contacts.residencygrandyear = moment(this.contacts.residencygrandyear).format(\"YYYY\");\r\n this.adddata.loadaddress(this.contacts);\r\n this.customerService.GetByAccountId(this.contacts.accountid).then(result => {\r\n this.account = result;\r\n if (result.country == '1') {\r\n this.countryState(1, this.account.state, null);\r\n }\r\n else {\r\n this.countryState(2, this.account.state, null);\r\n\r\n }\r\n });\r\n \r\n this.loadcontacttitles(this.contacts.contacttype).then(() => {\r\n if (this.contacts.contacttype == \"\" || this.contacts.contacttype == 'PT' || this.contacts.contacttype == 'PA') {\r\n $('#title').removeClass('required');\r\n $('#title').removeClass('not-required');\r\n $('#titlespan').attr('style','display:block;')\r\n $('#title').addClass('required');\r\n } else {\r\n $('#title').removeClass('required');\r\n $('#title').removeClass('not-required');\r\n $('#titlespan').attr('style', 'display:none;')\r\n }\r\n this.changeCityStateZip(this.contacts.country, this.contacts.state);\r\n response = true;\r\n });\r\n\r\n });\r\n } else {\r\n this.opprtunityservice.GetByAccountId(id).then(result => {\r\n this.account = result;\r\n this.address1 = result.address1;\r\n this.adddata.loadaddress(this.account);\r\n if (result.country == '1') {\r\n this.countryState(1, this.account.state, null);\r\n }\r\n else {\r\n this.countryState(2, this.account.state, null);\r\n\r\n }\r\n this.contacts.speciality = this.account.speciality;\r\n });\r\n }\r\n return response;\r\n }\r\n ResetContact() {\r\n this.contacts = new Contacts();\r\n this.contacts.contacttype = null;\r\n this.contacts.suffix = null;\r\n this.contacts.sex = null;\r\n this.contacts.title = null;\r\n this.contacts.speciality = null;\r\n this.contacts.subspeciality = null;\r\n this.contacts.college = null;\r\n this.contacts.collegegrandyear = null;\r\n this.contacts.medschool = null;\r\n this.contacts.medschoolgrandyear = null;\r\n this.contacts.residency = null;\r\n this.contacts.residencygrandyear = null;\r\n this.contacts.fellowship = null;\r\n this.contacts.fellowshipgrandyear = null;\r\n this.contacts.ownerid = null;\r\n this.contacts.firstname = null;\r\n this.contacts.lastname = null;\r\n this.contacts.practiceid = 0;\r\n $('#title').removeClass('not-required')\r\n $('#test').val('');\r\n } \r\n getContactForm(): FormGroup {\r\n return new FormGroup({\r\n 'contacttype': new FormControl(this.contacts.contacttype, Validators.required),\r\n 'firstname': new FormControl(this.contacts.firstname, Validators.required),\r\n 'lastname': new FormControl(this.contacts.lastname, Validators.required),\r\n 'title': new FormControl(this.contacts.title, Validators.required),\r\n 'state': new FormControl(this.contacts.state, Validators.required),\r\n 'city': new FormControl(this.contacts.city, Validators.nullValidator), \r\n 'zip': new FormControl(this.contacts.zip, Validators.required),\r\n 'ownerid': new FormControl(this.contacts.ownerid, Validators.required),\r\n 'middlename': new FormControl(this.contacts.middlename, Validators.nullValidator),\r\n 'suffix': new FormControl(this.contacts.suffix, Validators.nullValidator),\r\n 'sex': new FormControl(this.contacts.sex, Validators.nullValidator),\r\n 'speciality': new FormControl(this.contacts.speciality, Validators.nullValidator),\r\n 'subspeciality': new FormControl(this.contacts.subspeciality, Validators.nullValidator),\r\n //'email': new FormControl(this.contacts.email, Validators.email),\r\n 'address1': new FormControl(this.contacts.address1, Validators.nullValidator),\r\n 'address2': new FormControl(this.contacts.address2, Validators.nullValidator),\r\n 'cell': new FormControl(this.contacts.cell, Validators.nullValidator),\r\n 'office': new FormControl(this.contacts.office, Validators.nullValidator),\r\n 'isaddressadded': new FormControl(this.contacts.isaddressadded, Validators.requiredTrue),\r\n 'homeaddress': new FormControl(this.contacts.homeaddress, Validators.nullValidator),\r\n 'homestate': new FormControl(this.contacts.homestate, Validators.nullValidator),\r\n 'homecity': new FormControl(this.contacts.homecity, Validators.nullValidator),\r\n 'homezip': new FormControl(this.contacts.homezip, Validators.nullValidator),\r\n 'home': new FormControl(this.contacts.home, Validators.nullValidator),\r\n 'college': new FormControl(this.contacts.college, Validators.nullValidator),\r\n 'medschool': new FormControl(this.contacts.medschool, Validators.nullValidator),\r\n 'residency': new FormControl(this.contacts.residency, Validators.nullValidator),\r\n 'fellowship': new FormControl(this.contacts.fellowship, Validators.nullValidator),\r\n 'collegegrandyear': new FormControl(this.contacts.collegegrandyear, Validators.nullValidator),\r\n 'medschoolgrandyear': new FormControl(this.contacts.medschoolgrandyear, Validators.nullValidator),\r\n 'residencygrandyear': new FormControl(this.contacts.residencygrandyear, Validators.nullValidator),\r\n 'fellowshipgrandyear': new FormControl(this.contacts.fellowshipgrandyear, Validators.nullValidator),\r\n 'facebook': new FormControl(this.contacts.facebook, Validators.nullValidator),\r\n 'instagram': new FormControl(this.contacts.instagram, Validators.nullValidator),\r\n 'linkedin': new FormControl(this.contacts.linkedin, Validators.nullValidator),\r\n 'twitter': new FormControl(this.contacts.twitter, Validators.nullValidator),\r\n });\r\n }\r\n collegeyear(val) {\r\n var range = [];\r\n var y = Number(val);\r\n var year = new Date().getFullYear();\r\n for (var i = 0; y <= year; i++) {\r\n y = y + 1;\r\n range.push({\r\n label: y,\r\n value: y\r\n });\r\n }\r\n this.MedSchoolYears = range;\r\n this.ResidencyYears = range;\r\n this.FellowShipYears = range;\r\n }\r\n \r\n onChange(stateid) {\r\n this.customerService.GetAllCitiesList(stateid).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.CitiesList = accounttype;\r\n });\r\n } \r\n SaveContact() {\r\n if (this.contacts.isaddressadded) {\r\n var titleContain = 1;\r\n if ($(\"#title\").hasClass(\"required\") || $('#title').hasClass('not-required')) {\r\n if (this.contacts.title == null) {\r\n titleContain = 0;\r\n }\r\n } else {\r\n titleContain = 1;\r\n }\r\n if (titleContain == 1) {\r\n this.contacts.practiceid = this.practiceid;\r\n this.contacts.userid = this.currentuser.id;\r\n this.contacts.isshared = this.account.isshared;\r\n this.contacts.accountid = this.accountId;\r\n if (this.contacts.contacttype == \"Physician (MD)\") {\r\n this.contacts.title = 'MD';\r\n } else if (this.contacts.contacttype == \"Physician (DO)\") {\r\n this.contacts.title = 'DO';\r\n } else if (this.contacts.contacttype == \"Podiatrist (DPM)\") {\r\n this.contacts.title = 'DPM';\r\n }\r\n\r\n if (this.contacts.id == 0 || this.contacts.id == undefined) {\r\n this.NewForm.addControl('userid', new FormControl(this.currentuser.id));\r\n this.NewForm.addControl('created', new FormControl(this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss')));\r\n }\r\n this.NewForm.addControl('accountid', new FormControl(this.contacts.accountid));\r\n this.NewForm.controls['address1'].setValue(this.contacts.address1);\r\n this.NewForm.controls['AddLocationId'].setValue(this.contacts.AddLocationId);\r\n \r\n this.contacts.fieldvalues = JSON.stringify(this.NewForm?.value);\r\n \r\n this.contacts.ownerid = this.account.ownerid;\r\n this.contacts.isshared = this.account.isshared;\r\n this.accountsService.addcontactNew(this.contacts).then(result => {\r\n this.contacts.id = result.id;\r\n $('#test').val('');\r\n this.contacts.userid = this.currentuser.id;\r\n this.contacts = new Contacts();\r\n this.contacts.STATUS = 309;\r\n this.sendMsgEvent.emit(\"contact Added\");\r\n });\r\n\r\n }\r\n } else\r\n {\r\n this.showmapWarning = true;\r\n this.showmapWarningDialogCss();\r\n }\r\n\r\n }\r\n\r\n showmapWarningDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width:30%;padding-bottom: 0px;border:4px solid rgb(49,189,240);border-radius:5%;min-height: 30%;overflow: visible;height: 43%;top: 32%;left: 56%;');\r\n }, 100);\r\n }\r\n changeCityStateZip(id, state) {\r\n\r\n var $stateDropdownDiv = $('#contactstateTextBox').parent();\r\n if (id == 1) {\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n this.getSelectedState('all');\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = true;\r\n this.displayCountryName = false;\r\n $stateDropdownDiv.removeClass('col-xs-6');\r\n $stateDropdownDiv.addClass('col-xs-3');\r\n $stateDropdownDiv.prop(\"style\", \"padding-right:0px\");\r\n $('#contactstateTextBox').prop(\"placeholder\", \"Select State\");\r\n $('#contactstateTextBox').val(state);\r\n \r\n\r\n this.countryId == 1;\r\n }\r\n else if (id == 2) {\r\n $('#citySateZipforContacts').html('City/State/Zip');\r\n this.getSelectedState('bahamas');\r\n this.stateTextBox = true;\r\n this.stateDropDown = false;\r\n this.displayZipCode = false;\r\n this.displayCountryName = true; \r\n $('#contactstateTextBox').prop(\"placeholder\", \"Select Island\");\r\n $('#contactstateTextBox').val(state); \r\n $('#contactsDisplayCountry').val('Bahamas');\r\n this.countryId == 2;\r\n }\r\n }\r\n getSelectedState(country) {\r\n this.customerService.GetAllStateList(country).then((state) => {\r\n state.forEach(accounttype => {\r\n });\r\n this.StatesList = state;\r\n this.stateInfo = state;\r\n\r\n });\r\n }\r\n statePopulate(zipid, cityid, stateid, stateDDN) {\r\n var that = this;\r\n var zipCode = $('#' + zipid).val();\r\n var newStr = zipCode.replace(/_/g, \"\");\r\n var newStrArray = newStr.split(\"-\");\r\n if (newStrArray[0].length > 4) {\r\n var url = \"http://ziptasticapi.com/\" + newStrArray[0];\r\n $.ajax({\r\n url: url,\r\n dataType: \"json\",\r\n type: 'GET',\r\n success: function (data) {\r\n $('#' + cityid).val(data.city);\r\n that.loadstate(data.state, stateid, stateDDN);\r\n if (zipid == 'contactzip') {\r\n that.contacts.city = data.city;\r\n\r\n }\r\n if (zipid == 'contacthomezip') {\r\n that.contacts.homecity = data.city;\r\n\r\n }\r\n else {\r\n that.account.city = data.city;\r\n\r\n }\r\n }\r\n\r\n });\r\n }\r\n } \r\n \r\n loadstate(state, stateid, stateDDN) {\r\n $('.selectedState').removeClass('selectedState');\r\n var countryCode = ($('#country').val());\r\n if (countryCode == 1 && stateDDN == 'stateDropDown') {\r\n for (var i = 0; i < 50; i++) {\r\n if (this.StatesList[i].itemName.trim().toString() == state) {\r\n $('#' + stateDDN).val(state)\r\n $('#' + this.StatesList[i].id).addClass('selectedState');\r\n this.account.state = state;\r\n }\r\n }\r\n } else {\r\n $('#' + stateid).val(state);\r\n\r\n if (stateid == 'contactstateTextBox') {\r\n this.contacts.state = state;\r\n\r\n }\r\n if (stateid == 'contacthomestate') {\r\n this.contacts.homestate = state;\r\n }\r\n else {\r\n this.account.state = state;\r\n\r\n }\r\n\r\n }\r\n } \r\n GetStateByID(stateId) {\r\n if (/^\\d+$/.test(stateId)) {\r\n for (var i = 0; i < 50; i++) {\r\n if (this.StatesList[i].id.toString() == stateId) {\r\n this.contacts.state = this.StatesList[i].itemName;\r\n }\r\n }\r\n }\r\n else {\r\n this.contacts.state = stateId;\r\n }\r\n\r\n\r\n } \r\n getyears() {\r\n var range = [];\r\n var year = new Date().getFullYear();\r\n for (var i = 0; i < 7; i++) {\r\n range.push({\r\n label: year + i,\r\n value: parseInt(String(year + i).slice(2, 4))\r\n });\r\n }\r\n\r\n this.Years = range;\r\n this.MedSchoolYears = range;\r\n this.ResidencyYears = range;\r\n this.FellowShipYears = range;\r\n }\r\n showStateList() {\r\n document.getElementById('stateList').style.display = 'block';\r\n\r\n }\r\n hideStateList() {\r\n document.getElementById('stateList').style.display = 'none';\r\n } \r\n contactsShowStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'block';\r\n }\r\n contactsHideStateList() {\r\n\r\n document.getElementById('contactsStateList').style.display = 'none';\r\n }\r\n closeeditaccount() {\r\n this.sendMsgEvent.emit(\"Close\");\r\n }\r\n selectState(id, name) {\r\n $('.selectedState').removeClass('selectedState');\r\n $('#' + id).addClass('selectedState');\r\n $('#stateDropDown').val(name);\r\n this.account.state = name;\r\n } \r\n contactsSelectState(id, name) {\r\n $('.selectedState').removeClass('selectedState');\r\n $('#cont_' + id).addClass('selectedState');\r\n $('#contactstateTextBox').val(name);\r\n this.contacts.state = name;\r\n } \r\n IsButtonAccess(btn, type) {\r\n this.toastr.clear();\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (btn == this.userprevilages[j].resource) {\r\n if (type == \"add\" && this.userprevilages[j].canadd == false) {\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n if (type == \"edit\" && this.userprevilages[j].canedit == false) {\r\n this.toastr.warning(\"You Do Not have Access to edit – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n } \r\n loadcontacttitles(val): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.customerService.GetSpecialityList(\"Contact Title\", this.currentuser.id).then((title) => {\r\n \r\n this.TitleList = title;\r\n });\r\n \r\n });\r\n return promise;\r\n }\r\n special_char(event) {\r\n\r\n var k = event.charCode;\r\n return (!(k === 124));\r\n } \r\n titleSelected() {\r\n if ($('#title').hasClass('not-required')) {\r\n $('#title').removeClass('not-required')\r\n $('#title').addClass('required')\r\n }\r\n }\r\n collegeYear1() {\r\n $('#collegegrandyear').removeAttr('disabled');\r\n }\r\n medschoolYear1() {\r\n $('#medschoolgrandyear').removeAttr('disabled');\r\n }\r\n residencyYear1() {\r\n $('#residencygrandyear').removeAttr('disabled');\r\n }\r\n fellowshipYear1() {\r\n $('#fellowshipgrandyear').removeAttr('disabled');\r\n }\r\n getWindowHeight() { \r\n return ((window.innerHeight * 72) / 100) + \"px\";\r\n }\r\n SaveAccount() {\r\n\r\n if (this.account.isaddressadded) {\r\n this.route.params.subscribe(params => {\r\n this.account.userid = this.currentuser.id;\r\n\r\n this.accountsService.addaccount(this.account).then(result => {\r\n this.account = result;\r\n this.sendMsgEvent.emit(\"Added\");\r\n });\r\n });\r\n } else {\r\n this.showmapWarning = true;\r\n this.showmapWarningDialogCss();\r\n }\r\n\r\n }\r\n SaveCustomeAddress() {\r\n this.account.isaddressadded = true;\r\n this.contacts.isaddressadded = true;\r\n this.showmapWarning = false;\r\n }\r\n resetAccountNumber() {\r\n if (this.account.id != 0) {\r\n\r\n if ($('#customertypeid').val() != 0) {\r\n if (this.account.accnumber == '' || this.account.accnumber == '0') {\r\n $('#accnumber').val('');\r\n this.account.accnumber = null;\r\n }\r\n } else {\r\n if (this.account.accnumber == '' || this.account.accnumber == '0' || this.account.accnumber == null) {\r\n $('#accnumber').val('0');\r\n this.account.accnumber = '0';\r\n }\r\n\r\n }\r\n }\r\n }\r\n Island_Countryval(event) {\r\n var regex = new RegExp(\"^[a-zA-Z ]+$\");\r\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\r\n if (!regex.test(key)) {\r\n event.preventDefault();\r\n return false;\r\n }\r\n }\r\n accountNumber() {\r\n if ($('accnumber').val() == '') {\r\n if ($('#customertypeid').val() == 0) {\r\n this.account.accnumber = '0';\r\n } else {\r\n this.account.accnumber = null;\r\n }\r\n }\r\n }\r\n public transform(input: string): string {\r\n \r\n if (!input) {\r\n return '';\r\n }\r\n else {\r\n return input[0].toUpperCase() + input.substr(1);\r\n }\r\n }\r\n\r\n AddressReceived(msg: Accounts) {\r\n if (this.type == \"Customer\") {\r\n this.account.address1 = msg.address1;\r\n this.account.address2 = msg.address2;\r\n this.account.city = msg.city;\r\n this.account.state = msg.state;\r\n this.account.ProvidenceIsland = msg.ProvidenceIsland;\r\n this.account.zip = msg.zip;\r\n this.account.lattitude = msg.lattitude;\r\n this.account.longtitude = msg.longtitude;\r\n this.account.isaddressadded = msg.isaddressadded;\r\n } else\r\n {\r\n this.contacts.address1 = msg.address1;\r\n this.contacts.address2 = msg.address2;\r\n this.contacts.city = msg.city;\r\n this.contacts.state = msg.state;\r\n this.contacts.zip = msg.zip;\r\n this.contacts.ProvidenceIsland = msg.ProvidenceIsland;\r\n this.contacts.lattitude = msg.lattitude;\r\n this.contacts.longtitude = msg.longtitude.toString();\r\n this.contacts.isaddressadded = msg.isaddressadded;\r\n }\r\n\r\n }\r\n\r\n cancelContact() {\r\n this.sendMsgEvent.emit(\"contact Added\");\r\n }\r\n AddressSelected(event) {\r\n if (event.split(\"~\")[1] == 'AccountAdd') {\r\n this.contacts.address1 = this.account.address1;\r\n this.contacts.address2 = this.account.address2;\r\n if (this.account.country !== 'Bahamas') {\r\n this.contacts.city = this.account.city;\r\n } else {\r\n this.contacts.city = \"\";\r\n \r\n \r\n }\r\n \r\n this.contacts.state = this.account.state;\r\n this.contacts.zip = this.account.zip;\r\n this.customerService.GetPickListData(\"Account (Primary) Country\", 12, this.currentuser.id).then((accounttype) => {\r\n this.contacts.country = accounttype.filter(x => x.id == parseInt(this.account.country))[0].itemName;\r\n });\r\n this.contacts.lattitude = this.account.lattitude;\r\n this.contacts.longtitude = this.account.longtitude.toString();\r\n if (this.account.phone != null) {\r\n this.contacts.office = this.account.phone;\r\n }\r\n this.contacts.ProvidenceIsland = this.account.ProvidenceIsland;\r\n this.contacts.isaddressadded = true;\r\n this.contacts.AddLocationId = 0;\r\n this.NewForm.addControl('AddLocationId', new FormControl(this.contacts.AddLocationId));\r\n } else {\r\n var msg = this.multiplelocaddresses.filter(p => p.id == event.split(\"~\")[0])[0];\r\n this.contacts.address1 = msg.address1;\r\n this.contacts.address2 = msg.address2;\r\n if (msg.country !== 'Bahamas') {\r\n this.contacts.city = msg.city;\r\n } else {\r\n this.contacts.city = \"\";\r\n }\r\n this.contacts.state = msg.state;\r\n this.contacts.zip = msg.zip;\r\n this.contacts.country = msg.country;\r\n this.contacts.ProvidenceIsland = msg.ProvidenceIsland;\r\n this.contacts.lattitude = msg.lattitude;\r\n this.contacts.longtitude = msg.longtitude;\r\n this.contacts.office = msg.phone;\r\n this.contacts.isaddressadded = true;\r\n this.contacts.AddLocationId = msg.id;\r\n this.NewForm.addControl('AddLocationId', new FormControl(this.contacts.AddLocationId));\r\n }\r\n \r\n \r\n }\r\n\r\n PickListSortByType(value, data) {\r\n var DuplicateFiledDataList = [];\r\n if (value == 'SortOrder') {\r\n DuplicateFiledDataList = data.sort((a, b) => a.Sortorder - b.Sortorder);\r\n return DuplicateFiledDataList;\r\n } else if (value == 'FieldName') {\r\n DuplicateFiledDataList = data.sort((a, b) => a.itemName.localeCompare(b.itemName));\r\n return DuplicateFiledDataList;\r\n }\r\n }\r\n\r\n FormDataEntered(val) {\r\n this.FormDataModified = true;\r\n }\r\n\r\n DiscardFormDataConfirmationCss() {\r\n this.DiscardFormDataConfirmation = true;\r\n this.appComponent.salesxcrmDialog('#DiscardFormDataConfirmation .dialog');\r\n \r\n }\r\n\r\n addFiles(event) {\r\n \r\n let files = event.srcElement.files;\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n this.addChargeNew(file);\r\n }\r\n }\r\n\r\n addChargeNew(file) {\r\n let contact = new Contacts();\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n contact.id = selfObj.contactid;\r\n contact.phototype = file.type; \r\n contact.photo = reader.result.toString();\r\n selfObj.contacts.fileName = file.name;\r\n selfObj.contacts.photo = reader.result.toString();\r\n selfObj.NewForm.controls['photo'].setValue(selfObj.contacts.photo);\r\n }, 500));\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\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-editdelete',\r\n templateUrl: './editdelete.component.html',\r\n styleUrls: ['./editdelete.component.css']\r\n})\r\nexport class EditdeleteComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public params: any;\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n }\r\n needDeletebtn() {\r\n return (document.getElementById('customers').className == 'mybtn coustomButton mainactiveButton') ? false : true;\r\n }\r\n needAuditbtn() {\r\n var url = window.location.href;\r\n if (url.indexOf('salestool') > -1) {\r\n return (document.getElementById('customers').className == 'mybtn coustomButton mainactiveButton') ? false : true;\r\n }\r\n }\r\n public ActiateRowAg() {\r\n this.params.context.deleteRowAg(this.params.node.data);\r\n }\r\n public editRowAg() { \r\n this.params.context.editRowAg(this.params.node.data);\r\n }\r\n\r\n public deleteRowAg() {\r\n this.params.context.deleteRowAg(this.params.node.data);\r\n }\r\n public auditRowAg() {\r\n this.params.context.auditRowAg(this.params.node.data);\r\n\r\n }\r\n needEditbtn() {\r\n return (document.getElementById('viewcalllist_button').className == 'subButtons activeButton') ? false : true;\r\n }\r\n refresh(): boolean { \r\n return false;\r\n }\r\n}\r\n","\r\n\r\n\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 } from '@angular/core';\r\nimport { ICellRendererAngularComp } from \"ag-grid-angular\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-editdeletecv',\r\n templateUrl: './editdeletecv.component.html',\r\n styleUrls: ['./editdeletecv.component.css']\r\n})\r\nexport class EditdeletecvComponent implements OnInit, ICellRendererAngularComp {\r\n currentuser: any;\r\n userprevilages: any;\r\n constructor(private toastr: ToastrService, private customerService: CustomerService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n public params: any;\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n \r\n }\r\n needDeletebtn() {\r\n return (document.getElementById('customers').className == 'mybtn coustomButton mainactiveButton') ? true : true;\r\n }\r\n needCVbtn() {\r\n var url = window.location.href;\r\n if ((url.indexOf('quick-view') > -1) || (url.indexOf('account-contact/0/') > -1)) {\r\n return (document.getElementById('AccountsMainMenu').className == 'activeButton')? true : true;\r\n }\r\n else if (url.indexOf('contacts/contacts/') > -1 || url.indexOf('customercontacts') > -1) {\r\n // return (document.getElementById('a-z_button').className == 'subButtons activeButton') ? true : true;\r\n return true;\r\n } \r\n else if (url.indexOf('calllist/0/') > -1) {\r\n return true;\r\n }\r\n }\r\n needSharing() {\r\n var url = window.location.href;\r\n if ((url.indexOf('account/Customer') > -1) || (url.indexOf('account/Contact') > -1)) {\r\n return (document.getElementById('AccountsMainMenu').className == 'activeButton') ? true : true;\r\n }\r\n else if ((url.indexOf('account-contact') > -1) || (url.indexOf('account/Accounts') > -1)) {\r\n return (document.getElementById('AccountsMainMenu').className == 'activeButton') ? true : true;\r\n }\r\n else if ((url.indexOf('contacts/contacts') > -1) || (url.indexOf('contacts') > -1) || (url.indexOf('customercontacts') > -1)) {\r\n return true;\r\n } else if (url.indexOf('calllist') > -1 || url.indexOf('quick-view') > -1) { return true; }\r\n }\r\n\r\n public editRowAg() {\r\n this.params.context.editRowAg(this.params.node.data);\r\n\r\n }\r\n\r\n public deleteRowAg() {\r\n\r\n this.params.context.deleteRowAg(this.params.node.data);\r\n\r\n }\r\n\r\n public ActiateRowAg() {\r\n this.params.context.deleteRowAg(this.params.node.data);\r\n }\r\n\r\n public convertContactAg() {\r\n this.customerService.GetPrivilagesByuser(this.currentuser.id).then(result => {\r\n this.userprevilages = result;\r\n\r\n var thisTab = this.userprevilages.filter(p => p.resource == (\"Leads\"))[0];\r\n if (thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to Leads Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n } else {\r\n this.params.context.convertContactAg(this.params.node.data);\r\n }\r\n });\r\n }\r\n public sharingAg() {\r\n this.params.context.sharingAg(this.params.node.data);\r\n }\r\n public callcheck() {\r\n this.params.context.callcheck(this.params.node.data);\r\n }\r\n refresh(): boolean {\r\n return false;\r\n }\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\ndeclare var $: any;\r\n@Component({\r\n selector: 'editdeletecvcheck',\r\n templateUrl: './editdeletecvcheck.component.html',\r\n styleUrls: ['./editdeletecvcheck.component.css']\r\n})\r\nexport class EditdeletecvcheckComponent implements OnInit {\r\n currentuser: any;\r\n\r\n constructor() {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public params: any;\r\n\r\n agInit(params: any): void {\r\n \r\n this.params = params;\r\n //alert()\r\n }\r\n \r\n public editRowAg() {\r\n this.params.context.editRowAg(this.params.node.data);\r\n }\r\n\r\n public deleteRowAg() {\r\n this.params.context.deleteRowAg(this.params.node.data);\r\n }\r\n\r\n public convertContactAg() {\r\n this.params.context.convertContactAg(this.params.node.data);\r\n }\r\n public callcheck() {\r\n this.params.context.callcheck(this.params.node.data);\r\n }\r\n public deletetoOpenRowAg() {\r\n this.params.context.deletetoOpenRowAg(this.params.node.data);\r\n\r\n }\r\n\r\n needSharing() {\r\n var url = window.location.href;\r\n if (url.indexOf('calllist') > -1) {\r\n return true;\r\n }\r\n \r\n }\r\n refresh(): boolean {\r\n return false;\r\n }\r\n sharingAg() {\r\n this.params.context.sharingAg(this.params.node.data);\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n Subject\r\n
      \r\n
      \r\n Attachment\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n

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

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

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

      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
        \r\n
      • \r\n {{fileName}}\r\n
      • \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n

      Account : {{accountName}}

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

      \r\n I Wanted to let you know that many off your colleagues have already added the MDLOGIC PM(practice management software) to the MD Logic EHR Software.this provides an all-in-one solution for your practice saving time and increasing efficiency.
      I would like to schedule 15 minutes next week to simply review what benefits are available when choosing to add the MD Logic PM software.
      Please let me know your best time and i will schedule a meeting.\r\n
      \r\n Thanks again for being a valued customer.\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \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, ViewChild, ElementRef, ViewContainerRef, ViewEncapsulation, Pipe, PipeTransform } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AccountsService } from './../../services/accounts.service';\r\nimport { MailserviceService } from './../../services/mailservice.service';\r\nimport { MessagingService } from './../../services/messaging.service';\r\nimport { Customers } from '../../models/customers';\r\nimport { Emails, Attachements } from '../../models/emails';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport 'rxjs/add/operator/map'\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\nimport 'rxjs/Rx';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-emails',\r\n templateUrl: './emails.component.html',\r\n styleUrls: ['./emails.component.css']\r\n})\r\nexport class EmailsComponent implements OnInit {\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n sentemaillist: Array = [];\r\n attachemnts: Array = [];\r\n //attachemnts: Attachements[] = [];\r\n contactList = [];\r\n finalitems = \"\";\r\n bccitems = \"\";\r\n public emailcolumnDefs: any[];\r\n selectedItems = [];\r\n BccselectedItems = [];\r\n public gridemailOptions: GridOptions;\r\n contactslist: Array = [];\r\n currentuser: any;\r\n selectedType = \"\";\r\n typeSelected = '';\r\n emails: Emails = new Emails(); contactsids: string = \"\";\r\n messagedescription: string;\r\n accountName: string;\r\n SentEmailTable: boolean = false;\r\n itemList: any = [];\r\n bccitemList: any = [];\r\n settings = {};\r\n errorMessage: string;\r\n filesToUpload: Array;\r\n selectedFileNames: string[] = [];\r\n emailAlert: boolean = false;\r\n public isLoadingData: Boolean = false;\r\n @ViewChild('fileUpload') fileUploadVar: any;\r\n uploadResult: any;\r\n res: Array;\r\n totalContacts: number = 0;\r\n grayedContacts: number = 0;\r\n selectedLabel: string = \"Contacts Selected\";\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n public sideBar;\r\n constructor(public applicationComponent: ApplicationComponent,private toastr: ToastrService, private http: HttpClient, private route: ActivatedRoute, private opprtunityservice: OpprtunitiesService, private viewContainerRef: ViewContainerRef, private accountsService: AccountsService, private mailservice: MailserviceService, private messagingservice: MessagingService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.currentuser.email = this.currentuser.email;\r\n }\r\n onSearchstring(msg) {\r\n\r\n }\r\n ngOnInit() {\r\n $(\".checkMark\").removeClass(\"activeColor\");\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\".fa-check\").removeClass(\"activeColor\");\r\n var selected = '';\r\n if (document.getElementById('subTab') != undefined && document.getElementById('subTab') != null)\r\n document.getElementById('subTab').style.display = 'block';\r\n this.route.params.subscribe(params => {\r\n this.contactsids = params['ids'];\r\n let type = params['type'];\r\n this.selectedType = type;\r\n this.typeSelected = type\r\n // this.GetMajorAccountId(this.contactsids)\r\n this.GetAllContactsnames(this.contactsids, type);\r\n if (type == 'Customer') {\r\n //$(\"#coustomers_span\").addClass(\"activeColor\");\r\n //$(\"#coustomers\").addClass(\"mainactiveButton\");\r\n //document.getElementById('selectedLabel').innerHTML = 'Customers Selected';\r\n this.selectedLabel = \"Customers Selected\";\r\n } else {\r\n //$(\"#contact_span\").addClass(\"activeColor\");\r\n //$(\"#contact\").addClass(\"mainactiveButton\");\r\n //document.getElementById('selectedLabel').innerHTML = 'Contacts Selected';\r\n this.selectedLabel = \"Contacts Selected\";\r\n }\r\n //}\r\n $(\"#email\").addClass(\"activeColor\");\r\n $(\"#email_button\").addClass(\"activeButton\");\r\n\r\n });\r\n this.settings = {\r\n text: \"Select Contacts\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n classes: \"myclass custom-class\",\r\n primaryKey: \"id\",\r\n labelKey: \"name\",\r\n noDataLabel: \"Search Contacts...\",\r\n enableSearchFilter: true,\r\n //searchBy: ['name', 'name']\r\n };\r\n //this.opprtunityservice.GetAllContactsbySearchPagination(null, this.currentuser.id, this.subtype, active_deactiveStatus, this.startDateVal, this.endDateVal, startrow, endrow).then((contact) => {\r\n // contact.forEach(contact => {\r\n // contact.created = this.datePipe.transform(contact.created, \"MM-dd-yyyy\");\r\n // contact.speciality = ((contact.speciality == 'null') ? \"\" : contact.speciality);\r\n // });\r\n\r\n // this.contactList = contact;\r\n this.applicationComponent.pageViewed = \"CreateEmail\";\r\n }\r\n onSearch(evt: any) {\r\n this.itemList = [];\r\n\r\n this.opprtunityservice.GetContactsForEmail(evt.target.value, this.currentuser.id).then((con) => {\r\n \r\n //con.forEach(contact => {\r\n // \r\n // let drpDwn: Dropdown = new Dropdown();\r\n // drpDwn.id = contact.id.toString();\r\n // drpDwn.itemName = contact.itemName;\r\n // drpDwn.Text = contact.itemName;\r\n // drpDwn.Value = contact.id.toString();\r\n // this.itemList.push(drpDwn);\r\n //});\r\n\r\n this.itemList = con;\r\n });\r\n }\r\n\r\n bcconSearch(evt: any) {\r\n this.itemList = [];\r\n\r\n this.opprtunityservice.GetContactsForEmail(evt.target.value, this.currentuser.id).then((con) => {\r\n \r\n //con.forEach(contact => {\r\n // \r\n // let drpDwn: Dropdown = new Dropdown();\r\n // drpDwn.id = contact.id.toString();\r\n // drpDwn.itemName = contact.itemName;\r\n // drpDwn.Text = contact.itemName;\r\n // drpDwn.Value = contact.id.toString();\r\n // this.bccitemList.push(drpDwn);\r\n //});\r\n\r\n this.bccitemList = con;\r\n });\r\n }\r\n onsentemailAgGridReady() {\r\n this.gridemailOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n }; this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.emailscreateColumnDefs(\"\");\r\n this.gridemailOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n }\r\n emailscreateColumnDefs(columnSelections: string) {\r\n this.emailcolumnDefs = [\r\n { field: 'tousernames', headerName: 'To', hide: false },\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n { field: 'sentemailDate', headerName: 'Sent Date', hide: false },\r\n { field: 'messagebody', headerName: ' Message', tooltipField: 'messagebody', hide: false },\r\n\r\n ];\r\n\r\n }\r\n Email(val) {\r\n if (val == \"SentMessage\") {\r\n this.SentEmailTable = true;\r\n this.onsentemailAgGridReady();\r\n this.messagingservice.GetAllSentMessagesList(this.currentuser.id).then((sentmessageslist) => {\r\n sentmessageslist.forEach(document => {\r\n document.sentemailDate = this.datePipe.transform(document.sentemailDate, \"MM-dd-yyyy\");\r\n document.messagebody = document.messagebody.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>)/img, \"\");\r\n\r\n });\r\n this.sentemaillist = sentmessageslist;\r\n });\r\n }\r\n else {\r\n this.SentEmailTable = false;\r\n }\r\n }\r\n public GetAllContactsnames(contactsids, type) {\r\n \r\n this.accountsService.GetAllSelectedContacts(contactsids, type).then((Contacts) => {\r\n Contacts.forEach(Contacts => {\r\n });\r\n \r\n this.contactslist = Contacts;\r\n this.totalContacts = this.contactslist.length;\r\n\r\n this.grayedContacts = 0;\r\n this.contactslist.forEach(con => {\r\n \r\n if (con.color == \"lightgray\")\r\n this.grayedContacts += 1;\r\n });\r\n\r\n var nameLast = \"\";\r\n var Emailids = \"\";\r\n var selected = '';\r\n var selectedLastName = '';\r\n var selectedId = '';\r\n for (var i = 0; i < Contacts.length; i++) {\r\n if (i == 0) {\r\n nameLast = Contacts[i].last\r\n } else {\r\n var t = Contacts.length;\r\n t--;\r\n if (i == t) {\r\n nameLast = nameLast + ' and ' + Contacts[i].last\r\n } else {\r\n nameLast = nameLast + ' , ' + Contacts[i].last\r\n }\r\n\r\n }\r\n \r\n if (i == 0) {\r\n if (Contacts[i].email != null) {\r\n Emailids = Contacts[i].email\r\n }\r\n } else {\r\n if (Contacts[i].email != null) {\r\n Emailids = Emailids + ' , ' + Contacts[i].email\r\n } else { Emailids = Emailids; }\r\n }\r\n\r\n if (i == 0) {\r\n selectedLastName = Contacts[i].last\r\n selectedId = Contacts[i].id.toString();\r\n if (Contacts.length == 1) {\r\n selectedLastName = selectedLastName + ','\r\n selectedId = selectedId + ','\r\n }\r\n } else {\r\n selectedLastName = selectedLastName + ',' + Contacts[i].last\r\n selectedId = selectedId + ',' + Contacts[i].id\r\n }\r\n\r\n \r\n let rmvId: string = \"rmvSelCon\" + i;\r\n let conId = Contacts[i].id;\r\n\r\n selected = selected + '

      ';\r\n if (this.selectedType == 'Customer') {\r\n //selected = selected + '';\r\n } else {\r\n if (Contacts[i].color != 'lightgray') { this.accountName = Contacts[i].accountname }\r\n let contactName: string = Contacts[i].first + ' ' + Contacts[i].last;\r\n if (contactName.length > 20) {\r\n contactName = contactName.substr(0, 20);\r\n contactName += \"..\";\r\n }\r\n \r\n selected = selected + '';\r\n }\r\n selected = selected + '
      '\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n \r\n $(\"#\" + rmvId).click(function () {\r\n \r\n selfObj.removeSelected(conId);\r\n });\r\n }, 1000));\r\n }\r\n //alert(selectedId); \r\n\r\n $('#selectedId').val(selectedId);\r\n $('#selectedLastName').val(selectedLastName);\r\n document.getElementById('selectedContacts').innerHTML = selected;\r\n $(\"#To\").val(Emailids);\r\n document.getElementById('nameLast').innerHTML = 'Dear Doctors ' + nameLast + ',';\r\n });\r\n }\r\n\r\n removeSelected(id) {\r\n \r\n\r\n let indRmv: number = -1;\r\n let cnt = 0;\r\n this.contactslist.forEach(con => {\r\n if (con.id == id)\r\n indRmv = cnt;\r\n\r\n cnt++;\r\n });\r\n\r\n this.contactslist.splice(indRmv, 1);\r\n\r\n this.totalContacts = this.contactslist.length;\r\n\r\n this.grayedContacts = 0;\r\n this.contactslist.forEach(con => {\r\n \r\n if (con.color == \"lightgray\")\r\n this.grayedContacts += 1;\r\n });\r\n\r\n document.getElementById(id).remove();\r\n var selectedIds = $('#selectedId').val();\r\n var selectedEmals = $('#To').val();\r\n var selectedIdsArray = selectedIds.split(',');\r\n var selectedEmalsArray = selectedEmals.split(',');\r\n var selectedLastName = $('#selectedLastName').val();\r\n var selectedLastNameArray = selectedLastName.split(',');\r\n var finalselectedIds = '';\r\n var finalselectedemails = '';\r\n var finalselectedLastNameArray = '';\r\n for (var i = 0; i < selectedIdsArray.length; i++) {\r\n if (selectedIdsArray[i] != id) {\r\n if (selectedIdsArray[i] != '') {\r\n if (finalselectedIds == '') {\r\n finalselectedIds = selectedIdsArray[i];\r\n finalselectedemails = selectedEmalsArray[i];\r\n finalselectedLastNameArray = selectedLastNameArray[i];\r\n } else {\r\n finalselectedIds = finalselectedIds + ',' + selectedIdsArray[i];\r\n finalselectedemails = finalselectedemails + ',' + selectedEmalsArray[i];\r\n finalselectedLastNameArray = finalselectedLastNameArray + ',' + selectedLastNameArray[i];\r\n }\r\n }\r\n }\r\n }\r\n $('#selectedId').val(finalselectedIds);\r\n $('#To').val(finalselectedemails);\r\n $('#selectedLastName').val(finalselectedLastNameArray);\r\n document.getElementById('nameLast').innerHTML = 'Dear Doctors ' + finalselectedLastNameArray;\r\n }\r\n\r\n onItemSelect(item: any) {\r\n \r\n ////var ids = item.id;\r\n //if ($(\"#ccids\").val() != \"\")\r\n // this.finalitems = $(\"#ccids\").val() + \",\";\r\n //else\r\n // this.finalitems = \"\";\r\n //this.finalitems += item.email + ',';\r\n //$(\"#ccids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n\r\n if (this.emails.ccids == null || this.emails.ccids == undefined)\r\n this.emails.ccids = \"\";\r\n\r\n if (item.email != null && item.email.trim() != \"\")\r\n this.emails.ccids += item.email + \",\";\r\n }\r\n OnItemDeSelect(item: any) {\r\n \r\n let ids: string[] = [];\r\n\r\n if (this.emails.ccids != null && this.emails.ccids != undefined)\r\n ids = this.emails.ccids.split(',');\r\n\r\n let cnt = 0;\r\n let rmvIndx = -1;\r\n ids.forEach(id => {\r\n if (id == item.email)\r\n rmvIndx = cnt;\r\n cnt++;\r\n });\r\n\r\n if (rmvIndx >= 0)\r\n ids.splice(rmvIndx, 1);\r\n\r\n this.emails.ccids = \"\";\r\n\r\n ids.forEach(id => {\r\n if (id.trim() != \"\")\r\n this.emails.ccids += id + \",\";\r\n });\r\n\r\n //if (this.emails.ccids.length > 0)\r\n // this.emails.ccids.substr(0, this.emails.ccids.length - 1);\r\n }\r\n onSelectAll(items: any) {\r\n \r\n //var ids = \"\";\r\n\r\n //for (var i = 0; i < items.length; i++) {\r\n // ids += items[i].id + ',';\r\n //}\r\n //this.finalitems = \"\";\r\n //this.finalitems = ids;\r\n //$(\"#ccids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n\r\n this.emails.ccids = \"\";\r\n items.forEach(item => {\r\n if (item.email != null && item.email.trim() != \"\")\r\n this.emails.ccids += item.email + \",\";\r\n });\r\n }\r\n onDeSelectAll(items: any) {\r\n \r\n //this.finalitems = \"\";\r\n //$(\"#ccids\").val('');\r\n\r\n this.emails.ccids = \"\";\r\n }\r\n\r\n BcconItemSelect(item: any) {\r\n \r\n //var ids = item.id;\r\n //this.bccitems = $(\"#Bccids\").val() + \",\";\r\n //this.bccitems += ids + ',';\r\n //$(\"#Bccids\").val(this.bccitems.substring(0, this.bccitems.length - 1).replace('undefined', \"\"));\r\n\r\n if (this.emails.bccids == null || this.emails.bccids == undefined)\r\n this.emails.bccids = \"\";\r\n\r\n if (item.email != null && item.email.trim() != \"\")\r\n this.emails.bccids += item.email + \",\";\r\n }\r\n BccOnItemDeSelect(item: any) {\r\n \r\n //var ids = item.id;\r\n //var result = \"\";\r\n //this.bccitems = $(\"#Bccids\").val();\r\n //var dfi = this.bccitems.split(',');\r\n //for (var i = 0; i < dfi.length; i++) {\r\n // if (dfi[i] != ids && dfi[i] != \"\") {\r\n // result += dfi[i] + ',';\r\n // }\r\n //}\r\n //this.bccitems = result;\r\n //if (this.bccitems != \"\") {\r\n // $(\"#Bccids\").val(this.bccitems.substring(0, this.bccitems.length - 1).replace('undefined', \"\"));\r\n //} else {\r\n // $(\"#Bccids\").val('');\r\n //}\r\n\r\n let ids: string[] = [];\r\n\r\n if (this.emails.bccids != null && this.emails.bccids != undefined)\r\n ids = this.emails.bccids.split(',');\r\n\r\n let cnt = 0;\r\n let rmvIndx = -1;\r\n ids.forEach(id => {\r\n if (id == item.email)\r\n rmvIndx = cnt;\r\n cnt++;\r\n });\r\n\r\n if (rmvIndx >= 0)\r\n ids.splice(rmvIndx, 1);\r\n\r\n this.emails.bccids = \"\";\r\n\r\n ids.forEach(id => {\r\n if (id.trim() != \"\")\r\n this.emails.bccids += id + \",\";\r\n });\r\n }\r\n BcconSelectAll(items: any) {\r\n \r\n //var ids = \"\";\r\n\r\n //for (var i = 0; i < items.length; i++) {\r\n // ids += items[i].id + ',';\r\n //}\r\n //this.bccitems = \"\";\r\n //this.bccitems = ids;\r\n //$(\"#Bccids\").val(this.bccitems.substring(0, this.bccitems.length - 1).replace('undefined', \"\"));\r\n\r\n this.emails.bccids = \"\";\r\n items.forEach(item => {\r\n this.emails.bccids += item.email + \",\";\r\n });\r\n }\r\n BcconDeSelectAll(items: any) {\r\n \r\n //this.bccitems = \"\";\r\n //$(\"#Bccids\").val('');\r\n\r\n this.emails.bccids = \"\";\r\n }\r\n\r\n emailAlertResponse(isSend: boolean) {\r\n if (isSend) { //Send Email after BCCing all To Email Ids\r\n \r\n if (this.emails.ccids == null || this.emails.ccids == undefined)\r\n this.emails.ccids = \"\";\r\n if (this.emails.ccids.length > 0 && this.emails.ccids[this.emails.ccids.length - 1] == \",\")\r\n this.emails.ccids = this.emails.ccids.substr(0, this.emails.ccids.length - 1);\r\n\r\n if (this.emails.bccids == null || this.emails.bccids == undefined)\r\n this.emails.bccids = \"\";\r\n if (this.emails.bccids.length > 0 && this.emails.bccids[this.emails.bccids.length - 1] == \",\")\r\n this.emails.bccids = this.emails.bccids.substr(0, this.emails.bccids.length - 1);\r\n\r\n this.emails.to = $('#To').val();\r\n\r\n if (this.emails.to != null && this.emails.to.length > 0) {\r\n let toIds: string[] = this.emails.to.split(',');\r\n\r\n if (toIds.length > 0) {\r\n this.emails.to = toIds[0];\r\n\r\n if (toIds.length > 1 && this.emails.bccids.length > 0 && this.emails.bccids[this.emails.bccids.length - 1] != \",\") {\r\n this.emails.bccids += \",\";\r\n }\r\n\r\n let cnt = 0;\r\n toIds.forEach(id => {\r\n if (cnt > 0) {\r\n if (this.emails.bccids.indexOf(id) < 0)\r\n this.emails.bccids += id + \",\";\r\n }\r\n\r\n cnt++;\r\n });\r\n }\r\n\r\n this.SendEmail();\r\n }\r\n\r\n this.emailAlert = false;\r\n } else {\r\n this.emailAlert = false;\r\n }\r\n }\r\n\r\n SendEmail() {\r\n \r\n\r\n //this.emails.bccids = $(\"#Bccids\").val();\r\n //this.emails.ccids = $(\"#ccids\").val();\r\n\r\n if (this.emails.ccids == null || this.emails.ccids == undefined)\r\n this.emails.ccids = \"\";\r\n if (this.emails.ccids.length > 0 && this.emails.ccids[this.emails.ccids.length - 1] == \",\")\r\n this.emails.ccids = this.emails.ccids.substr(0, this.emails.ccids.length - 1);\r\n\r\n if (this.emails.bccids == null || this.emails.bccids == undefined)\r\n this.emails.bccids = \"\";\r\n if (this.emails.bccids.length > 0 && this.emails.bccids[this.emails.bccids.length - 1] == \",\")\r\n this.emails.bccids = this.emails.bccids.substr(0, this.emails.bccids.length - 1);\r\n\r\n this.emails.fromuserid = this.currentuser.id;\r\n this.emails.toids = $('#selectedId').val();\r\n this.emails.subject = $('#Subject').val();\r\n this.emails.messagebody = $('.fr-view').html();\r\n this.emails.from = this.currentuser.email;\r\n if (!this.emailAlert)\r\n this.emails.to = $('#To').val();\r\n\r\n if (this.emails.to.trim() == \"\") {\r\n alert(\"Please enter To Email Ids.\");\r\n } else if (this.emails.subject.trim() == \"\") {\r\n alert(\"Subject is Required to Send Emails. Please Select OK and then Enter a Subject Name.\");\r\n } else if (this.grayedContacts != 0 && !this.emailAlert) {\r\n this.emailAlert = true;\r\n } else {\r\n this.emails.attachements = this.attachemnts;\r\n this.mailservice.SendEmails(this.emails).then(result => {\r\n this.toastr.success(\"Email Sent successfully.\", \"Email Sent\", { timeOut: 600 });\r\n this.clearfields();\r\n });\r\n }\r\n }\r\n clearfields() {\r\n this.bccitems = \"\";\r\n this.finalitems = \"\";\r\n this.selectedItems = [];\r\n this.BccselectedItems = [];\r\n $('#Subject').val(\"\");\r\n $(\"#Bccids\").val('');\r\n $(\"#ccids\").val('');\r\n this.cancelUpload();\r\n }\r\n fileChangeEvent(fileInput: any) {\r\n this.uploadResult = \"\";\r\n this.attachemnts = [];\r\n this.filesToUpload = >fileInput.target.files;\r\n\r\n for (let i = 0; i < this.filesToUpload.length; i++) {\r\n const reader = new FileReader();\r\n const [file] = this.filesToUpload;\r\n reader.readAsDataURL(file);\r\n //let oatt = new Attachements();\r\n this.selectedFileNames.push(this.filesToUpload[i].name);\r\n //oatt.filename = this.filesToUpload[i].name;\r\n //oatt.filetype = this.filesToUpload[i].type;\r\n //oatt.imagecontent = reader.result;\r\n //this.attachemnts.push(oatt);\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.GetImagedata(reader, objSelf.filesToUpload[i].name, objSelf.filesToUpload[i].size, objSelf.filesToUpload[i].type);\r\n //objSelf.selectedFileNames.push(file.name);\r\n }, 500));\r\n }\r\n this.upload();\r\n\r\n }\r\n //fileChangeEvent(event) {\r\n // this.uploadResult = \"\";\r\n // this.attachemnts = [];\r\n // //this.filesToUpload = event.target.files.length;\r\n // for (let i = 0; i < event.target.files.length; i++) {\r\n\r\n // const reader = new FileReader();\r\n // const [file] = event.target.files;\r\n // reader.readAsDataURL(file);\r\n // // this.selectedFileNames.push(file.name);\r\n // let objSelf = this;\r\n // $(setTimeout(function () {\r\n // objSelf.GetImagedata(reader, file.name, file.size, file.type);\r\n // objSelf.selectedFileNames.push(file.name);\r\n // }, 500));\r\n // }\r\n // //if (event.target.files && event.target.files.length) {\r\n // // \r\n // // const reader = new FileReader();\r\n // // const [file] = event.target.files;\r\n // // reader.readAsDataURL(file);\r\n // // let objSelf = this;\r\n // // $(setTimeout(function () {\r\n // // objSelf.GetImagedata(reader, file.name, file.size, file.type);\r\n // // }, 500));\r\n // //}\r\n\r\n\r\n // this.upload();\r\n //}\r\n GetImagedata(reader, filename, filesize, filetype) {\r\n let oatt = new Attachements();\r\n oatt.filename = filename;\r\n oatt.filetype = filetype;\r\n oatt.imagecontent = reader.result;\r\n this.attachemnts.push(oatt);\r\n }\r\n cancelUpload() {\r\n this.attachemnts = [];\r\n this.filesToUpload = [];\r\n this.fileUploadVar.nativeElement.value = \"\";\r\n this.selectedFileNames = [];\r\n this.uploadResult = \"\";\r\n this.errorMessage = \"\";\r\n }\r\n upload() {\r\n this.uploadResult = \"\";\r\n\r\n if (this.filesToUpload.length > 0) {\r\n this.isLoadingData = true;\r\n\r\n let formData: FormData = new FormData();\r\n\r\n for (var i = 0; i < this.filesToUpload.length; i++) {\r\n formData.append('uploadedFiles', this.filesToUpload[i], this.filesToUpload[i].name);\r\n }\r\n\r\n //let apiUrl = \"http://localhost:14164/api/messaging/UploadFiles\";\r\n let apiUrl = \"http://mdlogiccrm.com:8080/api/messaging/UploadFiles\";\r\n this.http.post(apiUrl, formData).pipe(map((res: Response) => res.json()))\r\n .subscribe\r\n (\r\n data => {\r\n this.uploadResult = data;\r\n this.errorMessage = \"\";\r\n },\r\n err => {\r\n console.error(err);\r\n this.errorMessage = err;\r\n this.isLoadingData = false;\r\n },\r\n () => {\r\n this.isLoadingData = false,\r\n this.fileUploadVar.nativeElement.value = \"\";\r\n this.selectedFileNames = [];\r\n this.filesToUpload = [];\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","
      \r\n\r\n \r\n \r\n\r\n
      \r\n \r\n
      \r\n
      0)\" aria-hidden=\"true\" id=\"previous\" (click)=\"previousEmail()\">
      \r\n
      ({{currentPage}} of {{emailslist.length}} )
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n {{email.sender}}
      \r\n {{email.tousernames}}
      \r\n {{email.ccusernames}}
      \r\n {{email.bccusernames}}
      \r\n {{email.subject}}
      \r\n \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 } from '@angular/core';\r\nimport { Emails, Attachements } from '../../models/emails';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { DatePipe, TitleCasePipe } from '@angular/common';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'emailsdiv',\r\n templateUrl: './emailsdiv.component.html',\r\n styleUrls: ['./emailsdiv.component.css']\r\n})\r\nexport class EmailsdivComponent implements OnInit {\r\n @Input()\r\n id: number;\r\n @Input()\r\n AccountContactPage: boolean = false;\r\n @Input()\r\n ContactDashBoardPage: boolean = false; \r\n @Input()\r\n type: string;\r\n divhght = (screen.height) * 0.21;\r\n currentPage: number = 1;\r\n emailslist: Array = [];\r\n emailAttachments: Array = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public emailcolumnDefs: any[];\r\n public gridemailOptions: GridOptions;\r\n SentEmailTable: boolean = true;\r\n public emialdivId: number = 0;\r\n public sideBar;\r\n constructor(private customerService: CustomerService, public applicationComponent: ApplicationComponent) { }\r\n\r\n ngOnInit() {\r\n \r\n this.loadEmailHistory(this.id, this.type);\r\n // document.getElementById('messageBox0').style.display = 'block';\r\n\r\n \r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.SentEmailTable = false;\r\n }\r\n \r\n loadEmailHistory(contactid, type) {\r\n \r\n this.customerService.GetAllEmailsList(contactid, type).then((emails) => {\r\n emails.forEach(emails => {\r\n \r\n emails.sentemailDate = this.datePipe.transform(emails.sentemailDate, \"MM/dd/yyyy hh-mm-ss\");\r\n emails.messagebody = emails.messagebody;\r\n \r\n if (emails.filenames != null && emails.filenames.includes(\",\")) {\r\n emails.attachedfiles = (emails.filenames != null && emails.filenames.includes(\",\")) ? emails.filenames.split(\",\") : [];\r\n } else { emails.attachedfiles = [emails.filenames] }\r\n\r\n });\r\n this.emailslist = emails;\r\n // \r\n //this.loademailAttachment(this.emailslist[0].id)\r\n });\r\n //this.loademailAttachment(this.emailslist[0].id)\r\n }\r\n\r\n openAttachment(filename) {\r\n //var data = filename.split(\"|\");\r\n this.customerService.GetByAttachmentId(filename.split(\"|\")[1]).then(result => {\r\n this.openfile(result.imagecontent,result.filename, result.filetype);\r\n });\r\n }\r\n openfile(myBaseString, fileName, documenttype) {\r\n \r\n var data = myBaseString.split(\",\")\r\n var binary_string = window.atob(data[1]);\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n var arrayBufferView = new Uint8Array(bytes.buffer);\r\n if (documenttype == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\")\r\n var blob = new Blob([arrayBufferView], { type: documenttype });\r\n else\r\n var blob = new Blob([arrayBufferView], { type: 'image/png/html' });\r\n\r\n var url = window.URL.createObjectURL(blob);\r\n\r\n var a = $(\"\").attr(\"href\", url).attr(\"target\", \"_blank\").attr(\"download\", fileName).appendTo(\"body\");\r\n\r\n a[0].click();\r\n\r\n a.remove();\r\n //this.sendMsgEvent.emit(myBaseString);\r\n ////$('#window').attr('style', 'padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-left: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n ////$('#pdfDiv').html('')\r\n ////$('#pdfDiv').attr('style', 'height: 513px;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n //// this.isPdfOpen = true;\r\n }\r\n\r\n loademailAttachment(emailid) {\r\n \r\n this.customerService.GetAllEmailsAttachmentList(emailid).then((emails) => { \r\n this.emailAttachments = emails;\r\n });\r\n }\r\n onsentemailAgGridReady(val) {\r\n this.gridemailOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n this.emailscreateColumnDefs(\"\");\r\n this.gridemailOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n\r\n //var url = window.location.href;\r\n //if (url.indexOf('quick-view') > -1) {\r\n // $('#emailsDivGrid').css('height', (screen.height * 0.425) + 'px');\r\n //}\r\n }\r\n emailscreateColumnDefs(columnSelections: string) {\r\n this.emailcolumnDefs = [\r\n { field: 'sentemailDate', headerName: 'Email Sent', hide: false },\r\n { field: 'sender', headerName: 'From User', hide: false },\r\n { field: 'tousernames', headerName: ' To', hide: false },\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n { field: 'bccusernames', headerName: 'BCC User', hide: false },\r\n { field: 'ccusernames', headerName: 'CC User', hide: false },\r\n ];\r\n\r\n }\r\n\r\n previousEmail() {\r\n var count = this.emialdivId;\r\n \r\n count--;\r\n if (count <= this.emailslist.length-1) {\r\n (this.currentPage)--;\r\n this.emialdivId = count;\r\n document.getElementById('messageBox' + count).style.display = 'block';\r\n\r\n }\r\n }\r\n nextEmail() {\r\n \r\n var count = this.emialdivId;\r\n \r\n count++;\r\n if (count <= this.emailslist.length-1) {\r\n (this.currentPage)++;\r\n this.emialdivId = count;\r\n document.getElementById('messageBox' + count).style.display = 'block';\r\n\r\n }\r\n }\r\n\r\n \r\n}\r\n","
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n Commission Estimator\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Sales Total :
      \r\n
      \r\n $ {{SalesCommission}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      Sales Commission (%) :
      \r\n
      \r\n
      \r\n %\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      Total Sales Commission :
      \r\n
      {{opportunities.salesCommissionOpportunity | currency }}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      RR/Monthly Total :
      \r\n
      \r\n $ {{RRCommission}}\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      RR/Sales Commission % :
      \r\n
      \r\n
      \r\n %\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      RR/Commission (Monthly) :
      \r\n
      {{opportunities.RRCommisssionOpportunityMonthly | currency }}
      \r\n
      \r\n\r\n
      \r\n
      RR/Commission (Annually) :
      \r\n
      {{opportunities.RRCommisssionOpportunityYearly }}
      \r\n
      \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, Optional, ViewChild, Output, EventEmitter, Input, ElementRef} from '@angular/core';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport * as moment from 'moment'\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { ForecastDataModel, RevenueModel } from '../../models/dropdowntype';\r\nimport { Column, GridOptions } from 'ag-grid';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\n\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'forecasting',\r\n templateUrl: './forecasting.component.html',\r\n styleUrls: ['./forecasting.component.css']\r\n})\r\nexport class ForecastingComponent implements OnInit {\r\n selectedItems = [];\r\n currentuser: any;\r\n dropdownList = [];\r\n calanderonoff: boolean = false;\r\n pageSize = \"1000\";\r\n private gridApi;\r\n CurrentDate: string;\r\n CurrentDatenew: string;\r\n SelectedBox = 'FSMonth';\r\n UserIds: string;\r\n StartDate: string = \"\";\r\n EndDate: string = \"\";\r\n public gridOptions: GridOptions;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n ForeCastBoxData: ForecastDataModel = new ForecastDataModel();\r\n public columnDefs: any[];\r\n Allopportunities: Opportunities[];\r\n SelectedBoxTitle: string = 'Monthly Sales Forecast';\r\n Ids = []; public yy: number;\r\n AccConIds: string; opportunityids = [];\r\n public years: number[] = [];\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal;\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;\r\n public ForecastSalesECDYear = new Date().getFullYear();\r\n public ForecastRRECDYear = new Date().getFullYear();\r\n public SalesWonYear = new Date().getFullYear();\r\n public RRWonYear = new Date().getFullYear();\r\n public SalesLostYear = new Date().getFullYear();\r\n public RRLostYear = new Date().getFullYear();\r\n colSelections: string;\r\n public sideBar;\r\n public context;\r\n isPended: boolean = true;\r\n isexpand: boolean = false;\r\n RRCommission: number;\r\n isDisplayCommissionEstimator: boolean = false;\r\n SelectOpportunityWarning: boolean = false;\r\n SalesCommission: number;\r\n opportunities: Opportunities = new Opportunities();\r\n constructor(public applicationComponent: ApplicationComponent, private customerService: CustomerService, private opprtunityservice: OpprtunitiesService, private router: Router) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n this.currentDate();\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu('SalesForecast');\r\n }\r\n\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 0, 0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n\r\n this.dropdownList = Owner;\r\n });\r\n }\r\n getYear() {\r\n var today = new Date();\r\n this.yy = today.getFullYear();\r\n for (var i = (this.yy-4); i <= this.yy; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n ngOnInit() {\r\n this.getBoxData();\r\n this.getYear();\r\n this.initializeAgGrid();\r\n this.applicationComponent.selectedbuttonText = \"Sales Forecast\";\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.context = this;\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 39).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n // this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(this.colSelections);\r\n });\r\n\r\n \r\n let selfObj = this;\r\n setTimeout(function () {\r\n selfObj.BoxClick('FSMonth', 'Monthly Sales Forecast', 'FSSubMonth');\r\n }, 400)\r\n \r\n }\r\n createColumnDefs(columnSelections) {\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({\r\n field: 'owner', headerName: 'Owner', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"datecompleted\") {\r\n this.columnDefs.push({\r\n field: 'actualclosedate', headerName: 'Date Closed', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), \r\n cellRenderer: (params) => {\r\n if (params.data.status == '108') {\r\n return \"\";\r\n } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"isPended\") {\r\n this.columnDefs.push({\r\n field: 'isPended', headerName: 'Pended', hide: false, cellStyle: function (params) {\r\n { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (params.data.isPended == '1' || params.data.isPended == 1) { return 'Pended'; }\r\n }\r\n });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, \r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n if (this.SelectedBoxTitle == 'Monthly Sales Forecast' || this.SelectedBoxTitle == 'Annual Sales Forecast' || this.SelectedBoxTitle == 'Monthly RR Forecast' || this.SelectedBoxTitle == 'Annual RR Forecast') {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false\r\n },\r\n {\r\n field: 'estimatedclosedate', headerName: 'ECD', hide: false\r\n },\r\n {\r\n field: 'isPended', headerName: 'Pended', hide: false, cellStyle: function (params) {\r\n { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (params.data.isPended == '1' || params.data.isPended == 1) { return 'Pended'; }\r\n }\r\n },\r\n {\r\n field: 'dollers', headerName: 'Price', hide: false\r\n },\r\n {\r\n field: 'RR', headerName: 'Monthly', hide: false\r\n },\r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', hide: false\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false,\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false\r\n },\r\n {\r\n field: 'itemName', headerName: 'Proposal Item', hide: false\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: false\r\n },\r\n {\r\n field: 'statusName', headerName: 'Status', hide: false, cellRenderer: (params) => {\r\n if (params.data.status == '108') {\r\n return 'Open';\r\n }\r\n else if (params.data.status == '109') {\r\n return 'Closed-Won';\r\n } else if (params.data.status == '110') {\r\n return 'Closed-Lost';\r\n } else if (params.data.status == '111') {\r\n return 'Closed-Pending';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false\r\n },\r\n\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false\r\n }, \r\n \r\n \r\n {\r\n field: 'actualclosedate', headerName: 'Date Closed', cellRenderer: (params) => {\r\n if (params.data.status == '108') {\r\n return \"\";\r\n } else {\r\n return params.data.datecreated;\r\n }\r\n }\r\n },\r\n {\r\n field: 'drsName', headerName: '# Drs', hide: true\r\n }, //true starts here\r\n {\r\n field: 'midlevel', headerName: '# Mid Levels', hide: true\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true\r\n },\r\n \r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true\r\n },\r\n ];\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false\r\n },\r\n {\r\n field: 'actualclosedate', headerName: 'Date Closed', cellRenderer: (params) => {\r\n if (params.data.status == '108') {\r\n return \"\";\r\n } else {\r\n return params.data.datecreated;\r\n }\r\n }\r\n },\r\n {\r\n field: 'dollers', headerName: 'Price', hide: false\r\n },\r\n {\r\n field: 'RR', headerName: 'Monthly', hide: false\r\n },\r\n {\r\n field: 'itemName', headerName: 'Proposal Item', hide: false\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false,\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false\r\n },\r\n {\r\n field: 'estimatedclosedate', headerName: 'ECD', hide: false\r\n },\r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', hide: false\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: false\r\n },\r\n {\r\n field: 'statusName', headerName: 'Status', hide: false, cellRenderer: (params) => {\r\n if (params.data.status == '108') {\r\n return 'Open';\r\n }\r\n else if (params.data.status == '109') {\r\n return 'Closed-Won';\r\n } else if (params.data.status == '110') {\r\n return 'Closed-Lost';\r\n } else if (params.data.status == '111') {\r\n return 'Closed-Pending';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false\r\n },\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false\r\n },\r\n {\r\n field: 'drsName', headerName: '# Drs', hide: true\r\n }, //true starts here\r\n {\r\n field: 'midlevel', headerName: '# Mid Levels', hide: true\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true\r\n },\r\n \r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true\r\n },\r\n ];\r\n }\r\n\r\n }\r\n }\r\n\r\n //ForecastSalesECDMonth() {\r\n // this.opprtunityservice.GetAllOpportunitiesList(\"Open Opportunities\", $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, null, this.currentuser.id,true).then\r\n // ((allopportunities) => {\r\n // allopportunities.forEach((customer) => {\r\n // customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n // customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n // customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n // });\r\n\r\n\r\n // });\r\n //}\r\n GetOpportunitiesForForecast(Status, StartDate, endDate) {\r\n this.Allopportunities = [];\r\n this.opprtunityservice.GetOpportunitiesForForecast($(\"#userids\").val(), Status, StartDate, endDate, this.isPended).then\r\n ((allopportunities) => { \r\n allopportunities.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n }); \r\n this.Allopportunities = allopportunities;\r\n \r\n switch (this.SelectedBoxTitle) {\r\n case 'Monthly Sales Forecast': {\r\n if (Status == \"Open\") {\r\n\r\n this.ForeCastBoxData.ForeCastSalesMonth = this.SumOfArrayValues(allopportunities.map(s => s.dollers));\r\n }\r\n if (Status == \"Closed-Lost\") {\r\n this.ForeCastBoxData.SalesLostMonth = this.SumOfArrayValues(allopportunities.map(s => s.dollers))\r\n }\r\n if (Status == \"Closed-Lost\") {\r\n this.ForeCastBoxData.RRLostMonth = this.SumOfArrayValues(allopportunities.map(s => (s.RR)))\r\n }\r\n break;\r\n }\r\n \r\n case 'Monthly RR Forecast': {\r\n if (Status == \"Open\") {\r\n this.ForeCastBoxData.ForeCastRRMonth = this.SumOfArrayValues(allopportunities.map(s => (s.RR)))\r\n }\r\n break;\r\n }\r\n \r\n case 'Monthly Sales-Won': {\r\n if (Status == \"Open\" || Status ==\"Closed-Won\") {\r\n this.ForeCastBoxData.SalesWonMonth = this.SumOfArrayValues(allopportunities.map(s => (s.dollers)))\r\n }\r\n break;\r\n }\r\n \r\n case 'Monthly RR-Won': {\r\n if (Status == \"Open\" || Status ==\"Closed-Won\") {\r\n this.ForeCastBoxData.RRWonMonth = this.SumOfArrayValues(allopportunities.map(s => (s.RR)))\r\n }\r\n break;\r\n }\r\n \r\n case 'Monthly Sales-Lost': {\r\n if (Status == \"Closed-Lost\") {\r\n this.ForeCastBoxData.SalesLostMonth = this.SumOfArrayValues(allopportunities.map(s => (s.dollers)))\r\n }\r\n break;\r\n } \r\n case 'Monthly RR-Lost': {\r\n if (Status == \"Closed-Lost\") {\r\n this.ForeCastBoxData.RRLostMonth = this.SumOfArrayValues(allopportunities.map(s => (s.RR)))\r\n }\r\n break;\r\n }\r\n\r\n case 'Annual Sales Forecast': {\r\n if (Status == \"Open\") {\r\n this.ForeCastBoxData.ForeCastSalesYear = this.SumOfArrayValues(allopportunities.map(s => (s.dollers)))\r\n }\r\n break;\r\n }\r\n\r\n case 'Annual RR Forecast': {\r\n if (Status == \"Open\") {\r\n this.ForeCastBoxData.ForecastRRYear = this.SumOfArrayValues(allopportunities.map(s => (s.RR)))\r\n }\r\n break;\r\n }\r\n case 'Annual Sales Won': {\r\n if (Status == \"Open\" || Status == \"Closed-Lost\" || Status == \"Closed-Won\") {\r\n \r\n this.ForeCastBoxData.SalesWonYear = this.SumOfArrayValues(allopportunities.map(s => (s.dollers)))\r\n }\r\n break;\r\n }\r\n case 'Annual RR Won': {\r\n if (Status == \"Open\" || Status == \"Closed-Lost\" || Status ==\"Closed-Won\") {\r\n this.ForeCastBoxData.RRWonYear = this.SumOfArrayValues(allopportunities.map(s => (s.RR)))\r\n }\r\n break;\r\n }\r\n \r\n \r\n }\r\n\r\n });\r\n\r\n \r\n }\r\n\r\n SumOfArrayValues(Array) {\r\n var sum = 0;\r\n for (var i = 0; i < Array.length; i++) {\r\n if (Array[i] != \"\") {\r\n sum += parseFloat(Array[i].replace(\",\", \"\"));\r\n }\r\n }\r\n //var sum = Array.reduce((acc, cur) => acc + cur, 0);\r\n return sum;\r\n }\r\n BoxMonthChange(value, SelectedBox) {\r\n this.SelectedBoxTitle = SelectedBox;\r\n\r\n switch (this.SelectedBoxTitle) {\r\n case 'Monthly Sales Forecast': \r\n case 'Monthly RR Forecast': {\r\n var date = new Date(value);\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Open', StartDate, EndDate);\r\n break;\r\n }\r\n case 'Annual Sales Forecast' : \r\n case 'Monthly RR-Lost': {\r\n var date = new Date(value);\r\n var firstDay = new Date(value, 0, 1);\r\n var lastDay = new Date(value, 11, 31);\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Open', StartDate, EndDate);\r\n \r\n break;\r\n }\r\n \r\n case 'Monthly Sales-Won':\r\n case 'Monthly RR-Won': {\r\n var date = new Date(value);\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Closed-Won', StartDate, EndDate);\r\n break;\r\n }\r\n case 'Annual Sales Won':\r\n case 'Monthly RR-Lost': {\r\n var firstDay = new Date(value, 0, 1);\r\n var lastDay = new Date(value, 11, 31);\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Closed-Won', StartDate, EndDate);\r\n break;\r\n }\r\n case 'Monthly Sales-Lost':\r\n case 'Monthly RR-Lost': {\r\n var date = new Date(value);\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Closed-Lost', StartDate, EndDate);\r\n break;\r\n }\r\n\r\n case 'Annual Sales Lost':\r\n case 'Monthly RR-Lost': {\r\n var firstDay = new Date(value, 0, 1);\r\n var lastDay = new Date(value, 11, 31);\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Closed-Lost', StartDate, EndDate);\r\n break;\r\n }\r\n \r\n }\r\n }\r\n \r\n\r\n currentDate() {\r\n var now = new Date();\r\n var mm = now.getMonth() + 1;\r\n var mon = '';\r\n if (mm < 10) {\r\n mon = '0' + mm;\r\n this.CurrentDate = now.getFullYear() + '-' + mon;\r\n }\r\n else {\r\n this.CurrentDate = now.getFullYear() + '-' + mm;\r\n \r\n }\r\n\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n if (outProps.thirdDrpValue != undefined) {\r\n if (outProps.thirdDrpValue == '718') { this.isPended = false; }\r\n else { this.isPended = true; }\r\n }\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n this.getBoxData();\r\n var now = new Date();\r\n var mm = now.getMonth() + 1;\r\n var dd = now.getDay();\r\n var mon = '';\r\n if (mm < 10) {\r\n mon = '0' + mm;\r\n this.CurrentDatenew = now.getFullYear() + '-' + mon + '-' + dd;\r\n }\r\n else {\r\n this.CurrentDatenew = now.getFullYear() + '-' + mm + '-' + dd;\r\n }\r\n switch (this.SelectedBoxTitle) {\r\n\r\n case 'Monthly Sales Forecast': {\r\n this.BoxClick('FSMonth', 'Monthly Sales Forecast', 'FSSubMonth');\r\n break;\r\n }\r\n case 'Monthly RR Forecast': {\r\n this.BoxClick('FRRMonth', 'Monthly RR Forecast', 'FSSubMonth');\r\n break;\r\n }\r\n case 'Annual Sales Forecast': {\r\n this.BoxClick('FSYear', 'Annual Sales Forecast', 'FSSubMonth');\r\n break;\r\n }\r\n case 'Monthly RR-Lost': {\r\n this.BoxClick('FRRYear', 'Monthly RR-Lost', 'FSSubMonth');\r\n break;\r\n }\r\n\r\n case 'Monthly Sales-Won': {\r\n this.BoxClick('SWMonth', 'Monthly Sales-Won', 'FSSubMonth');\r\n break;\r\n }\r\n case 'Monthly RR-Won': {\r\n this.BoxClick('RRWMonth', 'Monthly RR-Won', 'FSSubMonth');\r\n break;\r\n }\r\n case 'Annual Sales Won': {\r\n this.BoxClick('SWYear', 'Annual Sales Won', 'FSSubMonth');\r\n break;\r\n }\r\n case 'Monthly RR-Lost': {\r\n this.BoxClick('RRWYear', 'Monthly RR-Lost', 'FSSubMonth')\r\n break;\r\n }\r\n case 'Monthly Sales-Lost': {\r\n this.BoxClick('SLMonth', 'Monthly Sales-Lost', 'FSSubMonth')\r\n break;\r\n }\r\n case 'Monthly RR-Lost': {\r\n this.BoxClick('RRLMonth', 'Monthly RR-Lost', 'FSSubMonth')\r\n break;\r\n }\r\n\r\n case 'Annual Sales Lost': {\r\n this.BoxClick('SLYear', 'Annual Sales Lost', 'FSSubMonth');\r\n break;\r\n }\r\n case 'Monthly RR-Lost': {\r\n this.BoxClick('RRLYear', 'Monthly RR-Lost', 'FSSubMonth');\r\n break;\r\n }\r\n }\r\n } else {\r\n this.Allopportunities = [];\r\n this.ForeCastBoxData.ForeCastSalesMonth = 0;\r\n this.ForeCastBoxData.ForeCastSalesYear = 0;\r\n this.ForeCastBoxData.ForeCastRRMonth = 0;\r\n this.ForeCastBoxData.ForecastRRYear = 0;\r\n this.ForeCastBoxData.SalesWonMonth = 0;\r\n this.ForeCastBoxData.SalesWonYear = 0;\r\n this.ForeCastBoxData.RRWonMonth = 0;\r\n this.ForeCastBoxData.RRWonYear = 0;\r\n this.ForeCastBoxData.SalesLostMonth = 0;\r\n this.ForeCastBoxData.SalesLostYear = 0;\r\n this.ForeCastBoxData.RRLostMonth = 0;\r\n this.ForeCastBoxData.RRLostYear = 0;\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n\r\n BoxClick(id, BoxTitle,SubHeaderId) {\r\n $('.boxBorder').removeClass('boxBorderHighlight');\r\n $('#' + id).addClass('boxBorderHighlight');\r\n $('.subbackground').removeClass('FactiveButton');\r\n $('#' + SubHeaderId).addClass('FactiveButton');\r\n this.SelectedBoxTitle = BoxTitle;\r\n if (id == 'FSMonth' || id == 'FSYear' || id == 'FRRMonth' || id == 'FRRYear') {\r\n if (id == 'FSMonth' || id == 'FRRMonth') {\r\n\r\n var date = new Date($('#' + id +'Calendar').val());\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Open', StartDate, EndDate);\r\n \r\n } else if (id == 'FSYear' || id == 'FRRYear') {\r\n \r\n var firstDay = lastDay = new Date();\r\n if (id == 'FSYear') {\r\n firstDay = new Date(this.ForecastSalesECDYear, 0, 1);\r\n lastDay = new Date(this.ForecastSalesECDYear, 11, 31);\r\n } else {\r\n firstDay = new Date(this.ForecastRRECDYear, 0, 1);\r\n lastDay = new Date(this.ForecastRRECDYear, 11, 31);\r\n }\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Open', StartDate, EndDate);\r\n\r\n }\r\n \r\n }\r\n else if (id == 'SWMonth' || id == 'SWYear' || id == 'RRWMonth' || id == 'RRWYear') {\r\n\r\n if (id == 'SWMonth' || id == 'RRWMonth') {\r\n\r\n var date = new Date($('#' + id + 'Calendar').val());\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Closed-Won', StartDate, EndDate);\r\n } else if (id == 'SWYear' || id == 'RRWYear') {\r\n //this.Allopportunities = [];\r\n var firstDay = lastDay = new Date();\r\n if (id == 'SWYear') {\r\n firstDay = new Date(this.SalesWonYear, 0, 1);\r\n lastDay = new Date(this.SalesWonYear, 11, 31);\r\n } else {\r\n firstDay = new Date(this.RRWonYear, 0, 1);\r\n lastDay = new Date(this.RRWonYear, 11, 31);\r\n }\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Closed-Won', StartDate, EndDate);\r\n\r\n }\r\n \r\n } else if (id == 'SLMonth' || id == 'SLYear' || id == 'RRLMonth' || id == 'RRLYear' ) {\r\n\r\n if (id == 'SLMonth' || id == 'RRLMonth') {\r\n\r\n var date = new Date($('#' + id + 'Calendar').val());\r\n var firstDay = new Date(date.getFullYear(), date.getMonth() + 1, 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Closed-Lost', StartDate, EndDate);\r\n } else if (id == 'SLYear' || id == 'RRLYear') {\r\n var firstDay = lastDay = new Date();\r\n if (id == 'SLYear') {\r\n firstDay = new Date(this.SalesLostYear, 0, 1);\r\n lastDay = new Date(this.SalesLostYear, 11, 31);\r\n } else {\r\n firstDay = new Date(this.RRLostYear, 0, 1);\r\n lastDay = new Date(this.RRLostYear, 11, 31);\r\n }\r\n var StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n this.GetOpportunitiesForForecast('Closed-Lost', StartDate, EndDate);\r\n\r\n }\r\n }\r\n }\r\n LoadData() {\r\n var date = new Date();\r\n var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n this.StartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n this.EndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n \r\n }\r\n onCloseDialogEventReceived(event) {\r\n this.CommissionEstimator(false);\r\n this.opportunities.RRCommisssionOpportunityMonthly = null;\r\n this.opportunities.RRCommisssionOpportunityYearly = null;\r\n this.opportunities.salesCommissionOpportunity = null;\r\n this.gridOptions.api.deselectAll();\r\n \r\n }\r\n getBoxData() {\r\n this.ForeCastBoxData = new ForecastDataModel();\r\n\r\n var date = new Date();\r\n var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);\r\n var lastDay = new Date(firstDay.getFullYear(), firstDay.getMonth() + 1, 0);\r\n var MonthStartDate = moment(firstDay).format(\"YYYY-MM-DD\");\r\n var MonthEndDate = moment(lastDay).format(\"YYYY-MM-DD\");\r\n\r\n this.opprtunityservice.ForecastData($(\"#userids\").val(), MonthStartDate, MonthEndDate, this.isPended).then(newticketresult => {\r\n this.ForeCastBoxData.ForeCastSalesMonth = newticketresult.OpportunityOpenTotalPrice;\r\n this.ForeCastBoxData.ForeCastRRMonth = newticketresult.OpportunityOpenTotalRR;\r\n this.ForeCastBoxData.SalesWonMonth = newticketresult.OpportunityWonTotalPrice;\r\n this.ForeCastBoxData.SalesLostMonth = newticketresult.OpportunityLostTotalPrice;\r\n this.ForeCastBoxData.RRWonMonth = newticketresult.OpportunityWonTotalRR;\r\n this.ForeCastBoxData.RRLostMonth = newticketresult.OpportunityLostTotalRR;\r\n\r\n var Ydate = new Date();\r\n var YfirstDay = new Date(Ydate.getFullYear(), 0, 1);\r\n var YlastDay = new Date(YfirstDay.getFullYear(), 11, 31);\r\n var YearStartDate = moment(YfirstDay).format(\"YYYY-MM-DD\");\r\n var YearEndDate = moment(YlastDay).format(\"YYYY-MM-DD\");\r\n this.opprtunityservice.ForecastData($(\"#userids\").val(), YearStartDate, YearEndDate, this.isPended).then(newticketresult2 => {\r\n \r\n this.ForeCastBoxData.ForeCastSalesYear = newticketresult2.OpportunityOpenTotalPrice;\r\n this.ForeCastBoxData.ForecastRRYear = newticketresult2.OpportunityOpenTotalRR;\r\n this.ForeCastBoxData.SalesWonYear = newticketresult2.OpportunityWonTotalPrice;\r\n this.ForeCastBoxData.SalesLostYear = newticketresult2.OpportunityLostTotalPrice;\r\n this.ForeCastBoxData.RRWonYear = newticketresult2.OpportunityWonTotalRR;\r\n this.ForeCastBoxData.RRLostYear = newticketresult2.OpportunityLostTotalRR;\r\n });\r\n });\r\n\r\n\r\n }\r\n SaleCommissionOpprtunity(val) {\r\n this.opportunities.salesCommissionOpportunity = this.opportunities == null?\"\":((parseFloat(this.SalesCommission.toString()) * val) / 100).toString().replace('NaN', '');\r\n }\r\n RRCommissionOpprtunity(val) {\r\n this.opportunities.RRCommisssionOpportunityMonthly = this.opportunities == null ? \"\" : (parseFloat(this.RRCommission.toString()) * (val / 100)).toString().replace('NaN', '');\r\n this.opportunities.RRCommisssionOpportunityYearly = this.opportunities == null ? \"\" : parseFloat((parseFloat(this.opportunities.RRCommisssionOpportunityMonthly)* 12).toString()).toFixed(2);\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if (this.opportunityids && (this.opportunityids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.opportunityids).splice(index, 1);\r\n\r\n } else {\r\n this.opportunityids = [];\r\n this.opportunityids.push(rowEvent.data.id);\r\n }\r\n if ((this.Ids).indexOf(rowEvent.data.accountorcontactid) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.accountorcontactid);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n this.AccConIds = string;\r\n $('#tasklistselectedtyle').val('');\r\n if (rowEvent.data.type == \"Contacts\") {\r\n this.applicationComponent.taskselectedtype = 'Contact';\r\n $('#tasklistselectedtyle').val('Contact');\r\n } else {\r\n this.applicationComponent.taskselectedtype = 'Customer';\r\n $('#tasklistselectedtyle').val('Customer');\r\n }\r\n \r\n } else {\r\n this.Ids.push(rowEvent.data.accountorcontactid)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n this.AccConIds = string;\r\n \r\n if (rowEvent.data.type == \"Contacts\") {\r\n this.applicationComponent.taskselectedtype = 'Contact';\r\n $('#tasklistselectedtyle').val('Contact');\r\n } else {\r\n this.applicationComponent.taskselectedtype = 'Customer';\r\n $('#tasklistselectedtyle').val('Customer'); \r\n }\r\n }\r\n\r\n }\r\n Expand(val) {\r\n this.isexpand = val;\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.opportunityids = rowEvent.data.id;\r\n let type = rowEvent.data.type;\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/${rowEvent.data.accountorcontactid}/${type}/null/${rowEvent.data.id}`);\r\n this.applicationComponent.ExpandSelectedMenu('opportunities');\r\n }\r\n\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n onGridReady(params) {\r\n this.gridApi = params.api;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll(); \r\n }, 400));\r\n }\r\n autoSizeAll() {\r\n if (this.gridOptions && this.gridOptions.columnApi) {\r\n this.gridOptions.columnApi.autoSizeAllColumns();\r\n }\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n \r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 39; // 39- for Forecasting\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n CommissionEstimator(val) {\r\n \r\n if (this.gridApi.getSelectedRows() != undefined && this.gridApi.getSelectedRows()?.length > 0) {\r\n this.SalesCommission = this.gridApi.getSelectedRows().reduce((sum, current) => sum +\r\n parseFloat(current.dollers.replace(',', '').replace('$', '')), 0);\r\n this.RRCommission = this.gridApi.getSelectedRows().reduce((sum, current) => sum +\r\n parseFloat(current.RR.replace(',', '').replace('$', '')), 0);\r\n } \r\n if (this.opportunityids.length > 0) {\r\n this.isDisplayCommissionEstimator = val;\r\n this.isDisplayCommissionEstimatorCss();\r\n } else {\r\n this.SelectOpportunityWarning = true;\r\n this.SelectOpportunityWarningCss();\r\n }\r\n \r\n }\r\n SelectOpportunityWarningCss() {\r\n setTimeout(function () {\r\n $('#SelectOpportunityWarning .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;right:35%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n\r\n isDisplayCommissionEstimatorCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 35%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);min-height: 63%;overflow: auto;height: 83%;right:35%;padding: 0;');\r\n }, 4)\r\n }\r\n Close() {\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n }\r\n}\r\n","
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      FUTURE SCHEDULED TASKS
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      SPECIAL NOTES FOR THIS ACCOUNT
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n TASK | ACTIVITY\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.datecreated | date:\"MM-dd-yyyy\"}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.datecreated | date:\"HH:MM a\"}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.lastName | uppercase}} , {{taskhistory.firstName | uppercase}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      {{note.created | date:\"MM/dd/yy\"}}
      \r\n\r\n
      {{note.notedescription}}
      \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 } from '@angular/core';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { Tickets } from '../../models/tickets';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport * as moment from 'moment'\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { TaskHistory } from './../../models/task-history';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { Projects } from '../../models/ProjectConfiguration';\r\nimport { Notes } from '../../models/notes';\r\nimport { AccountSpecialNotes } from '../../models/AccountSpecialNotes';\r\n\r\nimport { AccountsService } from '../../services/accounts.service';\r\nimport { Campaign } from '../../models/Campaign';\r\nimport { UserService } from '../../services/user.service';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-history',\r\n templateUrl: './history.component.html',\r\n styleUrls: ['./history.component.css']\r\n})\r\nexport class HistoryComponent implements OnInit {\r\n @Input()\r\n type: string;\r\n @Input()\r\n userType: string;\r\n @Input()\r\n ContAccId: number;\r\n @Input()\r\n AccountcontactIds: string;\r\n ticketslist: Array = [];\r\n duplicateticketslist: Array = [];\r\n public gridOptions: GridOptions;\r\n public OpportunityGridOptions: GridOptions;\r\n public ticketsgridOptions: GridOptions;\r\n public ProjectsgridOptions: GridOptions;\r\n public ticketscolumnDefs: any[];\r\n public columnDefs: any[];\r\n showhistorypdf1: boolean = false;\r\n public ProjectscolumnDefs: any[];\r\n public OpportunitycolumnDefs: any[];\r\n allCampaigns: Campaign[];\r\n OriginalAllCampaigns: Campaign[];\r\n today = Date.now();\r\n currentuser: any;\r\n source: string;\r\n public context;\r\n public AddScheduleTask: boolean = false;\r\n public frameworkComponents;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n tasktype: string;\r\n pageSize: string = \"\";\r\n columnSelections: string;\r\n alltaskhistory: TaskHistory[];\r\n userprevilages: any;\r\n activitieslist: Array = [];\r\n ticketsBlockView = false;\r\n isDelink: boolean = false;\r\n selectedNoteId;\r\n accountstatisticBox;\r\n pagefromActivitiesinfo;\r\n public sideBar;\r\n showActivityDetailsDialog: boolean = false;\r\n openTaskhistory: boolean = true;\r\n showTicketsDetailsDialog: boolean = false;\r\n ActivitiesDropdownList: Dropdowntype[] = [];\r\n ProjectsDropdownList: Dropdowntype[] = [];\r\n StatusDropdownList: Dropdowntype[] = [];\r\n taskhistory: TaskHistory = new TaskHistory();\r\n TicketDetails: Tickets = new Tickets();\r\n Allopportunities: Opportunities[];\r\n OriginalAllopportunities: Opportunities[];\r\n ProjectsList: Projects[] = [];\r\n MainProjectsList: Projects[] = [];\r\n taskhistorynotes: Array = [];\r\n specialnotes: AccountSpecialNotes = new AccountSpecialNotes();\r\n constructor(private customerService: CustomerService, private opprtunityservice: OpprtunitiesService,\r\n private leadservice: LeadsService, public applicationComponent: ApplicationComponent,\r\n private router: Router, private accountsService: AccountsService,private userService: UserService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.customerService.GetPrivilagesByuser(this.currentuser.id).then(result => {\r\n this.userprevilages = result;\r\n \r\n if (this.type == 'Activities' || this.type == \"FutureTask\") {\r\n this.customerService.GetSpecialityList(\"Activities\", this.currentuser.id).then((Documenttype) => {\r\n this.ActivitiesDropdownList = Documenttype;\r\n });\r\n this.customerService.GetSpecialityList(\"DisplayStatus\", this.currentuser.id).then((Documenttype) => {\r\n this.StatusDropdownList = Documenttype;\r\n });\r\n this.getAllActivities(this.ContAccId, this.userType);\r\n this.initializeActivityAgGrid();\r\n }\r\n \r\n else if (this.type == 'Tickets') {\r\n localStorage.setItem('includecc', null);\r\n localStorage.setItem('tickettype', null);\r\n this.StatusDropdownList = [];\r\n this.StatusDropdownList.push({ \"id\": 0, \"itemName\": \"Display All\", \"category\": 'Ticket Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n this.StatusDropdownList.push({ \"id\": 4, \"itemName\": \"Display Closed \", \"category\": 'Ticket Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n this.StatusDropdownList.push({ \"id\": 6, \"itemName\": \"Display Deleted\", \"category\": 'Ticket Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n this.StatusDropdownList.push({ \"id\": 2, \"itemName\": \"Display On-Hold\", \"category\": 'Ticket Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n this.StatusDropdownList.push({ \"id\": 1, \"itemName\": \" Display Open\", \"category\": 'Ticket Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n this.StatusDropdownList.push({ \"id\": 3, \"itemName\": \"Display Pended \", \"category\": 'Ticket Types', \"isdeleted\": 0, \"taskgroupid\": 0 }); \r\n this.initializeAgGrid();\r\n if (this.userType == 'Contact') {\r\n this.loadtickets(this.ContAccId, 'All');\r\n }\r\n else if (this.userType == 'Customer') {\r\n this.customerService.GetAccountContactList(this.ContAccId).then(result => {\r\n result.forEach(ele => {\r\n this.loadtickets(ele.id, 'All');\r\n });\r\n });\r\n }\r\n\r\n }\r\n else if (this.type == 'Opportunities') {\r\n this.initializeOpportunityGrid();\r\n \r\n }\r\n else if (this.type == 'Projects') {\r\n this.customerService.GetSpecialityList(\"Project Status\", this.currentuser.id).then((ProjectType) => {\r\n this.ProjectsDropdownList = ProjectType;\r\n this.ProjectsDropdownList = this.ProjectsDropdownList.filter(x =>x.itemName != 'Complete');\r\n });\r\n this.initializeProjectsAgGrid();\r\n\r\n }\r\n });\r\n }\r\n\r\n getAllActivities(contactid, usertype) {\r\n this.ContAccId = contactid;\r\n this.userType = usertype;\r\n this.leadservice.GetAllTaskHistoryByContact(contactid, usertype, this.currentuser.timezone).then((activities) => { \r\n this.activitieslist = [];\r\n \r\n this.alltaskhistory = activities;\r\n if (this.type == \"FutureTask\") {\r\n this.alltaskhistory = this.alltaskhistory.filter(x => x.estcompleteddate > this.datePipe.transform(this.today, \"yyyy-MM-dd\"));\r\n }\r\n });\r\n }\r\n initializeActivityAgGrid() { \r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, defaultToolPanel: '', paginationPageSize: 1000, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true,\r\n rowSelection: 'multiple', enableCellChangeFlash: true, rowDragManaged: true, animateRows: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 9).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n //this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n this.columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n\r\n this.createColumnDefs(this.columnSelections);\r\n \r\n });\r\n //this.gridOptionsACT.defaultColDef = {\r\n // headerComponentParams: {\r\n // menuIcon: 'fa-bars'\r\n // }\r\n //}\r\n this.context = this;\r\n \r\n }\r\n initializeAgGrid() {\r\n this.ticketsgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: false, toolPanelSuppressPivotMode: false, toolPanelSuppressValues: false, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.createticketscolumnDefs(\"\");\r\n \r\n }\r\n \r\n createColumnDefs(columnSelections: string) { \r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n \r\n else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: { 'text-align': 'left' }, function (params) { if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { textAlign: 'left',color: '#FF0000'}; } } });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecompleted\") {\r\n this.columnDefs.push({\r\n field: 'datecompleted', headerName: 'Date Completed', hide: (this.tasktype == 'Open') ? true : false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000', textAlign: 'left' }; }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Open' || params.value == \"\") { return \"\"; } else {\r\n return moment(params.value).format('MM-DD-YYYY hh:mm a');\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecreated\") {\r\n this.columnDefs.push({\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY hh:mm a');\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"estcompleteddate\" || fieldHeaderVisibleWidthArray[0] == \"DateSched\") {\r\n this.columnDefs.push({\r\n field: 'estcompleteddate', headerName: 'Date Scheduled', hide: false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000',textAlign: 'left' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY hh:mm a');\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accountname\") {\r\n this.columnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellStyle: { 'text-align': 'left' },function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000', textAlign: 'left' }; }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstName\") {\r\n this.columnDefs.push({\r\n field: 'firstName', headerName: 'First Name', hide: false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' ,textAlign: 'left'}; }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastName\") {\r\n this.columnDefs.push({\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000', textAlign: 'left' }; }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal;\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY hh:mm a');\r\n }\r\n },\r\n {\r\n field: 'estcompleteddate', headerName: 'Date Scheduled', hide: false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY hh:mm a');\r\n }\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000', textAlign: 'left' }; }\r\n }\r\n },\r\n {\r\n field: 'datecompleted', headerName: 'Date Completed', hide: (this.tasktype == 'Open') ? true : false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000', textAlign: 'left' }; }\r\n }, cellRenderer: function (params) {\r\n if (params.data.status == 'Open' || params.value == \"\") { return \"\"; } else {\r\n return moment(params.value).format('MM-DD-YYYY hh:mm a');\r\n }\r\n }\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellStyle: { 'text-align': 'left' },function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'taskcategory', headerName: 'Task', hide: false, cellStyle: { 'text-align': 'left' },function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'tasktype', headerName: 'Type', hide: false, cellStyle: { 'text-align': 'left' },function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n }\r\n },\r\n \r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000', textAlign: 'left' }; }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal;\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: { 'text-align': 'left' },function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000', textAlign: 'left' }; }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'starttime', headerName: 'Start Time', hide: false, cellStyle: { 'text-align': 'left' }, function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'endtime', headerName: 'End Time', hide: false, cellStyle: { 'text-align': 'left' },function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'owner', headerName: 'Owner', hide: true, cellStyle: { 'text-align': 'left' },function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000', textAlign: 'left' }\r\n }\r\n }\r\n },\r\n //{ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, pinned: 'right' }\r\n\r\n ];\r\n\r\n }\r\n }\r\n createticketscolumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n var delBtn = false;\r\n var thisTab = selfObj.userprevilages.filter(p => p.resource == \"Delete Tickets\")\r\n if (thisTab[0] != undefined && (thisTab[0].canview == true && thisTab[0].canadd == true)) {\r\n delBtn = true;\r\n }\r\n \r\n this.ticketscolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'ticketId', headerName: 'Ticket', hide: true, cellStyle: { 'text-align': 'left' } },\r\n { field: 'ClosedDate', headerName: 'Closed Date', hide: false, cellStyle: { 'text-align': 'left' } },\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false, cellStyle: { 'text-align': 'left' } },\r\n { field: 'subject', headerName: 'Subject', hide: false, cellStyle: { 'text-align': 'left' } },\r\n { field: 'descriptions', headerName: 'Description', hide: false, cellStyle: { 'text-align': 'left' } },\r\n { field: 'email', headerName: 'Email', hide: false, cellStyle: { 'text-align': 'left' } },\r\n { field: 'UserName', headerName: 'User Name', hide: false, cellStyle: { 'text-align': 'left' } },\r\n { field: 'createdDate', headerName: 'Created Date', hide: false, cellStyle: { 'text-align': 'left' }},\r\n { field: 'contactname', headerName: 'Contact name', hide: false, cellStyle: { 'text-align': 'left' }},\r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false, cellStyle: { 'text-align': 'left' },cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n var text = '';\r\n if (params.value == 1) {\r\n text = 'Open';\r\n }\r\n else {\r\n text = 'Closed'\r\n }\r\n eDiv.innerHTML = text;\r\n return eDiv;\r\n }\r\n },\r\n \r\n {\r\n field: 'actions', width: 50, headerName: 'Actions', cellRenderer(params) {\r\n\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteTicket(params.data.ticketId);\r\n });\r\n return eDiv;\r\n\r\n },\r\n hide: !delBtn, pinned: 'right'\r\n }\r\n ];\r\n }\r\n loadtickets(contOrAcc, type) {\r\n this.customerService.GetTicketsListByContact(contOrAcc, type).then((tickets) => {\r\n var dateTime;\r\n tickets.forEach(ele => {\r\n this.customerService.GetTicketNotesByTicketId(ele.ticketId,'Ticket').then(result => { \r\n var dateTime;\r\n ele.ticketNotes = result;\r\n ele.ticketNotes.forEach(note => {\r\n dateTime = '';\r\n dateTime = this.datePipe.transform(note.CreatedDate, \"MM-dd-yyyy\");\r\n dateTime += \" (\" + this.datePipe.transform(note.CreatedDate, 'hh: mm a') + \")\";\r\n note.CreatedDate = dateTime;\r\n });\r\n })\r\n this.duplicateticketslist.push(ele);\r\n dateTime = '';\r\n dateTime = this.datePipe.transform(ele.createdDate, \"MM-dd-yyyy\");\r\n dateTime += \" (\" + this.datePipe.transform(ele.createdDate, 'hh: mm a') + \")\";\r\n ele.createdDate = dateTime;\r\n });\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.ticketslist = objSelf.duplicateticketslist;\r\n }, 100));\r\n });\r\n \r\n }\r\n\r\n\r\n StatusDropdownChange(status) { \r\n if (status == \"Display Status = Open\") {\r\n this.alltaskhistory = this.alltaskhistory.filter(x => x.status == 'Open');\r\n } else {\r\n this.getAllActivities(this.ContAccId, this.userType);\r\n }\r\n \r\n }\r\n TicketChange(ticketType) {\r\n if (ticketType > 0) {\r\n this.ticketslist = this.duplicateticketslist.filter(x => x.TicketStatus == ticketType);\r\n } else {\r\n this.ticketslist = this.duplicateticketslist;\r\n }\r\n \r\n }\r\n tasklisttypes(type) {\r\n var tasktype = \"\";\r\n if (type == 'AddTask') {\r\n this.AddScheduleTask = true;\r\n }\r\n else if (type == 'Display All Task Types') {\r\n this.getAllActivities(this.ContAccId, this.userType);\r\n } \r\n else {\r\n if (type == \"Display To-Do's\") {\r\n tasktype = 'To Do';\r\n }\r\n else if (type == \"Display Phone Calls\") {\r\n tasktype = 'Phone';\r\n } else if (type == \"Display Meetings\") {\r\n tasktype = 'Meeting';\r\n }\r\n this.leadservice.GetTasksBycategory(this.ContAccId, this.userType, tasktype).then((activities) => {\r\n this.activitieslist = [];\r\n activities.forEach(activities => {\r\n activities.datecreated = this.datePipe.transform(activities.datecreated, \"MM/dd/yyyy\");\r\n });\r\n this.alltaskhistory = activities;\r\n\r\n });\r\n }\r\n }\r\n selectionactivitiesChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.showActivityDetailsDialog = true;\r\n this.taskhistory = rowEvent.api.getSelectedNodes()[0].data;\r\n this.leadservice.GetAllTaskHistoryById(this.taskhistory.id, 'TaskHistory').then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.taskhistorynotes = items;\r\n });\r\n }\r\n } else {\r\n this.showActivityDetailsDialog = false;\r\n this.taskhistory = null;\r\n }\r\n\r\n }\r\n selectionTicketChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.showTicketsDetailsDialog = true;\r\n this.TicketDetails = rowEvent.api.getSelectedNodes()[0].data;\r\n }\r\n } else {\r\n this.showActivityDetailsDialog = false;\r\n this.taskhistory = null;\r\n }\r\n\r\n }\r\n TaskSaveReturn(msg) {\r\n \r\n if (msg == 'Cancel') {\r\n this.AddScheduleTask = false;\r\n this.loadtickets(this.ContAccId,'All');\r\n this.tasklisttypes('All');\r\n this.getAllActivities(this.ContAccId, this.userType);\r\n }\r\n }\r\n deleteTicket(TicketId) {\r\n this.customerService.DeleteTicket(TicketId).then((user) => {\r\n if (this.userType == 'Contact') {\r\n this.loadtickets(this.ContAccId, 'All');\r\n } else if (this.userType == 'Customer') {\r\n this.customerService.GetAccountContactList(this.ContAccId).then(result => {\r\n result.forEach(ele => {\r\n this.loadtickets(ele.id, 'All');\r\n });\r\n });\r\n }\r\n });\r\n }\r\n View(val) {\r\n if (val == 'Block') {\r\n this.ticketsBlockView = true;\r\n } else {\r\n this.ticketsBlockView = false;\r\n }\r\n\r\n }\r\n //delink(val, va1) {\r\n\r\n //}\r\n openfile(val,va1){\r\n\r\n }\r\n //delinkOff(val) {\r\n\r\n //}\r\n //delinkDocs(val) {\r\n\r\n //}\r\n rowClickAgGrid(event) {\r\n\r\n }\r\n openDisplaynotes(note) {\r\n\r\n }\r\n AddDocumentsNew(val1, Val2) { }\r\n addlink(note) { }\r\n ActivitiesrowClickAgGrid(event) {\r\n this.showActivityDetailsDialog = true;\r\n }\r\n closeDetailsDialog(val) {\r\n if (val == 'Activity') {\r\n this.showActivityDetailsDialog = false;\r\n } else {\r\n this.showTicketsDetailsDialog = false;\r\n }\r\n \r\n }\r\n OpenTask() {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/` + this.userType + `/` + this.ContAccId + '/' + this.taskhistory.id + '/null');\r\n this.applicationComponent.ExpandSelectedMenu('tasklists');\r\n }\r\n getTicketStatus(val) {\r\n let status = ''; \r\n switch (val) {\r\n case 1: {\r\n status = 'Open';\r\n break;\r\n }\r\n case 2: {\r\n status = 'On-Hold';\r\n break;\r\n }\r\n case 3: {\r\n status = 'Pended';\r\n break;\r\n }\r\n case 4: {\r\n status = 'Complete';\r\n break;\r\n }\r\n case 5: {\r\n status = 'Not-Completed';\r\n break;\r\n }\r\n case 6: {\r\n status = 'Deleted';\r\n break;\r\n }\r\n }\r\n\r\n return status ;\r\n }\r\n\r\n LoadOpportunities(accountid) {\r\n if (this.userType == 'Customer') {\r\n this.Allopportunities = [];\r\n this.OriginalAllopportunities = [];\r\n this.customerService.GetAllContactproviderByAccount(accountid, this.currentuser.id).then((contacts) => {\r\n contacts.forEach(ele => {\r\n this.LoadOppData(ele.id);\r\n });\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.Allopportunities = selfObj.OriginalAllopportunities;\r\n \r\n }, 400));\r\n \r\n \r\n });\r\n } else {\r\n this.opprtunityservice.GetAllOpportunitiesListByAccountorContact(accountid, 'Opt').then((customer) => {\r\n customer.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n });\r\n this.Allopportunities = this.OriginalAllopportunities = customer;\r\n \r\n });\r\n }\r\n\r\n\r\n\r\n \r\n }\r\n\r\n LoadOppData(conid) {\r\n this.opprtunityservice.GetAllOpportunitiesListByAccountorContact(conid, 'Opt').then((custm) => {\r\n custm.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n\r\n this.OriginalAllopportunities.push(customer);\r\n });\r\n });\r\n }\r\n \r\n LoadCampaigns(ContAccId,userid) {\r\n this.opprtunityservice.GetAllCampaigns(userid).then((viewCampaigns) => {\r\n this.OriginalAllCampaigns = viewCampaigns;\r\n \r\n if (this.userType == 'Contact') {\r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.ContactsLinked == ContAccId)\r\n } else { \r\n this.allCampaigns = this.OriginalAllCampaigns.filter(x => x.ContactsLinked != null && this.AccountcontactIds.includes(x.ContactsLinked));\r\n }\r\n \r\n });\r\n }\r\n initializeOpportunityGrid() {\r\n this.OpportunityGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n\r\n this.customerService.GetSpecialityList(\"OpportunitiesType\", this.currentuser.id).then((Documenttype) => {\r\n this.ActivitiesDropdownList = Documenttype;\r\n });\r\n\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 31).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createOpportunityGridColumnDefs(columnSelections);\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.LoadOpportunities(selfObj.ContAccId);\r\n }, 100));\r\n\r\n \r\n });\r\n this.OpportunityGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n\r\n }\r\n createOpportunityGridColumnDefs(columnSelections: string) {\r\n let selfobj = this;\r\n \r\n this.OpportunitycolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'estimatedclosedate', headerName: 'ECD', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n }, {\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n\r\n },\r\n {\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n\r\n }, \r\n {\r\n field: 'status', headerName: 'Status', hide: false, cellRenderer: (params) => {\r\n if (params.data.status == '108') {\r\n return 'Open';\r\n }\r\n else if (params.data.status == '109') {\r\n return 'Closed-Won';\r\n } else if (params.data.status == '110') {\r\n return 'Closed-Lost';\r\n } else if (params.data.status == '111') {\r\n return 'Closed-Pending';\r\n }\r\n }, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false,\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n\r\n {\r\n field: 'itemName', headerName: 'Proposal Item', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'dollers', headerName: 'Price', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'RR', headerName: 'Monthly', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'drsName', headerName: '# Drs', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'midlevel', headerName: '# Mid Levels', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n ];\r\n }\r\n \r\n PDFClick(val, type) {\r\n this.showhistorypdf1 = true; \r\n this.PdfDialogCss(); let SO = this\r\n this.userService.GetProposalsDocumentContent(val).then(result => {\r\n \r\n $(setTimeout(function () {\r\n SO.onDocumentOpen(result.PdfContent);\r\n }, 500));\r\n });\r\n }\r\n PdfDialogCss() {\r\n setTimeout(function () {\r\n $('#showhistorypdf1 .dialog').attr('style', 'width: 44%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 85%;top: 10%;left: 54%;padding:0;4');\r\n }, 4);\r\n }\r\n onDocumentOpen(myBaseString) {\r\n $('#historypdfDiv').html('')\r\n $('#historypdfDiv').attr('style', 'width:100%;height: 100%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;margin-left:0%');\r\n }\r\n OpportunitiesTypeChange(type) {\r\n if (type == \"Closed Opportunities\") {\r\n this.Allopportunities = this.OriginalAllopportunities.filter(x => (x.status.includes('Closed')));\r\n } else if (type == \"Open Opportunities\") {\r\n this.Allopportunities = this.OriginalAllopportunities.filter(x => x.status == 'Open');\r\n } else if (type == \"Pended Opportunities\") {\r\n this.Allopportunities = this.OriginalAllopportunities.filter(x => (x.status.includes('Pending')));\r\n } else {\r\n this.Allopportunities = this.OriginalAllopportunities;\r\n }\r\n }\r\n ProjectsTypeChange(type) {\r\n if (type == \"All\") {\r\n this.ProjectsList = this.MainProjectsList;\r\n } else {\r\n this.ProjectsList = this.MainProjectsList.filter(x => x.ProjectStatusName == type);\r\n }\r\n }\r\n initializeProjectsAgGrid() {\r\n this.ProjectsgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n\r\n this.createProjectsColumnDefs(columnSelections);\r\n this.loadProjectsbyAccountId(this.ContAccId);\r\n this.ProjectsgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n \r\n\r\n }\r\n\r\n createProjectsColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.ProjectscolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'CreatedDate', headerName: 'CreatedDate', hide: false },\r\n { field: 'ProjectTypeName', headerName: 'ProjectTypeId', hide: false },\r\n { field: 'ProjectStatusName', headerName: 'ProjectStatus', hide: false },\r\n { field: 'AccountOrContactId', headerName: 'AccountOrContactId', hide: true },\r\n { field: 'TargetGoLiveDate', headerName: 'TargetGoLiveDate', hide: true },\r\n { field: 'NumberofTrainers', headerName: '# Trainers', hide: true },\r\n { field: 'OnsiteDateStatus1Name', headerName: 'OnsiteDateStatus1', hide: true },\r\n { field: 'OnsiteTrainingDate1From', headerName: 'OnsiteTrainingDate1', hide: true },\r\n { field: 'OnsiteTrainingDate1To', headerName: 'OnsiteTrainingDate1', hide: true },\r\n { field: 'OnsiteTrainingDate2From', headerName: 'OnsiteTrainingDate2', hide: true },\r\n { field: 'OnsiteTrainingDate2To', headerName: 'OnsiteTrainingDate2', hide: true },\r\n { field: 'OnsiteTrainingHours', headerName: 'OnsiteTrainingHours', hide: true },\r\n { field: 'PickListEditable', headerName: 'Pick List Editable', hide: true },\r\n { field: 'ProjectLeaderName', headerName: 'ProjectLeaderName', hide: false },\r\n { field: 'OnsiteTrainingName', headerName: 'OnsiteTraining', hide: false },\r\n { field: 'RemoteTrainingName', headerName: 'RemoteTraining', hide: false },\r\n { field: 'RemoteTrainingDate1From', headerName: 'RemoteTrainingDate1', hide: true },\r\n { field: 'RemoteTrainingDate1To', headerName: 'RemoteTrainingDate1', hide: true },\r\n { field: 'RemoteDateStatus1Name', headerName: 'RemoteDateStatus1', hide: true },\r\n { field: 'RemoteTrainingDate2From', headerName: 'RemoteTrainingDate2', hide: true },\r\n { field: 'RemoteTrainingDate2To', headerName: 'RemoteTrainingDate2', hide: true },\r\n { field: 'RemoteDateStatus2Name', headerName: 'RemoteDateStatus2', hide: true },\r\n { field: 'RemoteTrainingHours', headerName: 'RemoteTrainingHours', hide: true },\r\n { field: 'Trainer1Name', headerName: 'Trainer1', hide: false },\r\n { field: 'Trainer2Name', headerName: 'Trainer2', hide: false },\r\n { field: 'UserAccessName', headerName: 'UserAccess', hide: false },\r\n { field: 'Notes', headerName: 'Notes', hide: true },\r\n \r\n ];\r\n }\r\n loadProjectsbyAccountId(AccountId) {\r\n this.customerService.GetAllProjectsByAccountId(AccountId).then(res => {\r\n res.forEach(SalesHistory => {\r\n SalesHistory.CreatedDate = this.datePipe.transform(SalesHistory.CreatedDate, \"MM-dd-yyyy\");\r\n });\r\n this.ProjectsList = res;\r\n this.MainProjectsList = res;\r\n });\r\n\r\n\r\n }\r\n\r\n ProjectsSelectionChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n var data = rowEvent.api.getSelectedNodes()[0].data;\r\n //this.applicationComponent.ExpandSelectedMenu('Projects');\r\n //this.router.navigateByUrl(`/application/projects/\" \"/` + data.AccountOrContactId + '/' + data.ProjectID);\r\n \r\n \r\n }\r\n } else {\r\n this.showActivityDetailsDialog = false;\r\n this.taskhistory = null;\r\n }\r\n\r\n }\r\n OpenSpecailNote() {\r\n this.openTaskhistory = false;\r\n }\r\n cancelSpecial() { this.openTaskhistory = true; }\r\n SaveSpecialNote() {\r\n if (this.userType == 'Customer') {\r\n this.specialnotes.accountId = this.ContAccId;\r\n }\r\n this.accountsService.SavaccountSpecialNotes(this.specialnotes).then(result => {\r\n this.openTaskhistory = true;\r\n });\r\n }\r\n rowDoubleClickAgGrid(event) {\r\n this.applicationComponent.ExpandSelectedMenu('tickets');\r\n localStorage.setItem('includecc', (event.data.CCTo == \"\" || event.data.CCTo == null) ? \"false\" : \"true\");\r\n localStorage.setItem('tickettype', event.data.TicketStatus);\r\n this.router.navigateByUrl(`/application/zendeskhome/${event.data.contactid}/${event.data.ticketId}/Open Tickets`);\r\n }\r\n ProjectrowDoubleClickAgGrid(event) {\r\n this.applicationComponent.ExpandSelectedMenu('Projects');\r\n localStorage.setItem('projecttype', event.data.ProjectStatusName);\r\n this.router.navigateByUrl(`/application/projects/\" \"/` + event.data.AccountOrContactId + '/' + event.data.ProjectID);\r\n }\r\n OpportunitiesSelectionChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n var OppData = rowEvent.api.getSelectedNodes()[0].data;\r\n this.applicationComponent.ExpandSelectedMenu('opportunities');\r\n if (OppData.type == 'Contacts') {\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/` + OppData.accountorcontactid + '/' + OppData.type+'/null/'+ OppData.id )\r\n } else {\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/` + OppData.accountorcontactid + '/' + OppData.type + '/null/' + OppData.id)\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n","\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n No data found\r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      {{account.accountname}}
      \r\n
      {{account.address1}} 
      \r\n
      {{account.address2}}
      \r\n
      \r\n {{account.city}} , {{account.state}}, {{account.zip | slice:0:5}} 5\">-{{account.zip | slice:5:20}},{{account.country}}\r\n
      \r\n
      \r\n
      \r\n

      Contact Notes Info

      \r\n
      \r\n
      \r\n
      Contact:{{contact.firstname}} {{contact.middlename}} {{contact.lastname}} , {{contact.title}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n
      \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 { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { CustomerService } from './../../services/customer.service';\r\n//import { DataTableResource, DataTableTranslations } from 'angular-2-data-table';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Notes } from '../../models/notes';\r\nimport { DatePipe } from '@angular/common';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n itemResource: any;\r\n items = [];\r\n itemCount = 0;\r\n params: any;\r\n Ids = [];\r\n term: string = \"\";\r\n currentuser: any;\r\n subtype: string = \"\";\r\n dropdownList = [];\r\n finalitems = \"\";\r\n selectedItems = [];\r\n dropdownSetting = {};\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n notes: Notes = new Notes();\r\n notedescription: string;\r\n notesshowDialog = false;\r\n contactid: number;\r\n notesitemResource: any;\r\n notesitems = [];\r\n notesitemCount = 0;\r\n notesparams: any;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n private gridApi;\r\n private gridColumnApi;\r\n\r\n private columnDefs;\r\n private autoGroupColumnDef;\r\n private rowSelection;\r\n private rowGroupPanelShow;\r\n private pivotPanelShow;\r\n private defaultColDef;\r\n\r\n constructor(private http: HttpClient, private router: Router, private opprtunityservice: OpprtunitiesService, private route: ActivatedRoute, private customerService: CustomerService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.route.params.subscribe(params => {\r\n this.term = params['term'];\r\n this.GetContactList(this.term, this.currentuser.id);\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n $('#example').data({\r\n \"scrollY\": 200,\r\n \"scrollX\": true\r\n });\r\n if (document.getElementById('subTab') != undefined && document.getElementById('subTab') != null)\r\n document.getElementById('subTab').style.display = 'block';\r\n this.route.params.subscribe(params => {\r\n this.term = params['term'];\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1,0,0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n\r\n this.dropdownList = Owner;\r\n })\r\n if ($(\"#userids\").val() != '') {\r\n this.customerService.Getselectedusers($(\"#userids\").val()).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n })\r\n this.GetContactList(this.term, $(\"#userids\").val());\r\n }\r\n else {\r\n this.GetContactList(this.term, this.currentuser.id);\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.GetContactList(this.term, this.currentuser.id);\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n OpenContactNotes(rowEvent) {\r\n this.customerService.GetContactById(rowEvent.id).then(result => {\r\n this.contact = result;\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n });\r\n\r\n });\r\n\r\n this.GetCustomerNotes(rowEvent.id, 'Contact');\r\n this.notesshowDialog = !this.notesshowDialog\r\n $('.dialog').width('1000px');\r\n }\r\n\r\n Notes(val) {\r\n this.GetCustomerNotes(this.contact.id, val);\r\n }\r\n GetCustomerNotes(contactid, type) {\r\n\r\n this.customerService.GetAllNotesList(this.currentuser.id,contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.notesitemCount = taskhistory.length;\r\n //this.notesitemResource = new DataTableResource(taskhistory);\r\n //this.notesitemResource.count().then(count => this.notesitemCount = count);\r\n //this.notesparams = { offset: 0, limit: 10 }\r\n //this.notesreloadItems(this.notesparams);\r\n });\r\n\r\n }\r\n\r\n //notesreloadItems(notesparams) {\r\n // if (this.notesitemResource != undefined) {\r\n // this.notesitemResource.query(notesparams).then(notesitems => this.notesitems = notesitems);\r\n // }\r\n //}\r\n\r\n enterNotes() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n }\r\n SaveNote() {\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/img, \"\");\r\n this.notes.type = \"Contact\";\r\n this.notes.accountid = this.contact.id;\r\n\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.GetCustomerNotes(this.notes.accountid, 'Contact');\r\n $('#notesListTabsId .active').removeClass('active');\r\n $('#notesListTabsId #allNotesId').addClass('active');\r\n this.CancelNote();\r\n });\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n }\r\n GetContactList(term, userid) {\r\n this.opprtunityservice.GetAllContactsBySearch(term, userid, 'contacts').then((contact) => {\r\n contact.forEach(contact => {\r\n });\r\n this.itemCount = contact.length;\r\n //this.itemResource = new DataTableResource(contact);\r\n //this.itemResource.count().then(count => this.itemCount = count);\r\n //this.params = { offset: 0, limit: 10 }\r\n //this.reloadItems(this.params);\r\n });\r\n }\r\n onItemSelect(item: any) {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.GetContactList(this.term, $(\"#userids\").val());\r\n\r\n\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.GetContactList(this.term, $(\"#userids\").val());\r\n } else {\r\n this.items = [];\r\n this.itemCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.GetContactList(this.term, $(\"#userids\").val());\r\n }\r\n onDeSelectAll(items: any) {\r\n\r\n this.finalitems = \"\";\r\n this.items = [];\r\n this.itemCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n \r\n rowClick(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.row.item.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.row.item.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n } else {\r\n this.Ids.push(rowEvent.row.item.id)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n }\r\n }\r\n rowDoubleClick(rowEvent) {\r\n this.router.navigateByUrl(`/application/contactsdashboard/${rowEvent.row.item.id}`);\r\n }\r\n reloadItems(params) {\r\n if (this.itemResource != undefined) {\r\n this.itemResource.query(params).then(items => this.items = items);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { AddressUpdate } from 'src/app/models/AddressUpdate';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-imported',\r\n templateUrl: './imported.component.html',\r\n styleUrls: ['./imported.component.css']\r\n})\r\nexport class ImportedComponent implements OnInit {\r\n source: any;\r\n \r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n addressupdate: AddressUpdate = new AddressUpdate();\r\n constructor(private route: ActivatedRoute, private accountservice: AccountsService, private customerService: CustomerService) { }\r\n\r\n ngOnInit() {\r\n \r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#imported_button\").addClass(\"activeButton\");\r\n this.route.params.subscribe(params => {\r\n \r\n this.source = params['sourcepage'];\r\n \r\n });\r\n\r\n }\r\n \r\n //UpdateContactAddress() {\r\n // this.accountservice.GetAllAccounts().then(accounts => { \r\n\r\n // accounts.forEach(async ele => {\r\n // this.addressupdate.address1 = ele.address1;\r\n // this.addressupdate.address2 = ele.address2;\r\n // this.addressupdate.city = ele.city;\r\n // this.addressupdate.state = ele.state;\r\n // this.addressupdate.zip = ele.zip;\r\n // this.addressupdate.AccountId = ele.id;\r\n // this.addressupdate.lattitude = ele.lattitude;\r\n // this.addressupdate.longtitude = ele.longitude;\r\n // this.addressupdate.mapit = ele.mapit;\r\n // await this.updatecontactaddress(this.addressupdate);\r\n // //var response =await this.accountservice.updatecontactaddress(this.addressupdate).then(result => {\r\n \r\n // // return response;\r\n // //});\r\n \r\n // });\r\n // });\r\n //}\r\n\r\n //updatecontactaddress(addressupdate) {\r\n // this.accountservice.sp_updateAccAddressToContact(addressupdate).then(result => {\r\n // this.addressupdate = new AddressUpdate();\r\n // });\r\n //}\r\n\r\n}\r\n","

      \r\n
      \r\n

      \r\n Status Type\r\n

      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
      DescriptionSort OrderCreate NoteAction
      {{StatueItem.StatusItemName}}{{StatueItem.SortOrder}}{{StatueItem.CreateNote}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n

      \r\n Trigger Types\r\n

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

      \r\n Sales Stages\r\n

      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \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, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { GridOptions, RowDragEnterEvent, RowDragEndEvent, RowDragMoveEvent, RowDragLeaveEvent } from 'ag-grid';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { SalesStages } from 'src/app/models/SalesStages';\r\nimport { SystemRowConfiguration } from 'src/app/models/system-row-configuration';\r\nimport { StatusItems } from 'src/app/models/StatusItems';\r\nimport { StatusTypes } from 'src/app/models/status-types';\r\nimport { TriggerTypes } from 'src/app/models/trigger-types';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { LeadsService } from 'src/app/services/leads.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-leads-configuration',\r\n templateUrl: './leads-configuration.component.html',\r\n styleUrls: ['./leads-configuration.component.css']\r\n})\r\nexport class LeadsConfigurationComponent implements OnInit {\r\n LeadsConfigMainDiv: boolean = true;\r\n StatusTypeDiv: boolean = false;\r\n TriggerTypesDiv: boolean = false;\r\n SalesStagesDiv: boolean = false;\r\n ExpandStatusTypeGrid: boolean = false;\r\n createNewStatusType: boolean = false;\r\n createTriggerType: boolean = false;\r\n currentUser: any;\r\n public gridApi;\r\n public TriggergridApi;\r\n public gridstageApi;\r\n public rowSelection;\r\n public gridOptions: GridOptions;\r\n public triggergridOptions: GridOptions;\r\n public columnDefs: any[];\r\n public TriggerColumnDefs: any[];\r\n AddStatusTypeForm: FormGroup;\r\n AddTriggerTypeForm: FormGroup;\r\n SalesStagesForm: FormGroup;\r\n SalesStages: SalesStages = new SalesStages();\r\n statustype: StatusTypes = new StatusTypes();\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\r\n StatusItems: StatusItems[];\r\n statusTypes: StatusTypes[];\r\n triggerTypes: TriggerTypes[];\r\n triggertype: TriggerTypes = new TriggerTypes();\r\n ExpandSalesStageGrid: boolean = false;\r\n allSalesStages: SalesStages[];\r\n public SalesStageGridOptions: GridOptions;\r\n public SalesStageColumnDefs: any[];\r\n createSalesStage: boolean = false;\r\n public sideBar;\r\n deleteRowData: any;\r\n contactStatus: any;\r\n DeleteConfirmationPopup: boolean = false;\r\n //type: string;\r\n @Input() type: string = null;\r\n constructor(private userService: UserService, private toastr: ToastrService, private leadsService: LeadsService, public applicationComponent: ApplicationComponent) {\r\n this.currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n if (this.type == \"900\") {\r\n this.AccessDiv(\"StatusType\");\r\n }\r\n //} else {\r\n var obj: AuditLogModel = { id: 0, type: 'Leads Configuration', action: 'Leads Config', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Leads Config', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n //}\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.statustype = event.api.getSelectedNodes()[0].data;\r\n this.createNewStatusType = true;\r\n this.userService.GetStatusItemsByStatusType(this.statustype.Id).then(result => {\r\n this.StatusItems = result;\r\n });\r\n } else {\r\n this.statustype = new StatusTypes();\r\n this.createNewStatusType = false;\r\n }\r\n } else {\r\n this.statustype = new StatusTypes();\r\n this.StatusItems=[];\r\n }\r\n }\r\n onTriggerChanged(event) {\r\n \r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.triggertype = event.api.getSelectedNodes()[0].data;\r\n this.createTriggerType = true;\r\n } else {\r\n this.triggertype = new TriggerTypes();\r\n this.createTriggerType = false;\r\n }\r\n } else { this.triggertype = new TriggerTypes();}\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true,\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging:true,\r\n \r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createColumnDefs();\r\n\r\n }\r\n GetAllStatusTypes() {\r\n this.userService.GetAllStatusTypes(this.currentUser.id).then(result => {\r\n this.statusTypes = result;\r\n });\r\n }\r\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"StatusType\"); \r\n }\r\n onRowTriggerDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"TriggerType\");\r\n }\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == \"StatusType\") {\r\n this.gridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.Id);\r\n });\r\n } else if (type == \"TriggerType\") {\r\n this.TriggergridApi.forEachNode((node) => {\r\n sortoorder.push(node.data.Id);\r\n });\r\n }else {\r\n this.gridstageApi.forEachNode((node) => { \r\n sortoorder.push(node.data.SalesStageID);\r\n });\r\n }\r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentUser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n \r\n });\r\n \r\n }\r\n GetAllTriggerTypes() {\r\n this.userService.GetAllTriggerTypes(this.currentUser.id).then(result => {\r\n this.triggerTypes = result;\r\n });\r\n }\r\n createColumnDefs() {\r\n let selfObj = this;\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true,\r\n },\r\n { field: 'Id', headerName: 'Id', hide: false, width: 120 },\r\n {\r\n field: 'statustypeName', headerName: 'Sales Status Type', hide: false, width: 400,\r\n },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false, width: 120 },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteStatusType(params.data.Id);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n this.rowSelection = 'multiple';\r\n\r\n }\r\n\r\n createTriggerColumnDefs() {\r\n let selfObj = this;\r\n this.TriggerColumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 62,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true\r\n },\r\n { field: 'Id', headerName: 'Id', hide: false, width: 120 },\r\n {\r\n field: 'TriggerType', headerName: 'Trigger Type', hide: false, width: 400,\r\n },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteTriggerType(params.data.Id);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n\r\n\r\n }\r\n deleteTriggerType(statusTypeId) {\r\n this.deleteRowData = statusTypeId;\r\n this.contactStatus = 0;\r\n this.DeleteConfirmationPopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteConfirmationPopup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4); \r\n }\r\n deleteStatusType(statusTypeId) {\r\n this.deleteRowData = statusTypeId;\r\n this.contactStatus = 0;\r\n this.DeleteConfirmationPopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteConfirmationPopup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n \r\n }\r\n\r\n initializeTriggerAgGrid() {\r\n \r\n this.triggergridOptions = {\r\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true,\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true,\r\n\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createTriggerColumnDefs();\r\n\r\n }\r\n AccessDiv(val) {\r\n if (val == 'StatusType') {\r\n this.StatusTypeDiv = true;\r\n this.initializeAgGrid();\r\n this.GetAllStatusTypes();\r\n this.LeadsConfigMainDiv = false;\r\n } else if (val == 'TriggerTypes') {\r\n this.TriggerTypesDiv = true;\r\n this.initializeTriggerAgGrid();\r\n this.GetAllTriggerTypes();\r\n this.LeadsConfigMainDiv = false;\r\n } else if (val == 'SalesStages') {\r\n this.SalesStagesDiv = true;\r\n this.LeadsConfigMainDiv = false;\r\n this.GetAllStatusTypes();\r\n this.GetAllTriggerTypes();\r\n this.initializeSalesStageGrid();\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n \r\n selfObj.GetAllSalesStage();\r\n selfObj.getSalesStageForm();\r\n }, 100));\r\n \r\n }\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Leads Configuration', action: 'Leads Config - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Leads Config - ' + val, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n CloseDiv(val) {\r\n if (val == 'StatusType') {\r\n this.StatusTypeDiv = false;\r\n this.LeadsConfigMainDiv = true;\r\n this.statustype = new StatusTypes();\r\n } else if (val == 'TriggerType') {\r\n this.TriggerTypesDiv = false;\r\n this.LeadsConfigMainDiv = true;\r\n this.triggertype = new TriggerTypes();\r\n } else if (val == 'SalesStages') {\r\n this.SalesStagesDiv = false;\r\n this.LeadsConfigMainDiv = true;\r\n this.createSalesStage = false;\r\n this.ClearSalesStageForm();\r\n }\r\n }\r\n\r\n getSalesStageForm(): FormGroup {\r\n return new FormGroup({\r\n 'SalesStage': new FormControl(this.SalesStages.SaleStage, Validators.required),\r\n 'ForeCastDescription': new FormControl(this.SalesStages.ForeCastDescription, Validators.required),\r\n 'SkipStage': new FormControl(this.SalesStages.SkipStage, Validators.required),\r\n 'Sortorder': new FormControl(this.SalesStages.SortOrder, Validators.required)\r\n });\r\n }\r\n CreateSalesStage() {\r\n this.getSalesStageForm();\r\n this.createSalesStage = true;\r\n this.ExpandSalesStageGrid = false;\r\n this.SalesStages = new SalesStages();\r\n var NextsortOrder = this.allSalesStages.sort((a, b) => b.SortOrder - a.SortOrder)[0].SortOrder;\r\n this.SalesStages.SortOrder = NextsortOrder + 1;\r\n\r\n }\r\n initializeSalesStageGrid() {\r\n this.SalesStageGridOptions = {\r\n enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n , rowDragManaged: true, animateRows: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createSalesStageColumnDefs();\r\n\r\n }\r\n onSaleStageRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"SaleStage\");\r\n }\r\n createSalesStageColumnDefs() {\r\n let selfObj = this;\r\n this.SalesStageColumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true,\r\n },\r\n { field: 'SalesStageID', headerName: 'Id', hide: false, width: 70 },\r\n {\r\n field: 'SaleStage', headerName: 'Sales Stage', hide: false, width: 150,\r\n },\r\n { field: 'ForeCastDescription', headerName: 'ForeCast Description', hide: false, width: 150 },\r\n {\r\n field: 'SkipStage', headerName: 'Skip Stage', hide: false, width: 90, cellRenderer(params) {\r\n if (params.data.SkipStage == 0) {\r\n return \"No\";\r\n }\r\n else {\r\n return \"Yes\";\r\n }\r\n }\r\n },\r\n {\r\n field: 'StatusType', headerName: 'Status Type', hide: false, width: 120, cellStyle: { 'padding': '0' }, cellRenderer: DropDowns\r\n },\r\n {\r\n field: 'TriggerType', headerName: 'Trigger Type', hide: false, width: 120, cellStyle: { 'padding': '0' }, cellRenderer: DropDowns\r\n },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false, width: 120 },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.DeleteSalesStage(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n\r\n function DropDowns(params) {\r\n var rowIndex = params.rowIndex;\r\n var Column = params.eGridCell.attributes.colId;\r\n var WeldGridData = selfObj.SalesStageGridOptions.rowData;\r\n var eSelect = document.createElement(\"select\");\r\n eSelect.setAttribute('class', 'custom-select form-control');\r\n eSelect.setAttribute('style', 'padding:0px;font-size:11px;');\r\n eSelect.setAttribute('name', params.colDef.field);\r\n eSelect.setAttribute('id', params.colDef.field + \"_\" + rowIndex);\r\n \r\n //eSelect.disabled = !selfObj.createSalesStage;\r\n eSelect.onchange = function () {\r\n if (params.colDef.field == 'StatusType') {\r\n selfObj.SalesStages = params.data;\r\n selfObj.SalesStages.StatusType = $('#' + eSelect.id).val();\r\n params.data.StatusType = $('#' + eSelect.id).val();\r\n selfObj.SaveSalesStage();\r\n } else if (params.colDef.field == 'TriggerType') {\r\n selfObj.SalesStages = params.data;\r\n selfObj.SalesStages.TriggerType = $('#' + eSelect.id).val();\r\n params.data.TriggerType = $('#' + eSelect.id).val();\r\n selfObj.SaveSalesStage();\r\n }\r\n };\r\n \r\n var eOption = document.createElement(\"option\");\r\n eOption.text = \"Select\";\r\n eOption.value = \"\";\r\n eOption.disabled = true;\r\n eOption.selected = true;\r\n eSelect.appendChild(eOption);\r\n if (params.colDef.field == \"StatusType\") {\r\n selfObj.statusTypes.forEach(ele => {\r\n var eOptionVal = document.createElement(\"option\");\r\n eOptionVal.text = ele.statustypeName;\r\n eOptionVal.value = ele.Id.toString();\r\n eSelect.appendChild(eOptionVal);\r\n });\r\n \r\n }\r\n else if (params.colDef.field == \"TriggerType\") {\r\n selfObj.triggerTypes.forEach(ele => {\r\n var eOptionVal = document.createElement(\"option\");\r\n eOptionVal.text = ele.TriggerType;\r\n eOptionVal.value = ele.Id.toString();\r\n eSelect.appendChild(eOptionVal);\r\n\r\n });\r\n\r\n }\r\n\r\n \r\n $(setTimeout(function () {\r\n if (params.colDef.field == 'StatusType') {\r\n $('#' + eSelect.id).val(params.data.StatusType);\r\n } else if (params.colDef.field == 'TriggerType') {\r\n $('#' + eSelect.id).val(params.data.TriggerType);\r\n }\r\n }, 200));\r\n return eSelect;\r\n }\r\n\r\n \r\n }\r\n\r\n \r\n Expand(val) {\r\n this.ExpandSalesStageGrid = !this.ExpandSalesStageGrid;\r\n }\r\n SaveSalesStage() { \r\n this.SalesStages.CreatedBy = this.currentUser.id;\r\n this.leadsService.AddUpdateSalesStage(this.SalesStages).then(result => {\r\n this.toastr.success(\"Sales Stage saved successfully.\", \"Sales Stage Saved\", { timeOut: 600 });\r\n this.ClearSalesStageForm();\r\n this.createSalesStage = false;\r\n this.GetAllSalesStage();\r\n });\r\n }\r\n GetAllSalesStage() {\r\n this.leadsService.GetAllSalesStage(this.currentUser.id).then(result => {\r\n this.allSalesStages = result;\r\n });\r\n }\r\n onSalesStageSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.SalesStages = event.api.getSelectedNodes()[0].data;\r\n this.createSalesStage = true;\r\n }\r\n } else {\r\n this.ClearSalesStageForm();\r\n }\r\n }\r\n ClearSalesStageForm() {\r\n this.SalesStages = new SalesStages();\r\n }\r\n DeleteSalesStage(ParamData) {\r\n this.deleteRowData = ParamData;\r\n this.contactStatus = 0;\r\n this.type = \"SalesStage\";\r\n this.DeleteConfirmationPopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteConfirmationPopup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 31%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4); \r\n }\r\n completeForm() { }\r\n handleClick($event) {\r\n\r\n }\r\n onAgGridReady(event) {\r\n this.gridApi = event.api;\r\n }\r\n onTriggerAgGridReady(event) {\r\n this.TriggergridApi = event.api;\r\n }\r\n onsalesstageAgGridReady(event) {\r\n this.gridstageApi = event.api;\r\n }\r\n\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n if (this.type == \"SalesStage\") {\r\n this.deleteRowData.isDeleted = 1;\r\n this.SalesStages = this.deleteRowData;\r\n this.SaveSalesStage();\r\n }\r\n else if (this.type == \"TriggerType\") {\r\n\r\n this.userService.UpdateStatusType(this.deleteRowData).then(result => {\r\n this.GetAllTriggerTypes();\r\n this.toastr.success(\"Trigger Type Deleted successfully.\", \"Trigger Deleted\", { timeOut: 600 });\r\n });\r\n \r\n }\r\n else if (this.type == \"StatusType\") {\r\n this.userService.UpdateTriggerType(this.deleteRowData).then(result => {\r\n this.GetAllStatusTypes();\r\n this.toastr.success(\"Status Type Deleted successfully.\", \"Status Type Deleted\", { timeOut: 600 });\r\n });\r\n \r\n }\r\n }\r\n this.DeleteConfirmationPopup = false;\r\n \r\n }\r\n\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n \r\n }\r\n\r\n}\r\n\r\n","\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      0 &&(saleprocesshistory.status=='Won' ||saleprocesshistory.status=='Lost')) ?'col-xs-12 closedLeadwatermark':allSalesItems.length>0 ?'col-xs-12 OpenLeadwatermark':'col-xs-12 '\" style=\"overflow: auto; border-radius:3px; padding:0;height:69%\" *ngIf=\"!NewProposalPage\">\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Contact:
      \r\n {{saleprocesshistory.contactname |uppercase }}\r\n
      \r\n
      \r\n
      Days:
      \r\n
      {{saleprocesshistory.NoOfDays}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      IPC:
      \r\n
      {{saleprocesshistory.IPCStatus}}
      \r\n
      {{saleprocesshistory.IPCCompletedDate | date:\"MM/dd/yyyy\"}}
      \r\n
      \r\n\r\n
      \r\n
      Analysis:
      \r\n
      {{saleprocesshistory.AnalysisStatus}}
      \r\n
      {{saleprocesshistory.AnalysisCompletedDate | date:\"MM/dd/yyyy\"}}
      \r\n
      \r\n\r\n
      \r\n
      P-Analysis:
      \r\n
      {{saleprocesshistory.PrepareAnalysisStatus}}
      \r\n
      {{saleprocesshistory.PrepareAnalysisReportCompletedDate| date:\"MM/dd/yyyy\"}}
      \r\n
      \r\n\r\n
      \r\n
      R-Analysis:
      \r\n
      {{saleprocesshistory.ReviewAnalysisStatus}}
      \r\n
      {{saleprocesshistory.ReviewAnalysisCompletedDate| date:\"MM/dd/yyyy\"}}
      \r\n\r\n
      \r\n
      \r\n
      Proposal:
      \r\n
      {{saleprocesshistory.GenerateProposalStatus}}
      \r\n
      {{saleprocesshistory.GeneralProposalCompletedDate| date:\"MM/dd/yyyy\"}}
      \r\n\r\n
      \r\n\r\n
      \r\n
      Justification:
      \r\n
      {{saleprocesshistory.JustificationStatus}}
      \r\n
      {{saleprocesshistory.justificationmettingCompletedDate| date:\"MM/dd/yyyy\"}}
      \r\n
      \r\n
      \r\n
      Reference Call:
      \r\n
      {{saleprocesshistory.ReferenceCallsStatus}}
      \r\n
      {{saleprocesshistory.ReferencecallCompletedDate| date:\"MM/dd/yyyy\"}}
      \r\n
      \r\n
      \r\n
      Demo:
      \r\n
      {{saleprocesshistory.DemonstrationStatus}}
      \r\n
      {{saleprocesshistory.MdlogicdemonstrationCompletedDate| date:\"MM/dd/yyyy\"}}
      \r\n
      \r\n\r\n
      \r\n
      WLP:
      \r\n
      0 &&(saleprocesshistory.status=='Won' ||saleprocesshistory.status=='Lost')\" style=\"padding:0px\">{{saleprocesshistory.status}}
      \r\n
      0 &&(saleprocesshistory.status=='Won' ||saleprocesshistory.status=='Lost')\">{{saleprocesshistory.completeddate| date:\"MM/dd/yyyy\"}}
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{note.created }}
      \r\n\r\n
      {{note.notedescription}}
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      {{note.created }}
      \r\n\r\n
      {{note.notedescription}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      0\" class=\"col-xs-3\" style=\"padding:0%\">\r\n LEAD STATUS : \r\n
      \r\n
      0\" class=\"col-xs-3\" style=\"padding:0%\">\r\n 0 &&(saleprocesshistory.status=='Won' ||saleprocesshistory.status=='Lost')\">CLOSED\r\n 0 &&(saleprocesshistory.status!='Won' && saleprocesshistory.status!='Lost')\">OPEN\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n\r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n \r\n \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, ViewContainerRef, ElementRef, Optional, ViewChild, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { SalesProcessHistory } from '../../models/sales-process-history';\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { Column } from 'ag-grid';\r\nimport { TaskComponent } from '../../application/task/task.component';\r\nimport { NotesrendererComponent } from '../../application/notesrenderer/notesrenderer.component';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\ndeclare var require: any;\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { NotesComponent } from '../notes/notes.component';\r\nimport { Notes } from 'src/app/models/notes';\r\nimport { SalesStages } from 'src/app/models/SalesStages';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { Viewaccount } from '../../models/viewaccount';\r\nimport { OwnershipsharingComponent } from '../ownershipsharing/ownershipsharing.component';\r\nimport { StatusItems } from '../../models/StatusItems';\r\nimport { HistoryComponent } from '../history/history.component';\r\nimport { AccountDetailsComponent } from '../account-details/account-details.component';\r\nimport { DialogComponent } from '../dialog/dialog.component';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'leads',\r\n templateUrl: './leads.component.html',\r\n styleUrls: ['./leads.component.css']\r\n})\r\nexport class LeadsComponent implements OnInit {\r\n @Input()\r\n contactid: number = 0;\r\n @Input()\r\n id: number = 0;\r\n saleprocessform: FormGroup;\r\n opprtunityform: FormGroup;\r\n AccountIdArr: Dropdowntype[] = [];\r\n taskhistoryform: FormGroup;\r\n public columnDefs: any[];\r\n //notehgtlead = screen.height * 0.178;\r\n AccountIdsDialog: boolean = false;\r\n showsalesDialog: boolean = false;\r\n notesshowDialog = false;\r\n SaveLeadDialog = false;\r\n taskhistorynotes: Array = [];\r\n salestagenotes: Array = [];\r\n salependingnotes: Array = [];\r\n detailsTaskhistory = [];\r\n contact: Contacts = new Contacts();\r\n notes: Notes = new Notes();\r\n taskhistory: TaskHistory = new TaskHistory();\r\n saleprocesshistory: SalesProcessHistory = new SalesProcessHistory();\r\n opportunities: Opportunities = new Opportunities();\r\n Salesstageslist: Dropdowntype[] = [];\r\n Tasktypelist: Dropdowntype[] = [];\r\n TaskStatuslist: Dropdowntype[] = [];\r\n public gridOptionsnotes: GridOptions;\r\n public gridOptions: GridOptions;\r\n itemResource: any;\r\n showDialog = false;\r\n contactitemResource: any;\r\n items = [];\r\n itemCount = 0;\r\n params: any;\r\n SalesitemResource: any;\r\n userprevilages: any;\r\n Salesitems = [];\r\n SalesitemCount = 0;\r\n salesparams: any;\r\n itemList = [];\r\n stagecompletedList = [];\r\n selectedItems = [];\r\n Contactitems = [];\r\n settings = {};\r\n TaskStatussettings = {};\r\n stagecompletedsettings = {};\r\n TaskId = 0;\r\n selectedStagesDisable = new Array();\r\n ContactitemCount = 0;\r\n FeeAmountdiv: boolean = true;\r\n FeeAmountdiv1: boolean = true;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n typeOfLead = 0;\r\n nextId = 0;\r\n salesSelectedId = 0;\r\n scheduleTaskType: string;\r\n selectedTaskType: string;\r\n DealStatus: string;\r\n salesstageid: number = 0;\r\n currentuser: any;\r\n public elementRef;\r\n public context;\r\n allItems: any;\r\n public gridOptionsItems: GridOptions;\r\n public columnDefsItems: any[];\r\n allSalesItems: any;\r\n DuplicateSalesItems: any;\r\n public gridOptionsSalesItems: GridOptions;\r\n public columnDefsSalesItems: any[];\r\n OwnerList: Dropdowntype[] = [];\r\n opprtunityitemlist: Dropdowntype[] = [];\r\n Tasklist: Dropdowntype[] = [];\r\n pclist: Dropdowntype[] = [];\r\n drlist: Dropdowntype[] = [];\r\n midlevelslist: Dropdowntype[] = [];\r\n leadfromlist: Dropdowntype[] = [];\r\n @ViewChild(TaskComponent) shcComp;\r\n @ViewChild(NotesComponent) notecomp;\r\n @ViewChild(HistoryComponent) historyComp;\r\n\r\n taskDialog: boolean = false;\r\n hideSalesSaveBtn: boolean = true;\r\n opportunityDialog: boolean = false;\r\n PreviousNotesExpand: boolean = false;\r\n MdlogicDemoDialog: boolean = false;\r\n showSaveNotes: boolean = false;\r\n public columnDefsnotes: any[];\r\n public frameworkComponents;\r\n allnotes: Array = [];\r\n leadid: number;\r\n conid: number;\r\n noteid: number;\r\n account: Accounts = new Accounts();\r\n notedescription: string;\r\n NotesDec = false;\r\n isoppadded: boolean = false;\r\n isModal: boolean = true;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n Allopportunities: Opportunities[];\r\n SelectedOpportunities: Opportunities;\r\n SelectedOpportunity: string = \"\";\r\n SelectedOpportunityCount: boolean = true;\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n timezonevalue: string;\r\n opportunityId: number = 0;\r\n LeadStageNote: boolean = false;\r\n allSalesStages: SalesStages[];\r\n Showtrigger: boolean = false;\r\n NewProposalPage: boolean = false;\r\n SelectedStage = SalesStages;\r\n StatusSelection: boolean = false;\r\n DateSelection: boolean = false;\r\n userInfo: string;\r\n isShowDetailsChecked: boolean = false;\r\n public sideBar;\r\n viewaccount: Viewaccount = new Viewaccount();\r\n action: string;\r\n showAddEditAccount: boolean = false;\r\n showAddEditContact: boolean = false;\r\n isSharing: boolean = false;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n rightMainDivHideShow: boolean = true;\r\n accountSharingid: number = 0;\r\n AddContacttableDiv: boolean = false;\r\n GridView: boolean = true;\r\n public StatusItems: StatusItems[];\r\n @ViewChild(AccountDetailsComponent) accdetailcmp;\r\n public AddLeadStagegridOptions: GridOptions;\r\n public documentscolumnDefs: any[];\r\n DocExpandView: boolean = false;\r\n @Output()\r\n outPropsEvent = new EventEmitter();\r\n\r\n constructor(private route: ActivatedRoute, public applicationComponent: ApplicationComponent, private opprtunityservice: OpprtunitiesService, private accountsService: AccountsService,\r\n private customerService: CustomerService, private leadservice: LeadsService, private router: Router, private location: Location, private toastr: ToastrService,\r\n private viewContainerRef: ViewContainerRef, myElement: ElementRef, private userService: UserService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.route.params.subscribe(params => {\r\n let contactid = params['contactid'];\r\n this.taskhistory.tasktype = null;\r\n });\r\n this.elementRef = myElement;\r\n }\r\n cancelaccountIds() {\r\n this.AccountIdsDialog = false;\r\n }\r\n AccountIdsDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 20%;padding-bottom:0px;border:2px solid rgb(49,189,240);border-radius:5%;min-height:15%;overflow: auto;height: 18%;left: 0%;right:9%;top: 18%;padding: 0;');\r\n }, 4)\r\n\r\n }\r\n NotesKeyUp() {\r\n if (this.notes.notedescription.length > 0) {\r\n this.showSaveNotes = true;\r\n }\r\n else {\r\n this.showSaveNotes = false;\r\n }\r\n }\r\n ExpandPrvNotesDetails(val) {\r\n if (val == 'Collapse') {\r\n this.PreviousNotesExpand = false;\r\n } else {\r\n this.PreviousNotesExpand = true;\r\n }\r\n }\r\n\r\n public HideAdnShow(contactid,id) {\r\n this.FeeAmountdiv = true;\r\n \r\n if (contactid == 0) {\r\n this.FeeAmountdiv = false;\r\n \r\n } else {\r\n this.FeeAmountdiv = true;\r\n \r\n this.customerService.LoadContactById(contactid).then(result => {\r\n this.contact = result;\r\n \r\n this.customerService.loadaccountdata(this.contact.accountid).then(result => {\r\n this.account = result;\r\n this.taskhistory.type = \"Contacts\";\r\n this.saleprocesshistory.ownerid = result.ownerid;\r\n \r\n this.GetAllSalesStage(contactid);\r\n this.SalesProcessHistoryForGrid(contactid);\r\n \r\n });\r\n });\r\n }\r\n\r\n }\r\n ngOnInit() {\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == \"Leads\")[0];\r\n if (thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + thisTab.resource + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n this.HideAdnShow(this.contactid, this.id);\r\n\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#leads_span\").addClass(\"activeColor\");\r\n $(\"#leads\").addClass(\"mainactiveButton\");\r\n this.initializeAgGridSalesItems();\r\n this.route.params.subscribe(params => {\r\n \r\n if (params['contactid'] != \"\" && params['contactid'] != 0 && params['contactid'] != '0') {\r\n this.contactid = params['contactid'];\r\n \r\n }\r\n $('#emailIds').val(this.contactid);\r\n this.typeOfLead = params['type'];\r\n\r\n\r\n });\r\n if (document.getElementById('subTab') != undefined && document.getElementById('subTab') != null)\r\n //document.getElementById('subTab').style.display = 'none';\r\n this.saleprocessform = new FormGroup({\r\n 'salesstage': new FormControl(this.saleprocesshistory.salesstage, Validators.required),\r\n 'status': new FormControl(this.saleprocesshistory.status, Validators.required),\r\n 'completeddate': new FormControl(this.saleprocesshistory.completeddate, Validators.required)\r\n });\r\n\r\n this.opprtunityform = new FormGroup({\r\n 'item': new FormControl(this.opportunities.item, Validators.required),\r\n 'dollers': new FormControl(this.opportunities.dollers, Validators.required),\r\n 'RR': new FormControl(this.opportunities.RR, Validators.required),\r\n 'estimatedclosedate': new FormControl(this.opportunities.estimatedclosedate, Validators.required),\r\n 'PC': new FormControl(this.opportunities.PC, Validators.required),\r\n 'drs': new FormControl(this.opportunities.drs, Validators.required),\r\n 'midlevels': new FormControl(this.opportunities.midlevels, Validators.required),\r\n 'leadfromid': new FormControl(this.opportunities.leadfromid, Validators.required),\r\n 'ownerid': new FormControl(this.opportunities.ownerid, Validators.required)\r\n });\r\n this.taskhistoryform = new FormGroup({\r\n 'tasktype': new FormControl(this.taskhistory.tasktype, Validators.required),\r\n 'estcompleteddate': new FormControl(this.taskhistory.estcompleteddate, Validators.required),\r\n 'stagenotedescription': new FormControl(this.notes.stagenotedescription, Validators.required)\r\n });\r\n this.TaskId = 0;\r\n \r\n this.customerService.LoadContactById(this.contactid).then(result => {\r\n this.contact = result;\r\n this.customerService.loadaccountdata(this.contact.accountid).then(result => {\r\n this.account = result;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata);\r\n });\r\n this.customerService.GetSpecialityList(\"AccountIds\", this.currentuser.id).then((Acids) => {\r\n this.AccountIdArr = Acids;\r\n });\r\n });\r\n }\r\n\r\n LoadSalesData(conid, salesId) {\r\n this.contactid = conid;\r\n this.id = salesId;\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == \"Leads\")[0];\r\n if (thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + thisTab.resource + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n\r\n this.HideAdnShow(this.contactid, this.id);\r\n\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#leads_span\").addClass(\"activeColor\");\r\n $(\"#leads\").addClass(\"mainactiveButton\");\r\n this.initializeAgGridSalesItems();\r\n \r\n if (document.getElementById('subTab') != undefined && document.getElementById('subTab') != null)\r\n //document.getElementById('subTab').style.display = 'none';\r\n this.saleprocessform = new FormGroup({\r\n 'salesstage': new FormControl(this.saleprocesshistory.salesstage, Validators.required),\r\n 'status': new FormControl(this.saleprocesshistory.status, Validators.required),\r\n 'completeddate': new FormControl(this.saleprocesshistory.completeddate, Validators.required)\r\n });\r\n\r\n this.opprtunityform = new FormGroup({\r\n 'item': new FormControl(this.opportunities.item, Validators.required),\r\n 'dollers': new FormControl(this.opportunities.dollers, Validators.required),\r\n 'RR': new FormControl(this.opportunities.RR, Validators.required),\r\n 'estimatedclosedate': new FormControl(this.opportunities.estimatedclosedate, Validators.required),\r\n 'PC': new FormControl(this.opportunities.PC, Validators.required),\r\n 'drs': new FormControl(this.opportunities.drs, Validators.required),\r\n 'midlevels': new FormControl(this.opportunities.midlevels, Validators.required),\r\n 'leadfromid': new FormControl(this.opportunities.leadfromid, Validators.required),\r\n 'ownerid': new FormControl(this.opportunities.ownerid, Validators.required)\r\n });\r\n this.taskhistoryform = new FormGroup({\r\n 'tasktype': new FormControl(this.taskhistory.tasktype, Validators.required),\r\n 'estcompleteddate': new FormControl(this.taskhistory.estcompleteddate, Validators.required),\r\n 'stagenotedescription': new FormControl(this.notes.stagenotedescription, Validators.required)\r\n });\r\n this.TaskId = 0;\r\n \r\n this.customerService.LoadContactById(this.contactid).then(result => {\r\n this.contact = result;\r\n this.customerService.loadaccountdata(this.contact.accountid).then(result => {\r\n this.account = result;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata);\r\n });\r\n this.customerService.GetSpecialityList(\"AccountIds\", this.currentuser.id).then((Acids) => {\r\n this.AccountIdArr = Acids;\r\n });\r\n });\r\n }\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata) {\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.accdetailcmp.loadAccountId(accId);\r\n }\r\n GetCompletedStage(contactid): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.leadservice.getcompletedstages(contactid).then((taskhistory) => {\r\n if (taskhistory == null) {\r\n this.saleprocesshistory.salesstage = 'IPC';\r\n // document.getElementById('SaleStage').innerHTML = this.saleprocesshistory.salesstage;\r\n } else {\r\n this.salesstageid = taskhistory.id;\r\n this.GetBySalesProcessHistoryById(taskhistory.id).then((res) => {\r\n this.loadstage(taskhistory);\r\n });\r\n }\r\n //resolve();\r\n });\r\n\r\n });\r\n return promise;\r\n }\r\n\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllItems();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllItems();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllItems() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsItems && this.gridOptionsItems.columnApi) {\r\n var allCols = this.gridOptionsItems.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsItems.columnApi.autoSizeColumns(allColumnIds);\r\n //this.gridOptionsItems.columnApi.autoSizeColumns(allColumnIds, \"autosizeColumns\");\r\n }\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n\r\n if (rowEvent.node.selected) {\r\n this.opportunityId = rowEvent.data.id;\r\n }\r\n else {\r\n this.opportunityId = 0;\r\n }\r\n }\r\n rowClickAgGridItems(rowEvent) {\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Leads\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canedit == false) {\r\n this.toastr.warning(\"You Do Not have Access to edit – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n $('.selected').removeClass('selected');\r\n this.taskhistory.id = rowEvent.data.id;\r\n document.getElementById('Sheduletask').className = \"col-xs-7\";\r\n document.getElementById('Sales').className = \"col-xs-5 disableDiv\";\r\n\r\n if (this.TaskId == this.taskhistory.id) {\r\n this.notes.notedescription = '';\r\n this.taskhistorynotes = [];\r\n this.Tasktypelist = [];\r\n this.taskhistory = new TaskHistory();\r\n this.detailsTaskhistory = [];\r\n this.TaskId = 0;\r\n $('.mainactiveButton').removeClass('mainactiveButton');\r\n $('.changeActive').addClass('noprovider');\r\n $('#leads').addClass('mainactiveButton');\r\n\r\n $('#sheduletask').addClass('noprovider');\r\n $('.actionToDo').removeClass('activeColor');\r\n $('#sheduletask_span').removeClass('activeColor')\r\n //document.getElementById('taskSave').style.display = 'none';\r\n //document.getElementById('sid').innerHTML = \"Schedule Task\";\r\n //document.getElementById('statusid').style.display = 'block';\r\n //document.getElementById('notesTextArea').style.color = 'black';\r\n var idStatus = 167;\r\n var rstatus = 'Open'\r\n var spanId = idStatus + '_span';\r\n $('.labelStatus').removeClass('redColor');\r\n $('.spanStatus').removeClass('activeColor');\r\n $('#' + idStatus).addClass('redColor');\r\n $('#' + spanId).addClass('activeColor');\r\n document.getElementById('selectStatus').innerHTML = rstatus;\r\n this.scheduleTaskType = \"\";\r\n this.selectedTaskType = \"\";\r\n }\r\n else { //first time click\r\n this.TaskId = this.taskhistory.id\r\n this.opprtunityservice.GetTaskStatus(\"TaskStatus\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.TaskStatuslist = pc;\r\n });\r\n this.TaskStatussettings = { singleSelection: true, text: \"Select Task Type\" };\r\n //document.getElementById('saveButton').style.display = 'none';\r\n document.getElementById('taskSave').style.display = 'none';\r\n document.getElementById('statusid').style.display = 'block';\r\n document.getElementById('notesTextArea').style.color = 'red';\r\n this.leadservice.GetByTaskHistoryId(rowEvent.data.id, \"View\", this.currentuser.timezone).then(result => {\r\n this.taskhistory = null;\r\n this.taskhistory = result;\r\n this.leadservice.GetAllTaskHistoryById(this.taskhistory.id, 'Lead').then((items) => {\r\n //items.forEach(items => {\r\n //});\r\n this.taskhistorynotes = items;\r\n document.getElementById('notesTextArea').style.color = 'red';\r\n document.getElementById('notesTextArea').style.border = 'none';\r\n\r\n });\r\n this.taskhistory.tasktype = rowEvent.data.tasktype;\r\n this.selectedTaskType = rowEvent.data.tasktype;\r\n this.taskhistory.estcompleteddate = ((this.taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(this.taskhistory.estcompleteddate, \"yyyy-MM-dd\"));\r\n (this.detailsTaskhistory).push(result.tasktype);\r\n (this.detailsTaskhistory).push(result.estcompleteddate);\r\n (this.detailsTaskhistory).push(result.time);\r\n var type = result.tasktype;\r\n var typeArray = type.split(\"-\");\r\n\r\n if (typeArray[0].trim() == 'Phone') {\r\n this.scheduleTaskType = 'phonecall';\r\n this.ActiveTask('phonecall');\r\n\r\n } else if (typeArray[0].trim() == 'To Do') {\r\n this.scheduleTaskType = 'todo';\r\n this.ActiveTask('todo');\r\n } else {\r\n this.scheduleTaskType = 'meeting';\r\n this.ActiveTask('meeting')\r\n }\r\n var id = 0;\r\n var status = '';\r\n if (rowEvent.data.status == 'Open') {\r\n id = 167;\r\n status = 'Open'\r\n } else if (rowEvent.data.status == 'Completed') {\r\n id = 168;\r\n status = 'Completed'\r\n }\r\n else if (rowEvent.row.item.status == 'Not Completed') {\r\n id = 169;\r\n status = 'Not Completed'\r\n }\r\n $('.labelStatus').removeClass('redColor');\r\n $('.spanStatus').removeClass('activeColor');\r\n var spanId = id + '_span';\r\n $('#' + id).addClass('redColor');\r\n $('#' + spanId).addClass('activeColor');\r\n document.getElementById('selectStatus').innerHTML = status;\r\n // document.getElementById('saveButton').style.display = 'none'\r\n\r\n //this.taskhistory.tasktype = rowEvent.data.tasktype;\r\n\r\n this.taskhistory.status = status;\r\n });\r\n // document.getElementById('Leadsale').className = 'btn noprovider';\r\n\r\n document.getElementById('sheduletask').className = 'btn mainactiveButton';\r\n document.getElementById('sid').innerHTML = \"Edit Task\";\r\n document.getElementById('sheduletask_span').className = 'mainCheckMark activeColor';\r\n }\r\n }\r\n\r\n initializeAgGridSalesItems() {\r\n this.gridOptionsSalesItems = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 30).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.gridOptionsSalesItems.api.paginationSetPageSize(config.maxlimit);\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefsSalesItems(columnSelections);\r\n\r\n });\r\n this.gridOptionsSalesItems.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n }\r\n createColumnDefsSalesItems(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefsSalesItems = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefsSalesItems.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefsSalesItems.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefsSalesItems.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; } } });\r\n }\r\n else {\r\n this.columnDefsSalesItems.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefsSalesItems = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'datecreated', headerName: 'Date Created', hide: false, width: 120 },\r\n { field: 'completeddate', headerName: 'Completed', hide: false, width: 120 },\r\n { field: 'status', headerName: 'Status', hide: false, width: 120, cellStyle: function (params) { if (params.value == 'Open' || params.value == 'Pending' || params.value == 'Skipped') { return { color: 'red' }; } } },\r\n { field: 'salesstage', headerName: 'Sales Stage', hide: false, width: 150 },\r\n { field: 'contactName', headerName: 'Contact Name', hide: false, width: 120 },\r\n { field: 'username', headerName: 'Owner', hide: false, width: 120 },\r\n { field: 'completeduser', headerName: 'Completed By', hide: false, width: 120 },\r\n { field: 'dealwonOrlost', headerName: 'Deal Won/Lost', hide: true, width: 120 },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: 120 }\r\n ];\r\n }\r\n }\r\n onAgGridReadySalesItems(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllSalesItems();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllSalesItems();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllSalesItems() {\r\n\r\n }\r\n\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptionsSalesItems.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n config.maxlimit = 25;\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 30;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n rowClickAgGridSalesItems(rowEvent) {\r\n this.hideSalesSaveBtn = true;\r\n $('.selected').removeClass('selected');\r\n this.saleprocesshistory = new SalesProcessHistory();\r\n this.taskhistory = new TaskHistory();\r\n this.detailsTaskhistory = [];\r\n this.notes.notedescription = '';\r\n this.notes.stagenotedescription = '';\r\n this.taskhistorynotes = [];\r\n this.salestagenotes = [];\r\n this.taskhistory = new TaskHistory();\r\n\r\n if (this.salesSelectedId == rowEvent.data.id) {\r\n this.salesSelectedId = 0;\r\n this.saleprocesshistory.status = null;\r\n this.GetCompletedStage(this.contactid);\r\n } else {\r\n this.salesSelectedId = rowEvent.data.id;\r\n this.GetBySalesProcessHistoryById(rowEvent.data.id);\r\n }\r\n\r\n }\r\n\r\n openNotesDialogAg(rowdata) { \r\n this.conid = rowdata.contactid;\r\n this.showDialog = !this.showDialog;\r\n this.showDialogCss()\r\n\r\n }\r\n\r\n showDialogCss() {\r\n $(setTimeout(function () {\r\n $('#showDialog .dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n GetAllLeadNotes(id, type) {\r\n this.leadservice.GetAllSalesProcessHistoryByContact(id).then(SalesHistory => {\r\n var res = SalesHistory.map(x => x.id).join(',').toString();\r\n this.customerService.GetAllNotesList(this.currentuser.id, res, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n \r\n this.allnotes = taskhistory; \r\n let windowHeight = $(window).height() - 160;\r\n });\r\n });\r\n \r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(columnSelections: string) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n }\r\n onAgGridReadynotes(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllnotes() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds);\r\n }\r\n\r\n }\r\n getNextStage(SalesStage) {\r\n\r\n var nextStage = Number(SalesStage.SalesStageID) + 1;\r\n var Result = this.allSalesStages.filter(e => e.SalesStageID == nextStage);\r\n if (Result.length != 0) {\r\n $('#TG' + Result[0].SalesStageID).prop('disabled', false);\r\n $('#Status' + Result[0].SalesStageID).prop('disabled', false);\r\n $('#CD' + Result[0].SalesStageID).prop('disabled', false);\r\n $('#Stage' + Result[0].SalesStageID).prop('style', 'color:black');\r\n $('#NoteWhite' + Result[0].SalesStageID).prop('disabled', false);\r\n\r\n }\r\n return Result;\r\n }\r\n OpenLeads() {\r\n\r\n this.showsalesDialog = true;\r\n this.SalesDialogCss();\r\n this.GetBySalesProcessHistoryById(this.saleprocesshistory.id).then((res) => {\r\n this.loadstage(this.saleprocesshistory);\r\n let SelfObj = this;\r\n setTimeout(function () {\r\n SelfObj.GetCompletedStage(this.saleprocesshistory.contactid);\r\n }, 200)\r\n });\r\n \r\n }\r\n\r\n GetBySalesProcessHistoryById(salesid): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.leadservice.GetBySalesProcessHistoryById(salesid).then(result => { \r\n this.saleprocesshistory = result;\r\n this.SalesProcessHistory(this.saleprocesshistory.contactid);\r\n this.itemCount = 0;\r\n\r\n var CompletedStage = this.allSalesStages.filter(ele => ele.SaleStage == this.saleprocesshistory.salesstage);\r\n this.getNextStage(CompletedStage[0]);\r\n\r\n \r\n if (this.saleprocesshistory.status == 'Pending') {\r\n this.saleprocesshistory.id = 0;\r\n\r\n } else if (this.saleprocesshistory.status == 'Skipped') {\r\n\r\n }\r\n });\r\n });\r\n return promise;\r\n\r\n }\r\n Search() {\r\n var term = $('#term').val();\r\n\r\n this.opprtunityservice.GetAllContactsBySearch(term, this.currentuser.id, 'contacts').then((contact) => {\r\n contact.forEach(contact => {\r\n });\r\n this.ContactitemCount = contact.length\r\n });\r\n }\r\n CancelOpportunityDiv() {\r\n document.getElementById('OpportunityDiv').style.display = 'none';\r\n document.getElementById('Saleprocess').style.display = 'block';\r\n this.saleprocesshistory.id = 0;\r\n this.hideSalesSaveBtn = true;\r\n }\r\n\r\n loadstage(result) {\r\n \r\n if (result.status == 'Completed' || result.status == 'Skipped' || result.status == 'Pending') {\r\n if ((result.status == 'Completed') && result.salesstage == 'Generate Proposal') {\r\n //document.getElementById('Saleprocess').style.display = 'none';\r\n //document.getElementById('OpportunityDiv').style.display = 'block';\r\n this.hideSalesSaveBtn = false;\r\n\r\n } if ((result.status == 'Completed') && result.salesstage == 'MD Logic Demonstration') {\r\n $(setTimeout(function () {\r\n $('.dialog').width(((window.innerWidth * 30) / 100));\r\n $('.dialog').height(((window.innerHeight * 50) / 100));\r\n $('.dialog').height(((window.innerHeight * 50) / 100));\r\n }, 1));\r\n document.getElementById('saveButton').style.display = 'none';\r\n }\r\n\r\n else if ((result.status == 'Skipped') && result.salesstage != 'MD Logic Demonstration') {\r\n this.saleprocesshistory.id = 0;\r\n }\r\n var id = 0;\r\n var lable = '';\r\n if (result.salesstage == 'IPC') {\r\n id = 2;\r\n lable = 'Analysis'\r\n } else if (result.salesstage == 'Analysis') {\r\n id = 3;\r\n lable = 'Prepare Analysis Report'\r\n } else if (result.salesstage == 'Prepare Analysis Report') {\r\n id = 4;\r\n lable = 'Review Analysis'\r\n } else if (result.salesstage == 'Review Analysis') {\r\n id = 5;\r\n lable = 'Generate Proposal'\r\n } else if (result.salesstage == 'Generate Proposal') {\r\n id = 6;\r\n\r\n lable = 'Justification Meeting'\r\n } else if (result.salesstage == 'Justification Meeting') {\r\n id = 7;\r\n lable = 'Reference Calls'\r\n } else if (result.salesstage == 'Reference Calls') {\r\n id = 8;\r\n lable = 'MD Logic Demonstration';\r\n } else {\r\n lable = 'MD Logic Demonstration';\r\n\r\n }\r\n this.saleprocesshistory.salesstage = lable;\r\n\r\n if ((this.saleprocesshistory.dealwonOrlost == 'DEAL WON' || this.saleprocesshistory.dealwonOrlost == 'DEAL LOST') && this.saleprocesshistory.salesstage != 'MD Logic Demonstration') {\r\n //$('#Leadsale').addClass(\"mainactiveButton\")\r\n //$('#Leadsale').removeClass(\"NextactiveButton\")\r\n\r\n } else {\r\n //$('#Leadsale').removeClass(\"mainactiveButton\")\r\n //$('#Leadsale').addClass(\"NextactiveButton\")\r\n\r\n }\r\n\r\n }\r\n else {\r\n if (result.salesstage == 'IPC') {\r\n id = 1;\r\n lable = 'IPC'\r\n } else if (result.salesstage == 'Analysis') {\r\n id = 2;\r\n lable = 'Analysis'\r\n } else if (result.salesstage == 'Prepare Analysis Report') {\r\n id = 3;\r\n lable = 'Prepare Analysis Report'\r\n } else if (result.salesstage == 'Review Analysis') {\r\n id = 4;\r\n lable = 'Review Analysis'\r\n } else if (result.salesstage == 'Generate Proposal') {\r\n id = 5;\r\n lable = 'Generate Proposal'\r\n } else if (result.salesstage == 'Justification Meeting') {\r\n id = 6;\r\n lable = 'Justification Meeting'\r\n } else if (result.salesstage == 'Reference Calls') {\r\n id = 7;\r\n lable = 'Reference Calls';\r\n } else if (result.salesstage == 'MD Logic Demonstration') {\r\n id = 8;\r\n lable = 'MD Logic Demonstration';\r\n }\r\n this.saleprocesshistory.salesstage = lable;\r\n //$('#Leadsale').addClass(\"mainactiveButton\")\r\n //$('#Leadsale').removeClass(\"NextactiveButton\")\r\n //document.getElementById('Leadsale').innerHTML = 'Leads- Sales Process'\r\n //var that = this;\r\n //$(setTimeout(function () {\r\n // document.getElementById('SaleStage').innerHTML = that.saleprocesshistory.salesstage;\r\n //}, 200));\r\n\r\n }\r\n\r\n }\r\n SaveSaleProcessHistory(val) {\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Leads\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }\r\n this.salesSelectedId = 0;\r\n this.salesstageid = 0;\r\n this.saleprocesshistory.contactid = this.contact.id;\r\n this.saleprocesshistory.userid = this.currentuser.id;\r\n if (this.saleprocesshistory.status == \"Completed\") {\r\n this.saleprocesshistory.completeduserid = this.currentuser.id;\r\n }\r\n if (this.saleprocesshistory.salesstage == 'Won-Lost-Pending') {\r\n this.saleprocesshistory.dealwonOrlost = this.saleprocesshistory.status;\r\n }\r\n\r\n this.saleprocesshistory.ownerid = this.currentuser.id;\r\n this.saleprocesshistory.completeduserid = this.currentuser.id;\r\n this.leadservice.addSaleProcessHistory(this.saleprocesshistory).then(result => {\r\n \r\n this.salesstageid = result.id;\r\n this.notes.accountid = result.id;\r\n this.notes.type = \"Lead\";\r\n var newNotes = new Notes();\r\n newNotes.accountid = result.id;\r\n newNotes.type = \"Lead\";\r\n this.notes.userid = this.currentuser.id;\r\n this.notes.isnewnote = 1;\r\n newNotes.notedescription = this.notes.stagenotedescription || this.notes.notedescription;\r\n this.SaveLeadDialog = false;\r\n \r\n this.opprtunityservice.addopprtunityNotes(newNotes).then(res => {\r\n this.notes = res;\r\n this.notes.stagenotedescription = '';\r\n this.notes.notedescription = '';\r\n this.clearNotes();\r\n \r\n if (result.id != null && result.id != undefined) {\r\n // this.GetAllLeadNotes(result.id, 'Lead');\r\n }\r\n });\r\n if (result.salesstage == 'Demonstration' && result.status == 'Completed') {\r\n this.saleprocesshistory.id = result.id;\r\n }\r\n if (this.saleprocesshistory.salesstage == 'Won-Lost-Pending' && (this.saleprocesshistory.status == 'Won' || this.saleprocesshistory.status == 'Lost')) {\r\n this.leadservice.GetAllSalesProcessHistoryByContact(result.contactid).then(Leads => {\r\n var GeneralProposal = Leads.filter(e => e.salesstage == 'Generate Proposal')[0];\r\n\r\n var OpportunityStatus;\r\n if (this.saleprocesshistory.status == 'Won') {\r\n OpportunityStatus = 'Closed-Won';\r\n } else if (this.saleprocesshistory.status == 'Lost') {\r\n OpportunityStatus = 'Closed-Lost';\r\n }\r\n this.opprtunityservice.GetStatusChange(GeneralProposal.OpportunityID, OpportunityStatus).then(result => {\r\n //this.opprtunityservice.addopprtunity(this.opportunities).then(result => { });\r\n });\r\n\r\n\r\n });\r\n\r\n }\r\n \r\n let SelfObj = this;\r\n setTimeout(function () {\r\n /* SelfObj.SalesProcessHistory(result.contactid);*/\r\n SelfObj.SalesProcessHistoryForGrid(result.contactid);\r\n \r\n },500);\r\n \r\n });\r\n \r\n //document.getElementById('leadnotes').style.display = 'none';\r\n }\r\n\r\n\r\n\r\n AddTask() {\r\n\r\n this.taskDialog = !this.taskDialog;\r\n //this.taskDialogCss();\r\n this.taskDialogBoxCss();\r\n\r\n let SelfObj = this;\r\n setTimeout(function () {\r\n SelfObj.historyComp.getAllActivities(SelfObj.contact.id, 'Contacts');\r\n }, 200)\r\n\r\n \r\n //var searchBoxOffset = $(\"#searchBox\").offset();\r\n //let width = window.innerWidth;\r\n //let searchBoxHeight = $('#searchBox').height();\r\n //var leftmargin = ($(window).width()) / 1.7742;\r\n //var leftmargin = ($(window).width()) / 1.5;\r\n //let windowHeight = $(window).height() / 1.25;\r\n //$(setTimeout(function () {\r\n //$('.dialog').css('width', '40%');\r\n //$('.dialog').css('height', '96px;');\r\n //$('.dialog').css('left', '58%');\r\n //$('.dialog').css('top', '3%');\r\n //$('.dialog').css('border-radius', '3px');\r\n //$('.dialog').css('min-height', '95%');\r\n //$('.dialog').css('border', '4px solid #75da33');\r\n //$('.dialog').css('overflow', 'auto');\r\n //$('.dialog').css('background-color', '#F7F7F7')\r\n //$('.dialog').css('padding', '0')\r\n //$('#closeDialog').attr('style', 'color:white;')\r\n //this.taskDialogBoxCss();\r\n //}, 1));\r\n }\r\n\r\n taskDialogBoxCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width:40%;padding:0px;border:4px solid rgb(49,189,240);border-radius:5%;min-height:67%;overflow: auto;height: 96%;left: 58%;top: 3%;border-radius:3px;background-color:rgb(247, 247, 247);');\r\n }, 4));\r\n }\r\n LeadSaleProcess() {\r\n if ((this.Salesitems).length > 0) {\r\n // this.selectOpenSaleProcess(this.Salesitems[0].id)\r\n }\r\n this.Tasktypelist = [];\r\n $(\".changeActive\").removeClass(\"mainactiveButton\");\r\n $(\".actionToDo\").removeClass(\"activeColor\");\r\n $(\".changeActive\").addClass(\"noprovider\");\r\n //$(\".actionToDo\").addClass(\"activeColor\")\r\n //$('#Leadsale').removeClass(\"noprovider\")\r\n //$('#Leadsale').addClass(\"mainactiveButton\")\r\n\r\n document.getElementById('sheduletask').className = 'btn noprovider changeActive';\r\n $('#sheduletask_span').removeClass('activeColor')\r\n document.getElementById('sid').innerHTML = 'Schedule task';\r\n $('#Sales').removeClass('disableDiv');\r\n\r\n }\r\n ActiveTask(id) {\r\n var type = $('#sel1').val();\r\n if (type == null || type == undefined || type == \"\" || this.taskhistory.estcompleteddate == 'undefined')\r\n document.getElementById('taskSave').style.display = 'none'\r\n else\r\n document.getElementById('taskSave').style.display = 'block'\r\n document.getElementById('Sheduletask').className = \"col-xs-7\";\r\n document.getElementById('Sales').className = \"col-xs-5 disableDiv\";\r\n\r\n $(\".actionToDo\").removeClass(\"activeColor\");\r\n $(\".changeActive\").removeClass(\"mainactiveButton\");\r\n $(\".changeActive\").addClass(\"noprovider\");\r\n $(\"#\" + id).removeClass(\"noprovider\");\r\n $(\"#\" + id + \"_span\").addClass(\"activeColor\");\r\n $(\"#\" + id).addClass(\"mainactiveButton\");\r\n $(\"#sheduletask_span\").addClass(\"activeColor\");\r\n $(\"#Leadsale_span\").removeClass(\"activeColor\");\r\n $(\"#sheduletask\").removeClass(\"noprovider\");\r\n $(\"#sheduletask\").addClass(\"mainactiveButton\");\r\n // document.getElementById('Leadsale').className = 'btn noprovider';\r\n this.leadservice.GetAllTasksList(id, this.saleprocesshistory.salesstage, this.currentuser.TaskGroupid, 0, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Tasktypelist = accounttype;\r\n if (this.scheduleTaskType == id && this.selectedTaskType != \"\")\r\n this.taskhistory.tasktype = this.selectedTaskType;\r\n else\r\n this.taskhistory.tasktype = accounttype[0].itemName;\r\n\r\n });\r\n var idStatus = 167;\r\n if (this.TaskId == 0) {\r\n var spanId = idStatus + '_span';\r\n $('.labelStatus').removeClass('redColor');\r\n $('.spanStatus').removeClass('activeColor');\r\n $('#' + idStatus).addClass('redColor');\r\n $('#' + spanId).addClass('activeColor');\r\n document.getElementById('selectStatus').innerHTML = 'Open';\r\n }\r\n\r\n\r\n }\r\n SalesProcessHistoryForGrid(contactid) {\r\n \r\n this.leadservice.GetAllSalesProcessHistoryByContact(contactid).then(SalesHistory => {\r\n SalesHistory.forEach(SalesHistory => {\r\n SalesHistory.datecreated = this.datePipe.transform(SalesHistory.datecreated, \"MM-dd-yyyy\");\r\n SalesHistory.completeddate = this.datePipe.transform(SalesHistory.completeddate, \"MM-dd-yyyy\");\r\n });\r\n this.allSalesItems = SalesHistory;\r\n \r\n if (this.allSalesItems.length == 0) {\r\n this.saleprocesshistory = new SalesProcessHistory();\r\n this.saleprocesshistory.contactname = this.contact.firstname + \" \" + this.contact.lastname + \" , \" + this.contact.titleName;\r\n } else {\r\n let selfObj = this;\r\n $(setTimeout(function () { \r\n selfObj.gridOptionsSalesItems.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.allSalesItems[0].id) {\r\n selfObj.gridOptionsSalesItems.api.selectNode(node, true);\r\n selfObj.gridOptionsSalesItems.rowSelection = 'single';\r\n selfObj.GetAllLeadNotes(contactid, 'Lead');\r\n selfObj.OpenLeads();\r\n\r\n }\r\n }); \r\n }, 500));\r\n }\r\n });\r\n \r\n }\r\n saveNotes() {\r\n this.notes.accountid = this.id;\r\n this.notes.type = 'Lead';\r\n this.notes.isnewnote = 1;\r\n this.notes.userid = this.currentuser.id;\r\n if (this.notes.notedescription != undefined && this.notes.notedescription != \"\") {\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n // this.toastr.success(\"Notes saved successfully.\", \"Notes Saved\", { timeOut: 600 });\r\n this.clearNotes();\r\n this.GetAllLeadNotes(this.id, 'Lead');\r\n if (this.id != null && this.id != undefined) {\r\n this.GetAllLeadNotes(this.id, 'Lead');\r\n }\r\n });\r\n }\r\n }\r\n clearNotes() {\r\n this.notes.notedescription = \"\";\r\n this.showSaveNotes = false;\r\n }\r\n\r\n SalesDialogCss() {\r\n $(setTimeout(function () {\r\n $('#showsalesDialog .dialog').attr('style', 'width: 35%;padding-bottom: 0px;border: 1px solid rgb(49,189,240);min-height: 63%;overflow: auto;height:99.5%;padding: 0;top: 0%;left: 65%;');\r\n }, 100));\r\n }\r\n SalesProcessHistory(contactid) {\r\n this.leadservice.GetAllSalesProcessHistoryByContact(contactid).then(SalesHistory => {\r\n let dup = SalesHistory;\r\n \r\n if (dup.length != 0) {\r\n dup.sort((a, b) => a.id - b.id).forEach(SalesHistory => { \r\n this.allSalesStages.forEach(element => {\r\n if (SalesHistory.salesstage == element.SaleStage) {\r\n if (SalesHistory.salesstage == \"Won-Lost-Pending\" || SalesHistory.status == 'Pending') { \r\n element.status = SalesHistory.status;\r\n element.completeddate = ((SalesHistory.completeddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(SalesHistory.completeddate, \"yyyy-MM-dd\"));\r\n element.notesDescription = SalesHistory.notesDescription; \r\n }\r\n else {\r\n if (SalesHistory.status == 'Completed' || SalesHistory.status == 'Skipped') {\r\n \r\n element.status = SalesHistory.status;\r\n element.completeddate = ((SalesHistory.completeddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(SalesHistory.completeddate, \"yyyy-MM-dd\"));\r\n element.notesDescription = SalesHistory.notesDescription;\r\n element.id = SalesHistory.id;\r\n }\r\n else {\r\n element.SalesStageID = SalesHistory.id;\r\n element.status = SalesHistory.status;\r\n element.completeddate = ((SalesHistory.completeddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(SalesHistory.completeddate, \"yyyy-MM-dd\"));\r\n element.notesDescription = SalesHistory.notesDescription;\r\n element.id = SalesHistory.id;\r\n }\r\n }\r\n var conDate = new Date(this.saleprocesshistory.convertedtoLeaddate);\r\n \r\n this.saleprocesshistory.NoOfDays = \"0\";\r\n if (element.SaleStage == \"IPC\") {\r\n this.saleprocesshistory.IPCCompletedDate = element.completeddate;\r\n this.saleprocesshistory.IPCStatus = element.status;\r\n var ipcDate = new Date(this.saleprocesshistory.IPCCompletedDate);\r\n var ipcdays = Math.floor((Date.UTC(conDate.getFullYear(), conDate.getMonth(), conDate.getDate()) - Date.UTC(ipcDate.getFullYear(), ipcDate.getMonth(), ipcDate.getDate())) / (1000 * 60 * 60 * 24));\r\n this.saleprocesshistory.NoOfDays = ipcdays.toString().replace('-','');\r\n }\r\n if (element.SaleStage == \"Analysis\") {\r\n this.saleprocesshistory.AnalysisCompletedDate = element.completeddate;\r\n this.saleprocesshistory.AnalysisStatus = element.status;\r\n var analDate = new Date(this.saleprocesshistory.AnalysisCompletedDate);\r\n var analdays = Math.floor((Date.UTC(conDate.getFullYear(), conDate.getMonth(), conDate.getDate()) - Date.UTC(analDate.getFullYear(), analDate.getMonth(), analDate.getDate())) / (1000 * 60 * 60 * 24));\r\n this.saleprocesshistory.NoOfDays = analdays.toString().replace('-', '');;\r\n \r\n }\r\n if (element.SaleStage == \"Prepare Analysis\") {\r\n this.saleprocesshistory.PrepareAnalysisReportCompletedDate = element.completeddate;\r\n this.saleprocesshistory.PrepareAnalysisStatus = element.status;\r\n var prepAnalDate = new Date(this.saleprocesshistory.PrepareAnalysisReportCompletedDate);\r\n var prepAnaldays = Math.floor((Date.UTC(conDate.getFullYear(), conDate.getMonth(), conDate.getDate()) - Date.UTC(prepAnalDate.getFullYear(), prepAnalDate.getMonth(), prepAnalDate.getDate())) / (1000 * 60 * 60 * 24));\r\n this.saleprocesshistory.NoOfDays = prepAnaldays.toString().replace('-', '');;\r\n }\r\n if (element.SaleStage == \"Review Analysis\") {\r\n this.saleprocesshistory.ReviewAnalysisCompletedDate = element.completeddate;\r\n this.saleprocesshistory.ReviewAnalysisStatus = element.status;\r\n var revAnalDate = new Date(this.saleprocesshistory.PrepareAnalysisReportCompletedDate);\r\n var revAnaldays = Math.floor((Date.UTC(revAnalDate.getFullYear(), revAnalDate.getMonth(), revAnalDate.getDate()) - Date.UTC(conDate.getFullYear(), conDate.getMonth(), conDate.getDate())) / (1000 * 60 * 60 * 24));\r\n this.saleprocesshistory.NoOfDays = revAnaldays.toString().replace('-', '');;\r\n }\r\n if (element.SaleStage == \"Generate Proposal\") {\r\n this.saleprocesshistory.GeneralProposalCompletedDate = element.completeddate;\r\n this.saleprocesshistory.GenerateProposalStatus = element.status;\r\n var genproDate = new Date(this.saleprocesshistory.PrepareAnalysisReportCompletedDate);\r\n var genProdays = Math.floor((Date.UTC(conDate.getFullYear(), conDate.getMonth(), conDate.getDate()) - Date.UTC(genproDate.getFullYear(), genproDate.getMonth(), genproDate.getDate())) / (1000 * 60 * 60 * 24));\r\n this.saleprocesshistory.NoOfDays = genProdays.toString().replace('-', '');;\r\n }\r\n if (element.SaleStage == \"Justification Meeting\") {\r\n this.saleprocesshistory.justificationmettingCompletedDate = element.completeddate;\r\n this.saleprocesshistory.JustificationStatus = element.status;\r\n var justDate = new Date(this.saleprocesshistory.PrepareAnalysisReportCompletedDate);\r\n var jusdays = Math.floor((Date.UTC(conDate.getFullYear(), conDate.getMonth(), conDate.getDate()) - Date.UTC(justDate.getFullYear(), justDate.getMonth(), justDate.getDate())) / (1000 * 60 * 60 * 24));\r\n this.saleprocesshistory.NoOfDays = jusdays.toString().replace('-', '');;\r\n }\r\n if (element.SaleStage == \"Reference Calls\") {\r\n this.saleprocesshistory.ReferencecallCompletedDate = element.completeddate;\r\n this.saleprocesshistory.ReferenceCallsStatus = element.status;\r\n var refDate = new Date(this.saleprocesshistory.PrepareAnalysisReportCompletedDate);\r\n var refdays = Math.floor((Date.UTC(conDate.getFullYear(), conDate.getMonth(), conDate.getDate()) - Date.UTC(refDate.getFullYear(), refDate.getMonth(), refDate.getDate())) / (1000 * 60 * 60 * 24));\r\n this.saleprocesshistory.NoOfDays = refdays.toString().replace('-', '');;\r\n }\r\n if (element.SaleStage == \"Demonstration\") {\r\n this.saleprocesshistory.MdlogicdemonstrationCompletedDate = element.completeddate;\r\n this.saleprocesshistory.DemonstrationStatus = element.status;\r\n var demDate = new Date(this.saleprocesshistory.MdlogicdemonstrationCompletedDate);\r\n var demanstartiondays = Math.floor((Date.UTC(conDate.getFullYear(), conDate.getMonth(), conDate.getDate()) - Date.UTC(demDate.getFullYear(), demDate.getMonth(), demDate.getDate())) / (1000 * 60 * 60 * 24));\r\n this.saleprocesshistory.NoOfDays = demanstartiondays.toString().replace('-', '');\r\n }\r\n if (element.SaleStage == \"Lead Status\") {\r\n element.status = \"Open\";\r\n element.completeddate = \"\";\r\n \r\n }\r\n }\r\n else {\r\n if (dup.length == 1 && SalesHistory.status == null && element.SaleStage == \"IPC\") {\r\n element.id = SalesHistory.id;\r\n var IPC = this.allSalesStages.filter(ele => ele.SaleStage == \"IPC\")[0];\r\n }\r\n\r\n }\r\n \r\n\r\n });\r\n\r\n });\r\n }\r\n else {\r\n var IPC = this.allSalesStages.filter(ele => ele.SaleStage == \"IPC\")[0];\r\n \r\n }\r\n \r\n //this.initializeAddLeadStageAgGrid();\r\n });\r\n\r\n\r\n }\r\n\r\n AddNewOpportunity() {\r\n //this.Showtrigger = !this.Showtrigger;\r\n this.NewProposalPage = true;\r\n this.CreateProposalPageCss(\"CreateProposalPage\");\r\n this.outPropsEvent.emit();\r\n\r\n }\r\n CloseProposalPage(msg) { }\r\n CreateProposalPageCss(val) { \r\n setTimeout(function () {\r\n $('#CreateProposalPage .dialog').attr('style', 'width: 88%;padding: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 86%;top: 10%;right: 0;left: 10%;max-width: 100% !important;');\r\n }, 4)\r\n }\r\n Resetfields() {\r\n this.opportunities.item = null;\r\n this.opportunities.PC = null;\r\n this.opportunities.drs = null;\r\n this.opportunities.midlevels = null;\r\n this.opportunities.leadfromid = null;\r\n this.taskhistory.type = null;\r\n this.opportunities.ownerid = this.currentuser.id;\r\n }\r\n\r\n cancelLead() {\r\n //this.allSalesStages = null;\r\n this.notes.notedescription = \"\";\r\n this.saleprocesshistory.ownerid = this.currentuser.id;\r\n //this.showsalesDialog = false;\r\n }\r\n\r\n CancelOpportunity() {\r\n this.opportunityDialog = !this.opportunityDialog;\r\n document.getElementById('TaskButton').style.display = 'block';\r\n document.getElementById('LeadsDiv').style.display = 'block';\r\n document.getElementById('Saleprocess').style.display = 'block';\r\n document.getElementById('OpportunityDiv').style.display = 'none';\r\n this.hideSalesSaveBtn = true;\r\n\r\n }\r\n loadDropDowns() {\r\n this.opprtunityservice.GetAllItems().then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.opprtunityitemlist = items;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"ProbabiltyClose\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.pclist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"Drs\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.drlist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"Midlevels\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.midlevelslist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"LeadFrom\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.leadfromlist = pc;\r\n });\r\n this.customerService.GetLoggedinUserList(this.currentuser.id, this.currentuser.systemadministrator).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.OwnerList = Owner;\r\n });\r\n }\r\n completeForm() {\r\n }\r\n completedDate() {\r\n }\r\n handleEnterKeyPress(e) {\r\n }\r\n optionSelected() {\r\n }\r\n disableTextBox(item) {\r\n }\r\n addNotes() {\r\n }\r\n delete(val, status) {\r\n this.DealStatus = status;\r\n $('#statusdiv .btn').removeClass(\"noprovider\");\r\n if (status == \"DEAL WON\") {\r\n $(\"#Won\").addClass(\"noprovider\");\r\n\r\n //document.getElementById('Leadsale').className = 'btn changeActive mainactiveButton';\r\n\r\n } else if (status == \"Pending\") {\r\n $(\"#Pending\").addClass(\"noprovider\");\r\n\r\n // document.getElementById('Leadsale').className = 'btn changeActive mainactiveButton';\r\n }\r\n else {\r\n $(\"#Lost\").addClass(\"noprovider\");\r\n }\r\n\r\n }\r\n SaleStatus() {\r\n\r\n this.MdlogicDemoDialog = !this.MdlogicDemoDialog\r\n document.getElementById('SaleProcessForm').style.display = 'none';\r\n document.getElementById('DealwonorLastDiv').style.display = 'block';\r\n //document.getElementById('Leadsale').className = 'btn changeActive mainactiveButton';\r\n this.SaveSaleProcessHistory(\"\");\r\n }\r\n\r\n //selectedStageCompleted(id) {\r\n // if (this.salesSelectedId > 0) {\r\n // if (id == 'yes') {\r\n // if (this.saleprocesshistory.id == undefined || this.saleprocesshistory.id == 0) {\r\n // //document.getElementById('DateComp').style.display = 'none';\r\n // }\r\n // else {\r\n // //this.HideNShowSelectedStatus(id);\r\n // }\r\n // }\r\n // else {\r\n // //this.HideNShowSelectedStatus(id);\r\n // }\r\n // } else if (this.salesstageid > 0) {\r\n // if (id == 'yes') {\r\n // if (this.salesstageid == undefined || this.salesstageid == 0) {\r\n // //document.getElementById('DateComp').style.display = 'none';\r\n // //document.getElementById('leadnotes').style.display = 'none';\r\n // }\r\n // else\r\n // //this.HideNShowSelectedStatus(id);\r\n // }\r\n // else\r\n // //this.HideNShowSelectedStatus(id);\r\n // }\r\n // else {\r\n // this.saleprocesshistory.status = null;\r\n // document.getElementById('DateComp').style.display = 'none';\r\n // // document.getElementById('leadnotes').style.display = 'none';\r\n // }\r\n //}\r\n //HideNShowSelectedStatus(id) {\r\n // if (id == 'yes') {\r\n // this.saleprocesshistory.status = id;\r\n // //document.getElementById('DateComp').style.display = 'block';\r\n // //$('#saveButtonDiv').attr('style', ' border: none; width: 62%; background: gray;')\r\n // //document.getElementById('leadnotes').style.display = 'none';\r\n\r\n // } else if (id == 'no') {\r\n // //document.getElementById('leadnotes').style.display = 'block';\r\n // //document.getElementById('DateComp').style.display = 'none';\r\n // //$('#saveButtonDiv').attr('style', 'border: none; width: 62%; background: gray;')\r\n // this.saleprocesshistory.status = id;\r\n // }\r\n // else {\r\n // document.getElementById('completeStage').style.display = 'block';\r\n // // document.getElementById('leadnotes').style.display = 'none';\r\n // this.saleprocesshistory.status = null;\r\n // this.saleprocesshistory.completeddate = null;\r\n // //document.getElementById('DateComp').style.display = 'none';\r\n // //$('#saveButtonDiv').attr('style', 'border: none; width: 62%; background: gray;')\r\n // }\r\n //}\r\n //changestatus(id, status) {\r\n\r\n //$(\".OpportunityactiveButton\").addClass(\"c-button\");\r\n //$(\".OpportunityactiveButton\").removeClass(\"OpportunityactiveButton\");\r\n //this.DealStatus = status;\r\n //this.hideSalesSaveBtn = true;\r\n //if (status == \"DEAL WON\") {\r\n //$(\"#changeWon\").removeClass(\"c-button\");\r\n //$(\"#changeWon\").addClass(\"OpportunityactiveButton\");\r\n // document.getElementById('Leadsale').className = 'btn changeActive mainactiveButton';\r\n //} else if (status == \"Pending\") {\r\n //this.saleprocesshistory.dealwonOrlost = 'Pending';\r\n //$(\"#changePending\").removeClass(\"c-button\");\r\n //$(\"#changePending\").addClass(\"OpportunityactiveButton\");\r\n // document.getElementById('Leadsale').className = 'btn changeActive mainactiveButton';\r\n //}\r\n //else {\r\n //this.saleprocesshistory.dealwonOrlost = 'Completed';\r\n //$(\"#changeLost\").removeClass(\"c-button\");\r\n //$(\"#changeLost\").addClass(\"OpportunityactiveButton\");\r\n\r\n //}\r\n //this.hideSalesSaveBtn = true;\r\n //}\r\n //isSaveDisabled() {\r\n // return $('#completeStage').css('display') != 'none';\r\n //}\r\n onTaskSaved(msg) {\r\n //if (msg != \"Header\") {\r\n this.taskDialog = !this.taskDialog;\r\n //}\r\n\r\n }\r\n\r\n openDisplaynotes(params) {\r\n $('#closeDetailsDialog').click();\r\n\r\n // this.notes.notedescription = params.value;\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n\r\n //$('#showDetailsDialog').width(showDialogWidth);\r\n //$('#showDetailsDialog').height(notesHeight - 140);\r\n //if ($('#typeClicked').val() == 'modal') {\r\n if (selfObj.isModal) {\r\n //$('#showDetailsDialog').css('top', '23%');\r\n //$('#showDetailsDialog').css('height', '49%');\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth + 26);\r\n //$('#showDetailsDialog').css('top', notesOffset.top + 93);\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtLongNoteDesc').css('overflow', 'auto');\r\n }\r\n } else {\r\n //var url = window.location.href;\r\n //if ((url).indexOf('account-contact') > -1) {\r\n // $('#showDetailsDialog').css('top', '62%');\r\n //} else {\r\n // $('#showDetailsDialog').css('top', '72%');\r\n //}\r\n var gridOffset = $(\"#notesGrid\").offset();\r\n //$('#showDetailsDialog').css('top', gridOffset.top);\r\n //$('#showDetailsDialog').css('height', '30%');\r\n //$('#showDetailsDialog').css('left', '69%');\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n }\r\n //$('#showDetailsDialog').css('border-radius', '4px');\r\n //$('#showDetailsDialog').css('border', '3px solid');\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n //if ($(\"#btnEditNote\").text() == \"Edit Note\") {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n\r\n }\r\n saveEditedNote() {\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.GetAllLeadNotes(selfObj.conid, 'Lead');\r\n if (selfObj.conid != null && selfObj.conid != undefined) {\r\n selfObj.GetAllLeadNotes(selfObj.conid, 'Lead');\r\n }\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n }\r\n\r\n createColumnDefs(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'estimatedclosedate', headerName: 'ECD', hide: false, width: 110 },\r\n { field: 'itemName', headerName: 'Proposal Type', hide: false, width: 200 },\r\n { field: 'dollers', headerName: 'Price', hide: false, width: 120 },\r\n { field: 'RR', headerName: 'Monthly', hide: false, width: 120 },\r\n ];\r\n\r\n }\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 31).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n\r\n }\r\n\r\n SaveOpportunity() {\r\n this.customerService.attachtoLead(this.opportunityId).then((user) => {\r\n this.applicationComponent.ClosedLeads('Forecasting', this.currentuser.id, 'Forecasting');\r\n this.opportunityId = 0;\r\n });\r\n }\r\n CancelselectedOpportunity() {\r\n this.Showtrigger = false;\r\n\r\n }\r\n AccountInfo() {\r\n // this.applicationComponent.ExpandSelectedMenu('Account');\r\n //$(\".subButtons\").removeClass(\"activeButton\");\r\n //$('#allaccount_button').addClass(\"activeButton\");\r\n //this.router.navigateByUrl(`/application/account-contact/all/show${this.account.id}`);\r\n \r\n //localStorage.setItem('RhxAccountVal', (this.account.id).toString());\r\n //let SO = this;\r\n //$(setTimeout(function () {\r\n // SO.applicationComponent.activateSubButtons('empty');\r\n // $(setTimeout(function () {\r\n // SO.router.navigateByUrl(`/application/account/Accounts`);\r\n // SO.applicationComponent.ExpandSelectedMenu('Accounts');\r\n // $(\".subButtons\").removeClass(\"activeButton\");\r\n // SO.applicationComponent.selectedtabid = 'Customer';\r\n // }, 100));\r\n //}, 50));\r\n\r\n localStorage.setItem('RhxContactVal', (this.contact.id).toString());\r\n\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }, 50));\r\n\r\n\r\n }\r\n onCloseDialogEventReceived(val) {\r\n this.saleprocesshistory.notesDescription = null;\r\n if (val == 'false') {\r\n this.notesshowDialog = false;\r\n this.isModal = false;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n GetAllSalesStage(contactid) {\r\n this.leadservice.GetAllSalesStage(this.currentuser.id).then(result => {\r\n this.allSalesStages = result;\r\n \r\n let SO = this;\r\n setTimeout(function () {\r\n SO.SalesProcessHistory(contactid);\r\n SO.GetCompletedStage(contactid);\r\n SO.initializeAddLeadStageAgGrid();\r\n \r\n },500)\r\n\r\n });\r\n }\r\n\r\n SalesStageNote(SalesStage) {\r\n this.saleprocesshistory.notesDescription = SalesStage.notesDescription;\r\n this.SelectedStage = SalesStage;\r\n this.LeadStageNote = true;\r\n this.LeadStageNoteCss();\r\n }\r\n LeadStageNoteCss() {\r\n setTimeout(function () {\r\n $('#LeadStageNote .dialog').attr('style', 'width: 50%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 63 %;overflow: auto;height: 72%;padding: 0;');\r\n }, 4)\r\n\r\n }\r\n SelectedSaleStage(Obj, Event) {\r\n if (Obj.completeddate != null) {\r\n this.DateSelection = true;\r\n }\r\n this.StatusSelection = true;\r\n var status = Event.target.options[Event.target.selectedIndex].label;\r\n this.saleprocesshistory.status = status;\r\n this.saleprocesshistory.salesstage = Obj.SaleStage;\r\n this.saleprocesshistory.notesDescription = Obj.notesDescription;\r\n this.saleprocesshistory.id = Obj.id;\r\n\r\n if (Obj.TriggerType != null && status === \"Completed\") {\r\n this.Showtrigger = true;\r\n this.SelectedOpportunityCount = true;\r\n this.ShowtriggerDialogCss();\r\n this.GetOpportunity(this.salesstageid);\r\n }\r\n else if (status == 'Pending') {\r\n this.SalesStageNote(Obj)\r\n }\r\n return this.saleprocesshistory;\r\n }\r\n DateSelected(obj, event) {\r\n if (this.saleprocesshistory.status != null && this.saleprocesshistory.status != undefined) {\r\n this.StatusSelection = true;\r\n }\r\n this.DateSelection = true;\r\n //this.saleprocesshistory.status = obj.status;\r\n this.saleprocesshistory.completeddate = event.target.value;\r\n this.saleprocesshistory.salesstage = obj.SaleStage;\r\n this.saleprocesshistory.notesDescription = obj.notesDescription;\r\n this.saleprocesshistory.id = obj.id;\r\n }\r\n GetOpportunity(salesid) {\r\n this.leadservice.GetBySalesProcessHistoryById(salesid).then(result => {\r\n if (result != null) {\r\n this.opprtunityservice.GetAllOpportunitiesListByAccountorContact(result.contactid, 'Opt').then((customer) => {\r\n customer.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n });\r\n this.Allopportunities = customer;\r\n this.itemCount = this.Allopportunities.length;\r\n\r\n });\r\n this.initializeAgGrid();\r\n }\r\n\r\n });\r\n\r\n }\r\n ShowtriggerDialogCss() {\r\n setTimeout(function () {\r\n $(setTimeout(function () {\r\n $('#Showtrigger .dialog').attr('style', 'width: 35%;padding-bottom: 0px;border: 1px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 82.5%;padding: 0;top: 10%;left: 63%;');\r\n }, 100));\r\n //$('#Showtrigger .dialog').attr('style', 'width: 42%;padding: 0;border: 4px solid rgb(117, 218, 51);min-height: 30%;overflow: auto;height: 35%;left: 54%;top: 60%;');\r\n }, 4)\r\n }\r\n onSelectionChanged(event) {\r\n var total = event.api.getSelectedNodes().length;\r\n if (total > 0) {\r\n this.SelectedOpportunityCount = false;\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.SelectedOpportunities = event.api.getSelectedNodes()[0].data;\r\n var text = this.SelectedOpportunities.estimatedclosedate + \" \" + this.SelectedOpportunities.itemName + \" \" + (\"$\" + (Number(this.SelectedOpportunities.dollers)).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,')) + \" \" + (\"$\" + (Number(this.SelectedOpportunities.RR)).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n this.SelectedOpportunity = text;\r\n }\r\n }\r\n }\r\n SaveOpportunityForStage() {\r\n this.Showtrigger = !this.Showtrigger;\r\n this.saleprocesshistory.OpportunityID = this.SelectedOpportunities.id;\r\n }\r\n SaveNote(SelectedStage) {\r\n this.saleprocesshistory.notesDescription = this.saleprocesshistory.notesDescription;\r\n this.allSalesStages.forEach(ele => {\r\n if (ele.SalesStageID == SelectedStage.SalesStageID) {\r\n ele.notesDescription = this.saleprocesshistory.notesDescription;\r\n ele.completeddate = this.saleprocesshistory.completeddate;\r\n ele.status = this.saleprocesshistory.status;\r\n }\r\n });\r\n this.LeadStageNote = false;\r\n this.initializeAddLeadStageAgGrid();\r\n }\r\n CancelNote() {\r\n this.LeadStageNote = false;\r\n }\r\n EventEmit() {\r\n this.NewProposalPage = false;\r\n this.Showtrigger = !this.Showtrigger;\r\n this.SelectedOpportunityCount = true;\r\n this.ShowtriggerDialogCss();\r\n this.GetOpportunity(this.salesstageid);\r\n }\r\n\r\n addContact() {\r\n //if (this.practiceid == \"view\") {\r\n // this.applicationComponent.isAccessDenied = true;\r\n //} else {\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Contacts\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.clear();\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n //}\r\n }\r\n AccountsharingAg(selectedval) {\r\n //if (this.practiceid == \"view\") {\r\n // this.applicationComponent.isAccessDenied = true;\r\n //} else {\r\n\r\n if (selectedval == \"Edit\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else if (selectedval == \"View\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else {\r\n this.isSharing = true;\r\n this.rightMainDivHideShow = false;\r\n this.accountSharingid = 1;\r\n this.AddContacttableDiv = false;\r\n this.ownrshipComp.loadAccountInformation(this.account.id, 0);\r\n }\r\n //}\r\n\r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n //this.GetAllProviderAndContactInfo(this.account.id)\r\n }\r\n btnClickReceived(event) {\r\n \r\n if (event.btnName == 'addContact') {\r\n this.addContact();\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n //this.openAccountNotes();\r\n } else if (event.btnName == 'AccountInfo') {\r\n this.AccountInfo();\r\n }\r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n\r\n initializeAddLeadStageAgGrid() {\r\n this.AddLeadStagegridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: false, toolPanelSuppressPivotMode: false, toolPanelSuppressValues: false, rowSelection: 'Single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n this.createAddStageColumnDefs();\r\n }\r\n\r\n createAddStageColumnDefs() {\r\n \r\n let sObj = this;\r\n const DateCellRenderer = function () { };\r\n DateCellRenderer.prototype = {\r\n init: function (params) {\r\n this.DateactionsButton = document.createElement('div');\r\n var DateField = document.createElement(\"input\");\r\n DateField.type = 'date';\r\n DateField.value = params.data.completeddate;\r\n DateField.id = 'CD' + params.data.SalesStageID;\r\n DateField.className = 'form-control';\r\n DateField.setAttribute('style', 'padding:0px;font-size:12px;background-color: white;opacity: 1;border:none');\r\n DateField.disabled = ((params.data.status !== 'Completed' && params.data.status !== 'Skipped' && params.data.status !== 'Pending' && params.data.status !== 'Won' && params.data.status !== 'Lost' && params.data.SaleStage !== 'IPC' ) ? true : false);\r\n this.DateactionsButton.appendChild(DateField);\r\n this.DateactionsButton.addEventListener('change', function ($event) {\r\n sObj.DateSelected(params.data, $event);\r\n });\r\n },\r\n getGui: function () {\r\n return this.DateactionsButton;\r\n },\r\n refresh: function () {\r\n return true;\r\n },\r\n destroy: function () {\r\n $(this.DateactionsButton).remove();\r\n },\r\n }\r\n\r\n const StatusCellRenderer = function () { };\r\n StatusCellRenderer.prototype = {\r\n init: function (params) {\r\n this.StatusactionsButton = document.createElement('div');\r\n var eSelect = document.createElement(\"select\");\r\n eSelect.setAttribute('class', 'custom-select form-control');\r\n eSelect.setAttribute('style', 'padding:0px;font-size:12px;background-color: white;opacity: 1;border:none');\r\n eSelect.setAttribute('name', params.colDef.field);\r\n eSelect.setAttribute('id', 'Status' + params.data.SalesStageID);\r\n eSelect.disabled = ((params.data.status !== 'Completed' && params.data.status !== 'Skipped' && params.data.status !== '' && params.data.SaleStage !== 'IPC') ? true : false);\r\n var eOption = document.createElement(\"option\");\r\n eOption.text = \"Select\";\r\n eOption.value = \"\";\r\n eSelect.appendChild(eOption);\r\n\r\n if (params.colDef.field == \"status\") {\r\n if (params && params.data && params.data.StatusItems && params.data.StatusItems.length > 0) {\r\n params.data.StatusItems.forEach((customer) => {\r\n var eOption = document.createElement(\"option\");\r\n eOption.text = customer.StatusItemName;\r\n eOption.value = customer.StatusItemName;\r\n eOption.selected = (customer.StatusItemName == params.data.status) ? true : false;\r\n eSelect.appendChild(eOption);\r\n });\r\n \r\n }\r\n this.StatusactionsButton.appendChild(eSelect);\r\n eSelect.addEventListener('change', function ($event) {\r\n var res = sObj.SelectedSaleStage(params.data, $event);\r\n });\r\n }\r\n },\r\n getGui: function () {\r\n return this.StatusactionsButton;\r\n },\r\n refresh: function () {\r\n return true;\r\n },\r\n destroy: function () {\r\n $(this.StatusactionsButton).remove();\r\n },\r\n }\r\n\r\n this.documentscolumnDefs = [\r\n {\r\n field: '#', headerName: '#', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.style.textAlign = 'center';\r\n eDiv.style.alignContent = 'center';\r\n if (params.data.status == 'Completed' || params.data.status == 'Skipped' || params.data.status == 'Won' || params.data.status == 'Lost' || params.data.status == 'Pending') {\r\n eDiv.innerHTML = ''\r\n } else {\r\n eDiv.innerHTML = ''\r\n }\r\n \r\n //var checkbox = document.createElement(\"input\");\r\n //checkbox.type = 'checkbox';\r\n //checkbox.id = 'TG' + params.data.SalesStageID;\r\n //checkbox.checked = ((params.data.status == 'Completed' || params.data.status == 'Skipped' || params.data.status == 'Won' || params.data.status == 'Lost' || params.data.status == 'Pending' ) ? true : false);\r\n //checkbox.disabled = ((params.data.status !== 'Completed' && params.data.status !== 'Skipped' && params.data.status !== 'Won' && params.data.status !== 'Lost' && params.data.status !== 'Pending' ) ? true : false);\r\n //eDiv.appendChild(checkbox);\r\n return eDiv;\r\n\r\n }, hide: false, width: 35, suppressMenu: true,\r\n\r\n },\r\n \r\n {\r\n field: 'SaleStage', headerName: 'Sales Stage', hide: false, width: 120, suppressMenu: true, cellRenderer(params) {\r\n var label = document.createElement('span');\r\n if (params.data.status == 'Completed' || params.data.status == 'Skipped' || params.data.status == '' || params.data.status == 'Won' || params.data.status == 'Lost' || params.data.status == 'Pending' || params.data.SaleStage == 'IPC'){\r\n label.innerHTML = '';\r\n } else {\r\n label.innerHTML = '';\r\n }\r\n \r\n\r\n return label;\r\n }\r\n },\r\n { field: 'status', headerName: 'Status', hide: false, cellRenderer: StatusCellRenderer, width: 100, suppressMenu: true, },\r\n { field: 'completeddate', headerName: 'Date', hide: false, cellRenderer: DateCellRenderer, width: 120, suppressMenu: true, suppressSizeToFit: false },\r\n //{\r\n // field: 'notes', headerName: 'Notes', cellRenderer(params) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.style.textAlign = 'center';\r\n // eDiv.style.alignContent = 'center';\r\n // if (params.data.notesDescription == undefined || params.data.notesDescription == null || params.data.notesDescription == '') {\r\n // eDiv.innerHTML = ''\r\n // eDiv.addEventListener('click', function () {\r\n // selfObj.SalesStageNote(params.data);\r\n // });\r\n // return eDiv;\r\n // } else if (params.data.notesDescription !== undefined || params.data.notesDescription !== null) {\r\n // {\r\n // eDiv.innerHTML = '';\r\n // }\r\n\r\n // eDiv.addEventListener('click', function () {\r\n // selfObj.SalesStageNote(params.data);\r\n // });\r\n // return eDiv;\r\n // }\r\n // }, hide: false, width: 70, suppressMenu: true,\r\n\r\n //}\r\n ];\r\n }\r\n\r\n SaveHistory() {\r\n this.SaveLeadDialog = true;\r\n this.applicationComponent.salesxcrmDialog('#SaveLeadDialog .dialog');\r\n //setTimeout(function () {\r\n // $('#SaveLeadDialog .dialog').attr('style', 'width: 31%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%;right:68px;');\r\n //}, 4)\r\n }\r\n\r\n ExpandPDF(val) {\r\n this.notesshowDialog = true;\r\n this.QuickViewDialogCss(val);\r\n this.DocExpandView = val;\r\n }\r\n QuickViewDialogCss(val) {\r\n if (val == true) { //expand\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n }\r\n\r\n}\r\n","
      \r\n \r\n \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      Display Commission Estimator
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n LEADS \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n Edit\r\n Save\r\n
      \r\n
      \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, ViewContainerRef, ElementRef, Renderer2, ViewChild, Optional, Input } from '@angular/core';\r\nimport { LeadsService } from '../../../services/leads.service'\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { DatePipe } from '@angular/common';\r\nimport { PageComponent } from '../../page/page.component';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { Contacts } from '../../../models/contacts';\r\nimport { SalesProcessHistory } from '../../../models/sales-process-history';\r\nimport { Accounts } from '../../../models/accounts';\r\nimport { Notes } from '../../../models/notes';\r\nimport { ToastrService } from 'ngx-toastr';;\r\nimport { ParentComp, UserlistComponent } from \"../../userlist/userlist.component\";\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../../notesrenderer/notesrenderer.component';\r\nimport { Dashboardconfiguration } from '../../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport * as moment from 'moment'\r\nimport { LeadsComponent } from '../leads.component';\r\nimport { Dropdowntype, Dropdown } from '../../../models/dropdowntype';\r\nimport { NotesComponent } from '../../notes/notes.component';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { AuditLogModel } from '../../../models/auditlog';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-leadsdashboard',\r\n templateUrl: './leadsdashboard.component.html',\r\n styleUrls: ['./leadsdashboard.component.css']\r\n})\r\nexport class LeadsdashboardComponent implements OnInit {\r\n items = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n itemCount = 0;\r\n itemResource: any;\r\n params: any;\r\n inputName: string = ''; value = \"\";\r\n columnSelections: string;\r\n Ids = [];\r\n dialogOpen: boolean = false;\r\n FeeAmountdiv: boolean = false;\r\n noData: boolean = true;\r\n notesitemResource: any;\r\n notesitems = [];\r\n notesitemCount = 0;\r\n notesparams: any;\r\n showDialog = false;\r\n currentuser: any;\r\n dropdownList = [];\r\n finalitems = \"\";\r\n selectedItems = [];\r\n dropdownSetting = {};\r\n isModal: boolean = false;\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n notes: Notes = new Notes();\r\n notedescription: string; NotesDec = false;\r\n leadid: number;\r\n typ: string;\r\n contactid: number = 0;\r\n @Input()\r\n leadtype: string;\r\n selectedleadtype: string = null;\r\n accessDenied: boolean = false;\r\n thisComp: ParentComp = ParentComp.LeadsDash;\r\n isViewInitialized: boolean = false;\r\n isPgClickRegistered: boolean = false;\r\n ForcastDiv: boolean = false;\r\n LeadInformation: boolean = true;\r\n OpenProppage: boolean = false;\r\n addLead: boolean = false;\r\n public sideBar;\r\n isDisplayCommissionEstimator: boolean = false;\r\n public gridOptions: GridOptions;\r\n public gridOptionsnotes: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n public columnDefsnotes: any[];\r\n public contactProps: string[];\r\n pageSize: string = \"100\";\r\n Leadstatus: string;\r\n public context;\r\n public frameworkComponents;\r\n allLeads: SalesProcessHistory[];\r\n allnotes: Notes[];\r\n aggridheight: string;\r\n conid: number;\r\n LeadSelectedVal = \"Open & Stalled Leads\";\r\n\r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n LeadstatusList: Dropdowntype[] = [];\r\n @ViewChild(UserlistComponent) userListComp;\r\n @ViewChild(NotesComponent) notecomp;\r\n // @ViewChild(ForecastingComponent) forecastComp;\r\n @ViewChild(LeadsComponent) leadsComponent: LeadsComponent;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n calanderonoff: boolean = false;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n term: string = \"\";\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n timezonevalue: string;\r\n userInfo: string;\r\n isShowDetailsChecked: boolean = false;\r\n private gridApi;\r\n @Input()\r\n PageFrom: string;\r\n addLeadExpand: boolean = false;\r\n EnableSearch: boolean = false;\r\n constructor(private paginationcop: PageComponent, public applicationComponent: ApplicationComponent, private elementRef: ElementRef, private renderer: Renderer2, private opprtunityservice: OpprtunitiesService, private http: HttpClient, private LeadsService: LeadsService, private route: ActivatedRoute, private router: Router, private customerService: CustomerService, private toastr: ToastrService, private viewContainerRef: ViewContainerRef, private accountService: AccountsService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.route.params.subscribe(params => {\r\n this.contactid = params['contactid'];\r\n this.term = params['term'];\r\n this.leadtype = params['type']\r\n //this.leadid = params['type'];\r\n this.PageFrom = params['PageFrom'];\r\n\r\n if (this.selectedleadtype != null) {\r\n this.Generate($(\"#userids\").val());\r\n }\r\n });\r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\")));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu('leads');\r\n }\r\n this.viewContainerRef = viewContainerRef;\r\n // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 0, 0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n\r\n this.dropdownList = Owner;\r\n });\r\n }\r\n ngAfterViewInit(): void {\r\n var thiscomponent = this;\r\n setTimeout(function () { thiscomponent.ResizeTable(); }, 100);\r\n }\r\n LeadMsgReceived(msg) {\r\n this.OpenProppage = true;\r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single', suppressRowClickSelection: true\r\n };\r\n this.gridOptionsnotes.getRowHeight = function (params) {\r\n if (params.node.floating) {\r\n return 50;\r\n } else {\r\n return 100;\r\n }\r\n }\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(val) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } },\r\n\r\n ];\r\n\r\n }\r\n onAgGridReadynotes(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllnotes() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds);\r\n //this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds, \"autosizeColumns\");\r\n }\r\n\r\n }\r\n\r\n createColumnDefs(columnSelections: string) {\r\n var searcharray = [];\r\n var searcharray = [];\r\n if (this.gridOptions.quickFilterText != null && this.gridOptions.quickFilterText != undefined && this.gridOptions.quickFilterText != '') {\r\n searcharray.push(this.gridOptions.quickFilterText);\r\n }\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: this.PageFrom == 'dashboard' ? true : false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"salesstage\") {\r\n this.columnDefs.push({\r\n field: 'salesstage', headerName: 'Sales Stage', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, getQuickFilterText: () => '', width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if (params.data.status == 'Open' || params.data.status == 'Pending') { return { color: 'red' }; }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstname\") {\r\n this.columnDefs.push({\r\n field: 'firstname', headerName: 'First Name', getQuickFilterText: () => '', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastname\") {\r\n this.columnDefs.push({\r\n field: 'lastname', headerName: 'Last Name', getQuickFilterText: () => '',hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"account\") {\r\n this.columnDefs.push({\r\n field: 'account', headerName: 'Account Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accPhone\") {\r\n this.columnDefs.push({\r\n field: 'accPhone', headerName: 'Phone', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n })\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"nexttask\") {\r\n this.columnDefs.push({\r\n field: 'nexttask', headerName: 'Next Sales Stage', getQuickFilterText: () => '', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer(params) {\r\n if (params.data.salesstage === 'IPC') { return 'Analysis' }\r\n else if (params.data.salesstage === 'Analysis') { return 'Prepare Analysis Report' }\r\n else if (params.data.salesstage === 'Prepare Analysis Report') { return 'Review Analysis' }\r\n else if (params.data.salesstage === 'Review Analysis') { return 'Generate Proposal' }\r\n else if (params.data.salesstage === 'Generate Proposal') { return 'Justification Meeting' }\r\n else if (params.data.salesstage === 'Justification Meeting') { return 'Reference Calls' }\r\n else if (params.data.salesstage === 'Reference Calls') { return 'Demonstration' }\r\n else if (params.data.salesstage === 'Demonstration') { return 'Won-Lost-Pending' }\r\n }\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({\r\n field: 'status', headerName: 'Status', getQuickFilterText: () => '',hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle:\r\n function (params) {\r\n if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; }\r\n }, cellRenderer(params) {\r\n if (params.data.salesstage == 'MD Logic Demonstration' && params.data.status == 'Next Stage Pending') { return ' ' } else { return params.value; }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"leadstatus\") {\r\n this.columnDefs.push({\r\n field: 'leadstatus', headerName: 'Deal Won/Lost', getQuickFilterText: () => '', hide: false, cellRenderer(params) {\r\n if (params.data.Status == 'Won' || params.data.Status == 'Won') { return 'Closed' } else { return 'Open' }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', getQuickFilterText: () => '',hide: false, suppressSorting: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; } } });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, getQuickFilterText: () => '',\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n if (this.PageFrom == 'dashboard') {\r\n this.columnDefs = [\r\n {\r\n field: 'account', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'datecreated', headerName: 'Date Created', hide: false },\r\n\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'firstname', headerName: 'First Name', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n //{ field: 'middlename', headerName: 'Middle Name', hide: tr },\r\n\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n\r\n {\r\n field: 'salesstage', headerName: 'Sales Stage', hide: false, cellStyle: function (params) {\r\n if (params.data.status == 'Open' || params.data.status == 'Pending') { return { color: 'red' }; }\r\n }\r\n },\r\n {\r\n\r\n field: 'status', headerName: 'Status', hide: false, cellStyle:\r\n function (params) {\r\n if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; }\r\n }, cellRenderer(params) {\r\n if (params.data.salesstage == 'MD Logic Demonstration' && params.data.status == 'Next Stage Pending') { return ' ' } else { return params.value; }\r\n }\r\n\r\n },\r\n { field: 'datescheduled', headerName: 'Date Completed', hide: false }, //true starts here\r\n {\r\n field: 'nexttask', headerName: 'Next Sales Stage', hide: false, cellRenderer(params) {\r\n if (params.data.salesstage == 'IPC') { return 'Analysis' }\r\n else if (params.data.salesstage == 'Analysis') { return 'Prepare Analysis Report' }\r\n else if (params.data.salesstage == 'Prepare Analysis Report') { return 'Review Analysis' }\r\n else if (params.data.salesstage == 'Review Analysis') { return 'Generate Proposal' }\r\n else if (params.data.salesstage == 'Generate Proposal') { return 'Justification Meeting' }\r\n else if (params.data.salesstage == 'Justification Meeting') { return 'Reference Calls' }\r\n else if (params.data.salesstage == 'Reference Calls') { return 'Demonstration' }\r\n else if (params.data.salesstage == 'Demonstration') { return 'Won-Lost-Pending' }\r\n }\r\n },\r\n\r\n\r\n { field: 'owner', headerName: 'Owner', hide: false },\r\n\r\n\r\n {\r\n field: 'leadstatus', headerName: 'Deal Won/Lost', hide: false\r\n\r\n },\r\n //{ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: (this.PageFrom != 'dashboard') ? true : false , pinned: 'right' }\r\n\r\n ];\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'datecreated', headerName: 'Date Created', getQuickFilterText: () => '', hide: false },\r\n {\r\n field: 'account', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'accPhone', headerName: 'Phone', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastname', headerName: 'Last Name', getQuickFilterText: () => '',hide: false\r\n },\r\n {\r\n field: 'firstname', headerName: 'First Name', getQuickFilterText: () => '',hide: false\r\n },\r\n //{ field: 'middlename', headerName: 'Middle Name', hide: tr },\r\n\r\n { field: 'titleName', headerName: 'Title', getQuickFilterText: () => '',hide: false },\r\n\r\n {\r\n field: 'salesstage', headerName: 'Sales Stage', getQuickFilterText: () => '',hide: false, cellStyle: function (params) {\r\n if (params.data.status == 'Open' || params.data.status == 'Pending') { return { color: 'red' }; }\r\n }\r\n },\r\n {\r\n\r\n field: 'status', headerName: 'Status', getQuickFilterText: () => '', hide: false, cellStyle:\r\n function (params) {\r\n if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; }\r\n }, cellRenderer(params) {\r\n if (params.data.salesstage == 'MD Logic Demonstration' && params.data.status == 'Next Stage Pending') { return ' ' } else { return params.value; }\r\n }\r\n\r\n },\r\n { field: 'datescheduled', headerName: 'Date Completed', getQuickFilterText: () => '',hide: false }, //true starts here\r\n {\r\n field: 'nexttask', headerName: 'Next Sales Stage', getQuickFilterText: () => '',hide: false, cellRenderer(params) {\r\n if (params.data.salesstage == 'IPC') { return 'Analysis' }\r\n else if (params.data.salesstage == 'Analysis') { return 'Prepare Analysis Report' }\r\n else if (params.data.salesstage == 'Prepare Analysis Report') { return 'Review Analysis' }\r\n else if (params.data.salesstage == 'Review Analysis') { return 'Generate Proposal' }\r\n else if (params.data.salesstage == 'Generate Proposal') { return 'Justification Meeting' }\r\n else if (params.data.salesstage == 'Justification Meeting') { return 'Reference Calls' }\r\n else if (params.data.salesstage == 'Reference Calls') { return 'Demonstration' }\r\n else if (params.data.salesstage == 'Demonstration') { return 'Won-Lost-Pending' }\r\n }\r\n },\r\n\r\n\r\n { field: 'owner', headerName: 'Owner', getQuickFilterText: () => '',hide: false },\r\n\r\n { field: 'completeduser', headerName: 'Completed By', getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'leadstatus', headerName: 'Deal Won/Lost', getQuickFilterText: () => '',hide: false\r\n\r\n },\r\n //{ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: (this.PageFrom != 'dashboard') ? true : false , pinned: 'right' }\r\n\r\n ];\r\n }\r\n var tooltipRenderer = function (params) {\r\n return '' + params.value + '';\r\n };\r\n }\r\n }\r\n //onAgGridReady(event) {\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // }, 100));\r\n // }, 100));\r\n //}\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n\r\n this.currentPage = 1;\r\n this.pageSize = pageSize;\r\n this.ClosedLeads(this.selectedleadtype, $(\"#userids\").val(), this.term, this.currentPage, this.pageSize);\r\n //this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n initializeAgGrid() {\r\n var searchstring = this.applicationComponent.searchstring;\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let gridconfigval = this.PageFrom == 'dashboard' ? 62 : 6;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 6).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n this.columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(this.columnSelections);\r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString();\r\n this.UpdateSearchColumns(this.columnSelections);\r\n this.applicationComponent.SearchColumnList = [];\r\n let allCols: string[] = this.columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && fields[1] != '#') {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (selfObj.leadid != null && selfObj.leadid != undefined && node.data.id == selfObj.leadid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n\r\n }\r\n OnselectionChanged(event) {\r\n if (this.PageFrom != 'dashboard') {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n var data = event.api.getSelectedNodes()[0].data;\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n if (selfobj.leadsComponent) {\r\n selfobj.leadsComponent.GetBySalesProcessHistoryById(data.id);\r\n }\r\n selfobj.SalesDialogCss();\r\n\r\n selfobj.contactid = selfobj.conid = data.contactid;\r\n selfobj.leadid = data.id;\r\n if (selfobj.leadsComponent) {\r\n selfobj.leadsComponent.LoadSalesData(selfobj.contactid, selfobj.leadid);\r\n }\r\n if (selfobj.leadsComponent) {\r\n selfobj.leadsComponent.GetAllLeadNotes(data.contactid, 'Lead');\r\n }\r\n\r\n }, 500));\r\n\r\n\r\n\r\n }\r\n\r\n } else {\r\n this.leadsComponent.showsalesDialog = false;\r\n }\r\n }\r\n }\r\n\r\n SalesDialogCss() {\r\n $(setTimeout(function () {\r\n $('#showsalesDialog .dialog').attr('style', 'width: 35%;padding-bottom: 0px;border: 1px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 82.5%;padding: 0;top: 10%;left: 63%;');\r\n }, 100));\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if (this.PageFrom != 'dashboard') {\r\n if ((this.Ids).indexOf(rowEvent.data.contactid) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.contactid);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('');\r\n }\r\n else {\r\n this.Ids.push(rowEvent.data.contactid);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('Contact');\r\n\r\n this.addLead = true;\r\n let str = localStorage.getItem('redirectfrom');\r\n if (str == 'dashboard') {\r\n this.contactid = parseInt(localStorage.getItem('leadContactId'));\r\n this.leadid = parseInt(localStorage.getItem('leadId'));\r\n localStorage.setItem('leadContactId', '');\r\n localStorage.setItem('redirectfrom', '');\r\n }\r\n else {\r\n this.contactid = rowEvent.data.contactid;\r\n this.leadid = rowEvent.data.id;\r\n } \r\n }\r\n var obj: AuditLogModel = { id: 0, type: 'Leads', action: 'Leads Viewed', AccountOrContactId: rowEvent.data.contactid, AccountOrContact: \"Contact\", documentid: rowEvent.data.id, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Leads Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n }\r\n \r\n rowDoubleClickAgGrid(rowEvent) {\r\n if (this.PageFrom == 'dashboard') {\r\n this.conid = rowEvent.data.contactid;\r\n localStorage.setItem('leadContactId', rowEvent.data.contactid);\r\n localStorage.setItem('leadId', rowEvent.data.id);\r\n localStorage.setItem('redirectfrom', 'dashboard');\r\n this.router.navigateByUrl(`/application/leadsdashboard/0/0/null`);\r\n this.applicationComponent.ExpandSelectedMenu('leads');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n this.applicationComponent.selectedtabid = 'leads';\r\n //this.applicationComponent.activateMainButtons('leads');\r\n //if (rowEvent.api.getSelectedNodes()[0].data) {\r\n // var data = rowEvent.api.getSelectedNodes()[0].data;\r\n // let selfobj = this;\r\n // $(setTimeout(function () {\r\n // if (selfobj.leadsComponent) {\r\n // selfobj.leadsComponent.GetBySalesProcessHistoryById(data.id);\r\n // }\r\n // selfobj.SalesDialogCss();\r\n\r\n // selfobj.contactid = selfobj.conid = data.contactid;\r\n // selfobj.leadid = data.id;\r\n // if (selfobj.leadsComponent) {\r\n // selfobj.leadsComponent.LoadSalesData(selfobj.contactid, selfobj.leadid);\r\n // }\r\n // if (selfobj.leadsComponent) {\r\n // selfobj.leadsComponent.GetAllLeadNotes(data.contactid, 'Lead');\r\n // }\r\n\r\n // }, 500));\r\n\r\n\r\n\r\n //}\r\n }\r\n else {\r\n \r\n this.EnableSearch = false;\r\n if (rowEvent.data) {\r\n this.conid = rowEvent.data.contactid;\r\n }\r\n let str = localStorage.getItem('redirectfrom');\r\n if (str == 'dashboard') {\r\n this.contactid = parseInt(localStorage.getItem('leadContactId'));\r\n this.leadid = parseInt(localStorage.getItem('leadId'));\r\n localStorage.setItem('leadContactId', '');\r\n localStorage.setItem('leadId', '');\r\n localStorage.setItem('redirectfrom', '');\r\n }\r\n //else {\r\n this.contactid = rowEvent.data.contactid;\r\n this.leadid = rowEvent.data.id;\r\n // }\r\n \r\n\r\n //this.HideandShowstyles('Lead');\r\n // this.leadsComponent.HideAdnShow(rowEvent.data.contactid);\r\n }\r\n this.addLead = true;\r\n }\r\n //onmessageReceived(msg) {\r\n\r\n // if ($.isNumeric(msg)) {\r\n // this.leadsComponent.HideAdnShow(msg);\r\n // this.HideandShowstyles('Lead');\r\n // }else {\r\n // this.LeadSelectedVal = msg;\r\n // }\r\n //}\r\n HideandShowstyles(type) {\r\n this.ForcastDiv = false;\r\n this.leadtype = type;\r\n if (type == 'Lead') {\r\n this.LeadInformation = false;\r\n this.addLead = true;\r\n\r\n } else {\r\n\r\n this.addLead = false;\r\n this.LeadInformation = true;\r\n\r\n }\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('#showDialog .dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 100));\r\n }\r\n openNotesDialogAg(rowdata) {\r\n\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.isModal = true;\r\n selfobj.conid = rowdata.contactid;\r\n selfobj.showDialog = !selfobj.showDialog;\r\n selfobj.NotesDialogCss();\r\n\r\n }, 300));\r\n\r\n }\r\n\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && (fields[1] != '#' && fields[0] != 'notes')) {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n //this.applicationComponent.ShowSearchTabs('True');\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n\r\n if (retrievedObject != null) {\r\n\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n\r\n if (element.subtab == 'Open Leads' && this.applicationComponent.closedLeadVal == 'Open') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n //if (this.applicationComponent.SearchSelectedItemsLengthChanged == true) {\r\n // this.applicationComponent.showSearchTabsSubTabs = false;\r\n //}\r\n //else {\r\n // this.applicationComponent.showSearchTabsSubTabs = true;\r\n //}\r\n } else if (element.subtab == 'Closed Leads' && this.applicationComponent.closedLeadVal == 'Completed') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n //if (this.applicationComponent.SearchSelectedItemsLengthChanged == true) {\r\n // this.applicationComponent.showSearchTabsSubTabs = false;\r\n //}\r\n //else {\r\n // this.applicationComponent.showSearchTabsSubTabs = true;\r\n //}\r\n }\r\n else if (element.subtab == 'All Leads' && this.applicationComponent.closedLeadVal == 'All') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n //if (this.applicationComponent.SearchSelectedItemsLengthChanged == true) {\r\n // this.applicationComponent.showSearchTabsSubTabs = false;\r\n //}\r\n //else {\r\n // this.applicationComponent.showSearchTabsSubTabs = true;\r\n //}\r\n }\r\n else if (element.subtab == 'Forecasting' && this.applicationComponent.closedLeadVal == 'Forecasting') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n //if (this.applicationComponent.SearchSelectedItemsLengthChanged == true) {\r\n // this.applicationComponent.showSearchTabsSubTabs = false;\r\n //}\r\n //else {\r\n // this.applicationComponent.showSearchTabsSubTabs = true;\r\n //}\r\n } else {\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = false;\r\n //this.applicationComponent.showSearchTabsSubTabs = true;\r\n }\r\n\r\n\r\n });\r\n //tempTableColumns= JSON.parse(retrievedObject).columns;\r\n //tempTableSubtab = JSON.parse(retrievedObject).subtab;\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n this.applicationComponent.SearchSelectedItems = [];\r\n\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n else {\r\n\r\n this.accountService.GetDefaultColumns('OpenLeads', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'lastname', \"itemName\": 'Last Name' },\r\n { \"id\": 'firstname', \"itemName\": 'First Name' },\r\n { \"id\": 'account', \"itemName\": 'Account Name' }\r\n ];\r\n }\r\n });\r\n //this.applicationComponent.showSearchTabsSubTabs = false;\r\n }\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n this.UpdateSearchColumns(config.columnsselections);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 6;\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n\r\n ngOnInit() {\r\n this.applicationComponent.selectedbuttonText = \"Leads\";\r\n this.route.params.subscribe(params => {\r\n this.contactid = params['contactid']; \r\n });\r\n\r\n if (this.PageFrom != 'dashboard') {\r\n var obj: AuditLogModel = { id: 0, type: 'Leads', action: 'Leads Viewed', AccountOrContactId: 0, AccountOrContact: \"\", documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Leads Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n })\r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n\r\n }\r\n\r\n this.initializeAgGrid();\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n this.ClosedLeads('Open Leads', $(\"#userids\").val(), this.term, this.currentPage, this.pageSize);\r\n }\r\n\r\n this.customerService.GetSpecialityList(\"LeadStatus\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.LeadstatusList = accounttype;\r\n });\r\n\r\n this.isViewInitialized = true;\r\n\r\n if (document.getElementById('LeadsTabs') != undefined && document.getElementById('LeadsTabs') != null)\r\n document.getElementById('LeadsTabs').style.display = 'block';\r\n\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 500));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 500));\r\n }\r\n let selfObj1 = this;\r\n $(setTimeout(function () {\r\n let str = localStorage.getItem('redirectfrom');\r\n if (str == 'dashboard') {\r\n selfObj1.rowDoubleClickAgGrid(selfObj1.allLeads[0]);\r\n }\r\n }, 400));\r\n\r\n }\r\n\r\n //AddSuspendInactiveDiv() {\r\n // var mydiv = document.getElementsByClassName(\"pure-checkbox select-all ng-star-inserted\");\r\n // var div = document.createElement('div');\r\n // div.id = \"SuspendInactiveDiv\";\r\n // div.className = \"col-xs-12 Banoos\";\r\n // mydiv[1].parentNode.insertBefore(div, mydiv[1].previousSibling);\r\n // var banooDiv = document.getElementById(\"SuspendInactiveDiv\");\r\n\r\n\r\n\r\n getinactiveUsers() {\r\n this.dropdownList = [];\r\n this.GetAllaccesusersListbyuser();\r\n\r\n //this.userservice.GetAllUsers(2).then((user) => {\r\n // this.dropdownList = user;\r\n //});\r\n\r\n }\r\n getSuspendedUsers() {\r\n this.dropdownList = [];\r\n this.GetAllaccesusersListbyuser();\r\n //this.userservice.GetAllUsers(3).then((user) => {\r\n // this.dropdownList = user;\r\n //});\r\n }\r\n GetAllaccesusersListbyuser() {\r\n\r\n var inactive = $('#Inactive').prop(\"checked\") ? 1 : 0;\r\n var suspended = $('#suspended').prop(\"checked\") ? 1 : 0;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, inactive, suspended).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownList = Owner;\r\n });\r\n\r\n }\r\n\r\n userListOutParamsBinding(outProps) {\r\n this.finalitems = outProps.finalitems;\r\n this.items = outProps.items;\r\n this.itemCount = outProps.itemsCount;\r\n this.selectedItems = outProps.selectedItems;\r\n }\r\n\r\n onItemSelect(item: any) {\r\n\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n if (document.getElementById('ForecastingButton').className == 'activeButton') {\r\n //this.forecastComp.LeadChange(this.LeadSelectedVal, $(\"#userids\").val(), this.startDateVal, this.endDateVal);\r\n } else {\r\n this.Generate(this.finalitems);\r\n }\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n if (document.getElementById('ForecastingButton').className == 'activeButton') {\r\n // this.forecastComp.LeadChange(this.LeadSelectedVal, $(\"#userids\").val(), this.startDateVal, this.endDateVal);\r\n } else {\r\n this.Generate(this.finalitems);\r\n }\r\n } else {\r\n this.allLeads = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n if (document.getElementById('ForecastingButton').className == 'activeButton') {\r\n // this.forecastComp.LeadChange(this.LeadSelectedVal, $(\"#userids\").val(), this.startDateVal, this.endDateVal);\r\n } else {\r\n this.Generate(this.finalitems);\r\n }\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.allLeads = [];\r\n $(\"#userids\").val('');\r\n this.applicationComponent.selectedusers = null\r\n this.Generate(this.finalitems);\r\n }\r\n\r\n Generate(userids) {\r\n this.applicationComponent.selectedusers = userids;\r\n let selobjj = this;\r\n\r\n }\r\n ClosedLeads(val, userids, searchval, startrow, endrow) {\r\n var subMenuId = '';\r\n \r\n if (this.currentuser.UserPrivilegeList != undefined) {\r\n var button = document.getElementById(subMenuId);\r\n var bname = (button == null) ? subMenuId : (button.title);\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == bname || p.resource.toLowerCase() == bname)[0];\r\n if (thisTab != undefined && thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + bname + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n }\r\n\r\n this.allLeads = [];\r\n var today = new Date();\r\n this.leadtype = val;\r\n userids = $(\"#userids\").val();\r\n if (this.contactid != 0 && this.contactid != undefined) {\r\n this.HideandShowstyles('Lead');\r\n }\r\n else {\r\n this.HideandShowstyles('All')\r\n }\r\n this.applicationComponent.searchCriteriadata = [];\r\n this.LeadsService.GetAllLeadsList(\"All\", $(\"#userids\").val(), '2018-01-01', this.endDateVal, \"null\", 1, 1000, this.currentuser.id).then((customer) => {\r\n if (customer.length > 0) {\r\n if ((customer.length == 0 || customer == null) && searchval != null) {\r\n this.applicationComponent.ShowInvalidSearchDialog = !this.applicationComponent.ShowInvalidSearchDialog;\r\n this.applicationComponent.dialogsizeInvalidSearch();\r\n\r\n }\r\n customer.forEach(customer => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM/dd/yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM/dd/yyyy\");\r\n customer.datescheduled = this.datePipe.transform(customer.datescheduled, \"MM/dd/yyyy\");\r\n });\r\n let leads: any = customer;\r\n if (val == 'Open Leads') {\r\n subMenuId = 'OpenLeads';\r\n leads = leads.filter(p => p.leadstatus == \"Open\");\r\n \r\n } else if (val == 'Closed Leads') {\r\n subMenuId = 'ClosedLeads';\r\n leads = leads.filter(p => p.leadstatus == \"Open\");\r\n } else if (val == 'All') {\r\n subMenuId = 'AllLeads';\r\n }\r\n else {\r\n subMenuId = 'OpenLeads';\r\n }\r\n this.allLeads = leads;\r\n if (this.contactid > 0) { \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.contactid == selfObj.contactid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 300)); \r\n }\r\n this.leadid = Number(localStorage.getItem('leadId'));\r\n if (this.leadid > 0) {\r\n \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n\r\n if (selfObj.leadid != null && selfObj.leadid != undefined && node.data.id == selfObj.leadid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n } else {\r\n if (selfObj.addLead) {\r\n if (node.data.id == selfObj.allLeads[0].id) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n }\r\n }\r\n });\r\n }, 500)); \r\n }\r\n } else {\r\n this.applicationComponent.searchstring = \"No Match\";\r\n if (this.addLead) {\r\n this.leadsComponent.HideAdnShow(0, 0);\r\n }\r\n if (this.applicationComponent.selectedsubbutton == 'Open') {\r\n var retrievedObject = localStorage.getItem('OpenLeadsSearchCriteria');\r\n } else if (this.applicationComponent.selectedsubbutton == 'Closed') {\r\n var retrievedObject = localStorage.getItem('ClosedLeadsSearchCriteria');\r\n } else if (this.applicationComponent.selectedsubbutton == 'All') {\r\n var retrievedObject = localStorage.getItem('AllLeadsSearchCriteria');\r\n }\r\n //var retrievedObject = localStorage.getItem('LeadsSearchCriteria');\r\n if (retrievedObject != null) {\r\n //this.applicationComponent.Searchdiv = true;\r\n var obj = retrievedObject.slice(0, -3);\r\n obj += '~';\r\n this.applicationComponent.searchCriteriadata = obj.split(' / ');\r\n }\r\n }\r\n });\r\n\r\n //this.initializeAgGrid();\r\n }\r\n\r\n reloadItems(params) {\r\n\r\n if (this.itemResource != undefined) {\r\n this.itemResource.query(params).then(items => this.items = items);\r\n }\r\n }\r\n\r\n GetAllLeadNotes(id, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, id, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.allnotes = taskhistory;\r\n this.notesitemCount = taskhistory.length;\r\n let windowHeight = $(window).height() - 160;\r\n });\r\n }\r\n notesreloadItems(notesparams) {\r\n if (this.notesitemResource != undefined) {\r\n this.notesitemResource.query(notesparams).then(notesitems => this.notesitems = notesitems);\r\n }\r\n }\r\n\r\n enterNotes() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n }\r\n SaveNote() {\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/img, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/<[^>]*>/g, '');\r\n this.notes.type = \"Lead\";\r\n this.notes.accountid = this.leadid;\r\n\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.GetAllLeadNotes(this.notes.accountid, 'Lead');\r\n this.CancelNote();\r\n });\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n }\r\n ResizeTable() { \r\n this.aggridheight = (((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height())) - 85)) + 'px';\r\n }\r\n\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n //closedLeadEventListener() {\r\n // if (this.applicationComponent.isClosedLeadEventRaised) {\r\n // if (this.applicationComponent.closedLeadVal == \"Forecasting\") {\r\n // this.HideandShowstyles('Forecasting');\r\n // }\r\n // else {\r\n\r\n // this.ClosedLeads(this.applicationComponent.closedLeadVal, this.applicationComponent.closedLeadUserids, null, this.currentPage, this.pageSize);\r\n // // this.applicationComponent.ExpandSelectedMenu('leads');\r\n // }\r\n // this.applicationComponent.isClosedLeadEventRaised = false;\r\n // }\r\n // return false;\r\n //}\r\n\r\n openDisplaynotes(params) {\r\n this.NotesDec = !this.NotesDec;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n $(setTimeout(function () {\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtLongNoteDesc').css('overflow', 'auto');\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n\r\n }\r\n CommissionEstimator(val) {\r\n this.isDisplayCommissionEstimator = val;\r\n }\r\n saveEditedNote() {\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.GetAllLeadNotes(selfObj.conid, 'Lead');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n }\r\n first() {\r\n\r\n this.currentPage = 1;\r\n this.ClosedLeads(this.selectedleadtype, $(\"#userids\").val(), this.term, this.currentPage, this.pageSize);\r\n }\r\n prev() {\r\n if (this.currentPage > 1) {\r\n this.currentPage--;\r\n this.ClosedLeads(this.selectedleadtype, $(\"#userids\").val(), this.term, this.currentPage, this.pageSize);\r\n }\r\n }\r\n next() {\r\n if (this.currentPage != this.totalnumberofPages) {\r\n this.currentPage++;\r\n this.ClosedLeads(this.selectedleadtype, $(\"#userids\").val(), this.term, this.currentPage, this.pageSize);\r\n }\r\n\r\n }\r\n last() {\r\n this.currentPage = this.totalnumberofPages;\r\n if (this.currentPage <= this.totalnumberofPages) {\r\n this.ClosedLeads(this.selectedleadtype, $(\"#userids\").val(), this.term, this.currentPage, this.pageSize);\r\n }\r\n }\r\n\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n if (outProps.enableSearch) { this.EnableSearch = true; }\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize));\r\n //this.Contactvales = outProps.Contactvalues == undefined ? this.Contactvales : outProps.Contactvalues;\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n if (!outProps.pageSizeChanged) {\r\n this.ClosedLeads(outProps.secondDrpValue, $(\"#userids\").val(), this.term, this.currentPage, this.pageSize);\r\n }\r\n } else {\r\n this.allLeads = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n\r\n expandLeadsView(value) {\r\n if (value === 'Collapse') {\r\n this.addLeadExpand = false;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (selfObj.leadid != null && selfObj.leadid != undefined && node.data.id == selfObj.leadid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n }\r\n else {\r\n this.addLeadExpand = true;\r\n }\r\n }\r\n CloseLeadsDiv() {\r\n this.leadtype = 'All';\r\n this.addLead = false;\r\n this.addLeadExpand = false;\r\n }\r\n onFilterTextBoxChanged() {\r\n this.gridApi.setQuickFilter(\r\n (document.getElementById('filter-text-box') as HTMLInputElement).value\r\n );\r\n this.gridOptions.quickFilterText = (document.getElementById('filter-text-box') as HTMLInputElement).value;\r\n this.createColumnDefs(this.columnSelections);\r\n this.gridApi.redrawRows(); \r\n }\r\n ClearSearch() {\r\n this.gridApi.setQuickFilter('');\r\n this.value = \"\";\r\n this.gridOptions.quickFilterText = \"\";\r\n this.createColumnDefs(this.columnSelections);\r\n this.gridApi.redrawRows(); \r\n this.EnableSearch = false;\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-link-delete',\n templateUrl: './link-delete.component.html',\n styleUrls: ['./link-delete.component.css']\n})\nexport class LinkDeleteComponent implements OnInit {\n public params: any;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n agInit(params: any): void {\n this.params = params;\n }\n\n public deleteRowAg() {\n this.params.context.deleteRowAg(this.params.node.data);\n }\n\n public linkRowAg() {\n this.params.context.linkRowAg(this.params.node.data);\n }\n\n public ActiateRowAg() {\n this.params.context.deleteRowAg(this.params.node.data);\n }\n\n refresh(): boolean {\n return false;\n }\n}\n","

      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment'\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-marketing',\r\n templateUrl: './marketing.component.html',\r\n styleUrls: ['./marketing.component.css']\r\n})\r\nexport class MarketingComponent implements OnInit {\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' } };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n calanderonoff: boolean = false;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' } };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");\r\n pageSize: string = \"\";\r\n\r\n constructor(public applicationComponent: ApplicationComponent) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n calanderclick(val) {\r\n this.calanderonoff = val;\r\n }\r\n\r\n dateChange(event) {\r\n \r\n }\r\n\r\n\r\n txtPageSizeChanged(pageSize) {\r\n \r\n }\r\n}\r\n","
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n\r\n \r\n\r\n\r\n \r\n
      \r\n\r\n


      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n From :\r\n
      \r\n
      \r\n {{message.fromuser}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n To :\r\n
      \r\n
      \r\n {{message.touser}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Received :\r\n
      \r\n
      \r\n {{message.date | date: 'MM-dd-yyyy hh:mm a'}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Subject :\r\n
      \r\n
      \r\n {{message.subject}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Message :\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n MESSAGE HISTORY\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n From \r\n
      \r\n
      \r\n {{message.fromuser}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n To \r\n
      \r\n
      \r\n {{message.touser}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Received \r\n
      \r\n
      \r\n {{message.date}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Subject \r\n
      \r\n
      \r\n {{message.subject}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Message \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n User Messaging
      \r\n
      \r\n Message will not be sent?\r\n
      \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, ViewContainerRef } from '@angular/core';\r\nimport { Messaging } from '../../models/messaging';\r\nimport { Replymessages } from '../../models/replymessages';\r\nimport { MessagingService } from './../../services/messaging.service';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { PageComponent } from '../page/page.component';\r\nimport { Column } from 'ag-grid';\r\nimport { Message } from '@angular/compiler/src/i18n/i18n_ast';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Dropdown, Dropdowntype } from '../../models/dropdowntype';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Location } from '@angular/common';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-messaging',\r\n templateUrl: './messaging.component.html',\r\n styleUrls: ['./messaging.component.css']\r\n})\r\nexport class MessagingComponent implements OnInit {\r\n accountform: FormGroup;\r\n message: Messaging = new Messaging();\r\n\r\n Replymessages: Replymessages = new Replymessages();\r\n allMessages: Messaging[];\r\n toatlallMessages: Messaging[];\r\n totalsentlMessages: Messaging[];\r\n toatldeleteallMessages: Messaging[];\r\n allrepliedMessages: Messaging[];\r\n currentuser: any;\r\n allInboxMessage: Message[];\r\n pageSize: string = \"100\";\r\n messageId: number;\r\n aggridHeight: string = \"\";\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n public context;\r\n public frameworkComponents;\r\n aggridheight: string;\r\n isFirstTimeWidthChangeComplete: boolean = false;\r\n aggridheight1: string;\r\n dropdownList: Dropdowntype[] = [];\r\n dropdownListUsers = [];\r\n lastMessgeMain: string = \"\";\r\n timezonevalue: string;\r\n messagetype: string = \"\";\r\n msgTypId: number = 0;\r\n //finalitems = \"\";\r\n messagedescription: string;\r\n selectedItems: any;\r\n selectedUsers: any;\r\n replytype = '';\r\n isForward: boolean = true;\r\n public autoGroupColumnDef;\r\n gridApi: any;\r\n gridColumnApi: any;\r\n displayReplyMessage: string = \"\";\r\n composedReplyMsg: string;\r\n dropdownSetting: any;\r\n colSelections: string;\r\n selectedUserIds: string = \"\";\r\n divHeight = screen.height * 0.7044444;\r\n divHeight1 = screen.height * 0.561111;\r\n messageGridHeight = screen.height * 0.6088;\r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n selectedmsgId: number = 0;\r\n isFirstNode: boolean = false;\r\n inboxmessagecount = 0;\r\n draftmessagecount = 0;\r\n sentmessagecount = 0;\r\n deletedmessagecount = 0;\r\n markunRead: boolean = false;\r\n ShowPermanentmessageDelete: boolean = false;\r\n Omsgid: number;\r\n Msgval: string;\r\n DeleteConfirmationPopup: boolean = false;\r\n CancelMessagePopup: boolean = false;\r\n DescriptionEntered: boolean = false;\r\n deleteRowDataId: any;\r\n deleteRowDataMsgval: any;\r\n contactStatus: any; selectedtab = \"inbox\";\r\n selectedMenuRadio: string = \"tab1\";\r\n public editorOptions: Object = {\r\n\r\n key: 'kRB4zB4E4D1F1H2E1qA-21nB-13takwgF-7B3D-17vwgC3E3G3B2B7A4D4F4D2F3==', placeholderText: 'Type Message Here',\r\n\r\n };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? new Date().getFullYear() + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public sideBar;\r\n constructor(private location: Location,private paginationcop: PageComponent, private route: ActivatedRoute, private router: Router, private opprtunityservice: OpprtunitiesService, public applicationComponent: ApplicationComponent, private messagingservice: MessagingService, private customerService: CustomerService, private viewContainerRef: ViewContainerRef, private toastr: ToastrService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n this.viewContainerRef = viewContainerRef;\r\n }\r\n ngAfterViewInit(): void {\r\n this.ResizeTable();\r\n\r\n }\r\n ngOnInit() {\r\n $('.coustomButton').removeClass('mainactiveButton');\r\n $('#internalmessaging').addClass('mainactiveButton');\r\n this.applicationComponent.SearchSelectedItems = [];\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 7\r\n };\r\n\r\n let selfObj = this;\r\n this.customerService.GetAllOwnerList(0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n selfObj.dropdownList = Owner;\r\n selfObj.dropdownListUsers = Owner;\r\n });\r\n //$(\"#userids\").val(this.currentuser.id);\r\n this.initializeAgGrid();\r\n this.route.params.subscribe(params => {\r\n this.message.id = params['messageid'];\r\n if (this.message.id != 0) {\r\n this.messagingservice.GetMessageById(this.message.id).then(result => {\r\n this.message = result;\r\n this.createMessagingObjectFromEventData(result);\r\n\r\n let selfObj1 = this;\r\n $(setTimeout(function () {\r\n\r\n selfObj1.gridApi.forEachNode((node) => {\r\n if (node.data != undefined || node.data != null) {\r\n if (node.data != undefined && node.data.id == selfObj1.message.id) {\r\n node.setSelected(true);\r\n }\r\n }\r\n else if (node.aggData != undefined || node.aggData != null) {\r\n if (node.key == selfObj1.message.id) {\r\n node.setSelected(true);\r\n }\r\n }\r\n });\r\n }, 500));\r\n });\r\n }\r\n });\r\n\r\n let selfObj2 = this;\r\n $(setTimeout(function () {\r\n\r\n selfObj2.GetAllmessagesByUsercount(selfObj2.currentuser.id, \"Delete\");\r\n selfObj2.messageButtonCSS('inbox', 0, '')\r\n }, 100));\r\n\r\n this.editorOptions = {\r\n\r\n key: 'kRB4zB4E4D1F1H2E1qA-21nB-13takwgF-7B3D-17vwgC3E3G3B2B7A4D4F4D2F3==', placeholderText: 'Type Message Here',\r\n events: {\r\n 'charCounter.update': function () {\r\n\r\n },\r\n 'keyup': function (keyupEvent) {\r\n $('.fr-wrapper').css('border-left', '2px solid #00B0F0');\r\n selfObj2.DescriptionEntered = true;\r\n\r\n }\r\n }\r\n };\r\n }\r\n\r\n GetAllmessagesByUsercount(userid, MessageType) {\r\n\r\n\r\n if (MessageType == \"Inbox\") {\r\n this.messagingservice.Getallmessages(userid, 0, userid, this.startDateVal, this.endDateVal, 1, 100).then((inboxmessages) => {\r\n this.inboxmessagecount = inboxmessages.length;\r\n this.applicationComponent.totalInboxmessages = inboxmessages.length;\r\n });\r\n }\r\n //Get Draft Count\r\n if (MessageType == \"Draft\") {\r\n this.messagingservice.Getallmessages(userid, 2, userid, this.startDateVal, this.endDateVal, 1, 100).then((draftmessages) => {\r\n this.draftmessagecount = draftmessages.length\r\n });\r\n }\r\n if (MessageType == \"Sent\") {\r\n ///get Sent count\r\n this.messagingservice.Getallmessages(this.currentuser.id, 3, this.currentuser.id, this.startDateVal, this.endDateVal, 1, 100).then((sentmessages) => {\r\n this.sentmessagecount = sentmessages.length;\r\n this.GetAllmessagesByUsercount(this.currentuser.id, \"Inbox\");\r\n });\r\n }\r\n if (MessageType == \"Delete\") {\r\n //Get Inbox Count\r\n this.messagingservice.Getallmessages(userid, 0, userid, this.startDateVal, this.endDateVal, 1, 100).then((inboxmessages) => {\r\n this.inboxmessagecount = inboxmessages.length;\r\n this.applicationComponent.totalInboxmessages = this.inboxmessagecount;\r\n });\r\n\r\n //Get Draft Count\r\n this.messagingservice.Getallmessages(userid, 2, userid, this.startDateVal, this.endDateVal, 1, 100).then((draftmessages) => {\r\n this.draftmessagecount = draftmessages.length\r\n });\r\n\r\n ///get Sent count\r\n this.messagingservice.Getallmessages(this.currentuser.id, 3, this.currentuser.id, this.startDateVal, this.endDateVal, 1, 100).then((sentmessages) => {\r\n\r\n this.sentmessagecount = sentmessages.length;\r\n });\r\n\r\n // get Delete count\r\n this.messagingservice.Getallmessages(this.currentuser.id, 4, this.currentuser.id, this.startDateVal, this.endDateVal, 1, 100).then((delmessages) => {\r\n this.toatlallMessages = [];\r\n //delmessages.forEach(message => {\r\n //});\r\n // this.toatldeleteallMessages = delmessages;\r\n this.deletedmessagecount = delmessages.length\r\n });\r\n }\r\n // this.deletedmessagecount = this.delmessages.length\r\n this.messagingservice.GetInboxCount(this.currentuser.id).then(result => {\r\n this.applicationComponent.inboxmessagecount = result;\r\n });\r\n }\r\n\r\n autoSizeAll() {\r\n\r\n }\r\n\r\n removeGroupValues(time: number) {\r\n $(setTimeout(function () {\r\n let val = $('.ag-group-value');\r\n val.each(function (index, value) {\r\n value.innerHTML = \"\";\r\n });\r\n }, time));\r\n }\r\n rowSelected(event) {\r\n\r\n if (this.markunRead == false) {\r\n let data: any;\r\n if (event.node.data != undefined && event.node.data != null)\r\n data = event.data;\r\n else if (event.node.allLeafChildren != undefined && event.node.allLeafChildren != null && event.node.allLeafChildren.length > 0 && event.node.allLeafChildren[0].data != undefined && event.node.allLeafChildren[0].data != null)\r\n data = event.node.allLeafChildren[0].data;\r\n\r\n if (event.node.selected) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.message = selfObj.createMessagingObjectFromEventData(data);\r\n\r\n }, 500));\r\n } else {\r\n this.message.id = 0;\r\n this.message = new Messaging();\r\n }\r\n //let selfObj = this;\r\n //$(setTimeout(function () {\r\n // selfObj.Updateisreaddata(data.id);\r\n //}, 200));\r\n }\r\n else {\r\n this.markunRead = false;\r\n }\r\n\r\n // alert(\"fi\");\r\n\r\n //window.location.reload();\r\n //this.initializeAgGrid();\r\n // this.router.(`/application/messaging/0`);\r\n }\r\n\r\n setReplyBtnDivHeight() {\r\n\r\n }\r\n public getallmessagesBymessageid(userid, MsgId) {\r\n this.messagingservice.GetallmessagesBymessage(this.currentuser.id, MsgId).then((replymessages) => {\r\n replymessages.forEach(replymessages => { \r\n replymessages.message = replymessages.message.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>)/img, \"\");\r\n var moment = require('moment-timezone');\r\n replymessages.date = moment.tz(replymessages.date.toLocaleString(), this.timezonevalue).format(\"DD-MM-YYYY\") + ' ( ' + moment.tz(replymessages.date.toLocaleString(), this.timezonevalue).format(\"h:mm ss\") + ' )';\r\n \r\n });\r\n this.allrepliedMessages = replymessages;\r\n });\r\n\r\n };\r\n createMessagingObjectFromEventData(data) {\r\n //this.getallmessagesBymessageid(this.currentuser.id, data.id);\r\n this.selectedmsgId = data.Omsgid;\r\n let msg = new Messaging();\r\n msg.id = data.id;\r\n msg.fromuser = data.fromuser;\r\n msg.subject = data.subject;\r\n msg.date = data.date;\r\n msg.replied = data.replied;\r\n msg.message = data.message;\r\n msg.messagefromid = data.messagefromid;\r\n msg.receivedid = data.receivedid;\r\n msg.receivednames = data.receivednames;\r\n msg.messagetype = data.messagetype;\r\n this.getallmessagesBymessageid(this.currentuser.id, data.id);\r\n return msg;\r\n\r\n }\r\n\r\n Updateisreaddata(id) {\r\n // if (this.messagetype == \"inbox\") { \r\n this.messagingservice.GetMessageById(id).then(result => {\r\n this.message = result;\r\n this.messageId = id;\r\n var isreaduseridsArray = (this.message.isreaduserids != null ? this.message.isreaduserids.split(',') : []);\r\n isreaduseridsArray.push(this.currentuser.id);\r\n this.message.isreaduserids = new Array(this.RemoveDuplicateItemsFromArr(isreaduseridsArray)).join(',');\r\n this.message.isreaduserids = this.RemoveDuplicateItemsFromArr(this.message.isreaduserids.split(',')).toString(); \r\n this.messagingservice.Updateisreadstatus(id, this.message.isreaduserids).then((calllist) => {\r\n this.messagingservice.GetInboxCount(this.currentuser.id).then(result => {\r\n this.applicationComponent.inboxmessagecount = result;\r\n this.getallmessages(this.selectedUserIds, this.msgTypId, this.currentPage, this.pageSize);\r\n \r\n\r\n });\r\n });\r\n });\r\n \r\n }\r\n rowGroupOpened(event) {\r\n this.removeGroupValues(10);\r\n if (event.node.selected == true)\r\n event.node.allLeafChildren[0].setSelected(true);\r\n else {\r\n if (event.node.allLeafChildren[0].selected == true) {\r\n event.node.allLeafChildren[0].setSelected(false);\r\n event.node.setSelected(true);\r\n }\r\n }\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n let columnSelections: string;\r\n this.createColumnDefs(columnSelections);\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.context = this;\r\n this.frameworkComponents = {\r\n };\r\n }\r\n\r\n txtPageSizeChanged(pageSize) {\r\n this.gridApi.paginationSetPageSize(Number(pageSize));\r\n //this.saveConfiguration();\r\n this.removeGroupValues(1000);\r\n }\r\n columnVisible(event) {\r\n //this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n //this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n //if (event.finished == true)\r\n // this.saveConfiguration();\r\n }\r\n\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridColumnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 14;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n\r\n onUserSelect($event) {\r\n this.userListSelection();\r\n }\r\n\r\n OnUserDeSelect($event) {\r\n this.userListSelection();\r\n }\r\n\r\n onSelectAllUsers($event) {\r\n this.userListSelection();\r\n }\r\n\r\n onDeSelectAllUsers($event) {\r\n this.userListSelection();\r\n }\r\n\r\n userListSelection() {\r\n let selectedUserIds: string = \"\";\r\n this.selectedUsers.forEach(item => {\r\n selectedUserIds += item.id + \"|\";\r\n });\r\n\r\n if (selectedUserIds.length > 0)\r\n selectedUserIds = selectedUserIds.substr(0, selectedUserIds.length - 1);\r\n\r\n this.selectedUserIds = selectedUserIds;\r\n this.getallmessages(selectedUserIds, this.msgTypId, this.currentPage, this.pageSize);\r\n this.removeGroupValues(1000);\r\n }\r\n\r\n createColumnDefs(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'id', headerName: 'Id', hide: true, rowGroup: true, headerClass: 'MessageHeaderclass', aggFunc: 'first' },\r\n {\r\n field: 'readstatus', headerName: 'hhh', hide: true, aggFunc: 'first'\r\n },\r\n\r\n { field: 'Msgval', headerName: 'Msg', hide: true, headerClass: 'MessageHeaderclass', aggFunc: 'first' },\r\n { field: 'Omsgid', headerName: 'Omsg id', hide: true, headerClass: 'MessageHeaderclass', aggFunc: 'first' },\r\n {\r\n field: ' ', headerName: 'Read Status', hide: false, headerClass: 'MessageHeaderclass', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data != null && params.data.readstatus == 0) {\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n if (params.data != undefined && params.data != null) {\r\n selfObj.MarsAsUnRead(params.data.id, 'UnRead');\r\n }\r\n\r\n });\r\n }\r\n else if (params.node.aggData != null && params.node.aggData.readstatus == 0) {\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n if (params.node.aggData != undefined && params.node.aggData != null) {\r\n selfObj.MarsAsUnRead(params.node.aggData.id, 'UnRead');\r\n }\r\n });\r\n } else {\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n if (params.data != undefined && params.data != null) {\r\n selfObj.MarsAsUnRead(params.data.id, 'Read');\r\n }\r\n else if (params.node.aggData != undefined && params.node.aggData != null) {\r\n selfObj.MarsAsUnRead(params.node.aggData.id, 'Read');\r\n }\r\n });\r\n }\r\n\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'fromuser', headerName: 'From', hide: this.msgTypId == 0 ? false : true, headerClass: 'MessageHeaderclass', aggFunc: 'first'\r\n , cellStyle: function (params) {\r\n if (params.data != undefined && params.data != null) {\r\n if (params.data.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n else if (params.node.aggData != undefined && params.node.aggData != null) {\r\n if (params.node.aggData.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n }\r\n },\r\n {\r\n field: 'receivednames', headerName: 'To', hide: this.msgTypId == 0 ? true : false, headerClass: 'MessageHeaderclass', aggFunc: 'first'\r\n , cellStyle: function (params) {\r\n if (params.data != undefined && params.data != null) {\r\n if (params.data.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n else if (params.node.aggData != undefined && params.node.aggData != null) {\r\n if (params.node.aggData.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n }\r\n },\r\n {\r\n field: 'subject', headerName: 'Subject', hide: false, headerClass: 'MessageHeaderclass', aggFunc: 'first'\r\n , cellStyle: function (params) {\r\n if (params.data != undefined && params.data != null) {\r\n if (params.data.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n else if (params.node.aggData != undefined && params.node.aggData != null) {\r\n if (params.node.aggData.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n }\r\n },\r\n {\r\n field: 'date', headerName: 'Date', hide: false, headerClass: 'MessageHeaderclass', aggFunc: 'first'\r\n , cellStyle: function (params) {\r\n if (params.data != undefined && params.data != null) {\r\n if (params.data.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n else if (params.node.aggData != undefined && params.node.aggData != null) {\r\n if (params.node.aggData.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n }\r\n },\r\n {\r\n field: 'replied', headerName: 'Replied', hide: true, headerClass: 'MessageHeaderclass', aggFunc: 'first'\r\n , cellStyle: function (params) {\r\n if (params.data != undefined && params.data != null) {\r\n if (params.data.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n else if (params.node.aggData != undefined && params.node.aggData != null) {\r\n if (params.node.aggData.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n }\r\n },\r\n {\r\n field: 'message', headerName: 'Message', hide: true, headerClass: 'MessageHeaderclass', aggFunc: 'first'\r\n , cellStyle: function (params) {\r\n if (params.data != undefined && params.data != null) {\r\n if (params.data.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n else if (params.node.aggData != undefined && params.node.aggData != null) {\r\n if (params.node.aggData.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold', color: 'Red' };\r\n }\r\n }\r\n }\r\n },\r\n { field: 'messagefromid', headerName: 'Message From Id', hide: true, headerClass: 'MessageHeaderclass', aggFunc: 'first' },\r\n { field: 'receivedid', headerName: 'Received Id', hide: true, headerClass: 'MessageHeaderclass', aggFunc: 'first' },\r\n { field: 'messagetype', headerName: 'Message Type', hide: true, headerClass: 'MessageHeaderclass', aggFunc: 'first' },\r\n {\r\n field: 'actions', headerName: '', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n\r\n if (params.data != undefined)\r\n selfObj.delete(params.data.Omsgid, params.data.Msgval);\r\n else\r\n selfObj.delete(params.node.aggData.Omsgid, params.node.aggData.Msgval);\r\n });\r\n return eDiv;\r\n },\r\n width: 52, pinned: 'right', aggFunc: 'first', hide: false\r\n }\r\n ];\r\n this.autoGroupColumnDef = {\r\n filterValueGetter: function (params) {\r\n var colGettingGrouped = params.colDef.showRowGroup;\r\n var valueForOtherCol = params.api.getValue(colGettingGrouped, params.node);\r\n return valueForOtherCol;\r\n },\r\n headerName: \"Count\",\r\n headerClass: \"MessageHeaderclass\",\r\n width: 80\r\n };\r\n }\r\n canceldelete() { this.ShowPermanentmessageDelete = false; }\r\n ShowPermanentmessageDeleteCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 27% !important;border: 2px solid rgb(49,189,240);border-radius:5%;height:23%;top:45%;max-width:none;padding: 0;margin: 0;left:25%; background-color: #f4f4f4;');\r\n }, 4));\r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.UpdateMessage(this.deleteRowDataId, this.deleteRowDataMsgval);\r\n }\r\n this.DeleteConfirmationPopup = false;\r\n\r\n }\r\n delete(id, Msgval) {\r\n\r\n if (this.msgTypId == 4) {\r\n this.Omsgid = id;\r\n this.Msgval = Msgval;\r\n this.ShowPermanentmessageDelete = true;\r\n this.ShowPermanentmessageDeleteCss();\r\n\r\n } else {\r\n this.deleteRowDataId = id;\r\n this.deleteRowDataMsgval = Msgval;\r\n this.contactStatus = 0;\r\n this.DeleteConfirmationPopup = true;\r\n setTimeout(function () {\r\n $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n\r\n }\r\n }\r\n\r\n UpdateMessage(id, Msgval) {\r\n\r\n if (Msgval == 'main') {\r\n this.messagingservice.GetMessageById(id).then(result => {\r\n this.message = result;\r\n var deletedmessageidArray = (this.message.deletedmsguserids != null ? this.message.deletedmsguserids.split(',') : []);\r\n deletedmessageidArray.push(this.currentuser.id);\r\n this.message.deletedmsguserids = new Array(this.RemoveDuplicateItemsFromArr(deletedmessageidArray)).join(',');\r\n this.message.deletedmsguserids = this.RemoveDuplicateItemsFromArr(this.message.deletedmsguserids.split(',')).toString();\r\n let selfObj = this;\r\n this.messagingservice.DeleteMessage(id, this.message.deletedmsguserids, this.messagetype, Msgval).then((user) => {\r\n this.toastr.error(\"Message Deleted successfully.\", \"Message Deleted\");\r\n this.GetAllmessagesByUsercount(this.currentuser.id, \"Delete\");\r\n this.getallmessages(this.selectedUserIds, this.msgTypId, this.currentPage, this.pageSize);\r\n this.removeGroupValues(1000);\r\n $(setTimeout(function () {\r\n selfObj.message.id = 0;\r\n }, 500));\r\n });\r\n });\r\n } else {\r\n this.messagingservice.GetReplyMessageById(id).then(result => {\r\n this.Replymessages = result;\r\n var deletedmessageidArray = (this.Replymessages.deletedmsguserids != null ? this.Replymessages.deletedmsguserids.split(',') : []);\r\n deletedmessageidArray.push(this.currentuser.id);\r\n this.Replymessages.deletedmsguserids = new Array(this.RemoveDuplicateItemsFromArr(deletedmessageidArray)).join(',');\r\n this.Replymessages.deletedmsguserids = this.RemoveDuplicateItemsFromArr(this.Replymessages.deletedmsguserids.split(',')).toString();\r\n let selfObj = this;\r\n this.messagingservice.DeleteMessage(id, this.Replymessages.deletedmsguserids, this.messagetype, Msgval).then((user) => {\r\n this.toastr.error(\"Message Deleted successfully.\", \"Message Deleted\");\r\n this.GetAllmessagesByUsercount(this.currentuser.id, \"Delete\");\r\n this.getallmessages(this.selectedUserIds, this.msgTypId, this.currentPage, this.pageSize);\r\n this.removeGroupValues(1000);\r\n $(setTimeout(function () {\r\n selfObj.message.id = 0;\r\n }, 500));\r\n });\r\n });\r\n }\r\n this.ShowPermanentmessageDelete = false;\r\n\r\n // this.messageButtonCSS('deleted', 4, \"\");\r\n }\r\n\r\n RemoveDuplicateItemsFromArr(arr: any[]) {\r\n var uniqueIDs = [];\r\n $.each(arr, function (i, el) {\r\n if ($.inArray(el, uniqueIDs) === -1) uniqueIDs.push(el);\r\n });\r\n\r\n return uniqueIDs;\r\n }\r\n arrayRemove(arr, value) {\r\n\r\n return arr.filter(function (ele) {\r\n return ele != value;\r\n });\r\n\r\n }\r\n MarsAsUnRead(id, status) {\r\n var c = confirm(\"“Do you want to change the status of this message to \" + status);\r\n if (c == true) {\r\n this.markunRead = true;\r\n this.messagingservice.GetMessageById(id).then(result => {\r\n this.message = result;\r\n if (status == 'UnRead') {\r\n var isreaduseridsArray = (this.message.isreaduserids != null ? this.message.isreaduserids.split(',') : []);\r\n isreaduseridsArray.push(this.currentuser.id);\r\n this.message.isreaduserids = new Array(this.RemoveDuplicateItemsFromArr(isreaduseridsArray)).join(',');\r\n this.message.isreaduserids = this.RemoveDuplicateItemsFromArr(this.message.isreaduserids.split(',')).toString();\r\n } else {\r\n var isreaduseridsArray = (this.message.isreaduserids != null ? this.message.isreaduserids.split(',') : []);\r\n isreaduseridsArray = this.arrayRemove(isreaduseridsArray, 2);\r\n this.message.isreaduserids = new Array(this.RemoveDuplicateItemsFromArr(isreaduseridsArray)).join(',');\r\n this.message.isreaduserids = this.RemoveDuplicateItemsFromArr(this.message.isreaduserids.split(',')).toString();\r\n }\r\n this.messagingservice.Updateisreadstatus(id, this.message.isreaduserids).then((calllist) => {\r\n this.messagingservice.GetInboxCount(this.currentuser.id).then(result => {\r\n this.applicationComponent.inboxmessagecount = result;\r\n this.getallmessages(this.selectedUserIds, this.msgTypId, this.currentPage, this.pageSize);\r\n \r\n });\r\n });\r\n });\r\n }\r\n }\r\n savetodraft() {\r\n this.message.messagetype = 2;\r\n this.SaveMessage('Draft');\r\n }\r\n ReplyMessage() {\r\n let selfObj = this;\r\n var receivedids = [];\r\n this.message.messagefromid = this.currentuser.id;\r\n for (var i = 0; i < this.selectedItems.length; i++) {\r\n receivedids.push(this.selectedItems[i].id);\r\n }\r\n this.message.receivedid = receivedids.toString();\r\n\r\n if (this.isForward) {\r\n\r\n this.messagingservice.SaveMessages(this.message).then(result => {\r\n this.toastr.success(\"Message Sent successfully.\", \"Message Sent\", { timeOut: 600 });\r\n $('.fr-element').empty();\r\n selfObj.messageButtonCSS(selfObj.messagetype, selfObj.msgTypId, 'Save');\r\n selfObj.removeGroupValues(1000);\r\n\r\n });\r\n } else {\r\n this.Replymessages.replymessage = this.composedReplyMsg;//.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>)/img, \"\");\r\n var mesageform = (this.message.messagefromid != null ? this.message.messagefromid.toString().split(',') : []);\r\n mesageform.push(this.Replymessages.replyfromuserid.toString());\r\n this.message.messagefromid = new Array(this.RemoveDuplicateItemsFromArr(mesageform)).join(',');\r\n\r\n var receivedid = (this.message.receivedid != null ? this.message.receivedid.toString().split(',') : []);\r\n receivedid.push(this.message.receivedid.toString());\r\n this.message.receivedid = new Array(this.RemoveDuplicateItemsFromArr(receivedid)).join(',');\r\n this.message.receivedid = this.RemoveDuplicateItemsFromArr(this.message.receivedid.toString().split(',')).toString();\r\n // this.messagingservice.SaveMessages(this.message).then(result => {\r\n\r\n this.Replymessages.replytouserids = receivedids.toString();\r\n this.messagingservice.replySaveMessages(this.Replymessages).then(result => {\r\n this.toastr.success(\"Message Sent successfully.\", \"Message Sent\", { timeOut: 600 });\r\n\r\n $('.fr-element').empty();\r\n selfObj.messageButtonCSS(selfObj.messagetype, selfObj.msgTypId, 'Save');\r\n selfObj.removeGroupValues(1000);\r\n });\r\n // });\r\n\r\n }\r\n }\r\n CancelReply() {\r\n this.CancelMessagePopup = true;\r\n setTimeout(function () {\r\n $('#CancelMessagePopup .dialog').attr('style', 'width: 33%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n\r\n }\r\n Ok(value) {\r\n if (value == \"Cancel\") {\r\n this.CancelMessagePopup = false;\r\n } else {\r\n this.replytype = '';\r\n this.message.id = 0;\r\n this.CancelMessage();\r\n this.CancelMessagePopup = false;\r\n }\r\n }\r\n SaveMessage(buttontype) {\r\n var receivedids = [];\r\n this.message.messagefromid = this.currentuser.id;\r\n for (var i = 0; i < this.selectedItems.length; i++) {\r\n receivedids.push(this.selectedItems[i].id);\r\n }\r\n this.message.receivedid = receivedids.toString();\r\n this.message.message = this.messagedescription;\r\n\r\n this.messagingservice.SaveMessages(this.message).then(result => {\r\n\r\n if (buttontype == 'Draft') {\r\n this.toastr.success(\"Message Saved to Draft successfully.\", \"Message Saved\", { timeOut: 600 });\r\n this.getallmessages(this.selectedUserIds, '2', this.currentPage, this.pageSize);\r\n this.GetAllmessagesByUsercount(this.currentuser.id, \"Draft\");\r\n\r\n } else {\r\n this.toastr.success(\"Message Sent successfully.\", \"Message Sent\", { timeOut: 600 });\r\n this.getallmessages(this.selectedUserIds, '0', this.currentPage, this.pageSize);\r\n this.GetAllmessagesByUsercount(this.currentuser.id, \"Sent\");\r\n\r\n }\r\n $('.fr-element').empty();\r\n let selfObj = this;\r\n if (selfObj.messagetype != \"compose\")\r\n\r\n selfObj.messageButtonCSS(selfObj.messagetype, selfObj.msgTypId, \"\");\r\n else\r\n selfObj.messageButtonCSS('inbox', 0, 'Save');\r\n selfObj.removeGroupValues(100);\r\n });\r\n }\r\n CancelMessage() {\r\n this.messageButtonCSS('inbox', 0, 'Cancel');\r\n\r\n }\r\n onAgGridReady(event) {\r\n this.gridApi = event.api;\r\n this.gridColumnApi = event.columnApi;\r\n\r\n this.autoSizeAll();\r\n this.removeGroupValues(10);\r\n }\r\n\r\n ResizeTable() {\r\n var url = window.location.href;\r\n if (url.indexOf('messaging') > -1) {\r\n $('.fr-wrapper').css('height', (screen.height * 0.3555) + 'px');\r\n $('.fr-wrapper').css('overflow', 'auto');\r\n $('.fr-wrapper').css('border', '2px solid #00B0F0');\r\n $('.fr-wrapper').css('border-left', '5px solid #e05451');\r\n $('.c-btn').css('border-left', '5px solid #e05451');\r\n\r\n }\r\n }\r\n ResizeTable1() {\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('messaging') > -1) {\r\n $('.fr-wrapper').css('height', (screen.height * 0.21444) + 'px');\r\n $('.fr-wrapper').css('overflow', 'auto');\r\n $('.fr-wrapper').css('border', '2px solid #00B0F0');\r\n $('.fr-wrapper').css('border', '2px solid rgb(162, 228, 119)');\r\n if (this.selectedItems.length > 0) {\r\n $('.c-btn').css('border-left', '2px solid rgb(162, 228, 119)');\r\n } else {\r\n $('.c-btn').css('border-left', '2px solid #e05451');\r\n }\r\n }\r\n }\r\n\r\n public getallmessages(userid, MsgType, startrow, endrow) {\r\n\r\n this.messagingservice.Getallmessages(this.currentuser.id, MsgType, this.currentuser.id, this.startDateVal, this.endDateVal, startrow, endrow).then((messages) => {\r\n messages.forEach(message => {\r\n this.createColumnDefs(\"\");\r\n let dateArr: string[] = message.date.split(\"T\");\r\n let dtArr = dateArr[0].split(\"-\");\r\n let date: string = dtArr[2];\r\n let month: string = dtArr[1];\r\n let year: string = dtArr[0];\r\n message.date = month + \"-\" + date + \"-\" + year + \" \" + dateArr[1];\r\n message.receivednames = this.Getselectedusers(message.receivedid);\r\n this.allMessages = messages;\r\n });\r\n this.allMessages = messages;\r\n \r\n \r\n if (MsgType == 0) { this.inboxmessagecount = this.allMessages.length; }\r\n else if (MsgType == 2) { this.draftmessagecount = this.allMessages.length; }\r\n else if (MsgType == 3) { this.sentmessagecount = this.allMessages.length; }\r\n else if (MsgType == 4) { this.deletedmessagecount = this.allMessages.length; } \r\n });\r\n }\r\n\r\n Getselectedusers(receivedid: string) {\r\n let receivedIdsArr: string[] = receivedid.split(',');\r\n let receivednames: string = \"\";\r\n\r\n receivedIdsArr.forEach(id => {\r\n let usrItem: Dropdowntype = this.dropdownList.find(x => x.id.toString() == id);\r\n if (usrItem != null && usrItem.itemName != null) {\r\n receivednames += usrItem.itemName + \";\"\r\n }\r\n });\r\n if (receivednames.length > 0)\r\n receivednames = receivednames.substr(0, receivednames.length - 2);\r\n\r\n return receivednames;\r\n }\r\n\r\n rowClicked(rowEvent) {\r\n\r\n if (this.markunRead == false) {\r\n\r\n if (rowEvent.node.selected || rowEvent.node.allLeafChildren != undefined) {\r\n document.getElementById('replyBtnDiv').style.display = 'block';\r\n\r\n let data: any;\r\n if (rowEvent.data != undefined && rowEvent.data != null)\r\n data = rowEvent.data;\r\n else if (rowEvent.node.allLeafChildren != undefined && rowEvent.node.allLeafChildren != null && rowEvent.node.allLeafChildren.length > 0 && rowEvent.node.allLeafChildren[0].data != undefined && rowEvent.node.allLeafChildren[0].data != null)\r\n data = rowEvent.node.allLeafChildren[0].data;\r\n\r\n let id: number = data.id;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.Updateisreaddata(data.id);\r\n }, 100));\r\n this.messagingservice.GetMessageById(data.id).then(result => {\r\n this.message = result;\r\n });\r\n\r\n if (rowEvent.node.allLeafChildren != undefined) {\r\n this.selectParentRow(id);\r\n }\r\n }\r\n else {\r\n this.message.id = 0;\r\n this.message = new Messaging();\r\n }\r\n\r\n } else {\r\n this.markunRead = false;\r\n }\r\n\r\n }\r\n ActiveTask(type) {\r\n\r\n this.replytype = type;\r\n let commaSeperatedToIds: string = \"\";\r\n\r\n if (type == 'Reply' || type == 'replytoall') {\r\n this.Replymessages.messageid = this.message.id;\r\n this.Replymessages.replyfromuserid = this.currentuser.id;\r\n if (this.message.receivedid != undefined && this.message.receivedid != null && this.message.receivedid != \"\") {\r\n let toUserIds: string[] = this.message.receivedid.split(\",\");\r\n if (type == 'Reply') {\r\n commaSeperatedToIds = this.message.messagefromid.toString();\r\n this.Replymessages.replytouserids = this.message.messagefromid.toString();\r\n } else {\r\n commaSeperatedToIds += this.message.messagefromid + \",\";\r\n toUserIds.forEach(id => {\r\n if (id != this.currentuser.id)\r\n commaSeperatedToIds += id + \",\";\r\n });\r\n if (commaSeperatedToIds.length > 0)\r\n commaSeperatedToIds = commaSeperatedToIds.substr(0, commaSeperatedToIds.length - 1);\r\n\r\n this.Replymessages.replytouserids = commaSeperatedToIds;\r\n }\r\n }\r\n this.isForward = false;\r\n this.composedReplyMsg = \"\";\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.ResizeTable1();\r\n }, 200));\r\n } else { //forward\r\n\r\n this.message.replied = \"0\";\r\n this.message.subject = \"Fw: \" + this.message.subject;\r\n\r\n this.isForward = true;\r\n\r\n $(setTimeout(function () {\r\n document.getElementById('MsgDiv').style.height = '495px';\r\n }, 500));\r\n\r\n }\r\n\r\n this.selectedItems = [];\r\n let selfObj = this;\r\n this.dropdownList.forEach(item => {\r\n if (selfObj.messagetype == \"inbox\") {\r\n if (selfObj.Replymessages.replytouserids.indexOf(item.id.toString()) >= 0)\r\n selfObj.selectedItems.push({ \"id\": item.id, \"itemName\": item.itemName });\r\n } else {\r\n if (selfObj.Replymessages.replytouserids.indexOf(item.id.toString()) >= 0)\r\n selfObj.selectedItems.push({ \"id\": item.id, \"itemName\": item.itemName });\r\n }\r\n\r\n });\r\n }\r\n\r\n //dateChange(event) {\r\n // this.AssignStartAndEndDate(event);\r\n // this.applicationComponent.startVal = this.startDateVal;\r\n // this.applicationComponent.endVal = this.endDateVal;\r\n // this.getallmessages(this.selectedUserIds, this.msgTypId);\r\n\r\n // this.removeGroupValues(1000);\r\n //}\r\n\r\n //AssignStartAndEndDate(event) {\r\n\r\n // let dateStr = event.formatted.split(\":\")[0];\r\n // if (dateStr == \"Start\")\r\n // this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n // else\r\n // this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n //}\r\n\r\n ///** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n //getDateFormatYYYYHMMHDD(date): string {\r\n // let year = date.year;\r\n // let month = date.month;\r\n // let day = date.day;\r\n\r\n // return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n //}\r\n messageButtonCSS(id, MsgType, Action) {\r\n this.messagetype = id;\r\n this.msgTypId = MsgType;\r\n this.replytype = '';\r\n this.selectedtab = id;\r\n let selfObj = this;\r\n this.message.id = 0;\r\n // if (Action != 'Cancel') {\r\n // document.getElementById('replyBtnDiv').style.display = 'none';\r\n //}\r\n $('.messageButton').removeClass('selectedButtonCSS');\r\n $('#' + id).addClass('selectedButtonCSS');\r\n $('.message').html('');\r\n $('#' + id + '_span').html('');\r\n // selfObj.GetAllmessagesByUsercount(this.currentuser.id);\r\n if (id == 'compose') {\r\n this.message = new Messaging();\r\n this.selectedItems = [];\r\n this.messagedescription = \"\";\r\n // $(\"#gridDiv\").height(window.innerHeight - ($('#appComponentContent').height() + $('#actiondivid').height()) - 20);\r\n } else {\r\n if (Action != 'Save') {\r\n selfObj.getallmessages(selfObj.selectedUserIds, MsgType, this.currentPage, this.pageSize);\r\n selfObj.createColumnDefs(\" \");\r\n }\r\n\r\n }\r\n\r\n $(setTimeout(function () {\r\n selfObj.ResizeTable();\r\n }, 100));\r\n\r\n //selfObj.GetAllmessagesByUsercount(this.currentuser.id);\r\n //this.removeGroupValues(1000);\r\n }\r\n\r\n selectParentRow(id) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n let isFirstNode: boolean = true;\r\n selfObj.gridApi.forEachNode((node) => {\r\n if (node.aggData != undefined || node.aggData != null) {\r\n if (isFirstNode && node.key == id) {\r\n isFirstNode = false;\r\n node.setSelected(true);\r\n //selfObj.gridApi.selectNode(node, true);\r\n }\r\n }\r\n });\r\n }, 500));\r\n }\r\n\r\n first() {\r\n\r\n this.currentPage = 1;\r\n this.getallmessages(this.selectedUserIds, this.messagetype, this.currentPage, this.pageSize);\r\n }\r\n prev() {\r\n if (this.currentPage > 1) {\r\n this.currentPage--;\r\n this.getallmessages(this.selectedUserIds, this.messagetype, this.currentPage, this.pageSize);\r\n }\r\n }\r\n next() {\r\n if (this.currentPage != this.totalnumberofPages) {\r\n this.currentPage++;\r\n this.getallmessages(this.selectedUserIds, this.messagetype, this.currentPage, this.pageSize);\r\n }\r\n\r\n }\r\n last() {\r\n this.currentPage = this.totalnumberofPages;\r\n if (this.currentPage <= this.totalnumberofPages) {\r\n this.getallmessages(this.selectedUserIds, this.messagetype, this.currentPage, this.pageSize);\r\n }\r\n\r\n }\r\n\r\n onItemSelect(item: any) {\r\n if (this.selectedItems.length > 0) {\r\n $('.c-btn').css('border-left', '1px solid #ccc');\r\n } else {\r\n $('.c-btn').css('border-left', '5px solid #e05451');\r\n }\r\n\r\n }\r\n OnItemDeSelect(item: any) {\r\n if (this.selectedItems.length > 0) {\r\n $('.c-btn').css('border-left', '1px solid #ccc');\r\n } else {\r\n $('.c-btn').css('border-left', '5px solid #e05451');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n if (this.selectedItems.length > 0) {\r\n $('.c-btn').css('border-left', '1px solid #ccc');\r\n } else {\r\n $('.c-btn').css('border-left', '5px solid #e05451');\r\n }\r\n }\r\n onDeSelectAll(items: any) {\r\n if (this.selectedItems.length > 0) {\r\n $('.c-btn').css('border-left', '1px solid #ccc');\r\n } else {\r\n $('.c-btn').css('border-left', '5px solid #e05451');\r\n }\r\n }\r\n closeMessage() {\r\n this.location.back()\r\n }\r\n \r\n SubjectKeyUp() {\r\n if (this.message.subject.length > 0) {\r\n $('#SubjectBox').css('border-left', '1px solid #ccc');\r\n }\r\n }\r\n}\r\n","\r\n\r\n

      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n To Do\r\n
      \r\n
      \r\n {{calevent.ToDoCount}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Phone\r\n
      \r\n
      \r\n {{calevent.PhoneCount}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Meeting\r\n
      \r\n
      \r\n {{calevent.MeetingCount}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Blocked\r\n
      \r\n
      \r\n {{calevent.BlockedCount}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Open Tasks\r\n
      \r\n
      \r\n {{calevent.OpenTaskCount}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \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, ViewChild, ViewContainerRef, ElementRef, Optional, Input } from '@angular/core';\r\n//import { CalendarComponent } from \"ap-angular-fullcalendar\";\r\nimport { Http } from '@angular/http';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { Notes } from '../../models/notes';\r\nimport { CalanderEvents } from '../../models/calanderEvent';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { SalesProcessHistory } from '../../models/sales-process-history';\r\nimport { ToastrService } from 'ngx-toastr';;\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Customers } from '../../models/customers';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport * as moment from 'moment'\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { ScheduletaskComponent } from \"../scheduletask/scheduletask.component\";\r\nimport { UserService } from '../../services/user.service';\r\nimport { NotesComponent } from '../notes/notes.component';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\nimport { CalendarOptions, DateSelectArg, EventClickArg, EventApi, FullCalendarComponent } from '@fullcalendar/angular';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { TaskComponent } from '../task/task.component';\r\nimport timeGridPlugin from '@fullcalendar/timegrid';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { Users } from '../../models/users';\r\n\r\n@Component({\r\n selector: 'app-month-calender',\r\n templateUrl: './month-calender.component.html',\r\n styleUrls: ['./month-calender.component.css'],\r\n\r\n})\r\nexport class MonthCalenderComponent implements OnInit {\r\n showDialog = false;\r\n isOn: boolean = true;\r\n check: boolean = true;\r\n dialogOpen: boolean = false;\r\n datepickerOpts: any;\r\n calenderMonthlist = [\"August\"];\r\n num: any;\r\n Ids = [];\r\n calenderHgt = screen.height * 0.61222;\r\n public sideBar;\r\n ids: any;\r\n title: any;\r\n TimeGridWeekOptions0: CalendarOptions = {};\r\n //ListViewOptions: CalendarOptions = {};\r\n events = [];\r\n FirstEvents = [];\r\n call: any;\r\n times: any;\r\n titlesave: Date;\r\n startsave: Date;\r\n startdate: Date;\r\n enddate: Date;\r\n endsave: Date;\r\n editRowId: any;\r\n itemCount = 0;\r\n dayitemCount = 0;\r\n params: any;\r\n dayparams: any;\r\n Detailsdiv: boolean = false;\r\n updatediv: boolean = true;\r\n mycalander1clicked: boolean = false;\r\n mycalander2clicked: boolean = false;\r\n MoveTaskDialog: boolean = false;\r\n hdrHtml0: boolean = false;\r\n hdrHtml1: boolean = false;\r\n hdrHtml2: boolean = false;\r\n taskDialog: boolean = false;\r\n BTClick: boolean = false;\r\n SearchDialog: boolean = false;\r\n finaldata = [];\r\n newEvents = [];\r\n globaleventid: number;\r\n globaldata = [];\r\n globalEvent = [];\r\n items = [];\r\n dayitems = [];\r\n titlesss: any;\r\n dropdownSettings = {};\r\n finalitems = \"\";\r\n myhidden: boolean = true;\r\n CalendarDialog: boolean = true;\r\n myvar: boolean = true;\r\n myremindersdiv: boolean = false;\r\n iscountdisplay: boolean = false;\r\n taskhistory: TaskHistory = new TaskHistory();\r\n user: Users = new Users();\r\n saleprocesshistory: SalesProcessHistory = new SalesProcessHistory();\r\n @ViewChild(ScheduletaskComponent) scheduleComp: ScheduletaskComponent;\r\n @ViewChild(TaskComponent) TaskComp: TaskComponent;\r\n @ViewChild('fullcalendar') fullcalendar: FullCalendarComponent;\r\n @ViewChild(NotesComponent) notecomp;\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n taskhistorynotes: Array = [];\r\n TaskStatuslist: Dropdowntype[] = [];\r\n Tasktypelist: Dropdowntype[] = [];\r\n taskhistoryList = new Array();\r\n notes: Notes = new Notes();\r\n calevent: CalanderEvents = new CalanderEvents();\r\n inbound: Array = [];\r\n demo1Vals: any;\r\n displayKey: String = 'name';\r\n allSelected: Boolean = false;\r\n groupBy: string = 'type';\r\n statustype: string = 'All Tasks';\r\n groups: Array;\r\n dropDownVisible: boolean = false;\r\n selectedItems: Array;\r\n inboundSelector: Array;\r\n filterVal: String;\r\n userprevilages: any;\r\n currentuser: any;\r\n calanderView: any;\r\n itemResource: any;\r\n dayitemResource: any;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n searchDiv: boolean = false;\r\n CustomeritemResource: any;\r\n ContactitemCount = 0;\r\n CustomeritemCount = 0;\r\n Contactitems = [];\r\n Customeritems = [];\r\n public gridOptions: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n pageSize = \"10\";\r\n tableDiv: boolean = true;\r\n labelDiv: boolean = true;\r\n dropdownList = [];\r\n dropdownSetting = {};\r\n alltaskhistory: TaskHistory[];\r\n globalalltaskhistory: TaskHistory[];\r\n aggridheight: string;\r\n timezonevalue: string;\r\n calenderHeight = (screen.height * 0.5888);\r\n public context;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n allnotes: Notes[];\r\n @ViewChild('closeBtn') closeBtn: ElementRef;\r\n public frameworkComponents;\r\n today = Date.now();\r\n DisplayrowsList: Dropdowntype[] = [];\r\n SelectedDate: any;\r\n showListView = \"BlockView\";\r\n showtaskDialog: boolean = false;\r\n selectedTaskId: number=0;\r\n @ViewChild(TaskComponent) taskcomp: TaskComponent;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, today = Date.now();}\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n NotesDec = false;\r\n taskhistoryid: number;\r\n contactid: number;\r\n conid: number;\r\n customer: Customers = new Customers();\r\n selectedmonth = new Date();\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n claenderViewlist: Dropdowntype[];\r\n private gridApi;\r\n LoaderDialog: boolean = false;\r\n expandCalenderView: boolean = false; eventtype: string = \"\"; eventid: string = \"\"; eventdate: Date; startday: string; endday:string;\r\n changeCalendarView(view) {\r\n //this.myCalendar.fullCalendar('changeView', view);\r\n }\r\n close() {\r\n this.closeBtn.nativeElement.click();\r\n }\r\n onCalendarInit() {\r\n }\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n handleDateClick(arg) {\r\n $('.tooltiptopicevent').remove(); \r\n this.SelectedDate = arg.dateStr;\r\n $('#checkDiv').css('height', '89%');\r\n this.SearchDialog = !this.SearchDialog;\r\n this.SearchDialogCss();\r\n\r\n }\r\n\r\n handleDateSelect(arg) {\r\n }\r\n handleEvents(arg) {\r\n }\r\n @Input()\r\n id: number;\r\n @Input()\r\n type: string;\r\n @Input()\r\n taskid: number;\r\n view: string;\r\n CalenderViewType: string;\r\n calanderonoff: boolean = false;\r\n\r\n handleEventClick(clickInfo: EventClickArg) {\r\n if (confirm(`Are you sure you want to delete the event '${clickInfo.event.title}'`)) {\r\n clickInfo.event.remove();\r\n }\r\n }\r\n constructor(public applicationComponent: ApplicationComponent, private http: Http, private router: Router, private customerService: CustomerService, private opprtunityservice: OpprtunitiesService, private leadservice: LeadsService, private userservice: UserService, private toastr: ToastrService, private viewContainerRef: ViewContainerRef, private route: ActivatedRoute, private accountService: AccountsService) {\r\n this.selectedItems = [];\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu(localStorage.getItem(\"Tab\"));\r\n }\r\n this.calanderView = localStorage.getItem(\"calanderView\");\r\n this.refresh();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.user.calanderView = this.currentuser.calanderView;\r\n this.applicationComponent.pageViewed = 'calander';\r\n this.applicationComponent.selectedbuttonText = \"Calendar\";\r\n var obj: AuditLogModel = { id: 0, type: 'Calendar', action: 'Calendar Viewed', AccountOrContactId: 0, AccountOrContact: \"\", documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Calendar Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n this.route.params.subscribe(params => {\r\n this.view = params['subMenuId'];\r\n this.CalenderViewType = params['viewType'];\r\n\r\n });\r\n\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n //this.initializeAgGrid();\r\n \r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n this.customerService.GetPrivilagesByuser(this.currentuser.id).then(result => {\r\n this.userprevilages = result;\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"calenderView\", this.currentuser.id).then((calender) => {\r\n calender.forEach(accounttype => {\r\n });\r\n this.claenderViewlist = calender;\r\n });\r\n\r\n var moment = require('moment-timezone');\r\n this.timezonevalue = moment.tz.guess();\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 0, 0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n\r\n this.dropdownList = Owner;\r\n\r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n })\r\n this.TaskData(this.applicationComponent.calandarType, $(\"#userids\").val());\r\n }\r\n else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n this.TaskData('All Tasks', $(\"#userids\").val())\r\n }\r\n })\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3,\r\n lazyLoading: true\r\n };\r\n \r\n this.userservice.GetUserByuserId(this.currentuser.id).then(result => {\r\n this.user = result;\r\n this.loadcalanderview(this.user.calanderView, 0);\r\n\r\n });\r\n let SO = this;\r\n window.onchange = function (event) { \r\n\r\n }\r\n\r\n }\r\n makeEventsDraggable(eventtype, eventid, date) {\r\n let that = this;\r\n $('.fc-draggable').each(function () {\r\n $(this).data('event', {\r\n title: $.trim($(this).text()), // use the element's text as the event title\r\n stick: true // maintain when user navigates (see docs on the renderEvent method)\r\n });\r\n $(this).draggable({\r\n zIndex: 999,\r\n revert: true, // will cause the event to go back to its\r\n revertDuration: 0 // original position after the drag\r\n });\r\n $(\"td\").removeClass(\"fc-highlight\");\r\n });\r\n $('.fc-rigid').attr('style', 'height:80px');\r\n $('.fc-day-grid-container').attr('style', 'height:auto');\r\n if (eventid != 0) {\r\n that.leadservice.GetByTaskHistoryId(eventid, \"View\", that.currentuser.timezone).then(result => {\r\n that.taskhistory = result;\r\n that.taskhistory.estcompleteddate = date;\r\n that.taskhistory.contactid = that.taskhistory.contactid;\r\n that.taskhistory.type = that.taskhistory.type;\r\n that.taskhistory.userid = that.currentuser.id;\r\n that.taskhistory.timezone = that.currentuser.timezone;\r\n that.taskhistory.tasktype = $(\"#sel1 option:selected\").text();\r\n if (that.taskhistory.time != undefined || that.taskhistory.time != null) {\r\n \r\n that.taskhistory.starttime = moment(date).format(\"MM/DD/YYYY hh:mm a\");\r\n }\r\n if (that.taskhistory.totime != null) {\r\n var difference = moment.duration(moment(that.taskhistory.totime).diff(moment(that.taskhistory.time)));\r\n var endTime = new Date(date.getTime() + difference.asMinutes() * 60000);\r\n that.taskhistory.endtime = moment(endTime).format(\"MM/DD/YYYY hh:mm a\");\r\n }\r\n that.leadservice.addTaskHistory(that.taskhistory).then(result => {\r\n\r\n that.notes.accountid = result.id;\r\n that.notes.type = \"TaskHistory\";\r\n if (eventtype == \"eventDrop\" || eventtype == \"eventReceive\") {\r\n $(setTimeout(function () {\r\n //that.TaskData(that.statustype, $(\"#userids\").val())\r\n\r\n that.checkvalues('All Tasks', $(\"#userids\").val());\r\n }, 100));\r\n }\r\n\r\n\r\n that.notes.userid = that.currentuser.id;\r\n that.notes.notedescription = \"Task Moved to \" + moment(date).format(\"MM/DD/YYYY hh:mm a\");\r\n that.opprtunityservice.addopprtunityNotes(that.notes).then(result => {\r\n that.notes = result;\r\n that.taskhistory.notedescription = '';\r\n this.toastr.success(\"Task saved successfully.\", \"Task Saved\", { timeOut: 600 });\r\n });\r\n });\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n TaskData(val, userids) {\r\n this.applicationComponent.selectedusers = userids;\r\n userids = $(\"#userids\").val();\r\n this.statustype = val;\r\n $('#taskstatus').val(val);\r\n this.applicationComponent.calandarType = val;\r\n if ($(\"#userids\").val() != '') {\r\n this.checkvalues(val, userids);\r\n }\r\n else {\r\n this.items = [];\r\n this.itemCount = 0;\r\n\r\n this.TimeGridWeekOptions0.events = [];\r\n\r\n // this.ListViewOptions.events = [];\r\n }\r\n }\r\n\r\n refresh() {\r\n var that = this;\r\n var calEventStatus = [];\r\n that.taskhistoryList = []; \r\n that.route.params.subscribe(params => {\r\n that.view = params['subMenuId'];\r\n that.CalenderViewType = params['viewType'];\r\n });\r\n\r\n\r\n that.TimeGridWeekOptions0 = {\r\n plugins: [timeGridPlugin], \r\n views: { \r\n TwoWeek: {\r\n text: '2 Weeks',\r\n type: 'timeGridWeek',\r\n duration: { weeks: 2 },\r\n dayHeaderContent: ({ date }) => {\r\n return moment(date).format('ddd MM/DD') \r\n }, \r\n }\r\n },\r\n allDaySlot: false,\r\n slotDuration: '00:15:01',\r\n slotMinTime: '6:00',\r\n slotMaxTime: '24:00',\r\n nowIndicator: true,\r\n selectable: true,\r\n editable: true,\r\n droppable: true,\r\n slotLabelFormat:\r\n {\r\n hour: 'numeric',\r\n minute: '2-digit',\r\n omitZeroMinute: false,\r\n },\r\n buttonText: {\r\n //today: 'Today',\r\n month: 'Month',\r\n week: 'Week',\r\n day: 'Day',\r\n list: 'List',\r\n TwoWeek: '2 Weeks',\r\n },\r\n headerToolbar:\r\n {\r\n left: 'today,prev,next',\r\n center: 'title',\r\n right: 'timeGridDay,timeGridWeek,TwoWeek,dayGridMonth' \r\n },\r\n \r\n //buttonText: {\r\n // today: 'Today',\r\n // month: 'Month',\r\n // week: 'Week',\r\n // day: 'Day',\r\n // list: 'List',\r\n // twoweek: '2 week',\r\n //},\r\n dateClick: this.handleDateClick.bind(this),\r\n eventDidMount: function (event) {\r\n },\r\n datesSet: function (event) {\r\n that.startday = event.startStr.toString();\r\n that.endday = event.endStr.toString();\r\n if (that.iscountdisplay) {\r\n\r\n that.loadtaskValues(that.startday, that.endday);\r\n }\r\n },\r\n eventDrop: function (event) { \r\n that.eventtype = \"eventDrop\";\r\n that.eventid = event.event.id;\r\n that.eventdate = event.event.start;\r\n that.MoveTaskDialog = true;\r\n setTimeout(function () {\r\n $('#MoveTaskDialog .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height:22%;overflow: auto;height: 4%;top:0%');\r\n }, 4)\r\n\r\n },\r\n \r\n loading: function (isLoading) {\r\n\r\n if (isLoading) {\r\n that.LoaderDialog = true;\r\n that.LoaderDialogCss();\r\n }\r\n else {\r\n that.LoaderDialog = false;\r\n }\r\n\r\n },\r\n eventResize: function (event, ) {\r\n that.makeEventsDraggable('eventResize', event.event.id, event.event.start);\r\n },\r\n eventReceive: function (event) {\r\n that.makeEventsDraggable('eventReceive', that.globaleventid, event.event.start);\r\n },\r\n eventClick: function (event) {\r\n $(setTimeout(function () {\r\n\r\n that.leadservice.GetByTaskHistoryId(Number(event.event.id), \"View\", that.currentuser.timezone).then(result => {\r\n that.taskhistory = result;\r\n if (!that.taskhistory.status.startsWith(\"Complete\")){\r\n that.id = that.taskhistory.contactid;\r\n that.taskid = that.taskhistory.id;\r\n that.type = that.taskhistory.type;\r\n if (that.taskhistory.contactid == null || that.taskhistory.contactid == 0 || that.taskhistory.contactid == undefined) {\r\n that.BTClick = true;\r\n }\r\n var url = window.location.href;\r\n if (url.indexOf('month-calender') > -1) {\r\n $('#checkDiv').css('height', '83%');\r\n }\r\n if (that.taskid != undefined) {\r\n that.taskDialog = !that.taskDialog;\r\n that.taskDialogCss();\r\n $(setTimeout(function () {\r\n $('.tooltiptopicevent').remove(); \r\n that.TaskComp.loadcoantactname(that.id, that.type);\r\n that.TaskComp.LoadSelectedTaskdata(that.taskid, true, \"View\");\r\n that.TaskComp.loadtaskHistoryByselecteddate(that.taskhistory.estcompleteddate);\r\n\r\n }, 300));\r\n }\r\n }\r\n });\r\n }, 300));\r\n\r\n },\r\n eventMouseEnter: function (event) {\r\n var notesli = \"\";\r\n that.leadservice.GetAllTaskHistoryById(Number(event.event.id), 'TaskHistory').then((items) => {\r\n this.taskhistorynotes = items;\r\n this.taskhistorynotes.forEach((res) => {\r\n notesli += \" -\" + res.notedescription + \"
      \";\r\n });\r\n\r\n });\r\n\r\n\r\n that.leadservice.GetByTaskHistoryId(Number(event.event.id), \"View\", that.currentuser.timezone).then(taskdata => {\r\n that.taskhistory = taskdata;\r\n\r\n var moment = require('moment-timezone');\r\n let frm = (event.event.start == null) ? '(NTS)' : moment.tz(event.event.start.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n let to = (event.event.end == null) ? '(NTS)' : moment.tz(event.event.end.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n var contact = (that.taskhistory.contactid != 0 && that.taskhistory.contactid != null) ? \"Contact: \" + that.taskhistory.contactName + \"
      \" : \"\";\r\n var Account = (that.taskhistory.contactid != 0 && that.taskhistory.contactid != null) ? \"Account: \" + that.taskhistory.accountname + \"
      \" : \"\";\r\n let timelabel = frm + '-' + to;\r\n var tooltip = \"
      \"\r\n + \"Date: \" + moment(event.event.start).format(\"MM/DD/YYYY\") + \"
      \"\r\n + \"Time: \" + timelabel + \"
      \"\r\n + contact\r\n + Account\r\n + \"Type: \" + event.event.title.split(\"[\")[0] + \"
      \"\r\n + \"Notes: \" + notesli + \"
      \"\r\n + \"
      \";\r\n $(this).mouseover(function (e) {\r\n $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n });\r\n $(this).mousemove(function (e) {\r\n $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n });\r\n $(\"body\").append(tooltip);\r\n });\r\n },\r\n eventMouseLeave: function (data) { \r\n $('.tooltiptopicevent').remove(); \r\n },\r\n eventDragStart: function (event) {\r\n that.globaleventid = 0;\r\n calEventStatus['calendar'] = '#calendar1';\r\n calEventStatus['event_id'] = event.event.id;\r\n that.globaleventid = Number(event.event.id);\r\n },\r\n \r\n eventDragStop: function (event) {\r\n \r\n\r\n calEventStatus = [];\r\n\r\n },\r\n\r\n };\r\n\r\n\r\n\r\n\r\n if (that.CalenderViewType !== undefined) {\r\n\r\n var curr = new Date(that.CalenderViewType); // get current date\r\n var first = curr.getDate(); // First day is the day of the month - the day of the week\r\n var last = first + 7; // last day is the first day + 6\r\n\r\n var firstday = this.datePipe.transform(curr.setDate(first), 'yyyy-MM-dd');/* new Date(curr.setDate(first)).toUTCString();*/\r\n var lastday = this.datePipe.transform(curr.setDate(last), 'yyyy-MM-dd');/* new Date(curr.setDate(last)).toUTCString();*/\r\n\r\n this.TimeGridWeekOptions0.validRange = function (nowDate) {\r\n return {\r\n start: that.CalenderViewType,\r\n end: that.CalenderViewType,\r\n };\r\n }\r\n }\r\n\r\n\r\n //that.ListViewOptions = {\r\n // initialView: 'listWeek',\r\n \r\n // headerToolbar:\r\n // {\r\n // left: 'today,prev,next',\r\n // center: 'title',\r\n // right: \"listDay,listWeek,listTwoWeek,listMonth\"\r\n\r\n // },\r\n // allDaySlot: true,\r\n // views: {\r\n\r\n // listTwoWeek: {\r\n // text: 'Two Weeks',\r\n // type: 'listWeek',\r\n // duration: { weeks: 2 },\r\n // dayHeaderContent: ({ date }) => {\r\n // return moment(date).format('ddd MM/DD')\r\n // },\r\n\r\n // }, \r\n // today: { buttonText: 'Today'},\r\n // listDay: { buttonText: 'Day' },\r\n // listWeek: { buttonText: 'Week' },\r\n // listMonth: { buttonText: 'Month' },\r\n // listYear: { buttonText: 'Year' },\r\n \r\n // },\r\n\r\n // eventDidMount: function (event) {\r\n // },\r\n // eventClick: function (event) {\r\n // $(setTimeout(function () {\r\n // that.leadservice.GetByTaskHistoryId(parseInt(event.event.id), \"View\", that.currentuser.timezone).then(result => {\r\n // that.taskhistory = result;\r\n // that.id = that.taskhistory.contactid;\r\n // that.taskid = that.taskhistory.id;\r\n // that.type = that.taskhistory.type;\r\n\r\n // that.showtaskDialog = !that.showtaskDialog;\r\n // that.ShowtaskDialogBoxCss();\r\n // $(setTimeout(function () {\r\n // //that.scheduleComp.loadcoantactname(that.id, that.type);\r\n // //that.scheduleComp.LoadSelectedTaskdata(that.taskid, true, \"View\");\r\n // //that.scheduleComp.loadtaskHistoryByselecteddate(that.taskhistory.estcompleteddate);\r\n\r\n // that.TaskComp.loadcoantactname(that.id, that.type);\r\n // that.TaskComp.LoadSelectedTaskdata(that.taskid, true, \"View\");\r\n // that.TaskComp.loadtaskHistoryByselecteddate(that.taskhistory.estcompleteddate);\r\n // }, 300));;\r\n\r\n\r\n // });\r\n // }, 400));\r\n\r\n // },\r\n\r\n //};\r\n $('#NewtimeGridWeekCalender1').hide();\r\n $('#NewtimeGridWeekCalender2').hide();\r\n $('#myCalendar1Div').hide();\r\n $('#myCalendar2Div').hide();\r\n\r\n\r\n }\r\n\r\n ShowtaskDialogBoxCss() {\r\n $(setTimeout(function () {\r\n\r\n $('#showtaskDialog .dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n\r\n }, 4));\r\n\r\n }\r\n\r\n hours_am_pm(time) {\r\n if (time != null && time != '') {\r\n let hour = (time.split(':'))[0]\r\n let min = (time.split(':'))[1]\r\n let part = hour > 12 ? 'pm' : 'am';\r\n min = (min + '').length == 1 ? `0${min}` : min;\r\n hour = hour > 12 ? hour - 12 : hour;\r\n hour = (hour + '').length == 1 ? `0${hour}` : hour;\r\n return `${hour}:${min} ${part}`\r\n }\r\n\r\n }\r\n checkvalues(val, userids) {\r\n this.selectedTaskId = Number(localStorage.getItem('TaskSelected'));\r\n this.alltaskhistory = [];\r\n this.newEvents = [];\r\n this.finaldata = [];\r\n if (userids) {\r\n this.leadservice.GetAllTaskHistoryForCalendar(val, userids, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'null', val, this.currentuser.timezone).then((taskhistory) => {\r\n this.globalalltaskhistory = taskhistory;\r\n var curr = new Date(); // get current date\r\n var first = curr.getDate() - curr.getDay(); // First day is the day of the month - the day of the week\r\n var last = first + 7; // last day is the first day + 6\r\n\r\n var firstday = so.datePipe.transform(curr.setDate(first), 'yyyy-MM-dd');/* new Date(curr.setDate(first)).toUTCString();*/\r\n var lastday = so.datePipe.transform(curr.setDate(last), 'yyyy-MM-dd');\r\n this.loadtaskValues(firstday, lastday);\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"yyyy-MM-dd\");\r\n taskhistory.datecompleted = taskhistory.datecompleted == null ? \"\" : this.datePipe.transform(taskhistory.datecompleted, \"yyyy-MM-dd\");\r\n taskhistory.DateSched = taskhistory.estcompleteddate == null ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"yyyy-MM-dd\");\r\n taskhistory.time = taskhistory.starttime;\r\n taskhistory.totime = taskhistory.endtime;\r\n \r\n var moment = require('moment-timezone');\r\n taskhistory.estcompleteddate = moment.tz(taskhistory.estcompleteddate.toLocaleString(), this.timezonevalue).format(\"YYYY-MM-DD\");\r\n\r\n if (taskhistory.status == 'Open') {\r\n\r\n if ((taskhistory.starttime != null && taskhistory.starttime != '0:00')) {\r\n (this.finaldata).push({\r\n\r\n id: taskhistory.id,\r\n title: taskhistory.tasktype + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \" - \" + taskhistory.firstName + \",\" + taskhistory.lastName),\r\n start: (taskhistory.starttime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.starttime).toISOString() : '',\r\n end: (taskhistory.endtime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.endtime).toISOString() : '',\r\n color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8',\r\n backgroundColor: (this.selectedTaskId == taskhistory.id) ? '#000000' : (taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8',\r\n borderColor: (this.selectedTaskId == taskhistory.id) ?'black':'none'\r\n });\r\n }\r\n else {\r\n (this.finaldata).push({\r\n id: taskhistory.id,\r\n title: taskhistory.tasktype + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \" - \" + taskhistory.firstName + \",\" + taskhistory.lastName),\r\n start: taskhistory.estcompleteddate,\r\n color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8',\r\n backgroundColor: (this.selectedTaskId == taskhistory.id) ? '#000000' :(taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8',\r\n borderColor: (this.selectedTaskId == taskhistory.id) ? 'black' : 'none',\r\n\r\n });\r\n }\r\n }\r\n else if (taskhistory.status == 'Completed' || taskhistory.status == 'Complete & Repeat' || taskhistory.status == 'Complete & Schedule New' || taskhistory.status == 'Complete & Return' || taskhistory.status =='Not Completed') {\r\n if ((taskhistory.starttime != null && taskhistory.starttime != '0:00')) {\r\n (this.finaldata).push({\r\n id: taskhistory.id,\r\n title: taskhistory.tasktype + ((taskhistory.contactid == 0 || taskhistory.contactid == null) ? '' : \" - \" + taskhistory.firstName + \",\" + taskhistory.lastName),\r\n start: (taskhistory.starttime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.starttime).toISOString() : '',\r\n end: (taskhistory.endtime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.endtime).toISOString() : '',\r\n color: (taskhistory.contactid == 0) ? 'lightgrey' : 'lightgrey',\r\n textColor: 'black',\r\n backgroundColor: (this.selectedTaskId == taskhistory.id) ? '#000000' :'lightgrey',\r\n borderColor: (this.selectedTaskId == taskhistory.id) ? 'black' : 'none'\r\n });\r\n } else {\r\n (this.finaldata).push({\r\n id: taskhistory.id, color: (taskhistory.contactid == 0) ? 'lightgrey' : 'lightgrey', textColor: 'black',\r\n backgroundColor: (this.selectedTaskId == taskhistory.id) ? '#000000' :'lightgrey',\r\n Contact: taskhistory.contactName, title: taskhistory.tasktype + \"[\" + taskhistory.owner, start: new Date(taskhistory.estcompleteddate + \" \" + ((taskhistory.starttime) ? taskhistory.starttime : '')).toISOString(),\r\n borderColor: (this.selectedTaskId == taskhistory.id) ? 'black' : 'none'\r\n\r\n });\r\n }\r\n }\r\n else {\r\n if ((taskhistory.starttime != null && taskhistory.starttime != '0:00')) {\r\n (this.finaldata).push({\r\n id: taskhistory.id,\r\n title: taskhistory.tasktype + \"[\" + taskhistory.firstName + \" \" + taskhistory.lastName,\r\n start: (taskhistory.starttime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.starttime).toISOString() : '',\r\n end: (taskhistory.endtime) ? new Date(taskhistory.estcompleteddate + \" \" + taskhistory.endtime).toISOString() : '',\r\n color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8',\r\n backgroundColor: (this.selectedTaskId == taskhistory.id) ? '#000000' : (taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8',\r\n borderColor: (this.selectedTaskId == taskhistory.id) ? 'black' : 'none'\r\n });\r\n } else {\r\n (this.finaldata).push({\r\n id: taskhistory.id, color: (taskhistory.contactid == 0) ? '#0c3d6d' : '#3788d8',\r\n backgroundColor: (this.selectedTaskId == taskhistory.id) ? '#000000': (taskhistory.taskcategory == \"Phone\") ? '#00aa55' : taskhistory.taskcategory == \"To Do\" ? '#f56042' : taskhistory.taskcategory == \"Blocked Times\" ? '#aa54aa' : '#3788d8',\r\n Contact: taskhistory.contactName, title: taskhistory.tasktype + \"   \" + taskhistory.firstName + \",\" + taskhistory.lastName, start: taskhistory.estcompleteddate, From: taskhistory.starttime, To: taskhistory.endtime,\r\n // borderColor: (this.selectedTaskId == taskhistory.id) ? 'black' : 'none'\r\n });\r\n }\r\n }\r\n });\r\n if (this.check == true) {\r\n $('.fc .fc-today-button').attr('disabled', false);\r\n this.newEvents = this.finaldata;\r\n this.TimeGridWeekOptions0.events = [];\r\n this.TimeGridWeekOptions0.events = this.newEvents;\r\n this.finaldata = [];\r\n }\r\n this.applicationComponent.searchCriteriadata = [];\r\n \r\n });\r\n } else {\r\n this.TimeGridWeekOptions0.events = []; \r\n //this.ListViewOptions.events = [];\r\n this.newEvents = [];\r\n\r\n }\r\n let so = this;\r\n $(\".fc-dayGridMonth-button\").click(function () {\r\n var curr = new Date(); // get current date\r\n var first = new Date(curr.getFullYear(), curr.getMonth(), 1);\r\n var last = new Date(curr.getFullYear(), curr.getMonth() + 1, 0);\r\n\r\n var firstday = so.datePipe.transform(first, 'yyyy-MM-dd');\r\n var lastday = so.datePipe.transform(last, 'yyyy-MM-dd');\r\n\r\n so.TimeGridWeekOptions0.validRange = function (nowDate) {\r\n return {\r\n start: firstday,\r\n end: lastday,\r\n };\r\n }\r\n so.loadtaskValues(firstday, lastday);\r\n \r\n });\r\n\r\n\r\n $(\".fc-timeGridWeek-button\").click(function () {\r\n so.iscountdisplay = true;\r\n });\r\n\r\n \r\n $(\".fc-TwoWeek-button\").click(function () {\r\n so.iscountdisplay = true; \r\n\r\n });\r\n\r\n $(\".fc-timeGridDay-button\").click(function () {\r\n so.iscountdisplay = true; \r\n });\r\n $(\".fc-today-button\").click(function () {\r\n so.iscountdisplay = true; \r\n });\r\n\r\n }\r\n loadtaskValues(firstday: string, lastday: string) {\r\n \r\n this.calevent.ToDoCount = this.globalalltaskhistory.filter((val) => val.estcompleteddate >= firstday && val.estcompleteddate <= lastday && val.taskcategory.includes('To Do')).length;\r\n this.calevent.PhoneCount = this.globalalltaskhistory.filter((val) => val.estcompleteddate >= firstday && val.estcompleteddate <= lastday && val.taskcategory.includes('Phone')).length;\r\n\r\n this.calevent.MeetingCount = this.globalalltaskhistory.filter((val) => val.estcompleteddate >= firstday && val.estcompleteddate <= lastday && val.taskcategory.includes('Meeting')).length;\r\n\r\n this.calevent.BlockedCount = this.globalalltaskhistory.filter((val) => val.estcompleteddate >= firstday && val.estcompleteddate <= lastday && val.taskcategory.includes('Blocked Times')).length;\r\n\r\n this.calevent.OpenTaskCount = this.globalalltaskhistory.filter((val) => val.estcompleteddate >= firstday && val.estcompleteddate <= lastday && val.status.includes('Open')).length;\r\n\r\n //if (this.showListView == 'ListView') {\r\n this.alltaskhistory = this.globalalltaskhistory.filter((val) => val.estcompleteddate >= firstday && val.estcompleteddate <= lastday);\r\n //}\r\n }\r\n\r\n CustomeSort(ascending, field, status) {\r\n let that = this;\r\n return function (a, b) {\r\n if (new Date(a[field]) < new Date('yyyy-MM-dd')) return 0;\r\n else if (a[status] < b[status]) return -1;\r\n else return -1;\r\n };\r\n }\r\n\r\n loadcalanderview(selectedView, type) {\r\n this.expandCalenderView = false;\r\n $('#NewtimeGridWeekCalender0 .fc-button-group .fc-today-button').attr('style', 'width: 80px !important;');\r\n $('#NewtimeGridWeekCalender0 .fc-button-group .fc-prev-button').attr('style', 'width: 80px !important;padding-left: 25px;');\r\n $('#NewtimeGridWeekCalender0 .fc-button-group .fc-next-button').attr('style', 'width: 80px !important;padding-left: 25px;');\r\n $('#NewtimeGridWeekCalender0 .fc-button-group .fc-timeGridDay-button').attr('style', 'width: 80px !important;');\r\n $('#NewtimeGridWeekCalender0 .fc-button-group .fc-timeGridWeek-button').attr('style', 'width: 80px !important;');\r\n $('#NewtimeGridWeekCalender0 .fc-button-group .fc-dayGridMonth-button').attr('style', 'width: 80px !important;');\r\n $('#NewtimeGridWeekCalender0 .fc-button-group .fc-TwoWeek-button').attr('style', 'width: 80px !important;');\r\n $('#NewtimeGridWeekCalender0 div.fc-timegrid-body').attr('style', 'position: relative;z-index: 1;min-height: 100%;width: 102% !important;');\r\n $('#NewtimeGridWeekCalender0 div.fc-scroller').attr('style', ' height:50% !important;overflow: auto!important;');\r\n \r\n }\r\n\r\n onItemSelect(item: any) {\r\n var ids = \"\";\r\n ids += item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.TaskData(this.statustype, $(\"#userids\").val())\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = \"\";\r\n ids = item.id;\r\n var result = '';\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.TaskData(this.statustype, $(\"#userids\").val())\r\n } else {\r\n this.TimeGridWeekOptions0.events = [];\r\n //this.calendarOptions0.events = [];\r\n //this.calendarOptions1.events = [];\r\n //this.calendarOptions2.events = [];\r\n // this.ListViewOptions.events = [];\r\n\r\n this.alltaskhistory = [];\r\n $(\"#userids\").val('');\r\n this.itemCount = 0;\r\n this.statustype = this.statustype;\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n\r\n this.TaskData(this.statustype, $(\"#userids\").val())\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.applicationComponent.selectedusers = null;\r\n this.alltaskhistory = [];\r\n $(\"#userids\").val('');\r\n this.TimeGridWeekOptions0.events = [];\r\n\r\n //this.ListViewOptions.events = [];\r\n\r\n }\r\n\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n this.checkvalues($('#taskstatus').val(), $(\"#userids\").val());\r\n this.saveConfiguration();\r\n }\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n TaskDataEventListener() {\r\n if (this.applicationComponent.isTaskDataLeadEventRaised) {\r\n this.pageSize\r\n this.TaskData(this.applicationComponent.TaskDataVal, this.applicationComponent.TaskDataUserids);\r\n this.applicationComponent.isTaskDataLeadEventRaised = false;\r\n }\r\n return false;\r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single',\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n return '';\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n }\r\n //onAgGridReadynotes(event) {\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAllnotes();\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAllnotes();\r\n // }, 400));\r\n // }, 400));\r\n //}\r\n autoSizeAllnotes() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n createColumnDefs() {\r\n this.columnDefs = [ \r\n {\r\n field: 'datecreated', headerName: 'Date', hide: false, width: 100,cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'time', headerName: 'Time', hide: false, cellRenderer: (params) => {\r\n return params.data.time + \" - \" + params.data.endtime;\r\n }\r\n }, \r\n {\r\n field: 'DAY', headerName: 'Day', width: 100,hide: false\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account', hide: false\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false\r\n },\r\n {\r\n field: 'titleName', headerName: 'Title', width: 100, hide: false\r\n },\r\n {\r\n field: 'tasktype', headerName: 'Type', hide: false\r\n },\r\n {\r\n field: 'taskcategory', headerName: 'Task', hide: false\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: false\r\n },\r\n \r\n ];\r\n \r\n }\r\n //onAgGridReady(event) {\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // }, 100));\r\n // }, 100));\r\n //}\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n var allColumnIds = [];\r\n if (this.gridOptions && this.gridOptions.columnApi) {\r\n this.gridOptions.columnApi.getAllColumns().forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n\r\n //this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.gridOptions.api.paginationSetPageSize(Number(this.alltaskhistory.length));\r\n this.saveConfiguration();\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 9;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n //this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && (fields[1] != '#' && fields[0] != 'notes')) {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n //this.applicationComponent.ShowSearchTabs('True');\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n if (element.subtab == 'TaskCalander' && this.applicationComponent.Searchtabname == \"TaskCalander\") {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } else if (element.subtab == 'ViewCalander' && this.applicationComponent.Searchtabname == \"ViewCalander\") {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } else {\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = false;\r\n }\r\n\r\n\r\n });\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n }\r\n else {\r\n this.accountService.GetDefaultColumns('TaskCalander', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'accountname', \"itemName\": 'Account Name' },\r\n { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n { \"id\": 'lastName', \"itemName\": 'Last Name' },\r\n ];\r\n }\r\n });\r\n }\r\n }\r\n\r\n //rowClickAgGrid(rowEvent) {\r\n\r\n // \r\n // if ((this.Ids).indexOf(rowEvent.data.contactid) > -1) {\r\n // var index = (this.Ids).indexOf(rowEvent.data.contactid);\r\n // (this.Ids).splice(index, 1);\r\n // var string = (this.Ids).toString();\r\n // $('#emailIds').val(string);\r\n // $('#tasklistselectedtyle').val('');\r\n\r\n // } else {\r\n // this.Ids.push(rowEvent.data.contactid)\r\n // var string = (this.Ids).toString();\r\n // $('#emailIds').val(string);\r\n // if (rowEvent.data.type == \"Contacts\") {\r\n // $('#tasklistselectedtyle').val('Contact');\r\n // }\r\n // else {\r\n // $('#tasklistselectedtyle').val('Customer');\r\n // }\r\n // }\r\n\r\n\r\n\r\n //}\r\n\r\n onTaskListChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n var data = rowEvent.api.getSelectedNodes()[0].data;\r\n var curr = new Date(data.estcompleteddate); // get current date\r\n var first = curr.getDate() - curr.getDay(); // First day is the day of the month - the day of the week\r\n var last = first + 7; // last day is the first day + 6\r\n var firstday = this.datePipe.transform(curr.setDate(first), 'yyyy-MM-dd');/* new Date(curr.setDate(first)).toUTCString();*/\r\n var lastday = this.datePipe.transform(curr.setDate(last), 'yyyy-MM-dd');/* new Date(curr.setDate(last)).toUTCString();*/\r\n this.TimeGridWeekOptions0.validRange = function (nowDate) {\r\n return {\r\n start: firstday,\r\n end: lastday,\r\n };\r\n }\r\n }\r\n } else {\r\n var curr = new Date(); // get current date\r\n var first = curr.getDate() - curr.getDay(); // First day is the day of the month - the day of the week\r\n var last = first + 7; // last day is the first day + 6\r\n var firstday = this.datePipe.transform(curr.setDate(first), 'yyyy-MM-dd');/* new Date(curr.setDate(first)).toUTCString();*/\r\n var lastday = this.datePipe.transform(curr.setDate(last), 'yyyy-MM-dd');/* new Date(curr.setDate(last)).toUTCString();*/\r\n this.TimeGridWeekOptions0.validRange = function (nowDate) {\r\n return {\r\n start: firstday,\r\n end: lastday,\r\n };\r\n }\r\n //this.TimeGridWeekOptions0.initialDate = new Date();\r\n $('#NewtimeGridWeekCalender0 .fc-today-button').click();\r\n }\r\n }\r\n\r\n rowDoubleClickAgGrid(rowEvent) {\r\n\r\n var message = rowEvent.data.contactid + '|' + rowEvent.data.id + '|' + rowEvent.data.type\r\n //var data = msg.split(\"|\");\r\n this.id = rowEvent.data.contactid;\r\n this.taskid = rowEvent.data.id;\r\n this.type = rowEvent.data.type;\r\n\r\n this.leadservice.GetByTaskHistoryId(this.taskid, \"View\", this.currentuser.timezone).then(result => {\r\n this.taskhistory = result;\r\n this.id = this.taskhistory.contactid;\r\n this.taskid = this.taskhistory.id;\r\n this.type = this.taskhistory.type;\r\n this.taskDialog = !this.taskDialog;\r\n this.taskDialogCss();\r\n });\r\n }\r\n\r\n openDisplaynotes(params) {\r\n // this.notes.notedescription = params.value;\r\n this.NotesDec = !this.NotesDec;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n $(setTimeout(function () {\r\n\r\n this.dialogsize();\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n\r\n dialogsize() {\r\n setTimeout(function () {\r\n $('#showDetailsDialog').attr('style', ' width: 100%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 63%;overflow: auto;height: 63%;');\r\n\r\n }, 4)\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n\r\n }\r\n saveEditedNote() {\r\n\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.getTaskHistoryNotes(selfObj.contactid, 'TaskHistory');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n //this.Notes(this.selectedTabName);\r\n }\r\n\r\n getTaskHistoryNotes(id, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, id, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = taskhistory;\r\n\r\n let windowHeight = $(window).height() - 330;\r\n\r\n });\r\n }\r\n\r\n onTaskSaved(msg) {\r\n this.taskDialog = !this.taskDialog;\r\n this.taskDialogCss();\r\n //this.TaskData(this.statustype, $(\"#userids\").val())\r\n this.TaskData('All Tasks', $(\"#userids\").val());\r\n this.SelectedDate = null;\r\n }\r\n openNotesDialogAg(rowdata) {\r\n //$('#checkDiv').css('height', '63%');\r\n //this.taskhistoryid = rowdata.id;\r\n //if (rowdata.type == 'Contacts') {\r\n // this.opprtunityservice.GetContactById(rowdata.contactid).then(result => {\r\n // this.opprtunityservice.GetByAccountId(result.accountid).then(result => {\r\n // this.account = result;\r\n // });\r\n // var middleName = '';\r\n // var title = '';\r\n // if (result != null && result.middlename != null) {\r\n // middleName = result.middlename;\r\n // }\r\n // if (result != null && result.title != null) {\r\n // title = ',' + result.title;\r\n // }\r\n // if (result != null)\r\n // this.contact.firstname = result.firstname + ' ' + middleName + ' ' + result.lastname + title;\r\n // });\r\n //}\r\n //else if (rowdata.type == 'Customer') {\r\n // this.customerService.GetByproviderId(rowdata.contactid).then(result => {\r\n // this.customer = result;\r\n // var middleName = '';\r\n // var title = '';\r\n // if (result != null && result.middle != null) {\r\n // middleName = result.middle;\r\n // }\r\n // if (result != null && result.title != null) {\r\n // title = ',' + result.title;\r\n // }\r\n // if (result != null)\r\n // this.contact.firstname = result.first + ' ' + middleName + ' ' + result.last + title;\r\n // });\r\n //}\r\n //this.contactid = rowdata.id;\r\n //this.conid = rowdata.contactid;\r\n //$('#accotIdNotes').val(rowdata.id);\r\n //$('#accotTypeNotes').val('TaskHistory');\r\n //this.getTaskHistoryNotes(rowdata.id, 'TaskHistory');\r\n //this.showDialog = !this.showDialog;\r\n //this.NotesDialogCss();\r\n //let selfobj = this;\r\n //$(setTimeout(function () {\r\n // selfobj.notecomp.Notes('TaskHistory');\r\n // $('#chkShowDetailsNotes').prop('checked', false); $('#closeDetailsDialog').click();\r\n //}, 100))\r\n\r\n\r\n //$('.dialog').width('1000px');\r\n\r\n\r\n this.conid = rowdata.contactid;\r\n this.showDialog = !this.showDialog;\r\n this.NotesDialogCss();\r\n\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n onSearchstring(msg) {\r\n $('.tooltiptopicevent').remove(); \r\n if (msg == 'BTClick') {\r\n this.taskDialog = true;\r\n this.SearchDialog = true;\r\n this.taskDialogCss();\r\n this.SearchDialog = !this.SearchDialog;\r\n this.BTClick = true;\r\n this.id = 0;\r\n this.taskid = 0; \r\n } else {\r\n var data = msg.split(\"|\");\r\n this.contactid = data[0];\r\n this.SearchDialog = !this.SearchDialog;\r\n this.SearchDialogCss();\r\n this.taskDialog = !this.taskDialog;\r\n this.taskDialogCss();\r\n this.id = data[0];\r\n this.taskid = 0;\r\n this.type = data[1];\r\n this.BTClick = false;\r\n let selfObj = this; \r\n $(setTimeout(function () {\r\n selfObj.TaskComp.loadcoantactname(selfObj.id, selfObj.type);\r\n selfObj.TaskComp.LoadSelectedTaskdata(selfObj.taskid, true, \"View\");\r\n selfObj.TaskComp.loadtaskHistoryByselecteddate(selfObj.taskhistory.estcompleteddate);\r\n }, 300));\r\n }\r\n }\r\n calanderclick(val) {\r\n this.calanderonoff = val;\r\n this.checkvalues($('#taskstatus').val(), $(\"#userids\").val());\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n\r\n }\r\n\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n this.calanderonoff = outProps.calanderonoff; \r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n if (!outProps.pageSizeChanged) {\r\n this.TaskData(outProps.secondDrpValue, $(\"#userids\").val());\r\n this.loadcalanderview(outProps.thirdDrpValue, outProps.thirdDrpValue);\r\n }\r\n } else {\r\n this.alltaskhistory = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n taskDialogCss() {\r\n $(setTimeout(function () {\r\n $('#taskDialog .dialog').attr('style', 'width: 45%;padding: 0;min-height: 63%;height: 99%;top: 0;left: 3%;max-width: 1393px !important;margin-right:1%;');\r\n }, 4));\r\n }\r\n SearchDialogCss() {\r\n $(setTimeout(function () {\r\n $('#SearchDialog .dialog').attr('style', 'width: 100%;padding: 0;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n ShowCalenderListView(msg) {\r\n this.showListView = msg;\r\n if (this.showListView == \"ListView\") { \r\n $(setTimeout(function () {\r\n $('#NewtimeGridWeekCalender0 div.fc-view-harness').attr('style', 'display:none;');\r\n }, 4));\r\n this.iscountdisplay = true;\r\n this.initializeAgGrid();\r\n this.loadtaskValues(this.datePipe.transform(this.startday, 'yyyy-MM-dd'), this.datePipe.transform(this.endday, 'yyyy-MM-dd')); \r\n } else {\r\n this.iscountdisplay = false;\r\n $(setTimeout(function () {\r\n $('#NewtimeGridWeekCalender0 div.fc-view-harness').attr('style', 'display:block;');\r\n $('#NewtimeGridWeekCalender0 div.fc-view-harness').attr('style', 'height:1120px;');\r\n }, 4)); \r\n \r\n }\r\n this.loadcalanderview(msg, msg);\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: false, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: 'single', enableCellChangeFlash: true, suppressSorting: true, suppressMultiSort: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createColumnDefs();\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n }\r\n onTaskclose(event) {\r\n this.showtaskDialog = !this.showtaskDialog;\r\n }\r\n expandCalender(val) {\r\n this.expandCalenderView = val;\r\n\r\n if (val == true) {\r\n $(setTimeout(function () {\r\n $('#NewtimeGridWeekCalender0 div.fc-timegrid-body').attr('style', 'position: relative;z-index: 1;min-height: 100%;width: 101.2% !important;');\r\n $('#NewtimeGridWeekCalender0 div.fc-scroller').attr('style', ' height:51% !important;overflow: auto!important;');\r\n }, 4));\r\n } else {\r\n $(setTimeout(function () {\r\n $('#NewtimeGridWeekCalender0 div.fc-timegrid-body').attr('style', 'position: relative;z-index: 1;min-height: 100%;width: 102% !important;');\r\n $('#NewtimeGridWeekCalender0 div.fc-scroller').attr('style', ' height:81% !important;overflow: auto!important;');\r\n }, 4));\r\n }\r\n }\r\n LoaderDialogCss() {\r\n setTimeout(function () {\r\n $('#LoaderDialog .dialog').attr('style', ' width: 50%;padding-bottom: 0px;border: none;min-height: 63%;overflow: auto;height: 50%;background: transparent;left: 48%;top: 50%;');\r\n }, 1)\r\n }\r\n\r\n MoveTask(val) {\r\n if (val == \"OK\") {\r\n this.makeEventsDraggable(this.eventtype, this.eventid, this.eventdate);\r\n this.MoveTaskDialog = false;\r\n } else {\r\n this.checkvalues('All Tasks', $(\"#userids\").val());\r\n }\r\n }\r\n Close() {\r\n this.showListView = 'BlockView';\r\n }\r\n}\r\n","
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n ACCOUNT HISTORY\r\n
      \r\n
      \r\n
      Is Customer
      \r\n
      YesNo
      \r\n
      \r\n\r\n
      \r\n
      Customer Since
      \r\n
      \r\n \r\n {{accountHistory.customerSince | date: 'MM-dd-yyyy'}}\r\n \r\n
      \r\n
      \r\n
      \r\n
      Lead From
      \r\n
      \r\n {{accountHistory.LeadFrom}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Account Status\r\n
      \r\n
      \r\n {{(account.accountStatus == 14)? 'Active' :(account.accountStatus == 15)?'On Hold':'' }}\r\n
      \r\n
      \r\n\r\n
      \r\n
      Sold By
      \r\n
      \r\n {{(accountHistory.SoldBy == 0)?'Sales Team':'Reseller'}}\r\n
      \r\n
      \r\n
      \r\n
      Account Owner
      \r\n
      {{account.OWNER}}
      \r\n

      \r\n
      \r\n
      Account Type
      \r\n
      {{account.accounttypeName}}
      \r\n
      \r\n\r\n\r\n
      \r\n
      Ownership
      \r\n
      {{account.ownershipName}}
      \r\n
      \r\n
      \r\n
      Active or Inactive
      \r\n
      \r\n \r\n {{(account.customertypeid == 1)? 'Active' : (account.customertypeid == 2)? 'Inactive' : ' ' }}\r\n \r\n
      \r\n
      \r\n
      \r\n
      EHR
      \r\n
      {{account.ehrName}}
      \r\n
      \r\n\r\n
      \r\n
      PM
      \r\n
      {{account.pmName}}
      \r\n
      \r\n\r\n
      \r\n
      RCM
      \r\n
      {{account.rcmName}}
      \r\n
      \r\n
      \r\n
      Key Contact (#1)
      \r\n
      {{accountHistory.KeyContact1Name}}
      \r\n
      \r\n\r\n
      \r\n
      Key Contact (#2)
      \r\n
      {{accountHistory.KeyContact2Name}}
      \r\n
      \r\n\r\n
      \r\n
      Key Contact (#3)
      \r\n
      {{accountHistory.KeyContact3Name}}
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{note.notedescription}}\r\n
      \r\n
      \r\n
      \r\n Select Document to Delink\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n 0\" class=\"fa fa-arrow-left \" aria-hidden=\"true\" id=\"previous\" style=\"color:white\" (click)=\"previousdocument()\">\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n

      Link Document to Note

      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n NOTES\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n Edit\r\n Save\r\n
      \r\n
      \r\n \r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n Access Denied
      \r\n
      \r\n Higher Level of Permission Required
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, ElementRef, Input, OnInit, Optional, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { Notes } from '../../models/notes';\r\nimport { AccountsService } from '../../services/accounts.service';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Location, DatePipe } from '@angular/common';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { UploadDocumentComponent } from '../upload-document/upload-document.component';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { AccountsHistory } from '../../models/AccountHistory';\r\nimport { Projects } from '../../models/ProjectConfiguration';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-new-notes',\r\n templateUrl: './new-notes.component.html',\r\n styleUrls: ['./new-notes.component.css']\r\n})\r\nexport class NewNotesComponent implements OnInit {\r\n @Input() conid: number;\r\n @Input() typ: string;\r\n @Input() projconid: number;\r\n @Input() projtyp: string;\r\n @Input() Opptype: string;\r\n @Input() isModal: boolean = true;\r\n @Input() selectedTabName: string;\r\n @Input() OpportunityId: string;\r\n @Input() ViewType: string = 'List';\r\n @Input() Projtyp: string ;\r\n salesrepName: string;\r\n currentuser: any;\r\n customeracces: number = 0;\r\n public elementRef;\r\n NotesDropdownList: Dropdowntype[] = [];\r\n timezonevalue: string;\r\n notes: Notes = new Notes();\r\n NotesDec: boolean = false;\r\n public notesdata: Notes = new Notes();\r\n allnotes: Notes[];\r\n AllnotesOriginal: Notes[];\r\n type: string = \"\";\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n noteidDiv: boolean = false; projectaddNote: boolean = false;\r\n NotesBlockView: boolean = false;\r\n public gridOptionsnotes: GridOptions;\r\n public sideBar;\r\n public columnDefsnotes: any[];\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: any;\r\n Upload: boolean = false;\r\n selectedNotes: Notes;\r\n AttachDocument: boolean = false;\r\n openFileView: boolean = false;\r\n notesMainDiv: boolean = true;\r\n userdocumentlist: any[] = [];\r\n userdocumentcount: number = 0;\r\n public isdocumentid: string = \"\";\r\n public isDelink = false;\r\n public selectedNoteId: number;\r\n documentindex: number = 0;\r\n public notesDesc: string = '';\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n account: Accounts = new Accounts();\r\n notedescription: string;\r\n documentview: boolean = false;\r\n @ViewChild(UploadDocumentComponent) uploadDocComp: UploadDocumentComponent;\r\n DocViewAccessDenied: boolean = false;\r\n accountHistory: AccountsHistory = new AccountsHistory();\r\n LastTicketDate;\r\n LastContactDate;\r\n Project: Projects = new Projects();\r\n constructor(private http: HttpClient, private route: ActivatedRoute, private viewContainerRef: ViewContainerRef, private customerService: CustomerService, private userservice: UserService,\r\n private router: Router, private toastr: ToastrService, private location: Location, private opprtunityservice: OpprtunitiesService, private accountsService: AccountsService,\r\n public applicationComponent: ApplicationComponent, myElement: ElementRef) {\r\n\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.elementRef = myElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n $('.fr-counter').attr('style', 'display:none;')\r\n var moment = require('moment-timezone');\r\n this.timezonevalue = moment.tz.guess();\r\n\r\n this.route.params.subscribe(params => {\r\n let providerid = Number($('#accotIdNotes').val());\r\n this.notes.accountid = providerid;\r\n\r\n if (params['type'] != null && params['type'] != 0) {\r\n this.type = params['type'];\r\n }\r\n this.LoadAccountData();\r\n this.Notes(this.selectedTabName);\r\n\r\n if (this.ViewType == 'Block') {\r\n this.View('Block');\r\n } else {\r\n this.View('List');\r\n }\r\n\r\n });\r\n }\r\n\r\n notesChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.notesdata = rowEvent.api.getSelectedNodes()[0].data;\r\n this.NotesDec = true;\r\n }\r\n } else {\r\n this.notesdata = null;\r\n this.NotesDec = false;\r\n }\r\n\r\n }\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n public GetAllNotes(contactid, type) { \r\n this.allnotes = [];\r\n \r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((notes) => {\r\n notes.forEach(notes => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = notes.user + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n notes.created = this.datePipe.transform(notes.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.AllnotesOriginal = this.allnotes = notes;\r\n this.initializeAgGridNotes(\"\");\r\n for (let note of this.allnotes) {\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n \r\n });\r\n }\r\n\r\n GetCustomerNotes(currentuserid, contactid, type, accidofallcontacts: string = \"0\", OppType: string) { \r\n var moment = require('moment-timezone'); \r\n this.customerService.GetAllNotesListNew(currentuserid, contactid, type, accidofallcontacts, OppType).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh:mm a\");\r\n\r\n });\r\n this.initializeAgGridNotes(type); \r\n this.allnotes = taskhistory.filter(x => x.isnewnote == 1);\r\n for (let note of this.allnotes) {\r\n if (note.notedescription) {\r\n note.notedescriptionhtml = note.notedescription;\r\n note.notedescription = note.notedescription.replace(/<[^>]*>| /g, '');\r\n }\r\n \r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n \r\n }\r\n \r\n }\r\n \r\n });\r\n\r\n }\r\n\r\n CancelNote() {\r\n this.noteidDiv = false;\r\n \r\n }\r\n enterNotes() {\r\n \r\n if (this.typ == \"Project\") {\r\n this.projectaddNote = true;\r\n setTimeout(function () {\r\n $('#projectaddNote .dialog').attr('style', 'width: 42%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;top:14%;margin-left: 552px');\r\n }, 4);\r\n } else {\r\n this.noteidDiv = true;\r\n $('.fr-wrapper').attr('style', 'height:72%;overflow:auto;');\r\n\r\n }\r\n setTimeout(function () {\r\n $('.fr-element').empty();\r\n $('.fr-element').html(\"\");\r\n }, 100);\r\n }\r\n ProjectCancelNote() {\r\n this.projectaddNote = false;\r\n setTimeout(function () {\r\n $('.fr-element').empty();\r\n $('.fr-element').html(\"\");\r\n }, 100);\r\n }\r\n SaveProjectNote() { }\r\n View(val) {\r\n if (val == 'Block') {\r\n this.NotesBlockView = true;\r\n } else {\r\n this.NotesBlockView = false;\r\n }\r\n }\r\n\r\n initializeAgGridNotes(val) {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n defaultToolPanel: 'none',\r\n };\r\n this.createColumnDefsnotes(val);\r\n\r\n }\r\n createColumnDefsnotes(val, @Optional() isShowDetails: boolean = false) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n \r\n {\r\n field: 'notedescription', hide: false, tooltipField: 'notedescription', width: 250, cellStyle: { 'text-align': 'left' }, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.value && params.value.includes(\"Owner Changed\")) {\r\n eDiv.innerHTML = \"\";\r\n } else {\r\n eDiv.innerHTML = params.value;\r\n }\r\n\r\n\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n }, {\r\n field: 'notedescriptionhtml', hide: true, tooltipField: 'notedescriptionhtml', width: 250\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n { field: 'accountname', headerName: 'Account', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide:false },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return '' }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n //{ field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true, cellRenderer(params) { return params.value; } }\r\n ];\r\n\r\n }\r\n\r\n openDisplaynotes(params) {\r\n if (this.NotesBlockView) {\r\n this.notesdata = params;\r\n } else {\r\n this.notesdata = params.data;\r\n }\r\n this.type = params.type;\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.id;\r\n } else\r\n this.showEditNoteBtn = false; \r\n }\r\n LoadAccountData() {\r\n if (this.typ == \"Contact\") {\r\n this.customerService.GetContactById(this.conid).then(result => { \r\n this.customerService.GetByAccountIdNew(result.accountid).then(result => {\r\n this.account = JSON.parse(result);\r\n this.getAccountHistory(result.accountid);\r\n });\r\n });} else {\r\n this.customerService.GetByAccountIdNew(this.conid).then(result => {\r\n this.account = JSON.parse(result);\r\n \r\n this.getAccountHistory(this.account.id);\r\n });\r\n }\r\n \r\n }\r\n\r\n getAccountHistory(accId) {\r\n this.customerService.LastTicketCreatedDateByAccID(accId).then(result1 => {\r\n if (result1 != null && result1 != '0001-01-01T00:00:00') {\r\n this.LastTicketDate = this.datePipe.transform(result1, \"MM-dd-yyyy\")\r\n }\r\n\r\n });\r\n this.customerService.LastContactedDateByAccID(accId).then(result2 => {\r\n if (result2 != null && result2 != '0001-01-01T00:00:00') {\r\n this.LastContactDate = this.datePipe.transform(result2, \"MM-dd-yyyy\");\r\n }\r\n });\r\n this.customerService.GetAccountHistoryById(accId, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n\r\n });\r\n this.customerService.GetSalerepName(accId).then(result3 => {\r\n\r\n this.salesrepName = result3;\r\n\r\n });\r\n }\r\n AddDocumentsNew(val, Noteselected) {\r\n this.Upload = true;\r\n this.showDocumentAddDialogCss();\r\n this.selectedNotes = Noteselected;\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.uploadDocComp.OpenFilemanual('New')\r\n }, 50));\r\n \r\n }\r\n\r\n showDocumentAddDialogCss() {\r\n setTimeout(function () {\r\n $('#Upload .dialog').attr('style', 'width:44%;padding-bottom:0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height:63%;overflow:auto;height:77%;left:0;top: 13.5% !important;padding:0;right:32%');\r\n }, 4)\r\n }\r\n\r\n addlink(note) {\r\n this.openFileView = false;\r\n if (this.typ == \"Project\") {\r\n this.customerService.GetProjectByProjectId(this.conid.toString()).then(result => {\r\n this.Project = JSON.parse(result);\r\n this.projconid = this.Project.AccountOrContactId;\r\n this.projtyp = this.Project.AccountOrContactType;\r\n \r\n this.AttachDocument = true;\r\n this.selectedNotes = note;\r\n this.notesMainDiv = false;\r\n });\r\n } else {\r\n this.AttachDocument = true;\r\n this.selectedNotes = note;\r\n this.notesMainDiv = false;\r\n }\r\n\r\n }\r\n\r\n\r\n openfile(documentid, note,index) {\r\n \r\n this.documentindex = index\r\n this.selectedNotes = note;\r\n this.userdocumentlist = this.selectedNotes.docList;\r\n this.userdocumentcount = this.selectedNotes.docList.length;\r\n \r\n this.getImageData(documentid);\r\n \r\n \r\n }\r\n getImageData(documentid) {\r\n var myBaseString = \"\";\r\n //this.userservice.GetImageData(documentid).then(result => {\r\n this.customerService.GetDocumentById(documentid).then(result => {\r\n if (result != null) {\r\n if (result.permissionlevel <= this.currentuser.permissionlevelid) {\r\n myBaseString = result.imagecontent;\r\n let objSelf = this;\r\n this.openFileView = true\r\n $(setTimeout(function () {\r\n //objSelf.sendMsgEvent.emit(myBaseString);\r\n objSelf.onDocumentOpen(myBaseString);\r\n }, 100));\r\n\r\n $('.bodyContaint').css('height', '600px')\r\n $('#NotespdfDiv').css('');\r\n }\r\n else {\r\n this.DocViewAccessDeniedCss();\r\n }\r\n }\r\n else {\r\n\r\n }\r\n\r\n });\r\n }\r\n DocViewAccessDeniedCss() {\r\n this.DocViewAccessDenied = true;\r\n setTimeout(function () {\r\n $('#DocViewAccessDenied .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n\r\n onDocumentOpen(myBaseString) {\r\n $('#NotespdfDiv').html('')\r\n $('#NotespdfDiv').attr('style', 'height: 93%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n }\r\n\r\n delink(documentid, note) {\r\n $('#' + documentid + 'ON').attr('style', 'display:block;height:23px;');\r\n $('#' + documentid + 'Off').attr('style', 'display:none;height:23px;');\r\n let selfObj = this;\r\n setTimeout(function () {\r\n var isConfirmed = confirm(\"De-Link this document?\");\r\n if (isConfirmed) {\r\n selfObj.isdocumentid = documentid;\r\n selfObj.selectedNotes = note;\r\n selfObj.UpdateNote(true);\r\n selfObj.isDelink = false;\r\n }\r\n else {\r\n $('#' + documentid + 'Off').attr('style', 'display:block;height:23px;');\r\n $('#' + documentid + 'ON').attr('style', 'display:none;height:23px;');\r\n selfObj.delinkOff(note.id)\r\n }\r\n }, 500);\r\n\r\n }\r\n delinkDocs(noteId) {\r\n this.isDelink = true;\r\n this.selectedNoteId = noteId;\r\n $('#' + noteId + 'Off').attr('style', 'display:none');\r\n $('#' + noteId + 'ON').attr('style', 'display:block;color:red;font-weight: 600;');\r\n }\r\n delinkOff(noteId) {\r\n this.isDelink = false;\r\n // this.selectedNoteId = noteId;\r\n $('#' + noteId + 'Off').attr('style', 'display:block');\r\n $('#' + noteId + 'ON').attr('style', 'display:none;color:red;font-weight: 600;');\r\n }\r\n\r\n previousdocument() {\r\n //this.documentindex--;\r\n //this.getImageData(this.userdocumentlist[this.documentindex]);\r\n\r\n this.documentindex--;\r\n //if (this.userdocumentlist[this.documentindex].permissionlevel <= this.currentuser.permissionlevelid) {\r\n\r\n this.getImageData(this.userdocumentlist[this.documentindex]);\r\n //} else {\r\n // this.documentindex++;\r\n // this.DocViewAccessDeniedCss();\r\n //}\r\n }\r\n nextdocument() { \r\n this.documentindex++; \r\n this.getImageData(this.userdocumentlist[this.documentindex]);\r\n \r\n }\r\n\r\n CloseopenFileView(val) {\r\n\r\n if (val == 'AttachDocument') {\r\n this.AttachDocument = false;\r\n this.notesMainDiv = true;\r\n } else {\r\n this.openFileView = false;\r\n this.documentindex = 0;\r\n this.userdocumentcount = 0;\r\n }\r\n\r\n }\r\n onOpenUploadDocument(msg) {\r\n \r\n if (msg != \"ShowPDF\") {\r\n this.isdocumentid = msg;\r\n }\r\n }\r\n\r\n linkDocument() {\r\n\r\n this.UpdateNote(false);\r\n this.AttachDocument = false;\r\n this.noteidDiv = false;\r\n this.openFileView = false;\r\n this.notesMainDiv = true;\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n\r\n editNote() {\r\n $('.save').show();\r\n }\r\n\r\n SavedDocuments(val) {\r\n if (val != \"496\" && val != \"497\" && val != \"498\" && val != \"499\" && val != \"500\" && val != \"501\" && val != \"554\") {\r\n this.Upload = false;\r\n this.isdocumentid = val;\r\n this.UpdateNote(false);\r\n }\r\n }\r\n\r\n\r\n\r\n SaveNote() {\r\n this.noteidDiv = false;\r\n this.notes.accountid = this.conid;\r\n this.notes.type = this.typ;\r\n this.notes.isnewnote = 1;\r\n this.notes.userid = this.currentuser.id;\r\n this.notedescription = $('.fr-element').html();\r\n \r\n this.notes.notedescription = this.notedescription;\r\n\r\n\r\n if (this.notes.notedescription != undefined && this.notes.notedescription != \"\") {\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.toastr.success(\"Notes saved successfully.\", \"Notes Saved\", { timeOut: 600 });\r\n this.Notes(\"Display All\");\r\n this.noteidDiv = false;\r\n this.projectaddNote = false;\r\n $('.fr-element').empty();\r\n $('.fr-element').html(\"\");\r\n \r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n Notes(val) {\r\n let allContactIds = [];\r\n this.selectedTabName = val;\r\n if (this.typ == \"Account\") {\r\n this.customerService.GetAllContactproviderByAccount(this.conid, this.currentuser.id).then((contacts) => {\r\n if (contacts.length > 0) {\r\n allContactIds = contacts.map(x => x.id);\r\n this.GetCustomerNotes(this.currentuser.id, allContactIds.join(\",\"), 'AllContactsNotes', this.conid.toString(), \"null\");\r\n } else {\r\n this.GetCustomerNotes(this.currentuser.id, \"0\", 'AllContactsNotes', this.conid.toString(), \"null\");\r\n }\r\n\r\n });\r\n\r\n } else if (this.typ == 'Contact') {\r\n this.GetCustomerNotes(this.currentuser.id, this.conid.toString(), 'AllContactsNotes', '0', \"null\");\r\n }\r\n else if (this.typ == 'Project') {\r\n this.allnotes = [];\r\n this.customerService.GetAllNotesList(this.currentuser.id, this.conid.toString(), this.typ).then((notes) => {\r\n notes.forEach(note => {\r\n note.createdtime = this.datePipe.transform(note.created, \"h:mm a\")\r\n note.created = this.datePipe.transform(note.created, \"MM-dd-yyyy\");\r\n \r\n });\r\n this.allnotes = notes;\r\n for (let note of this.allnotes) {\r\n if (note.notedescription) {\r\n note.notedescriptionhtml = note.notedescription;\r\n note.notedescription = note.notedescription.replace(/<[^>]*>| /g, '');\r\n }\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n this.initializeAgGridNotes(\"\");\r\n this.NotesBlockView = false;\r\n\r\n });\r\n }\r\n\r\n \r\n }\r\n\r\n UpdateNote(val) {\r\n this.noteidDiv = false;\r\n this.notes.type = this.selectedNotes.notestype;\r\n this.notes.isnewnote = 0\r\n this.notes.isdocumentid = this.isdocumentid;\r\n this.notes.id = this.selectedNotes.id;\r\n this.notes.userid = this.currentuser.id;\r\n this.notes.notedescription = this.selectedNotes.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>)/img, \"\");\r\n this.notes.notedescription = this.selectedNotes.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/gi, \"\");\r\n this.notes.isDelink = val;\r\n if (this.notes.notedescription != undefined && this.notes.notedescription != \"\") {\r\n this.customerService.UpdateNotes(this.notes).then(result => {\r\n this.toastr.success(\"Notes saved successfully.\", \"Notes Saved\", { timeOut: 600 });\r\n this.Notes(\"Display All\");\r\n $('.fr-element').empty();\r\n $('.fr-element').html(\"\");\r\n \r\n });\r\n }\r\n\r\n\r\n }\r\n saveEditedNote() {\r\n\r\n }\r\n}\r\n\r\n","

      \r\n
      \r\n
      0 && isModal\" class=\"col-xs-4\" style=\"height:100%;padding:0;\">\r\n\r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n

      Notes History

      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{note.notedescription}}\r\n
      \r\n
      \r\n
      \r\n Select Document to Delink\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n 0\" class=\"fa fa-arrow-left \" aria-hidden=\"true\" id=\"previous\" style=\"color:white\" (click)=\"previousdocument()\">\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n

      Link Document to Note

      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n {{notesdata.created }}
      \r\n {{notesdata.created}}
      \r\n {{notesdata.contactname}}
      \r\n {{notesdata.user}}
      \r\n {{notesdata.notedescription}}
      \r\n
      \r\n \r\n\r\n
      \r\n Edit\r\n Save\r\n
      \r\n
      \r\n \r\n \r\n \r\n\r\n
      \r\n\r\n","import { Component, OnInit, ViewChild, ElementRef, ViewContainerRef, ViewEncapsulation, Input, Optional, EventEmitter, Output } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { Notes } from '../../models/notes';\r\nimport { Document } from '../../models/document';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Statistics } from '../../models/statistics';\r\nimport { Customers } from '../../models/customers';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Practice } from '../../models/practice';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Location, DatePipe } from '@angular/common';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { UploadDocumentComponent } from '../../application/upload-document/upload-document.component';\r\nimport { DocumentmanagementComponent } from '../documentmanagement/documentmanagement.component';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\ndeclare var $: any;\r\ndeclare var require: any;\r\n@Component({\r\n selector: 'app-notes',\r\n host: {\r\n '(document:click)': 'handleClick($event)',\r\n },\r\n templateUrl: './notes.component.html',\r\n styleUrls: ['./notes.component.css']\r\n})\r\n\r\nexport class NotesComponent implements OnInit {\r\n minRowHeight = 100;\r\n currentRowHeight = this.minRowHeight;\r\n notesitemResource: any;\r\n notesitems = [];\r\n openFileView: boolean = false;\r\n DelinkOn: boolean = false;\r\n PDFselected: boolean = true;\r\n notesMainDiv: boolean = true;\r\n notesitemCount = 0;\r\n notesparams: any;\r\n private gridApi;\r\n private columnApi;\r\n @Input()\r\n allnotes: Notes[];\r\n @Input()\r\n currentuser: any;\r\n @Input()\r\n isOpenNewNotes: any;\r\n @Input()\r\n notedescription: string;\r\n @Input()\r\n noteslist: Array = [];\r\n @Input()\r\n notes: Notes = new Notes();\r\n @Input()\r\n contact: Contacts = new Contacts();\r\n @Input()\r\n account: Accounts = new Accounts();\r\n @Input()\r\n customer: Customers = new Customers();\r\n _$element: any;\r\n @Input()\r\n statistics: Statistics = new Statistics();\r\n @Input()\r\n practice: Practice = new Practice();\r\n @Input()\r\n statisticlist: Array = [];\r\n @Input() getRowHeight;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n @Input() type: string = \"\";\r\n hidDiv: boolean = true;\r\n practiceid: number;\r\n //public getRowHeight;\r\n public staticsticsId: number = 1;\r\n //public type: string = \"\";\r\n public notesId: number = 0;\r\n public isdocumentid: string = \"\";\r\n CustomerDiv: boolean = true;\r\n Upload: boolean = false;\r\n public contactpermission: string;\r\n public Accountpermission: string;\r\n ContactDiv: boolean = true;\r\n AccountDiv: boolean = true;\r\n documentindex: number = 0;\r\n userdocumentcount: number = 0;\r\n userdocumentlist: any[] = [];\r\n imageTag: boolean = true;\r\n @Input()\r\n public columnDefsnotes: any[];\r\n @Input()\r\n public gridOptionsnotes: GridOptions;\r\n @Input()\r\n public elementRef;\r\n notesshowDialog = false;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n @Input()\r\n public context;\r\n @Input()\r\n source: string;\r\n @Input()\r\n permission: string;\r\n @Input() contactid: string;\r\n @Input() tabName: string;\r\n @Input() conid: number;\r\n @Input() typ: string;\r\n @Input() id: number;\r\n @Input() isModal: boolean = true;\r\n noteidDiv: boolean = false;\r\n notesHistoryDiv: boolean = true;\r\n NotesDec = false;\r\n isActiveIf: boolean = true;\r\n isNotesGridInit: boolean = false;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n allContactsproviders: any[] = [];\r\n aggridheight: string;\r\n selectedNotes: Notes;\r\n isShowDetails: boolean = true;\r\n notesTable: boolean = true;\r\n ShownotesTable: boolean = false;\r\n isShowDetailsChecked: boolean = false;\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: any;\r\n selectedTabName: string;\r\n public ShowdetailsgridOptionsnotes: GridOptions;\r\n public ShowdetailscolumnDefsnotes: any[];\r\n timezonevalue: string;\r\n userInfo: string;\r\n public statusIds: boolean = false;\r\n AccountIdArr: Dropdowntype[] = [];\r\n MyGridHeight: number = 330;\r\n documentlist: Document[] = [];\r\n NotesBlockView: boolean = false;\r\n public isDelink = false;\r\n public selectedNoteId: number;\r\n @ViewChild(DocumentmanagementComponent) docMgmtComp;\r\n @ViewChild(UploadDocumentComponent) uploadDoc;\r\n @ViewChild(UploadDocumentComponent) uploadDocComp: UploadDocumentComponent;\r\n AttachDocument: boolean = false;\r\n documentview: boolean = false;\r\n public sideBar;\r\n NotesDropdownList: Dropdowntype[] = [];\r\n public notesdata: Notes = new Notes();\r\n constructor(private http: HttpClient, private route: ActivatedRoute, private viewContainerRef: ViewContainerRef, private customerService: CustomerService, private userservice: UserService,\r\n private router: Router, private toastr: ToastrService, private location: Location, private opprtunityservice: OpprtunitiesService, private accountsService: AccountsService,\r\n public applicationComponent: ApplicationComponent, myElement: ElementRef) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.elementRef = myElement;\r\n\r\n\r\n }\r\n handleClick(event) {\r\n var clickedComponent = event.target;\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n $('#test').val('Notes');\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n \r\n $('.fr-counter').attr('style', 'display:none;')\r\n var moment = require('moment-timezone');\r\n this.timezonevalue = moment.tz.guess();\r\n //$('#NotesTypeDropdown').val(\"AllContactsNotes\");\r\n this.route.params.subscribe(params => {\r\n let providerid = Number($('#accotIdNotes').val());\r\n this.notes.accountid = providerid;\r\n this.type = params['type'];\r\n this.contactpermission = params['permission'];\r\n this.Accountpermission = params['practiceid'];\r\n this.statusIds = false;\r\n \r\n if (this.type == \"account\") {\r\n this.opprtunityservice.GetByAccountId(providerid).then(result => {\r\n this.account = result;\r\n this.contact = null;\r\n if (this.account.accnumber != null) {\r\n this.notes.type = \"Customer\";\r\n\r\n } else {\r\n this.notes.type = \"Account\";\r\n }\r\n this.CustomerDiv = true;\r\n this.ContactDiv = true;\r\n this.AccountDiv = false;\r\n this.imageTag = false;\r\n \r\n this.GetAllNotes(providerid, this.notes.type);\r\n\r\n this.notes.accountid = this.account.id;\r\n });\r\n\r\n document.getElementById('ownerlabel').innerHTML = this.currentuser.username;\r\n document.getElementById('labelHeader').className = \"col-xs-12 noprovider\";\r\n document.getElementById('labelHeader').innerHTML = \"Account View\";\r\n document.getElementById('statistics').className = \"provider\";\r\n document.getElementById('notesHeader').className = \"col-xs-12 noprovider\";\r\n document.getElementById('notesCount').className = \"col-xs-12 noprovider\";\r\n }\r\n else if (this.type == \"contacts\") {\r\n this.CustomerDiv = true;\r\n this.ContactDiv = false;\r\n this.AccountDiv = true;\r\n this.GetAllNotes(providerid, \"Contact\");\r\n this.customerService.GetContactById(providerid).then(result => {\r\n this.contact = result;\r\n this.notes.type = \"Contact\";\r\n this.conid = this.contact.id;\r\n });\r\n\r\n this.imageTag = true;\r\n document.getElementById('labelHeader').className = \"col-xs-12 noprovider\";\r\n document.getElementById('labelHeader').innerHTML = \"Contact View\";\r\n document.getElementById('statistics').className = \"provider\";\r\n document.getElementById('notesCount').className = \"col-xs-12 noprovider\";\r\n }\r\n else if (this.type == \"Customer\") {\r\n this.GetCustomerNotes(this.currentuser.id, providerid, this.type);\r\n }\r\n this.customerService.GetSpecialityList(\"NotesDrp\", this.currentuser.id).then((notes) => {\r\n this.NotesDropdownList = notes;\r\n });\r\n });\r\n this.customerService.GetAllStatistics().then((statistics) => {\r\n statistics.forEach(statistics => {\r\n this.statisticlist.push(statistics)\r\n });\r\n\r\n });\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('contacts/contacts') > -1) {\r\n this.MyGridHeight = 330;\r\n }\r\n else if (url.indexOf('account') > -1) {\r\n this.MyGridHeight = 325;\r\n }\r\n this.customerService.GetSpecialityList(\"AccountIds\", this.currentuser.id).then((Acids) => {\r\n this.AccountIdArr = Acids;\r\n });\r\n }\r\n notesChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.notesdata = rowEvent.api.getSelectedNodes()[0].data;\r\n this.NotesDec = true;\r\n }\r\n } else {\r\n this.notesdata = null;\r\n this.NotesDec = false;\r\n }\r\n\r\n }\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n GetOpportunitiesnotes(id, type) {\r\n \r\n this.customerService.GetAllNotesList(this.currentuser.id, id, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = \"Bhagya\";\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n if (!this.isNotesGridInit)\r\n this.initializeAgGridNotes(\"\");\r\n this.allnotes = taskhistory;\r\n for (let note of this.allnotes) {\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n this.notesitemResource.count().then(count => this.notesitemCount = count);\r\n this.notesparams = { offset: 0, limit: 10 }\r\n });\r\n }\r\n\r\n SaveNote() {\r\n \r\n if (this.tabName == 'Account' ) {\r\n this.conid = this.account.id;\r\n }\r\n this.noteidDiv = false;\r\n this.notesHistoryDiv = true;\r\n this.notes.accountid = (this.source == \"Lead\" || this.source == \"Opportunity\" || this.source == \"TaskHistory\" || this.source == \"UserActivity(Detail)\") ? Number(this.contactid) : this.conid;\r\n this.notes.type = this.typ;\r\n this.notes.isnewnote = 1;\r\n this.notes.userid = this.currentuser.id;\r\n this.notedescription = $('.fr-element').html();;\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>)/img, \"\");\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/gi, \"\");\r\n // this.isShowDetails = true;\r\n if (this.notes.notedescription != undefined && this.notes.notedescription != \"\") {\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.toastr.success(\"Notes saved successfully.\", \"Notes Saved\", { timeOut: 600 });\r\n\r\n this.noteidDiv = false;\r\n $('.fr-element').empty();\r\n $('.fr-element').html(\"\");\r\n //this.GetAllNotes(this.notes.accountid, \"AllContactsNotes\");\r\n this.Notes('AllContactsNotes');\r\n this.isOpenNewNotes = false;\r\n });\r\n }\r\n }\r\n\r\n UpdateNote(val) {\r\n \r\n this.type = this.tabName;\r\n this.noteidDiv = false;\r\n this.notesHistoryDiv = true;\r\n //this.notes.accountid = this.account.id; Commented\r\n //this.notes.accountid = this.conid;\r\n this.notes.userfullName = this.contact.name;\r\n this.notes.type = this.selectedNotes.notestype;\r\n this.notes.isnewnote = 0\r\n this.notes.isdocumentid = this.isdocumentid;\r\n this.notes.id = this.selectedNotes.id;\r\n this.notes.userid = this.currentuser.id;\r\n this.notes.notedescription = this.selectedNotes.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>)/img, \"\");\r\n this.notes.notedescription = this.selectedNotes.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/gi, \"\");\r\n this.notes.isDelink = val;\r\n // this.isShowDetails = true;\r\n if (this.notes.notedescription != undefined && this.notes.notedescription != \"\") {\r\n this.customerService.UpdateNotes(this.notes).then(result => {\r\n //this.notedescription = \"\";\r\n this.toastr.success(\"Notes saved successfully.\", \"Notes Saved\", { timeOut: 600 });\r\n $('.fr-element').empty();\r\n $('.fr-element').html(\"\");\r\n if (this.type == \"TaskHistory\") {\r\n this.GetAllNotes(this.contactid, this.type);\r\n }\r\n else {\r\n if (this.typ == \"Customer\") {\r\n this.GetAllNotes(this.conid, \"Account\");\r\n } else {\r\n this.GetAllNotes(this.conid, this.type);\r\n }\r\n \r\n }\r\n \r\n this.isOpenNewNotes = false;\r\n });\r\n }\r\n }\r\n addlink(note) {\r\n\r\n this.openFileView = false;\r\n this.AttachDocument = true;\r\n this.selectedNotes = note;\r\n this.notesMainDiv = false;\r\n\r\n }\r\n public GetAllNotes(contactid, type) {\r\n \r\n this.allnotes = [];\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((notes) => {\r\n notes.forEach(notes => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = notes.user + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n notes.userfullName = \"Bhagyaa\";\r\n notes.created = this.datePipe.transform(notes.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n if (!this.isNotesGridInit)\r\n this.initializeAgGridNotes(\"\");\r\n this.allnotes = notes;\r\n for (let note of this.allnotes) {\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n if (this.notesitemResource != undefined)\r\n this.notesitemResource.count().then(count => this.notesitemCount = count);\r\n this.notesparams = { offset: 0, limit: 10 }\r\n });\r\n }\r\n CancelNote() {\r\n this.noteidDiv = false;\r\n this.notesHistoryDiv = true;\r\n $('#checkDiv').css('height', '72%');\r\n this.isOpenNewNotes = false;\r\n //this.isShowDetails = true;\r\n }\r\n addnotes() {\r\n $('.fr-element').empty();\r\n this.notes = new Notes();\r\n document.getElementById('notesHeader').style.display = 'block';\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('newNotesButton').style.display = 'none';\r\n //document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('displayNotes').style.display = 'none';\r\n document.getElementById('notesListTabsId').style.display = 'none';\r\n document.getElementById('notesGrid').style.display = 'none';\r\n }\r\n\r\n hidenotes() {\r\n document.getElementById('notesHeader').style.display = 'none';\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('newNotesButton').style.display = 'block';\r\n // document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('displayNotes').style.display = 'block';\r\n }\r\n displayNotes(id, count) {\r\n this.notesId = count;\r\n var noteId = id + '_notes'\r\n var notes = document.getElementById(noteId).innerHTML;\r\n var dateId = id + '_date';\r\n var dateDetails = document.getElementById(dateId).innerHTML;\r\n document.getElementById('notesDate').innerHTML = dateDetails;\r\n document.getElementById('displayNotes').innerHTML = notes;\r\n $('.selectedNotes').removeClass('selectedNotes');\r\n $('#' + id + '_date').addClass('selectedNotes');\r\n $('#' + id + '_notes').addClass('selectedNotes');\r\n this.hidenotes();\r\n document.getElementById('nextNotes').style.display = 'block';\r\n document.getElementById('previousNotes').style.display = 'block';\r\n if (this.notesId == this.noteslist.length) {\r\n document.getElementById('nextNotes').style.display = 'none';\r\n }\r\n if (this.notesId == 1) {\r\n document.getElementById('previousNotes').style.display = 'none';\r\n }\r\n }\r\n\r\n practicedetails(id) {\r\n this.customerService.GetBypracticeId(id).then(result => {\r\n this.practice = result;\r\n });\r\n }\r\n\r\n nextStatistics() {\r\n var count = this.staticsticsId\r\n count++;\r\n if (count <= this.statisticlist.length) {\r\n document.getElementById('statisticsCount').innerHTML = '(' + count + ' of ' + this.statisticlist.length + ')';\r\n this.staticsticsId++;\r\n var id = this.staticsticsId;\r\n $('.statistic').attr('style', 'display:none');\r\n $('#' + id).attr('style', 'display:block');\r\n document.getElementById('previous').style.display = 'block';\r\n if (count == this.statisticlist.length) {\r\n document.getElementById('next').style.display = 'none';\r\n }\r\n //document.getElementById(id).style.display = 'block';\r\n }\r\n\r\n }\r\n previousStatistics() {\r\n var count = this.staticsticsId\r\n count--;\r\n if (count > 0) {\r\n document.getElementById('statisticsCount').innerHTML = '(' + count + ' of ' + this.statisticlist.length + ')';\r\n this.staticsticsId--;\r\n var id = this.staticsticsId;\r\n $('.statistic').attr('style', 'display:none');\r\n $('#' + id).attr('style', 'display:block');\r\n document.getElementById('next').style.display = 'block';\r\n if (count == 1) {\r\n document.getElementById('previous').style.display = 'none';\r\n }\r\n }\r\n }\r\n\r\n nextNotes() {\r\n var count = this.notesId\r\n count++\r\n if (count <= this.noteslist.length) {\r\n var idDetails = (this.noteslist)[this.notesId].id,\r\n notedescription = (this.noteslist)[this.notesId].notedescription,\r\n noteId = idDetails + '_notes',\r\n dateId = idDetails + '_date',\r\n dateDetails = document.getElementById(dateId).innerHTML;\r\n document.getElementById('notesDate').innerHTML = dateDetails;\r\n document.getElementById('displayNotes').innerHTML = notedescription;\r\n $('.selectedNotes').removeClass('selectedNotes');\r\n $('#' + noteId).addClass('selectedNotes');\r\n $('#' + dateId).addClass('selectedNotes');\r\n this.hidenotes();\r\n this.notesId++;\r\n document.getElementById('previousNotes').style.display = 'block';\r\n if (count == this.noteslist.length) {\r\n document.getElementById('nextNotes').style.display = 'none';\r\n }\r\n }\r\n }\r\n\r\n previousNotes() {\r\n var count = this.notesId\r\n count--\r\n if (count <= this.noteslist.length) {\r\n this.notesId--;\r\n var idDetails = (this.noteslist)[this.notesId].id,\r\n notedescription = (this.noteslist)[this.notesId].notedescription,\r\n noteId = idDetails + '_notes',\r\n dateId = idDetails + '_date',\r\n dateDetails = document.getElementById(dateId).innerHTML;\r\n document.getElementById('displayNotes').innerHTML = notedescription;\r\n document.getElementById('notesDate').innerHTML = dateDetails;\r\n $('.selectedNotes').removeClass('selectedNotes');\r\n $('#' + noteId).addClass('selectedNotes');\r\n $('#' + dateId).addClass('selectedNotes');\r\n this.hidenotes();\r\n document.getElementById('nextNotes').style.display = 'block';\r\n if (count == 0) {\r\n document.getElementById('previousNotes').style.display = 'none';\r\n }\r\n }\r\n }\r\n\r\n openNotesDialogAg(rowdata) {\r\n this.customerService.GetContactById(rowdata.id).then(result => {\r\n this.contact = result;\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n });\r\n });\r\n this.GetCustomerNotes(this.currentuser.id, rowdata.id, 'Contact');\r\n this.notesshowDialog = !this.notesshowDialog;\r\n $('.dialog').width('1000px');\r\n\r\n //setTimeout(function () {\r\n // $('#closeDetailsDialog').click();\r\n //}, 100);\r\n }\r\n\r\n GetCustomerNotes(currentuserid, contactid, type, accidofallcontacts: string = \"0\") {\r\n \r\n var moment = require('moment-timezone');\r\n this.customerService.GetAllNotesList(currentuserid, contactid, type, accidofallcontacts).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n\r\n });\r\n this.initializeAgGridNotes(type);\r\n this.allnotes = taskhistory;\r\n for (let note of this.allnotes) {\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n initializeAgGridNotes(val) {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, paginationPageSize: 1000,toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n defaultToolPanel: 'none',\r\n };\r\n this.createColumnDefsnotes(val);\r\n\r\n this.context = this;\r\n this.isNotesGridInit = true;\r\n\r\n }\r\n createColumnDefsnotes(val, @Optional() isShowDetails: boolean = false) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true},\r\n {\r\n field: 'type', headerName: '', hide: false, width: this.isShowDetailsChecked ? 100 : 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', hide: false, tooltipField: 'notedescription', width: this.isShowDetailsChecked ? 480 : 250, cellStyle: {'text-align':'left'}, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.value && params.value.includes(\"Owner Changed\")) {\r\n eDiv.innerHTML = \"\";\r\n } else {\r\n eDiv.innerHTML = params.value;\r\n }\r\n \r\n \r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: (val == \"AllContactsNotes\" && !this.isShowDetailsChecked) ? false : true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: this.isShowDetailsChecked ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return selfObj.isShowDetailsChecked == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: this.isShowDetailsChecked ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: this.isShowDetailsChecked ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: this.isShowDetailsChecked ? false : true, cellRenderer(params) { return params.value; } }\r\n ];\r\n\r\n }\r\n onColumnResized(event) {\r\n if (event.finished) {\r\n }\r\n }\r\n enterNotes() {\r\n if (this.contactpermission == 'view' || this.Accountpermission == 'view') {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n this.noteidDiv = true;\r\n this.isShowDetails = false;\r\n // this.notesHistoryDiv = false;\r\n //$('#checkDiv').css('height', '72%');\r\n\r\n $('.fr-element').empty();\r\n\r\n }\r\n this.isOpenNewNotes = true;\r\n setTimeout(function () {\r\n $('.fr-wrapper').attr('style', 'height:72%;overflow:auto;');\r\n $('.fr-element').html(\"\");\r\n }, 100);\r\n\r\n }\r\n\r\n Notes(val) {\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $('#NotesTypeDropdown').val(val);\r\n \r\n \r\n this.initializeAgGridNotes(\"\");\r\n this.selectedTabName = val;\r\n if (this.typ == undefined || this.typ == \"Contacts\")\r\n this.typ = \"Contact\";\r\n let type = this.typ ? this.typ == \"Account\" ? \"Account\" : this.typ == \"Customer\" ? \"Customer\" : \"Contacts\" : \"Contacts\";\r\n if (type == \"Contact\")\r\n type = \"Contacts\";\r\n // this.typ = \"Contacts\";\r\n this.contactid = this.contactid ? this.contactid : (($('#accotIdNotes').val() && $('#accotIdNotes').val() != \"\") ? $('#accotIdNotes').val() : \"0\");\r\n this.conid = (this.conid == undefined || this.conid == null) ? 0 : this.conid;\r\n if (this.tabName == val) {\r\n val = (val == \"Contact\" && type == \"Customer\") ? \"Customer\" : val;\r\n val = (val == \"Contact\" && type == \"Account\") ? \"Customer\" : val;\r\n if (this.source == 'reports') {\r\n this.GetCustomerNotes(this.currentuser.id, this.conid, (this.typ == 'Contact' || this.typ == 'Customer') ? this.typ : 'Contact');\r\n } else if (this.source == 'UserActivity(Detail)') {\r\n this.GetCustomerNotes(this.currentuser.id, this.conid != 0 ? this.conid : this.id, val == \"Contact\" ? this.typ : val);\r\n } else\r\n this.GetCustomerNotes(this.currentuser.id, this.contactid != \"0\" ? this.contactid : this.id, val == \"Contact\" ? this.typ : val);\r\n } else {\r\n if (val == 'AllContactsNotes') {\r\n if (type == \"Contacts\") {\r\n let allContactIds: string = \"\";\r\n this.customerService.GetContactById(this.conid).then(result => {\r\n this.contact = result;\r\n this.notes.type = \"Contact\";\r\n\r\n this.notes.accountid = this.contact.id;\r\n this.customerService.GetAllContactproviderByAccount(this.contact.accountid, this.currentuser.id).then((contacts) => {\r\n contacts.forEach(contacts => {\r\n this.allContactsproviders.push(contacts.id);\r\n allContactIds += contacts.id.toString() + \",\";\r\n\r\n });\r\n if (allContactIds.length > 0)\r\n allContactIds = allContactIds.substring(0, allContactIds.length - 1);\r\n else\r\n allContactIds = \"0\";\r\n this.GetCustomerNotes(this.currentuser.id, allContactIds, val, this.contact.accountid.toString());\r\n });\r\n });\r\n } else {\r\n let allContactIds: string = \"\";\r\n this.customerService.GetAllContactproviderByAccount(this.conid, this.currentuser.id).then((contacts) => {\r\n this.allContactsproviders = [];\r\n contacts.forEach(contacts => {\r\n this.allContactsproviders.push(contacts.id);\r\n allContactIds += contacts.id.toString() + \",\";\r\n });\r\n if (allContactIds.length > 0)\r\n allContactIds = allContactIds.substring(0, allContactIds.length - 1);\r\n else\r\n allContactIds = \"0\";\r\n this.GetCustomerNotes(this.currentuser.id, allContactIds, val, this.conid.toString());\r\n });\r\n }\r\n }\r\n else if (val == 'Contact' || val == 'Contacts') {\r\n this.customerService.GetAllContactproviderByAccount(this.account.id, this.currentuser.id).then((contacts) => {\r\n this.allContactsproviders = [];\r\n contacts.forEach(contacts => {\r\n this.allContactsproviders.push(contacts.id);\r\n });\r\n this.GetCustomerNotes(this.currentuser.id, this.allContactsproviders.join(','), val == \"Contact\" ? val : 'Contact', this.account.id.toString());\r\n });\r\n\r\n }\r\n else {\r\n this.customerService.getDesiredIdFromContactId(val, this.conid, type == \"Contact\" ? \"Contacts\" : type).then((ids) => {\r\n if (ids == null || ids == \"null\" || ids == \"\")\r\n ids = \"0\";\r\n this.GetCustomerNotes(this.currentuser.id, ids, val);\r\n });\r\n }\r\n }\r\n //let objSelf = this;\r\n //setTimeout(function () {\r\n // objSelf.showdetail();\r\n //}, 500);\r\n }\r\n\r\n openDisplaynotes(params) {\r\n if (this.NotesBlockView) {\r\n this.notesdata = params;\r\n \r\n } else {\r\n this.notesdata = params.data;\r\n \r\n }\r\n this.type = params.type;\r\n this.NotesDec = true;\r\n if ($('input[name=Notes]').is(':checked')) {\r\n let usrFullName: string = params.data.userfullName;\r\n usrFullName = usrFullName.indexOf(\"
      \") >= 0 ? usrFullName.replace(\"
      \", \"\\n\") : usrFullName;\r\n usrFullName = usrFullName.indexOf(\"
      \") >= 0 ? usrFullName.replace(\"
      \", \"\\n\") : usrFullName;\r\n this.userInfo = usrFullName;\r\n }\r\n\r\n\r\n if (this.currentuser.id == params.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n //let showDialogWidth = 350;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (selfObj.isModal) {\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 25%;left: 76%;background-color:#ffffb4;border: 1px solid;overflow:auto;padding:0;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding', '6% 0 0 3%');\r\n\r\n }\r\n } else {\r\n var gridOffset = $(\"#notesGrid\").offset();\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 25%;left: 76%;background-color:#ffffb4;border: 1px solid;overflow:auto;padding:0;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding', '6% 0 0 3%');\r\n }\r\n }\r\n\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n\r\n }, 50));\r\n }\r\n\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n }\r\n saveEditedNote() {\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.GetAllNotes(selfObj.notes.accountid, this.type);\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n }\r\n\r\n onAgGridReadynotes(event) {\r\n this.gridApi = event.api;\r\n this.columnApi = event.columnApi;\r\n var thiscomp = this;\r\n var url = window.location.href;\r\n if (url.indexOf('opportunitiesdashboard') > -1) {\r\n $('.fr-wrapper').attr('style', 'height:68%;overflow:auto;')\r\n this.MyGridHeight = (screen.height * 0.3666);\r\n }\r\n\r\n if (url.indexOf('account-contact') > -1) {\r\n $('.fr-wrapper').attr('style', 'height:68%;overflow:auto;')\r\n this.MyGridHeight = (screen.height * 0.33666);\r\n $('#boxDiv').addClass('pull-right');\r\n\r\n }\r\n\r\n if (url.indexOf('leadsdashboard') > -1) {\r\n this.MyGridHeight = (screen.height * 0.355);\r\n $('.fr-wrapper').attr('style', 'height:68%;overflow:auto;')\r\n }\r\n if (url.indexOf('contacts/contacts') > -1) {\r\n this.MyGridHeight = (screen.height * 0.352222);\r\n }\r\n\r\n if (url.indexOf('tickets') > -1) {\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"activeButton\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#tickets_span\").addClass(\"activeColor\");\r\n $(\"#tickets\").addClass(\"mainactiveButton\");\r\n }\r\n\r\n if (url.indexOf('calllist') > -1) {\r\n $('.fr-wrapper').attr('style', 'height:68%;overflow:auto;')\r\n this.MyGridHeight = (screen.height * 0.44888);\r\n }\r\n if (url.indexOf('tasklistdashboard') > -1) {\r\n $('.fr-wrapper').attr('style', 'height:68%;overflow:auto;')\r\n this.MyGridHeight = (screen.height * 0.355);//0.366\r\n }\r\n if (url.indexOf('contactsdashboard') > -1) {\r\n $('.fr-wrapper').attr('style', 'height:68%;overflow:auto;')\r\n this.MyGridHeight = screen.height * 0.3288;//0.344\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n isActive(val) {\r\n if (this.tabName == val)\r\n return true;\r\n else\r\n return false;\r\n }\r\n \r\n View(val) {\r\n if (val == 'Block') {\r\n this.NotesBlockView = true;\r\n } else {\r\n this.NotesBlockView = false;\r\n }\r\n\r\n }\r\n onOpenUploadDocument(msg) {\r\n this.isdocumentid = msg;\r\n }\r\n linkDocument() {\r\n this.UpdateNote(false);\r\n this.AttachDocument = false;\r\n this.noteidDiv = false;\r\n this.openFileView = false;\r\n this.notesHistoryDiv = true;\r\n this.notesMainDiv = true;\r\n }\r\n\r\n AddDocumentsNew(val, Noteselected) {\r\n this.Upload = true;\r\n this.showDocumentAddDialogCss();\r\n this.selectedNotes = Noteselected\r\n $(setTimeout(function () {\r\n $(\"#addFiles\").click();\r\n }, 500));\r\n }\r\n\r\n showDocumentAddDialogCss() {\r\n setTimeout(function () {\r\n $('#Upload .dialog').attr('style', 'width:44%;padding-bottom:0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height:63%;overflow:auto;height:77%;left:0;top: 13.5% !important;padding:0;right:32%');\r\n }, 4)\r\n }\r\n\r\n SavedDocuments(val) {\r\n \r\n if (val != \"496\" && val != \"497\" && val != \"498\" && val != \"499\" && val != \"500\" && val != \"501\" && val != \"554\") {\r\n this.Upload = false;\r\n this.isdocumentid = val;\r\n this.UpdateNote(false);\r\n }\r\n }\r\n\r\n openfile(documentid, note) {\r\n this.selectedNotes = note;\r\n this.userdocumentlist = this.selectedNotes.docList;\r\n this.userdocumentcount = this.selectedNotes.docList.length;\r\n this.getImageData(documentid);\r\n }\r\n getImageData(documentid) {\r\n var myBaseString = \"\";\r\n this.userservice.GetImageData(documentid).then(result => {\r\n myBaseString = result;\r\n let objSelf = this;\r\n this.openFileView = true\r\n $(setTimeout(function () {\r\n //objSelf.sendMsgEvent.emit(myBaseString);\r\n objSelf.onDocumentOpen(myBaseString);\r\n }, 100));\r\n\r\n $('.bodyContaint').css('height', '600px')\r\n $('#NotespdfDiv').css('');\r\n\r\n });\r\n }\r\n\r\n CloseopenFileView(val) {\r\n\r\n if (val == 'AttachDocument') {\r\n this.AttachDocument = false;\r\n this.notesMainDiv = true;\r\n } else {\r\n this.openFileView = false;\r\n this.documentindex = 0;\r\n this.userdocumentcount = 0;\r\n }\r\n\r\n }\r\n\r\n onDocumentOpen(myBaseString) {\r\n $('#NotespdfDiv').html('')\r\n $('#NotespdfDiv').attr('style', 'height: 93%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n }\r\n delink(documentid, note) {\r\n $('#' + documentid + 'ON').attr('style', 'display:block;height:23px;');\r\n $('#' + documentid + 'Off').attr('style', 'display:none;height:23px;');\r\n let selfObj = this;\r\n setTimeout(function () {\r\n var isConfirmed = confirm(\"De-Link this document?\");\r\n if (isConfirmed) {\r\n selfObj.isdocumentid = documentid;\r\n selfObj.selectedNotes = note;\r\n selfObj.UpdateNote(true);\r\n selfObj.isDelink = false;\r\n }\r\n else {\r\n $('#' + documentid + 'Off').attr('style', 'display:block;height:23px;');\r\n $('#' + documentid + 'ON').attr('style', 'display:none;height:23px;');\r\n selfObj.delinkOff(note.id)\r\n }\r\n }, 500);\r\n\r\n }\r\n delinkDocs(noteId) {\r\n this.isDelink = true;\r\n this.selectedNoteId = noteId;\r\n $('#' + noteId + 'Off').attr('style', 'display:none');\r\n $('#' + noteId + 'ON').attr('style', 'display:block;color:red;font-weight: 600;');\r\n }\r\n delinkOff(noteId) {\r\n this.isDelink = false;\r\n // this.selectedNoteId = noteId;\r\n $('#' + noteId + 'Off').attr('style', 'display:block');\r\n $('#' + noteId + 'ON').attr('style', 'display:none;color:red;font-weight: 600;');\r\n }\r\n\r\n closeNotes() {\r\n this.sendMsgEvent.emit(\"closeNotes\");\r\n }\r\n\r\n previousdocument() {\r\n this.documentindex--;\r\n this.getImageData(this.userdocumentlist[this.documentindex]);\r\n }\r\n nextdocument() {\r\n //var viewtype = \"crm\";\r\n this.documentindex++;\r\n this.getImageData(this.userdocumentlist[this.documentindex]);\r\n //$('#pdfDiv').html('')\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 { ICellRendererAngularComp } from \"ag-grid-angular\";\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-notesrenderer',\r\n templateUrl: './notesrenderer.component.html',\r\n styleUrls: ['./notesrenderer.component.css']\r\n})\r\nexport class NotesrendererComponent implements OnInit, ICellRendererAngularComp {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n //if (document.getElementById('coustomers').className == 'mybtn coustomButton mainactiveButton') {\r\n // $('#location').prop(\"style\", \"height: 20px;\");\r\n //} \r\n }\r\n\r\n public params: any;\r\n\r\n agInit(params: any): void {\r\n this.params = params;\r\n \r\n }\r\n needLocationBtn() {\r\n // return (document.getElementById('coustomers').className == 'mybtn coustomButton mainactiveButton')? true : false\r\n }\r\n\r\n public openNotesDialogAg() {\r\n \r\n this.params.context.openNotesDialogAg(this.params.node.data);\r\n\r\n }\r\n public openMultiplelocationDialogAg() {\r\n this.params.context.openMultiplelocationDialogAg(this.params.node.data);\r\n }\r\n refresh(): boolean {\r\n return false;\r\n }\r\n\r\n}\r\n","\r\n
      0\">\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      {{notification.Object.DisplayDate}} :{{notification.Object.MessageName}}
      \r\n
      \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, EventEmitter, Output, Input } from '@angular/core';\r\nimport { NotificationService } from \"./notification.service\";\r\nimport { Notification, NotificationType } from \"./notification\";\r\nimport { Subscription } from \"rxjs\";\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-notification',\r\n templateUrl: './notification.component.html',\r\n styleUrls: ['./notification.component.css']\r\n})\r\nexport class NotificationComponent implements OnInit {\r\n\r\n notifications: Notification[] = [];\r\n private _subscription: Subscription;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n @Input()\r\n NotificationMessages: any=[];\r\n constructor(private _notificationSvc: NotificationService) { }\r\n\r\n private _addNotification(notification: Notification) {\r\n this.notifications.push(notification);\r\n\r\n if (notification.timeout !== 0) {\r\n setTimeout(() => this.close(notification), notification.timeout);\r\n\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this._subscription = this._notificationSvc.getObservable().subscribe(notification => this._addNotification(notification));\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this._subscription.unsubscribe();\r\n }\r\n\r\n close(notification: Notification) {\r\n this.notifications = this.notifications.filter(notif => notif.id !== notification.id);\r\n this.sendMsgEvent.emit(notification.Object);\r\n }\r\n\r\n\r\n className(notification: Notification): string {\r\n\r\n let style: string;\r\n\r\n switch (notification.type) {\r\n\r\n case NotificationType.success:\r\n style = 'success';\r\n break;\r\n\r\n case NotificationType.warning:\r\n style = 'warning';\r\n break;\r\n\r\n case NotificationType.error:\r\n style = 'error';\r\n break;\r\n\r\n\r\n case NotificationType.Message:\r\n style = 'Message';\r\n break;\r\n\r\n default:\r\n style = 'info';\r\n break;\r\n }\r\n\r\n return style;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Subject, Observable } from \"rxjs\";\r\nimport { Notification, NotificationType } from \"./notification\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n private _subject = new Subject();\r\n private _idx = 0;\r\n\r\n\r\n constructor() { }\r\n\r\n getObservable(): Observable {\r\n return this._subject.asObservable();\r\n }\r\n\r\n Message(title: any, timeout = 0) {\r\n this._subject.next(new Notification(this._idx++, NotificationType.error, title, timeout));\r\n }\r\n\r\n\r\n}\r\n","export class Notification {\r\n\r\n constructor(\r\n public id: number,\r\n public type: NotificationType,\r\n public Object: any,\r\n public timeout: number,\r\n ) { }\r\n\r\n}\r\n\r\nexport enum NotificationType {\r\n success = 0,\r\n warning = 1,\r\n error = 2,\r\n info = 3,\r\n Message = 4\r\n}\r\n","
      \r\n \r\n
      \r\n

      \r\n Opportunities Field Configuration\r\n

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

      \r\n Field Choice Configuration\r\n\r\n

      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
      Sort OrderPick List NameActions
      {{fieldData.id}}{{fieldData.SortOrder}}{{fieldData.opportunityitem}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \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, EventEmitter, Output, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { GridOptions, RowDragEndEvent } from 'ag-grid';\r\nimport { OpportunityFields, OpportunityItems, OpportunityLeadTypes } from 'src/app/models/OpportunityLeadTypes';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { SystemRowConfiguration } from '../../models/system-row-configuration';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { DragulaService } from 'ng2-dragula';\r\n\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-opportunities-configuration',\r\n templateUrl: './opportunities-configuration.component.html',\r\n styleUrls: ['./opportunities-configuration.component.css']\r\n})\r\nexport class OpportunitiesConfigurationComponent implements OnInit {\r\n currentUser: any;\r\n OpportunityConfigDiv: boolean = true;\r\n FieldConfigDiv: boolean = true;\r\n FieldChoiceConfigDiv: boolean = false;\r\n OpportunityFieldsList: OpportunityFields[] = [];\r\n DuplicateOpportunityFieldsList: OpportunityFields[] = [];\r\n public gridOptionsView: GridOptions;\r\n public columnDefs;\r\n public sideBar;\r\n ShowOppFieldForm: boolean= false;\r\n OpportunityFieldform: FormGroup;\r\n OpportunityFields: OpportunityFields = new OpportunityFields();\r\n FiledDataList: OpportunityItems[] = [];\r\n DuplicateFiledDataList: OpportunityItems[] = [];\r\n ShowFieldItemTable: boolean = false;\r\n SelectedOppField: OpportunityFields;\r\n PickListIds = [];\r\n DeletePickListObj: OpportunityItems;\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration(); public ConfigFeildscolumnDefs;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n subs = new Subscription(); public gridConfigFeildsView: GridOptions;\r\n private gridApi;\r\n constructor(private userService: UserService, private toastr: ToastrService, private OpportunityService: OpprtunitiesService, public applicationComponent: ApplicationComponent, private leadsService: LeadsService, private dragulaService: DragulaService) {\r\n this.currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n\r\n this.subs.add(this.dragulaService.drop(\"Category-bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n \r\n this.CategoryOrder();\r\n \r\n \r\n })\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.ShowDiv('Fields Configuration'); \r\n }\r\n\r\n createdConfigFeildsColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.ConfigFeildscolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, rowDrag: true\r\n },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false },\r\n\r\n { field: 'opportunityitem', headerName: 'Pick List Name', hide: false },\r\n\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n\r\n eDiv.innerHTML = '';\r\n\r\n eDiv.addEventListener('click', function () {\r\n selfObj.DeletePickList(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n ShowDiv(val) {\r\n if (val == 'Fields Configuration') {\r\n this.OpportunityConfigDiv = false;\r\n this.FieldConfigDiv = true;\r\n this.FieldChoiceConfigDiv = false;\r\n this.getOpportunityFields();\r\n } else if (val == 'Fields Choice Configuration') {\r\n this.OpportunityConfigDiv = false;\r\n this.FieldConfigDiv = false;\r\n this.FieldChoiceConfigDiv = true;\r\n this.getOpportunityFields();\r\n }\r\n }\r\n CloseaccessDiv() {\r\n this.OpportunityConfigDiv = true;\r\n this.FieldConfigDiv = false;\r\n this.FieldChoiceConfigDiv = false;\r\n this.OpportunityFields = new OpportunityFields();\r\n this.ShowOppFieldForm = false;\r\n this.ShowFieldItemTable = false;\r\n }\r\n\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n \r\n }\r\n\r\n getOpportunityFields() {\r\n this.initializeAgGrid('Fields');\r\n this.OpportunityService.GetOpportunityFields(this.currentUser.id).then(result => {\r\n if (this.FieldChoiceConfigDiv == true) {\r\n this.DuplicateOpportunityFieldsList = this.OpportunityFieldsList = result.filter(x => x.DataType == 'Pick List');\r\n } else {\r\n this.DuplicateOpportunityFieldsList = this.OpportunityFieldsList = result;\r\n }\r\n \r\n\r\n });\r\n }\r\n\r\n initializeAgGrid(Type) {\r\n this.gridOptionsView = {\r\n enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n if (Type == 'Fields') {\r\n this.createColumnDefs(\"\");\r\n } \r\n\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n suppressCellSelection:false,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: false,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n rowDrag: true\r\n },\r\n { field: 'FieldName', headerName: 'Field Name', hide: false },\r\n { field: 'DisplayAs', headerName: 'Display As', hide: false },\r\n { field: 'RequiredField', headerName: 'Required Field', hide: false },\r\n { field: 'DataType', headerName: 'Data Type', hide: false },\r\n { field: 'Editable', headerName: 'Editable', hide: false },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: true },\r\n { field: 'UserId', headerName: 'User', hide: true },\r\n {\r\n field: 'action', headerName: 'Action', hide: true, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted == 0 && params.data.TypeOfField == 'Custom') {\r\n eDiv.innerHTML = '';\r\n }\r\n else if (params.data.isdeleted == 1 && params.data.TypeOfField == 'Custom') {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n params.data.isdeleted = 1;\r\n //selfObj.SaveProjField(params.data);\r\n\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n\r\n onSelectionChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.OpportunityFields = rowEvent.api.getSelectedNodes()[0].data;\r\n this.ShowOppFieldForm = true;\r\n }\r\n }\r\n }\r\n\r\n SaveOppField() {\r\n if (this.OpportunityFields.OppFieldId == 0) {\r\n this.OpportunityFields.ColumnName = this.OpportunityFields.ColumnName;\r\n }\r\n this.OpportunityService.SaveOpportunityFields(this.OpportunityFields).then(result => {\r\n this.getOpportunityFields();\r\n this.CloseaccessDiv();\r\n });\r\n }\r\n\r\n getPickListData(fieldId,fieldName) {\r\n this.OpportunityService.GetFieldItems(fieldId, fieldName, this.currentUser.id).then((accounttype) => {\r\n this.FiledDataList = accounttype;\r\n });\r\n }\r\n\r\n onSelectionChangedNew(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n \r\n this.SelectedOppField = rowEvent.api.getSelectedNodes()[0].data;\r\n if (this.SelectedOppField.DataType == 'Pick List') {\r\n this.ShowFieldItemTable = true;\r\n this.getPickListData(this.SelectedOppField.OppFieldId, this.SelectedOppField.FieldName);\r\n } else {\r\n this.ShowFieldItemTable = true;\r\n }\r\n \r\n }\r\n }\r\n }\r\n\r\n AddNewFieldData(id, val) {\r\n if (val == 'Add') {\r\n var toDoEmpty = ({ id: 0, opportunityitem: '', Category: '', SortOrder: 0, isdeleted: 0, OppFieldID: 0 })\r\n this.FiledDataList.push(toDoEmpty);\r\n $(setTimeout(function () {\r\n $('#PickListSortOrder' + id).attr('contenteditable', \"true\")\r\n $('#PickListName' + id).attr('contenteditable', \"true\")\r\n $('#PickListRow' + id).attr('style', \"background-color:#b7e4ff\");\r\n }, 200));\r\n }\r\n }\r\n\r\n PickListRowClick(row) {\r\n $(setTimeout(function () {\r\n $('#PickListSortOrder' + row.id).attr('contenteditable', \"true\")\r\n $('#PickListName' + row.id).attr('contenteditable', \"true\")\r\n $('#PickListRow' + row.id).attr('style', \"background-color:#b7e4ff\");\r\n }, 200));\r\n }\r\n keyupPickList(fieldDataid) {\r\n if ((this.PickListIds.filter(f => f.Index == fieldDataid)).length == 0) {\r\n this.PickListIds.push({ Index: fieldDataid });\r\n }\r\n }\r\n DeletePickList(fieldData) {\r\n this.DeletePickListObj = fieldData;\r\n this.DeletePickListObj.isdeleted = 1;\r\n this.SaveData(this.DeletePickListObj);\r\n }\r\n\r\n SavePickListData() {\r\n if (this.PickListIds.length > 0) {\r\n var PickListArray = new OpportunityItems();\r\n \r\n this.PickListIds.forEach(id => {\r\n\r\n PickListArray.id = parseInt($('#PickListID~' + id.Index).html());\r\n PickListArray.SortOrder = parseInt($('#PickListSortOrder' + id.Index).html());\r\n PickListArray.opportunityitem = $('#PickListName' + id.Index).html();\r\n PickListArray.isdeleted = 0;\r\n PickListArray.OppFieldID = this.SelectedOppField.OppFieldId;\r\n PickListArray.Category = this.SelectedOppField.FieldName;\r\n });\r\n\r\n this.SaveData(PickListArray);\r\n\r\n }\r\n }\r\n \r\n SaveData(PickListArray) {\r\n this.OpportunityService.SaveOppPickList(PickListArray).then(result => {\r\n this.toastr.success(\"Saved Successfully.\", \"Pick List\", { timeOut: 600 });\r\n this.getPickListData(this.SelectedOppField.OppFieldId, this.SelectedOppField.FieldName);\r\n this.PickListIds = [];\r\n });\r\n }\r\n\r\n PickListSortByType(value) {\r\n this.DuplicateFiledDataList = [];\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (value == 'GsortOrder') {\r\n selfObj.DuplicateFiledDataList = selfObj.FiledDataList.sort((a, b) => a.SortOrder - b.SortOrder);\r\n } else if (value == 'GOrderA-Z') {\r\n var data = selfObj.FiledDataList;\r\n data = data.sort((a, b) => a.opportunityitem.localeCompare(b.opportunityitem));\r\n selfObj.DuplicateFiledDataList = data;\r\n } else if (value == 'SSOrder') {\r\n selfObj.DuplicateFiledDataList = selfObj.FiledDataList.sort((a, b) => a.SortOrder - b.SortOrder);\r\n } else if (value == 'A-Z') {\r\n selfObj.DuplicateFiledDataList = selfObj.FiledDataList.sort((a, b) => a.opportunityitem.toLowerCase() > b.opportunityitem.toLowerCase() ? 1 : -1);\r\n\r\n }\r\n }, 100));\r\n\r\n }\r\n\r\n onAgGridReady(event) {\r\n this.gridOptionsView.api = event.api;\r\n }\r\n\r\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"OpportunityFields\");\r\n }\r\n onRowDragEndFieldChoice(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"OpportunityFieldChoice\");\r\n }\r\n \r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == \"OpportunityFields\") {\r\n this.gridOptionsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.OppFieldId);\r\n });\r\n } else if (type == \"OpportunityFieldChoice\") {\r\n this.gridOptionsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.OppFieldId);\r\n });\r\n }\r\n else {\r\n this.gridConfigFeildsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.id);\r\n });\r\n }\r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentUser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n });\r\n\r\n }\r\n\r\n CategoryOrder() {\r\n let TaskIdArr = [];\r\n $.each($(\"#\" + this.SelectedOppField.ColumnName + \" tr td:nth-child(2)\"), function (k, v) {\r\n var TaskIds = $.trim($(this).attr('id'));\r\n TaskIdArr.push(TaskIds.split('~')[1]);\r\n\r\n });\r\n this.userService.SaveConfigFieldDataSortOrder(TaskIdArr.join(','), this.SelectedOppField.FieldName, this.SelectedOppField.OppFieldId, this.currentUser.id).then(result => {\r\n this.toastr.success(\"Questions Re-Ordered Successfully.\", \" Questions\", { timeOut: 600 });\r\n });\r\n }\r\n}\r\n\r\n","
      \r\n
      \r\n
      \r\n
      \r\n {{ this.opportunities.id > 0 ? 'EDIT OPPORTUNITY' : 'ADD NEW OPPORTUNITY' }}\r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      0\">\r\n
      \r\n
      \r\n
      \r\n {{field.DisplayAs}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n \r\n
      \r\n\r\n
      \r\n \r\n\r\n \r\n\r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n\r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n CLOSE OPPORTUNITY\r\n
      \r\n
      \r\n
      \r\n Status :\r\n
      \r\n
      \r\n Won\r\n Lost\r\n Pending\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Date :\r\n
      \r\n
      \r\n
      {{opportunities.actualclosedate | date:\"MM/dd/yyyy\"}}
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n 0\" [(visible)]=\"notesshowDialog\" style=\"height:100%\" [CloseButtonColor]=\"'white'\">\r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n \r\n\r\n
      \r\n
      \r\n
      \r\n Opportunity\r\n
      \r\n
      \r\n
      \r\n Please Select an Opportunity
      \r\n\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n 0\" [status]=\"0\" [MessageType]=\"'CloseOpp'\" [title]=\"'Edit Opportunity'\"\r\n [description]=\"'Changes will not be saved?'\" [isok]=\"true\" [issave]=\"false\"\r\n [isdiscard]=\"false\" [iscancel]=\"true\" (sendMsgEvent)=\"ReceiveDeleteCampaignevent($event)\">\r\n \r\n \r\n \r\n","import { Component, OnInit, ElementRef, Input, EventEmitter, Output, ViewChild } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { Notes } from 'src/app/models/notes';\r\nimport { OpprtunitiesService } from 'src/app/services/opprtunities.service';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { Opportunities } from 'src/app/models/opportunities';\r\nimport { Router } from '@angular/router';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { NotesComponent } from '../../notes/notes.component';\r\nimport { Accounts } from '../../../models/accounts';\r\nimport { Contacts } from '../../../models/contacts';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { OpportunityFields } from '../../../models/OpportunityLeadTypes';\r\n\r\nimport { FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { ApplicationComponent } from '../../application.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'add-opportunity',\r\n templateUrl: './add-opportunity.component.html',\r\n styleUrls: ['./add-opportunity.component.css']\r\n})\r\nexport class AddOpportunityComponent implements OnInit {\r\n notesshowDialog = false;\r\n opportunities: Opportunities = new Opportunities();\r\n currentuser: any;\r\n OwnerList: Dropdowntype[] = [];\r\n opprtunityitemlist: Dropdowntype[] = [];\r\n Tasklist: Dropdowntype[] = [];\r\n pclist: Dropdowntype[] = [];\r\n drlist: Dropdowntype[] = [];\r\n midlevelslist: Dropdowntype[] = [];\r\n leadfromlist: Dropdowntype[] = [];\r\n opportunitiesnotes: Array = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n @Input()\r\n OpportunityID = 0;\r\n @Input()\r\n contactid: number;\r\n @Input()\r\n type: string;\r\n @Input()\r\n editOpp;\r\n notes: Notes = new Notes();\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n @Input()\r\n Status;\r\n SaveCancelOppDiv: boolean = true;\r\n userprevilages: any;\r\n Dialog: boolean = false;\r\n public gridOptionsnotes: GridOptions;\r\n public context;\r\n public columnDefsnotes: any[];\r\n allnotes: Notes[];\r\n timezonevalue: string;\r\n @ViewChild(NotesComponent) notecomp;\r\n account: Accounts = new Accounts();\r\n contact: Contacts = new Contacts();\r\n OpportunityNotesDialog: boolean = false;\r\n PreviousNotesExpand: boolean = false; showSaveNotes: boolean = false;\r\n notedescription: string;\r\n showPDFDiv: boolean = true;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n SelectOpprotunityDialog: boolean = false;\r\n conid: number;\r\n typ: string;\r\n today= Date.now();\r\n ExpandPDFDiv: boolean= false;\r\n CloseCreateNewWarning: boolean = false;\r\n Fields: any;\r\n OpportunityFieldsList: OpportunityFields[] = [];\r\n dropdownList = [];\r\n NewForm = new FormGroup({});\r\n\r\n FormDataModified: boolean = false;\r\n constructor(public applicationComponent: ApplicationComponent, myElement: ElementRef, private opprtunityservice: OpprtunitiesService, private userService: UserService,private customerService: CustomerService, private toastr: ToastrService, private router: Router) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n var loggedInUserId = this.currentuser.id;\r\n this.customerService.GetPrivilagesByuser(loggedInUserId).then(result => {\r\n this.userprevilages = result;\r\n });\r\n \r\n \r\n }\r\n clearNotes() {\r\n this.notes.notedescription = \"\";\r\n this.showSaveNotes = false;\r\n }\r\n NotesKeyUp(event) {\r\n this.notes.stagenotedescription = event.target.value;\r\n if (this.notes.notedescription.length > 0) {\r\n this.showSaveNotes = true;\r\n }\r\n else {\r\n this.showSaveNotes = false;\r\n }\r\n }\r\n ngOnInit() {\r\n this.getProjectFields();\r\n this.loadDropDowns();\r\n this.loadopp(this.OpportunityID);\r\n this.SaveCancelOppDiv = this.Status;\r\n this.notes = new Notes();\r\n }\r\n loadDropDowns() {\r\n if (this.type == 'Contacts') {\r\n this.customerService.LoadContactById(this.contactid).then(result => {\r\n this.contact = result;\r\n this.opportunities.ownerid = this.contact.ownerid;\r\n });\r\n } else {\r\n this.customerService.loadaccountdata(this.contactid).then(result => {\r\n this.account = result;\r\n this.opportunities.ownerid = this.account.ownerid;\r\n });\r\n }\r\n\r\n this.opprtunityservice.GetAllItems().then((items) => {\r\n this.opprtunityitemlist = items;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"ProbabiltyClose\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.pclist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"Drs\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.drlist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"Midlevels\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.midlevelslist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"LeadFrom\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.leadfromlist = pc;\r\n });\r\n this.customerService.GetLoggedinUserList(this.currentuser.id, this.currentuser.systemadministrator).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.OwnerList = Owner;\r\n });\r\n }\r\n\r\n addOpportunity() {\r\n if (this.opprtunityitemlist) {\r\n this.opprtunityitemlist.forEach(oppitem => {\r\n if (oppitem.id == parseInt(this.opportunities.item)) {\r\n this.opportunities.itemName = oppitem.itemName;\r\n\r\n }\r\n });\r\n }\r\n this.OpportunityNotesDialog = false; \r\n \r\n this.opportunities.source = \"Opp Icon\";\r\n if (this.opportunities.id == 0 || this.opportunities.id == undefined || this.opportunities.id == null) {\r\n this.opportunities.OpportunityFor = \"Opportunity\";\r\n }\r\n \r\n var previousnotes = \"\";\r\n if (this.opportunitiesnotes.length > 0) {\r\n this.opportunitiesnotes.forEach(oppitem => {\r\n previousnotes += oppitem.notedescription + \"|\";\r\n });\r\n\r\n this.opportunities.notesDescription = previousnotes + this.notes.stagenotedescription;\r\n } else {\r\n this.opportunities.notesDescription = this.notes.stagenotedescription;\r\n }\r\n\r\n this.opportunities.fieldvalues = JSON.stringify(this.NewForm?.value);\r\n \r\n this.opportunities.actualclosedate = this.opportunities.actualclosedate;\r\n\r\n this.opprtunityservice.addopprtunity(this.opportunities).then(result => {\r\n this.opportunities = result;\r\n this.notes.accountid = result.id;\r\n this.notes.type = \"Opportunity\";\r\n this.notes.notedescription = this.notes.stagenotedescription;\r\n this.notes.userid = this.currentuser.id;\r\n this.notes.isnewnote = 1;\r\n if (this.notes.notedescription) {\r\n this.notes.notedescription = this.notes.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>)/img, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/gi, \"\");\r\n }\r\n \r\n\r\n this.opprtunityservice.addopprtunityNotes(this.notes).then(result => {\r\n this.notes = result;\r\n this.notes.notedescription = '';\r\n this.notes = new Notes();\r\n });\r\n this.CancelOpportunity(\"Save\");\r\n this.sendMsgEvent.emit(\"OpportunitySaved\"); \r\n this.toastr.success(\"Opportunity saved successfully.\", \"Opportunity Saved\", { timeOut: 600 });\r\n \r\n });\r\n\r\n\r\n }\r\n\r\n loadopp(oppId) {\r\n if (oppId != 0) {\r\n this.opprtunityservice.GetByOpportunityId(oppId).then(result => {\r\n this.opportunities = result;\r\n if (this.opportunities.actualclosedate == null) {\r\n this.opportunities.actualclosedate = this.today.toString();\r\n } else { \r\n this.opportunities.actualclosedate = this.datePipe.transform(this.opportunities.actualclosedate, 'yyyy-MM-dd'); \r\n } \r\n if (this.opportunities.status == 'Closed-Won' || this.opportunities.status == 'Closed-Lost') {\r\n this.contactid = this.opportunities.accountorcontactid;\r\n } \r\n this.type = this.opportunities.type;\r\n this.opprtunityservice.GetAllOpprtunitiesNotesById(this.opportunities.id).then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.opportunitiesnotes = items;\r\n \r\n });\r\n });\r\n }\r\n else {\r\n this.CancelOpportunity(\"load\"); \r\n }\r\n \r\n\r\n }\r\n\r\n CancelOpportunity(val) {\r\n if (val != 'Cancel') {\r\n this.opportunities = new Opportunities();\r\n this.opportunitiesnotes = [];\r\n this.opportunities.ownerid = this.currentuser.id;\r\n this.editOpp = false;\r\n } else {\r\n this.CloseCreateNewWarning = true;\r\n this.applicationComponent.salesxcrmDialog('#CloseCreateNewWarning .dialog'); \r\n }\r\n }\r\n\r\n StatusChange(val) {\r\n if (this.opportunities.status != '108' && this.opportunities.status != '111') {\r\n this.sendMsgEvent.emit(\"OpportunityStatusChanged\");\r\n let selfobj = this;\r\n setTimeout(function () {\r\n \r\n selfobj.SaveCancelOppDiv = false;\r\n selfobj.css();\r\n \r\n },4)\r\n \r\n }\r\n else {\r\n this.SaveCancelOppDiv = true;\r\n \r\n }\r\n }\r\n\r\n delete(val, status) {\r\n \r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Opportunities\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canedit == false) {\r\n this.toastr.warning(\"You Do Not have Access to update – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }\r\n this.Dialog = true\r\n this.opportunities.status = status;\r\n if (status == \"Closed-Won\") {\r\n $(\"#Won\").removeClass(\"c-button\");\r\n $(\"#Won\").addClass(\"OpportunityactiveButton\");\r\n } else if (status == \"Pending\") {\r\n $(\"#Pending\").removeClass(\"c-button\");\r\n $(\"#Pending\").addClass(\"OpportunityactiveButton\");\r\n }\r\n else {\r\n $(\"#Lost\").removeClass(\"c-button\");\r\n $(\"#Lost\").addClass(\"OpportunityactiveButton\");\r\n }\r\n }\r\n\r\n ChangeStatus(val, status) {\r\n if (val) {\r\n this.opprtunityservice.GetStatusChange(val, status).then(result => {\r\n this.addOpportunity();\r\n this.sendMsgEvent.emit(\"OpportunitySaved\");\r\n this.Dialog = false;\r\n this.CancelOpportunity(\"Save\");\r\n this.clearbuttonseelection();\r\n this.SaveCancelOppDiv = true;\r\n //});\r\n\r\n });\r\n } else {\r\n this.addOpportunity();\r\n this.SaveCancelOppDiv = true;\r\n }\r\n \r\n }\r\n css() {\r\n setTimeout(function () {\r\n $('#WonLostPendingDiv .dialog').attr('style', 'width: 40%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 20%;overflow: auto;height: 46%;left: 10%;top: 44%;');\r\n }, 4)\r\n }\r\n clearbuttonseelection() {\r\n \r\n $(\"#Won\").removeClass(\"OpportunityactiveButton\");\r\n $(\"#Pending\").removeClass(\"OpportunityactiveButton\");\r\n $(\"#Lost\").removeClass(\"OpportunityactiveButton\");\r\n\r\n $(\"#Won\").addClass(\"c-button\");\r\n $(\"#Pending\").addClass(\"c-button\");\r\n $(\"#Lost\").addClass(\"c-button\");\r\n }\r\n onCloseDialog(event) {\r\n this.sendMsgEvent.emit(\"CloseDialog\");\r\n this.SaveCancelOppDiv = true;\r\n this.opportunities.status = \"Open\";\r\n }\r\n \r\n AddTask() {\r\n this.sendMsgEvent.emit(\"AddTask\");\r\n }\r\n OpenOpp() {\r\n document.getElementById('addopportunity').style.display = 'none';\r\n document.getElementById('allOpportunities').style.display = 'block';\r\n }\r\n\r\n Save() {\r\n \r\n if (this.opportunities.id == 0 || this.opportunities.id == undefined) {\r\n this.NewForm.addControl('userid', new FormControl(this.currentuser.id));\r\n this.NewForm.addControl('accountorcontactid', new FormControl(this.contactid));\r\n this.NewForm.addControl('type', new FormControl(this.type));\r\n this.NewForm.addControl('isdeleted', new FormControl(0));\r\n \r\n this.NewForm.addControl('ownerid', new FormControl(this.opportunities.ownerid));\r\n this.NewForm.addControl('practiceid', new FormControl(this.contactid));\r\n this.NewForm.addControl('source', new FormControl(\"Opp Icon\"));\r\n this.NewForm.addControl('OpportunityFor', new FormControl('Opportunity'));\r\n var date = this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('datecreated', new FormControl(date));\r\n this.NewForm.controls['datecreated'].setValue(date);\r\n this.opportunities.accountorcontactid = this.contactid;\r\n this.opportunities.userid = this.currentuser.id;\r\n this.opportunities.type = this.type;\r\n this.opportunities.isdeleted = 0;\r\n this.opportunities.datecreated = date;\r\n } else {\r\n var date = this.datePipe.transform(this.opportunities.datecreated, 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('datecreated', new FormControl(date));\r\n this.NewForm.controls['datecreated'].setValue(date);\r\n this.NewForm.addControl('accountorcontactid', new FormControl(this.contactid));\r\n this.NewForm.addControl('type', new FormControl(this.type));\r\n this.NewForm.addControl('isdeleted', new FormControl(this.opportunities.isdeleted));\r\n this.NewForm.addControl('ownerid', new FormControl(this.opportunities.ownerid));\r\n this.NewForm.addControl('practiceid', new FormControl(this.opportunities.practiceid));\r\n this.NewForm.addControl('source', new FormControl(this.opportunities.source));\r\n this.NewForm.addControl('OpportunityFor', new FormControl(this.opportunities.OpportunityFor));\r\n this.opportunities.accountorcontactid = this.contactid;\r\n this.opportunities.userid = this.currentuser.id;\r\n this.opportunities.type = this.type;\r\n this.opportunities.isdeleted = 0;\r\n }\r\n\r\n this.addOpportunity();\r\n }\r\n\r\n OpportunityNotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n showNotesDialog() {\r\n \r\n if (this.OpportunityID > 0) {\r\n this.conid = this.contactid;\r\n \r\n if (this.opportunities.type == 'Customer') {\r\n this.typ = 'Account';\r\n } else if (this.opportunities.type == 'Contacts') {\r\n this.typ = 'Contact';\r\n } else {\r\n this.typ = this.opportunities.type;\r\n }\r\n this.notesshowDialog = true;\r\n this.NotesDialogCss();\r\n\r\n //$('#accotIdNotes').val(this.contactid);\r\n //$('#accotTypeNotes').val('Opportunity');\r\n //let selfobj = this;\r\n //$(setTimeout(function () {\r\n // selfobj.notecomp.Notes('Opportunity');\r\n\r\n //}, 100));\r\n }\r\n else {\r\n //alert(\"Please Select an Opportunity\");\r\n\r\n this.SelectOpprotunityDialog = true;\r\n setTimeout(function () {\r\n $('#SelectOpprotunityDialog .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n\r\n }\r\n \r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(columnSelections: string) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return ''; \r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellStyle: { 'text-align': 'left' }, cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n //eDiv.addEventListener('click', function () {\r\n // selfObj.openDisplaynotes(params);\r\n //});\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', cellStyle: { 'text-align': 'left' }, headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellStyle: { 'text-align': 'left' }, cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n \r\n }\r\n\r\n GetCustomerNotes(contactid, type) {\r\n var moment = require('moment-timezone');\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes(); this.allnotes = taskhistory;\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n Expand(val) {\r\n if (val == true) {\r\n this.ExpandPDFDiv = true;\r\n this.sendMsgEvent.emit(\"Expand\"); \r\n\r\n } else {\r\n this.ExpandPDFDiv = false;\r\n this.sendMsgEvent.emit(\"Collapse\"); \r\n }\r\n }\r\n CloseAddOpportunityDialog() {\r\n this.sendMsgEvent.emit(\"CloseAddOpportunity\");\r\n }\r\n CloseCreateTicket() {\r\n \r\n //if (this.opportunities.id == null || this.opportunities.id == 0 || this.opportunities.id == undefined) {\r\n this.CloseCreateNewWarning = true;\r\n this.applicationComponent.salesxcrmDialog('#CloseCreateNewWarning .dialog');\r\n ////setTimeout(function () {\r\n //// this.applicationComponent.\r\n //// $('#CloseCreateNewWarning .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //// }, 4)\r\n //} else {\r\n\r\n // this.sendMsgEvent.emit(\"CloseAddOpportunity\");\r\n //}\r\n\r\n }\r\n\r\n ReceiveDeleteCampaignevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.CloseAddOpportunityDialog();\r\n }\r\n this.CloseCreateNewWarning = false;\r\n }\r\n getProjectFields() {\r\n\r\n this.opprtunityservice.GetOpportunityFields(this.currentuser.id).then(result => {\r\n this.OpportunityFieldsList = result;\r\n result.forEach(ele => {\r\n if (ele.DataType == 'Pick List' || ele.DataType == 'System Lookup') {\r\n if (ele.ColumnName == 'ownerid') {\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 0, 0).then((Owner) => {\r\n ele['Data'] = Owner;\r\n this.dropdownList = Owner;\r\n });\r\n }\r\n \r\n else {\r\n this.opprtunityservice.GetFieldItems(ele.OppFieldId, ele.FieldName, this.currentuser.id).then((accounttype) => {\r\n ele['Data'] = accounttype;\r\n \r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n let So = this;\r\n setTimeout(function () {\r\n So.Fields = result;\r\n So.Fields.forEach(x => {\r\n So.NewForm.addControl(x.ColumnName, new FormControl('')); \r\n So.showPDFDiv = false;\r\n });\r\n So.NewForm.addControl('notedescription', new FormControl(''));\r\n\r\n }, 400)\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n FormDataEntered(val) {\r\n this.FormDataModified = true;\r\n }\r\n}\r\n","

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n 0\" [viewaccount]=\"viewaccount\" [account]=\"account\" [tab]=\"''\" [noteslist]=\"allnotes\" (btnClickEvent)=\"btnClickReceived($event)\" [pageFrom]=\"'Opportunities'\" [ViewData]=\"'Account'\" [contact]=\"''\">\r\n\r\n
      \r\n
      \r\n 0\" [viewaccount]=\"viewaccount\" [account]=\"account\" [tab]=\"''\" [noteslist]=\"allnotes\" (btnClickEvent)=\"btnClickReceived($event)\" [pageFrom]=\"'Opportunities'\" [ViewData]=\"'Contact'\" [contact]=\"contact\">\r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      0\" class=\"col-xs-2\" style=\"padding:0 0 0% 2%;height:8%\">\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      Contact:
      \r\n {{opportunitiesHistory.contactName}}\r\n
      \r\n
      \r\n
      Proposal Type:
      \r\n
      {{opportunitiesHistory.itemName}}
      \r\n
      \r\n
      \r\n
      Description:
      \r\n
      {{opportunitiesHistory.ProposalDescription}}
      \r\n
      \r\n\r\n
      \r\n
      Lead From:
      \r\n
      {{opportunitiesHistory.leadfrom}}
      \r\n
      \r\n\r\n
      \r\n
      Description:
      \r\n
      {{opportunitiesHistory.LeadDescription}}
      \r\n
      \r\n\r\n
      \r\n
      #Drs:
      \r\n
      {{opportunitiesHistory.drsName}}
      \r\n
      \r\n\r\n
      \r\n
      # Mid Levels:
      \r\n
      {{opportunitiesHistory.midlevel}}
      \r\n
      \r\n\r\n
      \r\n
      ECD:
      \r\n
      {{opportunitiesHistory.estimatedclosedate}}
      \r\n
      \r\n\r\n
      \r\n
      ECP:
      \r\n
      {{opportunitiesHistory.PCname}}
      \r\n
      \r\n\r\n
      \r\n
      Price:
      \r\n
      {{opportunitiesHistory.dollers}}
      \r\n
      \r\n\r\n
      \r\n
      Monthly:
      \r\n
      {{opportunitiesHistory.RR}}
      \r\n
      \r\n\r\n
      \r\n
      Owner:
      \r\n
      {{opportunitiesHistory.owner}}
      \r\n
      \r\n\r\n
      \r\n
      Status:
      \r\n
      {{opportunitiesHistory.statusName}}
      \r\n
      \r\n\r\n
      \r\n
      Created By:
      \r\n
      {{opportunitiesHistory.createdUser}}
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{note.created | date:\"dd-MM-yy\"}} | {{note.created | date:\"hh:mm:ss\"}}
      \r\n
      User: {{note.user}}
      \r\n
      {{note.notedescription}}
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      {{note.created | date:\"dd-MM-yy\"}} | {{note.created | date:\"hh:mm:ss\"}}
      \r\n
      User: {{note.user}}
      \r\n
      {{note.notedescription}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      0\" class=\"col-xs-12\" style=\"padding-right:0;border: 1px solid #ddd;padding:0;height:100%;\">\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, ViewContainerRef, ElementRef, Input, Output, EventEmitter, ViewChild} from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { Notes } from '../../models/notes';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CustomerService } from './../../services/customer.service'\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { Column } from 'ag-grid';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { AddOpportunityComponent } from './add-opportunity/add-opportunity.component';\r\nimport { Viewaccount } from '../../models/viewaccount';\r\nimport { OwnershipsharingComponent } from '../ownershipsharing/ownershipsharing.component';\r\nimport { AccountDetailsComponent } from '../account-details/account-details.component';\r\nimport { UserService } from '../../services/user.service';\r\ndeclare var $: any;\r\ndeclare var require: any;\r\n@Component({\r\n selector: 'opportunities',\r\n templateUrl: './opportunities.component.html',\r\n styleUrls: ['./opportunities.component.css']\r\n})\r\nexport class OpportunitiesComponent implements OnInit {\r\n public currentuser: any;\r\n @Input()\r\n type: string;\r\n @Input()\r\n contactid;\r\n @Input()\r\n typeSelected: string = \"\";\r\n @Input()\r\n OpportunityID;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n OppId: number = 0;\r\n editOpp: boolean = true;\r\n @ViewChild(AddOpportunityComponent) newComp;\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n today = Date.now();\r\n Allopportunities: Opportunities[];\r\n public context;\r\n opportunities: Opportunities = new Opportunities();\r\n opportunitiesHistory: Opportunities = new Opportunities();\r\n notes: Notes = new Notes();\r\n opportunitiesnotes: Array = [];\r\n taskhistory: TaskHistory = new TaskHistory();\r\n TaskDiv: boolean = false;\r\n account: Accounts = new Accounts();\r\n contact: Contacts = new Contacts();\r\n selectedItems = [];\r\n status = true;\r\n notesshowDialog = false;\r\n ShowAddOppDialog = false;\r\n isModal: boolean = true;\r\n public sideBar;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n allnotes: Array = [];\r\n timezonevalue: string;\r\n AccountIdsDialog: boolean = false;\r\n SearchPage: boolean = false;\r\n viewaccount: Viewaccount = new Viewaccount();\r\n action: string;\r\n showAddEditAccount: boolean = false;\r\n showAddEditContact: boolean = false;\r\n isSharing: boolean = false;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n rightMainDivHideShow: boolean = true;\r\n accountSharingid: number = 0;\r\n AddContacttableDiv: boolean = false;\r\n userprevilages: any;\r\n ExpandPDF: boolean = false;\r\n @ViewChild(AccountDetailsComponent) accdetailcmp;\r\n showPDFDiv: boolean = false;\r\n PreviousNotesExpand: boolean = false;\r\n constructor(private userService: UserService,public applicationComponent: ApplicationComponent, private route: ActivatedRoute, private leadservice: LeadsService, private viewContainerRef: ViewContainerRef, private toastr: ToastrService, myElement: ElementRef, private opprtunityservice: OpprtunitiesService, private router: Router, private customerService: CustomerService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() { \r\n this.route.params.subscribe(params => {\r\n \r\n if (params['type'] != \"0\") {\r\n this.type = params['type'];\r\n }\r\n });\r\n if (this.typeSelected == 'opportunity') {\r\n this.editOpp = true;\r\n }\r\n else if (this.typeSelected == 'SearchPage') {\r\n this.SearchPage = true;\r\n }\r\n this.initializeAgGrid();\r\n this.loadOpportunities(this.contactid);\r\n this.info(this.contactid, this.type);\r\n this.GetOpportunityDetais(this.OpportunityID);\r\n\r\n }\r\n public OpenOpportunity(oppId) {\r\n this.editOpp = true;\r\n this.ShowAddOppDialog = true;\r\n this.oppAddEditDialogCss();\r\n }\r\n GetOpportunityDetais(oppId) {\r\n this.opprtunityservice.GetByOpportunityId(oppId).then(result => {\r\n this.opportunities = result;\r\n this.opprtunityservice.GetAllOpprtunitiesNotesById(oppId).then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.opportunitiesnotes = items;\r\n });\r\n });\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n //let selectedUserIds: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 31).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n\r\n }\r\n\r\n createColumnDefs(columnSelections: string) {\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({\r\n field: 'owner', headerName: 'Owner', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({\r\n field: 'statusName', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'estimatedclosedate', headerName: 'ECD', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'statusName', headerName: 'Status', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false,\r\n cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n\r\n {\r\n field: 'itemName', headerName: 'Proposal Item', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'dollers', headerName: 'Price', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'RR', headerName: 'Monthly', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'drsName', headerName: '# Drs', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'midlevel', headerName: '# Mid Levels', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n ];\r\n\r\n }\r\n }\r\n\r\n loadOpportunities(contactid) {\r\n this.contactid = contactid;\r\n if (contactid == 0) {\r\n this.Allopportunities = [];\r\n this.opportunitiesnotes = [];\r\n this.opportunitiesHistory = new Opportunities();\r\n } else {\r\n this.opprtunityservice.GetAllOpportunitiesListByAccountorContact(contactid, 'Opt').then((customer) => {\r\n customer.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n });\r\n this.Allopportunities = customer;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.OpportunityID) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 1000));\r\n this.opportunities = new Opportunities();\r\n this.opportunitiesnotes = [];\r\n this.Resetfields();\r\n });\r\n }\r\n }\r\n PDFClick(val, type) {\r\n if (val !== 0 && val !== '0' && val !== undefined) {\r\n this.showPDFDiv = true;\r\n this.PDFDIVCss();\r\n this.userService.GetProposalsDocumentContent(val).then(result => {\r\n let SO = this\r\n $(setTimeout(function () {\r\n SO.onDocumentOpen(result.PdfContent);\r\n }, 100));\r\n });\r\n }\r\n \r\n }\r\n\r\n PDFDIVCss() {\r\n setTimeout(function () {\r\n $('#PDFDiv .dialog').attr('style', 'width: 47%;padding: 0px;border: 4px solid rgb(49,189,240);min-height: 75%;overflow: auto;height: 99%;top: 0%;left: 53%;');\r\n }, 4)\r\n }\r\n\r\n onDocumentOpen(myBaseString) {\r\n $('#pdfDiv').html('')\r\n $('#pdfDiv').attr('style', 'width:100%;height: 100%;padding-left: 0;padding-right: 0%;background-color: white;margin-left:0%');\r\n }\r\n Resetfields() {\r\n this.opportunities.item = null;\r\n this.opportunities.PC = null;\r\n this.opportunities.drs = null;\r\n this.opportunities.midlevels = null;\r\n this.opportunities.leadfromid = null;\r\n this.taskhistory.type = null;\r\n this.opportunities.ownerid = this.currentuser.id;\r\n }\r\n\r\n rowClickAgGrid(rowEvent) {\r\n if (rowEvent.node.selected) {\r\n this.OpportunityID = rowEvent.data.id;\r\n this.editOpp = true;\r\n this.newComp.loadopp(this.OpportunityID);\r\n }\r\n else {\r\n this.OpportunityID = 0;\r\n this.editOpp = false;\r\n this.newComp.loadopp(this.OpportunityID);\r\n }\r\n }\r\n\r\n onSelectionChanged(event) {\r\n \r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n \r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.OpportunityID = event.api.getSelectedNodes()[0].data.id;\r\n this.opportunitiesHistory = event.api.getSelectedNodes()[0].data;\r\n this.GetOpportunityDetais(this.OpportunityID);\r\n }\r\n } else {\r\n this.OpportunityID = 0;\r\n \r\n }\r\n }\r\n\r\n ShowTaskDiv() {\r\n this.TaskDiv = !this.TaskDiv;\r\n this.TaskDivCSS()\r\n }\r\n TaskDivCSS() {\r\n setTimeout(function () {\r\n $('#TaskDiv .dialog').attr('style', 'width: 40%;padding: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 95%;overflow: auto;height: 83%;top: 3%;left: 58%;');\r\n }, 4)\r\n }\r\n DisplayOpportunities(event) {\r\n this.info(event.accountorcontactid, event.type);\r\n this.loadOpportunities(event.accountorcontactid);\r\n this.editOpp = true;\r\n /* this.newComp.loadopp(event.id);*/\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == event.id) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n \r\n }\r\n });\r\n }, 500));\r\n \r\n }\r\n\r\n oppAddEditDialogCss() {\r\n setTimeout(function () {\r\n $('#ShowAddOppDialog .dialog').attr('style', 'width: 35%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82.5%;padding: 0;top: 10%;left: 63%;');\r\n }, 4)\r\n\r\n }\r\n info(id, type) { \r\n this.oppAddEditDialogCss();\r\n if (type == \"Account\" || type == \"Customer\") {\r\n this.LoadAccountData(id,type);\r\n }\r\n else if (type == \"Contacts\") {\r\n this.contact = new Contacts();\r\n this.customerService.LoadContactById(id).then(result => {\r\n this.contact = result; \r\n this.type = \"Contacts\";\r\n this.LoadAccountData(result.accountid, this.type);\r\n });\r\n }\r\n }\r\n LoadAccountData(id, type) {\r\n this.customerService.loadaccountdata(id).then(result => {\r\n this.account = result;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.owner);\r\n this.type = type;\r\n });\r\n }\r\n\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata,ownerName) {\r\n\r\n //var properCity = city.charAt(0).toUpperCase() + city.substr(1).toLowerCase();\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.viewaccount.ownerName = ownerName;\r\n this.accdetailcmp.loadAccountId(accId);\r\n }\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n config.maxlimit = 25;\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 31;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n ResponseFromAddOpp(val) {\r\n if (val == 'OpportunitySaved') {\r\n this.loadOpportunities(this.contactid);\r\n this.status = true;\r\n this.ShowAddOppDialog = false;\r\n this.sendMsgEvent.emit(val);//Added to refresh Parent Grid\r\n }\r\n else if (val == 'OpportunityStatusChanged') {\r\n this.TaskDiv = false;\r\n this.status = false;\r\n }\r\n else if (val == 'CloseDialog') {\r\n this.status = true;\r\n }\r\n else if (val == 'AddTask') {\r\n this.ShowTaskDiv();\r\n }\r\n else if (val == 'Expand') {\r\n this.ExpandPDF = true;\r\n }\r\n else if (val == \"Collapse\") {\r\n this.ExpandPDF = false;\r\n }else if (val == \"CloseAddOpportunity\") {\r\n this.ShowAddOppDialog = false;\r\n }\r\n }\r\n\r\n openAccountNotes() {\r\n this.isModal = true;\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n });\r\n \r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n onCloseDialogEventReceived(val) { }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n\r\n createColumnDefsnotes(columnSelections: string) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [{\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n return '';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'statusName', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n }\r\n AccountInfo() { \r\n if (this.type == 'Customer') {\r\n localStorage.setItem('RhxAccountVal', (this.account.id).toString());\r\n } else if (this.type == \"Contacts\") {\r\n localStorage.setItem('RhxAccountVal', (this.contact.accountid).toString());\r\n }\r\n\r\n \r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/account/Accounts`);\r\n SO.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n SO.applicationComponent.selectedtabid = 'Customer';\r\n }, 100));\r\n }, 50));\r\n\r\n }\r\n openAccountIds() {\r\n //this.account.accountpopid1 = this.account.accountid1;\r\n //this.account.accountpopid2 = this.account.accountid2;\r\n //this.account.accountpopid3 = this.account.accountid3;\r\n this.AccountIdsDialog = true;\r\n this.AccountIdsDialogCss();\r\n }\r\n cancelaccountIds() {\r\n this.AccountIdsDialog = false;\r\n }\r\n\r\n AccountIdsDialogCss() {\r\n\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 20%;padding-bottom:0px;border:2px solid rgb(49,189,240);border-radius:5%;min-height:15%;overflow: auto;height: 18%;left: 0%;right:56%;top: 41%;padding: 0;');\r\n }, 4)\r\n\r\n }\r\n onSearchstring(msg) {\r\n \r\n if (msg != undefined) {\r\n this.SearchPage = false;\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n var data = msg.split(\"|\");\r\n selfobj.type = data[1];\r\n selfobj.loadOpportunities(selfobj.contactid);\r\n selfobj.info(selfobj.contactid, selfobj.type);\r\n }, 200));\r\n\r\n }\r\n }\r\n onTaskSaved(event) {\r\n //if (event == 'Cancel') {\r\n this.TaskDiv = false;\r\n //}\r\n }\r\n IsButtonAccess(con,type) {\r\n\r\n }\r\n addContact() {\r\n \r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Contacts\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.clear();\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n }\r\n AccountsharingAg(selectedval) {\r\n \r\n if (selectedval == \"Edit\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else if (selectedval == \"View\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else {\r\n this.isSharing = true;\r\n this.rightMainDivHideShow = false;\r\n this.accountSharingid = 1;\r\n this.AddContacttableDiv = false;\r\n this.ownrshipComp.loadAccountInformation(this.account.id, 0);\r\n }\r\n\r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n \r\n }\r\n }\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n //this.GetAllProviderAndContactInfo(this.account.id)\r\n }\r\n btnClickReceived(event) {\r\n if (event.btnName == 'addContact') {\r\n this.addContact();\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n this.openAccountNotes();\r\n } else if (event.btnName == 'AccountInfo') {\r\n this.AccountInfo();\r\n }\r\n }\r\n}\r\n \r\n","
      \r\n \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n \r\n OPPORTUNITIES ({{Allopportunities? Allopportunities.length:'0'}})\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Number of Opps:
      \r\n
      {{Allopportunities != null? Allopportunities.length : 0}}
      \r\n
      \r\n
      \r\n
      Total Price:
      \r\n
      {{totalPrice | currency}}
      \r\n
      \r\n
      \r\n
      Avg. Price:
      \r\n
      {{avgPrice | currency}}
      \r\n
      \r\n
      \r\n
      Total Monthly:
      \r\n
      {{totalMonthlyPrice | currency}}
      \r\n
      \r\n
      \r\n
      Avg. Monthly:
      \r\n
      $ {{avgMonthlyPrice | currency}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{lbl.name}}
      \r\n
      \r\n
      \r\n
      {{lbl.percentage}}
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n Edit\r\n Save\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n\r\n \r\n
      \r\n

      \r\n No Row Selected
      \r\n
      \r\n Please select a row then try again
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n Commission Estimator\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Sales Total :
      \r\n
      \r\n $ {{SalesCommission}} \r\n
      \r\n
      \r\n\r\n
      \r\n
      Sales Commission (%) :
      \r\n
      \r\n
      \r\n %\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      Total Sales Commission :
      \r\n
      {{opportunities.salesCommissionOpportunity | currency }}
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      RR/Monthly Total :
      \r\n
      \r\n $ {{RRCommission}}\r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      RR/Sales Commission % :
      \r\n
      \r\n
      \r\n %\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      RR/Commission (Monthly) :
      \r\n
      {{opportunities.RRCommisssionOpportunityMonthly | currency }}
      \r\n\r\n
      \r\n
      RR/Commission (Annually) :
      \r\n
      {{opportunities.RRCommisssionOpportunityYearly }}
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \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, ViewContainerRef, ViewEncapsulation, ElementRef, Renderer2, ViewChild, Optional, Inject, forwardRef } from '@angular/core';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Contacts } from '../../../models/contacts';\r\nimport { Customers } from '../../../models/customers';\r\nimport { Accounts } from '../../../models/accounts';\r\nimport { Notes } from '../../../models/notes';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';;\r\nimport { ParentComp, UserlistComponent } from \"../../userlist/userlist.component\";\r\nimport { Opportunities } from '../../../models/opportunities';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../../notesrenderer/notesrenderer.component';\r\nimport { OpportunitiesComponent } from '../../opportunities/opportunities.component';\r\nimport { Dashboardconfiguration } from '../../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport * as moment from 'moment'\r\nimport { NotesComponent } from '../../notes/notes.component';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { AuditLogModel } from '../../../models/auditlog';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-opportunitiesdashboard',\r\n templateUrl: './opportunitiesdashboard.component.html',\r\n styleUrls: ['./opportunitiesdashboard.component.css'],\r\n // encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OpportunitiesdashboardComponent implements OnInit {\r\n resizeheight = (window.innerHeight / 1.542) + 'px';\r\n items = [];\r\n columnSelections;\r\n userprevilages: any;\r\n notesitemResource: any;\r\n notesitems = [];\r\n notesitemCount = 0;\r\n notesparams: any;\r\n showDialog = false;\r\n dialogOpen: boolean = false;\r\n IsOpportunitydelete: boolean = false;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n itemCount = 0;\r\n itemResource: any;\r\n params: any;\r\n inputName: string = '';\r\n selectedopttype: string = null;\r\n Ids = [];\r\n opportunityids = [];\r\n FeeAmountdiv: boolean = false;\r\n noData: boolean = true;\r\n finalitems = \"\";\r\n currentuser: any;\r\n dropdownList = [];\r\n selectedItems = [];\r\n dropdownSetting = {};\r\n notedescription: string;\r\n opportunitytype: string;\r\n userIds: string;\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n customer: Customers = new Customers();\r\n notes: Notes = new Notes();\r\n contactid: number;\r\n accountdiv: boolean = true;\r\n DateClosed: boolean = true;\r\n NotesDec = false;\r\n pageSize: string = \"\";\r\n thisComp: ParentComp = ParentComp.OpportunitiesDash;\r\n isViewInitialized: boolean = false;\r\n isPgClickRegistered: boolean = false;\r\n isPended: boolean = true;\r\n public gridOptions: GridOptions;\r\n public gridOptionsnotes: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n public columnDefsnotes: any[];\r\n Allopportunities: Opportunities[];\r\n filteredOpportunities: Opportunities[];\r\n nonFilteredOpportunities: Opportunities[];\r\n public context;\r\n public frameworkComponents;\r\n public Cust = Customers;\r\n aggridheight: string;\r\n @ViewChild(UserlistComponent) userListComp;\r\n @ViewChild(OpportunitiesComponent) optComp;\r\n @ViewChild(NotesComponent) notecomp;\r\n allnotes: Notes[];\r\n clickedContactid: number;\r\n conid: number;\r\n typ: string; term: string = \"\";\r\n Status: any;\r\n Showaddopportunity: boolean = false;\r\n ShowPdfDiv: boolean = false;\r\n ExpandPDFDiv: boolean = false;\r\n ExpandPreviewPDFDiv: boolean = false;\r\n totalPrice: number = 0;\r\n avgPrice: number = 0;\r\n totalMonthlyPrice: number = 0;\r\n avgMonthlyPrice: number = 0;\r\n Below30Days: number = 0;\r\n Betwn31_60Days: number = 0;\r\n Betwn61_90Days: number = 0;\r\n Betwn91_120Days: number = 0;\r\n //Betwn121_150Days: number = 0;\r\n Above120Days: number = 0;\r\n ExpandOppGrid: boolean = false;\r\n public sideBar;\r\n daysFilter: boolean = false;\r\n userInfo: string;\r\n isShowDetailsChecked: boolean = false;\r\n public customerpieChartData = [{ horizontalAlign: \"left\" }];\r\n public customerpieChartType: string = 'pie';\r\n public customerpieChartcolors = [{ backgroundColor: [\"#826AA4\", \"#72cdef\", \"#4C7FC0\", \"#CA5A4E\", \"#9DB15A\"] }]\r\n public pieColors = ['#826AA4', '#72cdef', '#4C7FC0', '#CA5A4E', '#9DB15A'];\r\n public customerpieChartLabels = [];\r\n public customerpieChartLabels1 = [];\r\n OpenOppTotal: string = \"$ 0\";\r\n Contact: string; ContactTaskHistory: string; ContactLead: string; AllContactsNotes: string; typeSelected: string;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n opportunities: Opportunities = new Opportunities();\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear()).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n timezonevalue: string;\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n isDisplayCommissionEstimator: boolean = false;\r\n showpdf1: boolean = false;\r\n SelectOpportunityWarning : boolean = false;\r\n today = Date.now();\r\n calanderonoff: boolean = false;\r\n subTabName: string;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n private gridApi;\r\n addopportunityExpand: boolean = false;\r\n notesshowDialog = false;\r\n DocExpandView: boolean = false;\r\n isModal: boolean = true;\r\n SalesCommission: number;\r\n RRCommission: number;\r\n EnableSearch: boolean = false;\r\n value = \"\";\r\n constructor(private accountService: AccountsService, public applicationComponent: ApplicationComponent, private elementRef: ElementRef, private userService: UserService, private renderer: Renderer2, private http: HttpClient, private opprtunityservice: OpprtunitiesService, private route: ActivatedRoute, private router: Router, private customerService: CustomerService, private toastr: ToastrService, private viewContainerRef: ViewContainerRef) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu('opportunities');\r\n }\r\n var loggedInUserId = this.currentuser.id;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1, 0, 0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownList = Owner;\r\n })\r\n\r\n this.customerService.GetPrivilagesByuser(loggedInUserId).then(result => {\r\n this.userprevilages = result;\r\n });\r\n\r\n \r\n }\r\n ngAfterViewInit(): void {\r\n var thisComponent = this;\r\n setTimeout(function () { thisComponent.ResizeTable(); }, 10);\r\n }\r\n\r\n loadallcustomers(loggedinuserid) {\r\n var labelArr = [];\r\n var labelArr1 = [];\r\n var data = [];\r\n this.opprtunityservice.GetAllCustomersSales(this.userIds, this.startDateVal, this.endDateVal).then((account) => {\r\n account.forEach(account => {\r\n var newArrayIs = { name: account.accountname, percentage: '$' + parseInt(account.percentage).toFixed(2) }\r\n labelArr1.push(newArrayIs);\r\n labelArr.push(account.accountname);\r\n data.push(parseInt(account.percentage));\r\n });\r\n this.customerpieChartLabels = labelArr;\r\n this.customerpieChartLabels1 = labelArr1;\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n this.customerpieChartLabels = labelArr;\r\n selfobj.customerpieChartData = data;\r\n }, 200));\r\n\r\n });\r\n\r\n }\r\n\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) { \r\n var searcharray = [];\r\n if (this.gridOptions.quickFilterText != null && this.gridOptions.quickFilterText != undefined && this.gridOptions.quickFilterText != '') {\r\n searcharray.push(this.gridOptions.quickFilterText);\r\n }\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({\r\n field: 'owner', headerName: 'Owner', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, getQuickFilterText: () => '', suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n \r\n else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({\r\n field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, getQuickFilterText: () => '', width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: (params) => {\r\n if (params.data.status == '108') {\r\n return 'Open';\r\n }\r\n else if (params.data.status == '109') {\r\n return 'Closed-Won';\r\n } else if (params.data.status == '110') {\r\n return 'Closed-Lost';\r\n } else if (params.data.status == '111') {\r\n return 'Closed-Pending';\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"estimatedclosedate\") {\r\n this.columnDefs.push({\r\n field: 'estimatedclosedate', headerName: 'ECD', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, getQuickFilterText: () => '', width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111') ) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecreated\") {\r\n this.columnDefs.push({\r\n field: 'datecreated', headerName: 'Date Created ', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, getQuickFilterText: () => '', width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: (params) => {\r\n \r\n return moment(params.value).format('MM-DD-YYYY');\r\n \r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"practicename\") {\r\n this.columnDefs.push({\r\n field: 'practicename', headerName: 'Account Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), \r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st;\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accPhone\") {\r\n this.columnDefs.push({\r\n field: 'accPhone', headerName: 'Phone', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastName\") {\r\n this.columnDefs.push({\r\n field: 'lastName', headerName: 'Last Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, getQuickFilterText: () => '',width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstName\") {\r\n this.columnDefs.push({\r\n field: 'firstName', headerName: 'First Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, getQuickFilterText: () => '', width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n \r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"ProposalPDF\") {\r\n this.columnDefs.push({\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer(params) { \r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n });\r\n return eDiv; \r\n }\r\n });\r\n }\r\n\r\n else if (fieldHeaderVisibleWidthArray[0] == \"ProposalPOPDF\") {\r\n this.columnDefs.push({\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer(params) {\r\n \r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n \r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecompleted\") {\r\n //this.columnDefs.push({\r\n // field: 'datecompleted', headerName: 'Date Completed ', getQuickFilterText: () => '', hide: true, cellRenderer: (params) => {\r\n // if (params.data.status == null) {\r\n // return \"\";\r\n // } else {\r\n // return (params.value == \"\" || params.value == null) ? \"\" : moment(params.value).format('MM-DD-YYYY');\r\n // }\r\n // }\r\n //},);\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"actualclosedate\") {\r\n this.columnDefs.push({\r\n field: 'actualclosedate', headerName: 'Date Closed', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, getQuickFilterText: () => '',width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: (params) => {\r\n if (params.value == null) {\r\n return \"\";\r\n } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n } \r\n }\r\n });\r\n } \r\n else if (fieldHeaderVisibleWidthArray[0] == \"isPended\") {\r\n this.columnDefs.push({\r\n field: 'isPended', headerName: 'Pended', getQuickFilterText: () => '',hide: false, cellStyle: function (params) {\r\n { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (params.data.isPended == '1' || params.data.isPended == 1) { return 'Pended'; }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"action\")\r\n {\r\n this.columnDefs.push({\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right'\r\n , cellRenderer(params) { \r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.Deleteopportunity(params.data);\r\n });\r\n return eDiv; \r\n }\r\n });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1], getQuickFilterText: () => '',\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'id', headerName: 'ID', hide: true, getQuickFilterText: () => '',\r\n },\r\n {\r\n field: 'estimatedclosedate', headerName: 'ECD', getQuickFilterText: () => '', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == '108' || params.data.status == '111')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'status', headerName: 'Status', getQuickFilterText: () => '', hide: false, cellRenderer: (params) => {\r\n if (params.data.status == '108') {\r\n return 'Open';\r\n }\r\n else if (params.data.status == '109') {\r\n return 'Closed-Won';\r\n } else if (params.data.status == '110') {\r\n return 'Closed-Lost';\r\n } else if (params.data.status == '111') {\r\n return 'Closed-Pending';\r\n }\r\n }\r\n },\r\n {\r\n field: 'isPended', headerName: 'Pended', getQuickFilterText: () => '', hide: false,\r\n cellStyle: function (params) {\r\n { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (params.data.isPended == '1' || params.data.isPended == 1) { return 'Pended'; }\r\n }\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'title', headerName: 'Title', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'itemName', headerName: 'Proposal Type', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'dollers', headerName: 'Price', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'RR', headerName: 'Monthly', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', getQuickFilterText: () => '', hide: true\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', getQuickFilterText: () => '', hide: true\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', getQuickFilterText: () => '', hide: true\r\n },\r\n {\r\n field: 'createdUser', headerName: 'Created By', getQuickFilterText: () => '', hide: true\r\n }, //true starts here\r\n {\r\n field: 'actualclosedate', headerName: 'Date Closed', cellRenderer: (params) => {\r\n if (params.data.status == null) {\r\n return \"\";\r\n } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }, getQuickFilterText: () => '', hide: ((this.opportunitytype !== \"Open Opportunities\" && this.opportunitytype !== \"Pended Opportunities\") && this.Showaddopportunity == false) ? false : false,\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'datecreated', headerName: 'Date Created', getQuickFilterText: () => '',hide: false, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'source', headerName: 'Proposal/Opp Icon', hide: true\r\n },\r\n \r\n {\r\n field: 'datecompleted', headerName: 'Date Completed ', getQuickFilterText: () => '', hide: true, cellRenderer: (params) => {\r\n if (params.data.status == null) {\r\n return \"\";\r\n } else {\r\n return (params.value == \"\" || params.value == null) ? \"\" : moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n },\r\n {\r\n field: 'accPhone', headerName: 'Phone', hide: true,\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n \r\n \r\n \r\n {\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: true, width: 100, cellRenderer(params) {\r\n //if (params.data.ProposalPDF != null && params.data.ProposalPDF != 0) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n //}\r\n }\r\n\r\n },\r\n {\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: true, width: 100, cellRenderer(params) {\r\n //if (params.data.ProposalPOPDF != null && params.data.ProposalPOPDF != 0) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n //}\r\n }\r\n\r\n }, \r\n \r\n {\r\n field: 'PCname', headerName: 'Closing Percentage', getQuickFilterText: () => '',hide: false\r\n },\r\n \r\n \r\n {\r\n field: 'midlevel', headerName: '# Mid Levels', getQuickFilterText: () => '',hide: true\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: true, pinned: 'right' },\r\n \r\n {\r\n field: 'action', headerName: 'Action', hide: false , width: 100, pinned: 'right'\r\n , cellRenderer(params) { \r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.Deleteopportunity(params.data);\r\n });\r\n return eDiv; \r\n }\r\n }\r\n\r\n ];\r\n\r\n var tooltipRenderer = function (params) {\r\n return '' + params.value + '';\r\n };\r\n }\r\n }\r\n PDFClick(val, type) {\r\n \r\n this.showpdf1 = true;\r\n this.PdfDialogCss();\r\n this.userService.GetProposalsDocumentContent(val).then(result => {\r\n let SO = this\r\n $(setTimeout(function () {\r\n SO.onDocumentOpen(result.PdfContent);\r\n }, 100));\r\n });\r\n }\r\n onDocumentOpen(myBaseString) {\r\n $('#pdfDiv').html('')\r\n $('#pdfDiv').attr('style', 'width:100%;height: 100%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;margin-left:0%');\r\n }\r\n\r\n Deleteopportunity(data) { \r\n this.opportunities = data;\r\n if (this.opportunities.isPended != '1') {\r\n this.applicationComponent.loaddialog('Opportunitydelete', 'Delete Opportunity', 'Delete this Open Opportunity?', false, false, true, true, this.opportunities.id);\r\n } else {\r\n this.applicationComponent.loaddialog('Opportunitydelete', 'DELETE Pended Opportunity', 'Delete this Pended Opportunity?', false, false, true, true, this.opportunities.id);\r\n }\r\n \r\n }\r\n \r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n };\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 7).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n this.columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n\r\n this.createColumnDefs(this.columnSelections); \r\n this.UpdateSearchColumns(this.columnSelections);\r\n\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n }\r\n\r\n updatevalues(opportunityids) {\r\n this.opprtunityservice.GetDollerRRvales(opportunityids).then(result => {\r\n this.opportunities = result;\r\n this.opportunities.SalesOpportunity = this.opportunities.dollers;\r\n this.opportunities.RROpportunity = this.opportunities.RR;\r\n });\r\n }\r\n onOppChanged(rowEvent) {\r\n /*if (this.Showaddopportunity) {*/\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.conid = rowEvent.api.getSelectedNodes()[0].data.accountorcontactid;\r\n if (this.optComp != undefined) {\r\n this.optComp.DisplayOpportunities(rowEvent.api.getSelectedNodes()[0].data);\r\n this.optComp.GetOpportunityDetais(rowEvent.api.getSelectedNodes()[0].data.id)\r\n }\r\n }\r\n //}\r\n }\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if (!this.Showaddopportunity) {\r\n if (this.opportunityids && (this.opportunityids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.opportunityids).splice(index, 1);\r\n this.updatevalues((this.opportunityids).toString())\r\n\r\n } else {\r\n this.opportunityids = [];\r\n this.opportunityids.push(rowEvent.data.id);\r\n this.updatevalues((this.opportunityids).toString())\r\n }\r\n\r\n if ((this.Ids).indexOf(rowEvent.data.accountorcontactid) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.accountorcontactid);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('');\r\n } else {\r\n this.Ids.push(rowEvent.data.accountorcontactid)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n if (rowEvent.data.type == \"Contacts\") {\r\n $('#tasklistselectedtyle').val('Contact');\r\n }\r\n else {\r\n $('#tasklistselectedtyle').val('Customer');\r\n }\r\n }\r\n }\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.EnableSearch = false;\r\n this.Showaddopportunity = true;\r\n this.createColumnDefs(this.columnSelections);\r\n this.typeSelected = 'opportunity';\r\n this.opportunityids = rowEvent.data.id;\r\n this.updatevalues(this.opportunityids)\r\n\r\n this.contactid = this.conid = rowEvent.data.accountorcontactid;\r\n this.typ = rowEvent.data.type;\r\n this.gridOptions.rowSelection = 'Single';\r\n \r\n var obj: AuditLogModel = { id: 0, type: 'Opportunity', action: 'Opportunity Viewed', AccountOrContactId: rowEvent.data.accountorcontactid, AccountOrContact: rowEvent.data.type, documentid: rowEvent.data.id, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Opportunity Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n expandOpportunityView(value) {\r\n if (value === 'Collapse') {\r\n this.addopportunityExpand = false;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.opportunityids) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n\r\n }\r\n else {\r\n this.addopportunityExpand = true;\r\n \r\n }\r\n }\r\n CloseOppDiv() {\r\n this.Showaddopportunity = false;\r\n this.addopportunityExpand = false;\r\n this.gridOptions.rowSelection = 'multiple';\r\n }\r\n openNotesDialogAg(rowdata) {\r\n \r\n\r\n this.conid = rowdata.accountorcontactid;\r\n\r\n if (rowdata.type == 'Customer' ) {\r\n this.typ = 'Account';\r\n } else if (rowdata.type == 'Contacts') {\r\n this.typ = 'Contact';\r\n } else {\r\n this.typ = rowdata.type;\r\n }\r\n this.showDialog = !this.showDialog;\r\n this.NotesDialogCss();\r\n \r\n\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n this.saveConfiguration();\r\n }\r\n\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && (fields[1] != '#' && fields[0] != 'notes')) {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n //this.applicationComponent.ShowSearchTabs('True');\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n \r\n });\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n }\r\n else {\r\n this.accountService.GetDefaultColumns('OpenOpportunity', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n { \"id\": 'lastName', \"itemName\": 'Last Name' },\r\n { \"id\": 'practicename', \"itemName\": 'Account Name' }\r\n ];\r\n }\r\n });\r\n //this.applicationComponent.showSearchTabsSubTabs = false;\r\n }\r\n }\r\n saveConfiguration() {\r\n\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n this.UpdateSearchColumns(config.columnsselections);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 7;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n //initializeAgGridNotes() {\r\n // this.gridOptionsnotes = {\r\n // pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n // };\r\n // this.createColumnDefsnotes(\"\");\r\n // this.gridOptionsnotes.defaultColDef = {\r\n // headerComponentParams: {\r\n // menuIcon: 'fa-bars'\r\n // }\r\n // }\r\n // this.context = this;\r\n //}\r\n //createColumnDefsnotes(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n // let selfObj = this;\r\n\r\n // this.columnDefsnotes = [\r\n // {\r\n // field: '#',\r\n // headerName: '#',\r\n // width: 52,\r\n // checkboxSelection: true,\r\n // suppressSorting: true,\r\n // suppressMenu: true,\r\n // pinned: true,\r\n // hide: false,\r\n // outerWidth: 8,\r\n // headerCheckboxSelection: true,\r\n // headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n // },\r\n // {\r\n\r\n // field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n // if (params.data.isnewnote == 1) {\r\n // return '';\r\n // }\r\n // else if (params.value == 'Contact' || params.value == 'Account') {\r\n // // return '';\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n // //return '';\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n // //return '';\r\n // return '';\r\n // } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n // //return '';\r\n // return '';\r\n // }\r\n // else {\r\n // //return '';\r\n // return '';\r\n // }\r\n\r\n // }\r\n // },\r\n // {\r\n // field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = params.value;\r\n // eDiv.addEventListener('click', function () {\r\n // selfObj.openDisplaynotes(params);\r\n // });\r\n // return eDiv;\r\n // }\r\n // },\r\n // { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n // { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n // {\r\n // field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: false,\r\n // cellRenderer(params) {\r\n // if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n // else { return params.value; }\r\n\r\n // }\r\n // },\r\n // { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n // { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n // { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n // ];\r\n\r\n //}\r\n onAgGridReadynotes(event) {\r\n \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllnotes() {\r\n\r\n }\r\n ngOnInit() {\r\n this.initializeAgGrid();\r\n this.subTabName = \"Open\";\r\n this.applicationComponent.selectedbuttonText = \"Opportunities\";\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#opportunities\").addClass(\"mainactiveButton\");\r\n $(\"#opportunities_span\").addClass(\"activeColor\");\r\n \r\n var obj: AuditLogModel = { id: 0, type: 'Opportunity', action: 'Opportunity Viewed', AccountOrContactId: 0, AccountOrContact: \"\", documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Opportunity Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n this.route.params.subscribe(params => {\r\n this.typeSelected = params['type'];\r\n this.contactid = this.conid= params['contactid'];\r\n this.term = params['term'];\r\n this.opportunityids = params['id'];\r\n\r\n if (this.opportunitytype != null) {\r\n this.ClosedOpportunity(this.opportunitytype, $(\"#userids\").val(), this.term);\r\n this.loadallcustomers($(\"#userids\").val());\r\n }\r\n });\r\n this.Generate($(\"#userids\").val());\r\n \r\n this.customerService.GetDisplayCommision(this.currentuser.id).then(result => {\r\n this.isDisplayCommissionEstimator = result;\r\n });\r\n\r\n \r\n this.isViewInitialized = true;\r\n \r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 500));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 500));\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n userListOutParamsBinding(outProps) {\r\n this.finalitems = outProps.finalitems;\r\n this.items = outProps.items;\r\n this.itemCount = outProps.itemsCount;\r\n this.selectedItems = outProps.selectedItems;\r\n }\r\n\r\n onItemSelect(item: any) {\r\n var ids = \"\";\r\n ids += item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.Allopportunities = [];\r\n this.nonFilteredOpportunities = this.Allopportunities;\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.Allopportunities = [];\r\n this.nonFilteredOpportunities = this.Allopportunities;\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.Allopportunities = [];\r\n this.nonFilteredOpportunities = this.Allopportunities;\r\n $(\"#userids\").val('');\r\n this.applicationComponent.selectedusers = null;\r\n this.Generate($(\"#userids\").val());\r\n }\r\n\r\n Generate(val) {\r\n if (this.contactid != 0) {\r\n this.Showaddopportunity = true\r\n this.applicationComponent.pageViewed = \"CreateOpty\";\r\n }\r\n else {\r\n this.Showaddopportunity = false\r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n })\r\n }\r\n else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n\r\n }\r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n\r\n let selobjj = this;\r\n $(setTimeout(function () {\r\n \r\n //selobjj.applicationComponent.showcampaignsTabs = false;\r\n selobjj.applicationComponent.selectedusers = val;\r\n selobjj.ClosedOpportunity('Open Opportunities', val, null);\r\n selobjj.loadallcustomers(val);\r\n }, 500));\r\n\r\n }\r\n\r\n ClosedOpportunity(val, userids, searchval) { \r\n var subMenuId = '';\r\n if (val == 'Open') {\r\n subMenuId = 'OpenOpportunity';\r\n }\r\n this.totalPrice = 0;\r\n this.totalMonthlyPrice = 0;\r\n this.avgPrice = 0;\r\n this.avgMonthlyPrice = 0;\r\n this.userIds = userids;\r\n \r\n this.opprtunityservice.GetAllOpportunitiesList(val, userids, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, searchval, this.currentuser.id, this.isPended).then((customer) => {\r\n if (customer.length > 0) {\r\n if ((customer.length == 0 || customer == null) && searchval != null) {\r\n this.applicationComponent.ShowInvalidSearchDialog = !this.applicationComponent.ShowInvalidSearchDialog;\r\n this.applicationComponent.dialogsizeInvalidSearch();\r\n\r\n }\r\n customer.forEach(customer => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n if (customer.estimatedclosedate != '0001-01-01T00:00:00') {\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"yyyy-MM-dd\");\r\n } else {\r\n customer.estimatedclosedate = '';\r\n }\r\n if (customer.datecompleted != '0001-01-01T00:00:00' && customer.datecompleted !=null) {\r\n customer.datecompleted = this.datePipe.transform(customer.datecompleted, \"yyyy-MM-dd\");\r\n } else {\r\n customer.datecompleted = '';\r\n }\r\n if (customer.dollers != null && customer.dollers != undefined && customer.dollers != '') {\r\n this.totalPrice += Number(customer.dollers.split('$')[1]);\r\n }\r\n if (customer.RR != null && customer.RR != undefined && customer.RR != '') {\r\n this.totalMonthlyPrice += Number(customer.RR.split('$')[1]);\r\n } \r\n\r\n }); \r\n this.Allopportunities = customer;\r\n \r\n if (this.Showaddopportunity && this.Allopportunities.length>0) {\r\n let selfObj = this; \r\n var opportunityId = selfObj.opportunityids.length > 0 ? selfObj.opportunityids.toString() : selfObj.Allopportunities[0].id.toString();\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == opportunityId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n } \r\n });\r\n }, 300));\r\n } else {\r\n this.avgPrice = this.totalPrice / customer.length;\r\n this.avgMonthlyPrice = this.totalMonthlyPrice / customer.length;\r\n this.Below30Days = customer.filter((cust) => cust.NoOfDays <= 30).length;\r\n this.Betwn31_60Days = customer.filter((cust) => cust.NoOfDays > 30 && cust.NoOfDays <= 60).length;\r\n this.Betwn61_90Days = customer.filter((cust) => cust.NoOfDays > 60 && cust.NoOfDays <= 90).length;\r\n this.Betwn91_120Days = customer.filter((cust) => cust.NoOfDays > 90 && cust.NoOfDays <= 120).length;\r\n this.Above120Days = customer.filter((cust) => cust.NoOfDays > 120).length;\r\n this.gridOptions.columnApi.setColumnVisible('datecompleted', (val == 'Open') ? false : true)\r\n this.UpdateSearchColumns(this.columnSelections);\r\n this.loadallcustomers(val);\r\n this.nonFilteredOpportunities = this.Allopportunities;\r\n }\r\n \r\n }\r\n else { \r\n this.Allopportunities = [];\r\n this.applicationComponent.searchstring = \"No Match\";\r\n if (this.applicationComponent.closedOpportunityVal == 'Open') {\r\n var retrievedObject = localStorage.getItem('OpenOppSearchCriteria');\r\n } else if (this.applicationComponent.closedOpportunityVal == 'Closed') {\r\n var retrievedObject = localStorage.getItem('ClosedOppSearchCriteria');\r\n } else if (this.applicationComponent.closedOpportunityVal == 'All') {\r\n var retrievedObject = localStorage.getItem('AllOppSearchCriteria');\r\n }\r\n if (retrievedObject != null) {\r\n var obj = retrievedObject.slice(0, -3);\r\n obj += '~';\r\n this.applicationComponent.searchCriteriadata = obj.split(' / ');\r\n }\r\n this.optComp.loadOpportunities(0);\r\n }\r\n });\r\n var strData = '

      ';\r\n if (this.Allopportunities) {\r\n this.Allopportunities.forEach(ele => {\r\n strData += \"\" + ele.practicename + \"
      \" +\r\n \"Price: \" + ele.dollers + \"
      \" +\r\n \"Monthly: \" + ele.RR + \"
      \" +\r\n \"ECD: \" + ele.estimatedclosedate + \"

      \";\r\n });\r\n\r\n }\r\n this.opportunitytype = val;\r\n this.createColumnDefs(this.columnSelections);\r\n }\r\n\r\n FilterByDays(val) {\r\n this.totalPrice = 0;\r\n this.totalMonthlyPrice = 0;\r\n this.avgPrice = 0;\r\n this.avgMonthlyPrice = 0;\r\n //this.userIds = userids;\r\n $('.daysFilterCss').removeClass('daysFilterGreenCss');\r\n $('#' + val).addClass('daysFilterGreenCss');\r\n \r\n this.opprtunityservice.GetAllOpportunitiesList('Open Opportunities', $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, null, this.currentuser.id, this.isPended).then((customers) => {\r\n switch (val) {\r\n case '30':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays <= 30);\r\n break;\r\n case '31-60':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays > 30 && cust.NoOfDays <= 60);\r\n break;\r\n case '61-90':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays > 60 && cust.NoOfDays <= 90);\r\n break;\r\n case '91-120':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays > 90 && cust.NoOfDays <= 120);\r\n break;\r\n //case '121-150':\r\n // this.daysFilter = true;\r\n // customers = customers.filter((cust) => cust.NoOfDays > 120 && cust.NoOfDays <= 150);\r\n // break;\r\n case '120+':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays > 120);\r\n break;\r\n case 'DisplayAll':\r\n this.daysFilter = false;\r\n\r\n break;\r\n\r\n }\r\n\r\n customers.forEach(customer => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n if (customer.estimatedclosedate != '0001-01-01T00:00:00') {\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"yyyy-MM-dd\");\r\n } else {\r\n customer.estimatedclosedate = '';\r\n }\r\n if (customer.datecompleted != '0001-01-01T00:00:00' && customer.datecompleted!=null) {\r\n customer.datecompleted = this.datePipe.transform(customer.datecompleted, \"yyyy-MM-dd\");\r\n } else {\r\n customer.datecompleted = '';\r\n }\r\n\r\n this.totalPrice += Number(customer.dollers.split('$')[1]);\r\n this.totalMonthlyPrice += Number(customer.RR.split('$')[1]);\r\n\r\n });\r\n this.Allopportunities = customers;\r\n this.avgPrice = this.totalPrice / customers.length;\r\n this.avgMonthlyPrice = this.totalMonthlyPrice / customers.length;\r\n this.gridOptions.columnApi.setColumnVisible('datecompleted', (val == 'Open') ? false : true)\r\n this.UpdateSearchColumns(this.columnSelections);\r\n //this.loadallcustomers($(\"#userids\").val());\r\n\r\n\r\n });\r\n }\r\n GetOpportunitiesnotes(id, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, id, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.allnotes = taskhistory;\r\n this.notesitemCount = taskhistory.length;\r\n \r\n\r\n });\r\n }\r\n notesreloadItems(notesparams) {\r\n if (this.notesitemResource != undefined) {\r\n this.notesitemResource.query(notesparams).then(notesitems => this.notesitems = notesitems);\r\n }\r\n }\r\n\r\n AddOpportunity(conId) {\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Opportunities\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.warning(\"You Do Not have Access to this Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n \r\n this.applicationComponent.pageViewed = \"CreateOpty\";\r\n document.getElementById('addopportunity').style.display = 'block';\r\n this.Showaddopportunity = true\r\n\r\n //this.optComp.contactid = 0;\r\n }\r\n }\r\n }\r\n }\r\n enterNotes() {\r\n\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n }\r\n SaveNote() {\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/img, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/<[^>]*>/g, '');\r\n this.notes.type = \"Opportunity\";\r\n this.notes.accountid = this.contactid;\r\n\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.GetOpportunitiesnotes(this.notes.accountid, 'Opportunity');\r\n this.CancelNote();\r\n });\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n }\r\n ResizeTable() {\r\n this.aggridheight = (((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height()))) - 45) + 'px';\r\n }\r\n\r\n \r\n AssignStartAndEndDate(event) {\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n\r\n \r\n openDisplaynotes(params) {\r\n //this.notes.notedescription = params.value;\r\n this.NotesDec = !this.NotesDec;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n $(setTimeout(function () {\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n\r\n }\r\n SaleCommissionOpprtunity(val) {\r\n this.opportunities.salesCommissionOpportunity = ((parseFloat(this.SalesCommission.toString()) * val) / 100).toString().replace('NaN', '');\r\n }\r\n RRCommissionOpprtunity(val) {\r\n this.opportunities.RRCommisssionOpportunityMonthly = (parseFloat(this.RRCommission.toString()) * (val / 100)).toString().replace('NaN', '');\r\n \r\n this.opportunities.RRCommisssionOpportunityYearly = parseFloat((102.60 * 12).toString()).toFixed(2);\r\n }\r\n onReceiveMessage(msg) {\r\n this.applicationComponent.isClosedOpportunityEventRaised = true; \r\n this.applicationComponent.pageViewed = \"CreateOpty\";\r\n this.Showaddopportunity = true;\r\n this.Generate($(\"#userids\").val());\r\n var data = msg.split(\"|\");\r\n if (data[1] == 'Customer' || data[1] == 'Account') {\r\n this.typeSelected = 'Customer';\r\n }\r\n else {\r\n \r\n }\r\n\r\n }\r\n saveEditedNote() {\r\n\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.GetOpportunitiesnotes(selfObj.contactid, 'Opportunity');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n //this.Notes(this.selectedTabName);\r\n }\r\n\r\n StatusSelected() {\r\n var statusType = $('#statusOpp').val();\r\n this.Allopportunities = this.nonFilteredOpportunities\r\n var filteredOpportunities = [], status = '';\r\n if (statusType == \"Closed Lost\") {\r\n status = \"Closed-Lost\"\r\n } else if (statusType == \"Closed Won\") {\r\n status = \"Closed-Won\"\r\n } else {\r\n status = \"Closed\"\r\n }\r\n\r\n if (status != \"Closed\") {\r\n for (var i = 0; i < (this.Allopportunities).length; i++) {\r\n if (this.Allopportunities[i].status == status) {\r\n filteredOpportunities.push(this.Allopportunities[i])\r\n }\r\n }\r\n\r\n\r\n this.Allopportunities = filteredOpportunities;\r\n }\r\n }\r\n CommissionEstimator(val) {\r\n if (this.gridApi.getSelectedRows() != undefined && this.gridApi.getSelectedRows()?.length > 0) {\r\n this.SalesCommission = this.gridApi.getSelectedRows().reduce((sum, current) => sum +\r\n parseFloat(current.dollers.replace(',', '').replace('$', '')), 0);\r\n this.RRCommission = this.gridApi.getSelectedRows().reduce((sum, current) => sum +\r\n parseFloat(current.RR.replace(',', '').replace('$', '')), 0);\r\n } \r\n \r\n if (this.opportunityids.length > 0) {\r\n this.isDisplayCommissionEstimator = val;\r\n this.isDisplayCommissionEstimatorCss();\r\n } else {\r\n this.SelectOpportunityWarning = true;\r\n this.SelectOpportunityWarningCss();\r\n }\r\n }\r\n\r\n \r\n isDisplayCommissionEstimatorCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 35%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);min-height: 63%;overflow: auto;height: 83%;left: 63%;padding: 0;');\r\n }, 4)\r\n }\r\n SelectOpportunityWarningCss() {\r\n setTimeout(function () {\r\n $('#SelectOpportunityWarning .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n PdfDialogCss() {\r\n setTimeout(function () {\r\n $('#showpdf1 .dialog').attr('style', 'width: 44%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);min-height: 63%;overflow: auto;height: 85%;top: 10%;left: 54%;padding:0;4');\r\n }, 4);\r\n }\r\n\r\n closeShowPdfDiv() {\r\n this.ShowPdfDiv = false;\r\n this.ExpandPDFDiv = false;\r\n }\r\n ExpandPDF1() {\r\n this.ExpandPDFDiv = !this.ExpandPDFDiv;\r\n }\r\n ExpandPDF(val) {\r\n this.notesshowDialog = true;\r\n this.QuickViewDialogCss(val);\r\n this.DocExpandView = val;\r\n }\r\n QuickViewDialogCss(val) {\r\n if (val == true) { //expand\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n }\r\n\r\n onCloseDialogEventReceived(event) { \r\n this.CommissionEstimator(false)\r\n if (event == 'false') {\r\n this.notesshowDialog = false;\r\n this.isModal = false;\r\n }\r\n }\r\n ExpandGrid(val) {\r\n this.ExpandOppGrid = val;\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n if (outProps.enableSearch) { this.EnableSearch = true; }\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize)); \r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n if (!outProps.pageSizeChanged) {\r\n if (outProps.startDateVal != \"\" && outProps.startDateVal != null) {\r\n this.startDateVal = outProps.startDateVal;\r\n }\r\n if (outProps.endDateVal != \"\" && outProps.endDateVal != null) {\r\n this.endDateVal = outProps.endDateVal;\r\n }\r\n if (outProps.thirdDrpValue == '718')\r\n {\r\n this.isPended = false;\r\n }\r\n else { this.isPended = true; }\r\n this.ClosedOpportunity(outProps.secondDrpValue == undefined ? 'Open Opportunities' : outProps.secondDrpValue, $(\"#userids\").val(), null);\r\n }\r\n } else {\r\n this.Allopportunities = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onFilterTextBoxChanged() {\r\n this.gridApi.setQuickFilter(\r\n (document.getElementById('filter-text-box') as HTMLInputElement).value\r\n );\r\n this.gridOptions.quickFilterText = (document.getElementById('filter-text-box') as HTMLInputElement).value;\r\n this.createColumnDefs(this.columnSelections);\r\n this.gridApi.redrawRows(); \r\n }\r\n ClearSearch() {\r\n this.gridApi.setQuickFilter('');\r\n this.value = \"\";\r\n this.applicationComponent.EnableSearch = false;\r\n this.gridOptions.quickFilterText = \"\";\r\n this.createColumnDefs(this.columnSelections);\r\n this.gridApi.redrawRows();\r\n }\r\n}\r\n","

      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      Contact Selected
      \r\n
      {{contact.accountname}}
      \r\n
      {{contact.firstname}} {{contact.middlename}} {{contact.lastname}} , {{contact.title}}
      \r\n
      {{contact.speciality}}
      \r\n
      {{contact.address1}}
      \r\n
      {{contact.address2}}
      \r\n
      \r\n \r\n {{contact.city}}\r\n , {{contact.state}}.\r\n , {{contact.zip |slice:0:5}} 5\">-{{contact.zip |slice:5:20}}\r\n \r\n\r\n
      \r\n
      Phone : {{contact.cell}}
      \r\n
      \r\n
      \r\n Owner :{{contact.owner}} \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Opportunity History
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{notes.created | date: 'MM-dd-yyyy' }} :{{notes.notedescription}}\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n Do you want to close this Opportunity?\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Created by: {{opportunities.owner}}
      \r\n
      Price: {{opportunities.dollers | currency}}
      \r\n
      Monthly: {{opportunities.RR | currency}}
      \r\n
      Date Created: {{opportunities.datecreated}}
      \r\n
      Status: {{opportunities.status}}
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n

      \r\n Are You Sure
      \r\n
      \r\n De-link this Opportunity with the Campaign?
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n","import { Component, OnInit, Input, ViewContainerRef, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { Notes } from '../../models/notes';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { Contacts } from '../../models/contacts';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { LinkDeleteComponent } from '../link-delete/link-delete.component';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { UserService } from '../../services/user.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'opportunityhistory',\r\n templateUrl: './opportunityhistory.component.html',\r\n styleUrls: ['./opportunityhistory.component.css']\r\n})\r\nexport class OpportunityhistoryComponent implements OnInit {\r\n @Input()\r\n id: number;\r\n @Input()\r\n OppIds: string;\r\n @Input()\r\n PageFrom: string;\r\n @Input()\r\n type : string;\r\n currentuser: any;\r\n Allopportunities: Opportunities[];\r\n contactid = 0; datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public columnDefs: any[];\r\n public gridOptions: GridOptions;\r\n contact: Contacts = new Contacts();\r\n opportunities: Opportunities = new Opportunities();\r\n opportunitiesnotes: Array = [];\r\n OwnerList: Dropdowntype[] = [];\r\n opprtunityitemlist: Dropdowntype[] = [];\r\n Tasklist: Dropdowntype[] = [];\r\n pclist: Dropdowntype[] = [];\r\n drlist: Dropdowntype[] = [];\r\n midlevelslist: Dropdowntype[] = [];\r\n leadfromlist: Dropdowntype[] = [];\r\n notes: Notes = new Notes();\r\n public elementRef;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n selectedtype: any;\r\n opportunityId: number = 0;\r\n today = Date.now();\r\n public sideBar;\r\n opportunitySelected: boolean = false;\r\n public frameworkComponents;\r\n public context;\r\n DeleteOpportunity: boolean = false; showpdf1: boolean = false;\r\n constructor(private opprtunityservice: OpprtunitiesService,\r\n public applicationComponent: ApplicationComponent, private customerService: CustomerService,\r\n private toastr: ToastrService, private userService: UserService,\r\n myElement: ElementRef)\r\n { \r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.elementRef = myElement;\r\n\r\n }\r\n ngOnInit() { \r\n $(setTimeout(function () {\r\n $(\"#test\").trigger(\"click\");\r\n }, 100));\r\n this.initializeAgGrid();\r\n }\r\n\r\n GetOpportunitiesListByOppIds(oppids) {\r\n if (oppids) {\r\n this.opprtunityservice.GetOpportunitiesListByOppIds(oppids).then((customer) => {\r\n if (customer.length > 0) {\r\n customer.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n });\r\n this.Allopportunities = customer;\r\n \r\n }\r\n else {\r\n this.Allopportunities = [];\r\n }\r\n });\r\n } else {\r\n this.Allopportunities = [];\r\n }\r\n \r\n }\r\n\r\n\r\n handleClick(event) {\r\n var clickedComponent = event.target;\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n $('#test').val('Opportunity');\r\n } else {\r\n }\r\n }\r\n\r\n createColumnDefs(columnSelections: string) {\r\n let selfobj = this;\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n { field: 'id', headerName: 'id', hide: true },\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n }},\r\n {\r\n field: 'estimatedclosedate', headerName: 'Date Scheduled', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n }\r\n },\r\n {\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: true, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n\r\n },\r\n {\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: true, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n\r\n }, \r\n {\r\n field: 'status', headerName: 'Status', hide: false, cellRenderer: (params) => {\r\n if (params.data.status == '108') {\r\n return 'Open';\r\n }\r\n else if (params.data.status == '109') {\r\n return 'Closed-Won';\r\n } else if (params.data.status == '110') {\r\n return 'Closed-Lost';\r\n } else if (params.data.status == '111') {\r\n return 'Closed-Pending';\r\n }\r\n }, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n }},\r\n {\r\n field: 'contactName', headerName: 'Contact Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } },\r\n {\r\n field: 'itemName', headerName: 'Item', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } },\r\n {\r\n field: 'dollers', headerName: '$$$$', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } },\r\n {\r\n field: 'RR', headerName: 'RR', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } },\r\n {\r\n field: 'PCname', headerName: 'PC', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } },\r\n {\r\n field: 'drsName', headerName: 'Drs', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } }, //true starts here\r\n {\r\n field: 'midlevel', headerName: 'Mid Levels', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n } },\r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n }\r\n },\r\n {\r\n field: 'actions', headerName: 'Actions', cellRenderer: 'linkdelete', cellRendererParams: { Delete: true, Link: false }, width: 100, hide: ((this.type == 'All Opportunities' )? false :true), pinned: 'right'\r\n }\r\n ];\r\n\r\n }\r\n PDFClick(val, type) {\r\n\r\n this.showpdf1 = true;\r\n this.PdfDialogCss();\r\n this.userService.GetProposalsDocumentContent(val).then(result => {\r\n let SO = this\r\n $(setTimeout(function () {\r\n SO.onDocumentOpen(result.PdfContent);\r\n }, 100));\r\n });\r\n }\r\n PdfDialogCss() {\r\n setTimeout(function () {\r\n $('#showpdf1 .dialog').attr('style', 'width: 44%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 85%;top: 10%;left: 54%;padding:0;4');\r\n }, 4);\r\n }\r\n onDocumentOpen(myBaseString) {\r\n $('#pdfDiv').html('')\r\n $('#pdfDiv').attr('style', 'width:100%;height: 100%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;margin-left:0%');\r\n }\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n \r\n }, 100));\r\n }\r\n autoSizeAll() {\r\n if (this.gridOptions && this.gridOptions.columnApi && this.gridOptions.columnApi.getAllColumns() != undefined) {\r\n var allColumnIds = [];\r\n this.gridOptions.columnApi.getAllColumns().forEach((column) => {\r\n allColumnIds.push(column.getColId());\r\n });\r\n this.gridOptions.columnApi.autoSizeColumns(allColumnIds);\r\n //this.gridOptions.columnApi.autoSizeColumns(allColumnIds, \"autosizeColumns\");\r\n }\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, editable: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single', paginationPageSize: 1000,rowMultiSelectWithClick: true\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n //let selectedUserIds: string;\r\n \r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 7).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n\r\n if (this.type == 'All Opportunities' || this.type == 'Sales Won' || this.type == 'Sales Lost') {\r\n this.GetOpportunitiesListByOppIds(this.OppIds);\r\n }\r\n else {\r\n this.GetAllOpportunitiesbyselectedcontact(this.id);\r\n }\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n \r\n this.context = this;\r\n this.frameworkComponents = {\r\n linkdelete: LinkDeleteComponent\r\n };\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if (rowEvent.node.selected) {\r\n this.loadDropDowns();\r\n this.opprtunityservice.GetByOpportunityId(rowEvent.data.id).then(result => {\r\n this.opportunities = result;\r\n this.opportunities.item = result.item;\r\n this.contactid = result.accountorcontactid;\r\n document.getElementById('saveOpp').style.display = 'none';\r\n if (this.opportunities.status == \"Closed-Won\" || this.opportunities.status == \"Closed-Lost\") {\r\n document.getElementById('statusdiv').style.display = 'none';\r\n }\r\n else {\r\n document.getElementById('statusdiv').style.display = 'block';\r\n }\r\n });\r\n this.opprtunityservice.GetAllOpprtunitiesNotesById(this.opportunities.id).then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.opportunitiesnotes = items;\r\n document.getElementById('notesTextArea').style.color = 'red';\r\n document.getElementById('notesTextArea').style.border = 'none';\r\n });\r\n document.getElementById('Won').className = 'btn c-button';\r\n //document.getElementById('Lost_span').className = '';\r\n document.getElementById('Lost').className = 'btn c-button';\r\n document.getElementById('statusdiv').style.display = 'block';\r\n document.getElementById('Opptdetails').style.display = 'block';\r\n document.getElementById('OpportunityHistory').style.display = 'none';\r\n }\r\n\r\n \r\n }\r\n loadDropDowns() {\r\n this.opprtunityservice.GetAllItems().then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.opprtunityitemlist = items;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"ProbabiltyClose\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.pclist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"Drs\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.drlist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"Midlevels\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.midlevelslist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"LeadFrom\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.leadfromlist = pc;\r\n });\r\n this.customerService.GetLoggedinUserList(this.currentuser.id, this.currentuser.systemadministrator).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.OwnerList = Owner;\r\n });\r\n }\r\n GetAllOpportunitiesbyselectedcontact(contactid) {\r\n if (this.PageFrom !== 'Campaign') {\r\n document.getElementById('OpportunityHistory').style.display = 'block';\r\n document.getElementById('Opptdetails').style.display = 'none';\r\n }\r\n \r\n this.customerService.GetContactById(contactid).then(result => {\r\n this.contact = result;\r\n this.opprtunityservice.GetAllOpportunitiesListByAccountorContact(this.id, 'Opt').then((customer) => {\r\n customer.forEach((customer) => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.actualclosedate = this.datePipe.transform(customer.actualclosedate, \"MM-dd-yyyy\");\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n });\r\n this.Allopportunities = customer;\r\n \r\n });\r\n });\r\n \r\n }\r\n completeForm() {\r\n var number = 0;\r\n if (this.opportunities.item == \"\" || this.opportunities.item == undefined) {\r\n number = 1;\r\n }\r\n if (this.opportunities.PC == 0 || this.opportunities.PC == undefined) {\r\n number = 1;\r\n }\r\n if (this.opportunities.RR == undefined || this.opportunities.RR == \"\") {\r\n number = 1;\r\n }\r\n if (this.opportunities.dollers == undefined || this.opportunities.dollers == \"\") {\r\n number = 1;\r\n }\r\n if (this.opportunities.drs == 0 || this.opportunities.drs == undefined) {\r\n number = 1;\r\n }\r\n if (this.opportunities.estimatedclosedate == undefined || this.opportunities.estimatedclosedate == \"\") {\r\n number = 1;\r\n }\r\n if (this.opportunities.leadfromid == 0 || this.opportunities.leadfromid == undefined) {\r\n number = 1;\r\n }\r\n if (this.opportunities.midlevels == 0 || this.opportunities.midlevels == undefined) {\r\n number = 1;\r\n }\r\n if (this.opportunities.ownerid == 0 || this.opportunities.ownerid == undefined) {\r\n number = 1;\r\n }\r\n if (number == 0) {\r\n document.getElementById('saveOpp').style.display = 'block'\r\n document.getElementById('statusdiv').style.display = 'none';\r\n }\r\n if (this.opportunities.status == 'Closed-Won' || this.opportunities.status == 'Closed-Lost') {\r\n document.getElementById('statusdiv').style.display = 'none'\r\n }\r\n }\r\n addOpportunity() {\r\n this.opportunities.accountorcontactid = this.contactid;\r\n this.opportunities.type = 'Contacts';\r\n this.opportunities.userid = this.currentuser.id;\r\n this.opportunities.status = \"Open\";\r\n this.opportunities.source = \"Opt\";\r\n this.opportunities.OpportunityFor = \"Opportunity\";\r\n document.getElementById('notesTextArea').style.color = 'black';\r\n document.getElementById('notesTextArea').style.background = 'lightgray';\r\n this.opprtunityservice.addopprtunity(this.opportunities).then(result => {\r\n this.opportunities = result;\r\n this.notes.accountid = result.id;\r\n this.notes.type = \"Opportunity\";\r\n this.notes.notedescription = this.notes.stagenotedescription;\r\n this.notes.userid = this.currentuser.id;\r\n this.opprtunityservice.addopprtunityNotes(this.notes).then(result => {\r\n this.notes = result;\r\n this.notes.notedescription = '';\r\n });\r\n this.toastr.success(\"Opportunity saved successfully.\", \"Opportunity Saved\", { timeOut: 600 });\r\n this.GetAllOpportunitiesbyselectedcontact(result.accountorcontactid);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == result.id) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 100));\r\n });\r\n\r\n\r\n }\r\n Close() {\r\n this.sendMsgEvent.emit(\"closed\"); \r\n }\r\n delete(val, status) {\r\n\r\n document.getElementById('Dialog').style.display = 'block';\r\n document.getElementById('OpportunityHistory').style.display = 'none';\r\n this.opportunities.status = status;\r\n $(\".OpportunityactiveButton\").addClass(\"c-button\");\r\n $(\".OpportunityactiveButton\").removeClass(\"OpportunityactiveButton\");\r\n if (status == \"Closed-Won\") {\r\n $(\"#Won\").removeClass(\"c-button\");\r\n $(\"#Won\").addClass(\"OpportunityactiveButton\");\r\n } else if (status == \"Pending\") {\r\n $(\"#Pending\").removeClass(\"c-button\");\r\n $(\"#Pending\").addClass(\"OpportunityactiveButton\");\r\n }\r\n else {\r\n $(\"#Lost\").removeClass(\"c-button\");\r\n $(\"#Lost\").addClass(\"OpportunityactiveButton\");\r\n }\r\n }\r\n handleEnterKeyPress(event) {\r\n const tagName = event.target.tagName.toLowerCase();\r\n if (tagName !== 'textarea') {\r\n return false;\r\n }\r\n }\r\n Cancel() {\r\n \r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.opportunityId = rowEvent.data.id;\r\n //if (this.active_deactiveStatus != 1)\r\n // this.router.navigateByUrl(`/application/contactsdashboard/${rowEvent.data.id}`);\r\n }\r\n SaveOpportunity() {\r\n this.customerService.attachtoLead(this.opportunityId).then((user) => {\r\n // this.applicationComponent.ClosedLeads('Forecasting', this.currentuser.id, 'Forecasting');\r\n this.opportunityId = 0;\r\n });\r\n }\r\n ChangeStatus(val, status) {\r\n this.opprtunityservice.GetStatusChange(val, status).then(result => {\r\n this.opportunities = result;\r\n //this.loadOpportunities(result[0].accountorcontactid);\r\n //this.oppId = 0;\r\n });\r\n document.getElementById('Dialog').style.display = 'none';\r\n document.getElementById('OpportunityHistory').style.display = 'block';\r\n\r\n }\r\n\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.opportunities = event.api.getSelectedNodes()[0].data;\r\n this.opportunitySelected = true;\r\n }\r\n }\r\n }\r\n LinkOpportunity() {\r\n this.sendMsgEvent.emit(this.opportunities.id.toString()); \r\n }\r\n columnVisible(event) {\r\n\r\n }\r\n\r\n dragStopped(event) {\r\n\r\n }\r\n\r\n columnResized(event) {\r\n\r\n }\r\n\r\n deleteRowAg(rowdata) {\r\n \r\n this.opportunityId = rowdata.id;\r\n this.DeleteOpportunity = true;\r\n this.DeleteOpportunityCss();\r\n \r\n }\r\n \r\n DeleteOpportunityCss() {\r\n setTimeout(function () {\r\n $('#DeleteOpportunity .dialog').attr('style', 'width: 33%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 20%;top:10%;');\r\n }, 4)\r\n }\r\n\r\n DeletOpportunity(opportunityid) {\r\n this.sendMsgEvent.emit(opportunityid.toString());\r\n }\r\n}\r\n","
      \r\n
      \r\n
      \r\n ACCOUNT SHARING\r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      Permission to Edit Account
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n\r\n /d\r\n\r\n
      \r\n /d\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      Permission to View Account
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n\r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n\r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n\r\n \r\n
      \r\n\r\n
      \r\n\r\n \r\n\r\n
      \r\n \r\n

      \r\n Converted Lead (Sales Proess is Not Completed)[{{userdata.LeadConvertedTotal}}]

      \r\n Tasks (Open Task Not Completed) [{{userdata.OpenTaskTotal}}]

      \r\n Opportunities (Open Opportunities Not Completed)[{{userdata.OpportunitiesTotal}}]


      \r\n\r\n\r\n Select CONTINUE to remove {{userdata.username}} Edit permission from this Account. All Open Items for
      \r\n {{userdata.username}} Associated with this account will be transferred to you as owner of the Account.\r\n


      \r\n
      \r\n
      \r\n \r\n
      \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, ViewChild} from '@angular/core';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Accountsharing } from '../../models/Accountsharing';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Contacts } from 'src/app/models/contacts';\r\nimport { Openitems } from 'src/app/models/openitems';\r\nimport { createDeflate } from 'zlib';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { isNullOrUndefined } from 'util';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'ownershipsharing',\r\n templateUrl: './ownershipsharing.component.html',\r\n styleUrls: ['./ownershipsharing.component.css']\r\n})\r\nexport class OwnershipsharingComponent implements OnInit {\r\n @Input()\r\n AccId: number;\r\n @Input()\r\n PageType: string;\r\n\r\n account: Accounts = new Accounts();\r\n accountSharing: Accountsharing = new Accountsharing();\r\n contact: Contacts = new Contacts();\r\n userdata: Openitems = new Openitems(); \r\n currentuser: any;\r\n selectedItems = [];\r\n permissionselectedItems = [];\r\n ViewgroupselectedItems = [];\r\n PermissionEditItems = [];\r\n PermissionViewItems = [];\r\n viewgroupselectedItems = [];\r\n groupselectedItems = [];\r\n dropdownSetting = {};\r\n perEditdropdownSetting = {};\r\n isChangeOwner: boolean = false;\r\n SaveButtonShow: boolean = false;\r\n ChangeOwnerButtonShow: boolean = true;\r\n SaveEditpermissionShow: boolean = false;\r\n SaveViewpermissionShow: boolean = false;\r\n SaveGroupPermission: boolean = false;\r\n SaveViewGroupPermission: boolean = false;\r\n finalitems = \"\";\r\n isPermissiontoEdit: boolean = false;\r\n WarningDialog: boolean = false;\r\n isPermissiontoView: boolean = false;\r\n isSaveOwner: boolean = false;\r\n \r\n \r\n SelectedOwner: any;\r\n contactid: number;\r\n public contactpermission: string;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n expanded: boolean = false;\r\n\r\n // New Changes Starts Here\r\n public dropdownList: Dropdowntype[] = [];\r\n accountgroupList = [];\r\n PermissionEditUserItems = [];\r\n PermissionEditGroupItems = [];\r\n PermissionViewUserItems = [];\r\n PermissionViewGroupItems = [];\r\n GroupDropdownSetting = {};\r\n UsersDropdownSetting = {};\r\n permissionEditaccount: any;\r\n permissionViewaccount: any;\r\n viewTaskGroup: any;\r\n permissionaccountGroups: any;\r\n accountSharingEditUserlist = [];\r\n accountSharingEditGrouplist = [];\r\n accountSharingViewUserlist = [];\r\n accountSharingViewGrouplist = [];\r\n\r\n constructor(private customerService: CustomerService, private toastr: ToastrService, private route: ActivatedRoute,\r\n private applicationComponent: ApplicationComponent, private router: Router)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.GroupDropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Group\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 0,\r\n searchPlaceholderText: 'Search Group',\r\n\r\n };\r\n this.UsersDropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 0,\r\n searchPlaceholderText: 'Search User',\r\n\r\n };\r\n\r\n this.route.params.subscribe(params => {\r\n this.contactpermission = params['permission']; \r\n });\r\n \r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1,0,0).then((Owner) => {\r\n Owner.forEach(Onr => {\r\n Onr.category = \"Users\";\r\n });\r\n this.dropdownList = Owner;\r\n \r\n this.customerService.GetAllAccountSharingGroups(this.currentuser.id).then((ShareGroups) => {\r\n \r\n var Groups = [];\r\n ShareGroups.forEach(ele => {\r\n Groups.push({ \"id\": ele.SharingGroupId, \"itemName\": ele.SharingGroupName, \"category\": 'SharingGroups' })\r\n });\r\n this.accountgroupList = Groups;\r\n this.loadAccountInformation(this.AccId, 0);\r\n });\r\n })\r\n\r\n }\r\n\r\n CancelPermissionEditUser() {\r\n //$('#userGropList').attr('style', 'display:block;height: 80%;overflow: auto;');\r\n this.isPermissiontoEdit = false;\r\n this.SaveEditpermissionShow = false;\r\n this.SaveGroupPermission = false;\r\n }\r\n CancelPermissionViewUser() {\r\n //$('#usrList').attr('style', 'display: block;height: 80%;overflow: auto;');\r\n this.isPermissiontoView = false;\r\n this.SaveViewGroupPermission = false;\r\n this.SaveViewpermissionShow = false;\r\n }\r\n\r\n editAccount(val) {\r\n if (this.contactpermission == 'view' || this.account.isAccountPermission == 'View') {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n\r\n if (this.contact != null) {\r\n this.sendMsgEvent.emit(\"ContactEdit\");\r\n }\r\n else {\r\n this.sendMsgEvent.emit(\"AccountEdit\");\r\n }\r\n }\r\n \r\n }\r\n\r\n editContact(val) {\r\n }\r\n loadAccountInformation(Accountid, contactId) {\r\n this.AccId = Accountid;\r\n this.PermissionEditItems = [];\r\n this.groupselectedItems = [];\r\n this.PermissionViewItems = [];\r\n this.viewgroupselectedItems = [];\r\n this.contact = null;\r\n if (contactId != 0) {\r\n this.customerService.GetContactById(contactId).then(Conresult => {\r\n this.contact = Conresult;\r\n });\r\n }\r\n this.customerService.GetByAccountId(Accountid).then(result => {\r\n this.account = result;\r\n if (this.account != null) {\r\n this.customerService.getAccountPermission(this.account.id, this.currentuser.id).then(perresult => {\r\n this.account.isAccountPermission = perresult;\r\n \r\n });\r\n }\r\n this.customerService.GetpermissionGroupByAccount(Accountid).then(permissionlist => {\r\n this.accountSharingEditUserlist = [];\r\n this.accountSharingViewUserlist = [];\r\n this.accountSharingEditGrouplist = [];\r\n this.accountSharingViewGrouplist = [];\r\n \r\n\r\n this.accountSharingEditUserlist = permissionlist.filter((cust) => (cust.Type != null && cust.Type.startsWith('EditUser') ));\r\n this.accountSharingViewUserlist = permissionlist.filter((cust) => (cust.Type != null && (cust.Type.startsWith('ViewUser'))));\r\n this.accountSharingEditGrouplist = permissionlist.filter((cust) => (cust.Type != null && (cust.Type.startsWith('EditGroup'))));\r\n this.accountSharingViewGrouplist = permissionlist.filter((cust) => (cust.Type != null && (cust.Type.startsWith('ViewGroup'))));\r\n\r\n this.accountSharingEditUserlist.forEach(ele => {\r\n this.PermissionEditUserItems.push(this.dropdownList.filter(x => x.id == ele.permissiontoeditaccount)[0])\r\n });\r\n\r\n this.accountSharingEditGrouplist.forEach(ele => {\r\n this.PermissionEditGroupItems.push(this.accountgroupList.filter(x => x.id == ele.permissiontoeditaccount)[0])\r\n });\r\n\r\n this.accountSharingViewUserlist.forEach(ele => {\r\n this.PermissionViewUserItems.push(this.dropdownList.filter(x => x.id == ele.permissiontoeditaccount)[0])\r\n });\r\n\r\n this.accountSharingViewGrouplist.forEach(ele => {\r\n this.PermissionViewGroupItems.push(this.accountgroupList.filter(x => x.id == ele.permissiontoeditaccount)[0])\r\n });\r\n\r\n \r\n }); \r\n }); \r\n }\r\n\r\n ChangeOwer() {\r\n if (this.contactpermission == 'view' || this.account.isAccountPermission == 'View') {\r\n this.applicationComponent.isAccessDenied = true;\r\n } else if (this.account.ownerid != this.currentuser.id) {\r\n alert(\"You are Not the Owner Of this Account!!\")\r\n return false;\r\n }\r\n else {\r\n this.ChangeOwnerButtonShow = false;\r\n this.SaveButtonShow = false\r\n this.isChangeOwner = true;\r\n }\r\n }\r\n SaveOwner() {\r\n this.isSaveOwner = true;\r\n this.SaveButtonShow = false;\r\n\r\n this.ChangeOwnerButtonShow = false;\r\n this.SaveButtonShow = false;\r\n this.isSaveOwner = true;\r\n \r\n // document.getElementById('OwnerLabel').innerHTML = \"dfdddddddddddddddd\";\r\n }\r\n cancel() { this.isSaveOwner = false; }\r\n onItemSelect(item: any) { \r\n this.SaveButtonShow = true; \r\n this.account.ownerid = item.id;\r\n this.account.newowner = item.itemName;\r\n this.SelectedOwner = this.account.newowner; \r\n }\r\n onPerViewItemSelect(item: any) { this.SaveEditpermissionShow = true; }\r\n onEditPermissionItemSelect(item: any) {\r\n this.SaveEditpermissionShow = true;\r\n this.accountSharingEditGrouplist = [];\r\n this.PermissionEditGroupItems.forEach(ele => {\r\n this.accountSharingEditGrouplist.push({ 'id': ele.id, \"Type\": 'Edit User', 'permissiontoeditaccount': ele.id, \"permssionuser\": ele.itemName})\r\n });\r\n }\r\n ongroupItemSelect(item: any) {\r\n this.SaveGroupPermission = true; \r\n }\r\n onviewgroupItemSelect(item: any) {\r\n this.SaveViewGroupPermission = true;\r\n }\r\n \r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.SaveButtonShow = true;\r\n } else {\r\n this.SaveButtonShow = false;\r\n }\r\n }\r\n OnPerViewItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.SaveViewpermissionShow = true;\r\n } else {\r\n this.SaveViewpermissionShow = false;\r\n }\r\n }\r\n OnEditPermissionItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n\r\n this.loadOpenItems(item.id, this.account.id);\r\n\r\n this.SaveEditpermissionShow = true;\r\n \r\n } else {\r\n this.SaveEditpermissionShow = false;\r\n }\r\n }\r\n OngroupItemDeSelect(item: any) {\r\n \r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n\r\n this.WarningDialog = true;\r\n this.SaveGroupPermission = true;\r\n \r\n } else {\r\n this.SaveGroupPermission = false;\r\n }\r\n\r\n }\r\n OnviewgroupItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.SaveViewGroupPermission = true;\r\n } else {\r\n this.SaveViewGroupPermission = false;\r\n }\r\n }\r\n\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n this.SaveButtonShow = true;\r\n // $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n //this.Generate($(\"#userids\").val());\r\n }\r\n onEditPermissionSelectAll(items: any) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n this.SaveEditpermissionShow = true;\r\n \r\n }\r\n onPerViewSelectAll(items: any) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n this.SaveViewpermissionShow = true; \r\n }\r\n ongroupSelectAll(items: any) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n this.SaveGroupPermission = true;\r\n }\r\n\r\n onviewgroupSelectAll(items: any) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n this.SaveViewGroupPermission = true;\r\n }\r\n\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.SaveButtonShow = false;\r\n\r\n $(\"#userids\").val('');\r\n\r\n }\r\n onPerViewDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.SaveViewpermissionShow = true;\r\n this.PermissionViewItems = [];\r\n //$(\"#userids\").val('');\r\n\r\n }\r\n onEditPermissionDeSelectAll(items: any) {\r\n\r\n this.finalitems = \"\";\r\n this.PermissionEditItems = [];\r\n this.SaveEditpermissionShow = true;\r\n\r\n //$(\"#userids\").val('');\r\n\r\n }\r\n \r\n ongroupDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.SaveGroupPermission = false;\r\n\r\n $(\"#userids\").val('');\r\n\r\n }\r\n\r\n onviewgroupDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.SaveViewGroupPermission = false;\r\n\r\n $(\"#userids\").val('');\r\n\r\n }\r\n loadOpenItems(userids,accId) {\r\n this.customerService.GetpopenItemsForUser(userids, accId).then(result => { \r\n this.userdata = result;\r\n this.userdata.userId = userids;\r\n if (result.OpenTaskTotal != 0 || result.LeadConvertedTotal != 0 || result.OpportunitiesTotal != 0) {\r\n this.WarningDialog = true;\r\n this.dialogsize();\r\n }\r\n });\r\n }\r\n AddEditpermission() {\r\n if (this.contactpermission == 'view' || this.account.isAccountPermission == 'View') {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n\r\n\r\n //$('#userGropList').attr('style', 'display:none');\r\n this.isPermissiontoEdit = true;\r\n this.CancelPermissionViewUser();\r\n this.customerService.GetAccountSharingByAccountId(this.account.id).then(result => {\r\n this.accountSharing = result;\r\n \r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n let permissionGroups = [];\r\n selfobj.customerService.Getselectedusers((selfobj.accountSharing.permissiontoeditaccount != \"\") ? selfobj.accountSharing.permissiontoeditaccount : null).then((users) => {\r\n users.forEach(Owner => {\r\n Owner.category = 'Users';\r\n });\r\n selfobj.PermissionEditItems = users;\r\n selfobj.customerService.GetDropdownNames((selfobj.accountSharing.permissionGroups != \"\") ? selfobj.accountSharing.permissionGroups : null).then((groups) => {\r\n groups.forEach(Owner => {\r\n Owner.category = \"Groups\";\r\n });\r\n selfobj.groupselectedItems = groups;\r\n selfobj.PermissionEditItems = [...selfobj.PermissionEditItems, ...groups];\r\n selfobj.accountSharing.permissionGroups = selfobj.groupselectedItems;\r\n });\r\n\r\n selfobj.accountSharing.permissiontoeditaccount = selfobj.PermissionEditItems;\r\n });\r\n\r\n \r\n\r\n }, 400));\r\n });\r\n \r\n $(setTimeout(function () {\r\n //$('.lazyContainer').attr('style', 'max-height:230px !important')\r\n }, 400));\r\n //if (this.accountSharing = null) {\r\n\r\n //}\r\n //else if (this.accountSharing != null) {\r\n // let selfobj = this;\r\n // $(setTimeout(function () {\r\n\r\n // selfobj.customerService.Getselectedusers(selfobj.accountSharing.permissiontoeditaccount).then((User) => {\r\n // User.forEach(Owner => {\r\n // });\r\n // selfobj.PermissionEditItems = User;\r\n // selfobj.accountSharing.permissiontoeditaccount = selfobj.PermissionEditItems;\r\n // selfobj.customerService.GetDropdownNames(selfobj.accountSharing.permissionGroups).then((Groups) => {\r\n // Groups.forEach(Owner => {\r\n // });\r\n // selfobj.groupselectedItems = Groups;\r\n // selfobj.accountSharing.permissionGroups = selfobj.groupselectedItems;\r\n // selfobj.PermissionEditItems = [...selfobj.groupselectedItems, ...Groups];\r\n // });\r\n // });\r\n\r\n \r\n\r\n // }, 400));\r\n //}\r\n }\r\n }\r\n permissionToViewAccount()\r\n {\r\n if (this.contactpermission == 'view' || this.account.isAccountPermission == 'View') {\r\n this.applicationComponent.isAccessDenied = true;\r\n }\r\n else {\r\n\r\n //$('#usrList').attr('style', 'display:none');\r\n this.isPermissiontoView = true;\r\n\r\n this.customerService.GetAccountSharingByAccountId(this.account.id).then(result => {\r\n this.accountSharing = result;\r\n \r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n let permissionGroups = [];\r\n if (selfobj.accountSharing != null) {\r\n selfobj.customerService.Getselectedusers((selfobj.accountSharing.permissiontoviewaccount != \"\") ? selfobj.accountSharing.permissiontoviewaccount : null).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n Owner.category = \"Users\";\r\n });\r\n selfobj.permissionselectedItems = Owner;\r\n selfobj.PermissionViewItems = selfobj.permissionselectedItems;\r\n if (selfobj.accountSharing.viewpermissionGroups != \"\") {\r\n selfobj.customerService.GetDropdownNames(selfobj.accountSharing.viewpermissionGroups).then((viewpergroups) => {\r\n viewpergroups.forEach(Owner => {\r\n Owner.category = \"Groups\";\r\n });\r\n selfobj.viewgroupselectedItems = viewpergroups;\r\n selfobj.permissionselectedItems = [...selfobj.permissionselectedItems, ...viewpergroups];\r\n });\r\n }\r\n \r\n });\r\n\r\n \r\n }\r\n }, 400));\r\n });\r\n\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n \r\n }, 400));\r\n this.CancelPermissionEditUser();\r\n }\r\n }\r\n SavePermissionEditUser() {\r\n this.permissionEditaccount = [];\r\n this.permissionaccountGroups = [];\r\n this.permissionViewaccount = [];\r\n this.viewTaskGroup = [];\r\n if (this.PermissionEditGroupItems != undefined) {\r\n this.permissionaccountGroups = this.PermissionEditGroupItems.map(s => s.id);\r\n }\r\n\r\n if (this.PermissionEditUserItems != undefined) {\r\n this.permissionEditaccount = this.PermissionEditUserItems.map(s => s.id);\r\n }\r\n\r\n if (this.PermissionViewGroupItems != undefined) {\r\n this.viewTaskGroup = this.PermissionViewGroupItems.map(s => s.id);\r\n }\r\n\r\n if (this.PermissionViewUserItems != undefined) {\r\n this.permissionViewaccount = this.PermissionViewUserItems.map(s => s.id);\r\n }\r\n\r\n\r\n \r\n let accSharing: Accountsharing = new Accountsharing();\r\n accSharing.accountShareId = this.AccId;\r\n accSharing.permissiontoeditaccount = this.permissionEditaccount.toString();\r\n accSharing.permissionGroups = this.permissionaccountGroups.toString();\r\n accSharing.permissiontoviewaccount = this.permissionViewaccount.toString();\r\n accSharing.viewpermissionGroups = this.viewTaskGroup.toString();\r\n accSharing.id = (this.accountSharing != null) ? this.accountSharing.id : 0;\r\n accSharing.createdby = this.currentuser.id;\r\n\r\n this.customerService.addAccuntPermissionEdit(accSharing).then(result => {\r\n this.accountSharing = result;\r\n this.toastr.success(\"Edit Permission and Group Added .\", \"Share Permission\", { timeOut: 600 });\r\n this.isPermissiontoEdit = false;\r\n //this.loadAccountInformation(this.AccId, 0);\r\n this.SaveEditpermissionShow = false;\r\n this.SaveGroupPermission = false;\r\n this.sendMsgEvent.emit(\"Save\");\r\n \r\n });\r\n }\r\n dialogsize() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 43% !important; padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 63%;overflow: visible;height: 63%;');\r\n\r\n }, 4)\r\n }\r\n CancelWarning() {\r\n this.WarningDialog = false;\r\n }\r\n Continue(userId) {\r\n this.customerService.removesharingByAccid(this.AccId, userId).then(result => {\r\n this.sendMsgEvent.emit(\"Save\");\r\n });\r\n }\r\n SavePermissiontoViewUser() {\r\n\r\n this.permissionViewaccount = [];\r\n this.viewTaskGroup = [];\r\n if (this.PermissionViewItems != undefined) {\r\n for (var i = 0; i < this.PermissionViewItems.length; i++) {\r\n if (this.PermissionViewItems[i].category == 'Users') {\r\n this.permissionViewaccount.push(this.PermissionViewItems[i].id);\r\n } else {\r\n this.viewTaskGroup.push(this.PermissionViewItems[i].id);\r\n }\r\n \r\n }\r\n }\r\n \r\n //if (this.viewgroupselectedItems != undefined) {\r\n // for (var i = 0; i < this.viewgroupselectedItems.length; i++) {\r\n \r\n // }\r\n //}\r\n //if (this.accountSharing == null) {\r\n let accSharing: Accountsharing = new Accountsharing();\r\n if (this.accountSharing != null) {\r\n accSharing.id = this.accountSharing.id;\r\n }\r\n else {\r\n accSharing.id = 0;\r\n }\r\n\r\n accSharing.permissiontoeditaccount = (this.accountSharing != null && this.accountSharing.permissiontoeditaccount != undefined) ? this.accountSharing.permissiontoeditaccount : \"\";\r\n accSharing.permissiontoviewaccount = this.permissionViewaccount.toString();\r\n accSharing.viewpermissionGroups = this.viewTaskGroup.toString();\r\n accSharing.accountShareId = this.AccId;\r\n accSharing.createdby = this.currentuser.id;\r\n //if ((accSharing.permissiontoeditaccount == null || accSharing.permissiontoeditaccount == \"\") && (accSharing.permissiontoviewaccount == null || accSharing.permissiontoviewaccount == \"\")) {\r\n // this.customerService.removesharingByAccid(this.AccId).then(result => {\r\n // this.sendMsgEvent.emit(\"Save\");\r\n // });\r\n //}\r\n this.customerService.addAccuntPermissionEdit(accSharing).then(result => {\r\n this.accountSharing = result;\r\n this.toastr.success(\"Permission to View.\", \"Share Permission\", { timeOut: 600 });\r\n //this.loadAccountInformation(this.account.id, 0);\r\n this.isPermissiontoView = false;\r\n this.SaveViewpermissionShow = false;\r\n this.SaveViewGroupPermission = false;\r\n\r\n if ((accSharing.permissiontoeditaccount == null || accSharing.permissiontoeditaccount == \"\") && (accSharing.permissiontoviewaccount == null || accSharing.permissiontoviewaccount == \"\")) {\r\n this.customerService.removesharingByAccid(this.AccId,0).then(result => {\r\n this.sendMsgEvent.emit(\"Save\");\r\n });\r\n }else {\r\n this.sendMsgEvent.emit(\"Save\");\r\n\r\n }\r\n \r\n });\r\n \r\n \r\n }\r\n ModifyOwner() {\r\n this.customerService.Updateownerid(this.account.ownerid, this.account.id, this.currentuser.id).then((account) => {\r\n this.toastr.success(\"Owner Changed successfully.\", \"Updated Owner\", { timeOut: 600 });\r\n this.sendMsgEvent.emit(\"Save\");\r\n this.isSaveOwner = false;\r\n this.isChangeOwner = false;\r\n this.ChangeOwnerButtonShow = true;\r\n this.sendMsgEvent.emit(\"Save\");\r\n });\r\n }\r\n close() {\r\n this.sendMsgEvent.emit(\"Close\");\r\n $(\"#Accountinformation\").show();\r\n }\r\n onEditGroupItemSelect(item: any) {\r\n this.SaveEditpermissionShow = true;\r\n this.accountSharingEditGrouplist = [];\r\n if (this.PermissionEditGroupItems.length > 0) {\r\n this.PermissionEditGroupItems.forEach(ele => {\r\n this.accountSharingEditGrouplist.push({ 'id': ele.id, \"Type\": 'Edit User', 'permissiontoeditaccount': ele.id, \"permssionuser\": ele.itemName })\r\n });\r\n } else {\r\n this.accountSharingEditGrouplist = [];\r\n }\r\n \r\n }\r\n\r\n onEditUsersItemSelect(item: any) {\r\n this.SaveEditpermissionShow = true;\r\n this.accountSharingEditUserlist = [];\r\n if (this.PermissionEditUserItems.length > 0) {\r\n this.PermissionEditUserItems.forEach(ele => {\r\n this.accountSharingEditUserlist.push({ 'id': ele.id, \"Type\": 'Edit User', 'permissiontoeditaccount': ele.id, \"permssionuser\": ele.itemName })\r\n });\r\n } else {\r\n this.accountSharingEditUserlist = [];\r\n }\r\n\r\n }\r\n\r\n onViewGroupItemSelect(item: any) {\r\n this.SaveEditpermissionShow = true;\r\n this.accountSharingViewGrouplist = [];\r\n if (this.PermissionViewGroupItems.length > 0) {\r\n this.PermissionViewGroupItems.forEach(ele => {\r\n this.accountSharingViewGrouplist.push({ 'id': ele.id, \"Type\": 'Edit User', 'permissiontoeditaccount': ele.id, \"permssionuser\": ele.itemName })\r\n });\r\n } else {\r\n this.accountSharingViewGrouplist = [];\r\n }\r\n\r\n }\r\n\r\n onViewUsersItemSelect(item: any) {\r\n this.SaveEditpermissionShow = true;\r\n this.accountSharingViewUserlist = [];\r\n if (this.PermissionViewUserItems.length > 0) {\r\n this.PermissionViewUserItems.forEach(ele => {\r\n this.accountSharingViewUserlist.push({ 'id': ele.id, \"Type\": 'Edit User', 'permissiontoeditaccount': ele.id, \"permssionuser\": ele.itemName })\r\n });\r\n } else {\r\n this.accountSharingViewUserlist = [];\r\n }\r\n\r\n }\r\n \r\n}\r\n","\r\n\r\n

      {{startrow}} to {{noofRows}} of {{totalnumberofrows}} First < Page {{currentPage}} of {{totalnumberofPages}} >Last

      \r\n\r\n","import { Component, OnInit,Input,Output, EventEmitter } from '@angular/core';\r\nimport * as XLSX from 'ts-xlsx';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.css']\r\n})\r\nexport class PageComponent implements OnInit {\r\n @Input()\r\n total: number;\r\n @Input()\r\n totalpagesize: number;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n selectedItems = [];\r\n arrayBuffer: any;\r\n file: File;\r\n\r\n public currentPage: number = 1;\r\npublic startrow: number = 1;\r\n public noofRows: number = 1;\r\n public totalnumberofrows: number = 1;\r\n public totalnumberofPages: number = 21;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n // alert(this.totalpagesize \"k\"\"\"+ this.total);\r\n this.totalnumberofrows = this.total;\r\n }\r\n\r\n ngOnChanges() {\r\n \r\n }\r\n incomingfile(event) {\r\n this.file = event.target.files[0]; \r\n }\r\n\r\n Upload() {\r\n let fileReader = new FileReader();\r\n fileReader.onload = (e) => {\r\n this.arrayBuffer = fileReader.result;\r\n var data = new Uint8Array(this.arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\" });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n }\r\n fileReader.readAsArrayBuffer(this.file);\r\n }\r\n Paginationfirst() {\r\n this.sendMsgEvent.emit(\"first\");\r\n }\r\n Paginationprev() {\r\n this.sendMsgEvent.emit(\"prev\");\r\n }\r\n Paginationnext() {\r\n this.sendMsgEvent.emit(\"next\");\r\n }\r\n Paginationlast() {\r\n this.sendMsgEvent.emit(\"last\");\r\n }\r\n}\r\n","
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \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, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { Proposals } from '../../models/Praposals';\r\nimport { ProposalsModel } from '../../models/Proposalsmodel';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { ProposalsComponent } from '../proposals/proposals.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-pendedproposals',\r\n templateUrl: './pendedproposals.component.html',\r\n styleUrls: ['./pendedproposals.component.css']\r\n})\r\nexport class PendedproposalsComponent implements OnInit {\r\n public selectedItems: any;\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n public frameworkComponents;\r\n public context;\r\n public columnDefs: any[];\r\n currentuser: any;\r\n AllPendedProposals: ProposalsModel[];\r\n Proposal: Proposals = new Proposals();\r\n DeleteConfirmation: boolean = false;\r\n @ViewChild(ProposalsComponent) proposal;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n constructor(public applicationComponent: ApplicationComponent, public userService: UserService, private router: Router, private opprtunityservice: OpprtunitiesService\r\n ) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); \r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getPendedProposals($(\"#userids\").val());\r\n this.initializeAgGrid();\r\n var obj: AuditLogModel = { id: 0, type: 'Pended Proposal', action: 'Pended Proposal Viewed', AccountOrContactId: 0, AccountOrContact: \"\", documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Pended Proposal Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n getPendedProposals(userid) {\r\n this.userService.GetAllPendedProposals(userid, 1).then(result => {\r\n this.AllPendedProposals = result; \r\n this.AllPendedProposals.forEach(prop => {\r\n prop.estimatedstrclosedate = prop.estimatedclosedate==null?\"\": this.datePipe.transform(prop.estimatedclosedate, \"MM/dd/yyyy\").toString();\r\n });\r\n \r\n });\r\n }\r\n close() {\r\n\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n }\r\n UserlistDataReceived(event) {\r\n if (event.finalitems == \"\") { this.AllPendedProposals = []; } else {\r\n this.getPendedProposals(event.finalitems);\r\n }\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: 'multiple', enableCellChangeFlash: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createColumnDefs();\r\n\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeletecvComponent,\r\n };\r\n\r\n\r\n }\r\n\r\n createColumnDefs() {\r\n let selfObj = this;\r\n selfObj.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n \r\n {\r\n field: 'estimatedstrclosedate', headerName: 'ECD', hide: false, cellStyle: function (params) {\r\n { return { color: '#FF0000' }; }\r\n }\r\n },\r\n { field: 'AccountName', headerName: 'Account', hide: false },\r\n { field: 'ContactName', headerName: 'Contact', hide: false },\r\n {\r\n field: 'isPended', headerName: 'Pended', hide: false, cellRenderer: function (params) {\r\n { return 'Pended'; }}, cellStyle: function (params) {\r\n { return { color: '#FF0000' }; }\r\n }\r\n },\r\n { field: 'dollers', headerName: 'Dollers', hide: false, width: 100 },\r\n {\r\n field: 'RR', headerName: 'RR', hide: false, width: 100\r\n },\r\n\r\n { field: 'itemName', headerName: 'Proposal Type', hide: false },\r\n { field: 'ProposalDescription', headerName: 'Proposal Description', hide: false },\r\n \r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false\r\n },\r\n {\r\n field: 'createdUser', headerName: 'Created By', hide: false, width: 100\r\n },\r\n {\r\n field: 'owner', headerName: 'User', hide: false\r\n },\r\n { field: 'ProposalID', headerName: 'ProposalID', hide: true },\r\n { field: 'OpportunityID', headerName: 'OpportunityID', hide: true },\r\n { field: 'CreatedDate', headerName: 'Date', hide: true },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 90, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deletePendProposal(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n\r\n ];\r\n }\r\n\r\n deletePendProposal(proposal) {\r\n this.Proposal = proposal;\r\n this.DeleteConfirmation = true;\r\n this.DeletePendProposalCss();\r\n }\r\n DeletePendProposalCss() {\r\n setTimeout(function () {\r\n $('#DeleteConfirmation .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4)\r\n }\r\n ProposalCss() {\r\n setTimeout(function () {\r\n $('#isloader .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4)\r\n }\r\n Confirmation(val) {\r\n if (val == 'Ok') { \r\n this.opprtunityservice.deleteopportunity(this.Proposal.OpportunityID).then(result => {\r\n this.DeleteConfirmation = false;\r\n this.getPendedProposals(this.currentuser.id);\r\n });\r\n \r\n } else {\r\n this.DeleteConfirmation = false;\r\n }\r\n }\r\n\r\n cellDoubleClicked(rowEvent) {\r\n this.applicationComponent.selectedsubbutton = \"\";\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.showSearchFieldsDialog = false;\r\n this.applicationComponent.ProposalID = rowEvent.data.ProposalID;\r\n $('#emailIds').val(rowEvent.data.accountorcontactid);\r\n $('#tasklistselectedtyle').val('Contact')\r\n this.applicationComponent.activateMainButtons('Create Proposal'); \r\n }\r\n}\r\n\r\n","

      \r\n practice works!\r\n

      \r\n","import { Component, OnInit } from '@angular/core';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-practice',\r\n templateUrl: './practice.component.html',\r\n styleUrls: ['./practice.component.css']\r\n})\r\nexport class PracticeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.titleName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.firstname}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.middleName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.lastname}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.suffixName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.UserStatus}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.RoleName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.systemadministrator == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.TaskGroupName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.Quotaid == 445 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.dealApproval}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{documentAccessName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{mySalesXAccessName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.timezone}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.releaseNoteAddEdit == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.customertypeaccess == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.customerAccount == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.customerStatus == 1 ? 'Yes': 'No'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.TaskGroupName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.ZendeskPermissionName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.email}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n ********\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{user.isSendGrid == true ? 'Send Grid' : ''}} {{user.isSMTP == true ? 'SMTP' : ''}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n {{selecteduser.itemName}} {{selecteduser.category}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n {{selecteduser.itemName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n {{selecteduser.itemName}} {{selecteduser.category}}\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 { Users } from 'src/app/models/users';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.css']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n public currentuser: any;\r\n user: Users = new Users();\r\n public selectedItems: any;\r\n public TaskGroupAccess: string = \"\";\r\n urlImage = ''; documentAccessName = \"\";\r\n mySalesXAccessName = \"\";\r\n permissionlevellist: Dropdowntype[] = [];\r\n userpermissionlevellist: Dropdowntype[] = [];\r\n constructor(private userservice: UserService, private applicationComponent: ApplicationComponent, private customerService: CustomerService,) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.UserProfidata();\r\n this.GetDocumentAccess();\r\n var obj: AuditLogModel = { id: 0, type: 'Profile', action: 'Profile Viewed', AccountOrContactId: 0, AccountOrContact: \"\", documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Profile Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n }\r\n GetDocumentAccess() {\r\n\r\n let permissionlevel = this.permissionlevellist.filter(f => f.id == this.user.permissionlevelid);\r\n this.documentAccessName = permissionlevel[0].itemName;\r\n\r\n let userpermissionlevel = this.userpermissionlevellist.filter(f => f.id == this.user.userpermissionlevelid);\r\n this.mySalesXAccessName = userpermissionlevel[0].itemName;\r\n }\r\n UserProfidata() {\r\n this.userservice.GetUserByuserId(this.currentuser.id).then(result => {\r\n this.user = result;\r\n this.urlImage = this.user.ProfilePicture;\r\n\r\n if (this.user.EmailSetUp == \"SendGrid\") {\r\n this.user.isSendGrid = true;\r\n this.user.isSMTP = false;\r\n } else {\r\n this.user.isSendGrid = false;\r\n this.user.isSMTP = true;\r\n }\r\n\r\n });\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) { }\r\n close() {\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n // this.applicationComponent.showSearchFieldsDialog = false;\r\n \r\n }\r\n\r\n addFiles(event) {\r\n\r\n let files = event.srcElement.files;\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n this.addChargeNew(file);\r\n\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n this.urlImage = reader.result.toString();\r\n }\r\n }\r\n\r\n addChargeNew(file) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.user.ProfilePicture = reader.result.toString();\r\n selfObj.user.Phototype = file.type;\r\n selfObj.urlImage = reader.result.toString();\r\n selfObj.customerService.uploadUserProfilePhoto(selfObj.user).then((user) => {\r\n selfObj.currentuser.ProfilePicture = selfObj.user.ProfilePicture;\r\n localStorage.setItem('currentUser', JSON.stringify(selfObj.currentuser));\r\n }) ;\r\n }, 500));\r\n }\r\n}\r\n","
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      PROJECT NOTES
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      0\">\r\n \r\n
      \r\n
      \r\n\r\n
      0 && !PreviousNotesExpand \">\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{getPropertyName(Project[field.FieldName], field.FieldName)}}\r\n {{Project[field.FieldName]}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{Project_Stage_Status}}\r\n
      \r\n

      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{ProjStep.ProjectStepStatus}}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      {{note.created | date:\"dd-MM-yy\"}}
      \r\n\r\n
      {{note.notedescription}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n {{notesdata.created }}
      \r\n {{notesdata.created}}
      \r\n {{notesdata.user}}
      \r\n {{notesdata.notedescription}}
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      CREATE NEW PROJECT
      \r\n
      0\">EDIT PROJECT DETAILS
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      0\">\r\n
      \r\n
      \r\n Account :\r\n
      \r\n
      \r\n {{account.accountname}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Project Type :\r\n
      \r\n
      \r\n {{Project.ProjectTypeName}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Stage :\r\n
      \r\n
      \r\n Project Overview\r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n \r\n\r\n \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Account : {{account.accountname}}\r\n\r\n
      \r\n\r\n
      \r\n Project Type : {{Project.ProjectTypeName}}\r\n\r\n
      \r\n\r\n
      \r\n Stage : {{SelectedStageName }}\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      0\">\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      PROJECTS

      \r\n
      Save Changes to Projects ?
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n

      \r\n
      \r\n
      Create New Project
      \r\n
      Exit without Saving New Project?
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \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 { DatePipe } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Optional, Output, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\n\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AccountsHistory } from '../../../models/AccountHistory';\r\nimport { Accounts } from '../../../models/accounts';\r\nimport { Notes } from '../../../models/notes';\r\nimport { ProjectPickListModel } from '../../../models/PickListModel';\r\nimport { ProjectFields, ProjectForecastViewModel, Projects, ProjectStages, ProjectSteps, ProjectStepStatusModel } from '../../../models/ProjectConfiguration';\r\nimport { Viewaccount } from '../../../models/viewaccount';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { AccountDetailsComponent } from '../../account-details/account-details.component';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { OwnershipsharingComponent } from '../../ownershipsharing/ownershipsharing.component';\r\nimport { NewNotesComponent } from '../../new-notes/new-notes.component';\r\nimport { Router } from '@angular/router';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-create-projects',\r\n templateUrl: './create-projects.component.html',\r\n styleUrls: ['./create-projects.component.css']\r\n})\r\nexport class CreateProjectsComponent implements OnInit {\r\n viewaccount: Viewaccount = new Viewaccount();\r\n accountHistory: AccountsHistory = new AccountsHistory();\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n @ViewChild(AccountDetailsComponent) accdetailcmp;\r\n @ViewChild(NewNotesComponent) notecmp;\r\n account: Accounts = new Accounts();\r\n Project: Projects = new Projects();\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n showCreateProjectDialog: boolean = false;\r\n public practiceid: string;\r\n currentuser: any;\r\n isSharing: boolean = false;\r\n action: string;\r\n showAddEditAccount: boolean = false;\r\n rightMainDivHideShow: boolean = true;\r\n accountSharingid: number = 0;\r\n AddContacttableDiv: boolean = false;\r\n tab: string = 'Account';\r\n noteslist: Array = [];\r\n isModal: boolean = false;\r\n conid: number;\r\n locId = 0;\r\n userprevilages: any;\r\n permission: string;\r\n typ: string;\r\n notesshowDialog = false;\r\n NotesBlockView: boolean = false;\r\n showAddEditContact: boolean = false;\r\n Project_OverView_Div: boolean = true;\r\n Project_Steps_Div: boolean = false;\r\n Project_Steps_List: ProjectSteps[] = [];\r\n @Input() accountContactId;\r\n @Input() accountContactType;\r\n @Input() ProjectId;\r\n @Input() ViewType;\r\n ProjectFieldsList: ProjectFields[] = [];\r\n NewForm = new FormGroup({});\r\n //NewStageFormSteps = new FormGroup({});\r\n @ViewChild('NewStageFormSteps') myForm: NgForm;\r\n Fields: any;\r\n FormDataModified: boolean = false;\r\n SaveProjectDialog: boolean = false;\r\n //public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n public sideBar;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n ProjectsList: Projects[] = [];\r\n public context;\r\n SelectedStage: number = 0;\r\n SelectedStageName: string = 'Project Details';\r\n SelectedStageIndex: number = -1;\r\n SelectedProjectType: number = 0;\r\n ProjectTypeList: ProjectPickListModel[] = [];\r\n ProjectStagesList: ProjectStages[] = [];\r\n OriginalProjectStagesList: ProjectStages[] = [];\r\n Proj_Stages_List_by_ProjType: ProjectStages[] = [];\r\n Proj_StagesCount: number;\r\n ShowAddNotesDiv: boolean = false;\r\n public gridApi;\r\n notes: Notes = new Notes();\r\n notedescription: string;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n allnotes: Notes[];\r\n NotesDec: boolean = false;\r\n projectTypeName: string = '';\r\n public notesdata: Notes = new Notes();\r\n ProjectStepsList: ProjectSteps[] = [];\r\n Project_Stage_Status: string = '';\r\n ProjStepStatus: ProjectStepStatusModel[] = [];\r\n DupProjStepStatus: ProjectStepStatusModel[] = [];\r\n public isDelink = false;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n public gridOptionsView: GridOptions;\r\n public ForecastViewcolumnDefs;\r\n ForecastDataObj: ProjectForecastViewModel[] = [];\r\n\r\n selectedItems = [];\r\n dropdownSetting = {};\r\n dropdownList = [];\r\n StepStatusButton: boolean = true;\r\n ProjectStatusID: number;\r\n\r\n CloseCreateNewWarning: boolean = false;\r\n PreviousNotesExpand: boolean = false;\r\n\r\n public ShowPDF: boolean = false;\r\n public EditDocument: boolean = true;\r\n DocExpandView: boolean = false;\r\n constructor(private customerService: CustomerService, public applicationComponent: ApplicationComponent, private toastr: ToastrService,private router: Router) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n View(val) {\r\n if (val == 'Block') {\r\n this.NotesBlockView = true;\r\n } else {\r\n this.NotesBlockView = false;\r\n }\r\n\r\n }\r\n\r\n getPropertyName(id, name) { \r\n if (name == 'UserAccess') {\r\n var current_element = (this.Fields).filter(function (obj) {\r\n return obj.FieldName == \"UserAccess\";\r\n });\r\n if (current_element.length > 0) {\r\n current_element = current_element[0];\r\n var dt = current_element.Data;\r\n if (id != \"\") {\r\n // var NameString = dt.filter(x => x.itemName);\r\n var ids = id.split(',');\r\n var NameString = [];\r\n this.selectedItems = [];\r\n //ids.forEach(ele => {\r\n // NameString.push(dt.filter(x => x.id == ele)[0].itemName);\r\n //});\r\n ids.forEach(ele => {\r\n this.selectedItems.push({ \"id\": dt.filter(x => x.id == ele)[0].id, \"itemName\": dt.filter(x => x.id == ele)[0].itemName });\r\n NameString.push(dt.filter(x => x.id == ele)[0].itemName);\r\n });\r\n\r\n return NameString.join(\",\");\r\n } else {\r\n this.selectedItems = [];\r\n }\r\n }\r\n } else {\r\n var current_element = (this.Fields).filter(function (obj) {\r\n return obj.FieldName == name.trim();\r\n });\r\n if (current_element.length > 0) {\r\n current_element = current_element[0];\r\n var dt = current_element.Data;\r\n if (dt && dt.length > 0) {\r\n var dt_element = dt.filter(function (item) {\r\n if (item.hasOwnProperty('DataId')) { return item.DataId == id; }\r\n else { return item.id == id; }\r\n\r\n })\r\n if (dt_element.length > 0) {\r\n return dt_element[0].itemName;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n \r\n\r\n \r\n }\r\n ngOnInit(): void {\r\n \r\n this.LoadAccountInformation(this.accountContactId, this.accountContactType);\r\n\r\n if (this.ViewType == 'Project Step View') {\r\n this.initializeAgGrid();\r\n }\r\n else {\r\n this.initializeAgGridNotes(\"\");\r\n }\r\n \r\n if (this.ProjectId == 0 || this.ProjectId == undefined || this.ProjectId == null) {\r\n this.showCreateProjectDialog = true;\r\n this.showCreateProjectDialogCss();\r\n }\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 10\r\n };\r\n }\r\n showCreateProjectDialogCss() {\r\n $(setTimeout(function () {\r\n $('#showCreateProjectDialog .dialog').attr('style', 'width: 35%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82.5%;padding: 0;top: 10%;left: 63%;');\r\n }, 4));\r\n }\r\n delink(documentid, note) {\r\n $('#' + documentid + 'ON').attr('style', 'display:block;height:23px;');\r\n $('#' + documentid + 'Off').attr('style', 'display:none;height:23px;');\r\n let selfObj = this;\r\n setTimeout(function () {\r\n var isConfirmed = confirm(\"De-Link this document?\");\r\n if (isConfirmed) {\r\n //selfObj.isdocumentid = documentid;\r\n //selfObj.selectedNotes = note;\r\n //selfObj.UpdateNote(true);\r\n selfObj.isDelink = false;\r\n }\r\n else {\r\n $('#' + documentid + 'Off').attr('style', 'display:block;height:23px;');\r\n $('#' + documentid + 'ON').attr('style', 'display:none;height:23px;');\r\n selfObj.delinkOff(note.id)\r\n }\r\n }, 500);\r\n\r\n }\r\n openfile(documentid, note, index) {\r\n\r\n //this.documentindex = index\r\n //this.selectedNotes = note;\r\n //this.userdocumentlist = this.selectedNotes.docList;\r\n //this.userdocumentcount = this.selectedNotes.docList.length;\r\n\r\n //this.getImageData(documentid);\r\n\r\n\r\n }\r\n delinkDocs(noteId) {\r\n this.isDelink = true;\r\n //this.selectedNoteId = noteId;\r\n $('#' + noteId + 'Off').attr('style', 'display:none');\r\n $('#' + noteId + 'ON').attr('style', 'display:block;color:red;font-weight: 600;');\r\n }\r\n delinkOff(noteId) {\r\n this.isDelink = false;\r\n // this.selectedNoteId = noteId;\r\n $('#' + noteId + 'Off').attr('style', 'display:block');\r\n $('#' + noteId + 'ON').attr('style', 'display:none;color:red;font-weight: 600;');\r\n }\r\n LoadData(AccountOrContactId, AccountOrContactIType, ProjectId, ViewType, rowData) {\r\n \r\n this.accountContactId = AccountOrContactId;\r\n this.accountContactType = AccountOrContactIType;\r\n\r\n this.ProjectId = ProjectId;\r\n this.ViewType = ViewType;\r\n this.loadProjectByProjectId(this.ProjectId);\r\n this.Project_Steps_Div = false;\r\n this.Project_OverView_Div = true;\r\n this.SelectedStage = 0;\r\n this.LoadAccountInformation(AccountOrContactId, this.accountContactType); \r\n this.Project = rowData;\r\n this.ProjectStatusID = this.Project.ProjectStatus;\r\n this.notecmp.Notes('Display All');\r\n this.projectTypeName = this.Project.ProjectTypeName;\r\n if (this.Project.UserAccess != undefined) {\r\n var userAccesIds = this.Project.UserAccess.split(\",\");\r\n\r\n this.selectedItems = this.dropdownList.filter(function (item) {\r\n return userAccesIds.indexOf(item.id) === -1;\r\n });\r\n }\r\n this.ProjectFormat();\r\n\r\n }\r\n ProjectFormat() {\r\n this.Project.TargetGoLiveDate = this.datePipe.transform(this.Project.TargetGoLiveDate, \"yyyy-MM-dd\");\r\n this.Project.OnsiteTrainingDate1From = this.datePipe.transform(this.Project.OnsiteTrainingDate1From, \"yyyy-MM-dd\");\r\n this.Project.OnsiteTrainingDate1To = this.datePipe.transform(this.Project.OnsiteTrainingDate1To, \"yyyy-MM-dd\");\r\n this.Project.OnsiteTrainingDate2From = this.datePipe.transform(this.Project.OnsiteTrainingDate2From, \"yyyy-MM-dd\");\r\n this.Project.OnsiteTrainingDate2To = this.datePipe.transform(this.Project.OnsiteTrainingDate2To, \"yyyy-MM-dd\");\r\n this.Project.RemoteTrainingDate1From = this.datePipe.transform(this.Project.RemoteTrainingDate1From, \"yyyy-MM-dd\");\r\n this.Project.RemoteTrainingDate1To = this.datePipe.transform(this.Project.RemoteTrainingDate1To, \"yyyy-MM-dd\");\r\n this.Project.RemoteTrainingDate2From = this.datePipe.transform(this.Project.RemoteTrainingDate2From, \"yyyy-MM-dd\");\r\n this.Project.RemoteTrainingDate2To = this.datePipe.transform(this.Project.RemoteTrainingDate2To, \"yyyy-MM-dd\");\r\n }\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata, Providence) {\r\n\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.viewaccount.ProvidenceIsland = Providence;\r\n this.viewaccount.AccountHistoryNote = this.accountHistory.HistoryNotes;\r\n this.accdetailcmp.loadAccountId(accId);\r\n\r\n }\r\n\r\n btnClickReceived(event) {\r\n if (event == \"ExpandSoftwareLicense\" || event == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(event);\r\n } else {\r\n if (event.btnName == 'addContact') {\r\n this.addContact();\r\n } else if (event.btnName == 'AccountInfo') {\r\n this.AccountInfo();\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n this.openAccountNotes();\r\n }\r\n }\r\n\r\n }\r\n AccountInfo() {\r\n localStorage.setItem('RhxAccountVal', (this.account.id).toString());\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/account/Accounts`);\r\n SO.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n\r\n }, 100));\r\n }, 50));\r\n\r\n }\r\n openAccountNotes() {\r\n this.isModal = true;\r\n this.conid = this.account.id;\r\n this.typ = 'Account';\r\n this.notesshowDialog = true;\r\n this.NotesDialogCss();\r\n\r\n }\r\n\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('#notesshowDialog .dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n addContact() {\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Contacts\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.clear();\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n //this.contactId = 0;\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n LoadAccountInformation(AccountContactId, accountconType) {\r\n \r\n var AccConId = 0;\r\n if (accountconType == 'Account') {\r\n AccConId = AccountContactId;\r\n this.customerService.GetByAccountId(AccConId).then(result => {\r\n this.account = result;\r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n this.getProjectFields();\r\n });\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.ProvidenceIsland);\r\n //this.AccountsharingAg('Edit');\r\n if (this.Project && this.Project.ProjectID > 0) {\r\n $(\"#ProjectTypeId\").prop(\"disabled\", true);\r\n\r\n }\r\n });\r\n } else {\r\n this.customerService.LoadContactById(AccountContactId).then(result => {\r\n AccConId = result.accountid;\r\n this.customerService.GetByAccountId(AccConId).then(result => {\r\n this.account = result;\r\n this.customerService.GetAccountHistoryById(this.account.id, this.currentuser.id).then(result => {\r\n if (result != null) {\r\n this.accountHistory = result;\r\n }\r\n this.getProjectFields();\r\n });\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.ProvidenceIsland);\r\n //this.AccountsharingAg('Edit');\r\n if (this.Project && this.Project.ProjectID > 0) {\r\n $(\"#ProjectTypeId\").prop(\"disabled\", true);\r\n\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n }\r\n dialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 32%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 23%;overflow: visible;height: 24%;');\r\n }, 4));\r\n }\r\n AccountsharingAg(selectedval) {\r\n if (this.practiceid == \"view\") {\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n\r\n if (selectedval == \"EditAccount\") {\r\n this.customerService.getAccountPermission(this.account.id, this.currentuser.id).then(perresult => {\r\n this.account.isAccountPermission = perresult;\r\n if (perresult == 'View') {\r\n this.showAddEditAccount = false;\r\n this.applicationComponent.isAccessDenied = true;\r\n this.dialogCss();\r\n } else {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n\r\n });\r\n\r\n }\r\n else if (selectedval == \"View\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else {\r\n this.isSharing = true;\r\n this.isSharingCss();\r\n this.rightMainDivHideShow = false;\r\n this.accountSharingid = 1;\r\n this.AddContacttableDiv = false;\r\n //if (this.isSharing) {\r\n // this.ownrshipComp.loadAccountInformation(this.account.id, 0);\r\n //}\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n\r\n isSharingCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 35%;padding-bottom: 0px;border: 1px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 82.5%;padding: 0;top: 10%;left: 63%;');\r\n }, 4)\r\n\r\n }\r\n\r\n getProjectFields() {\r\n this.customerService.GetProjectFields(this.currentuser.id).then(result => {\r\n this.ProjectFieldsList = result;\r\n result.forEach(ele => {\r\n if (ele.DataType == 'Pick List' || ele.DataType == 'System Lookup') {\r\n if (ele.FieldName == 'ProjectLeaderId' || ele.FieldName == 'Trainer1' || ele.FieldName == 'Trainer2' || ele.FieldName == 'UserAccess') {\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 0, 0).then((Owner) => {\r\n ele['Data'] = Owner;\r\n this.dropdownList = Owner;\r\n });\r\n }\r\n\r\n else if (ele.FieldName == \"ProjectStatus\") {\r\n this.customerService.GetProjectPickListData(ele.ProjectFieldId, ele.FieldName, this.currentuser.id).then((accounttype) => {\r\n ele['Data'] = accounttype;\r\n if (this.Project.ProjectID == undefined) {\r\n ele['Data'] = accounttype.filter(x => x.DataId !== 25);\r\n } else { ele['Data'] = accounttype; }\r\n if (this.Project.ProjectID != undefined) {\r\n this.customerService.getProjectStatus(this.Project.ProjectID).then(res => {\r\n if (res) {\r\n \r\n Object.keys(res).forEach(function (key) {\r\n if ((res[key] == null || res[key] == undefined) || ((res[key] && typeof (res[key]) !== \"number\") && (res[key].includes('Open') || res[key].includes('In-Progress')))) {\r\n ele['Data'] = accounttype;\r\n }\r\n });\r\n } else {\r\n ele['Data'] = accounttype;\r\n }\r\n\r\n\r\n });\r\n }\r\n });\r\n\r\n\r\n }\r\n else {\r\n this.customerService.GetProjectPickListData(ele.ProjectFieldId, ele.FieldName, this.currentuser.id).then((accounttype) => {\r\n ele['Data'] = accounttype;\r\n \r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n let So = this;\r\n setTimeout(function () {\r\n So.Fields = result;\r\n So.Fields.forEach(x => {\r\n So.NewForm.addControl(x.FieldName, new FormControl(''));\r\n\r\n });\r\n\r\n setTimeout(function () {\r\n if (So.Project && So.Project.ProjectID > 0) {\r\n $(\"#ProjectTypeId\").prop(\"disabled\", true);\r\n\r\n }\r\n }, 300)\r\n\r\n\r\n }, 400)\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n PickListSortByType(value, data) {\r\n\r\n var DuplicateFiledDataList = [];\r\n if (value == 'SortOrder') {\r\n\r\n DuplicateFiledDataList = data.sort((a, b) => a.Sortorder - b.Sortorder);\r\n return DuplicateFiledDataList;\r\n } else if (value == 'FieldName') {\r\n DuplicateFiledDataList = data.sort((a, b) => a.itemName.localeCompare(b.itemName));\r\n return DuplicateFiledDataList;\r\n }\r\n }\r\n\r\n\r\n\r\n createColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'CreatedDate', headerName: 'CreatedDate', hide: false },\r\n { field: 'ProjectTypeName', headerName: 'ProjectTypeId', hide: false },\r\n { field: 'ProjectStatusName', headerName: 'ProjectStatus', hide: false },\r\n { field: 'AccountOrContactId', headerName: 'AccountOrContactId', hide: false },\r\n { field: 'TargetGoLiveDate', headerName: 'TargetGoLiveDate', hide: false },\r\n { field: 'NumberofTrainers', headerName: '# Trainers', hide: false },\r\n { field: 'OnsiteDateStatus1Name', headerName: 'OnsiteDateStatus1', hide: false },\r\n { field: 'OnsiteTrainingDate1From', headerName: 'OnsiteTrainingDate1', hide: false },\r\n { field: 'OnsiteTrainingDate1To', headerName: 'OnsiteTrainingDate1', hide: false },\r\n { field: 'OnsiteTrainingDate2From', headerName: 'OnsiteTrainingDate2', hide: false },\r\n { field: 'OnsiteTrainingDate2To', headerName: 'OnsiteTrainingDate2', hide: false },\r\n { field: 'OnsiteTrainingHours', headerName: 'OnsiteTrainingHours', hide: false },\r\n { field: 'PickListEditable', headerName: 'Pick List Editable', hide: false },\r\n { field: 'ProjectLeaderName', headerName: 'ProjectLeaderId', hide: false },\r\n { field: 'OnsiteTrainingName', headerName: 'OnsiteTraining', hide: false },\r\n { field: 'RemoteTrainingName', headerName: 'RemoteTraining', hide: false },\r\n { field: 'RemoteTrainingDate1From', headerName: 'RemoteTrainingDate1', hide: false },\r\n { field: 'RemoteTrainingDate1To', headerName: 'RemoteTrainingDate1', hide: false },\r\n { field: 'RemoteDateStatus1Name', headerName: 'RemoteDateStatus1', hide: false },\r\n { field: 'RemoteTrainingDate2From', headerName: 'RemoteTrainingDate2', hide: false },\r\n { field: 'RemoteTrainingDate2To', headerName: 'RemoteTrainingDate2', hide: false },\r\n { field: 'RemoteDateStatus2Name', headerName: 'RemoteDateStatus2', hide: false },\r\n { field: 'RemoteTrainingHours', headerName: 'RemoteTrainingHours', hide: false },\r\n { field: 'Trainer1Name', headerName: 'Trainer1', hide: false },\r\n { field: 'Trainer2Name', headerName: 'Trainer2', hide: false },\r\n { field: 'UserAccessName', headerName: 'UserAccess', hide: false },\r\n { field: 'Notes', headerName: 'Notes', hide: false },\r\n //{\r\n // field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n // var eDiv = document.createElement('div');\r\n // if (params.data.isdeleted == 0 && params.data.TypeOfField == 'Custom') {\r\n // eDiv.innerHTML = '';\r\n // }\r\n // else if (params.data.isdeleted == 1 && params.data.TypeOfField == 'Custom') {\r\n // eDiv.innerHTML = '';\r\n // }\r\n\r\n // eDiv.addEventListener('click', function () {\r\n // params.data.isdeleted = 1;eted\r\n // //selfObj.SaveProjField(params.data);\r\n\r\n // });\r\n // return eDiv;\r\n // }\r\n //}\r\n ];\r\n }\r\n\r\n\r\n initializeAgGrid() {\r\n this.gridOptionsnotes = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n\r\n this.createColumnDefs(columnSelections);\r\n\r\n /* if (this.accountContactType == 'Account') {*/\r\n this.loadProjectsbyAccountId(this.accountContactId, this.accountContactType);\r\n this.loadProjectByProjectId(this.ProjectId);\r\n\r\n //} else {\r\n // this.customerService.LoadContactById(this.accountContactId).then(result => {\r\n // var AccId = result.accountid;\r\n // this.loadProjectsbyAccountId(AccId);\r\n // });\r\n //}\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n\r\n\r\n }\r\n loadProjectByProjectId(ProjectId: any) {\r\n this.customerService.GetProjectByProjectId(ProjectId).then(result => {\r\n this.Project = JSON.parse(result);\r\n this.ProjectStatusID = this.Project.ProjectStatus;\r\n this.projectTypeName = this.Project.ProjectTypeName;\r\n this.ProjectFormat();\r\n this.customerService.getProjectStages(this.currentuser.id).then(result => {\r\n \r\n this.Proj_Stages_List_by_ProjType = result.filter(x => x.ProjectTypeID == this.Project.ProjectTypeId);\r\n this.Proj_StagesCount = this.Proj_Stages_List_by_ProjType.length;\r\n });\r\n });\r\n }\r\n\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n let rowData = event.api.getSelectedNodes()[0].data;\r\n\r\n this.Project = rowData;\r\n this.ProjectStatusID = this.Project.ProjectStatus;\r\n var userAccesIds = this.Project.UserAccess.split(\",\");\r\n\r\n this.selectedItems = this.dropdownList.filter(function (item) {\r\n return userAccesIds.indexOf(item.id) === -1;\r\n });\r\n this.ProjectId = rowData.ProjectID;\r\n this.ProjectFormat();\r\n }\r\n } else {\r\n this.Project = new Projects()\r\n }\r\n }\r\n FieldChange(val, ColName) {\r\n\r\n }\r\n StatusChanged(val) {\r\n if (val == 25) {\r\n if (this.Proj_StagesCount == this.Project.StageAddedCount && this.Project.IncompleteStatusCount == 0 && val == 25) {\r\n this.Project.ProjectStatus = val;\r\n } else {\r\n alert(\"Please Complete all the stages Before Changing the status\");\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.Project.ProjectStatus = selfObj.ProjectStatusID;\r\n }, 50));\r\n\r\n }}\r\n else {\r\n this.Project.ProjectStatus = this.ProjectStatusID;\r\n }\r\n \r\n \r\n }\r\n\r\n FormDataEntered(val) {\r\n this.FormDataModified = true;\r\n }\r\n columnVisible(event) {\r\n //this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n //this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true) {\r\n\r\n }\r\n //this.saveConfiguration();\r\n }\r\n onAgGridReady(event) {\r\n this.gridApi = event.api;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 100));\r\n }\r\n autoSizeAll() {\r\n //var allColumnIds = [];\r\n //if (this.gridOptions && this.gridOptions.columnApi) {\r\n // this.gridOptions.columnApi.getAllColumns().forEach(function (column) {\r\n // allColumnIds.push(column.getColId());\r\n // });\r\n // this.gridOptions.columnApi.autoSizeColumns(allColumnIds, \"autosizeColumns\");\r\n //} \r\n }\r\n SaveProject() {\r\n if (this.Project.ProjectID == 0 || this.Project.ProjectID == undefined) {\r\n this.NewForm.addControl('UserId', new FormControl(this.currentuser.id));\r\n this.NewForm.addControl('AccountOrContactId', new FormControl(this.accountContactId));\r\n this.NewForm.addControl('AccountOrContactType', new FormControl(this.accountContactType));\r\n this.NewForm.addControl('isdeleted', new FormControl(0));\r\n var date = this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('CreatedDate', new FormControl(date));\r\n this.NewForm.controls['CreatedDate'].setValue(date);\r\n this.Project.AccountOrContactId = this.accountContactId;\r\n this.Project.UserId = this.currentuser.id;\r\n this.Project.AccountOrContactType = this.accountContactType;\r\n this.Project.isdeleted = 0;\r\n this.Project.CreatedDate = date;\r\n } else {\r\n var date = this.datePipe.transform(this.Project.CreatedDate, 'yyyy-MM-dd HH:mm:ss');\r\n //var targetdate = this.datePipe.transform(this.Project.TargetGoLiveDate, 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('CreatedDate', new FormControl(date));\r\n this.NewForm.controls['CreatedDate'].setValue(date);\r\n //this.NewForm.controls['TargetGoLiveDate'].setValue(targetdate);\r\n this.NewForm.addControl('AccountOrContactId', new FormControl(this.accountContactId));\r\n this.NewForm.controls['AccountOrContactId'].setValue(this.accountContactId);\r\n this.NewForm.addControl('AccountOrContactType', new FormControl(this.accountContactType));\r\n this.NewForm.addControl('isdeleted', new FormControl(this.Project.isdeleted));\r\n this.Project.AccountOrContactId = this.accountContactId;\r\n this.Project.UserId = this.currentuser.id;\r\n this.Project.AccountOrContactType = this.accountContactType;\r\n this.Project.isdeleted = 0;\r\n }\r\n this.SaveProjectDialog = true;\r\n this.applicationComponent.salesxcrmDialog('#SaveProjectDialog .dialog');\r\n \r\n }\r\n SaveProjectdata() { this.SaveForm();}\r\n SaveForm() {\r\n\r\n this.Project.fieldvalues = JSON.stringify(this.NewForm?.value);\r\n \r\n this.notedescription = this.Project.Notes;\r\n this.customerService.AddUpdateProject(this.Project).then(result => {\r\n this.loadProjectsbyAccountId(this.accountContactId, this.Project.AccountOrContactType); \r\n this.Project = new Projects();\r\n this.sendMsgEvent.emit(\"ProjectSaved :\" + result.ProjectID);\r\n this.toastr.success(\"Project saved successfully.\", \"ProjectSaved\", { timeOut: 600 });\r\n this.applicationComponent.pageViewed = '';\r\n this.showCreateProjectDialog = false;\r\n this.SaveProjectDialog = false;\r\n });\r\n }\r\n\r\n loadProjectsbyAccountId(AccountId, AccorContactType) {\r\n\r\n this.customerService.GetAllProjectsByAccountId(AccountId).then(res => {\r\n this.ProjectsList = res;\r\n if (this.ProjectsList.length > 0 && this.ProjectId > 0) {\r\n\r\n this.Project = this.ProjectsList.filter(x => x.ProjectID == this.ProjectId)[0];\r\n \r\n this.ProjectStatusID = this.Project.ProjectStatus;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 0, 0).then((Owner) => {\r\n this.dropdownList = Owner;\r\n var userAccesIds = this.Project.UserAccess.split(\",\");\r\n this.selectedItems = this.dropdownList.filter(function (item) {\r\n return userAccesIds.indexOf(item.id) === -1;\r\n });\r\n });\r\n\r\n this.SelectedProjectType = this.Project.ProjectTypeId;\r\n this.ProjectFormat();\r\n this.GetAllNotes(this.Project.ProjectID, 'Projects');\r\n } else {\r\n this.Project = new Projects();\r\n }\r\n\r\n\r\n if (this.Project && this.Project.ProjectID > 0) {\r\n $(\"#ProjectTypeId\").prop(\"disabled\", true);\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n }\r\n GetDropDownData() {\r\n\r\n this.customerService.GetProjectPickListData(1, 'Project Type', this.currentuser).then((accounttype) => {\r\n this.ProjectTypeList = accounttype;\r\n\r\n });\r\n\r\n this.customerService.getProjectStages(this.currentuser.id).then(result => {\r\n this.OriginalProjectStagesList = result;\r\n this.ProjectStagesList = result.filter(x => x.ProjectTypeID == this.SelectedProjectType);\r\n });\r\n }\r\n\r\n SaveNote(ProjectId) {\r\n\r\n this.notes.accountid = ProjectId;\r\n this.notes.type = 'Projects';\r\n this.notes.isnewnote = 1;\r\n this.notes.userid = this.currentuser.id;\r\n if (this.notedescription == null) {\r\n this.notedescription = $('.fr-element').html();;\r\n\r\n }\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>)/img, \"\");\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/gi, \"\");\r\n if (this.notes.notedescription != undefined && this.notes.notedescription != \"\") {\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.toastr.success(\"Notes saved successfully.\", \"Notes Saved\", { timeOut: 600 });\r\n $('.fr-element').empty();\r\n $('.fr-element').html(\"\");\r\n this.ShowAddNotesDiv = false;\r\n this.GetAllNotes(this.ProjectId, 'Projects');\r\n });\r\n }\r\n }\r\n public GetAllNotes(projectId, type) {\r\n\r\n this.allnotes = [];\r\n this.customerService.GetAllNotesList(this.currentuser.id, projectId, type).then((notes) => {\r\n notes.forEach(note => {\r\n note.created = this.datePipe.transform(note.created, \"MM-dd-yyyy\");\r\n });\r\n this.allnotes = notes;\r\n for (let note of this.allnotes) {\r\n if (note.isdocumentid != null && note.isdocumentid != \"\") {\r\n note.docList = note.isdocumentid.split(\",\");\r\n }\r\n }\r\n\r\n });\r\n }\r\n initializeAgGridNotes(val) {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n defaultToolPanel: 'none',\r\n };\r\n this.createColumnDefsnotes(val);\r\n\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(val, @Optional() isShowDetails: boolean = false) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'type', headerName: '', hide: true, width: 100, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', hide: false, tooltipField: 'notedescription', width: 250, cellStyle: { 'text-align': 'left' }, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.value && params.value.includes(\"Owner Changed\")) {\r\n eDiv.innerHTML = \"\";\r\n } else {\r\n eDiv.innerHTML = params.value;\r\n }\r\n\r\n\r\n eDiv.addEventListener('click', function () {\r\n //selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n { field: 'type', headerName: 'Type', cellClass: \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false },\r\n\r\n ];\r\n\r\n }\r\n notesChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.notesdata = rowEvent.api.getSelectedNodes()[0].data;\r\n this.NotesDec = true;\r\n }\r\n } else {\r\n this.notesdata = null;\r\n this.NotesDec = false;\r\n }\r\n\r\n }\r\n\r\n getProjectSteps() {\r\n this.customerService.getProjectSteps(this.currentuser.id).then(result => {\r\n this.ProjectStepsList = result;\r\n\r\n });\r\n }\r\n\r\n StageSelected(value, index) {\r\n this.SelectedStageIndex = index;\r\n\r\n this.customerService.getProjectStepsForStatus(this.ProjectId, value).then(result => {\r\n result.forEach(x => {\r\n x.ProjectId = this.ProjectId;\r\n if (x.ProjectStepCompleteDate !== \"0001-01-01T00:00:00\" && x.ProjectStepCompleteDate !== null && x.ProjectStepCompleteDate !== null) {\r\n x.ProjectStepCompleteDate = this.datePipe.transform(x.ProjectStepCompleteDate, \"yyyy-MM-dd\");\r\n } else {\r\n x.ProjectStepCompleteDate = null;\r\n x.ProjectStepStatus = \"Open\"; let that = this;\r\n \r\n }\r\n });\r\n\r\n this.ProjStepStatus = result;\r\n this.SelectedStageName = this.Proj_Stages_List_by_ProjType.filter(x => x.ProjectStageID == this.SelectedStage)[0].ProjectStageName;\r\n });\r\n\r\n }\r\n\r\n SaveStepsStatus() {\r\n this.customerService.AddUpdateProjectStepStatus(this.ProjStepStatus).then(result => {\r\n this.toastr.success(\"Project Step Status successfully.\", \"Project Step Status Saved\", { timeOut: 600 });\r\n this.sendMsgEvent.emit(\"ProjectStepSaved\");\r\n if (this.ProjStepStatus.length > 0) {\r\n this.Proj_Detail_Stage_Selected(this.ProjStepStatus[0].ProjectStageId.toString(), this.ProjStepStatus[0].ProjectStageId)\r\n }\r\n this.StepStatusButton = true;\r\n this.CancelStep();\r\n });\r\n }\r\n CancelStep() {\r\n this.showCreateProjectDialog = false;\r\n //this.SelectedStage = 0;\r\n }\r\n\r\n initilizeForecastGrid() {\r\n\r\n this.gridOptionsView = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.context = this;\r\n\r\n this.customerService.getAllForecastHeaders().then(res => {\r\n this.ForecastcreateColumnDefs(res);\r\n this.getForecastData();\r\n this.loadProjectByProjectId(this.ProjectId);\r\n });\r\n }\r\n\r\n\r\n ForecastcreateColumnDefs(columnSelections: string) {\r\n\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.ForecastViewcolumnDefs = [];\r\n this.ForecastViewcolumnDefs = [\r\n {\r\n headerName: '',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, headerClass: 'ProjForecastViewHeaders1'\r\n },\r\n //{\r\n // field: 'accountname', headerName: 'Account Name', hide: true, width: 150, rowGroup: true,\r\n // headerClass: 'ProjForecastViewHeaders',\r\n //},\r\n { field: 'Project_Type', headerName: 'Project Type', hide: true, width: 150, headerClass: 'ProjForecastViewHeaders', rowGroup: true, }\r\n\r\n ];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n\r\n if (columnSelectionsArray[i]) {\r\n this.ForecastViewcolumnDefs.push({\r\n field: columnSelectionsArray[i].replace(' ', '_'), headerName: columnSelectionsArray[i], hide: false, width: 150, headerClass: 'ProjForecastViewHeaders', cellStyle: function (params) {\r\n if (params.value && params.value.includes('Open')) {\r\n var st = { 'background-color': 'transparent', 'text-align': 'center' };\r\n return st;\r\n } else if (params.value && params.value.includes('Complete')) {\r\n var st = { 'background-color': '#badb98', 'text-align': 'center' };\r\n return st;\r\n } else if (params.value == 'In-Progress') {\r\n var st = { 'background-color': '#fdfdc9', 'text-align': 'center' };\r\n return st;\r\n }\r\n }, cellRenderer: function (params) {\r\n if (params.value != null) {\r\n let x = params.value.replace(\" \", \"
      \");\r\n return x;\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n\r\n onSelectionChangedForeCast(event) {\r\n\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n var rowdata = event.api.getSelectedNodes()[0];\r\n if (rowdata.data) {\r\n let rowData = event.api.getSelectedNodes()[0].data;\r\n this.accountContactId = rowData.accountorContactId;\r\n this.accountContactType = rowData.accountorContactType;\r\n this.ProjectId = rowData.ProjectId;\r\n /* if (this.accountContactType == 'Account') {*/\r\n this.loadProjectsbyAccountId(this.accountContactId, this.accountContactType)\r\n //} else {\r\n // // Need to work for Contacts\r\n //}\r\n\r\n\r\n } else {\r\n let accountId = event.api.getSelectedNodes()[0].allLeafChildren[0].data.accountorContactId;\r\n let accountOrContactType = event.api.getSelectedNodes()[0].allLeafChildren[0].data.accountorContactType;\r\n let ProjectId = event.api.getSelectedNodes()[0].allLeafChildren[0].data.ProjectId;\r\n this.accountContactId = accountId;\r\n this.accountContactType = accountOrContactType;\r\n this.ProjectId = ProjectId;\r\n /* if (this.accountContactType == 'Account') {*/\r\n this.loadProjectsbyAccountId(this.accountContactId, this.accountContactType)\r\n //} else {\r\n // // Need to work for Contacts\r\n //}\r\n }\r\n }\r\n\r\n }\r\n\r\n getForecastData() {\r\n this.customerService.getAllForecastData(this.currentuser.id).then(res => {\r\n this.ForecastDataObj = res.filter(x => x.ProjectId == this.ProjectId);\r\n \r\n });\r\n }\r\n \r\n onItemSelect(event) {\r\n var userlist = [];\r\n this.selectedItems.forEach(x => {\r\n userlist.push(x.id);\r\n });\r\n this.Project.UserAccess = userlist.join(\",\");\r\n }\r\n\r\n OnItemDeSelect(event) {\r\n var userlist = [];\r\n this.selectedItems.forEach(x => {\r\n userlist.push(x.id);\r\n });\r\n this.Project.UserAccess = userlist.join(\",\");\r\n\r\n }\r\n\r\n onSelectAll(event) {\r\n var userlist = [];\r\n this.selectedItems.forEach(x => {\r\n userlist.push(x.id);\r\n });\r\n this.Project.UserAccess = userlist.join(\",\");\r\n\r\n }\r\n\r\n onDeSelectAll(event) {\r\n var userlist = [];\r\n this.selectedItems.forEach(x => {\r\n userlist.push(x.id);\r\n });\r\n this.Project.UserAccess = userlist.join(\",\");\r\n }\r\n\r\n StepStatusChange(Step) {\r\n\r\n if (Step.ProjectStepStatus == \"Open\") {\r\n this.myForm.form.get('Status_' + Step.ProjectStepId).setValidators([Validators.required])\r\n this.myForm.form.get('Status_' + Step.ProjectStepId).updateValueAndValidity();\r\n\r\n if (this.myForm.form.get('Status_' + Step.ProjectStepId).value != null && this.myForm.form.get('Date_' + Step.ProjectStepId).value != null) {\r\n this.StepStatusButton = false;\r\n } else {\r\n this.StepStatusButton = true;\r\n }\r\n } else {\r\n this.myForm.form.get('Date_' + Step.ProjectStepId).setValidators([Validators.required])\r\n this.myForm.form.get('Date_' + Step.ProjectStepId).updateValueAndValidity();\r\n $('#Status_' + Step.ProjectStepId).attr('style', 'padding:0');\r\n if (this.myForm.form.get('Date_' + Step.ProjectStepId).value != null && this.myForm.form.get('Status_' + Step.ProjectStepId).value != null) {\r\n this.StepStatusButton = false;\r\n } else {\r\n this.StepStatusButton = true;\r\n }\r\n }\r\n\r\n }\r\n StepStatusDateChange(Step) {\r\n\r\n if (this.myForm.form.get('Date_' + Step.ProjectStepId).value != null && this.myForm.form.get('Status_' + Step.ProjectStepId).value != null) {\r\n this.StepStatusButton = false;\r\n }\r\n }\r\n ProjectTypeListChange() {\r\n this.ProjectStagesList = this.OriginalProjectStagesList.filter(x => x.ProjectTypeID == this.SelectedProjectType);\r\n this.SelectedStage = 0;\r\n this.SelectedStageName = \"Project Details\";\r\n }\r\n\r\n CloseCreateProject() {\r\n if (this.Project.ProjectID == null || this.Project.ProjectID == 0 || this.Project.ProjectID == undefined) {\r\n this.CloseCreateNewWarning = true;\r\n setTimeout(function () {\r\n $('#CloseCreateNewWarning .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n } else {\r\n this.showCreateProjectDialog = false;\r\n }\r\n this.applicationComponent.pageViewed = '';\r\n //this.loadProjectsbyAccountId(this.accountContactId, this.Project.AccountOrContactType);\r\n }\r\n OpenEditProject() {\r\n debugger;\r\n var UserAccessIds = [];\r\n if (this.Project.UserAccess != \"\") {\r\n UserAccessIds = this.Project.UserAccess.split(\",\");\r\n }\r\n if (this.currentuser.id == this.Project.UserId || UserAccessIds.includes(this.currentuser.id.toString())) {\r\n this.showCreateProjectDialog = true;\r\n this.showCreateProjectDialogCss();\r\n this.customerService.GetProjectByProjectId(this.ProjectId).then(result => {\r\n this.Project = JSON.parse(result);\r\n this.ProjectStatusID = this.Project.ProjectStatus;\r\n //this.showCreateProjectDialog = true;\r\n //this.showCreateProjectDialogCss();\r\n // this.ProjectFormat(); \r\n });\r\n } else {\r\n alert(\"Dont Have Access to Edit\")\r\n }\r\n\r\n }\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n\r\n }\r\n onCloseEventReceived(msg) {\r\n this.rightMainDivHideShow = true;\r\n\r\n if (msg == 'AccountEdit') {\r\n this.isSharing = false;\r\n //this.EditAccountFormDiv = true;\r\n //this.editAccount(this.account.id);\r\n }\r\n else if (msg == 'ContactEdit') {\r\n this.isSharing = false;\r\n //this.LoadContactEdit(this.contactSharingid);\r\n\r\n }\r\n else {\r\n this.isSharing = false;\r\n //this.EditAccountFormDiv = false;\r\n //this.AccountotherDetailsDiv = true;\r\n //this.GetAllProviderAndContactInfo(this.account.id);\r\n this.accdetailcmp.loadAccountId(this.account.id);\r\n }\r\n\r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n //this.AccountData('show' + msg.split('~')[1]);\r\n this.showAddEditAccount = false;\r\n this.showAddEditContact = false;\r\n //this.AccountData(this.account.id);\r\n }\r\n }\r\n\r\n CloseProposalPage(msg) {\r\n this.ReceiveEvent(\"CloseAddAccountDialog~\" + this.account.id);\r\n }\r\n onCloseDialogEventReceived(msg) {\r\n\r\n if (msg == 'false') {\r\n this.notesshowDialog = false;\r\n this.isModal = false;\r\n this.ShowPDF = false;\r\n }\r\n }\r\n\r\n ExpandPDF(val) {\r\n\r\n this.notesshowDialog = true;\r\n this.QuickViewDialogCss(val);\r\n this.DocExpandView = val;\r\n }\r\n QuickViewDialogCss(val) {\r\n if (val == true) { //expand\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n }\r\n\r\n Proj_Detail_Stage_Selected(value, index) {\r\n if (value == 0) {\r\n this.Project_OverView_Div = true;\r\n this.Project_Steps_Div = false;\r\n } else {\r\n this.Project_Steps_Div = true;\r\n this.Project_OverView_Div = false;\r\n this.StageSelected(value, index); \r\n this.customerService.getProjectStatus(this.ProjectId).then(result => {\r\n var ProjStage = this.Proj_Stages_List_by_ProjType.filter(x => x.ProjectStageID == value)[0].ProjectStageName;\r\n if (result != null) {\r\n this.Project_Stage_Status = result[ProjStage.replace(\" \", '_')];\r\n } else { this.Project_Stage_Status ='Open' }\r\n });\r\n\r\n }\r\n }\r\n}\r\n","

      \r\n
      \r\n

      \r\n Projects Fields\r\n\r\n

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

      \r\n Projects Fields Configuration\r\n\r\n

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
      Field NameType Of FieldData TypePick List
      Editable
      {{field.FieldName}}{{field.TypeOfField}}{{field.DataType}}{{field.PickListEditable}}
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
      Sort OrderPick List NameActions
      {{fieldData.DataId}}{{fieldData.SortOrder}}{{fieldData.itemName}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n

      \r\n Projects Stages\r\n\r\n

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

      \r\n Projects Steps\r\n\r\n

      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \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, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ProjectFields, ProjectStages, ProjectSteps } from '../../../models/ProjectConfiguration';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { GridOptions, ColumnUtils, ColumnApi, RowDragEndEvent } from \"ag-grid/main\";\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { debug } from 'console';\r\nimport { PickListModel, ProjectPickListModel } from '../../../models/PickListModel';\r\nimport { SystemRowConfiguration } from '../../../models/system-row-configuration';\r\nimport { LeadsComponent } from '../../leads/leads.component';\r\nimport { LeadsService } from '../../../services/leads.service';\r\nimport { DragulaService } from 'ng2-dragula';\r\nimport { Subscription } from 'rxjs';\r\nimport { UserService } from '../../../services/user.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-project-configuration',\r\n templateUrl: './project-configuration.component.html',\r\n styleUrls: ['./project-configuration.component.css']\r\n})\r\nexport class ProjectConfigurationComponent implements OnInit {\r\n @Input()\r\n SubMenuType: string = null;\r\n ProjectConfigMainDiv: boolean = true;\r\n ProjectFieldsDiv: boolean = true;\r\n ProjectFieldsConfigDiv: boolean = false;\r\n ProjectStageDiv: boolean = false;\r\n ProjectStepsDiv: boolean = false;\r\n ProjectDivType: string = '';\r\n ProjectFields: ProjectFields = new ProjectFields();\r\n ShowProjectFieldForm: boolean = false;\r\n ShowProjectStageForm: boolean = false;\r\n ShowProjectStepsForm: boolean = false;\r\n ProjectFieldform: FormGroup;\r\n ProjectStageform: FormGroup;\r\n ProjectStepsform: FormGroup;\r\n DisableFields: boolean = false;\r\n currentuser: any;\r\n public gridOptionsView: GridOptions;\r\n public columnDefs;\r\n public sideBar;\r\n ProjectFieldsList: ProjectFields[] = [];\r\n DuplicateProjectFieldsList: ProjectFields[] = [];\r\n public gridConfigFeildsView: GridOptions;\r\n private gridApi;\r\n public PickListColumns: ProjectFields[] = [];\r\n public expanded: boolean = false;\r\n public ShowFieldItemTable: boolean = false;\r\n\r\n SelectedProjectFields: ProjectFields;\r\n FieldDataList: ProjectPickListModel[]= [];\r\n DuplicateFieldDataList: ProjectPickListModel[] = [];\r\n PickListIds = [];\r\n DeletePickListObj: ProjectPickListModel;\r\n documenttypeList = [];\r\n MappedAccounts = [];\r\n public DeleteMatchPopUp: boolean = false;\r\n PickListArray: ProjectPickListModel = new ProjectPickListModel();\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\r\n\r\n ProjectStage: ProjectStages = new ProjectStages();\r\n ProjectStagesList: ProjectStages[] = [];\r\n DuplicateProjectStagesList: ProjectStages[] = [];\r\n DisableStageFields: boolean = false;\r\n ProjectTypeList: ProjectPickListModel[] = [];\r\n\r\n ProjectSteps: ProjectSteps = new ProjectSteps();\r\n ProjectStepsList: ProjectSteps[] = [];\r\n OriginalProjectStepsList: ProjectSteps[] = [];\r\n StagesList: ProjectStages[] = [];\r\n\r\n selectedProjectType = 0;\r\n selectedProjectType1 = 0;\r\n selectedProjectStage = 0;\r\n subs = new Subscription();\r\n public ConfigFeildscolumnDefs;\r\n constructor(public applicationComponent: ApplicationComponent, private customerService: CustomerService, private toastr: ToastrService, private leadsService: LeadsService, private dragulaService: DragulaService, private userService: UserService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n\r\n this.subs.add(this.dragulaService.drop(\"ProposalFields-bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n\r\n this.CategoryOrder();\r\n\r\n\r\n })\r\n );\r\n }\r\n\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n }\r\n ngOnInit(): void {\r\n this.AccessDiv(\"Fields\");\r\n }\r\n initializeAgGridConfigFeild() {\r\n this.gridConfigFeildsView = {\r\n enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createdConfigFeildsColumnDefs(\"\");\r\n }\r\n createdConfigFeildsColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.ConfigFeildscolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, rowDrag: true\r\n },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false },\r\n\r\n { field: 'itemName', headerName: 'Pick List Name', hide: false },\r\n\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n\r\n eDiv.innerHTML = '';\r\n\r\n eDiv.addEventListener('click', function () {\r\n selfObj.DeletePickList(params.data, 'Accounts');\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n\r\n onConfigFeildsRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(this.SelectedProjectFields.ProjectFieldId);\r\n }\r\n AccessDiv(type) {\r\n\r\n if (type == \"Fields\") {\r\n this.ProjectConfigMainDiv = false;\r\n this.ProjectFieldsDiv = true;\r\n this.ProjectFieldsConfigDiv = false;\r\n this.ProjectStageDiv = false;\r\n this.ProjectStepsDiv = false;\r\n this.ProjectDivType = 'Projects Fields';\r\n this.getProjectFields();\r\n }\r\n else if (type == \"Config\") {\r\n this.ProjectConfigMainDiv = false;\r\n this.ProjectFieldsDiv = false;\r\n this.ProjectFieldsConfigDiv = true;\r\n this.ProjectStageDiv = false;\r\n this.ProjectStepsDiv = false;\r\n this.ProjectDivType = 'Projects Fields Configuration';\r\n this.getProjectFields();\r\n\r\n }\r\n else if (type == \"Stages\") {\r\n this.ProjectConfigMainDiv = false;\r\n this.ProjectFieldsDiv = false;\r\n this.ProjectFieldsConfigDiv = false;\r\n this.ProjectStageDiv = true;\r\n this.ProjectStepsDiv = false;\r\n this.ProjectDivType = 'Projects Stages';\r\n\r\n this.getProjectTypes();\r\n this.getProjectStages();\r\n }\r\n else if (type == \"Steps\") {\r\n this.ProjectConfigMainDiv = false;\r\n this.ProjectFieldsDiv = false;\r\n this.ProjectFieldsConfigDiv = false;\r\n this.ProjectStageDiv = false;\r\n this.ProjectStepsDiv = true;\r\n this.ProjectDivType = 'Projects Steps';\r\n\r\n this.getProjectTypes();\r\n this.getProjectStages();\r\n this.getProjectSteps();\r\n }\r\n else if (type == \"Main\") {\r\n this.ProjectConfigMainDiv = true;\r\n this.ProjectFieldsDiv = false;\r\n this.ProjectFieldsConfigDiv = false;\r\n this.ProjectStageDiv = false;\r\n this.ProjectStepsDiv = false;\r\n\r\n this.ShowProjectFieldForm = false;\r\n this.ShowFieldItemTable = false;\r\n this.ShowProjectStageForm = false;\r\n this.ShowProjectStepsForm = false;\r\n this.ProjectStepsList = this.OriginalProjectStepsList = [];\r\n this.selectedProjectStage = this.selectedProjectType = 0;\r\n \r\n }\r\n\r\n }\r\n\r\n ShowFieldForm(type) {\r\n if (type == 'Fields') {\r\n this.ShowProjectFieldForm = true;\r\n }\r\n else if (type == 'Stages') {\r\n this.ShowProjectStageForm = true;\r\n }\r\n else if (type == 'Steps') {\r\n this.ShowProjectStepsForm = true;\r\n }\r\n }\r\n FilterByTypeOfField(event) {\r\n this.DuplicateProjectFieldsList = [];\r\n if (event.target.value == 2) {\r\n this.DuplicateProjectFieldsList = this.ProjectFieldsList.filter(x => x.TypeOfField == 'Standard');\r\n } else if (event.target.value == 3) {\r\n this.DuplicateProjectFieldsList = this.ProjectFieldsList.filter(x => x.TypeOfField == 'Custom');\r\n } else {\r\n this.DuplicateProjectFieldsList = this.ProjectFieldsList;\r\n }\r\n }\r\n\r\n // Project Field Starts \r\n SortByType(event) {\r\n this.DuplicateProjectFieldsList = [];\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (event.target.value == 1) {\r\n selfObj.DuplicateProjectFieldsList = selfObj.ProjectFieldsList.sort((a, b) => Number(a.SortOrder) - Number(b.SortOrder));\r\n } else if (event.target.value == 2) {\r\n var data = selfObj.ProjectFieldsList;\r\n data = data.sort((a, b) => a.FieldName.localeCompare(b.FieldName));\r\n selfObj.DuplicateProjectFieldsList = data;\r\n }\r\n }, 200))\r\n }\r\n getProjectFields() {\r\n this.initializeAgGrid('Fields');\r\n this.customerService.GetProjectFields(this.currentuser.id).then(result => {\r\n\r\n this.DuplicateProjectFieldsList = this.ProjectFieldsList = result;\r\n });\r\n }\r\n initializeAgGrid(Type) {\r\n this.gridOptionsView = {\r\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, rowSelection: 'single',\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true, animateRows: true, rowDragMultiRow: true, suppressMoveWhenRowDragging: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n if (Type == 'Fields') {\r\n this.createColumnDefs(\"\");\r\n } else if (Type == 'Stages') {\r\n this.createStageColumnDefs(\"\");\r\n } else if (Type == 'Steps') {\r\n this.createStepsColumnDefs(\"\");\r\n }\r\n \r\n }\r\n createColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, rowDrag: true\r\n },\r\n { field: 'FieldName', headerName: 'Field Name', hide: false },\r\n { field: 'TableName', headerName: 'Table Name', hide: true },\r\n { field: 'TypeOfField', headerName: 'Type Of Field', hide: false },\r\n { field: 'DisplayAs', headerName: 'Display As', hide: false },\r\n { field: 'RequiredField', headerName: 'Required Field', hide: false },\r\n { field: 'DataType', headerName: 'Data Type', hide: false },\r\n { field: 'PickListEditable', headerName: 'Pick List Editable', hide: false },\r\n { field: 'DataFormat', headerName: 'Data Format', hide: false },\r\n { field: 'MaxLimit', headerName: 'Max Limit', hide: false },\r\n { field: 'Description', headerName: 'Description', hide: false },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false },\r\n //{ field: 'action', headerName: 'Action', hide: false },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted == 0 && params.data.TypeOfField == 'Custom') {\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n params.data.isdeleted = 1;\r\n selfObj.SaveProjField(params.data);\r\n\r\n });\r\n return eDiv;\r\n }\r\n else if (params.data.isdeleted == 1 && params.data.TypeOfField == 'Custom') {\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n params.data.isdeleted = 0;\r\n selfObj.SaveProjField(params.data);\r\n\r\n });\r\n return eDiv;\r\n }\r\n\r\n \r\n }\r\n }\r\n ];\r\n }\r\n onSelectionChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.ProjectFields = rowEvent.api.getSelectedNodes()[0].data;\r\n this.ProjectFields.OldFname = rowEvent.api.getSelectedNodes()[0].data.FieldName;\r\n this.ShowFieldForm('Fields');\r\n }\r\n }\r\n }\r\n\r\n SaveProjectField(type) {\r\n if (type == 'Fields') {\r\n this.ProjectFields.Userid = this.currentuser.id;\r\n this.ProjectFields.isdeleted = 0;\r\n this.SaveProjField(this.ProjectFields);\r\n } else if (type == 'Stages') {\r\n this.ProjectStage.UserId = this.currentuser.id;\r\n this.ProjectStage.isdeleted = 0;\r\n this.SaveProjectStage(this.ProjectStage);\r\n } else if (type == 'Steps') {\r\n this.ProjectSteps.UserId = this.currentuser.id;\r\n this.ProjectSteps.isdeleted = 0;\r\n this.SaveProjectSteps(this.ProjectSteps);\r\n }\r\n \r\n }\r\n\r\n SaveProjField(ProjectField) {\r\n this.customerService.SaveProjectField(ProjectField).then(result => {\r\n this.ProjectFields = new ProjectFields();\r\n this.toastr.success(\"Project Fields Saved Successfully.\", \"Project Fields\", { timeOut: 600 });\r\n this.getProjectFields();\r\n this.ShowProjectFieldForm = false;\r\n });\r\n }\r\n // Project Field Ends\r\n\r\n // Project Field Configuration Starts\r\n\r\n showCheckboxes() {\r\n this.PickListColumns = [];\r\n \r\n var checkboxes = document.getElementById(\"checkboxes\");\r\n if (!this.expanded) {\r\n checkboxes.style.display = \"block\";\r\n this.expanded = true;\r\n this.PickListColumns = this.ProjectFieldsList.filter(x => x.DataType == 'Pick List' && x.isdeleted == 0);\r\n } else {\r\n checkboxes.style.display = \"none\";\r\n this.expanded = false;\r\n }\r\n\r\n }\r\n onCheckboxChange(field,event) {\r\n if (event.target.checked == true) {\r\n $('.FieldCheckBox').prop('checked', false);\r\n $('#chkBox' + field.ProjectFieldId).prop('checked', true);\r\n this.SelectedProjectFields = field;\r\n this.customerService.GetProjectPickListData(this.SelectedProjectFields.ProjectFieldId, this.SelectedProjectFields.FieldName, this.currentuser.id).then((accounttype) => {\r\n this.FieldDataList = accounttype;\r\n this.DuplicateFieldDataList = accounttype;\r\n if (this.SelectedProjectFields.ProjectFieldId != 0) {\r\n this.ShowFieldItemTable = true;\r\n this.PickListSortByType(this.SelectedProjectFields.FieldDataOrderBy);\r\n this.initializeAgGridConfigFeild();\r\n } else {\r\n this.ShowFieldItemTable = false;\r\n }\r\n });\r\n\r\n\r\n }\r\n }\r\n PickListSortByType(value) {\r\n this.DuplicateFieldDataList = [];\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (value == 'SortOrder') {\r\n selfObj.DuplicateFieldDataList = selfObj.FieldDataList.sort((a, b) => a.SortOrder - b.SortOrder);\r\n } else if (value == 'FieldName') {\r\n var data = selfObj.FieldDataList;\r\n data = data.sort((a, b) => a.itemName.localeCompare(b.itemName));\r\n selfObj.DuplicateFieldDataList = data;\r\n }\r\n }, 100));\r\n this.SaveFieldDataOrderBy(value)\r\n }\r\n onConfigFeildsAgGridReady(event) {\r\n this.gridApi = event.api;\r\n }\r\n SaveFieldDataOrderBy(value) {\r\n this.customerService.SaveProjectFieldDataOrderBy(this.SelectedProjectFields.ProjectFieldId, value).then(mappedAccounts => {\r\n\r\n });\r\n }\r\n AddNewFieldData(id, val) {\r\n if (val == 'Add') {\r\n var toDoEmpty: ProjectPickListModel = ({ DataId: 0, ProjectFieldId: 0, isdeleted: 0, SortOrder: 0, itemName: '', Category: '' })\r\n this.FieldDataList.push(toDoEmpty);\r\n $(setTimeout(function () {\r\n $('#PickListSortOrder' + id).attr('contenteditable', \"true\")\r\n $('#PickListName' + id).attr('contenteditable', \"true\")\r\n $('#PickListRow' + id).attr('style', \"background-color:#b7e4ff\");\r\n }, 200));\r\n }\r\n \r\n\r\n }\r\n keyupPickList(val) {\r\n if ((this.PickListIds.filter(f => f.Index == val)).length == 0) {\r\n this.PickListIds.push({ Index: val });\r\n }\r\n\r\n }\r\n DeletePickList(val, Type) {\r\n this.DeletePickListObj = val;\r\n this.documenttypeList = [];\r\n if (this.PickListColumns.filter(x => x.ProjectFieldId == val.ProjectFieldId)[0].PickListEditable == 'Yes') {\r\n this.DeletePickListObj.isdeleted = 1;\r\n this.SaveData(this.DeletePickListObj);\r\n\r\n }\r\n \r\n }\r\n DeleteMatchPopUpCss() {\r\n setTimeout(function () {\r\n $('#DeleteMatchPopUp .dialog').attr('style', 'width: 45%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 81%;overflow: auto;height: 81%;top: 11%;left: 53%;');\r\n }, 4);\r\n }\r\n Confirmation(val) {\r\n this.DeleteMatchPopUp = false;\r\n }\r\n SaveData(PickListArray) {\r\n this.customerService.SaveProjectPickList(PickListArray).then(result => {\r\n this.toastr.success(\"Saved Successfully.\", \"Pick List\", { timeOut: 600 });\r\n this.customerService.GetProjectPickListData(this.SelectedProjectFields.ProjectFieldId, this.SelectedProjectFields.FieldName,this.currentuser.id).then((accounttype) => {\r\n this.FieldDataList = accounttype;\r\n this.DuplicateFieldDataList = accounttype;\r\n this.PickListIds = [];\r\n });\r\n });\r\n }\r\n PickListRowClick(row, type) {\r\n \r\n if (this.PickListColumns.filter(x => x.ProjectFieldId == row.ProjectFieldId)[0].PickListEditable == 'Yes') {\r\n $(setTimeout(function () {\r\n $('#PickListSortOrder' + row.DataId).attr('contenteditable', \"true\")\r\n $('#PickListName' + row.DataId).attr('contenteditable', \"true\")\r\n $('#PickListRow' + row.DataId).attr('style', \"background-color:#b7e4ff\");\r\n }, 200));\r\n }\r\n \r\n\r\n }\r\n SavePickListData() {\r\n\r\n if (this.PickListIds.length > 0) {\r\n this.PickListArray = new ProjectPickListModel();\r\n \r\n this.PickListIds.forEach(id => {\r\n\r\n this.PickListArray.DataId = parseInt($('#PickListID' + id.Index).html());\r\n this.PickListArray.SortOrder = parseInt($('#PickListSortOrder' + id.Index).html());\r\n this.PickListArray.itemName = $('#PickListName' + id.Index).html();\r\n this.PickListArray.isdeleted = 0;\r\n this.PickListArray.ProjectFieldId = this.SelectedProjectFields.ProjectFieldId;\r\n this.PickListArray.Category = this.PickListColumns.filter(x => x.ProjectFieldId == this.SelectedProjectFields.ProjectFieldId)[0].FieldName;\r\n });\r\n this.SaveData(this.PickListArray);\r\n\r\n }\r\n\r\n }\r\n // Project Field Configuration Ends\r\n\r\n // Project Stage Starts\r\n getProjectTypes() {\r\n this.customerService.GetProjectPickListData(1, 'Project Type', this.currentuser.id).then((accounttype) => {\r\n this.ProjectTypeList = accounttype;\r\n \r\n });\r\n }\r\n\r\n ProjectTyperSelect(value) {\r\n this.ProjectStage.ProjectTypeID = value;\r\n if (value !== 0) {\r\n this.ProjectStage.ProjectTypeName = this.ProjectTypeList.find(x => x.DataId == value).itemName;\r\n\r\n this.DuplicateProjectStagesList = this.ProjectStagesList.filter(x => x.ProjectTypeID == value);\r\n } else {\r\n this.DuplicateProjectStagesList = this.ProjectStagesList;\r\n }\r\n }\r\n SaveProjectStage(ProjStage: ProjectStages) {\r\n this.customerService.SaveProjectStage(ProjStage).then(result => {\r\n this.ProjectStage = new ProjectStages();\r\n this.toastr.success(\"Project Stage Saved Successfully.\", \"Project Stage\", { timeOut: 600 });\r\n this.getProjectStages();\r\n this.getProjectTypes();\r\n this.ShowProjectStageForm = false;\r\n });\r\n }\r\n\r\n getProjectStages() {\r\n this.initializeAgGrid('Stages');\r\n this.customerService.getProjectStages(this.currentuser.id).then(result => {\r\n this.ProjectStagesList = result;\r\n //this.DuplicateProjectStagesList = result;\r\n this.ProjectTyperSelect(this.selectedProjectType1)\r\n });\r\n }\r\n createStageColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, rowDrag: true\r\n },\r\n { field: 'ProjectStageName', headerName: 'Stage Name', hide: false },\r\n { field: 'ProjectTypeName', headerName: 'Projectr Type Name', hide: false },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false },\r\n { field: 'createdDate', headerName: 'Created Date', hide: false },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted == 0) {\r\n eDiv.innerHTML = '';\r\n }\r\n else if (params.data.isdeleted == 1) {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n params.data.isdeleted = 1;\r\n selfObj.SaveProjectStage(params.data);\r\n\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n onStageSelectionChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.ProjectStage = rowEvent.api.getSelectedNodes()[0].data;\r\n //this.ProjectStage.ProjectTypeName = this.ProjectTypeList.find(x => x.DataId == this.ProjectStage.ProjectTypeID).itemName;\r\n\r\n this.ShowFieldForm('Stages');\r\n }\r\n }\r\n }\r\n SaveProjectSteps(ProjectStep) {\r\n this.customerService.SaveProjectSteps(ProjectStep).then(result => {\r\n this.ProjectSteps = new ProjectSteps();\r\n this.toastr.success(\"Project Steps Saved Successfully.\", \"Project Steps\", { timeOut: 600 });\r\n this.ProjectSteps.ProjectStageName = ProjectStep.ProjectStageName;\r\n this.ProjectSteps.ProjectStageId = ProjectStep.ProjectStageId;\r\n this.ShowProjectStepsForm = false;\r\n this.getProjectSteps();\r\n });\r\n }\r\n ProjectTypeSelect2(event) {\r\n this.ProjectSteps.ProjectTypeID = event.target.value;\r\n this.ProjectSteps.ProjectTypeName = this.ProjectTypeList.find(x => x.DataId == event.target.value).itemName;\r\n \r\n this.ProjectStepsList = this.OriginalProjectStepsList = [];\r\n this.GetProjStagesByProjTypeID(this.ProjectSteps.ProjectTypeID);\r\n }\r\n GetProjStagesByProjTypeID(typeId) {\r\n this.customerService.getProjStagesByTypeID(typeId).then(result => {\r\n this.StagesList = result;\r\n });\r\n }\r\n\r\n ProjectStageSelected(event) {\r\n this.customerService.getProjectSteps(this.currentuser.id).then(result => {\r\n this.OriginalProjectStepsList = this.ProjectStepsList = result;\r\n this.ProjectSteps.ProjectStageId = event.target.value;\r\n this.ProjectSteps.ProjectStageName = this.StagesList.find(x => x.ProjectStageID == event.target.value).ProjectStageName;\r\n this.ProjectStepsList = this.OriginalProjectStepsList.filter(x => x.ProjectStageId == event.target.value);\r\n });\r\n \r\n }\r\n\r\n\r\n getProjectSteps() {\r\n this.initializeAgGrid('Steps');\r\n this.customerService.getProjectSteps(this.currentuser.id).then(result => {\r\n this.OriginalProjectStepsList = this.ProjectStepsList = result;\r\n if (this.selectedProjectType != 0 && this.selectedProjectStage != 0) {\r\n this.ProjectStepsList = this.OriginalProjectStepsList.filter(x => (x.ProjectStageId == this.selectedProjectStage) && (x.ProjectTypeID == this.selectedProjectType));\r\n }\r\n });\r\n }\r\n\r\n createStepsColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, rowDrag: true\r\n },\r\n { field: 'ProjectStepName', headerName: 'Step Name', hide: false },\r\n { field: 'ProjectTypeName', headerName: 'Type Name ', hide: false },\r\n { field: 'ProjectStageName', headerName: 'Stage Name ', hide: false },\r\n { field: 'Description', headerName: 'Description', hide: false },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false },\r\n { field: 'Status1', headerName: 'Status 1', hide: false },\r\n { field: 'Status2', headerName: 'Status 2', hide: false },\r\n { field: 'Status3', headerName: 'Status 3', hide: false },\r\n { field: 'Status4', headerName: 'Status 4', hide: false },\r\n { field: 'Status5', headerName: 'Status 1', hide: false },\r\n { field: 'createdDate', headerName: 'Created Date', hide: false },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.isdeleted == 0) {\r\n eDiv.innerHTML = '';\r\n }\r\n else if (params.data.isdeleted == 1) {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n params.data.isdeleted = 1;\r\n selfObj.SaveProjectSteps(params.data);\r\n\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n\r\n onStepsSelectionChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.ProjectSteps = rowEvent.api.getSelectedNodes()[0].data;\r\n //this.ProjectStage.ProjectTypeName = this.ProjectTypeList.find(x => x.DataId == this.ProjectStage.ProjectTypeID).itemName;\r\n\r\n this.ShowFieldForm('Steps');\r\n }\r\n }\r\n }\r\n AddNewProjSteps() {\r\n this.ShowProjectStepsForm = true;\r\n if (this.selectedProjectType != null && this.selectedProjectType != undefined) {\r\n this.ProjectSteps.ProjectTypeID = this.selectedProjectType;\r\n this.ProjectSteps.ProjectTypeName = this.ProjectTypeList.find(x => x.DataId == this.ProjectSteps.ProjectTypeID).itemName;\r\n this.ProjectSteps.ProjectStageName = this.StagesList.find(x => x.ProjectStageID == this.ProjectSteps.ProjectStageId).ProjectStageName;\r\n \r\n this.GetProjStagesByProjTypeID(this.ProjectSteps.ProjectTypeID);\r\n }\r\n }\r\n\r\n onAgGridReady(event) {\r\n this.gridOptionsView.api = event.api;\r\n }\r\n\r\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"ProjectFields\");\r\n }\r\n onAgGridReadyStages(event) {\r\n this.gridOptionsView.api = event.api;\r\n }\r\n\r\n onRowDragEndStages(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"ProjectStages\");\r\n }\r\n onAgGridReadySteps(event) {\r\n this.gridOptionsView.api = event.api;\r\n }\r\n\r\n onRowDragEndSteps(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"ProjectSteps\");\r\n }\r\n\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == \"ProjectFields\") {\r\n this.gridOptionsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.ProjectFieldId);\r\n });\r\n } else if (type == \"ProjectStages\") {\r\n this.gridOptionsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.ProjectStageID);\r\n });\r\n } else if (type == \"ProjectSteps\") {\r\n this.gridOptionsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.ProjectStepID);\r\n });\r\n } else {\r\n this.gridConfigFeildsView.api.forEachNode((node) => {\r\n sortoorder.push(node.data.DataId);\r\n });\r\n }\r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentuser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n });\r\n\r\n }\r\n\r\n CategoryOrder() {\r\n let TaskIdArr = [];\r\n $.each($(\"#\" + this.SelectedProjectFields.ColumnName + \" tr td:nth-child(2)\"), function (k, v) {\r\n var TaskIds = $.trim($(this).attr('id'));\r\n TaskIdArr.push(TaskIds.split('~')[1]);\r\n\r\n });\r\n this.userService.SaveConfigFieldDataSortOrder(TaskIdArr.join(','), this.SelectedProjectFields.FieldName, this.SelectedProjectFields.ProjectFieldId, this.currentuser.id).then(result => {\r\n this.toastr.success(\"Questions Re-Ordered Successfully.\", \" Questions\", { timeOut: 600 });\r\n });\r\n }\r\n}\r\n","
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      0 && accountContactId !== null && accountContactId !== undefined) && ShowProjectsGrid\">\r\n \r\n PROJECTS ({{DuplicateProjectsList.length}})\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n\r\n\r\n
      0\" [style.height.%]=\"(accountContactId <= 0 || accountContactId == null || accountContactId == undefined)? '92':'92'\">\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, ViewChild } from '@angular/core';\r\nimport { UserdataheaderComponent } from '../userdataheader/userdataheader.component';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment';\r\nimport { OutputPropsUserList } from '../../models/output-props-user-list';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { ProjectFields, ProjectForecastViewModel, Projects, ProjectStepStatusModel, ProjectStages } from '../../models/ProjectConfiguration';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { CreateProjectsComponent } from './create-projects/create-projects.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ProjectForecastData } from '../../models/ProjectForecastData';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-projects',\r\n templateUrl: './projects.component.html',\r\n styleUrls: ['./projects.component.css']\r\n})\r\nexport class ProjectsComponent implements OnInit {\r\n selectedItems = [];\r\n currentuser: any;\r\n accountContactId: number;\r\n accountOrContactType: string;\r\n ProjectId: number; ProjectTypeId: number;\r\n public gridOptionsView: GridOptions;\r\n public gridProjectForeCast: GridOptions;\r\n public ForecastgridOptions: GridOptions;\r\n public columnDefs;\r\n public sideBar;\r\n ExpandCreateProject: boolean = false;\r\n ProjectsList: Projects[] = [];\r\n DuplicateProjectsList: Projects[] = [];\r\n ProjectForecaslist: ProjectForecastData[] = [];\r\n public frameworkComponents;\r\n public context;\r\n ForecastView: boolean = false;\r\n DeleteConfirmation: boolean = false; EnableSearch: boolean = false; value = \"\";\r\n public ForecastViewcolumnDefs;\r\n public ProjectForecastViewcolumnDefs;\r\n public ViewType = 'Forecast View';\r\n private rowData: [];\r\n public rowHeight = 50;\r\n ShowProjectsGrid: boolean = true;\r\n ForecastList: ProjectForecastViewModel[]= [];\r\n ForecastDataObj: ProjectForecastViewModel[] = [];\r\n @ViewChild(CreateProjectsComponent) createProj;\r\n @ViewChild(UserdataheaderComponent) usrdataheadcomp;\r\n public gridApi;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n projectType: string = \"Projects\";\r\n Proj_Stages_List_by_ProjType: ProjectStages[] = [];\r\n SelectedProjType: number =0;\r\n SelectedProjStatus: string = \"Open\";\r\n constructor(public applicationComponent: ApplicationComponent, private route: ActivatedRoute, private customerservice: CustomerService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (this.applicationComponent.selectedItems != null && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.getSelectedUserList(this.currentuser.id);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n if (params) {\r\n this.accountContactId = (params['accId']) ? params['accId'] : this.accountContactId;\r\n this.ProjectId = (params['ProjectID']) ? params['ProjectID'] : this.ProjectId;\r\n this.accountOrContactType = (params['type']) ? params['type'] : this.accountOrContactType;\r\n }\r\n });\r\n this.applicationComponent.selectedbuttonText = \"Projects\";\r\n this.initializeAgGrid('');\r\n this.getAllProjects();\r\n }\r\n getSelectedUserList(val) {\r\n \r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu('Projects');\r\n }\r\n\r\n\r\n initializeAgGrid(Type) {\r\n this.gridOptionsView = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeletecvComponent,\r\n \r\n };\r\n this.createColumnDefs();\r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.Confirmation('Yes')\r\n }\r\n this.DeleteConfirmation = false;\r\n }\r\n createColumnDefs() {\r\n let selfObj = this;\r\n var searcharray = [];\r\n if (selfObj.gridOptionsView.quickFilterText != null && selfObj.gridOptionsView.quickFilterText != undefined && selfObj.gridOptionsView.quickFilterText != '') {\r\n searcharray.push(selfObj.gridOptionsView.quickFilterText);\r\n }\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'ProjectID', headerName: 'ProjectID', getQuickFilterText: () => '', hide: true },\r\n { field: 'CreatedDate', headerName: 'Date Created', getQuickFilterText: () => '', hide: false },\r\n {\r\n field: 'AccountName', headerName: 'AccountName', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(' ');\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \" \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'accPhone', headerName: 'Phone', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'ProjectTypeName', headerName: 'Project Type', getQuickFilterText: () => '', hide: false }, \r\n { field: 'ProjectStatusName', headerName: 'Project Status', getQuickFilterText: () => '', hide: false },\r\n { field: 'ProjectLeaderName', headerName: 'Project Leader', getQuickFilterText: () => '', hide: false }, \r\n { field: 'UserAccessName', headerName: 'User Access', getQuickFilterText: () => '', hide: false },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 200, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteProject(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n\r\n \r\n }\r\n deleteProject(event) {\r\n this.ProjectId = event.date.ProjectID;\r\n this.DeleteConfirmation = true;\r\n }\r\n cellClicked(rowEvent) {\r\n if (rowEvent.colDef.field == 'action') {\r\n this.DeleteConfirmation = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteConfirmation .dialog');\r\n //this.DeleteProjectCss();\r\n }\r\n \r\n }\r\n \r\n Confirmation(val) {\r\n if (val == 'Yes') {\r\n \r\n this.customerservice.DeleteProject(this.ProjectId).then(result => {\r\n this.DeleteConfirmation = false;\r\n this.accountContactId = 0;\r\n this.getAllProjects();\r\n });\r\n } else {\r\n this.DeleteConfirmation = false;\r\n }\r\n }\r\n\r\n getProjectForecastData() {\r\n this.ProjectForecaslist = [];\r\n this.customerservice.getProjectForecastStageStatus(this.ProjectId).then(result => {\r\n result.forEach(result => {\r\n result.Last_updated = result.Last_updated==null?\"N/A\": this.datePipe.transform(result.Last_updated, \"MM/dd/yyyy\");\r\n });\r\n this.ProjectForecaslist = result.filter(x => x.ProjectTypeID == this.ProjectTypeId);\r\n \r\n });\r\n \r\n }\r\n ProjectForeCast() { this.initilizeProjectForecastGrid(); }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n if (outProps.enableSearch) { this.EnableSearch = true; }\r\n if (outProps.secondDrpValue) {\r\n this.SelectedProjStatus = outProps.secondDrpValue;\r\n }\r\n if (outProps.thirdDrpValue) {\r\n this.SelectedProjType = parseInt(outProps.thirdDrpValue);\r\n } else if (parseInt(outProps.thirdDrpValue) == 0) { this.SelectedProjType =0 }\r\n if (this.SelectedProjStatus == 'All' && this.SelectedProjType == 0) {\r\n this.DuplicateProjectsList = this.ProjectsList;\r\n \r\n } else if (this.SelectedProjStatus == 'All' && this.SelectedProjType>0) {\r\n this.DuplicateProjectsList = this.ProjectsList.filter(x => x.ProjectTypeId == this.SelectedProjType);\r\n }\r\n else {\r\n if (this.SelectedProjType == 0) {\r\n this.DuplicateProjectsList = this.ProjectsList.filter(x => x.ProjectStatusName == this.SelectedProjStatus);\r\n } else {\r\n this.DuplicateProjectsList = this.ProjectsList.filter(x => x.ProjectStatusName == this.SelectedProjStatus && x.ProjectTypeId == this.SelectedProjType);\r\n }\r\n \r\n }\r\n this.ROwSelection();\r\n if (outProps.fourthDrpValue == \"Forecast View\") {\r\n this.ForecastView = true;\r\n this.initilizeForecastGrid();\r\n } else if (outProps.fourthDrpValue == \"List View\") {\r\n this.ForecastView = false;\r\n }\r\n }\r\n\r\n CloseContactDiv() {\r\n this.accountContactId = 0;\r\n if (this.ForecastView == true) {\r\n this.initilizeForecastGrid();\r\n this.ForecastView = false;\r\n } else {\r\n this.getAllProjects();\r\n this.initializeAgGrid('');\r\n }\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n let rowData = event.api.getSelectedNodes()[0].data;\r\n this.accountContactId = rowData.AccountOrContactId;\r\n this.accountOrContactType = rowData.AccountOrContactType;\r\n this.ProjectId = rowData.ProjectID;\r\n this.ProjectTypeId = rowData.ProjectTypeId;\r\n this.ViewType = 'Forecast View';\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.createProj.LoadData(selfObj.accountContactId, selfObj.accountOrContactType, selfObj.ProjectId, selfObj.ViewType, rowData);\r\n selfObj.projectType = \"ViewProject\";\r\n }, 300));\r\n \r\n }\r\n }\r\n\r\n }\r\n\r\n getAllProjects() {\r\n this.customerservice.getAllProjects(this.currentuser.id).then(res => {\r\n this.DuplicateProjectsList = this.ProjectsList = res;\r\n this.DuplicateProjectsList = this.DuplicateProjectsList.filter(x => x.ProjectStatusName == \"Open\");\r\n this.DuplicateProjectsList.forEach(proj => {\r\n proj.CreatedDate = this.datePipe.transform(proj.CreatedDate, \"MM-dd-yyyy\");\r\n proj.TargetGoLiveDate = this.datePipe.transform(proj.TargetGoLiveDate, \"MM-dd-yyyy\");\r\n });\r\n if (this.DuplicateProjectsList.length > 0) {\r\n this.ROwSelection();\r\n }\r\n });\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n EventEmit(msg) {\r\n if (msg.startsWith('ProjectSaved')) {\r\n var projectId = msg.split(':')[1];\r\n this.getAllProjects();\r\n \r\n \r\n \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridApi.forEachNode((node) => {\r\n if (node.data.ProjectID == projectId) {\r\n selfObj.gridApi.selectNode(node, true);\r\n let rowData = node.data;\r\n selfObj.accountContactId = rowData.AccountOrContactId;\r\n selfObj.accountOrContactType = rowData.AccountOrContactType;\r\n selfObj.ProjectId = rowData.ProjectID;\r\n selfObj.ViewType = 'Forecast View';\r\n selfObj.createProj.LoadData(selfObj.accountContactId, selfObj.accountOrContactType, selfObj.ProjectId, selfObj.ViewType);\r\n \r\n }\r\n });\r\n }, 500));\r\n\r\n } else {\r\n this.getProjectForecastData();\r\n }\r\n \r\n }\r\n\r\n deleteRowAg(rowdata) {\r\n \r\n this.DeleteProjects(rowdata.ProjectID);\r\n }\r\n\r\n DeleteProjects(projId) {\r\n this.customerservice.DeleteProject(projId).then(res => {\r\n this.getAllProjects();\r\n });\r\n }\r\n\r\n getAllForeCastProjects() {\r\n this.customerservice.getAllForecastProjects(this.currentuser.id).then(res => {\r\n this.ForecastList = res;\r\n });\r\n }\r\n\r\n \r\n\r\n initilizeForecastGrid() {\r\n\r\n this.gridOptionsView = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeletecvComponent,\r\n\r\n };\r\n this.customerservice.getAllForecastHeaders().then(res => {\r\n this.ForecastcreateColumnDefs(res);\r\n this.getForecastData();\r\n });\r\n }\r\n\r\n initilizeProjectForecastGrid() {\r\n\r\n this.gridProjectForeCast = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeletecvComponent,\r\n\r\n };\r\n this.ProjectForecastcreateColumnDefs();\r\n this.getProjectForecastData();\r\n\r\n }\r\n\r\n ProjectForecastcreateColumnDefs() {\r\n this.ProjectForecastViewcolumnDefs = [ \r\n {\r\n field: 'StageName', headerName: 'Project Stage', hide: false, width: 150, cellStyle: function (params) {\r\n if (params.data.Status.startsWith('Complete')) {\r\n return { background: '#92d050' };\r\n }\r\n else if (params.data.Status.startsWith('In-Progress'))\r\n {\r\n return { background: '#FFFC33' };\r\n }\r\n }\r\n },\r\n {\r\n field: 'Status', headerName: 'Status', hide: false, width: 150, cellStyle: function (params) {\r\n if (params.data.Status.startsWith('Complete')) {\r\n return { background: '#92d050' };\r\n }\r\n else if (params.data.Status.startsWith('In-Progress')) {\r\n return { background: '#FFFC33' };\r\n }\r\n }\r\n },\r\n {\r\n field: 'Last_updated', headerName: 'Last Updated', hide: false, width: 150, cellStyle: function (params) {\r\n if (params.data.Status.startsWith('Complete')) {\r\n return { background: '#92d050' };\r\n }\r\n else if (params.data.Status.startsWith('In-Progress')) {\r\n return { background: '#FFFC33' };\r\n }\r\n }\r\n }\r\n\r\n ];\r\n }\r\n ForecastcreateColumnDefs(columnSelections: string) {\r\n\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.ForecastViewcolumnDefs = [];\r\n this.ForecastViewcolumnDefs = [\r\n {\r\n headerName: '',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, headerClass: 'ProjForecastViewHeaders1'\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: true, width: 150, rowGroup: true,\r\n headerClass: 'ProjForecastViewHeaders', \r\n },\r\n { field: 'Project_Type', headerName: 'Project Type', hide: false, width: 150, headerClass: 'ProjForecastViewHeaders', cellStyle: {'text-align': 'center', 'padding': '0.5% 0 0 0' }}\r\n\r\n ];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n if (columnSelectionsArray[i]) {\r\n this.ForecastViewcolumnDefs.push({\r\n field: columnSelectionsArray[i].replace(' ', '_'), headerName: columnSelectionsArray[i], hide: false, width: 150, headerClass: 'ProjForecastViewHeaders', cellStyle: function (params) {\r\n if (params.value && params.value.trim() == 'Open') {\r\n var st3 = { 'background-color': 'transparent', 'text-align': 'center', 'padding': '0.5% 0 0 0' };\r\n return st3;\r\n } else if (params.value && params.value.trim() == 'Complete') {\r\n var st3 = { 'background-color': '#fdfdc9', 'text-align': 'center', 'padding': '0.5% 0 0 0' };\r\n return st3;\r\n } else if (params.value && params.value.includes('Open')) {\r\n var st = { 'background-color': 'transparent', 'text-align': 'center' };\r\n return st;\r\n } else if (params.value && params.value.includes('Complete')) {\r\n var st = { 'background-color': '#badb98','text-align':'center' };\r\n return st;\r\n } else if (params.value == 'In-Progress') {\r\n var st3 = { 'background-color': '#fdfdc9', 'text-align': 'center','padding':'0.5% 0 0 0' };\r\n return st3;\r\n }\r\n }, cellRenderer: function (params) {\r\n if ( params.value != null) {\r\n let x = params.value.replace(\" \",\"
      \");\r\n return x;\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n \r\n\r\n }\r\n }\r\n\r\n \r\n onSelectionChangedForeCast(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n var rowdata = event.api.getSelectedNodes()[0];\r\n if (rowdata.data) {\r\n let rowData = event.api.getSelectedNodes()[0].data;\r\n \r\n this.accountContactId = rowData.accountorContactId;\r\n this.accountOrContactType = rowData.AccountOrContactType;\r\n this.ProjectId = rowData.ProjectId;\r\n this.ViewType = 'Forecast View';\r\n this.createProj.LoadData(this.accountContactId, this.accountOrContactType, this.ProjectId, this.ViewType);\r\n } else {\r\n let accountOrContactId = event.api.getSelectedNodes()[0].allLeafChildren[0].data.accountorContactId;\r\n let accountOrContacttype = event.api.getSelectedNodes()[0].allLeafChildren[0].data.accountorContactType;\r\n this.accountContactId = accountOrContactId;\r\n this.accountOrContactType = accountOrContacttype;\r\n this.ProjectId = 0;\r\n this.ViewType = 'Forecast View';\r\n this.createProj.LoadData(this.accountContactId, this.accountOrContactType, this.ProjectId, this.ViewType);\r\n }\r\n }\r\n\r\n }\r\n\r\n getForecastData() {\r\n this.customerservice.getAllForecastData(this.currentuser.id).then(res => {\r\n this.ForecastDataObj = res;\r\n });\r\n }\r\n ROwSelection() {\r\n if (localStorage.getItem('projecttype') == \"Pended\") {\r\n this.ProjectId = Number(localStorage.getItem(\"Pendedprojectid\"));\r\n }\r\n if (localStorage.getItem('projecttype') == \"Cancelled\") {\r\n this.ProjectId = Number(localStorage.getItem(\"Cancelledprojectid\"));\r\n }\r\n if (localStorage.getItem('projecttype') == \"Complete\") {\r\n this.ProjectId = Number(localStorage.getItem(\"Completedprojectid\"));\r\n }\r\n if (localStorage.getItem('projecttype') == \"Open\"){\r\n this.ProjectId = Number(localStorage.getItem(\"projectid\"));\r\n }\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (selfObj.gridOptionsView.api != null) {\r\n selfObj.gridOptionsView.api.forEachNode((node) => {\r\n if (node.data.ProjectID == selfObj.ProjectId) {\r\n selfObj.gridOptionsView.api.selectNode(node, true);\r\n selfObj.gridOptionsView.rowSelection = 'single';\r\n }\r\n });\r\n }\r\n }, 500));\r\n }\r\n onFilterTextBoxChanged() {\r\n this.gridApi.setQuickFilter(\r\n (document.getElementById('filter-text-box') as HTMLInputElement).value\r\n );\r\n this.gridOptionsView.quickFilterText = (document.getElementById('filter-text-box') as HTMLInputElement).value;\r\n this.createColumnDefs();\r\n this.gridApi.redrawRows(); \r\n }\r\n ClearSearch() {\r\n this.gridApi.setQuickFilter('');\r\n this.value = \"\";\r\n this.EnableSearch = false;\r\n this.gridOptionsView.quickFilterText = \"\";\r\n this.createColumnDefs();\r\n this.gridApi.redrawRows(); \r\n }\r\n}\r\n","
      \r\n
      \r\n

      \r\n Categories\r\n

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

      \r\n Items\r\n

      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Items\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Category
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Description
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      Sort Order
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Price
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      Monthly
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \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, EventEmitter, Output, Input } from '@angular/core';\r\nimport { GridOptions, RowDragEndEvent } from 'ag-grid';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ProposalCategory } from 'src/app/models/ProposalCategory';\r\nimport { ProposalItems } from 'src/app/models/ProposalItems';\r\nimport { UserService } from 'src/app/services/user.service';\r\ndeclare var $: any;\r\nimport { SystemRowConfiguration } from 'src/app/models/system-row-configuration';\r\nimport { LeadsService } from 'src/app/services/leads.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\n@Component({\r\n selector: 'app-proposal-configuration',\r\n templateUrl: './proposal-configuration.component.html',\r\n styleUrls: ['./proposal-configuration.component.css']\r\n})\r\nexport class ProposalConfigurationComponent implements OnInit {\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n accessCategoriesDiv: boolean = true;\r\n accessItemsDiv: boolean = false;\r\n ProposalConfigDiv: boolean = true;\r\n createNewitem: boolean = false;\r\n createNewCategory: boolean = false;\r\n ExpandCategoryGrid: boolean = false;\r\n ExpandItemGrid: boolean = false;\r\n ProposalCategory: ProposalCategory = new ProposalCategory();\r\n allProposalCategory: ProposalCategory[];\r\n allProposalItems: ProposalItems[];\r\n public gridOptions: GridOptions;\r\n public gridProposalOptions: GridOptions;\r\n public columnDefs: any[];\r\n public columnDefsForItems: any[];\r\n currentUser: any;\r\n AddItemsForm: FormGroup;\r\n AddCategoryForm: FormGroup;\r\n proposalItems: ProposalItems = new ProposalItems();\r\n private gridApi;\r\n private gridColumnApi;\r\n public sideBar;\r\n public gridProposalApi;\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\r\n proposalType: string = \"\";\r\n @Input() SubMenuType: string = null;\r\n constructor(public applicationComponent: ApplicationComponent,private userService: UserService, private toastr: ToastrService, private leadsService: LeadsService) {\r\n this.currentUser = JSON.parse(localStorage.getItem(\"currentUser\")); \r\n }\r\n\r\n ngOnInit() {\r\n this.initializeAgGrid();\r\n //if (this.SubMenuType !== null && this.SubMenuType !== undefined && this.SubMenuType !== '') {\r\n this.AccessDiv(\"Categories\");\r\n //} else {\r\n var obj: AuditLogModel = { id: 0, type: 'Proposal Configuration', action: 'Proposal Config', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Proposal Config', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n //}\r\n }\r\n Expand(val) {\r\n if (val == 'Category') {\r\n this.ExpandCategoryGrid = !this.ExpandCategoryGrid;\r\n } else if (val == 'Item') {\r\n this.ExpandItemGrid = !this.ExpandItemGrid;\r\n }\r\n }\r\n getAddItemsForm(): FormGroup {\r\n return new FormGroup({\r\n 'ProposalItemName': new FormControl(this.proposalItems.ProposalItemName, Validators.required),\r\n 'Categoryids': new FormControl(this.proposalItems.Categoryids, Validators.required),\r\n 'ItemSortOrder': new FormControl(this.proposalItems.SortOrder, Validators.required),\r\n 'ItemPrice12': new FormControl(this.proposalItems.Price12, Validators.required),\r\n 'ItemPrice24': new FormControl(this.proposalItems.Price24, Validators.required),\r\n 'ItemPrice36': new FormControl(this.proposalItems.Price36, Validators.required),\r\n 'MonthPrice12': new FormControl(this.proposalItems.Monthly12, Validators.required),\r\n 'MonthPrice24': new FormControl(this.proposalItems.Monthly24, Validators.required),\r\n 'MonthPrice36': new FormControl(this.proposalItems.Monthly36, Validators.required),\r\n });\r\n }\r\n getAddCategoryForm(): FormGroup {\r\n return new FormGroup({\r\n 'ProposalItemName': new FormControl(this.ProposalCategory.CategoryName, Validators.required),\r\n 'Categoryids': new FormControl(this.ProposalCategory.SortOrder, Validators.required),\r\n });\r\n }\r\n AccessDiv(value) {\r\n if (value == 'Categories') {\r\n this.AccessCategories();\r\n } else if (value == 'Items') {\r\n this.AccessItems();\r\n }\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Proposal Configuration', action: 'Proposal Config - ' + value, AccountOrContactId: 0, AccountOrContact: value, documentid: 0, userid: this.currentUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Proposal Config - ' + value, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n AccessCategories() {\r\n this.ProposalConfigDiv = false;\r\n this.accessCategoriesDiv = true;\r\n this.GetAllProposalCategory();\r\n this.ProposalCategory = new ProposalCategory();\r\n this.proposalType = \"Categories\";\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, rowSelection: 'single',\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true, animateRows: true, rowDragMultiRow: true, suppressMoveWhenRowDragging: true\r\n \r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n \r\n this.createColumnDefs();\r\n \r\n }\r\n\r\n createColumnDefs() {\r\n let selfObj = this;\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, \r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, \r\n rowDrag: true\r\n },\r\n { field: 'CategoryId', headerName: 'Id', hide: false, width:120},\r\n {\r\n field: 'CategoryName', headerName: 'Category', hide: false, width: 400, \r\n},\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false,width:120},\r\n {\r\n field: 'action', headerName: 'Action', hide: false,width:100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteProposalCategory(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n\r\n this.columnDefsForItems = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n \r\n },\r\n { field: 'ItemId', headerName: 'Item Id', hide: false, width: 80 },\r\n {\r\n field: 'ProposalItemName', headerName: 'Item', hide: false, width: 350\r\n},\r\n { field: 'ItemDescription', headerName: 'Item Description', hide: false, width: 150 },\r\n { field: 'Price12', headerName: 'Price12', hide: false, width: 85 },\r\n { field: 'Price24', headerName: 'Price24', hide: false, width: 85 },\r\n { field: 'Price36', headerName: 'Price36', hide: false, width: 85 },\r\n { field: 'Monthly12', headerName: 'Monthly12', hide: false, width: 90 },\r\n { field: 'Monthly24', headerName: 'Monthly24', hide: false, width: 90 },\r\n { field: 'Monthly36', headerName: 'Monthly36', hide: false, width: 90 },\r\n { field: 'SortOrder', headerName: 'Sort', hide: false, width: 70 },\r\n { field: 'Categoryids', headerName: 'Categoryids', hide: true, width: 120 },\r\n { field: 'CategoryName', headerName: 'Category', hide: false, width: 120 },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteProposalItem(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n\r\n \r\n }\r\n\r\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"ProposalCategory\");\r\n }\r\n //onRowProposalItemsDragEnd(event: RowDragEndEvent) {\r\n // this.saverowconfiguration(\"ProposalItems\");\r\n //}\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == \"ProposalCategory\") {\r\n this.gridApi.forEachNode((node) => {\r\n sortoorder.push(node.data.CategoryId);\r\n });\r\n } else {\r\n this.gridProposalApi.forEachNode((node) => {\r\n sortoorder.push(node.data.ItemId);\r\n });\r\n }\r\n\r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentUser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n });\r\n\r\n }\r\n onAgGridReady(event, type) {\r\n if (type == 'Item') {\r\n this.gridProposalApi = event.api;\r\n } else {\r\n this.gridApi = event.api;\r\n }\r\n \r\n }\r\n CreateNewCategory() {\r\n //this.ProposalCategory = new ProposalCategory();\r\n this.getAddCategoryForm();\r\n this.createNewCategory = true;\r\n this.ExpandCategoryGrid = false;\r\n this.ProposalCategory = new ProposalCategory();\r\n var NextsortOrder = this.allProposalCategory.sort((a, b) => b.SortOrder - a.SortOrder)[0].SortOrder;\r\n this.ProposalCategory.SortOrder = NextsortOrder + 1;\r\n \r\n }\r\n validateSortOrder() {\r\n if (this.ProposalCategory.SortOrder > 0) {\r\n $('#sortOrder').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#sortOrder').addClass('ng-pristine ng-star-inserted ng-valid ng-touched');\r\n $('#sortOrder').prop('required', true);\r\n }\r\n \r\n }\r\n validateCategoryName() {\r\n if (this.ProposalCategory.CategoryName.length > 0) {\r\n $('#CategoryName').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#CategoryName').addClass('ng-pristine ng-star-inserted ng-valid ng-touched');\r\n $('#CategoryName').prop('required', true);\r\n }\r\n }\r\n\r\n CloseaccessCategoriesDiv() {\r\n this.accessCategoriesDiv = false;\r\n this.ProposalConfigDiv = true;\r\n this.createNewCategory = false;\r\n /*this.sendMsgEvent.emit(\"\");*/\r\n this.proposalType = \"\";\r\n }\r\n SaveProposalCategory() {\r\n this.ProposalCategory.UserID = this.currentUser.id;\r\n if (this.ProposalCategory.CategoryId == null || this.ProposalCategory.CategoryId == undefined || this.ProposalCategory.CategoryId == 0) {\r\n this.ProposalCategory.CategoryId = 0;\r\n }\r\n \r\n this.ProposalCategory.deleteStatus = 0;\r\n this.AddOrUpdateProposalCategory(this.ProposalCategory);\r\n }\r\n \r\n AddOrUpdateProposalCategory(Category) {\r\n this.userService.AddOrUpdateProposalCategory(Category).then(result => {\r\n this.GetAllProposalCategory();\r\n this.ProposalCategory = new ProposalCategory();\r\n this.createNewCategory = false;\r\n this.toastr.success(\"Proposal Category saved successfully.\", \"Proposal Category Saved\", { timeOut: 600 });\r\n });\r\n }\r\n GetAllProposalCategory() {\r\n this.userService.GetAllProposalCategory(this.currentUser.id).then(result => {\r\n this.allProposalCategory = result;\r\n });\r\n }\r\n deleteProposalCategory(Category) {\r\n var c = confirm(\"Are you sure you want to delete this Category?\");\r\n if (c == true) {\r\n this.ProposalCategory = Category;\r\n this.ProposalCategory.deleteStatus = 1;\r\n this.AddOrUpdateProposalCategory(this.ProposalCategory);\r\n }\r\n }\r\n rowClickAgGrid(event) {\r\n if (event.node.selected && event.node.selected === true) {\r\n this.ProposalCategory = event.data;\r\n this.createNewCategory = true;\r\n }\r\n else { //For requirement Purpose Removed (Banu)\r\n this.ProposalCategory = null;\r\n this.ClearCategory();\r\n this.createNewCategory = false;\r\n }\r\n \r\n }\r\n ClearCategory() {\r\n this.ProposalCategory = new ProposalCategory();\r\n }\r\n\r\n AccessItems() {\r\n this.accessItemsDiv = true;\r\n this.ProposalConfigDiv = false;\r\n this.accessCategoriesDiv = false;\r\n this.GetAllProposalItems();\r\n this.GetAllProposalCategory();\r\n this.proposalItems = new ProposalItems();\r\n this.proposalItems.Categoryids = \"0\";\r\n //this.sendMsgEvent.emit(\"Items\");\r\n this.proposalType = \"Items\";\r\n }\r\n\r\n CreateNewItem() {\r\n this.proposalItems = new ProposalItems();\r\n this.createNewitem = true;\r\n this.getAddItemsForm();\r\n $(setTimeout(function () {\r\n $('#ItemDescription').attr('style','border-left:5px solid #e05451;height:100%');\r\n $('#Monthly12').attr('style','border-left:5px solid #e05451');\r\n $('#Monthly24').attr('style','border-left:5px solid #e05451');\r\n $('#Monthly36').attr('style','border-left:5px solid #e05451');\r\n },100));\r\n this.ExpandItemGrid = false;\r\n var NextsortOrder = this.allProposalItems.sort((a, b) => b.SortOrder - a.SortOrder)[0].SortOrder;\r\n this.proposalItems.SortOrder = NextsortOrder + 1;\r\n } \r\n\r\n CloseAccessItemsDiv() {\r\n this.accessItemsDiv = false;\r\n this.ProposalConfigDiv = true;\r\n this.createNewitem = false; \r\n this.accessCategoriesDiv = false;\r\n this.allProposalCategory = null;\r\n this.proposalItems = new ProposalItems();\r\n //this.sendMsgEvent.emit(\"\");\r\n this.proposalType = \"\";\r\n }\r\n SaveProposalItem() {\r\n this.proposalItems.UserID = this.currentUser.id;\r\n this.proposalItems.deleteStatus = 0;\r\n this.proposalItems.Price12 = this.proposalItems.Price12.replace('$','');\r\n this.proposalItems.Price24 = this.proposalItems.Price24.replace('$','');\r\n this.proposalItems.Price36 = this.proposalItems.Price36.replace('$','');\r\n this.proposalItems.Monthly12 = this.proposalItems.Monthly12.replace('$', '');\r\n this.proposalItems.Monthly24 = this.proposalItems.Monthly24.replace('$', '');\r\n this.proposalItems.Monthly36 = this.proposalItems.Monthly36.replace('$', '');\r\n if (this.proposalItems.ItemId == null || this.proposalItems.ItemId == undefined) {\r\n this.proposalItems.ItemId = 0;\r\n }\r\n this.InsertUpdateProposalItems(this.proposalItems)\r\n }\r\n\r\n InsertUpdateProposalItems(Items) {\r\n this.userService.InsertUpdateProposalItems(Items).then(result => {\r\n this.toastr.success(\"Proposal Item saved successfully.\", \"Proposal Item Saved\", { timeOut: 600 });\r\n this.GetAllProposalItems();\r\n this.proposalItems = new ProposalItems();\r\n this.createNewitem = false;\r\n $('#ItemDescription').attr('style', 'border: 1px solid #ccc;height:100%');\r\n $('#Monthly12').attr('style', 'border: 1px solid #ccc');\r\n $('#Monthly24').attr('style', 'border: 1px solid #ccc');\r\n $('#Monthly36').attr('style', 'border: 1px solid #ccc');\r\n \r\n });\r\n }\r\n loadproposals(val) {\r\n this.GetAllProposalItems();\r\n }\r\n GetAllProposalItems() {\r\n var categoryid = $(\"#ProposalCategoryId\").val() == undefined ? 0 : $(\"#ProposalCategoryId\").val();\r\n this.userService.GetAllProposalItems(this.currentUser.id, categoryid).then(result => {\r\n this.allProposalItems = result;\r\n });\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.proposalItems = event.api.getSelectedNodes()[0].data;\r\n this.proposalItems.Price12 = \"$\"+(this.proposalItems.Price12).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'); // 12,345.67;\r\n this.proposalItems.Price24 = \"$\"+(this.proposalItems.Price24).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'); // 12,345.67;\r\n this.proposalItems.Price36 = \"$\"+(this.proposalItems.Price36).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'); // 12,345.67;\r\n this.proposalItems.Monthly12 = \"$\" +(this.proposalItems.Monthly12).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'); // 12,345.67;\r\n this.proposalItems.Monthly24 = \"$\" +(this.proposalItems.Monthly24).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'); // 12,345.67;\r\n this.proposalItems.Monthly36 = \"$\" +(this.proposalItems.Monthly36).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'); // 12,345.67;\r\n this.createNewitem = true;\r\n\r\n if (this.proposalItems.ItemDescription.length > 0)\r\n $('#ItemDescription').attr('style', 'border-left:5px solid rgb(162, 228, 119);height:100%');\r\n\r\n if (this.proposalItems.Monthly12 != '' && this.proposalItems.Monthly12 != undefined)\r\n $('#Monthly12').attr('style', 'border-left:5px solid rgb(162, 228, 119)');\r\n\r\n if (this.proposalItems.Monthly24 != '' && this.proposalItems.Monthly24 != undefined)\r\n $('#Monthly24').attr('style', 'border-left:5px solid rgb(162, 228, 119)');\r\n\r\n if (this.proposalItems.Monthly36 != '' && this.proposalItems.Monthly36 != undefined)\r\n $('#Monthly36').attr('style', 'border-left:5px solid rgb(162, 228, 119)');\r\n }\r\n } else {\r\n this.proposalItems = new ProposalItems();\r\n this.clearItemFields();\r\n this.createNewitem = false;\r\n }\r\n \r\n }\r\n\r\n formatNumber(n) {\r\n // format number 1000000 to 1,234,567\r\n return n.replace(/\\D/g, \"\").replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")\r\n}\r\n\r\n deleteProposalItem(Item) {\r\n var c = confirm(\"Are you sure you want to delete this Item?\");\r\n if (c == true) {\r\n this.proposalItems = Item;\r\n this.proposalItems.deleteStatus = 1;\r\n this.InsertUpdateProposalItems(this.proposalItems);\r\n }\r\n }\r\n\r\n clearItemFields() {\r\n this.proposalItems = new ProposalItems();\r\n $('#ItemDescription').attr('style', 'border-left:5px solid #e05451;height:100%');\r\n $('#Monthly12').attr('style', 'border-left:5px solid #e05451');\r\n $('#Monthly24').attr('style', 'border-left:5px solid #e05451');\r\n $('#Monthly36').attr('style', 'border-left:5px solid #e05451');\r\n }\r\n selectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) { \r\n this.ProposalCategory = event.api.getSelectedNodes()[0].data;\r\n this.createNewCategory = true;\r\n }\r\n } else {\r\n this.ClearCategory();\r\n }\r\n }\r\n KeyUp(val) {\r\n if (val == 'Description') {\r\n if (this.proposalItems.ItemDescription.length > 0)\r\n $('#ItemDescription').attr('style', 'border-left:5px solid rgb(162, 228, 119);height:100%');\r\n } else if (val == 'Monthly12' || val == 'Monthly24' || val == 'Monthly36') {\r\n if (this.proposalItems.Monthly12 > 0)\r\n $('#Monthly12').attr('style', 'border-left:5px solid rgb(162, 228, 119)');\r\n\r\n if (this.proposalItems.Monthly24 > 0)\r\n $('#Monthly24').attr('style', 'border-left:5px solid rgb(162, 228, 119)');\r\n\r\n if (this.proposalItems.Monthly36 > 0)\r\n $('#Monthly36').attr('style', 'border-left:5px solid rgb(162, 228, 119)');\r\n }\r\n }\r\n\r\n\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n }\r\n}\r\n","\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n\r\n
      \r\n \r\n\r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n HISTORY\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Proposals Pended\r\n
      \r\n
      \r\n {{PendedProposalCount}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Proposals Open\r\n
      \r\n
      \r\n {{OpenProposalCount}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Proposals Won\r\n
      \r\n
      \r\n {{WonProposalCount}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n Proposals Lost\r\n
      \r\n
      \r\n {{LostProposalCount}}\r\n
      \r\n
      \r\n
      \r\n PENDED PROPOSAL\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n INVESTMENT\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Price
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Monthly
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      Discount %
      \r\n
      \r\n = 48\" />\r\n
      \r\n
      \r\n
      \r\n
      Discount %
      \r\n
      \r\n = 48\" />\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Price/Discount
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Monthly/Discount
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n PREVIEW\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      0\" class=\"col-xs-4\" style=\"height: 80%; padding: 0 2% 0 3%;\">\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n \r\n \r\n \r\n
      \r\n \r\n
      12
      \r\n
      24
      \r\n
      36
      \r\n
      \r\n \r\n
      UnitsPriceTotal|Monthly  Total\r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
      \r\n \r\n
      {{ProposalItem.ProposalItemName}}\r\n = 48\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n

      Please Wait

      \r\n

      The System is Pending the Proposal and Purchase Order.......

      \r\n

      The System is Saving the Proposal and Purchase Order.......

      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      {{this.Proposal.NumberOfMonths}} Months Proposal / PO

      \r\n
      Save Proposal and Purchase Order?
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n
      \r\n \r\n
      \r\n SAVE PENDED PROPOSAL AND PO \r\n PROPOSAL AND PO PREVIEW ALERT \r\n
      \r\n
      \r\n Select SAVE to Pend the Proposal and Purchase Order.\r\n \r\n You have not Previewed both the Proposal and the Purchase Order. It is recommended to always preview\r\n both the proposal and the purchase order before saving. Once saved, the proposal and the purchase order can not be edited.\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n PROPOSALS ({{AllProposals.length}})\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n 0\" [viewaccount]=\"viewaccount\" [account]=\"'Accounts'\" [tab]=\"''\" [noteslist]=\"allnotes\" (btnClickEvent)=\"btnClickReceived($event)\" [pageFrom]=\"'ProposalAccount'\" [ViewData]=\"'Contact'\" [contact]=\"contact\">\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      0\" class=\"col-xs-2\" style=\"padding:0 0 0% 2%;height:8%\">\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      0\" class=\"col-xs-12\" style=\"padding: 1%; height: 70%;\">\r\n\r\n
      \r\n
      \r\n Contact:\r\n
      \r\n {{Proposal.ContactName | uppercase}}\r\n
      \r\n
      \r\n
      \r\n Date:\r\n
      \r\n
      {{Proposal.CreatedDate}}
      \r\n
      \r\n
      \r\n
      \r\n Account:\r\n
      \r\n
      {{Proposal.AccountName}}
      \r\n
      \r\n
      \r\n
      \r\n Pended:\r\n
      \r\n
      Pended
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Date Closed:\r\n
      \r\n
      {{Proposal.estimatedclosedate}}
      \r\n
      \r\n
      \r\n
      \r\n Contact:\r\n
      \r\n
      {{Proposal.ContactName}}
      \r\n
      \r\n\r\n
      \r\n
      \r\n Type:\r\n
      \r\n
      {{Proposal.itemName}}
      \r\n\r\n
      \r\n
      \r\n
      \r\n Description:\r\n
      \r\n
      {{Proposal.ProposalDescription}}
      \r\n
      \r\n
      \r\n
      \r\n Lead:\r\n
      \r\n
      {{Proposal.leadfrom}}
      \r\n\r\n
      \r\n
      \r\n
      \r\n Description:\r\n
      \r\n
      {{Proposal.LeadDescription}}
      \r\n\r\n
      \r\n
      \r\n
      \r\n Price:\r\n
      \r\n
      {{Proposal.TotalPrice}}
      \r\n\r\n
      \r\n
      \r\n
      \r\n Monthly:\r\n
      \r\n
      {{Proposal.MonthlyTotalPrice}}
      \r\n\r\n
      \r\n
      \r\n
      \r\n ECD:\r\n
      \r\n
      {{Proposal.estimatedclosedate | date: 'MM/dd/yyyy'}}
      \r\n\r\n
      \r\n
      \r\n
      \r\n Created by:\r\n
      \r\n
      {{Proposal.owner}}
      \r\n\r\n
      \r\n
      \r\n
      \r\n Status:\r\n
      \r\n
      {{Proposal.statusName}}
      \r\n
      \r\n
      \r\n
      \r\n
      Go To Opportunity
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      Date
      \r\n
      Proposal Type
      \r\n
      Proposal Description
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      {{item.CreatedDate | date: 'MM-dd-yyyy' }}
      \r\n
      {{item.opportunities.itemName}}
      \r\n
      {{item.opportunities.ProposalDescription}}
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \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, ViewChild, EventEmitter, HostListener, ElementRef, Directive } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment'\r\nimport { GridOptions, Column } from 'ag-grid';\r\nimport { DatePipe, Location } from '@angular/common';\r\ndeclare var $: any;\r\nimport { NotesComponent } from '../notes/notes.component';\r\nimport { Dropdowntype, Dropdown } from 'src/app/models/dropdowntype';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { ProposalItems } from 'src/app/models/ProposalItems';\r\nimport { Proposals } from 'src/app/models/Praposals';\r\nimport { ProposalsModel } from 'src/app/models/Proposalsmodel';\r\nimport { Notes } from 'src/app/models/notes';\r\nimport { OpprtunitiesService } from 'src/app/services/opprtunities.service';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Dashboardconfiguration } from 'src/app/models/dashboardconfiguration';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { Viewaccount } from '../../models/viewaccount';\r\nimport { OwnershipsharingComponent } from '../ownershipsharing/ownershipsharing.component';\r\nimport { ContactsdashboardComponent } from '../contacts/contactsdashboard/contactsdashboard.component';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { AccountDetailsComponent } from '../account-details/account-details.component';\r\nimport { OpportunityFields, OpportunityItems } from '../../models/OpportunityLeadTypes';\r\nimport { Contacts } from '../../models/contacts';\r\ndeclare var require: any;\r\n@Component({\r\n selector: 'app-proposals',\r\n templateUrl: './proposals.component.html',\r\n styleUrls: ['./proposals.component.css']\r\n})\r\n\r\nexport class ProposalsComponent implements OnInit {\r\n name = 'Angular';\r\n dropdownList = [];\r\n currentuser: any;\r\n @Input()\r\n Type: string;\r\n @Input()\r\n PageFrom: string;\r\n @Input()\r\n redirectFrom: string;\r\n @Input()\r\n ContactOrAccountType: string;\r\n @Input()\r\n ProposalID: number;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n TodaysDate = new Date();\r\n opprtunityform: FormGroup;\r\n contactList: Dropdowntype[] = [];\r\n categories: Dropdowntype[] = [{ id: null, itemName: 'Display All Rows', category: '', isdeleted: 0, taskgroupid: 0 }];\r\n opprtunityitemlist: Dropdowntype[] = [];\r\n pclist: Dropdowntype[] = [];\r\n drlist: Dropdowntype[] = [];\r\n midlevelslist: Dropdowntype[] = [];\r\n leadfromlist: OpportunityItems[] = [];\r\n OwnerList: Dropdowntype[] = [];\r\n allProposalItems: ProposalItems[];\r\n allProposalItemsDuplicate: ProposalItems[];\r\n finalitems = \"\";\r\n public columnDefs: any[];\r\n public account: Accounts = new Accounts();\r\n @Input()\r\n SelectedContactId: number;\r\n enableUnits: boolean = true;\r\n TotalProposalPrice: number = 0;\r\n MonthlyTotalProposalPrice: number = 0;\r\n TotalProposalPriceString: string = '0';\r\n MonthlyTotalProposalPriceString: string = '0';\r\n ProposalTableExpand: boolean = false;\r\n SaveConfirmationDialog: boolean = false;\r\n FormValidationDialog: boolean = false;\r\n ClosePendProposal: boolean = false;\r\n isPended: number = 1;\r\n PropId: number;\r\n Proposal: Proposals = new Proposals();\r\n showpdf: boolean = false;\r\n LastProposalDate: Date;\r\n OpportunitiesCount: number = 0;\r\n public gridOptions: GridOptions;\r\n public gridHistoryOptions: GridOptions;\r\n AllProposals: ProposalsModel[];\r\n AllProposalsHistory: ProposalsModel[];\r\n AllAccountProposals: Proposals[];\r\n PendedProposals: any[];\r\n Pended: ProposalsModel[];\r\n PendedConPro: ProposalsModel[];\r\n ShowPdfDiv: boolean = false;\r\n ExpandPDFDiv: boolean = false;\r\n ExpandPreviewPDFDiv: boolean = false;\r\n SelectedProposalItems = [];\r\n selectedItems = [];\r\n selectedCategoryIDs = [];\r\n selectedLeadFrom = '';\r\n ProposalDocumentGenerated: boolean = false;\r\n ClosePendProposalDialog: boolean = false;\r\n PODocumentGenerated: boolean = false;\r\n DocumentWarningDialog: boolean = false;\r\n pdfAddress: string;\r\n @ViewChild(NotesComponent) noteComp: NotesComponent;\r\n @ViewChild(ContactsdashboardComponent) contDashComp;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n PreviewDocuments: boolean = false;\r\n allnotes: Array = [];\r\n isModal: boolean = false;\r\n notesshowDialog = false;\r\n conid: number;\r\n calanderonoff: boolean = false;\r\n timezonevalue: string;\r\n public context;\r\n ShowPercentDiscountBox = false;\r\n pageSize: string = \"\";\r\n colSelections: string;\r\n AccountIdsDialog;\r\n AccountIdArr: Dropdown[];\r\n tab;\r\n expanded: boolean = false;\r\n public sideBar;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n NumberOfMonths: number=12;\r\n public pendedProposalsCount: number = 0;\r\n ProposalPageChanges: boolean = false;\r\n DiasbleSaveButton: boolean = false;\r\n //ShowLoader: boolean = false;\r\n public elementRef;\r\n public CloseAddProposal: boolean = false;\r\n today = Date.now();\r\n OpenProposalCount: number = 0; PendedProposalCount: number = 0; WonProposalCount: number = 0; LostProposalCount: number = 0;\r\n @ViewChild('mycal') myDiv: ElementRef;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");\r\n private gridApi;\r\n viewaccount: Viewaccount = new Viewaccount();\r\n action: string;\r\n showAddEditAccount: boolean = false;\r\n showAddEditContact: boolean = false;\r\n isSharing: boolean = false;\r\n @ViewChild(AccountDetailsComponent) accdetailcmp;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n rightMainDivHideShow: boolean = true;\r\n accountSharingid: number = 0;\r\n pendedval: number = 0;\r\n AddContacttableDiv: boolean = false;\r\n userprevilages: any;\r\n dropdownSetting = {};\r\n Displaysize = [{ id: null, itemName: 'Display All Rows', category: '', isdeleted: 0, taskgroupid: 0 }];\r\n MinmumOneItemAlert: boolean = false;\r\n MandatoryFieldAlert: boolean = false;\r\n PendProposal: boolean = false;\r\n PendedProposalsDialog: boolean = false;\r\n DeleteConfirmation: boolean = false;\r\n CancelProposal: boolean = false;\r\n ProposalType = \"\";\r\n ContactDetails: boolean = false;\r\n @HostListener('document:click', ['$event'])\r\n clickout(event) {\r\n\r\n if (this.eRef.nativeElement.contains(event.target)) {\r\n } else {\r\n var cbtn = document.getElementById('appComponentContent');\r\n var accordion = document.getElementById('accordion');\r\n var SideMenu = document.getElementById('SideMenu');\r\n var collapsed = document.getElementsByClassName('collapsed');\r\n //if ((event.path.includes(cbtn) || event.path.includes(accordion) || event.path.includes(collapsed)) && this.ProposalPageChanges == true) {\r\n // this.PendProposal = true;\r\n // this.PendProposalCss('PendProposal');\r\n // event.preventdefault();\r\n // event.stoppropagation();\r\n //}\r\n }\r\n }\r\n contact: Contacts = new Contacts();\r\n Fields: any;\r\n OpportunityFieldsList: OpportunityFields[] = [];\r\n NewForm = new FormGroup({});\r\n FormDataModified: boolean = false; EnableSearch: boolean = false; value = \"\";\r\n constructor(private location: Location, private route: ActivatedRoute, private router: Router, private customerService: CustomerService, public applicationComponent: ApplicationComponent, private eRef: ElementRef, myElement: ElementRef,\r\n private opprtunityservice: OpprtunitiesService, private userService: UserService, private toastr: ToastrService, private accountService: AccountsService) {\r\n //defaultOptions.workerSrc = './assets/pdf.worker-es5.js';\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n \r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (this.applicationComponent.selectedItems != null && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.getSelectedUserList(this.currentuser.id);\r\n }\r\n\r\n this.elementRef = myElement;\r\n }\r\n\r\n\r\n PendProposalCss(val) {\r\n if (val === 'PendProposal') {\r\n this.applicationComponent.salesxcrmDialog('#PendProposal .dialog');\r\n //setTimeout(function () {\r\n // $('#PendProposal .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4)\r\n } else if (val === 'CancelProposal') {\r\n this.applicationComponent.salesxcrmDialog('#CancelProposal .dialog');\r\n //setTimeout(function () {\r\n // $('#CancelProposal .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4)\r\n }\r\n\r\n }\r\n\r\n getSelectedUserList(val) {\r\n\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu('Proposals');\r\n }\r\n handler(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n\r\n ClosePropDiv() {\r\n this.ContactDetails = false;\r\n }\r\n ngOnInit() {\r\n this.getProjectFields();\r\n this.dropdownSetting = {\r\n singleSelection: true,\r\n text: \"Display All Rows\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 1\r\n };\r\n this.initializeAgGrid();\r\n if (this.PageFrom != 'Leads') {\r\n this.route.params.subscribe(params => {\r\n if (params) {\r\n this.SelectedContactId = (params['id']) ? params['id'] : this.SelectedContactId;\r\n this.Type = (params['type']) ? params['type'] : this.Type;\r\n this.ContactOrAccountType = (params['ConOrAccType']) ? params['ConOrAccType'] : this.ContactOrAccountType;\r\n this.ProposalID = (params['ProposalId']) ? params['ProposalId'] : this.ProposalID;\r\n }\r\n if (this.ContactOrAccountType == \"Contact\") {\r\n this.Proposal.opportunities.type = 'Contacts';\r\n this.customerService.LoadContactById(this.SelectedContactId).then(result => {\r\n this.contact = result;\r\n this.Proposal.opportunities.ownerid = result.ownerid;\r\n this.Proposal.ownerid = result.ownerid;\r\n });\r\n\r\n } else {\r\n this.Proposal.opportunities.type = this.ContactOrAccountType;\r\n this.customerService.loadaccountdata(this.SelectedContactId).then(result => {\r\n this.account = result;\r\n this.Proposal.opportunities.ownerid = this.account.ownerid;\r\n this.Proposal.ownerid = this.account.ownerid;\r\n });\r\n }\r\n\r\n\r\n if ((this.ProposalID != null || this.ProposalID != 0) && this.account.id != null) {\r\n this.GetAllProposalByAccount(this.account.id);\r\n this.GetPendedProposalByContact(this.SelectedContactId);\r\n }\r\n if (this.Type != 'Add') {\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 500));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 500));\r\n }\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n this.GetAllProposal($(\"#userids\").val());\r\n \r\n this.DiscountSelection('12');\r\n } else {\r\n this.GetAllProposal(0);\r\n \r\n this.DiscountSelection('12');\r\n }\r\n\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n this.GetAllaccesusersListbyuser();\r\n //this.Type = 'Add';\r\n //this.ContactOrAccountType = 'Contact';\r\n //this.SelectedContactId = 471;\r\n if (this.Type == 'Add') {\r\n this.loadDropDowns();\r\n if (this.ContactOrAccountType == 'Contact') {\r\n this.LoadAccountandContacts(this.SelectedContactId);\r\n }\r\n else {\r\n this.LoadAccountandContactsByAccountID(this.SelectedContactId);\r\n }\r\n \r\n this.GetAllProposalItems();\r\n this.Proposal.opportunities.status = \"108\";\r\n this.Proposal.opportunities.accountorcontactid = this.SelectedContactId;\r\n\r\n this.Resetfields();\r\n //this.opprtunityform = new FormGroup({\r\n // 'item': new FormControl(this.Proposal.opportunities.item, Validators.required),\r\n // 'ProposalDescription': new FormControl(this.Proposal.opportunities.ProposalDescription, Validators.required),\r\n // 'LeadDescription': new FormControl(this.Proposal.opportunities.LeadDescription, Validators.required),\r\n // 'estimatedclosedate': new FormControl(this.Proposal.opportunities.estimatedclosedate, Validators.required),\r\n // 'PC': new FormControl(this.Proposal.opportunities.PC, Validators.required),\r\n // 'drs': new FormControl(this.Proposal.opportunities.drs, Validators.required),\r\n // 'midlevels': new FormControl(this.Proposal.opportunities.midlevels, Validators.required),\r\n // 'leadfromid': new FormControl(this.Proposal.opportunities.leadfromid, Validators.required),\r\n // 'ownerid': new FormControl(this.Proposal.opportunities.ownerid, Validators.required),\r\n // 'status': new FormControl(this.Proposal.opportunities.status, Validators.required)\r\n //});\r\n }\r\n else {\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 500));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 500));\r\n }\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n this.GetAllProposal($(\"#userids\").val()); \r\n this.DiscountSelection('12');\r\n } else {\r\n this.GetAllProposal(0); \r\n this.DiscountSelection('12');\r\n }\r\n\r\n\r\n }\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n let proposalPdfId = localStorage.getItem('proposalPdfId');\r\n let str = localStorage.getItem('redirectfrom');\r\n if (str == 'dashboard') {\r\n localStorage.setItem('proposalPdfId', '');\r\n localStorage.setItem('redirectfrom', '');\r\n selfObj.PDFClick(proposalPdfId, 'Proposal');\r\n\r\n let selfo = selfObj;\r\n $(setTimeout(function () {\r\n selfo.gridOptions.api.forEachNode((node) => {\r\n if (node.data.ProposalPDF == proposalPdfId || node.data.ProposalPOPDF == proposalPdfId) {\r\n selfo.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 200));\r\n\r\n }\r\n }, 400));\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.currentuser.proposalSelection != null && this.currentuser.proposalSelection > 0) {\r\n this.DiscountSelection(this.currentuser.proposalSelection.toString());\r\n }\r\n }\r\n GetPendedProposalByContact(conId) {\r\n this.userService.GetPendedProposalsByAccount(conId).then(res => {\r\n this.PendedConPro = res;\r\n });\r\n }\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n\r\n if ((fields[2] == 'true' && fields[1] != '#') && (fields[2] == 'true' && fields[0] != 'notes') && (fields[2] == 'true' && fields[0] != 'actions')) {\r\n\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n else {\r\n this.accountService.GetDefaultColumns('ContactsAccount', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'AccountName', \"itemName\": 'Account' }\r\n ];\r\n }\r\n });\r\n }\r\n }\r\n\r\n Resetfields() {\r\n this.Proposal.ProposalIds = '';\r\n if (this.ContactOrAccountType == \"Contact\") {\r\n this.Proposal.opportunities.accountorcontactid = this.SelectedContactId;\r\n this.customerService.LoadContactById(this.SelectedContactId).then(result => {\r\n this.contact = result;\r\n this.Proposal.opportunities.ownerid = result.ownerid;\r\n this.Proposal.ownerid = result.ownerid;\r\n });\r\n } else {\r\n this.Proposal.opportunities.accountorcontactid = null;\r\n this.customerService.loadaccountdata(this.SelectedContactId).then(result => {\r\n this.account = result;\r\n this.Proposal.opportunities.ownerid = this.account.ownerid;\r\n this.Proposal.ownerid = this.account.ownerid;\r\n });\r\n }\r\n\r\n this.Proposal.opportunities.item = null;\r\n this.Proposal.opportunities.PC = null;\r\n this.Proposal.opportunities.drs = null;\r\n this.Proposal.opportunities.midlevels = null;\r\n this.Proposal.opportunities.leadfromid = null;\r\n //this.Proposal.opportunities.ownerid = this.currentuser.id;\r\n }\r\n\r\n getallNotes() {\r\n this.customerService.GetAllNotesList(this.currentuser.id, this.SelectedContactId.toString(), \"Contact\").then((notes) => {\r\n notes.forEach(notes => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = notes.user + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(notes.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n notes.userfullName = timeDisplay;\r\n notes.created = this.datePipe.transform(notes.created, \"MM/dd/yyyy\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = notes;\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n PreviewProposal() {\r\n $('#PreviewProposal').attr('style', 'display:block;padding:0;background:white;')\r\n\r\n $(setTimeout(function () {\r\n $('#PreviewProposal').attr('style', 'height:100%;display:none;')\r\n }, 300));\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.gridHistoryOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 54).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n //this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n\r\n }\r\n\r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n\r\n //this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n //this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n //this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n //this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString();\r\n\r\n this.pageSize = (this.pageSize == \"\") ? '100' : this.pageSize;\r\n\r\n this.createColumnDefs(this.colSelections);\r\n this.UpdateSearchColumns(this.colSelections)\r\n\r\n\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n createColumnDefs(columnSelections: string) {\r\n var searcharray = [];\r\n var searcharray = [];\r\n if (this.gridOptions.quickFilterText != null && this.gridOptions.quickFilterText != undefined && this.gridOptions.quickFilterText != '') {\r\n searcharray.push(this.gridOptions.quickFilterText);\r\n }\r\n let columnSelectionsArray: string[] = [];\r\n let selfobj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n selfobj.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n selfobj.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"ContactName\") {\r\n selfobj.columnDefs.push({\r\n field: 'ContactName', headerName: 'Contact Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"AccountName\") {\r\n selfobj.columnDefs.push({\r\n field: 'AccountName', headerName: 'Account', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accPhone\") {\r\n selfobj.columnDefs.push({\r\n field: 'accPhone', headerName: 'Phone', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"isPended\") {\r\n this.columnDefs.push({\r\n field: 'isPended', headerName: 'Pended', hide: false, cellRenderer: function (params) {\r\n if (params.data.isPended == '1' || params.data.isPended == 1) { return 'Pended'; }\r\n }, cellStyle: function (params) { return { color: '#FF0000' }; }\r\n \r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"action\") {\r\n this.columnDefs.push({\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right'\r\n , cellRenderer(params) {\r\n if (params.data.isPended != '1' && params.data.isPended != 1) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.DeletePendProposal(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n selfobj.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n\r\n\r\n selfobj.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n \r\n {\r\n field: 'CreatedDate', headerName: 'Date', hide: false, width: 110, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'AccountName', headerName: 'Account', hide: false, width: 200, cellRenderer: function (params) {\r\n\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'accPhone', headerName: 'Phone', hide: false, width: 200, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'ContactName', headerName: 'Contact Name', hide: false, width: 180\r\n },\r\n {\r\n field: 'statusName', headerName: 'Status', hide: false, width: 100\r\n },\r\n {\r\n field: 'isPended', headerName: 'Pended', hide: false, cellRenderer: function (params) {\r\n if (params.data.isPended == '1' || params.data.isPended == 1) { return 'Pended'; }\r\n }, cellStyle: function (params) { return { color: '#FF0000' }; }\r\n },\r\n {\r\n field: 'TotalPrice', headerName: 'Total Price', hide: false, width: 100\r\n },\r\n {\r\n field: 'MonthlyTotalPrice', headerName: 'Monthly Total Price', hide: false, width: 100\r\n },\r\n {\r\n field: 'itemName', headerName: 'Proposal Type', hide: false, width: 170\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false, width: 170\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: false, width: 170\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: false, width: 170\r\n },\r\n {\r\n field: 'actualclosedate', headerName: 'Date Closed', hide: false,\r\n },\r\n {\r\n field: 'createdUser', headerName: 'Created By', hide: false, width: 100\r\n },\r\n {\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: true, width: 100, cellRenderer(params) {\r\n if (params.data.ProposalPOPDF != null && params.data.ProposalPOPDF != 0) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.ContactDetails = false;\r\n selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: true, width: 100, cellRenderer(params) {\r\n\r\n if (params.data.ProposalPDF != null && params.data.ProposalPDF != 0) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.ContactDetails = false;\r\n selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'ProposalID', headerName: 'ProposalID', hide: true, width: 110,\r\n }, \r\n {\r\n field: 'AccountId', headerName: 'AccountId', hide: true, width: 200\r\n },\r\n {\r\n field: 'OpportunityID', headerName: 'OpportunityID', hide: true, width: 110,\r\n },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right'\r\n\r\n , cellRenderer(params) {\r\n if (params.data.isPended != '1' && params.data.isPended != 1) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.DeletePendProposal(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n }\r\n ];\r\n\r\n }\r\n }\r\n\r\n PDFClick(val, type) {\r\n if (this.redirectFrom == 'dashboard') {\r\n localStorage.setItem('proposalPdfId', val);\r\n localStorage.setItem('redirectfrom', 'dashboard');\r\n this.applicationComponent.activateMainButtons('Proposals');\r\n }\r\n else {\r\n this.ShowPdfDiv = true;\r\n this.PDFDIVCss();\r\n this.userService.GetProposalsDocumentContent(val).then(result => {\r\n if (result != null) {\r\n let SO = this\r\n $(setTimeout(function () {\r\n SO.onDocumentOpen(result.PdfContent);\r\n }, 300));\r\n }\r\n });\r\n }\r\n }\r\n PDFDIVCss() {\r\n setTimeout(function () {\r\n $('#PDFDiv .dialog').attr('style', 'width: 47%;padding: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 75%;overflow: auto;height: 99%;top: 0%;left: 53%;');\r\n }, 4)\r\n }\r\n ExpandPDF() {\r\n this.ExpandPDFDiv = !this.ExpandPDFDiv;\r\n }\r\n DeleteProposal() {\r\n this.Proposal.ProposalID = this.ProposalID;\r\n this.Proposal.isdeleted = 1;\r\n this.CancelProposal=false;\r\n this.userService.InsertProposal(this.Proposal).then(result => {\r\n \r\n \r\n });\r\n }\r\n\r\n closeShowPdfDiv() {\r\n this.ShowPdfDiv = false;\r\n this.ExpandPDFDiv = false;\r\n\r\n let so = this;\r\n $(setTimeout(function () {\r\n so.contDashComp.GetContactInfo(so.SelectedContactId);\r\n so.contDashComp.ShowRightInfoDiv = false;\r\n }, 100));\r\n }\r\n calanderclick(val) {\r\n this.calanderonoff = val;\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n\r\n }\r\n GetAllaccesusersListbyuser() {\r\n\r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n\r\n\r\n LoadAccountandContacts(ContactId) {\r\n this.customerService.GetContactById(ContactId).then(result => {\r\n this.contact = result;\r\n if (result) {\r\n this.customerService.loadaccountdata(result.accountid).then(result => {\r\n this.account = result;\r\n if (this.AllProposals != null) {\r\n this.AllProposalsHistory = this.AllProposals.filter(x => x.AccountId == this.account.id);\r\n let so = this;\r\n $(setTimeout(function () {\r\n so.gridHistoryOptions.api.forEachNode((node) => {\r\n if (node.data.ProposalID == so.PropId) {\r\n so.gridHistoryOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 200));\r\n }\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.country, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.owner);\r\n this.customerService.GetAccountContactList(this.account.id).then((conatct) => {\r\n this.contactList = conatct;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n //selfObj.Proposal.opportunities.accountorcontactid = selfObj.SelectedContactId;\r\n $(\"#ContactList\").val(selfObj.SelectedContactId);\r\n }, 500));\r\n\r\n this.contactList.forEach(p => {\r\n this.getAllOpportunitiesbyContactid(p.id)\r\n });\r\n this.GetAllProposalByAccount(this.account.id);\r\n });\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n LoadAccountandContactsByAccountID(accountid) {\r\n this.customerService.loadaccountdata(accountid).then(result => {\r\n this.account = result;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.country, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.owner);\r\n this.customerService.GetAccountContactList(this.account.id).then((conatct) => {\r\n this.contactList = conatct;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.Proposal.opportunities.accountorcontactid = selfObj.SelectedContactId;\r\n $(\"#ContactList\").val(selfObj.SelectedContactId);\r\n }, 500));\r\n\r\n this.contactList.forEach(p => {\r\n this.getAllOpportunitiesbyContactid(p.id)\r\n });\r\n this.GetAllProposalByAccount(this.account.id);\r\n });\r\n });\r\n }\r\n\r\n getAllOpportunitiesbyContactid(contactids) {\r\n this.opprtunityservice.GetAllOpportunitiesListByAccountorContact(contactids, 'Opt').then((customer) => {\r\n this.OpportunitiesCount += customer.length;\r\n\r\n });\r\n }\r\n loadDropDowns() {\r\n this.opprtunityservice.GetAllItems().then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.opprtunityitemlist = items;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"ProbabiltyClose\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.pclist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"Drs\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.drlist = pc;\r\n });\r\n\r\n this.opprtunityservice.GetSpecialityList(\"Midlevels\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.midlevelslist = pc;\r\n });\r\n\r\n //this.opprtunityservice.GetSpecialityList(\"LeadFrom\", this.currentuser.id).then((pc) => {\r\n\r\n this.opprtunityservice.GetFieldItems(3, 'Lead From', this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.leadfromlist = pc;\r\n });\r\n this.customerService.GetLoggedinUserList(this.currentuser.id, this.currentuser.systemadministrator).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.OwnerList = Owner;\r\n });\r\n }\r\n\r\n GetAllProposalItems() {\r\n this.allProposalItemsDuplicate=[];\r\n this.userService.GetAllProposalItemsWithSortOrder(this.currentuser.id, 0).then(result => {\r\n this.allProposalItems = result;\r\n this.allProposalItemsDuplicate = result;\r\n \r\n var PreviousCategory = '0';\r\n //this.categories.push({ id: null, itemName: 'Display All Rows', category: '', isdeleted: 0, taskgroupid: 0 });\r\n result.forEach(p => {\r\n if (p.Categoryids == PreviousCategory) {\r\n p.CategoryName = null;\r\n } else {\r\n this.categories.push({ id: Number(p.Categoryids), itemName: p.CategoryName, category: '', isdeleted: 0, taskgroupid: 0 })\r\n\r\n }\r\n PreviousCategory = p.Categoryids;\r\n });\r\n\r\n });\r\n }\r\n\r\n GetAllProposalByAccount(accid) {\r\n this.PendedProposals = [];\r\n this.userService.GetAllProposalsByAccount(accid).then(AccountProposals => {\r\n this.OpenProposalCount = AccountProposals.filter(x => x.status == \"108\").length;\r\n this.PendedProposalCount = AccountProposals.filter(x => x.status == \"111\").length;\r\n this.WonProposalCount = AccountProposals.filter(x => x.status == \"109\").length;\r\n this.LostProposalCount = AccountProposals.filter(x => x.status == \"110\").length;\r\n\r\n });\r\n\r\n this.userService.LastCreatedProposalsByAccount(accid).then(result => {\r\n \r\n if (result.length > 0) {\r\n this.LastProposalDate = result[0].CreatedDate;\r\n this.userService.GetPendedProposalsByAccount(accid).then(res => {\r\n this.Pended = res;\r\n res.forEach(ele => {\r\n var Proposal = new Proposals();\r\n this.opprtunityservice.GetByOpportunityId(ele.OpportunityID).then(result => {\r\n Object.assign(Proposal, ele);\r\n Proposal.opportunities = result;\r\n \r\n this.PendedProposals.push(Proposal);\r\n\r\n if (this.ProposalID != undefined) {\r\n const res = this.PendedProposals.filter(x => x.ProposalID === Number(this.ProposalID));\r\n if (res && res[0] !== undefined) {\r\n this.SelectedProposal(res[0]);\r\n }\r\n\r\n $(\"#test\").val('');\r\n }\r\n });\r\n\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n GetAllProposal(userid) { \r\n this.userService.GetAllProposals(userid, this.Type, this.isPended, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal).then(result => {\r\n \r\n result.forEach(result => {\r\n result.CreatedDate = this.datePipe.transform(result.CreatedDate, \"MM/dd/yyyy\");\r\n });\r\n this.AllProposals = result;\r\n\r\n if (this.AllProposals.length > 0) {\r\n\r\n if (this.ProposalID != null && this.ProposalID != undefined) {\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.ProposalID == selfObj.ProposalID) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n }\r\n else if (this.redirectFrom && this.redirectFrom !== 'dashboard') {\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode(node => node.rowIndex ? 0 : node.setSelected(true));\r\n\r\n }, 500));\r\n }\r\n else {\r\n if (this.ContactDetails) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.ProposalID == selfObj.AllProposals[0].ProposalID) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.rowSelection = 'single';\r\n }\r\n });\r\n }, 500));\r\n }\r\n }\r\n }\r\n else {\r\n this.AllProposalsHistory = [];\r\n\r\n }\r\n\r\n }); \r\n }\r\n\r\n ProposalItemChecked(ProposalItem) {\r\n\r\n var res = $('#CheckBox' + ProposalItem.ItemId).prop(\"checked\")\r\n if (res == true) {\r\n var total = parseInt($('#Total' + ProposalItem.ItemId).val());\r\n var Monthly = parseInt($('#MonthlyTotal' + ProposalItem.ItemId).val());\r\n //this.TotalProposalPrice += total\r\n //this.MonthlyTotalProposalPrice += Monthly\r\n\r\n\r\n this.Proposal.ProposalIds += ProposalItem.ItemId + ':' + $('#Units' + ProposalItem.ItemId).val() + \",\";\r\n\r\n ProposalItem.Units = $('#Units' + ProposalItem.ItemId).val();\r\n ProposalItem.PriceTotal = total;\r\n ProposalItem.MonthlyTotal = Monthly;\r\n this.SelectedProposalItems.push(ProposalItem);\r\n }\r\n else {\r\n var total = parseInt($('#Total' + ProposalItem.ItemId).val());\r\n var Monthly = parseInt($('#MonthlyTotal' + ProposalItem.ItemId).val());\r\n //this.TotalProposalPrice -= total;\r\n //this.MonthlyTotalProposalPrice -= Monthly;\r\n var i = ProposalItem.ItemId + ':' + $('#Units' + ProposalItem.ItemId).val();\r\n var ProposalIds = this.Proposal.ProposalIds.split(',');\r\n ProposalIds = ProposalIds.filter(p => p != i)\r\n this.Proposal.ProposalIds = ProposalIds.join(',');\r\n $('#Units' + ProposalItem.ItemId).val('');\r\n $('#Total' + ProposalItem.ItemId).val('');\r\n $('#MonthlyTotal' + ProposalItem.ItemId).val('');\r\n $('#CheckBox' + ProposalItem.ItemId).attr('DISABLED', 'disabled');\r\n ProposalItem.PriceTotal = '';\r\n ProposalItem.MonthlyTotal = '';\r\n this.SelectedProposalItems = this.SelectedProposalItems.filter(p => p != ProposalItem);\r\n }\r\n }\r\n\r\n UnitsEnter(ProposalItem) {\r\n var Units = $('#Units' + ProposalItem.ItemId).val();\r\n this.ProposalDocumentGenerated = false;\r\n this.PODocumentGenerated = false;\r\n var Total;\r\n var Monthly;\r\n if (Units != '' && Units != '0') {\r\n if (this.NumberOfMonths == 12) {\r\n Total = ProposalItem.Price12 * Units;\r\n Monthly = ProposalItem.Monthly12 * Units;\r\n } else if (this.NumberOfMonths == 24) {\r\n Total = ProposalItem.Price24 * Units;\r\n Monthly = ProposalItem.Monthly24 * Units;\r\n } else if (this.NumberOfMonths == 36) {\r\n Total = ProposalItem.Price36 * Units;\r\n Monthly = ProposalItem.Monthly36 * Units;\r\n }\r\n\r\n $('#Total' + ProposalItem.ItemId).val(\"$\" + (Total).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n $('#MonthlyTotal' + ProposalItem.ItemId).val(\"$\" + (Monthly).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n\r\n this.ColourTextBoxes(ProposalItem.ItemId);\r\n ProposalItem.Units = $('#Units' + ProposalItem.ItemId).val();\r\n ProposalItem.PriceTotal = Total;\r\n ProposalItem.MonthlyTotal = Monthly;\r\n var P = this.SelectedProposalItems.filter(p => p.ItemId != ProposalItem.ItemId);\r\n this.SelectedProposalItems = P;\r\n this.SelectedProposalItems.push(ProposalItem);\r\n } else {\r\n $('#Total' + ProposalItem.ItemId).val(\"\");\r\n $('#MonthlyTotal' + ProposalItem.ItemId).val(\"\");\r\n var P = this.SelectedProposalItems.filter(p => p.ItemId != ProposalItem.ItemId);\r\n this.SelectedProposalItems = P;\r\n Total = 0;\r\n Monthly = 0;\r\n this.RemoveColourTextBoxes(ProposalItem.ItemId);\r\n }\r\n this.MonthlyTotalProposalPrice = 0;\r\n this.TotalProposalPrice = 0;\r\n this.SelectedProposalItems.forEach(p => {\r\n this.MonthlyTotalProposalPrice += p.MonthlyTotal;\r\n this.TotalProposalPrice += p.PriceTotal;\r\n if (this.ShowPercentDiscountBox == false) { \r\n this.DiscountSelection($(\".ActiveDiscount\").attr('id')); \r\n } else {\r\n \r\n if (this.Proposal.TotalDiscountPercent != null) {\r\n this.PriceDiscountEnter();\r\n }\r\n if (this.Proposal.MonthlyDiscountPercent != null) {\r\n this.MonthlyDiscountEnter();\r\n }\r\n }\r\n\r\n\r\n });\r\n this.TotalProposalPriceString = \"$\" + (this.TotalProposalPrice).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n this.MonthlyTotalProposalPriceString = \"$\" + (this.MonthlyTotalProposalPrice).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n\r\n this.Proposal.opportunities.dollers = (this.TotalProposalPrice).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n this.Proposal.opportunities.RR = (this.MonthlyTotalProposalPrice).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n this.Proposal.ProposalIds = '';\r\n this.SelectedProposalItems.forEach(ele => {\r\n this.Proposal.ProposalIds += ele.ItemId + ':' + ele.Units + \",\";\r\n });\r\n //if (this.Proposal.ProposalIds != '' || this.Proposal.ProposalIds != null || this.Proposal.ProposalIds != undefined) {\r\n // var i = ProposalItem.ItemId;\r\n // var ProposalIds = this.Proposal.ProposalIds.split(',');\r\n // ProposalIds = ProposalIds.filter(p => p.split(':')[0] != i);\r\n // this.Proposal.ProposalIds = ProposalIds.join(',');\r\n // this.Proposal.ProposalIds += i + ':' + $('#Units' + ProposalItem.ItemId).val() + ',';\r\n //} else {\r\n // this.Proposal.ProposalIds += ProposalItem.ItemId + ':' + $('#Units' + ProposalItem.ItemId).val() + \",\";\r\n //}\r\n }\r\n\r\n ColourTextBoxes(ItemId) {\r\n $('#Units' + ItemId).attr('style', 'width:100%;background-color:#a2e477;text-align:center');\r\n $('#Total' + ItemId).attr('style', 'width:100%;background-color:#a2e477;');\r\n $('#MonthlyTotal' + ItemId).attr('style', 'width:100%;background-color:#a2e477;');\r\n }\r\n\r\n RemoveColourTextBoxes(ItemId) {\r\n $('#Units' + ItemId).attr('style', 'width:100%;');\r\n $('#Total' + ItemId).attr('style', 'width:100%;');\r\n $('#MonthlyTotal' + ItemId).attr('style', 'width:100%;');\r\n }\r\n PriceDiscountEnter() {\r\n var Percent = Number($('#PercentPriceDiscount').val());\r\n if (Percent > 0) {\r\n var PriceDiscount = this.TotalProposalPrice - (this.TotalProposalPrice / 100 * Percent);\r\n this.Proposal.opportunities.dollers = PriceDiscount.toString(); \r\n $('#PriceDiscount').val(\"$\" + (PriceDiscount).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n // $('#PercentPriceDiscount').val(Percent + \"%\");\r\n }\r\n else {\r\n $('#PriceDiscount').val(\"\");\r\n }\r\n\r\n }\r\n MonthlyDiscountEnter() {\r\n var Percent = Number($('#PercentMonthlyDiscount').val());\r\n if (Percent > 0) {\r\n var MonthlyDiscount = this.MonthlyTotalProposalPrice - (this.MonthlyTotalProposalPrice / 100 * Percent);\r\n this.Proposal.opportunities.RR = MonthlyDiscount.toString()\r\n ;\r\n \r\n $('#MonthlyDiscount').val(\"$\" + (MonthlyDiscount).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n // $('#PercentMonthlyDiscount').val(Percent + \"%\")\r\n }\r\n else {\r\n $('#MonthlyDiscount').val(\"\");\r\n }\r\n }\r\n\r\n ExpandTable() {\r\n this.ProposalTableExpand = !this.ProposalTableExpand;\r\n }\r\n FormValidation(val) {\r\n\r\n if (val == \"Yes\") {\r\n\r\n if (this.ProposalDocumentGenerated == true && this.PODocumentGenerated == true) {\r\n this.SaveConfirmationDialog = true;\r\n this.SaveConfirmationDialogCss();\r\n }\r\n else {\r\n this.DocumentWarningDialog = true;\r\n this.DocumentWarningDialogCss();\r\n }\r\n this.FormValidationDialog = false;\r\n } else {\r\n this.FormValidationDialog = false;\r\n }\r\n }\r\n SaveDialog(val) {\r\n this.pendedval = val;\r\n if ($('#proposalvalid').val() == \"true\") {\r\n if (this.ProposalDocumentGenerated == true && this.PODocumentGenerated == true) {\r\n this.SaveConfirmationDialog = true;\r\n this.SaveConfirmationDialogCss();\r\n }\r\n else {\r\n this.DocumentWarningDialog = true;\r\n this.DocumentWarningDialogCss();\r\n }\r\n }\r\n else {\r\n this.FormValidationDialog = true;\r\n this.FormValidationDialogCss();\r\n }\r\n\r\n }\r\n CancelSaveConfirmationDialog() {\r\n this.SaveConfirmationDialog = !this.SaveConfirmationDialog;\r\n }\r\n CancelFormValidationDialog() {\r\n this.FormValidationDialog = !this.FormValidationDialog;\r\n }\r\n SaveConfirmationDialogCss() {\r\n setTimeout(function () {\r\n $('#SaveConfirmationDialog .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4)\r\n }\r\n FormValidationDialogCss() {\r\n this.applicationComponent.salesxcrmDialog('#FormValidationDialog .dialog'); \r\n }\r\n ShowLoaderCss() {\r\n setTimeout(function () {\r\n $('#ShowLoader .dialog').attr('style', 'width: 35%;padding: 2.5% 0 0 3%;border: 4px solid rgb(156 251 93);min-height: 15%;background: transparent;overflow: auto;height: 11%;top: 43%;max-width: 88%;left: 10%;color: white;');\r\n }, 4);\r\n }\r\n SaveProposal(val, ispended) {\r\n this.Proposal.isPended = ispended;\r\n if (this.Proposal.opportunities.id == 0 || this.Proposal.opportunities.id == undefined) {\r\n this.NewForm.addControl('userid', new FormControl(this.currentuser.id));\r\n this.NewForm.addControl('accountorcontactid', new FormControl(this.Proposal.opportunities.accountorcontactid));\r\n this.NewForm.addControl('type', new FormControl(this.Proposal.opportunities.type));\r\n this.NewForm.addControl('isdeleted', new FormControl(0));\r\n this.NewForm.addControl('ownerid', new FormControl(this.Proposal.opportunities.ownerid));\r\n this.NewForm.addControl('practiceid', new FormControl(this.Proposal.opportunities.accountorcontactid));\r\n this.NewForm.addControl('source', new FormControl(\"Proposal\"));\r\n this.NewForm.addControl('OpportunityFor', new FormControl('Opportunity'));\r\n var date = this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('datecreated', new FormControl(date));\r\n this.NewForm.controls['datecreated'].setValue(date);\r\n this.NewForm.addControl('actualclosedate', new FormControl(date));\r\n this.NewForm.controls['actualclosedate'].setValue(null);\r\n this.Proposal.opportunities.userid = this.currentuser.id;\r\n this.Proposal.opportunities.isdeleted = 0;\r\n this.Proposal.opportunities.datecreated = date;\r\n } else {\r\n var date = this.datePipe.transform(this.Proposal.opportunities.datecreated, 'yyyy-MM-dd HH:mm:ss');\r\n this.NewForm.addControl('datecreated', new FormControl(date));\r\n this.NewForm.controls['datecreated'].setValue(date);\r\n this.NewForm.addControl('accountorcontactid', new FormControl(this.Proposal.opportunities.accountorcontactid));\r\n this.NewForm.addControl('type', new FormControl(this.Proposal.opportunities.type));\r\n this.NewForm.addControl('isdeleted', new FormControl(this.Proposal.opportunities.isdeleted));\r\n this.NewForm.addControl('ownerid', new FormControl(this.Proposal.opportunities.ownerid));\r\n this.NewForm.addControl('practiceid', new FormControl(this.Proposal.opportunities.practiceid));\r\n this.NewForm.addControl('source', new FormControl(this.Proposal.opportunities.source));\r\n this.NewForm.addControl('OpportunityFor', new FormControl(this.Proposal.opportunities.OpportunityFor));\r\n this.Proposal.opportunities.userid = this.currentuser.id;\r\n this.Proposal.opportunities.isdeleted = 0;\r\n }\r\n let self = this;\r\n setTimeout(function () { \r\n self.addOpportunity(val);\r\n self.SaveConfirmationDialog = false;\r\n }, 4);\r\n\r\n }\r\n\r\n\r\n addOpportunity(val) {\r\n if (val == \"Yes\") {\r\n this.Proposal.opportunities.OpportunityFor = \"Proposal\";\r\n this.Proposal.opportunities.status = \"108\";\r\n } else {\r\n this.Proposal.opportunities.OpportunityFor = \"Proposal\";\r\n this.Proposal.opportunities.status = \"109\";\r\n }\r\n if (this.Proposal.MonthlyDiscountPercent == undefined || this.Proposal.MonthlyDiscountPercent == 0) {\r\n this.Proposal.opportunities.RR = this.MonthlyTotalProposalPrice.toString();\r\n }\r\n if (this.Proposal.TotalDiscountPercent == undefined || this.Proposal.MonthlyDiscountPercent == 0) {\r\n this.Proposal.opportunities.dollers = this.TotalProposalPrice.toString();\r\n }\r\n var ids = this.Proposal.ProposalIds.split(',');\r\n this.Proposal.ProposalIds = ids.filter(p => p != \"\").join(\",\");\r\n this.Proposal.opportunities.userid = this.currentuser.id;\r\n this.Proposal.opportunities.isdeleted = 0;\r\n this.Proposal.opportunities.drs = this.Proposal.opportunities.drs;\r\n this.Proposal.opportunities.midlevels = this.Proposal.opportunities.midlevels;\r\n this.Proposal.opportunities.fieldvalues = JSON.stringify(this.NewForm?.value);\r\n //if (this.Proposal.isPended == 0) {\r\n this.PDFNew('Proposal', false);\r\n this.PDFNew('PurchaseOrder', false);\r\n //}\r\n \r\n this.opprtunityservice.addopprtunity(this.Proposal.opportunities).then(result => {\r\n this.Proposal.OpportunityID = result.id;\r\n var notes = new Notes();\r\n this.PendProposal = false;\r\n notes.accountid = this.Proposal.OpportunityID;\r\n notes.type = \"Opportunity\";\r\n notes.notedescription = 'Opportunity Generated From Proposal';\r\n notes.userid = this.currentuser.id;\r\n this.opprtunityservice.addopprtunityNotes(notes).then(result => {\r\n this.userService.InsertProposal(this.Proposal).then(result => { \r\n if (this.Proposal.isPended == 1) {\r\n this.applicationComponent.activateMainButtons('PendedProposal');\r\n } \r\n else {\r\n this.GetAllProposalByAccount(this.account.id);\r\n this.toastr.success(\"Proposal saved successfully.\", \"Proposal Saved\", { timeOut: 600 });\r\n this.ClosePreviewDocuments();\r\n this.TotalProposalPriceString = '';\r\n this.MonthlyTotalProposalPriceString = '';\r\n }\r\n this.contactList.forEach(p => {\r\n this.getAllOpportunitiesbyContactid(p.id)\r\n })\r\n if (this.PageFrom === 'Leads') {\r\n //this.sendMsgEvent.emit(\"Proposal Saved\");\r\n }\r\n else if (this.ProposalType === \"Pend Proposal\") {\r\n\r\n const SelfObj = this;\r\n setTimeout(function () {\r\n // SelfObj.sendMsgEvent.emit(\"Pend Proposal\");\r\n SelfObj.PendProposal = false;\r\n SelfObj.ProposalPageChanges = false;\r\n }, 100)\r\n }\r\n else {\r\n\r\n if (this.Proposal.opportunities.status === \"108\") {\r\n this.applicationComponent.ProposalSubMenu('Open Proposals');\r\n }\r\n // this.sendMsgEvent.emit(\"Proposal Saved\");\r\n //this.ShowLoader = false;\r\n\r\n //else {\r\n // this.applicationComponent.ProposalSubMenu('Closed Proposals');\r\n //}\r\n }\r\n this.cancleProposal();\r\n this.Resetfields();\r\n this.DiasbleSaveButton = false;\r\n });\r\n\r\n });\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n LeadFromUpdate(val) {\r\n\r\n this.selectedLeadFrom = this.leadfromlist.filter(p => p.id == val.target.value)[0].opportunityitem\r\n\r\n }\r\n\r\n cancleProposal() {\r\n this.SaveConfirmationDialog = false;\r\n this.Proposal = new Proposals();\r\n\r\n this.GetAllProposalItems();\r\n this.TotalProposalPrice = 0;\r\n this.MonthlyTotalProposalPrice = 0;\r\n $('#PriceDiscount').val(\"\");\r\n $('#MonthlyDiscount').val(\"\");\r\n }\r\n\r\n onDocumentOpen(myBaseString) {\r\n $('#pdfDiv').html('')\r\n $('#pdfDiv').attr('style', 'width:100%;height: 100%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;margin-left:0%');\r\n }\r\n\r\n PreviewDocument(myBaseString) {\r\n \r\n var url = URL.createObjectURL(new Blob([myBaseString], {\r\n type: \"application/pdf\"\r\n }));\r\n \r\n $('#pdfDiv1').html('')\r\n $('#pdfDiv1').attr('style', 'width:100%;height: 632px;padding-left: 0;padding-right: 0%;border-top: 0px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;margin-left:0%');\r\n }\r\n\r\n PDFNew(val, showpdfval) {\r\n this.showpdf = showpdfval;\r\n if (this.Proposal.ProposalIds != \"\") {\r\n this.Proposal.TotalPrice = this.TotalProposalPrice;\r\n this.Proposal.MonthlyTotalPrice = this.MonthlyTotalProposalPrice;\r\n this.Proposal.CreatedBy = this.currentuser.id;\r\n this.Proposal.DefaultDiscount = !this.ShowPercentDiscountBox;\r\n this.Proposal.ContactId = this.Proposal.opportunities.accountorcontactid;\r\n this.Proposal.AccountId = this.account.id;\r\n this.Proposal.NumberOfMonths = this.NumberOfMonths;\r\n\r\n if (this.Proposal.opportunities.item != null) {\r\n this.Proposal.opportunities.itemName = this.opprtunityitemlist.filter(p => p.id == parseInt(this.Proposal.opportunities.item))[0].itemName;\r\n }\r\n if (this.Proposal.opportunities.leadfromid != null) {\r\n this.Proposal.opportunities.leadfrom = this.leadfromlist.filter(p => p.id == this.Proposal.opportunities.leadfromid)[0].opportunityitem;\r\n }\r\n this.Proposal.opportunities.userid = this.currentuser.id;\r\n\r\n this.Proposal.opportunities.source = \"Opt\";\r\n this.Proposal.opportunities.type = 'Contacts';\r\n var ids = this.Proposal.ProposalIds.split(',');\r\n this.Proposal.ProposalIds = ids.filter(p => p != \"\").join(\",\");\r\n this.Proposal.CreateduserName = this.currentuser.username;\r\n\r\n var timestamp;\r\n var now = new Date();\r\n timestamp = now.getFullYear().toString();\r\n timestamp += (((now.getMonth() + 1) < 9) ? '0' : '') + (now.getMonth() + 1).toString();\r\n timestamp += ((now.getDate() < 10) ? '0' : '') + now.getDate().toString();\r\n var ProposalCountOftheday;\r\n\r\n this.userService.GetProposalsByDate(this.datePipe.transform(new Date(), 'yyyy-MM-dd')).then((Owner) => {\r\n\r\n ProposalCountOftheday = Owner.filter(p => p.ProposalPDF != null);\r\n if (val == 'Proposal') {\r\n this.PreviewDocuments = true;\r\n this.Proposal.ProposalPDFID = timestamp + 'P' + (ProposalCountOftheday.length + 1);\r\n this.userService.GenerateProposalDocument(this.Proposal).subscribe(result => {\r\n this.PreviewDocuments = true;\r\n this.ProposalDocumentGenerated = true;\r\n if (this.showpdf) {\r\n this.PreviewDocument(result);\r\n }\r\n });\r\n }\r\n else if (val == 'PurchaseOrder') {\r\n this.PreviewDocuments = true;\r\n this.Proposal.ProposalPOID = timestamp + 'PO' + (ProposalCountOftheday.length + 1);\r\n this.userService.GeneratePODocument(this.Proposal).subscribe(result => {\r\n this.PreviewDocuments = true;\r\n this.PODocumentGenerated = true;\r\n if (this.showpdf) {\r\n this.PreviewDocument(result);\r\n }\r\n });\r\n }\r\n else if (val == 'SaveWithOutPreview') {\r\n this.DocumentWarningDialog = false;\r\n this.Proposal.ProposalPOID = timestamp + 'PO' + (ProposalCountOftheday.length + 1);\r\n this.Proposal.ProposalPDFID = timestamp + 'P' + (ProposalCountOftheday.length + 1);\r\n this.userService.GenerateProposalDocument(this.Proposal).subscribe(result => { });\r\n this.userService.GeneratePODocument(this.Proposal).subscribe(result => { });\r\n this.SaveConfirmationDialog = true;\r\n this.SaveConfirmationDialogCss();\r\n }\r\n });\r\n } else {\r\n this.MinmumOneItemAlert = true;\r\n this.applicationComponent.salesxcrmDialog('#MinmumOneItemAlert .dialog');\r\n \r\n }\r\n\r\n }\r\n \r\n CloseandPreview() {\r\n this.DocumentWarningDialog = false;\r\n }\r\n DocumentWarningDialogCss() {\r\n setTimeout(function () {\r\n $('#DocumentWarningDialog .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n}, 4)\r\n }\r\n onItemSelect(item: any) {\r\n\r\n if (item.id !== null) {\r\n\r\n this.selectedCategoryIDs = [];\r\n this.selectedCategoryIDs.push(item);\r\n \r\n this.filterProposals(this.selectedCategoryIDs)\r\n }\r\n else {\r\n this.allProposalItemsDuplicate = this.allProposalItems;\r\n }\r\n }\r\n OnItemDeSelect(item: any) {\r\n \r\n\r\n this.selectedCategoryIDs = this.selectedCategoryIDs.filter(x => x.id !== item.id);\r\n this.filterProposals(this.selectedCategoryIDs)\r\n }\r\n onSelectAll(items: any) {\r\n \r\n this.selectedCategoryIDs = items;\r\n this.filterProposals(this.selectedCategoryIDs)\r\n }\r\n\r\n onDeSelectAll(items: any) {\r\n \r\n this.selectedCategoryIDs = [];\r\n this.filterProposals(this.selectedCategoryIDs)\r\n }\r\n filterProposals(selectedCategoryIDs) {\r\n var PreviousCategory = '0';\r\n this.allProposalItemsDuplicate = [];\r\n selectedCategoryIDs.forEach(x => {\r\n var result = this.allProposalItems.filter(ele => Number(ele.Categoryids) === x.id)\r\n result.forEach(p => {\r\n if (p.Categoryids == PreviousCategory) {\r\n p.CategoryName = null;\r\n }\r\n PreviousCategory = p.Categoryids;\r\n this.allProposalItemsDuplicate.push(p);\r\n });\r\n });\r\n\r\n }\r\n openAccountNotes() {\r\n this.isModal = true;\r\n this.customerService.GetByAccountId(this.account.id).then(result => {\r\n this.account = result;\r\n });\r\n $('#accotIdNotes').val(this.account.id);\r\n $('#accotTypeNotes').val('Customer');\r\n this.GetCustomerNotes(this.account.id, 'Customer');\r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n this.conid = this.account.id;\r\n\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n GetCustomerNotes(contactid, type) {\r\n this.noteComp.GetCustomerNotes(this.currentuser.id, contactid, type);\r\n }\r\n\r\n CloseNotesDiv(val) {\r\n\r\n this.notesshowDialog = false;\r\n this.noteComp.openFileView = false;\r\n }\r\n\r\n ClosePreviewDocuments() {\r\n this.PreviewDocuments = false;\r\n this.ExpandPreviewPDFDiv = false;\r\n }\r\n\r\n PreviewPDFExpand() {\r\n this.ExpandPreviewPDFDiv = !this.ExpandPreviewPDFDiv;\r\n }\r\n\r\n initializeAgGridNotes() {\r\n\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes();\r\n\r\n }\r\n createColumnDefsnotes() {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n\r\n }\r\n onCloseDialogEventReceived(msg) {\r\n if (msg == 'false') {\r\n this.notesshowDialog = false;\r\n this.isModal = false;\r\n }\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n\r\n this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n this.UpdateSearchColumns(config.columnsselections);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 54;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n ContactSelected(event) {\r\n this.Proposal.opportunities.type = 'Contacts';\r\n this.Proposal.opportunities.accountorcontactid = event.target.value;\r\n }\r\n DiscountSelection(DId) {\r\n this.NumberOfMonths = DId;\r\n\r\n if (DId == '12') {\r\n\r\n this.MonthlyTotalProposalPrice = 0;\r\n this.TotalProposalPrice = 0;\r\n this.SelectedProposalItems.forEach(ele => {\r\n var Units = $('#Units' + ele.ItemId).val();\r\n if (Units != '') {\r\n if (this.NumberOfMonths == 12) {\r\n var Total = Units * ele.Price12;\r\n var Monthly = Units * ele.Monthly12;\r\n } else if (this.NumberOfMonths == 24) {\r\n var Total = Units * ele.Price24;\r\n var Monthly = Units * ele.Monthly24;\r\n } else if (this.NumberOfMonths == 36) {\r\n var Total = Units * ele.Price36;\r\n var Monthly = Units * ele.Monthly36;\r\n }\r\n\r\n $('#Total' + ele.ItemId).val(\"$\" + (Total).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n $('#MonthlyTotal' + ele.ItemId).val(\"$\" + (Monthly).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n\r\n\r\n ele.PriceTotal = Total;\r\n ele.MonthlyTotal = Monthly;\r\n\r\n this.MonthlyTotalProposalPrice += ele.MonthlyTotal;\r\n this.TotalProposalPrice += ele.PriceTotal;\r\n }\r\n\r\n\r\n });\r\n } else if (DId == '24') {\r\n this.MonthlyTotalProposalPrice = 0;\r\n this.TotalProposalPrice = 0;\r\n \r\n this.SelectedProposalItems.forEach(ele => {\r\n var Units = $('#Units' + ele.ItemId).val();\r\n if (Units != '') {\r\n var Total = Units * ele.Price24;\r\n var Monthly = Units * ele.Monthly24;\r\n $('#Total' + ele.ItemId).val(\"$\" + (Total).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n $('#MonthlyTotal' + ele.ItemId).val(\"$\" + (Monthly).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n ele.PriceTotal = Total;\r\n ele.MonthlyTotal = Monthly;\r\n\r\n this.MonthlyTotalProposalPrice += ele.MonthlyTotal;\r\n this.TotalProposalPrice += ele.PriceTotal;\r\n }\r\n\r\n\r\n });\r\n } else if (DId == '36') {\r\n this.MonthlyTotalProposalPrice = 0;\r\n this.TotalProposalPrice = 0;\r\n this.SelectedProposalItems.forEach(ele => {\r\n var Units = $('#Units' + ele.ItemId).val();\r\n if (Units != '') {\r\n var Total = Units * ele.Price36;\r\n var Monthly = Units * ele.Monthly36;\r\n $('#Total' + ele.ItemId).val(\"$\" + (Total).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n $('#MonthlyTotal' + ele.ItemId).val(\"$\" + (Monthly).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,'));\r\n ele.PriceTotal = Total;\r\n ele.MonthlyTotal = Monthly;\r\n\r\n this.MonthlyTotalProposalPrice += ele.MonthlyTotal;\r\n this.TotalProposalPrice += ele.PriceTotal;\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n this.currentuser.proposalSelection = DId;\r\n localStorage.setItem('currentUser', JSON.stringify(this.currentuser));\r\n\r\n this.customerService.UpdateProposal(this.currentuser.id, DId).then((user) => {\r\n \r\n });\r\n\r\n this.TotalProposalPriceString = \"$\" + (this.TotalProposalPrice).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n this.MonthlyTotalProposalPriceString = \"$\" + (this.MonthlyTotalProposalPrice).toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n\r\n $('.DefaultDiscountCss').removeClass('ActiveDiscount');\r\n $('#' + DId).addClass('ActiveDiscount');\r\n this.PriceDiscountEnter();\r\n this.MonthlyDiscountEnter();\r\n \r\n this.ProposalDocumentGenerated = false;\r\n this.PODocumentGenerated = false;\r\n }\r\n ShowPercentDiscount() {\r\n this.ShowPercentDiscountBox = !this.ShowPercentDiscountBox;\r\n if (this.ShowPercentDiscountBox == true) {\r\n this.Proposal.TotalDiscountPercent = null;\r\n this.Proposal.MonthlyDiscountPercent = null;\r\n $('#PriceDiscount').val(\"\");\r\n $('#MonthlyDiscount').val(\"\");\r\n this.Proposal.opportunities.RR = \"\";\r\n this.Proposal.opportunities.dollers = \"\";\r\n }\r\n else {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n \r\n selfObj.DiscountSelection($(\".ActiveDiscount\").attr('id'));\r\n }, 200));\r\n\r\n }\r\n\r\n } dateChange(event) { }\r\n IsButtonAccess(type, addedit) {\r\n\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n if (outProps.enableSearch) { this.EnableSearch = true; }\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize));\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n this.Type = outProps.secondDrpValue !== undefined ? outProps.secondDrpValue : this.Type;\r\n\r\n if (this.Type == 'Pended Proposals') {\r\n this.getPendedProposals($(\"#userids\").val());\r\n } else {\r\n if (!outProps.pageSizeChanged) {\r\n if (outProps.startDateVal != \"\" && outProps.startDateVal != null) {\r\n this.startDateVal = outProps.startDateVal;\r\n }\r\n if (outProps.endDateVal != \"\" && outProps.endDateVal != null) {\r\n this.endDateVal = outProps.endDateVal;\r\n }\r\n if (outProps.thirdDrpValue == '720') {\r\n this.isPended = 0;\r\n }\r\n else {\r\n this.isPended = 1;\r\n }\r\n this.GetAllProposal($(\"#userids\").val());\r\n }\r\n }\r\n\r\n } else {\r\n this.AllProposals = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n getPendedProposals(userid) {\r\n this.userService.GetAllPendedProposals(userid, 1).then(result => {\r\n this.AllProposals = result;\r\n });\r\n }\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata,ownerName) {\r\n\r\n //var properCity = city.charAt(0).toUpperCase() + city.substr(1).toLowerCase();\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country==882?\"Bahamas\":\"USA\";\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.viewaccount.ownerName = ownerName;\r\n this.accdetailcmp.loadAccountId(accId);\r\n }\r\n addContact() {\r\n //if (this.practiceid == \"view\") {\r\n // this.applicationComponent.isAccessDenied = true;\r\n //} else {\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Contacts\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.clear();\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n //}\r\n }\r\n AccountsharingAg(selectedval) {\r\n //if (this.practiceid == \"view\") {\r\n // this.applicationComponent.isAccessDenied = true;\r\n //} else {\r\n\r\n if (selectedval == \"Edit\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else if (selectedval == \"View\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else {\r\n this.isSharing = true;\r\n this.rightMainDivHideShow = false;\r\n this.accountSharingid = 1;\r\n this.AddContacttableDiv = false;\r\n this.ownrshipComp.loadAccountInformation(this.account.id, 0);\r\n }\r\n //}\r\n\r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n\r\n }\r\n }\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n\r\n\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n //this.GetAllProviderAndContactInfo(this.account.id)\r\n }\r\n btnClickReceived(event) {\r\n if (event.btnName == 'addContact') {\r\n this.addContact();\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n this.openAccountNotes();\r\n }\r\n else if (event.btnName == 'AccountInfo')\r\n {\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n this.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n localStorage.setItem('RhxAccountVal', event.val);\r\n }\r\n }\r\n handleClick(event) {\r\n\r\n this.ProposalPageChanges = true;\r\n var clickedComponent = event.target;\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n\r\n //$('#test').val('Proposals');\r\n } else {\r\n\r\n }\r\n }\r\n\r\n pendProposal() {\r\n this.ProposalType = \"Pend Proposal\";\r\n this.Proposal.ContactId = this.Proposal.opportunities.accountorcontactid;\r\n this.Proposal.AccountId = this.account.id;\r\n this.Proposal.CreatedBy = this.currentuser.id; \r\n this.SaveProposal('Yes', 1);\r\n\r\n\r\n }\r\n ShowPendedproposals() {\r\n this.PendedProposalsDialog = true;\r\n setTimeout(function () {\r\n $('#PendedProposalsDialog .dialog').attr('style', 'width:35%;padding-bottom:0px;border:3px solid #00B0F0;min-height:75%;overflow:auto;height:84%;left:63%;top:10%;padding:0;');\r\n }, 4)\r\n }\r\n\r\n SelectedProposal(val) {\r\n\r\n this.Proposal = val;\r\n\r\n this.PendedProposalsDialog = false;\r\n \r\n this.GetAllProposalItems();\r\n var ProposalIds = []\r\n this.SelectedProposalItems = [];\r\n let SelfObj = this;\r\n setTimeout(function () {\r\n\r\n if (SelfObj.Proposal.ProposalIds != \"\") {\r\n ProposalIds = SelfObj.Proposal.ProposalIds.split(',');\r\n ProposalIds.forEach(ele => {\r\n if (ele != \"\") {\r\n var res = SelfObj.allProposalItemsDuplicate.filter(x => x.ItemId == Number(ele.split(':')[0]));\r\n $('#Units' + ele.split(':')[0]).val(ele.split(':')[1]);\r\n SelfObj.UnitsEnter(res[0]);\r\n }\r\n });\r\n }\r\n else {\r\n SelfObj.MonthlyTotalProposalPriceString = '0';\r\n SelfObj.TotalProposalPriceString = '0';\r\n\r\n }\r\n\r\n\r\n if (SelfObj.Proposal.ProposalPDFID != null) {\r\n SelfObj.ProposalDocumentGenerated = true;\r\n } else {\r\n SelfObj.ProposalDocumentGenerated = false;\r\n }\r\n if (SelfObj.Proposal.ProposalPOID != null) {\r\n SelfObj.PODocumentGenerated = true;\r\n } else {\r\n SelfObj.PODocumentGenerated = false;\r\n }\r\n\r\n if (SelfObj.Proposal.MonthlyDiscountPercent || SelfObj.Proposal.TotalDiscountPercent) {\r\n SelfObj.ShowPercentDiscountBox = true;\r\n } else {\r\n SelfObj.ShowPercentDiscountBox = false;\r\n }\r\n }, 300);\r\n\r\n\r\n }\r\n\r\n DeletePendProposal(item) {\r\n this.Proposal = item;\r\n if (this.Proposal.isPended != 1) {\r\n this.applicationComponent.loaddialog('ProposalDelete', 'Delete Proposal', 'Linked Opportunity will be Deleted', false, false, true, true, this.Proposal.ProposalID)\r\n } else {\r\n this.applicationComponent.loaddialog('ProposalDelete', 'Delete Pended Proposal', 'Delete Proposal and Opportunity?', false, false, true, true, this.Proposal.ProposalID)\r\n }\r\n }\r\n\r\n //Confirmation(val) {\r\n // if (val == 'Yes') {\r\n // // this.Proposal.ProposalID = this.ProposalID;\r\n // this.Proposal.isdeleted = 1;\r\n // this.userService.InsertProposal(this.Proposal).then(result => {\r\n // this.DeleteConfirmation = false;\r\n // this.GetAllProposal($(\"#userids\").val());\r\n // this.ContactDetails = false;\r\n // });\r\n // } else {\r\n // this.DeleteConfirmation = false;\r\n // }\r\n //}\r\n\r\n\r\n Close() {\r\n this.applicationComponent.selectedsubbutton = \"\";\r\n this.location.back();\r\n }\r\n cancelProposal() {\r\n this.applicationComponent.CreateProposalPage = false;\r\n this.applicationComponent.pageViewed = \"\";\r\n }\r\n openOpportunity() {\r\n this.applicationComponent.CollapseSelectedMenu('opportunities');\r\n this.applicationComponent.ExpandSelectedMenu('opportunities');\r\n let AccountOrContactId = this.Proposal.ContactId;\r\n let opportunityId = this.Proposal.OpportunityID;\r\n let type = 'Contacts';\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/${AccountOrContactId}/${type}/null/${opportunityId}`);\r\n\r\n\r\n }\r\n CloseCss() {\r\n this.applicationComponent.salesxcrmDialog('#CloseAddProposal .dialog');\r\n \r\n }\r\n cancelAddProposal() {\r\n\r\n if (this.PageFrom == 'Leads') {\r\n // this.sendMsgEvent.emit(\"Discard\");\r\n } else {\r\n this.applicationComponent.ProposalOverLayWarning = false;\r\n this.applicationComponent.CreateProposalPage = false;\r\n this.applicationComponent.pageViewed = \"\";\r\n }\r\n // this.applicationComponent.activateMainButtons(this.applicationComponent.selectedtabid);\r\n }\r\n\r\n rowClickAgGrid(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n var data = event.api.getSelectedNodes()[0].data;\r\n\r\n if (this.PageFrom == 'Leads') {\r\n this.applicationComponent.activateMainButtons('Proposals');\r\n this.PDFClick(data.ProposalPDF, 'Proposal');\r\n } else {\r\n this.ContactDetails = true;\r\n this.SelectedContactId = data.ContactId;\r\n this.Proposal = data;\r\n this.PropId = this.Proposal.ProposalID;\r\n this.LoadAccountandContacts(this.SelectedContactId);\r\n var obj: AuditLogModel = { id: 0, type: 'Proposal', action: 'Proposal Viewed', AccountOrContactId: this.Proposal.ContactId, AccountOrContact: \"Contact\", documentid: this.Proposal.ProposalID, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Proposal Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n }\r\n }\r\n } else {\r\n this.ContactDetails = false;\r\n this.ShowPdfDiv = false\r\n this.SelectedContactId = 0;\r\n this.Proposal = new Proposals();\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n onAccountMessageReceived(msg) {\r\n if (msg == 'AccountView') {\r\n localStorage.setItem('RhxContactVal', (this.Proposal.ContactId).toString());\r\n\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }, 50));\r\n }\r\n }\r\n\r\n getProjectFields() {\r\n\r\n this.opprtunityservice.GetOpportunityFields(this.currentuser.id).then(result => {\r\n this.OpportunityFieldsList = result;\r\n result.forEach(ele => {\r\n if (ele.DataType == 'Pick List' || ele.DataType == 'System Lookup') {\r\n if (ele.ColumnName == 'ownerid') {\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 0, 0).then((Owner) => {\r\n ele['Data'] = Owner;\r\n this.dropdownList = Owner;\r\n });\r\n } else if (ele.ColumnName == 'status') {\r\n this.opprtunityservice.GetFieldItems(ele.OppFieldId, ele.FieldName, this.currentuser.id).then((accounttype) => {\r\n\r\n if (this.ProposalID == undefined) {\r\n ele['Data'] = accounttype.filter(x => x.id == 108);\r\n } else { ele['Data'] = accounttype; }\r\n });\r\n }\r\n\r\n else {\r\n this.opprtunityservice.GetFieldItems(ele.OppFieldId, ele.FieldName, this.currentuser.id).then((accounttype) => {\r\n ele['Data'] = accounttype;\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n let So = this;\r\n setTimeout(function () {\r\n So.Fields = result;\r\n \r\n So.Fields.forEach(x => {\r\n So.NewForm.addControl(x.ColumnName, new FormControl(''));\r\n });\r\n\r\n\r\n }, 400)\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n FormDataEntered(val) {\r\n this.FormDataModified = true;\r\n \r\n }\r\n CloseProposal() {\r\n this.ClosePendProposalDialog = true;\r\n this.applicationComponent.salesxcrmDialog('#ClosePendProposalDialog .dialog');\r\n //setTimeout(function () {\r\n // $('#ClosePendProposalDialog .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n }\r\n ClosependProposal() {\r\n this.applicationComponent.CreateProposalPage = false;\r\n this.applicationComponent.pageViewed = \"\";\r\n }\r\n onFilterTextBoxChanged() {\r\n this.gridApi.setQuickFilter(\r\n (document.getElementById('filter-text-box') as HTMLInputElement).value\r\n );\r\n this.gridOptions.quickFilterText = (document.getElementById('filter-text-box') as HTMLInputElement).value;\r\n this.createColumnDefs(this.colSelections);\r\n this.gridApi.redrawRows(); \r\n }\r\n ClearSearch() {\r\n this.gridApi.setQuickFilter('');\r\n this.value = \"\";\r\n this.gridOptions.quickFilterText = \"\";\r\n this.createColumnDefs(this.colSelections);\r\n this.gridApi.redrawRows(); \r\n this.EnableSearch = false;\r\n }\r\n}\r\n\r\n","\r\n
      \r\n
      \r\n
      a
      \r\n Quick Search\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n Accounts\r\n
      \r\n
      \r\n \r\n Contacts\r\n
      \r\n
      \r\n \r\n Phone\r\n
      \r\n
      \r\n \r\n Email\r\n
      \r\n
      \r\n \r\n City\r\n
      \r\n
      \r\n \r\n State\r\n
      \r\n
      \r\n \r\n Zip\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n Active Customers\r\n
      \r\n
      \r\n \r\n Inactive Customers\r\n
      \r\n
      \r\n \r\n Shared Accounts\r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n SEARCH RESULTS\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n {{account.accounttypeName}}\r\n \r\n
      \r\n
      \r\n {{account.ownershipName}} \r\n
      \r\n
      \r\n {{(account.accountStatus == 14)? 'Active': (account.accountStatus == 15)? 'On Hold':''}}\r\n
      \r\n
      \r\n {{account.owner}} \r\n
      \r\n
      \r\n {{account.customertype}} \r\n
      \r\n
      \r\n {{LastContactDate}} \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n

      \r\n User List
      \r\n
      \r\n Save Changes to User List?
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Contacts } from 'src/app/models/contacts';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\ndeclare var $: any;\r\nimport { ContactsdashboardComponent } from '../../application/contacts/contactsdashboard/contactsdashboard.component';\r\nimport { AccountContactComponent } from '../account-contact/account-contact.component';\r\nimport { Location } from '@angular/common'\r\nimport { filter } from 'rxjs/operators';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { QuickSearchModel } from 'src/app/models/QuickSearchmodel';\r\nimport { Subject } from \"rxjs/Subject\";\r\nimport \"rxjs/add/operator/debounceTime\";\r\nimport \"rxjs/add/operator/distinctUntilChanged\";\r\n//import { Observable } from \"rxjs/Observable\";\r\nimport \"rxjs/add/operator/mergeMap\";\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/debounceTime';\r\nimport 'rxjs/add/operator/distinctUntilChanged';\r\nimport 'rxjs/add/operator/switchMap';\r\n\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { UserService } from '../../services/user.service';\r\nimport { AccountComponent } from '../account-contact/account/account.component';\r\nimport { RhxNames } from '../../models/RhxNames';\r\n@Component({\r\n selector: 'app-quick-search',\r\n templateUrl: './quick-search.component.html',\r\n styleUrls: ['./quick-search.component.css']\r\n})\r\nexport class QuickSearchComponent implements OnInit {\r\n public columnDefs: any[];\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n defaltAccountColumns: Accounts[];\r\n allCustomers: Accounts[];\r\n customertype: any = '0,1,2,3' ;\r\n currentuser: any;\r\n term: string='';\r\n public phonemask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n calanderonoff: boolean = false;\r\n AccountHistoryInfo: boolean = false;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 3) + '-01-01' : this.applicationComponent.startVal; \r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n timezonevalue: string;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; \r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");\r\n public context;\r\n search: string = null;\r\n searchCriteria: string = \"\";\r\n SearchType: string = \"accountName\";\r\n selectedval: string = '702';\r\n SearchResultTable: string = \"\";\r\n public ContactcolumnDefs: any[];\r\n allContacts: Contacts[];\r\n pageSize = \"\";\r\n private gridApi; \r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n @ViewChild(AccountComponent) accComp;\r\n previousUrl: string;\r\n selectedItems = [];\r\n dropdownList = [];\r\n UserIds: string;\r\n dropdownSetting = {};\r\n SearcValueDrpSetting = {};\r\n SearcTypeDrpSetting = {};\r\n SearchSharedDrpSetting = {};\r\n finalitems: any; \r\n QuickSearchModel: QuickSearchModel = new QuickSearchModel();\r\n account: Accounts = new Accounts();\r\n results: Object;\r\n subject: Subject = new Subject();\r\n QuickSearchConfig = [];\r\n MultiselectDropDownChanged: boolean = false;\r\n SaveUserListConfirmation: boolean = false;\r\n SearcValueList: Dropdowntype[] = [];\r\n SearchTypeList: Dropdowntype[] = [];\r\n SearchInactiveTypeList: Dropdowntype[] = [];\r\n SearchSharedAccountList: Dropdowntype[] = [];\r\n SearcValueModel: number = 702;\r\n SearcValueText: string = \"Account Name\";\r\n LastContactDate;\r\n SearchSharedModel = 726;\r\n SearchTypeModel = 711;\r\n SearchTypeInactiveModel = 714;\r\n selectedUserIds = \"\";\r\n @Input()\r\n SearchTab: string;\r\n showSearchTabGrid: boolean = false;\r\n selecteddrpVal: string = \"702\";\r\n recentaccountNames = []; recentcontactNames = []; recentphonenumbers= []; recentcities= []; recentstates= []; recentzips= [];\r\n recentemails= [];\r\n RHxNames: RhxNames[]; RHxContactSelected: boolean = false; RHxAccountSelected: boolean = false;\r\n isactivecustomer: boolean = true; isinactivecustomer: boolean = true; issharedaccounts: boolean = true;\r\n constructor(private router: Router, private opprtunityservice: OpprtunitiesService, public applicationComponent: ApplicationComponent, private userservice: UserService,\r\n private location: Location, private customerService: CustomerService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n var val = this.currentuser.lastSearchby;\r\n $(setTimeout(function () {\r\n $(\"#\" + val).trigger(\"click\");\r\n }, 200));\r\n this.QuickSearchConfig = JSON.parse(localStorage.getItem('QuickSearchConfig'));\r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n this.selectedUserIds = $(\"#userids\").val();\r\n \r\n }\r\n router.events.pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe((event: NavigationEnd) => {\r\n this.previousUrl = event.url;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.applicationComponent.pageViewed = \"Search\";\r\n \r\n let SelfObj = this;\r\n setTimeout(() => {\r\n document.getElementById('SearchTextbox').focus(); \r\n SelfObj.clearSearch();\r\n }, 100); \r\n this.dropdownList = this.applicationComponent.dropdownList; \r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ]; \r\n this.finalitems += this.currentuser.id + ',';\r\n this.UserIds = this.currentuser.id;\r\n this.allCustomers = [];\r\n this.allContacts = [];\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 10\r\n };\r\n \r\n this.subject\r\n .pipe(debounceTime(1000))\r\n .subscribe(() => {\r\n if (this.term != \"\") { \r\n this.GetContactSearchList(this.term, this.UserIds, this.isactivecustomer, this.isinactivecustomer, this.issharedaccounts);\r\n } else {\r\n this.allContacts = [];\r\n this.allCustomers = [];\r\n }\r\n \r\n }\r\n );\r\n this.initializeAgGrid();\r\n \r\n }\r\n onContactsSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n let rowData = event.api.getSelectedNodes()[0].data;\r\n this.AccountHistoryInfo = true;\r\n this.account.owner = rowData.owner;\r\n this.account.accounttypeName = rowData.accounttypeName;\r\n this.account.customertype = rowData.customertype == '1' || rowData.customertype == '2' ? \"Yes\" : \"No\";\r\n this.account.ownershipName = rowData.ownershipName;\r\n this.account.accountStatus = rowData.Status;\r\n this.customerService.LastContactedDateByAccID(rowData.accountid).then(result2 => {\r\n if (result2 != null && result2 != '0001-01-01T00:00:00') {\r\n this.LastContactDate = this.datePipe.transform(result2, \"MM-dd-yyyy\");\r\n }\r\n });\r\n $('#emailIds').val(rowData.accountid);\r\n }\r\n } else {\r\n this.AccountHistoryInfo = false;\r\n }\r\n\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n let rowData = event.api.getSelectedNodes()[0].data;\r\n this.AccountHistoryInfo = false;\r\n this.account.owner = rowData.owner;\r\n this.account.accounttypeName = rowData.accounttypeName;\r\n this.account.customertype = rowData.customertype == \"Customer\" || rowData.customertype == \"Former Customer\" ?\"Yes\":\"No\";\r\n this.account.ownershipName = rowData.ownershipName;\r\n this.account.accountStatus = rowData.accountStatus;\r\n this.customerService.LastContactedDateByAccID(rowData.id).then(result2 => {\r\n if (result2 != null && result2 != '0001-01-01T00:00:00') {\r\n this.LastContactDate = this.datePipe.transform(result2, \"MM-dd-yyyy\");\r\n }\r\n });\r\n $('#emailIds').val(rowData.id);\r\n }\r\n } else {\r\n this.AccountHistoryInfo = false;\r\n }\r\n\r\n }\r\n loadSearchdropdowns() { \r\n if (localStorage.getItem(\"LastSearchval\") != '' && localStorage.getItem(\"LastSearchval\")!='null') {\r\n this.SearcValueModel = parseInt(localStorage.getItem(\"LastSearchval\"));\r\n this.loadgrids(this.SearcValueModel); \r\n } \r\n }\r\n \r\n MultiUserSaveclicked() {\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems)); \r\n this.MultiselectDropDownChanged = false;\r\n this.SaveUserListConfirmation = false; \r\n }\r\n\r\n GetAllaccesusersListbyuser() {\r\n this.dropdownList = [];\r\n var active = $('#Active').prop(\"checked\") ? 1 : 0;\r\n var inactive = $('#Inactive').prop(\"checked\") ? 1 : 0;\r\n var suspended = $('#suspended').prop(\"checked\") ? 1 : 0;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, active, inactive, suspended).then((Owner) => {\r\n this.applicationComponent.dropdownList = Owner;\r\n });\r\n }\r\n\r\n\r\n SaveConfirm(val) {\r\n if (val == 'Yes') {\r\n this.MultiUserSaveclicked();\r\n } else {\r\n this.MultiselectDropDownChanged = false;\r\n this.SaveUserListConfirmation = false;\r\n }\r\n }\r\n\r\n SaveUserListConfirmationCss() {\r\n setTimeout(function () {\r\n $('#SaveUserListConfirmation .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%;left:18%');\r\n }, 4)\r\n }\r\n\r\n\r\n onItemSelect(item) {\r\n var SelectedUsers = [];\r\n SelectedUsers = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (SelectedUsers && SelectedUsers.length > 0) {\r\n SelectedUsers.push(item)\r\n } else {\r\n SelectedUsers.push( item);\r\n }\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(SelectedUsers));\r\n this.selectedUserIds = SelectedUsers.map(s => s.id).join(',');\r\n\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n this.IncludeSharedAccounts();\r\n }\r\n SearcValueItemSelect(itemval) { \r\n this.clearSearch();\r\n this.selectedval = itemval;\r\n this.selecteddrpVal = itemval;\r\n this.SearcValueText = itemval;\r\n this.loadgrids(itemval); \r\n this.AccountHistoryInfo = false;\r\n \r\n }\r\n loadgrids(searchtypeval) {\r\n if (searchtypeval == 702 || searchtypeval == 723 || searchtypeval == 706 ||\r\n searchtypeval == 724 || searchtypeval == 704) {\r\n this.SearchType = \"accountName\";\r\n this.SearchResultTable = 'Account';\r\n this.createColumnDefs();\r\n }\r\n else {\r\n this.SearchType = \"contactName\";\r\n this.SearchResultTable = 'Contact';\r\n if (this.term == '') this.term = null;\r\n this.SearchResultTable = 'Contact';\r\n this.createContactsColumnDefs();\r\n }\r\n \r\n }\r\n \r\n ActiveItemSelect(event) {\r\n this.GetContactSearchList(this.term, this.UserIds, this.isactivecustomer, this.isinactivecustomer, this.issharedaccounts); \r\n }\r\n InActiveItemSelect() {\r\n this.GetContactSearchList(this.term, this.UserIds, this.isactivecustomer, this.isinactivecustomer, this.issharedaccounts);\r\n }\r\n SharedAccountsSelect() {\r\n this.GetContactSearchList(this.term, this.UserIds, this.isactivecustomer, this.isinactivecustomer, this.issharedaccounts);\r\n }\r\n OnItemDeSelect(item) {\r\n var SelectedUsers = [];\r\n SelectedUsers = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (SelectedUsers && SelectedUsers.length > 0) {\r\n SelectedUsers = SelectedUsers.filter(x => x.id != item.id)\r\n } else {\r\n SelectedUsers.push( item);\r\n }\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(SelectedUsers));\r\n this.selectedUserIds = SelectedUsers.map(s => s.id).join(',');\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n this.IncludeSharedAccounts();\r\n }\r\n onSelectAll(items) {\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(items));\r\n this.selectedUserIds = items.map(s => s.id).join(',');\r\n this.IncludeSharedAccounts();\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n }\r\n onDeSelectAll(event) {\r\n localStorage.setItem('SelectedUserIds', null);\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n }\r\n initializeAgGrid() {\r\n \r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: 'single', enableCellChangeFlash: true,\r\n\r\n };\r\n this.context = this;\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n };\r\n if (this.SearchType == \"accountName\") {\r\n this.createColumnDefs();\r\n } else {\r\n this.createContactsColumnDefs();\r\n }\r\n }\r\n createColumnDefs() { \r\n var searcharray = this.term;\r\n this.columnDefs = [];\r\n let selfobj = this;\r\n if (selfobj.selectedval === \"704\") {\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n {\r\n field: 'phone', headerName: 'Phone', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray!=\"\" ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n selfobj.recentphonenumbers.push(params.data.id + \":\" + params.value);\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.trim().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st;\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'customertype', headerName: 'Customer', hide: false,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \" \" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false,\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false,\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'zip', headerName: 'Zip', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }, {\r\n field: 'owner', headerName: 'Owner', hide: false,\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n \r\n ];\r\n }\r\n else if (selfobj.selectedval === \"706\") {\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n selfobj.recentcities.push(params.data.id + \":\" + params.value);\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false\r\n \r\n },\r\n {\r\n field: 'customertype', headerName: 'Customer', hide: false,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \" \" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false,\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false,\r\n },\r\n\r\n {\r\n field: 'state', headerName: 'State', hide: false\r\n },\r\n {\r\n field: 'zip', headerName: 'Zip', hide: false\r\n },\r\n\r\n {\r\n field: 'phone', headerName: 'Phone', hide: false\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false,\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n\r\n ];\r\n }\r\n else if (selfobj.selectedval === \"723\") {\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n selfobj.recentstates.push(params.data.id + \":\" + params.value);\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false\r\n },\r\n {\r\n field: 'customertype', headerName: 'Customer', hide: false,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \" \" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false,\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false,\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false\r\n },\r\n \r\n {\r\n field: 'zip', headerName: 'Zip', hide: false\r\n },\r\n\r\n {\r\n field: 'phone', headerName: 'Phone', hide: false\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false,\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n\r\n ];\r\n }\r\n else if (selfobj.selectedval === \"724\") {\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n {\r\n field: 'zip', headerName: 'Zip', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\"\");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"\";\r\n selfobj.recentzips.push(params.data.id + \":\" + params.value);\r\n }\r\n else {\r\n st += x[i] + \"\";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false\r\n },\r\n {\r\n field: 'customertype', headerName: 'Customer', hide: false,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \" \" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false,\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false,\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false\r\n },\r\n \r\n\r\n {\r\n field: 'phone', headerName: 'Phone', hide: false\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false,\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n\r\n ];\r\n }\r\n else {\r\n \r\n selfobj.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n \r\n { field: 'accounttypeName', headerName: 'Account Type', hide: true },\r\n //{ field: 'customertype', headerName: 'Customer', hide: true },\r\n { field: 'ownershipName', headerName: 'Ownership', hide: true },\r\n { field: 'accountStatus', headerName: 'AccountStatus', hide: true },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(' ');\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (x[i].toString().startsWith(searcharray.trim())\r\n || x[i].toString().toLowerCase().startsWith(searcharray.toLowerCase())\r\n || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \" \";\r\n selfobj.recentaccountNames.push(params.data.id + \":\" + params.value + \":\" + params.data.customertype);\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n \r\n return st\r\n \r\n } else {\r\n return params.value;\r\n }\r\n },\r\n },\r\n {\r\n field: 'customertype', headerName: 'Customer', hide: false,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \" \" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'accnumber', headerName: 'Act Number', hide: true, cellStyle: { color: '#00B0F0' },\r\n },\r\n { field: 'IsContact', headerName: ' Is Contact?', hide: true },\r\n\r\n {\r\n field: 'specialityName', headerName: 'Specialty', hide: true,\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: false,\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: false,\r\n },\r\n {\r\n field: 'city', headerName: 'City', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'zip', headerName: 'Zip', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'phone', headerName: 'Phone', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'mapit', headerName: 'Map It', hide: false, width: 80,\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false,\r\n }\r\n ];\r\n }\r\n }\r\n createContactsColumnDefs() {\r\n var searcharray = this.term;\r\n \r\n this.ContactcolumnDefs = [];\r\n var selfobj = this;\r\n if (selfobj.selectedval == \"705\") {\r\n selfobj.ContactcolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true,\r\n\r\n },\r\n {\r\n field: 'id', headerName: 'id', hide: true\r\n },\r\n {\r\n field: 'email', headerName: 'Email', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n selfobj.recentemails.push(params.data.id + \":\" + params.value +\":\" +0);\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false\r\n \r\n },\r\n {\r\n field: 'middlename', headerName: 'Middle Name', hide: false\r\n },\r\n {\r\n field: 'firstname', headerName: 'First Name', hide: false\r\n },\r\n {\r\n field: 'titleName', headerName: 'Title', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'customertype', headerName: 'Customer', hide: false,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \" \" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'specialityName', headerName: 'Specialty', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'city', headerName: 'City', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'zip', headerName: 'ZIP', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n \r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true,\r\n\r\n },\r\n\r\n {\r\n field: 'DOB', headerName: 'DOB', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'cell', headerName: 'Cell', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'office', headerName: 'Office', hide: false,\r\n\r\n },\r\n ];\r\n } else {\r\n selfobj.ContactcolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true,\r\n\r\n },\r\n {\r\n field: 'id', headerName: 'id', hide: true\r\n },\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n \r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'middlename', headerName: 'Middle Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) { \r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n \r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'firstname', headerName: 'First Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n selfobj.recentcontactNames.push(params.data.id + \":\" + params.data.lastname + \" \" + params.data.firstname + \":\" + 0);\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'titleName', headerName: 'Title', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'customertype', headerName: 'Customer', hide: false,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \" \" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n },\r\n {\r\n field: 'specialityName', headerName: 'Specialty', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'city', headerName: 'City', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'state', headerName: 'State', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'zip', headerName: 'ZIP', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'accnumber', headerName: 'Acct #', hide: true\r\n , cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true,\r\n\r\n },\r\n\r\n {\r\n field: 'DOB', headerName: 'DOB', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'cell', headerName: 'Cell', hide: false, cellRenderer: function (params) {\r\n if (searcharray != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'office', headerName: 'Office', hide: false,\r\n\r\n },\r\n { field: 'callliststatus', headerName: 'Call List Hx', hide: true },\r\n {\r\n field: \"notes\", headerName: 'Notes', hide: true, cellRenderer: 'notesrenderer'\r\n },\r\n\r\n\r\n {\r\n field: 'contacttypeName', headerName: 'Contact Type', hide: true,\r\n\r\n }, //true starts here\r\n {\r\n field: 'suffix', headerName: 'Suffix', hide: true,\r\n\r\n },\r\n {\r\n field: 'sex', headerName: 'Sex', hide: true,\r\n\r\n },\r\n {\r\n field: 'subspeciality', headerName: 'Subspeciality', hide: true,\r\n\r\n },\r\n {\r\n field: 'email', headerName: 'Email', hide: true,\r\n\r\n },\r\n {\r\n field: 'address1', headerName: 'Address1', hide: true,\r\n\r\n },\r\n {\r\n field: 'address2', headerName: 'Address2', hide: true,\r\n\r\n },\r\n\r\n\r\n {\r\n field: 'conmapit', headerName: 'Map It', hide: false, width: 80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'homeaddress', headerName: 'Home Address', hide: true,\r\n\r\n },\r\n {\r\n\r\n field: 'homecity', headerName: 'Home City', hide: true,\r\n\r\n },\r\n {\r\n field: 'homestate', headerName: 'Home State', hide: true,\r\n\r\n },\r\n {\r\n field: 'homezip', headerName: 'Home Zip', hide: true,\r\n\r\n },\r\n {\r\n field: 'home', headerName: 'Home', hide: true,\r\n\r\n },\r\n {\r\n field: 'college', headerName: 'College', hide: true,\r\n\r\n },\r\n {\r\n field: 'collegegrandyear', headerName: 'C.G.year', hide: true,\r\n\r\n },\r\n {\r\n field: 'medschool', headerName: 'Medschool', hide: true,\r\n },\r\n {\r\n field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true\r\n },\r\n {\r\n field: 'residency', headerName: 'Residency', hide: true\r\n },\r\n {\r\n field: 'residencygrandyear', headerName: 'R.G.year', hide: true\r\n },\r\n {\r\n field: 'fellowship', headerName: 'Fellowship', hide: true\r\n },\r\n {\r\n field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true,\r\n\r\n },\r\n\r\n {\r\n field: 'created', headerName: 'Created', hide: true,\r\n\r\n },\r\n\r\n ];\r\n }\r\n \r\n }\r\n \r\n\r\n GetContactSearchList(term, userid, active?: boolean, inactive?: boolean, shared?: boolean) {\r\n \r\n var userIds = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n userIds.push(ele.id);\r\n });\r\n this.QuickSearchModel.searchterm = this.term;\r\n this.QuickSearchModel.userids = userIds.join();\r\n this.QuickSearchModel.startDate = (this.calanderonoff) ? this.startDateVal : '2018-01-01';\r\n this.QuickSearchModel.endDate = this.endDateVal;\r\n this.QuickSearchModel.Includetype = '457';\r\n this.QuickSearchModel.customertype = this.customertype;\r\n this.QuickSearchModel.selectedval = (this.selectedval == \"702\" || this.selectedval == \"703\") ? 'Name' : (this.selectedval == \"704\") ? 'phone' : (this.selectedval == \"705\") ? 'Email' : (this.selectedval == \"706\") ? 'city' : (this.selectedval == \"723\") ? 'state' : (this.selectedval == \"724\") ? 'zip' :this.selectedval ;\r\n this.QuickSearchModel.SearchType = this.SearchType;\r\n this.opprtunityservice.GetAllContactsAndCustomerByQuickSearch(this.QuickSearchModel).then((contact) => {\r\n console.log(\"contact\", contact);\r\n this.allContacts = []; \r\n this.defaltAccountColumns = [];\r\n if (contact.length > 0) {\r\n contact.forEach(contact => {\r\n contact.created = this.datePipe.transform(contact.created, \"MM-dd-yyyy\");\r\n contact.speciality = ((contact.speciality == 'null') ? \"\" : contact.speciality);\r\n });\r\n if (this.SearchType == 'accountName') {\r\n let selfobj = this;\r\n contact.forEach(con => {\r\n var account: Accounts = new Accounts();\r\n account.id = con.id;\r\n account.accountname = con.accountname;\r\n account.address1 = con.address1;\r\n account.address2 = con.address2;\r\n account.city = con.city;\r\n account.phone = con.cell;\r\n account.owner = con.owner;\r\n account.state = con.state;\r\n account.zip = con.zip;\r\n account.isshared = con.isshared;\r\n account.customertype = con.customertype;\r\n account.accounttypeName = con.accounttypeName;\r\n account.ownershipName = con.ownershipName;\r\n account.accountStatus = con.Status;\r\n account.isCustomer = con.isCustomer;\r\n selfobj.defaltAccountColumns.push(account); \r\n });\r\n if (!active) {\r\n selfobj.defaltAccountColumns = selfobj.defaltAccountColumns.filter(x => x.accountStatus != 14);\r\n }\r\n if (!inactive) {\r\n selfobj.defaltAccountColumns = selfobj.defaltAccountColumns.filter(x => x.accountStatus != 15);\r\n } \r\n if (selfobj.term != \"\") {\r\n if (selfobj.selecteddrpVal == '702') {\r\n selfobj.allCustomers = selfobj.defaltAccountColumns.filter(x => x.accountname.toLowerCase().includes(selfobj.term.toLowerCase()) || x.accountname.includes(selfobj.term));\r\n } else if (selfobj.selecteddrpVal == '706') {\r\n selfobj.allCustomers = selfobj.defaltAccountColumns.filter(x => x.city != null && x.city.toLowerCase().includes(selfobj.term.toLowerCase()) || x.city.includes(selfobj.term));\r\n } else if (selfobj.selecteddrpVal == '723') {\r\n this.allCustomers = selfobj.defaltAccountColumns.filter(x => x.state != null && x.state.toLowerCase().includes(selfobj.term.toLowerCase()) || x.state.includes(selfobj.term));\r\n } else if (selfobj.selecteddrpVal == '724') {\r\n selfobj.allCustomers = selfobj.defaltAccountColumns.filter(x => x.zip != null && x.zip.includes(selfobj.term));\r\n } else if (selfobj.selecteddrpVal == '704') {\r\n selfobj.allCustomers = selfobj.defaltAccountColumns.filter(x => x.phone != null && x.phone.replace(/\\D/g, \"\").includes(selfobj.term.replace(/\\D/g, \"\")));\r\n }\r\n\r\n selfobj.SearchResultTable = 'Account';\r\n selfobj.createColumnDefs();\r\n selfobj.gridApi.redrawRows();\r\n }\r\n\r\n } else {\r\n if (this.SearchSharedModel == 725) {\r\n this.allContacts = contact;\r\n if (this.SearchTypeModel == 711 && this.SearchTypeInactiveModel == 714) {\r\n this.allContacts = this.allContacts.filter(x => (x.customertype == '1' || x.customertype == '0'));\r\n } else if (this.SearchTypeModel == 711 && this.SearchTypeInactiveModel == 713) {\r\n this.allContacts = this.allContacts.filter(x => (x.customertype == '1' || x.customertype == '0' || x.customertype == '2'));\r\n } else if (this.SearchTypeModel == 712 && this.SearchTypeInactiveModel == 713) {\r\n this.allContacts = this.allContacts.filter(x => (x.customertype == '0' || x.customertype == '2'));\r\n } else if (this.SearchTypeModel == 712 && this.SearchTypeInactiveModel == 714) {\r\n this.allContacts = this.allContacts.filter(x => (x.customertype == '0'));\r\n }\r\n if (this.selecteddrpVal == '705') {\r\n this.allContacts = this.allContacts.filter(x => x.email != null && (x.email.startsWith(this.term) || x.email.toLowerCase().startsWith(this.term)))\r\n } else if (this.selecteddrpVal == '703') {\r\n this.allContacts = this.allContacts.filter(x => (x.firstname != null && (x.firstname.startsWith(this.term) || x.firstname.toLowerCase().startsWith(this.term)) || (x.lastname != null && (x.lastname.startsWith(this.term) || x.lastname.toLowerCase().startsWith(this.term))) || (x.middlename != null && (x.middlename.startsWith(this.term) || x.middlename.toLowerCase().startsWith(this.term)))))\r\n }\r\n } else {\r\n this.allContacts = contact;\r\n \r\n }\r\n this.createContactsColumnDefs();\r\n this.gridApi.redrawRows();\r\n }\r\n } else {\r\n this.allContacts = [];\r\n this.allCustomers = [];\r\n }\r\n });\r\n \r\n }\r\n clearSearch() {\r\n $(\"#SearchTextbox\").val(null); \r\n this.initializeAgGrid();\r\n this.term = '';\r\n this.allCustomers = [];\r\n this.allContacts = [];\r\n }\r\n \r\n Search(val) { \r\n this.SaveQuickSearchConfigToLocal(this.SearcValueText);\r\n this.term = (val != '') ? val : this.term;\r\n this.AccountHistoryInfo = false;\r\n let selfObj = this;\r\n setTimeout(() => {\r\n document.getElementById('SearchTextbox').focus();\r\n var userIds = [];\r\n selfObj.applicationComponent.selectedItems.forEach(ele => {\r\n userIds.push(ele.id);\r\n });\r\n if (selfObj.term == \"\" || selfObj.term == null) {\r\n selfObj.showSearchTabGrid = false; \r\n }\r\n if (selfObj.selectedval == null) {\r\n if (selfObj.SearchType == 'accountName') {\r\n if (selfObj.term != \"\") {\r\n if (this.selecteddrpVal == '702') {\r\n this.allCustomers = this.defaltAccountColumns.filter(x => x.accountname.includes(this.term.toLowerCase()) || x.accountname.includes(this.term));\r\n } else if (this.selecteddrpVal == '706') {\r\n this.allCustomers = this.defaltAccountColumns.filter(x => x.accountname.includes(this.term.toLowerCase()) || x.city != null && x.city.includes(this.term));\r\n } else if (this.selecteddrpVal == '723') {\r\n this.allCustomers = this.defaltAccountColumns.filter(x => x.accountname.includes(this.term.toLowerCase()) || x.state != null && x.state.includes(this.term));\r\n } else if (this.selecteddrpVal == '724') {\r\n this.allCustomers = this.defaltAccountColumns.filter(x => x.zip != null && x.zip.includes(this.term));\r\n } else if (this.selecteddrpVal == '704') {\r\n this.allCustomers = this.defaltAccountColumns.filter(x => x.phone != null && x.phone.includes(this.term));\r\n }\r\n selfObj.SearchResultTable = 'Account'; \r\n } else {\r\n this.allCustomers = [];\r\n this.showSearchTabGrid = false;\r\n }\r\n }\r\n else if (selfObj.SearchType == 'contactName') { \r\n if (selfObj.term == '') {\r\n selfObj.term = null; this.showSearchTabGrid = false;\r\n } else { }\r\n \r\n selfObj.SearchResultTable = 'Contact';\r\n }\r\n } else {\r\n selfObj.subject.next();\r\n \r\n }\r\n }, 200);\r\n\r\n \r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n OpenAccount(accId, customertype) {\r\n this.applicationComponent.hideSubButton = false;\r\n if (this.SearchType == \"accountName\") {\r\n if (customertype == 1 || customertype == 2) {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Customer`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Customer`);\r\n }\r\n\r\n localStorage.setItem('RhxAccountVal', accId);\r\n\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.applicationComponent.ExpandSelectedMenu('customers');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n selfobj.applicationComponent.selectedtabid = 'Customer';\r\n }, 200)\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Accounts`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n }\r\n\r\n localStorage.setItem('RhxAccountVal', accId);\r\n\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n }, 200)\r\n }\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('contacts') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }\r\n localStorage.setItem('RhxContactVal', accId);\r\n $('#emailIds').val(accId);\r\n $('#tasklistselectedtyle').val('Contact');\r\n \r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.applicationComponent.ExpandSelectedMenu('contact');\r\n selfobj.applicationComponent.selectedtabid = 'contact';\r\n }, 200)\r\n }\r\n }\r\n AccountrowClickAgGrid(rowEvent) {\r\n this.OpenAccount(rowEvent.data.id, rowEvent.data.customertype); \r\n }\r\n AccountcellDoubleClicked(rowEvent) {\r\n this.applicationComponent.QuickSearchDiv = false;\r\n this.applicationComponent.hideSubButton = false; \r\n if (rowEvent.data.isCustomer == 874) {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/account/Customer`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Customer`);\r\n }\r\n\r\n localStorage.setItem('RhxAccountVal', rowEvent.data.id);\r\n \r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.applicationComponent.ExpandSelectedMenu('customers');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n selfobj.applicationComponent.selectedtabid = 'Customer';\r\n }, 200)\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('account') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.router.navigateByUrl(`/application/account/Accounts`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n }\r\n\r\n localStorage.setItem('RhxAccountVal', rowEvent.data.id);\r\n \r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n //selfobj.selectedtabid = 'Customer';\r\n }, 200)\r\n }\r\n }\r\n ContactcellDoubleClicked(rowEvent) {\r\n this.applicationComponent.QuickSearchDiv = false;\r\n this.applicationComponent.hideSubButton = false;\r\n localStorage.setItem('RhxContactVal', rowEvent.data.id);\r\n let SO = this;\r\n var url = window.location.href;\r\n if (url.indexOf('contacts') > -1 || url.indexOf('customercontacts') > -1) {\r\n \r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n if (rowEvent.data.customertype == 1 || rowEvent.data.customertype == 2) {\r\n\r\n SO.router.navigateByUrl(`/application/customercontacts`);\r\n SO.applicationComponent.ExpandSelectedMenu('customers');\r\n\r\n } else {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n }\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }, 50));\r\n } else {\r\n $(setTimeout(function () {\r\n if (rowEvent.data.customertype == 1 || rowEvent.data.customertype == 2) {\r\n\r\n SO.router.navigateByUrl(`/application/customercontacts`);\r\n SO.applicationComponent.ExpandSelectedMenu('customers');\r\n\r\n } else {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n }\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }\r\n }\r\n ContactrowClickAgGrid(rowEvent) {\r\n this.applicationComponent.QuickSearchDiv = false;\r\n this.applicationComponent.hideSubButton = false;\r\n localStorage.setItem('RhxContactVal', rowEvent.data.id);\r\n\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }, 50));\r\n }\r\n closeQuickSearch() { \r\n this.applicationComponent.QuickSearchDiv = false;\r\n this.applicationComponent.hideSubButton = false; \r\n }\r\n \r\n changeSearchTypeRadio(val) {\r\n \r\n this.initializeAgGrid();\r\n }\r\n\r\n IncludeSharedAccounts() {\r\n var userIds = [];\r\n this.selectedItems.forEach(ele => {\r\n userIds.push(ele.id);\r\n\r\n });\r\n \r\n if (this.term != '' || this.term != null || this.term != undefined) {\r\n if (this.SearchType == 'accountName') {\r\n this.SearchResultTable = 'Account';\r\n } else if (this.SearchType == 'contactName') {\r\n this.SearchResultTable = 'Contact';\r\n }\r\n this.GetContactSearchList(this.term, userIds, this.isactivecustomer, this.isinactivecustomer, this.issharedaccounts);\r\n \r\n }\r\n\r\n }\r\n\r\n SaveQuickSearchConfigToLocal(searcvaiId) {\r\n this.userservice.saveLastQuickSearchVal(searcvaiId, this.currentuser.id).then(result => {\r\n this.currentuser.lastSearchby = searcvaiId;\r\n localStorage.setItem('currentUser', JSON.stringify(this.currentuser));\r\n });\r\n \r\n }\r\n IconClick(val) {\r\n this.applicationComponent.QuickSearchDiv = false;\r\n this.applicationComponent.hideSubButton = false;\r\n\r\n $('#tasklistselectedtyle').val('Customer');\r\n this.applicationComponent.activateMainButtons(val);\r\n }\r\n RHxTab(val) {\r\n if (val == 'Contacts') {\r\n this.RHxAccountSelected = false;\r\n this.RHxContactSelected = true;\r\n this.GetRHxNames('Contact');\r\n } else if (val == 'Accounts') {\r\n this.RHxAccountSelected = true;\r\n this.RHxContactSelected = false;\r\n this.GetRHxNames('Account');\r\n }\r\n localStorage.setItem('RHxTabselected', val);\r\n }\r\n GetRHxNames(Type) {\r\n this.customerService.GetRecentHistoryNames(Type, this.currentuser.id).then((RHxNameslist) => {\r\n this.RHxNames = RHxNameslist;\r\n });\r\n }\r\n OpenAccountOrContact(Rhx) {\r\n this.closeQuickSearch();\r\n this.applicationComponent.OpenAccountOrContact(Rhx); \r\n }\r\n onFilterTextBoxChanged() {\r\n this.showSearchTabGrid = true; \r\n if (this.selectedval == '702' || this.selectedval == '723' || this.selectedval == '706' ||\r\n this.selectedval == '724' || this.selectedval == '704') {\r\n this.SearchType = \"accountName\";\r\n this.SearchResultTable = 'Account'; \r\n }\r\n else {\r\n this.SearchType = \"contactName\";\r\n this.SearchResultTable = 'Contact'; \r\n }\r\n localStorage.setItem('lastSearchby', this.SearcValueModel.toString()); \r\n this.Search('');\r\n }\r\n}\r\n","\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n QUICKVIEW | CONTACTS \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      0 && isQuickViewOpen\" class=\"col-xs-4\" style=\"height:100%;padding-left:0;width:33%\">\r\n\r\n
      \r\n \r\n QUICKVIEW | ACCOUNTS \r\n \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      0\" [ngClass]=\"'col-xs-8'\" [style.width.%]=\"'67'\" style=\"padding:0;padding-right: 0px;height:100%\">\r\n \r\n
      \r\n
      0\" [ngClass]=\"'col-xs-8'\" [style.width.%]=\"'67'\" style=\"padding:0;padding-right: 0px;height:100%\">\r\n \r\n \r\n
      \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, Optional, ViewChild, Input } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Calllist } from '../../models/calllist';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { AccountsService } from '../../services/accounts.service';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { ContactsdashboardComponent } from '../../application/contacts/contactsdashboard/contactsdashboard.component';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { Column } from 'ag-grid';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { Viewcalllist } from '../../models/viewcalllist';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport * as moment from 'moment';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { AccountContactComponent } from '../account-contact/account-contact.component';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { Tickets } from '../../models/tickets';\r\nimport { Emails } from '../../models/emails';\r\nimport { Project } from '../../models/project';\r\nimport { Notes } from '../../models/notes';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-quick-view',\r\n templateUrl: './quick-view.component.html',\r\n styleUrls: ['./quick-view.component.css']\r\n})\r\nexport class QuickViewComponent implements OnInit {\r\n //@Input()\r\n contactids: string = \"\";\r\n // @Input()\r\n Qtype: string = \"\";\r\n calllist: Calllist = new Calllist();\r\n public gridOptions: GridOptions;\r\n currentuser: any;\r\n public columnDefs: any[];\r\n public frameworkComponentsQuickView;\r\n allContacts: Contacts[];\r\n allAccounts: Accounts[];\r\n contactid: number = 0;\r\n Quickviewcontactid: number = 0\r\n customerTypes: string;\r\n gridHeight = screen.height * 0.58222;\r\n tab: string = 'QuickView';\r\n public context;\r\n @ViewChild(ContactsdashboardComponent) contactComp;\r\n @ViewChild(AccountContactComponent) accComp;\r\n contactshowDialog: boolean = false;\r\n showCancelDialog: boolean = false;\r\n showDialog = false; leadstatus = 0;\r\n contact: Contacts = new Contacts();\r\n type: string; itemCount = 0;\r\n selectedItems = []; itemResource: any; dropdownList = []; finalitems = \"\";\r\n pageSize: string = \"\"; dropdownSetting = {};\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()-1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear()-1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n viewcallist: Viewcalllist = new Viewcalllist();\r\n public sideBar;\r\n public AccountcolumnDefs: any[];\r\n public AccountgridApi: any;\r\n private gridApi;\r\n activitieslist: Array = [];\r\n ticketslist: Array = [];\r\n emailslist: Array = [];\r\n projectlist: Array = [];\r\n userdocumentlist: any[] = [];\r\n noteslist: Array = [];\r\n isQuickViewOpen: boolean = true;\r\n constructor(private _location: Location, public applicationComponent: ApplicationComponent,private route: ActivatedRoute, private opprtunityservice: OpprtunitiesService, private accountsService: AccountsService, private customerService: CustomerService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit()\r\n { \r\n \r\n this.route.params.subscribe(params => {\r\n this.contactids = params['ids'];\r\n this.calllist.contactids = this.contactids; \r\n this.Qtype = params['term'];\r\n $(\".checkMark\").removeClass(\"activeColor\");\r\n $(\".subButtons\").removeClass(\"activeButton\"); \r\n \r\n this.initializeAgGrid(); \r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n });\r\n\r\n if (this.Qtype == 'Contacts') {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, '', 'Contacts', $(\"#userids\").val(), this.startDateVal, this.endDateVal, this.customerTypes);\r\n } else {\r\n this.GetAllSelectedAccountCalllist(this.calllist.contactids, '', 'Accounts', $(\"#userids\").val(), this.startDateVal, this.endDateVal, this.customerTypes);\r\n }\r\n \r\n } else {\r\n\r\n if (this.Qtype == 'Contacts') {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, '', 'Contacts', this.currentuser.id, this.startDateVal, this.endDateVal, this.customerTypes);\r\n } else {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, '', 'Accounts', this.currentuser.id, this.startDateVal, this.endDateVal, this.customerTypes);\r\n }\r\n\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n }\r\n //});\r\n let eleId = 'quickview';\r\n $(\".fa-check\").removeClass(\"activeColor\");\r\n $(\"#\" + eleId).addClass(\"activeColor\");\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#contact_span\").addClass(\"activeColor\");\r\n $(\"#contact\").addClass(\"mainactiveButton\");\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1,0,0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownList = Owner;\r\n });\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('quick-view') > -1) {\r\n $(setTimeout(function () {\r\n $('#ContactInformation1').attr('style', 'padding:0%;padding-top:0 !important;overflow:auto;width:100%;')\r\n }, 200));\r\n }\r\n this.applicationComponent.pageViewed = \"QuickView\";\r\n });\r\n }\r\n close() { this._location.back(); }\r\n CloseQuicKViewOK(val) {\r\n this.applicationComponent.pageViewed = '';\r\n this.applicationComponent.selectedmainbutton = '';\r\n this.showCancelDialog = false;\r\n }\r\n CloseQuickview() {\r\n \r\n this.showCancelDialog = true;\r\n this.applicationComponent.salesxcrmDialog('#cancelDialog .dialog');\r\n //$(setTimeout(function () {\r\n // $('#cancelDialog .dialog').attr('style', 'border: 4px solid #a2e477;width: 30%;height:20%; padding:0;');\r\n //}, 4));\r\n }\r\n onItemSelect(item: any) {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.GetAllSelectedContactCalllist('0', '', 'Contacts', $(\"#userids\").val(), this.startDateVal, this.endDateVal, this.customerTypes);\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.GetAllSelectedContactCalllist('0', '', 'Contacts', $(\"#userids\").val(), this.startDateVal, this.endDateVal, this.customerTypes);\r\n } else {\r\n this.allContacts = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.GetAllSelectedContactCalllist('0', '', 'Contacts', $(\"#userids\").val(), this.startDateVal, this.endDateVal, this.customerTypes);\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.allContacts = [];\r\n this.gridOptions.api.hideOverlay();\r\n $(\"#userids\").val('');\r\n this.applicationComponent.selectedusers = null;\r\n }\r\n public GetAllSelectedContactCalllist(contactsids, completedcontactids, type, currentuserid, startdate, enddate, customerTypes) {\r\n this.applicationComponent.selectedusers = currentuserid;\r\n this.viewcallist.term = null;\r\n this.viewcallist.contactids = (contactsids == \"\") ? null : contactsids;\r\n this.viewcallist.completedcontactids = (completedcontactids == \"\") ? null : completedcontactids;\r\n this.viewcallist.currentuserid = this.currentuser.id;\r\n this.viewcallist.startdate = startdate;\r\n this.viewcallist.enddate = enddate;\r\n this.viewcallist.isCustomertypelist = customerTypes;\r\n this.accountsService.GetAllSelectedContactCalllist(this.viewcallist).then((Contacts) => {\r\n Contacts.forEach(Contacts => {\r\n Contacts.created = this.datePipe.transform(Contacts.created, \"MM-dd-yyyy\");\r\n });\r\n this.allContacts = Contacts;\r\n if (this.allContacts[0].islimitedSearch == true) {\r\n //$('#searchContact').attr('style', 'height:30px;width:88%;border:none;border-radius:3px;')\r\n //$('#searchContact').val(this.allContacts[0].SearchVal);\r\n this.applicationComponent.searchstring = this.allContacts[0].SearchVal;\r\n this.applicationComponent.limitedSearch = true;\r\n $('#searchContact').val('');\r\n\r\n } else {\r\n //$('#searchContact').attr('style', 'height:30px;width:88%;border:none;border-radius:3px;')\r\n this.applicationComponent.term = \"\";\r\n $('#searchContact').val('');\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.limitedSearch = false;\r\n \r\n }\r\n this.itemCount = Contacts.length;\r\n this.calllist.contactids = Array.prototype.map.call(this.allContacts, s => s.id).toString(); \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.contactComp.GetContactInfo(selfObj.contactid);\r\n $('#emailIds').val(selfObj.contactid);\r\n $('#tasklistselectedtyle').val('Contact'); \r\n }\r\n });\r\n }, 1000));\r\n \r\n this.contactid = ((this.allContacts.length == 0) ? 0 : this.allContacts[0].id);\r\n $('#accotIdNotes').val(this.contactid.toString());\r\n $('#accotTypeNotes').val('Contact');\r\n });\r\n }\r\n\r\n public GetAllSelectedAccountCalllist(contactsids, completedcontactids, type, currentuserid, startdate, enddate, customerTypes) {\r\n this.applicationComponent.selectedusers = currentuserid;\r\n this.viewcallist.term = null;\r\n this.viewcallist.contactids = (contactsids == \"\") ? null : contactsids;\r\n this.viewcallist.completedcontactids = (completedcontactids == \"\") ? null : completedcontactids;\r\n this.viewcallist.currentuserid = this.currentuser.id;\r\n this.viewcallist.startdate = startdate;\r\n this.viewcallist.enddate = enddate;\r\n this.viewcallist.isCustomertypelist = customerTypes;\r\n this.accountsService.GetAllSelectedAccountCalllist(this.viewcallist).then((acc) => {\r\n acc.forEach(accoount => {\r\n accoount.created = this.datePipe.transform(accoount.created, \"MM-dd-yyyy\");\r\n });\r\n this.allAccounts = acc;\r\n this.itemCount = acc.length;\r\n this.calllist.contactids = Array.prototype.map.call(this.allAccounts, s => s.id).toString();\r\n this.contactid = ((this.allAccounts.length == 0) ? 0 : this.allAccounts[0].id);\r\n let selfObj = this;\r\n\r\n $(setTimeout(function () {\r\n if (selfObj.AccountgridApi != undefined) {\r\n selfObj.AccountgridApi.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.AccountgridApi.selectNode(node, true);\r\n selfObj.accComp.AccountData('show' + selfObj.contactid);\r\n $('#emailIds').val(selfObj.contactid);\r\n $('#tasklistselectedtyle').val('Customer'); \r\n }\r\n });\r\n }\r\n }, 500));\r\n });\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n if (this.Qtype == 'Contacts') {\r\n\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 45).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n this.UpdateSearchColumns(columnSelections);\r\n });\r\n } else {\r\n this.createAccountColumnDefs('');\r\n }\r\n\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponentsQuickView = {\r\n notesrenderer: NotesrendererComponent,\r\n editdeletecv: EditdeletecvComponent\r\n };\r\n \r\n }\r\n\r\n UpdateSearchColumns(columnSelections) {\r\n \r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n \r\n if ((fields[2] == 'true' && fields[1] != '#') && (fields[2] == 'true' && fields[0] != 'notes') && (fields[2] == 'true' && fields[0] != 'actions')) {\r\n \r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n\r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n if (element.subtab == 'quickview') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n }\r\n if (this.applicationComponent.SearchSelectedItemsLengthChanged == true) {\r\n // this.applicationComponent.showSearchTabsSubTabs = false;\r\n }\r\n else {\r\n // this.applicationComponent.showSearchTabsSubTabs = true;\r\n }\r\n });\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n else {\r\n this.accountsService.GetDefaultColumns('quickview', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'lastname', \"itemName\": 'Last Name' },\r\n { \"id\": 'firstname', \"itemName\": 'First Name' },\r\n { \"id\": 'accountname', \"itemName\": 'Account Name' }\r\n ];\r\n }\r\n });\r\n //this.applicationComponent.showSearchTabsSubTabs = false;\r\n }\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n \r\n if (rowEvent.node.selected) {\r\n this.contactid = rowEvent.data.id;\r\n this.contactComp.GetContactInfo(rowEvent.data.id); \r\n }\r\n \r\n }\r\n\r\n rowClickAccountAgGrid(rowEvent) {\r\n\r\n if (rowEvent.node.selected) {\r\n this.contactid = rowEvent.data.id;\r\n this.accComp.AccountData('show' + rowEvent.data.id);\r\n $('#emailIds').val(rowEvent.data.id);\r\n $('#tasklistselectedtyle').val('Customer'); \r\n }\r\n\r\n }\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let searchval = this.applicationComponent.searchstring;\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"actions\") {\r\n this.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), pinned: 'right', });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"accountname\") {\r\n this.columnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n if (searchval != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchval.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"lastname\") {\r\n this.columnDefs.push({\r\n field: 'lastname', headerName: 'Last Name', hide: false, cellRenderer: function (params) {\r\n if (searchval != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchval.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"firstname\") {\r\n this.columnDefs.push({\r\n field: 'firstname', headerName: 'First Name', hide: false, cellRenderer: function (params) {\r\n if (searchval != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchval.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"calllistcontactstatus\") {\r\n this.columnDefs.push({ field: 'calllistcontactstatus', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } });\r\n } else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false, cellRenderer: function (params) {\r\n if (searchval != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchval.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n {\r\n field: 'firstname', headerName: 'First Name', hide: false, cellRenderer: function (params) {\r\n if (searchval != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchval.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: false },\r\n { field: 'calllistcontactstatus', headerName: 'Status', hide: false, cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'zip', headerName: 'ZIP', hide: false },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellRenderer: function (params) {\r\n if (searchval != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchval.replace(/[\"]/g, \"\")\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n { field: 'contacttypeName', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n ];\r\n }\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n onAgAccountGridReady(event) {\r\n this.AccountgridApi = event.api;\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n //onMessageReceived(msg) {\r\n // var contidarr = this.calllist.contactids.split(\",\");\r\n // if (contidarr.length > 0) {\r\n // var index = contidarr.indexOf(this.contactid.toString());\r\n // if (index >= 0 && index < contidarr.length) {\r\n \r\n // if ((msg == \"Next\") && contidarr[index + 1] != undefined) {\r\n // this.contactid = parseInt(contidarr[index + 1]);\r\n // }\r\n // else if ((msg == \"Previous\") && contidarr[index - 1] != undefined) {\r\n // this.contactid = parseInt(contidarr[index - 1]);\r\n // }\r\n\r\n\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n \r\n // selfObj.gridOptions.api.forEachNode((node) => {\r\n // if (node.data.id == selfObj.contactid) {\r\n // selfObj.gridOptions.api.selectNode(node, true);\r\n // }\r\n // });\r\n // }, 100));\r\n \r\n // }\r\n // }\r\n //}\r\n editRowAg(rowdata) {\r\n this.contactid = rowdata.id;\r\n this.contactComp.editcontact(this.contactid); \r\n }\r\n deleteRowAg(rowdata) {\r\n var c = confirm(\"Are you sure you want to Delete this Contact??\");\r\n if (c == true) {\r\n this.customerService.Deactivatecontact(rowdata.id, 1).then((user) => {\r\n this.GetAllSelectedContactCalllist(this.calllist.contactids, '', 'Contacts', $(\"#userids\").val(), this.startDateVal, this.endDateVal, this.customerTypes);\r\n });\r\n \r\n }\r\n }\r\n convertContactAg(rowdata) {\r\n this.contactid = rowdata.id;\r\n this.showDialog = !this.showDialog\r\n this.customerService.GetContactById(rowdata.id).then(result => {\r\n this.contact = result;\r\n this.leadstatus = this.contact.converttolead;\r\n });\r\n setTimeout(function () {\r\n $('.dialog ').attr('style', 'height:180px;width:35%;padding-top: 3%;background: #f4f4f4;border: 1px solid #a2e477;')\r\n }, 4)\r\n\r\n }\r\n printMsg(msg) {\r\n this.contactshowDialog = !this.contactshowDialog;\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n config.maxlimit = 25; \r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 45;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n openNotesDialogAg(rowdata) {\r\n this.contactComp.expand();\r\n }\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n this.GetAllSelectedContactCalllist('0', '', 'Contacts', $(\"#userids\").val(), this.startDateVal, this.endDateVal, this.customerTypes);\r\n \r\n }\r\n txtPageSizeChanged(pageSize) {\r\n this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n expandQuickView(value) {\r\n if (value === 'Collapse') {\r\n this.isQuickViewOpen = (this.isQuickViewOpen) ? false : true;\r\n if (this.Qtype == 'Contacts') {\r\n this.contactComp.SixBoxExpand = true\r\n this.contactComp.tab = 'Normal';\r\n } else {\r\n this.accComp.SixBoxExpand = true;\r\n this.accComp.tab = 'Normal';\r\n }\r\n \r\n }\r\n else {\r\n this.isQuickViewOpen = (this.isQuickViewOpen) ? false : true;\r\n if (this.Qtype == 'Contacts') {\r\n this.contactComp.SixBoxExpand = false\r\n this.contactComp.tab = 'QuickView';\r\n } else {\r\n this.accComp.SixBoxExpand = false;\r\n this.accComp.tab = 'QuickView';\r\n }\r\n \r\n }\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n\r\n onAccountMessageReceived(msg) {\r\n if (msg == \"QuickView\") { this.CloseQuickview(); }\r\n else if (msg == \"Expand\")\r\n { this.isQuickViewOpen = false; }\r\n else if (msg == \"Collapse\")\r\n { this.isQuickViewOpen = true; }\r\n }\r\n createAccountColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.AccountcolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n this.AccountcolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"customertypeid\") {\r\n this.AccountcolumnDefs.push({\r\n field: 'customertypeid', headerName: 'Customer Type', hide: true,\r\n cellRenderer(params) { if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" } else if (params.value == '57') { return \"Former Customer\" } }, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n } else if (fieldHeaderVisibleArray[0] == \"accountname\") {\r\n this.AccountcolumnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: false,\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accnumber\") {\r\n this.AccountcolumnDefs.push({\r\n field: 'accnumber', headerName: 'Act Number', hide: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"actions\") {\r\n this.AccountcolumnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecvcheck', hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, pinned: 'right', width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n this.AccountcolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n\r\n } else {\r\n this.AccountcolumnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n this.AccountcolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'id', headerName: 'Id', hide: true },\r\n {\r\n field: 'customertypeid', headerName: 'Customer Type', hide: true,\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" } else if (params.value == '57') { return \"Former Customer\" }\r\n }\r\n },\r\n { field: 'accnumber', headerName: 'Act Number', hide: true },\r\n { field: 'IsContact', headerName: ' Is Contact?', hide: true },\r\n // { field: 'userid', headerName: ' userid', hide: false },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false,\r\n },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'address1', headerName: 'Address1', hide: false },\r\n { field: 'address2', headerName: 'Address2', hide: false },\r\n { field: 'city', headerName: 'City', hide: false },\r\n { field: 'state', headerName: 'State', hide: false },\r\n { field: 'zip', headerName: 'Zip', hide: false },\r\n { field: 'phone', headerName: 'Phone', hide: true },\r\n { field: 'ehrName', headerName: 'EHR', hide: false },\r\n { field: 'pmName', headerName: 'PM', hide: false },\r\n { field: 'rcmName', headerName: 'RCM', hide: false },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'actions', headerName: 'Actions', hide: false, pinned: 'right', cellRenderer: 'editdeletecvcheck' },\r\n ];\r\n }\r\n\r\n }\r\n \r\n}\r\n","
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n 0\">\r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n Select Date:\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n Software Version:\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      Subject :
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{selectedNote.createdDate| date: 'MM-dd-yyyy'}} \r\n
      \r\n
      \r\n {{selectedNote.versionNumber}}\r\n
      \r\n
      \r\n {{selectedNote.Subject}} \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, Output, Input,EventEmitter } from '@angular/core';\r\nimport { ReleaseNotes } from 'src/app/models/releaseNotes';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\ndeclare var $: any;\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n@Component({\r\n selector: 'app-release-notes',\r\n templateUrl: './release-notes.component.html',\r\n styleUrls: ['./release-notes.component.css']\r\n})\r\nexport class ReleaseNotesComponent implements OnInit {\r\n @Input()\r\n From: string;\r\n releaseNotesDiv: boolean = true;\r\n AddreleaseNotesDiv: boolean = false;\r\n ReadMoreDiv: boolean = false;\r\n releaseNotesListDiv: boolean = false;\r\n releaseNotesmodel: ReleaseNotes = new ReleaseNotes();\r\n selectedNote: ReleaseNotes;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n currentuser: any;\r\n releasenotesArray: Array = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n notesform: FormGroup;\r\n constructor(public applicationComponent: ApplicationComponent,private userservice: UserService, private toastr: ToastrService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getAllReleaseNotes();\r\n this.notesform = this.getAccountForm();\r\n }\r\n\r\n getAccountForm(): FormGroup {\r\n\r\n return new FormGroup({\r\n\r\n 'createdDate': new FormControl(this.releaseNotesmodel.createdDate, Validators.required),\r\n 'releaseNotes': new FormControl(this.releaseNotesmodel.releaseNotes, Validators.required),\r\n 'versionNumber': new FormControl(this.releaseNotesmodel.versionNumber, Validators.required),\r\n 'Subject': new FormControl(this.releaseNotesmodel.Subject, Validators.required),\r\n \r\n });\r\n\r\n\r\n }\r\n\r\n ReleaseNotesShow() {\r\n //this.releaseNotesDiv = true;\r\n //this.aboutus = false;\r\n }\r\n ShowContactus() {\r\n //this.ContactUs = true;\r\n //this.aboutus = false;\r\n\r\n }\r\n close() { }\r\n SaveReleaseNotes() {\r\n this.userservice.SaveReleaseNotes(this.releaseNotesmodel).then(result => {\r\n this.getAllReleaseNotes();\r\n this.AddreleaseNotesDiv = false;\r\n this.releaseNotesListDiv = true;\r\n });\r\n } \r\n getAllReleaseNotes() {\r\n this.userservice.getAllReleaseNotes().then(result => {\r\n result.forEach(element => {\r\n element.releaseNotes = element.releaseNotes.replaceAll('\\n','
      ') \r\n });\r\n this.releasenotesArray = result;\r\n });\r\n }\r\n\r\n delete(selectedNoteId) {\r\n this.userservice.deleteReleaseNotes(selectedNoteId).then(result => {\r\n this.getAllReleaseNotes();\r\n this.AddreleaseNotesDiv = false;\r\n this.releaseNotesListDiv = true;\r\n });\r\n }\r\n\r\n closeReleaseNotesDiv() {\r\n //this.releaseNotesDiv = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n /*this.sendMsgEvent.emit(\"ReleaseNotes\");*/\r\n }\r\n\r\n ReadMore(SelectedNote) {\r\n $(\".releasebuttons\").removeClass(\"activereleasenotes\");\r\n $(\"#release\" + SelectedNote.releaseNoteId).addClass(\"activereleasenotes\");\r\n this.ReadMoreDiv = true;\r\n this.AddreleaseNotesDiv = false;\r\n this.releaseNotesListDiv = false;\r\n this.selectedNote = SelectedNote;\r\n \r\n setTimeout(function () {\r\n $('#ReadMoreDiv .dialog').attr('style', 'width: 50% !important;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 30%;overflow: visible;height: 84% !important;top: 10%;left: 48%;right: 0%;padding:0;');\r\n }, 100);\r\n }\r\n\r\n AddNewReleaseNotes() {\r\n this.AddreleaseNotesDiv = true;\r\n this.ReadMoreDiv=false;\r\n this.releaseNotesListDiv = false;\r\n this.releaseNotesmodel = new ReleaseNotes();\r\n \r\n }\r\n EditNotes(selectedNoteId) {\r\n this.AddreleaseNotesDiv = true;\r\n this.applicationComponent.Standard3dotUi('#AddreleaseNotesDiv .dialog');\r\n this.releaseNotesListDiv = false;\r\n this.releasenotesArray.forEach(element => {\r\n if (element.releaseNoteId == selectedNoteId) {\r\n element.createdDate = this.datePipe.transform(element.createdDate, \"yyyy-MM-dd\");\r\n this.releaseNotesmodel = element;\r\n }\r\n });\r\n }\r\n\r\n \r\n cancelReleaseNotes() {\r\n this.AddreleaseNotesDiv = false;\r\n this.releaseNotesListDiv = true;\r\n }\r\n Return(val) {\r\n this.ReadMoreDiv = false;\r\n this.AddreleaseNotesDiv = false;\r\n this.releaseNotesListDiv = true;\r\n }\r\n}\r\n","
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n Users Logged In\r\n \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n \r\n
      \r\n
      Turn \"On\" Custom Dates for User Access?
      \r\n\r\n\r\n
      \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, ViewChild } from '@angular/core';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { GridOptions, Column } from 'ag-grid';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { AuditLogComponent } from '../../audit-log/audit-log.component';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { Dashboardconfiguration } from 'src/app/models/dashboardconfiguration';\r\nimport { OpprtunitiesService } from 'src/app/services/opprtunities.service';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { AuditLogModel, Auditlog } from '../../../models/auditlog';\r\nimport { UserdataheaderComponent } from '../../userdataheader/userdataheader.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { SassdateContactsComponent } from '../../sassdate-contacts/sassdate-contacts.component';\r\nimport { CustomercontactsComponent } from '../../customercontacts/customercontacts.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-admin-reports',\r\n templateUrl: './admin-reports.component.html',\r\n styleUrls: ['./admin-reports.component.css']\r\n})\r\nexport class AdminReportsComponent implements OnInit {\r\n dropdownList = [];\r\n selectedItems = [];\r\n dropdownSetting = {};\r\n currentuser: any;\r\n finalitems = \"\";\r\n calanderonoff: boolean = true;\r\n ReportTypeList: Dropdowntype[] = [];\r\n @ViewChild(AuditLogComponent) Auditlog;\r\n pageSize: string = \"100\";\r\n UserIds: string = \"\";\r\n public gridOptions: GridOptions;\r\n selectedtype: string = \"\";\r\n selectedreporttype: string = \"Select Admin Reports\";\r\n ExpandTodaysAccess: boolean = false;\r\n ExpandWeeklyAccess: boolean = false;\r\n ExpandMonthlyAccess: boolean = false;\r\n ExpandYearlyAccess: boolean = false;\r\n TodaysAccessDiv: boolean = true;\r\n WeeklyAccessDiv: boolean = true;\r\n MonthlyAccessDiv: boolean = true;\r\n YearlyAccessDiv: boolean = true;\r\n CustomDatesAccessDiv: boolean = false;\r\n ShowCustomDatesDialog: boolean = false;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n public barChartOptions: any = {\r\n responsive: true,\r\n scales: { xAxes: [{}], yAxes: [{}] },\r\n plugins: {\r\n datalabels: {\r\n anchor: 'end',\r\n align: 'end',\r\n }\r\n }\r\n };\r\n public TodaysColors = [{backgroundColor: 'darkviolet'}];\r\n public WeeklyColors = [{ backgroundColor: '#23B14D'}];\r\n public MonthlyColors = [{ backgroundColor: 'orange'}];\r\n public YearlyColors = [{ backgroundColor: '#4394db'}];\r\n public CustomColor = [{ backgroundColor: '#4394db'}];\r\n public barChartLabels = [];\r\n public barChartWeekLabels = [];\r\n public barChartMonthLabels = [];\r\n public barChartYearLabels = [];\r\n public barChartCustomDateLabels = [];\r\n public barChartType: string = 'horizontalBar';\r\n private gridApi; \r\n public barChartLegend = true;\r\n public AuditType = 'Login';\r\n public columnDefs: any[];\r\n public barChartData: any[] = [\r\n { data: [65, 59, 80, 81, 56, 55, 40], label: 'Hours' }\r\n ];\r\n public barChartWeekData: any[];\r\n public barChartMonthData: any[];\r\n public barChartYearData: any[];\r\n public barChartCustomDateData: any[];\r\n public month = ((new Date().getMonth() + 1) < 10) ? '0' + (new Date().getMonth() + 1) : (new Date().getMonth() + 1);\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = (new Date().getFullYear() - 1) + '-' + this.month + '-01'; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = 'Start:' + this.month + '-01-' + (new Date().getFullYear() - 1).toString();\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = new Date().getFullYear() + '-' + this.month + '-' + (new Date().getDate()); //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = 'End:' + this.month + '-' + (new Date().getDate()) + '-' + new Date().getFullYear().toString();\r\n public pageSizeChanged: boolean = false;\r\n @ViewChild(UserdataheaderComponent) UDHComp;\r\n @ViewChild(SassdateContactsComponent) saasdatecmp;\r\n @ViewChild(CustomercontactsComponent) custcontactcmp;\r\n loggedinUserlist: Array = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n constructor(private customerService: CustomerService, private applicationComponent: ApplicationComponent, private toastr: ToastrService,\r\n private route: ActivatedRoute, private opprtunityservice: OpprtunitiesService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n this.selectedtype = params['type'];\r\n if (this.selectedtype == \"rhx\") {\r\n this.selectedreporttype = 'Audit Log(Admin)';\r\n } else {\r\n if (this.selectedtype == 'AuditLogAdmin' || this.selectedtype == 'Audit Log(Admin)') {\r\n this.selectedreporttype = 'Audit Log(Admin)';\r\n } else if (this.selectedtype == 'UserAccessAdmin' || this.selectedtype == 'User Access(Admin)') {\r\n this.selectedreporttype = 'User Access(Admin)';\r\n } else if (this.selectedtype == 'Users Logged In') {\r\n this.selectedreporttype = 'Users Logged In';\r\n this.loginUserListinitializeAgGrid();\r\n this.LogginUserList();\r\n }\r\n }\r\n });\r\n this.UserIds = this.currentuser.id;\r\n this.MultiSelectDropDown();\r\n this.customerService.GetSpecialityList(\"ReportType\", this.currentuser.id).then((accounttype) => { \r\n this.ReportTypeList = accounttype; \r\n });\r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n\r\n loginUserListinitializeAgGrid() {\r\n \r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n }; \r\n this.CreatecolumnDefs();\r\n }\r\n\r\n LogginUserList() {\r\n this.customerService.GetAllUersloggedInList().then((userlist) => { \r\n this.loggedinUserlist = userlist;\r\n });\r\n }\r\n CreatecolumnDefs() { \r\n this.columnDefs = [\r\n { field: 'username', headerName: 'User', hide: false, width: 200 }, \r\n { field: 'Time', headerName: 'Logged In', hide: false, width: 200 },\r\n { field: 'Day', headerName: 'Day', hide: false, width: 200 },\r\n { field: 'action', headerName: 'Status', hide: false, width: 250 },\r\n ];\r\n }\r\n\r\n myFunction() {\r\n document.getElementById(\"myDropdown\").classList.toggle(\"show\");\r\n }\r\n MultiSelectDropDown() {\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All Users',\r\n unSelectAllText: 'UnSelect All Users',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n }\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1, 0, 0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownList = Owner;\r\n });\r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n\r\n });\r\n this.selectedItems = Owner;\r\n });\r\n this.Generate($(\"#userids\").val());\r\n }\r\n else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n \r\n this.finalitems += this.currentuser.id + ',';\r\n this.Generate(this.currentuser.id);\r\n }\r\n this.customerService.GetSpecialityList(\"ReportType\", this.currentuser.id).then((Rows) => {\r\n var value = Rows.filter(x => x.itemName == this.selectedreporttype)[0];\r\n this.UDHComp.FourthDrpModel = [{ \"id\": value.id, \"itemName\": value.itemName }];\r\n });\r\n\r\n }\r\n\r\n onItemSelect(item: any) {\r\n var ids = \"\";\r\n ids += item.id;\r\n var names = [];\r\n \r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n\r\n }\r\n \r\n Generate(val) {\r\n val = $(\"#userids\").val();\r\n this.barChartLabels = [];\r\n this.barChartWeekLabels = [];\r\n this.barChartMonthLabels = [];\r\n this.barChartYearLabels = [];\r\n this.applicationComponent.selectedusers = val;\r\n if (this.applicationComponent.selectedusers != '' || this.applicationComponent.selectedusers != null) { \r\n this.customerService.GetUserAccessTime(this.applicationComponent.selectedusers, 'Today', this.startDateVal, this.endDateVal).then((Time) => {\r\n this.barChartLabels = []; var Timedata = [];\r\n if (Time != null) {\r\n Time.forEach(element => {\r\n Timedata.push(element.TimeSpent)\r\n this.barChartLabels.push(element.userName);\r\n });\r\n this.barChartData = [\r\n { data: Timedata, label: 'Hours' }\r\n ];\r\n \r\n }\r\n \r\n });\r\n\r\n this.customerService.GetUserAccessTime(this.applicationComponent.selectedusers, 'Week', this.startDateVal, this.endDateVal).then((weekTime) => {\r\n var time = [];\r\n this.barChartWeekLabels = [];\r\n this.barChartWeekData = [];\r\n if (weekTime != null) {\r\n weekTime.forEach(element => {\r\n this.barChartWeekLabels.push(element.userName)\r\n time.push(element.TimeSpent)\r\n });\r\n this.barChartWeekData = [\r\n { data: time, label: 'Hours' }\r\n ];\r\n \r\n }\r\n \r\n });\r\n\r\n this.customerService.GetUserAccessTime(this.applicationComponent.selectedusers, 'Month', this.startDateVal, this.endDateVal).then((Month) => {\r\n var timeSpent = []\r\n this.barChartMonthLabels = []; this.barChartMonthData = [];\r\n if (Month != null) {\r\n Month.forEach(element => {\r\n this.barChartMonthLabels.push(element.userName)\r\n timeSpent.push(element.TimeSpent)\r\n });\r\n \r\n let so = this;\r\n $(setTimeout(function () {\r\n so.barChartMonthData = [\r\n { data: timeSpent, label: 'Hours' }\r\n ];\r\n }, 100));\r\n\r\n }\r\n \r\n });\r\n\r\n this.customerService.GetUserAccessTime(this.applicationComponent.selectedusers, 'Year', this.startDateVal, this.endDateVal).then((Year) => {\r\n var YearTime = []\r\n this.barChartYearLabels = [];\r\n this.barChartYearData = [];\r\n if (Year != null) {\r\n Year.forEach(element => {\r\n YearTime.push(element.TimeSpent)\r\n this.barChartYearLabels.push(element.userName)\r\n });\r\n \r\n let so = this;\r\n $(setTimeout(function () {\r\n so.barChartYearData = [\r\n { data: YearTime, label: 'Hours' }\r\n ];\r\n }, 100));\r\n\r\n } \r\n });\r\n // this.customDateData();\r\n // });\r\n\r\n }\r\n \r\n\r\n }\r\n calanderclick(val) {\r\n this.calanderonoff = val; \r\n if (this.calanderonoff == false) {\r\n if (this.selectedreporttype == 'User Access(Admin)') {\r\n this.ShowCustomDatesDialog = false;\r\n this.hideShowDivs(true, true, true, true, false);\r\n }\r\n $(setTimeout(function () {\r\n \r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n if (this.selectedreporttype == 'User Access(Admin)') {\r\n this.ShowCustomDatesDialog = true;\r\n this.ShowCustomDatesDialogCss();\r\n }\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n //if (this.selectedreporttype == 'User Access(Admin)')\r\n // this.hideShowDivs(true, true, true, true, false);\r\n\r\n }\r\n txtPageSizeChanged(pageSize, pageSizeChanged) {\r\n \r\n var val = this.Auditlog.audittype;\r\n if (val == 'Login') {\r\n this.Auditlog.LoadLoginAuditLog('Login', $(\"#userids\").val(), 1, pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, pageSizeChanged);\r\n }\r\n else if (val == 'Account') {\r\n this.Auditlog.LoadLoginAuditLog('Account', $(\"#userids\").val(), 1, this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, pageSizeChanged);\r\n }\r\n else if (val == 'Contact') {\r\n this.Auditlog.LoadLoginAuditLog('Contact', $(\"#userids\").val(), 1, this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, pageSizeChanged);\r\n }\r\n else if (val == 'Leads') {\r\n this.Auditlog.LoadLoginAuditLog('Leads', $(\"#userids\").val(), 1, this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, pageSizeChanged);\r\n }\r\n else if (val == 'Opportunity') {\r\n this.Auditlog.LoadLoginAuditLog('Opportunity', $(\"#userids\").val(), 1, this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, pageSizeChanged);\r\n }\r\n else if (val == 'TaskList') {\r\n this.Auditlog.LoadLoginAuditLog('TaskList', $(\"#userids\").val(), 1, this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, pageSizeChanged);\r\n }\r\n else if (val == 'InternalMessaging') {\r\n this.Auditlog.LoadLoginAuditLog('InternalMessaging', $(\"#userids\").val(), 1, this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, pageSizeChanged);\r\n }\r\n else if (val == 'Campaigns') {\r\n //this.Auditlog.LoadLoginAuditLog('Campaigns', 1, pageSize);\r\n this.Auditlog.LoadLoginAuditLog('Campaigns', $(\"#userids\").val(), 1, this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, pageSizeChanged);\r\n }\r\n else if (val == 'All') {\r\n //this.Auditlog.LoadLoginAuditLog('All', 1, pageSize);\r\n this.Auditlog.LoadLoginAuditLog('All', $(\"#userids\").val(), 1, this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, pageSizeChanged);\r\n }\r\n\r\n //else {\r\n // return false;\r\n //}\r\n\r\n this.saveConfiguration();\r\n }\r\n\r\nsaveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 25;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 8;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n}\r\n appendLabel(value) {\r\n if (this.currentuser.UserPrivilegeList != undefined) {\r\n var button = document.getElementById(value);\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == value || p.resource.toLowerCase() == value)[0];\r\n if (thisTab != undefined && thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + value + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n }\r\n //document.getElementById('selectedName').innerHTML = value;\r\n this.selectedreporttype = value;\r\n var dropdowns = document.getElementsByClassName(\"dropdown-content\");\r\n var i;\r\n for (i = 0; i < dropdowns.length; i++) {\r\n var openDropdown = dropdowns[i];\r\n if (openDropdown.classList.contains('show')) {\r\n openDropdown.classList.remove('show');\r\n }\r\n }\r\n }\r\n dateChange(event) { \r\n \r\n this.AssignStartAndEndDate(event);\r\n let userids = $(\"#userids\").val();\r\n if (this.selectedreporttype == 'Audit Log(Admin)') {\r\n this.Auditlog.LoadLoginAuditLog('Login', this.UserIds, '1', this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n this.saveConfiguration();\r\n } else if (this.selectedreporttype == 'User Access(Admin)') {\r\n this.customDateData();\r\n }\r\n }\r\n\r\n AssignStartAndEndDate(event) {\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n Expand(val, type) {\r\n switch (val) {\r\n case 'TodaysAccess':\r\n this.ExpandTodaysAccess = !this.ExpandTodaysAccess;\r\n if (type == 'Expand') {\r\n this.hideShowDivs(true, false, false, false, false);\r\n } else if (type == 'Collapse') {\r\n this.hideShowDivs(true, true, true, true, false);\r\n }\r\n break;\r\n case 'WeeklyAccess':\r\n this.ExpandWeeklyAccess = !this.ExpandWeeklyAccess;\r\n if (type == 'Expand') {\r\n this.hideShowDivs(false, true, false, false, false);\r\n } else if (type == 'Collapse') {\r\n this.hideShowDivs(true, true, true, true, false);\r\n }\r\n break;\r\n case 'MonthlyAccess':\r\n this.ExpandMonthlyAccess = !this.ExpandMonthlyAccess;\r\n if (type == 'Expand') {\r\n this.hideShowDivs(false, false, true, false, false);\r\n } else if (type == 'Collapse') {\r\n this.hideShowDivs(true, true, true, true, false);\r\n }\r\n break;\r\n case 'YearlyAccess':\r\n this.ExpandYearlyAccess = !this.ExpandYearlyAccess;\r\n if (type == 'Expand') {\r\n this.hideShowDivs(false, false, false, true, false);\r\n } else if (type == 'Collapse') {\r\n this.hideShowDivs(true, true, true, true, false);\r\n }\r\n break;\r\n case 'CustomDateAccess':\r\n if (type == 'Expand') {\r\n this.customDateData();\r\n let so = this;\r\n $(setTimeout(function () {\r\n so.hideShowDivs(false, false, false, false, true);\r\n so.ShowCustomDatesDialog = false;\r\n\r\n }, 100));\r\n\r\n \r\n\r\n } else if (type == 'Collapse') {\r\n this.hideShowDivs(true, true, true, true, false);\r\n //this.ShowCustomDatesDialog = false;\r\n this.calanderclick(false);\r\n }\r\n break;\r\n default:\r\n this.hideShowDivs(true, true, true, true, false);\r\n break\r\n }\r\n if (type == 'Expand') {\r\n $('#' + val).removeClass('col-xs-6 CollapseCss');\r\n $('#' + val).addClass('col-xs-12 ExpandCss');\r\n } else {\r\n $('#' + val).removeClass('col-xs-12 ExpandCss');\r\n $('#' + val).addClass('col-xs-6 CollapseCss');\r\n }\r\n }\r\n\r\n customDateData() {\r\n \r\n var timeSpent=[]\r\n this.barChartCustomDateLabels = [];\r\n this.customerService.GetUserAccessTime(this.applicationComponent.selectedusers, 'CustomDates', this.startDateVal, this.endDateVal).then((customdata) => {\r\n \r\n if (customdata != null) {\r\n customdata.forEach(element => {\r\n this.barChartCustomDateLabels.push(element.userName)\r\n timeSpent.push((element.TimeSpent == null) ? '0' : element.TimeSpent)\r\n \r\n });\r\n let so = this;\r\n $(setTimeout(function () {\r\n so.barChartCustomDateData = [\r\n { data: timeSpent, label: 'Hours' }\r\n ];\r\n }, 100));\r\n\r\n }\r\n else {\r\n this.barChartCustomDateLabels = [];\r\n this.barChartCustomDateData = [];\r\n }\r\n\r\n });\r\n }\r\n hideShowDivs(today: boolean, Weekly: boolean, Monthly: boolean, Yearly: boolean, customDates: boolean) {\r\n this.TodaysAccessDiv = today;\r\n this.WeeklyAccessDiv = Weekly;\r\n this.MonthlyAccessDiv = Monthly;\r\n this.YearlyAccessDiv = Yearly;\r\n this.CustomDatesAccessDiv = customDates;\r\n }\r\n CloseCustomDatesAccessDiv() {\r\n this.hideShowDivs(true, true, true, true, false);\r\n }\r\n ShowCustomDatesDialogCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 30%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 12%;overflow: auto;height: 25%;top: 43%;left: 10%');\r\n }, 4)\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n AudittypeReceived(Audittype) {\r\n this.AuditType = Audittype;\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n \r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.selectedreporttype = outProps.fourthDrpValue == undefined ? this.selectedreporttype : outProps.fourthDrpValue;\r\n this.startDateVal = (this.calanderonoff) ? this.applicationComponent.SearchstartVal : '2018-01-01';\r\n this.endDateVal = (this.calanderonoff) ? this.applicationComponent.SearchendVal : this.endDateVal;\r\n this.pageSizeChanged = outProps.pageSizeChanged; \r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n if (outProps.fourthDrpValue == \"Standard Reports\") {\r\n this.applicationComponent.PopUpMessageType = 'audit';\r\n this.applicationComponent.SubmenuChange('Reports', 'StandardReports', 'Sub');\r\n } else if (outProps.fourthDrpValue == \"Admin Reports\") {\r\n \r\n var url = window.location.href;\r\n if (url.indexOf('admin-reports') > -1) {\r\n this.selectedreporttype = 'Audit Log(Admin)';\r\n let SelfObj = this;\r\n $(setTimeout(function () {\r\n SelfObj.Auditlog.LoadLoginAuditLog(this.AuditType, $(\"#userids\").val(), '1', SelfObj.pageSize, (SelfObj.calanderonoff) ? SelfObj.startDateVal : '2018-01-01', SelfObj.endDateVal, SelfObj.pageSizeChanged);\r\n }, 500));\r\n\r\n } else {\r\n this.applicationComponent.SubmenuChange('Reports', 'AdminReports', 'Sub');\r\n }\r\n\r\n }\r\n else if (outProps.fourthDrpValue == \"Users Logged In\") {\r\n this.selectedreporttype = 'Users Logged In';\r\n this.loginUserListinitializeAgGrid();\r\n this.LogginUserList();\r\n }\r\n else if (outProps.fourthDrpValue == \"Contacts(SaaS Renewals)\" || outProps.fourthDrpValue == \"Proposal Items\" || outProps.fourthDrpValue == \"Contacts(SaaS RCM)\") { \r\n if (this.saasdatecmp != undefined) {\r\n\r\n this.saasdatecmp.GetsaasdateContactList(outProps.fourthDrpValue, outProps.fifthDrpValue);\r\n }\r\n } else if (outProps.fourthDrpValue == \"Customer Contacts (LK)\") {\r\n if (this.custcontactcmp != undefined) {\r\n this.custcontactcmp.GetCUSContactListLK(outProps.fourthDrpValue, outProps.fifthDrpValue);\r\n }\r\n }\r\n else if (outProps.fourthDrpValue == \"\" || outProps.fourthDrpValue == undefined) { this.selectedreporttype = ''; }\r\n else {\r\n this.appendLabel(this.selectedreporttype);\r\n if (!outProps.pageSizeChanged) {\r\n this.Generate($(\"#userids\").val());\r\n if (this.selectedreporttype == 'Audit Log(Admin)') {\r\n var obj: AuditLogModel = { id: 0, type: 'Admin Reports - ' + this.selectedreporttype, action: 'Admin Reports - ' + this.selectedreporttype, AccountOrContactId: 0, AccountOrContact: outProps.fourthDrpValue, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: outProps.fourthDrpValue, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n this.Auditlog.LoadLoginAuditLog(this.AuditType, $(\"#userids\").val(), '1', this.pageSize, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, this.pageSizeChanged);\r\n } else if (this.selectedreporttype == 'User Access(Admin)') {\r\n var obj: AuditLogModel = { id: 0, type: 'Admin Reports - ' + this.selectedreporttype, action: 'Admin Reports - ' + this.selectedreporttype, AccountOrContactId: 0, AccountOrContact: outProps.fourthDrpValue, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: outProps.fourthDrpValue, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n this.customDateData();\r\n }\r\n else if (outProps.fourthDrpValue == \"Users Logged In\") {\r\n this.selectedreporttype = 'Users Logged In';\r\n this.loginUserListinitializeAgGrid();\r\n this.LogginUserList();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n this.barChartLabels = [];\r\n this.barChartData = [];\r\n this.barChartMonthLabels = [];\r\n this.barChartMonthData = [];\r\n this.barChartWeekLabels = [];\r\n this.barChartWeekData = [];\r\n this.barChartYearLabels = [];\r\n this.barChartYearData = [];\r\n $(\"#userids\").val('');\r\n }\r\n this.txtPageSizeChanged(this.pageSize, this.pageSizeChanged);\r\n }\r\n}\r\n","
      \n\n
      \n NO REPORT IS SELECTED\n
      \n
      \n \n \n
      \n\n
      \n \n \n
      \n\n
      \n \n \n\n
      \n\n
      \n \n \n \n
      \n
      \n \n \n \n\n
      \n\n
      \n \n \n \n
      \n
      \n \n \n \n
      \n\n
      \n \n \n
      \n\n
      \n","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnInit, Optional } from '@angular/core';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { Accounts } from '../../../models/accounts';\r\nimport { Contacts } from '../../../models/contacts';\r\nimport { SalesProcessHistory } from '../../../models/sales-process-history';\r\nimport { LeadsService } from '../../../services/leads.service';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { NotesrendererComponent } from '../../notesrenderer/notesrenderer.component';\r\ndeclare var $: any;\r\nimport * as moment from 'moment'\r\nimport { Opportunities } from '../../../models/opportunities';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TaskHistory } from '../../../models/task-history';\r\nimport { EditdeletecvComponent } from '../../editdeletecv/editdeletecv.component';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { Dropdown } from '../../../models/dropdowntype';\r\nimport { Tickets } from '../../../models/tickets';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { ProposalsModel } from '../../../models/Proposalsmodel';\r\nimport { Router } from '@angular/router';\r\nimport { Auditlog } from '../../../models/auditlog';\r\n\r\n@Component({\r\n selector: 'app-other-standard-reports',\r\n templateUrl: './other-standard-reports.component.html',\r\n styleUrls: ['./other-standard-reports.component.css']\r\n})\r\nexport class OtherStandardReportsComponent implements OnInit {\r\n @Input()\r\n SelectedReportType: string;\r\n @Input()\r\n SelectedCategory: string;\r\n @Input()\r\n StartDate: string;\r\n @Input()\r\n EndDate: string;\r\n currentuser: any;\r\n public sideBar;\r\n public context;\r\n public frameworkComponents;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n today = Date.now();\r\n\r\n public AccountframeworkComponents;\r\n public AccountGridOptions: GridOptions;\r\n public AccountcolumnDefs: any[];\r\n allCustomers: Accounts[];\r\n\r\n\r\n public ContactGridOptions: GridOptions;\r\n public ContactColumnDefs: any[];\r\n allNewContact: Contacts[];\r\n\r\n public LeadgridOptions: GridOptions;\r\n public LeadcolumnDefs: any[];\r\n allLeads: SalesProcessHistory[];\r\n\r\n public OpportunitiesgridOptions: GridOptions;\r\n public OpportunitiescolumnDefs: any[];\r\n Allopportunities: Opportunities[];\r\n\r\n public TaskGridOptions: GridOptions;\r\n public TaskcolumnDefs: any[];\r\n columnSelections: string;\r\n alltaskhistory: TaskHistory[];\r\n tasktype: string;\r\n\r\n public TicketGridOptions: GridOptions;\r\n public TicketColumnDefs: any[];\r\n ticketStatusList: Array = [];\r\n Userlist: Array = [];\r\n ticketType: string = \"Open Tickets\";\r\n displayCC = false;\r\n assignedTo: string = null;\r\n Filter: string = \"All Tasks Groups and Users\";\r\n sortOrder: string = \"None\";\r\n\r\n public ProposalGridOptions: GridOptions;\r\n public ProposalColumnDefs: any[];\r\n AllProposals: ProposalsModel[];\r\n\r\n public AccessGridOptions: GridOptions;\r\n public AccessColumnDefs: any[];\r\n loginauditloglist: Array = [];\r\n\r\n constructor(private router: Router,public applicationComponent: ApplicationComponent, private opprtunityservice: OpprtunitiesService, private leadservice: LeadsService, private toastr: ToastrService, private customerService: CustomerService, private userService: UserService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.SelectedReportType = \"\";\r\n //this.getOtherSelectedReportData(this.SelectedReportType, this.SelectedCategory, this.StartDate, this.EndDate);\r\n }\r\n\r\n getOtherSelectedReportData(SelectedReportType, SelectedCategory, StartDate, EndDate) {\r\n if (SelectedReportType == 'Accounts') {\r\n this.AccountIntializeAgGrid();\r\n this.loadallcustomers('All', 'All');\r\n }\r\n else if (SelectedReportType == 'Contacts') {\r\n this.NewContactIntializeAgGrid();\r\n let self = this;\r\n $(setTimeout(function () {\r\n self.loadallnewcontacts($(\"#userids\").val(), StartDate, EndDate);\r\n }, 100));\r\n }\r\n else if (SelectedReportType == 'Leads') {\r\n this.LeadIntializeAgGrid();\r\n if (SelectedCategory == 'Leads Added') {\r\n this.LoadallLeadConverted($(\"#userids\").val(), 'All Leads');\r\n } else if (SelectedCategory == 'Leads Lost' || SelectedCategory == 'Leads Won' || SelectedCategory == 'Leads Pended') {\r\n this.LoadallLeadConverted($(\"#userids\").val(), 'Closed Leads');\r\n }\r\n\r\n }\r\n else if (SelectedReportType == 'Opportunities') {\r\n if (SelectedCategory == 'Added Opportunities') {\r\n this.OpprtunitiesIntializeAgGrid();\r\n this.ClosedOpportunity('Open Opportunities');\r\n } else {\r\n this.OpprtunitiesIntializeAgGrid();\r\n this.ClosedOpportunity(SelectedCategory);\r\n }\r\n\r\n }\r\n else if (SelectedReportType == 'Tasks') {\r\n if (SelectedCategory == 'Tasks Added') {\r\n this.initializeAgGrid();\r\n this.TaskData('Open Tasks', $(\"#userids\").val(), null);\r\n }\r\n else {\r\n this.initializeAgGrid();\r\n this.TaskData('Completed Tasks', $(\"#userids\").val(), null);\r\n }\r\n }\r\n else if (SelectedReportType == 'Tickets') {\r\n \r\n if (SelectedCategory == 'Tickets Added') {\r\n this.GetAllTicketStatus();\r\n this.assignedTo = null;\r\n this.ticketType = 'Open Tickets';\r\n this.initializeTicketsAgGrid();\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n } else if (SelectedCategory == 'Tickets Closed') {\r\n this.GetAllTicketStatus();\r\n this.assignedTo = null;\r\n this.ticketType = 'Closed Tickets';\r\n this.initializeTicketsAgGrid();\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n } else if (SelectedCategory == 'Tickets On-Hold') {\r\n this.GetAllTicketStatus();\r\n this.assignedTo = null;\r\n this.ticketType = 'On-Hold Tickets';\r\n this.initializeTicketsAgGrid();\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n } else if (SelectedCategory == 'Tickets Pended') {\r\n this.GetAllTicketStatus();\r\n this.assignedTo = null;\r\n this.ticketType = 'Pended Tickets';\r\n this.initializeTicketsAgGrid();\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n }\r\n else if (SelectedCategory == 'Tickets Open') {\r\n this.GetAllTicketStatus();\r\n this.assignedTo = null;\r\n this.ticketType = 'Open Tickets';\r\n this.initializeTicketsAgGrid();\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n }\r\n }\r\n else if (SelectedReportType == 'Proposals') {\r\n this.initializeProposalAgGrid(); \r\n if (this.SelectedCategory == 'Proposals Added') {\r\n this.GetAllProposal($(\"#userids\").val())\r\n } else if (this.SelectedCategory == 'Proposals Pended') {\r\n this.getPendedProposals($(\"#userids\").val());\r\n }\r\n } else if (SelectedReportType == 'Access(Login/Logout)' ) {\r\n this.OpportunitieshistoryinitializeAgGrid();\r\n }\r\n }\r\n getPendedProposals(userid) {\r\n this.userService.GetAllPendedProposals(userid, 1).then(result => {\r\n this.AllProposals = result.filter(x => (moment(x.CreatedDate).format('YYYY-MM-DD') > this.StartDate));;\r\n });\r\n }\r\n\r\n AccountIntializeAgGrid() {\r\n\r\n this.AccountGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 41).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createAccountColumnDefs(columnSelections);\r\n\r\n });\r\n\r\n this.AccountGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.AccountframeworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n }\r\n loadallcustomers(type, term) {\r\n var userids = $(\"#userids\").val();\r\n this.opprtunityservice.GetAllAccountsBySearch(this.currentuser.id, \"AccountAdded\", userids, \"AccountAdded\", this.StartDate, this.EndDate, 1, 100, '0,1,2', 0).then((account) => {\r\n \r\n this.allCustomers = account;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.AccountGridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.allCustomers[0].id) {\r\n selfObj.AccountGridOptions.api.selectNode(node, true);\r\n selfObj.AccountGridOptions.api.paginationSetPageSize(Number(selfObj.allCustomers.length));\r\n }\r\n });\r\n }, 500));\r\n \r\n });\r\n }\r\n createAccountColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.AccountcolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.AccountcolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"accnumber\") {\r\n this.AccountcolumnDefs.push({ field: 'accnumber', headerName: 'Act Number', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: { color: 'red' } });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.AccountcolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else {\r\n this.AccountcolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.AccountcolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'accnumber', headerName: 'Act Number', hide: false, cellStyle: { color: 'red' } },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'address1', headerName: 'Address1', hide: false },\r\n { field: 'address2', headerName: 'Address2', hide: false },\r\n { field: 'city', headerName: 'City', hide: false },\r\n { field: 'state', headerName: 'State', hide: false },\r\n { field: 'zip', headerName: 'Zip', hide: false },\r\n { field: 'phone', headerName: 'Phone', hide: true }, //true starts here\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false }\r\n ];\r\n }\r\n }\r\n\r\n NewContactIntializeAgGrid() {\r\n this.ContactGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 42).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createNewContactcolumnDefs(columnSelections);\r\n\r\n });\r\n\r\n this.ContactGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n }\r\n createNewContactcolumnDefs(columnSelections: string) {\r\n\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.ContactColumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.ContactColumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"callliststatus\") {\r\n this.ContactColumnDefs.push({\r\n field: 'callliststatus', headerName: 'Call List Hx', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n //eButton.addEventListener('click', function () {\r\n // selfObj.callhistorystatus = params.data.callliststatus;\r\n // selfObj.contactid = params.data.id;\r\n // selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n // selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n //});\r\n return eDiv;\r\n }, hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.ContactColumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else {\r\n this.ContactColumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.ContactColumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false\r\n },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n {\r\n field: 'callliststatus', headerName: 'Call List Hx', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n //selfObj.callhistorystatus = params.data.callliststatus;\r\n //selfObj.contactid = params.data.id;\r\n //selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n //selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'zip', headerName: 'ZIP', hide: false },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'contacttypeName', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n ];\r\n }\r\n }\r\n public loadallnewcontacts(userlist, startdate, enddate) {\r\n \r\n this.opprtunityservice.GetAllContactsBySearch('null', userlist, 'contacts', 0, startdate, enddate).then((contact) => {\r\n contact.forEach(contact => {\r\n contact.created = this.datePipe.transform(contact.created, \"MM-dd-yyyy\");\r\n contact.speciality = ((contact.speciality == 'null') ? \"\" : contact.speciality);\r\n });\r\n this.allNewContact = contact;\r\n \r\n //this.contactorcustomerid = this.allNewContact[0].id;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ContactGridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.allNewContact[0].id) {\r\n selfObj.ContactGridOptions.api.selectNode(node, true);\r\n //selfObj.contactorcustomerid = selfObj.allNewContact[0].id;\r\n\r\n\r\n }\r\n });\r\n }, 500));\r\n\r\n //this.gridCount = this.allNewContact.length;\r\n });\r\n }\r\n\r\n\r\n LeadIntializeAgGrid() {\r\n this.LeadgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 43).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createLeadColumnDefs(columnSelections);\r\n });\r\n this.LeadgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n }\r\n createLeadColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.LeadcolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.LeadcolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"salesstage\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'salesstage', headerName: 'Sales Stage', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if (params.data.status == 'Open' || params.data.status == 'Pending') { return { color: 'red' }; }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstname\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'firstname', headerName: 'First Name', hide: false\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastname\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'lastname', headerName: 'Last Name', hide: false\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"account\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'account', headerName: 'Account Name', hide: false\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"nexttask\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'nexttask', headerName: 'Next Sales Step', hide: false, cellRenderer(params) {\r\n if (params.data.salesstage === 'IPC') { return 'Analysis' }\r\n else if (params.data.salesstage === 'Analysis') { return 'Prepare Analysis Report' }\r\n else if (params.data.salesstage === 'Prepare Analysis Report') { return 'Review Analysis' }\r\n else if (params.data.salesstage === 'Review Analysis') { return 'Generate Proposal' }\r\n else if (params.data.salesstage === 'Generate Proposal') { return 'Justification Meeting' }\r\n else if (params.data.salesstage === 'Justification Meeting') { return 'Reference Calls' }\r\n else if (params.data.salesstage === 'Reference Calls') { return 'Demonstration' }\r\n else if (params.data.salesstage === 'Demonstration') { return 'Won-Lost-Pending' }\r\n }\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'status', headerName: 'Status', hide: false, cellStyle:\r\n function (params) {\r\n if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; }\r\n }, cellRenderer(params) {\r\n if (params.data.salesstage == 'MD Logic Demonstration' && params.data.status == 'Next Stage Pending') { return ' ' } else { return params.value; }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.LeadcolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.LeadcolumnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.LeadcolumnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) { if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; } } });\r\n }\r\n else {\r\n this.LeadcolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n\r\n this.LeadcolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'datecreated', headerName: 'Date Created', hide: false },\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false\r\n },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n {\r\n field: 'firstname', headerName: 'First Name', hide: false\r\n },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n {\r\n field: 'account', headerName: 'Account Name', hide: false\r\n },\r\n {\r\n field: 'salesstage', headerName: 'Sales Stage', hide: false, cellStyle: function (params) {\r\n if (params.data.status == 'Open' || params.data.status == 'Pending') { return { color: 'red' }; }\r\n }\r\n },\r\n {\r\n\r\n field: 'status', headerName: 'Status', hide: false, cellStyle:\r\n function (params) {\r\n if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; }\r\n }, cellRenderer(params) {\r\n if (params.data.salesstage == 'MD Logic Demonstration' && params.data.status == 'Next Stage Pending') { return ' ' } else { return params.value; }\r\n }\r\n\r\n },\r\n {\r\n field: 'nexttask', headerName: 'Next Sales Step', hide: false, cellRenderer(params) {\r\n if (params.data.salesstage == 'IPC') { return 'Analysis' }\r\n else if (params.data.salesstage == 'Analysis') { return 'Prepare Analysis Report' }\r\n else if (params.data.salesstage == 'Prepare Analysis Report') { return 'Review Analysis' }\r\n else if (params.data.salesstage == 'Review Analysis') { return 'Generate Proposal' }\r\n else if (params.data.salesstage == 'Generate Proposal') { return 'Justification Meeting' }\r\n else if (params.data.salesstage == 'Justification Meeting') { return 'Reference Calls' }\r\n else if (params.data.salesstage == 'Reference Calls') { return 'Demonstration' }\r\n else if (params.data.salesstage == 'Demonstration') { return 'Won-Lost-Pending' }\r\n }\r\n },\r\n { field: 'datescheduled', headerName: 'Date Schedule', hide: true }, //true starts here\r\n { field: 'owner', headerName: 'Owner', hide: false },\r\n { field: 'completeduser', headerName: 'Completed By', hide: false },\r\n { field: 'dealwonOrlost', headerName: 'Deal Won/Lost', hide: true },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, pinned: 'right' }\r\n\r\n ];\r\n\r\n var tooltipRenderer = function (params) {\r\n return '' + params.value + '';\r\n };\r\n }\r\n }\r\n LoadallLeadConverted(userid,type) { \r\n var userids = userid;\r\n this.leadservice.GetAllLeadsList(type, userids, this.StartDate, this.EndDate, 'null', 1, 10, this.currentuser.id).then((customer) => {\r\n \r\n if (this.SelectedCategory == 'Leads Lost') {\r\n this.allLeads = customer.filter(x => x.status == 'Lost');\r\n } else if (this.SelectedCategory == 'Leads Won') {\r\n this.allLeads = customer.filter(x => x.status == 'Won');\r\n } else if (this.SelectedCategory == 'Leads Pended') {\r\n this.allLeads = customer.filter(x => x.status == 'Pending');\r\n } else {\r\n this.allLeads = customer;\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n OpprtunitiesIntializeAgGrid() {\r\n this.OpportunitiesgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 44).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createOpportunitiesColumnDefs(columnSelections);\r\n\r\n });\r\n this.OpportunitiesgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n }\r\n createOpportunitiesColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.OpportunitiescolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'MM-dd-yyyy') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"datecreated\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: 'datecreated', headerName: 'Date Created', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"estimatedclosedate\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: 'estimatedclosedate', headerName: 'Date Scheduled', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"callliststatus\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: 'callliststatus', headerName: 'Call List Hx', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n //selfObj.callhistorystatus = params.data.callliststatus;\r\n //selfObj.contactid = params.data.accountorcontactid;\r\n //selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n //selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }, hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.OpportunitiescolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else {\r\n this.OpportunitiescolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.OpportunitiescolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n {\r\n field: 'accountid', headerName: 'accountid ', hide: true\r\n },\r\n {\r\n field: 'datecreated', headerName: 'Date Created ', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'estimatedclosedate', headerName: 'Date Scheduled', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'contactName', headerName: 'Contact Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'itemName', headerName: 'Item', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'dollers', headerName: '$$$$', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'RR', headerName: 'RR', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'PCname', headerName: 'PC', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'drsName', headerName: 'Drs', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'midlevel', headerName: 'Mid Levels', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n }\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'callliststatus', headerName: 'Call List Hx', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n //selfObj.callhistorystatus = params.data.callliststatus;\r\n //selfObj.contactid = params.data.accountorcontactid;\r\n //selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n //selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }\r\n },\r\n\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, pinned: 'right' },\r\n ];\r\n }\r\n }\r\n ClosedOpportunity(val) {\r\n this.opprtunityservice.GetAllOpportunitiesList(val, $(\"#userids\").val(), this.StartDate, this.EndDate, null, this.currentuser.id,true).then((customer) => {\r\n customer.forEach(customer => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n if (customer.estimatedclosedate != '0001-01-01T00:00:00') {\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n } else {\r\n customer.estimatedclosedate = '';\r\n }\r\n });\r\n //if (this.SelectedCategory == 'Lost') {\r\n // this.Allopportunities = customer.filter(x => x.status == '110')\r\n //} else if (this.SelectedCategory == 'Won') {\r\n // this.Allopportunities = customer.filter(x => x.status == '109')\r\n //} else if (this.SelectedCategory == 'Pended') {\r\n // this.Allopportunities = customer.filter(x => x.status == '111')\r\n //} else {\r\n this.Allopportunities = customer;\r\n //}\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.OpportunitiesgridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.Allopportunities[0].id) {\r\n selfObj.OpportunitiesgridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n });\r\n };\r\n\r\n initializeAgGrid() {\r\n\r\n this.TaskGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single' \r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 9).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n //this.TaskGridOptions.api.paginationSetPageSize(config.maxlimit);\r\n \r\n }\r\n this.columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(this.columnSelections);\r\n \r\n });\r\n this.TaskGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n \r\n }\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let searchval = this.applicationComponent.searchstring;\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.TaskcolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.TaskcolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.TaskcolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.TaskcolumnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; } } });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecompleted\") {\r\n this.TaskcolumnDefs.push({\r\n field: 'datecompleted', headerName: 'Date Completed', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Open' || params.value == \"\") { return \"\"; } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecreated\") {\r\n this.TaskcolumnDefs.push({\r\n field: 'datecreated', headerName: 'Date Created', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"estcompleteddate\" || fieldHeaderVisibleWidthArray[0] == \"DateSched\") {\r\n this.TaskcolumnDefs.push({\r\n field: 'estcompleteddate', headerName: 'Date Scheduled', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accountname\") {\r\n this.TaskcolumnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstName\") {\r\n this.TaskcolumnDefs.push({\r\n field: 'firstName', headerName: 'First Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (searchval != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = searchval.replace(/[\"]/g, \"\")\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastName\") {\r\n this.TaskcolumnDefs.push({\r\n field: 'lastName', headerName: 'Last Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal;\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"time\") {\r\n this.TaskcolumnDefs.push({\r\n field: 'starttime', headerName: 'Start Time', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (params.value == '00:00:00' || params.value == null) { return \"\" } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"totime\") {\r\n this.TaskcolumnDefs.push({\r\n field: 'endtime', headerName: 'End Time', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (params.value == '00:00:00' || params.value == null) { return \"\" } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else {\r\n this.TaskcolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.TaskcolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'estcompleteddate', headerName: 'Date Scheduled', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'datecompleted', headerName: 'Date Completed', hide: (this.tasktype == 'Open') ? true : false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (params.data.status == 'Open' || params.value == \"\") { return \"\"; } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'taskcategory', headerName: 'Task', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'tasktype', headerName: 'Type', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n //{\r\n // field: 'contactName', headerName: 'Contact Name', hide: false, cellStyle: function (params) {\r\n // if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n // return { color: 'red' }\r\n // }\r\n // }\r\n //},\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal;\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal\r\n if (x[i] == search || (x[i].toLowerCase() == search.toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'starttime', headerName: 'Start Time', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n //}, cellRenderer: function (params) {\r\n // return moment(params.value).format('MM-DD-YYYY');\r\n\r\n //}\r\n },\r\n {\r\n field: 'endtime', headerName: 'End Time', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n }, //true starts here\r\n\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, pinned: 'right' },\r\n {\r\n field: 'owner', headerName: 'User', hide: true, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n\r\n ];\r\n\r\n }\r\n }\r\n TaskData(val, userids, searchval) {\r\n var submenuID = '';\r\n if (val == 'Open Tasks') {\r\n submenuID = \"Open Tasks\";\r\n }\r\n else if (val == 'Completed Tasks') {\r\n submenuID = \"Completed Tasks\";\r\n }\r\n else if (val == 'All') {\r\n submenuID = \"All Tasks\";\r\n }\r\n else if (val == 'New') {\r\n submenuID = \"Add Tasks\";\r\n } else {\r\n submenuID = \"Open Tasks\";\r\n }\r\n if (this.currentuser.UserPrivilegeList != undefined) {\r\n var button = document.getElementById(submenuID);\r\n var bname = (button == null) ? submenuID : (button.title);\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == bname || p.resource.toLowerCase() == bname)[0];\r\n if (thisTab != undefined && thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + bname + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n }\r\n\r\n userids = $(\"#userids\").val();\r\n this.tasktype = val;\r\n this.leadservice.GetAllTaskHistory(val, userids, this.StartDate, this.EndDate, searchval, 'tasklist', this.currentuser.timezone).then((taskhistory) => {\r\n if (taskhistory.length > 0) {\r\n\r\n\r\n if ((taskhistory.length == 0 || taskhistory == null) && searchval != null) {\r\n this.applicationComponent.ShowInvalidSearchDialog = !this.applicationComponent.ShowInvalidSearchDialog;\r\n this.applicationComponent.dialogsizeInvalidSearch();\r\n }\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"yyyy-MM-dd\");\r\n taskhistory.datecompleted = taskhistory.datecompleted == null ? \"\" : this.datePipe.transform(taskhistory.datecompleted, \"yyyy-MM-dd\");\r\n taskhistory.estcompleteddate = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"yyyy-MM-dd\"));\r\n });\r\n this.alltaskhistory = taskhistory;\r\n var data = [];\r\n var labelArr = [];\r\n if (this.alltaskhistory.length > 0 && this.alltaskhistory[0].islimitedSearch == true) {\r\n if (this.alltaskhistory[0].SearchVal) {\r\n this.applicationComponent.searchCriteria = this.alltaskhistory[0].SearchVal;\r\n //this.applicationComponent.Searchdiv = true;\r\n this.applicationComponent.searchstring = this.alltaskhistory[0].SearchVal.slice(0, -3);\r\n this.applicationComponent.searchCriteriadata = this.applicationComponent.searchstring.split(' / ');\r\n }\r\n this.applicationComponent.term = \"True\";//passing dummy data toshow delete button in search box\r\n this.applicationComponent.limitedSearch = true;\r\n $('#searchContact').val('');\r\n }\r\n else {\r\n\r\n //$('#searchContact').attr('style', 'height:30px;width:88%;border:none;border-radius:3px;')\r\n this.applicationComponent.term = \"\";\r\n $('#searchContact').val('');\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.limitedSearch = false;\r\n this.applicationComponent.searchCriteriadata = [];\r\n }\r\n if (this.TaskGridOptions.columnApi != undefined) {\r\n this.TaskGridOptions.columnApi.setColumnVisible('datecompleted', (val == 'Open') ? false : true);\r\n this.createColumnDefs(this.columnSelections);\r\n }\r\n\r\n } else {\r\n this.alltaskhistory = taskhistory;\r\n this.applicationComponent.searchstring = \"No Match\";\r\n if (this.applicationComponent.Searchtabname == 'OpenTaskHistory') {\r\n var retrievedObject = localStorage.getItem('OpenTaskSearchCriteria');\r\n } else if (this.applicationComponent.Searchtabname == 'ClosedTaskHistory') {\r\n var retrievedObject = localStorage.getItem('ClosedTasksSearchCriteria');\r\n } else if (this.applicationComponent.Searchtabname == 'AllTaskHistory') {\r\n var retrievedObject = localStorage.getItem('AllTasksSearchCriteria');\r\n }\r\n if (retrievedObject != null) {\r\n //this.applicationComponent.Searchdiv = true;\r\n var obj = retrievedObject.slice(0, -3);\r\n obj += '~';\r\n this.applicationComponent.searchCriteriadata = obj.split(' / ');\r\n }\r\n }\r\n });\r\n \r\n\r\n }\r\n\r\n initializeTicketsAgGrid() {\r\n this.TicketGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 53).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n if (this.TicketGridOptions && this.TicketGridOptions.api)\r\n this.TicketGridOptions.api.paginationSetPageSize(config.maxlimit);\r\n \r\n }\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n \r\n this.TicketscreateColumnDefs(columnSelections);\r\n });\r\n\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeletecvComponent\r\n };\r\n }\r\n TicketscreateColumnDefs(columnSelections: string) {\r\n var searcharray = [];\r\n if (this.applicationComponent.searchCriteriadata) {\r\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\r\n if (searchaarraystring.includes(' /')) {\r\n searcharray = searchaarraystring.split(' / ');\r\n } else {\r\n searcharray.push(searchaarraystring);\r\n }\r\n }\r\n let columnSelectionsArray: string[] = [];\r\n let selfobj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n selfobj.TicketColumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n selfobj.TicketColumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"contactname\") {\r\n selfobj.TicketColumnDefs.push({\r\n field: 'contactname', headerName: 'Contact Name', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accountName\") {\r\n selfobj.TicketColumnDefs.push({\r\n field: 'accountName', headerName: 'Account', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n selfobj.TicketColumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n\r\n\r\n this.TicketColumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'ticketId', headerName: 'Ticket', hide: true },\r\n {\r\n field: 'createdDate', headerName: 'Created Date', hide: false, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'accountName', headerName: 'Account', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'contactname', headerName: 'Contact name', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'email', headerName: 'Email', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'UserName', headerName: 'User Name', hide: true, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false },\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n { field: 'CCToName', headerName: 'CC', hide: true },\r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n var text = '';\r\n selfobj.ticketStatusList.forEach(ele => {\r\n if (ele.id == params.value) {\r\n text = ele.itemName;\r\n }\r\n })\r\n eDiv.innerHTML = text;\r\n return eDiv;\r\n }\r\n },\r\n \r\n\r\n ];\r\n }\r\n selfobj.TicketGridOptions.getRowStyle = function (params) {\r\n\r\n if (params.data.assignTicketToUser != null && params.data.assignTicketToUser == selfobj.currentuser.id && params.data.readstatus == 0) {\r\n return { backgroundColor: 'rgb(241, 242, 232)', 'font-weight': 'bold' };\r\n }\r\n }\r\n }\r\n GetAllTicketStatus() {\r\n this.customerService.GetAllTicketStatus().then((userslist) => {\r\n this.ticketStatusList = userslist;\r\n });\r\n }\r\n GetAllZendeskUers(filter, sortOrder) { \r\n this.customerService.GetTicketsList(this.ticketType, 'My Tickets Only', this.currentuser.id, sortOrder, this.displayCC, this.assignedTo).then((tickets) => {\r\n this.Userlist = tickets.filter(x => (x.createdDate > this.StartDate));\r\n });\r\n\r\n }\r\n\r\n\r\n initializeProposalAgGrid() {\r\n this.ProposalGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 54).then((config) => {\r\n columnSelections = config;\r\n \r\n this.createProposalColumnDefs(columnSelections);\r\n \r\n\r\n\r\n });\r\n\r\n\r\n\r\n }\r\n createProposalColumnDefs(columnSelections: string) {\r\n var searcharray = [];\r\n if (this.applicationComponent.searchCriteriadata) {\r\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\r\n if (searchaarraystring.includes(' /')) {\r\n searcharray = searchaarraystring.split(' / ');\r\n } else {\r\n searcharray.push(searchaarraystring);\r\n }\r\n }\r\n let columnSelectionsArray: string[] = [];\r\n let selfobj = this;\r\n if (columnSelections != \"\" && columnSelections != null ) {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n selfobj.ProposalColumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n selfobj.ProposalColumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"ContactName\") {\r\n selfobj.ProposalColumnDefs.push({\r\n field: 'ContactName', headerName: 'Contact Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"AccountName\") {\r\n selfobj.ProposalColumnDefs.push({\r\n field: 'AccountName', headerName: 'Account', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n selfobj.ProposalColumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n\r\n\r\n selfobj.ProposalColumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n {\r\n field: 'CreatedDate', headerName: 'Date', hide: false, width: 110, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'AccountName', headerName: 'Account', hide: false, width: 200, cellRenderer: function (params) {\r\n //if (searcharray.length > 0 && params.value != null) {\r\n // let x = params.value.split(\" \");\r\n // var st = \"\";\r\n // for (let i = 0; i < x.length; i++) {\r\n // if (searcharray.toString().toLowerCase().includes(x[i].toLowerCase().trim())) {\r\n // st += \"  \";\r\n // }\r\n // else {\r\n // st += x[i] + \" \";\r\n // }\r\n\r\n // }\r\n // return st\r\n //} else {\r\n // return params.value;\r\n //}\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'AccountId', headerName: 'AccountId', hide: false, width: 200\r\n },\r\n {\r\n field: 'ContactName', headerName: 'Contact', hide: false, width: 180, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'itemName', headerName: 'Proposal Type', hide: false, width: 170, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'ProposalDescription', headerName: 'Proposal Description', hide: false, width: 170, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'ProposalPDF', headerName: 'Proposal', hide: false, width: 100, cellRenderer(params) {\r\n\r\n if (params.data.ProposalPDF != null && params.data.ProposalPDF != 0) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n //selfobj.ContactDetails = false;\r\n //selfobj.PDFClick(params.data.ProposalPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'ProposalPOPDF', headerName: 'PO', hide: false, width: 100, cellRenderer(params) {\r\n if (params.data.ProposalPOPDF != null && params.data.ProposalPOPDF != 0) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n //selfobj.ContactDetails = false;\r\n //selfobj.PDFClick(params.data.ProposalPOPDF, 'Proposal');\r\n });\r\n return eDiv;\r\n }\r\n }\r\n\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: false, width: 170, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'LeadDescription', headerName: 'Lead Description', hide: false, width: 170, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'TotalPrice', headerName: 'Total Price', hide: false, width: 100\r\n },\r\n {\r\n field: 'MonthlyTotalPrice', headerName: 'Monthly Total Price', hide: false, width: 100\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: false, width: 100, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().toLowerCase().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n\r\n ];\r\n\r\n }\r\n }\r\n GetAllProposal(userid) {\r\n this.userService.GetAllProposals(userid, 'All Proposals', 1, this.applicationComponent.startVal, this.applicationComponent.endVal).then(result => {\r\n\r\n this.AllProposals = result.filter(x => (moment(x.CreatedDate).format('YYYY-MM-DD') > this.StartDate));\r\n\r\n //if (this.AllProposals.length > 0) {\r\n // this.applicationComponent.searchstring = \"\";\r\n // this.applicationComponent.searchCriteriadata = [];\r\n // if (this.AllProposals.length > 0 && this.AllProposals[0].islimitedSearch == true) {\r\n // if (this.AllProposals[0].SearchVal) {\r\n // this.applicationComponent.searchCriteria = this.AllProposals[0].SearchVal;\r\n // this.applicationComponent.searchstring = this.AllProposals[0].SearchVal.slice(0, -3);\r\n // this.applicationComponent.searchCriteriadata = this.applicationComponent.searchstring.split(' / ');\r\n // }\r\n // this.applicationComponent.term = \"True\";\r\n // this.applicationComponent.limitedSearch = true;\r\n // $('#searchContact').val('');\r\n // //this.createColumnDefs(this.colSelections);\r\n // }\r\n // else {\r\n // this.applicationComponent.term = \"\";\r\n // $('#searchContact').val('');\r\n // this.applicationComponent.searchstring = \"\";\r\n // this.applicationComponent.limitedSearch = false;\r\n // this.applicationComponent.searchCriteriadata = [];\r\n // //this.createColumnDefs(this.colSelections);\r\n // }\r\n //}\r\n //else {\r\n // this.applicationComponent.searchstring = \"No Match\";\r\n // //this.applicationComponent.searchCriteriadata.push(\"No Matched Results\");\r\n // var retrievedObject = localStorage.getItem('ProposalSearchCriteria');\r\n // if (retrievedObject != null) {\r\n // // this.applicationComponent.Searchdiv = true;\r\n // var obj = retrievedObject.slice(0, -3);\r\n // obj += '~';\r\n // this.applicationComponent.searchCriteriadata = obj.split(' / ');\r\n // }\r\n //}\r\n\r\n });\r\n }\r\n\r\n AccountDoubleClick(rowEvent) {\r\n this.applicationComponent.QuickSearchDiv = false;\r\n localStorage.setItem('RhxAccountVal', rowEvent.data.id);\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/account/Accounts`);\r\n SO.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n SO.applicationComponent.selectedtabid = 'Customer';\r\n }, 100));\r\n }, 50));\r\n }\r\n ContactDoubleClick(rowEvent) {\r\n this.applicationComponent.QuickSearchDiv = false;\r\n localStorage.setItem('RhxContactVal', rowEvent.data.id);\r\n\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }, 50));\r\n }\r\n LeadsDoubleClick(rowEvent) {\r\n this.applicationComponent.CollapseSelectedMenu('leads');\r\n this.applicationComponent.ExpandSelectedMenu('leads');\r\n this.router.navigateByUrl(`/application/leadsdashboard/${rowEvent.data.contactid}/${rowEvent.data.id}/null`);\r\n }\r\n OpportunitiesDoubleClick(rowEvent) {\r\n this.applicationComponent.CollapseSelectedMenu('opportunities');\r\n this.applicationComponent.ExpandSelectedMenu('opportunities');\r\n\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/${rowEvent.data.accountorcontactid}/${rowEvent.data.type}/null/${rowEvent.data.id}`);\r\n }\r\n ProposalDoubleClick(rowEvent) {\r\n this.applicationComponent.CollapseSelectedMenu('Proposals');\r\n this.applicationComponent.ExpandSelectedMenu('Proposals');\r\n\r\n this.router.navigateByUrl(`/application/Proposals/` + rowEvent.data.accountorcontactid + `/` + rowEvent.data.ProposalID + `/Open Proposal/Contact`);\r\n }\r\n TasksDoubleClick(rowEvent) {\r\n this.applicationComponent.CollapseSelectedMenu('task lists');\r\n this.applicationComponent.ExpandSelectedMenu('task lists');\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/` + rowEvent.data.contactid + '/' + rowEvent.data.id +'/null');\r\n }\r\n TicketsDoubleClick(rowEvent) {\r\n this.applicationComponent.CollapseSelectedMenu('tickets');\r\n this.applicationComponent.ExpandSelectedMenu('tickets');\r\n var status = \"Open Tickets\";\r\n if (rowEvent.data.TicketStatus == 1) {\r\n status = \"Open Tickets\";\r\n } else if (rowEvent.data.TicketStatus == 2) {\r\n status = \"On-Hold Tickets\";\r\n } else if (rowEvent.data.TicketStatus == 3) {\r\n status = \"Pended Tickets\";\r\n } else if (rowEvent.data.TicketStatus == 4) {\r\n status = \"Closed Tickets\";\r\n } else if (rowEvent.data.TicketStatus == 5) {\r\n status = \"Open Tickets\";\r\n } else if (rowEvent.data.TicketStatus == 6) {\r\n status = \"Deleted Tickets\";\r\n }\r\n\r\n this.router.navigateByUrl(`/application/zendeskhome/`+rowEvent.data.contactid + '/' + rowEvent.data.ticketId +'/'+ status);\r\n }\r\n\r\n\r\n OpportunitieshistoryinitializeAgGrid() {\r\n this.AccessGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n\r\n };\r\n this.opportunitiesscreateColumnDefs(\"\");\r\n this.LoadLoginAuditLog('Login', $(\"#userids\").val(), 1, 100, this.StartDate, this.EndDate, false);\r\n\r\n this.AccessGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n }\r\n opportunitiesscreateColumnDefs(columnSelections: string) {\r\n this.AccessColumnDefs = [\r\n { field: 'documentname', headerName: 'Audit Type', hide: false, width: 100 },\r\n { field: 'action', headerName: 'Action', hide: false, width: 200 },\r\n { field: 'username', headerName: ' User Name', hide: false, width: 200 },\r\n { field: 'LoggedIn', headerName: 'Login-Time', hide: false, width: 200 },\r\n {\r\n field: 'LoggedOut', headerName: 'Logout-Time', hide: false, width: 200, cellRenderer(params) {\r\n if (params.data.LoggedOut === null || params.data.LoggedOut === '') {\r\n return \"BTC\";\r\n } else {\r\n return params.data.LoggedOut;\r\n }\r\n }},\r\n { field: 'TimeSpent', headerName: 'Time Used', hide: false, width: 150 },\r\n { field: 'LogOutStatus', headerName: 'LogOut Status', hide: false, width: 200 },\r\n ];\r\n //this.accountcontactcolumnDefs = [\r\n // { field: 'documentname', headerName: 'Audit Type', hide: false, width: 100 },\r\n // { field: 'action', headerName: 'Action', hide: false, width: 300 },\r\n // { field: 'username', headerName: ' User Name', hide: false, width: 200 },\r\n // { field: 'dateofviewed', headerName: ' Created Date', hide: false, width: 250 },\r\n //];\r\n }\r\n\r\n LoadLoginAuditLog(type, UserIds, startrow, endrow, startdate, enddate, pageSizeChanged) {\r\n if (UserIds == \"\") {\r\n this.loginauditloglist = [];\r\n } else {\r\n if (!pageSizeChanged) {\r\n this.customerService.GetAllDocumentAuditlogList(0, type, UserIds, startrow, endrow, 'undefined', startdate, enddate).then((opportunityauditloglist) => {\r\n opportunityauditloglist.forEach(document => {\r\n document.dateofviewed = this.datePipe.transform(document.dateofviewed, \"MM-dd-yyyy\");\r\n document.LoggedIn = this.datePipe.transform(document.LoggedIn, \"MM-dd-yyyy HH:mm\");\r\n document.LoggedOut = document.LoggedOut != 'null' ? this.datePipe.transform(document.LoggedOut, \"MM-dd-yyyy HH:mm\") : document.LoggedOut;\r\n });\r\n this.loginauditloglist = opportunityauditloglist;\r\n this.AccessGridOptions.api.paginationSetPageSize(Number(this.loginauditloglist.length));\r\n });\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 { GridOptions, Column } from 'ag-grid';\r\nimport { ProposalItems } from '../../../models/ProposalItems';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { Dashboardconfiguration } from '../../../models/dashboardconfiguration';\r\nimport { ApplicationComponent } from '../../application.component';\r\n\r\n@Component({\r\n selector: 'proposal-items',\r\n templateUrl: './proposal-items.component.html',\r\n styleUrls: ['./proposal-items.component.css']\r\n})\r\nexport class ProposalItemsComponent implements OnInit {\r\n public gridProposalOptions: GridOptions;\r\n public columnDefsForItems: any[];\r\n allProposalItems: ProposalItems[];\r\n public sideBar;\r\n currentUser: any;\r\n colSelections: string; private gridApi;\r\n public context;\r\n public frameworkComponents;\r\n constructor(private userService: UserService, private opprtunityservice: OpprtunitiesService,public applicationComponent: ApplicationComponent) {\r\n this.currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeAgGrid();\r\n this.GetAllProposalItems();\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridProposalOptions = {\r\n pagination: true, enableColResize: true, paginationPageSize: 1000, enableSorting: false, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: 'single', enableCellChangeFlash: true, suppressSorting: true, suppressMultiSort: true \r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n let configId = 52;\r\n\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentUser.id, configId).then((config) => { \r\n this.colSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n if (this.colSelections != null) {\r\n this.createColumnDefs(this.colSelections);\r\n } else {\r\n this.createColumnDefs(\"\");\r\n }\r\n });\r\n\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridProposalOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration(); \r\n config.maxlimit = 1000; \r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n this.UpdateSearchColumns(config.columnsselections);\r\n\r\n config.configureduserid = this.currentUser.id;\r\n config.resourceid = 52;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.applicationComponent.selectedItems.length; i++) {\r\n config.userid += this.applicationComponent.selectedItems[i].id + \",\";\r\n }\r\n \r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n\r\n if ((fields[2] == 'true' && fields[1] != '#') && (fields[2] == 'true' && fields[0] != 'notes') && (fields[2] == 'true' && fields[0] != 'actions')) {\r\n\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n //this.applicationComponent.ShowSearchTabs('True');\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n\r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n\r\n if (element.subtab == 'CustomerAccount') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } else if (element.subtab == 'ContactsAccount') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n }\r\n\r\n\r\n });\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n \r\n }\r\n GetAllProposalItems() {\r\n this.userService.GetAllProposalItems(this.currentUser.id, 0).then(result => {\r\n this.allProposalItems = result;\r\n });\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n\r\n createColumnDefs(columnSelections: string) {\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefsForItems = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefsForItems.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else {\r\n this.columnDefsForItems.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefsForItems = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true,\r\n rowDrag: true\r\n },\r\n { field: 'CategoryName', headerName: 'Category', hide: false, width: 220 },\r\n {\r\n field: 'ProposalItemName', headerName: 'Items', hide: false, width: 450\r\n },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false, width: 150 },\r\n { field: 'Price12', headerName: 'Price12 Months', hide: false, width: 150 },\r\n { field: 'Price24', headerName: 'Price24 Months', hide: false, width: 150 },\r\n { field: 'Price36', headerName: 'Price36 Months', hide: false, width: 150 },\r\n { field: 'Monthly12', headerName: 'Monthly12 Months', hide: false, width: 150 },\r\n { field: 'Monthly24', headerName: 'Monthly24 Months', hide: false, width: 150 },\r\n { field: 'Monthly36', headerName: 'Monthly36 Months', hide: false, width: 150 },\r\n\r\n\r\n ];\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n User Activity (Details) ({{(alltaskhistory && alltaskhistory.length != undefined)? alltaskhistory.length : 0}})\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n

      User  {{summary.username}}

      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
      Phone Calls (Scheduled){{summary.PhoneCallsScheduled}}
      Phone Calls (Completed){{summary.PhoneCallsCompleted}}
      To Do's (Scheduled){{summary.ToDoScheduled}}
      To Do's (Completed){{summary.ToDoCompleted}}
      Meetings (Scheduled){{summary.MeetingScheduled}}
      Meetings (Completed){{summary.MeetingCompleted}}
      Accounts (Added){{summary.NewAccountsAdded}}
      Contacts (Added){{summary.NewContactsAdded}}
      Leads (Converted){{summary.LeadConverted}}
      Opportunities (Added){{summary.NewOpportunitiesAdded}}
      \r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n {{headerlabel}} ({{GridCount}})\r\n \r\n
      \r\n A \r\n \r\n\r\n B \r\n \r\n C \r\n \r\n D \r\n \r\n E \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n \r\n\r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n\r\n\r\n \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, ViewContainerRef, ViewEncapsulation, ElementRef, Renderer2, ViewChild, Optional, Input } from '@angular/core';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { Customers } from '../../models/customers';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Notes } from '../../models/notes';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { ActivitiesNotesInfoComponent } from '../activities-notes-info/activities-notes-info.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { SalesProcessHistory } from '../../models/sales-process-history';\r\nimport { Column } from 'ag-grid';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { ToastrService } from 'ngx-toastr';;\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { CalllisthistoryComponent } from \"../calllisthistory/calllisthistory.component\";\r\nenum selectedTab { UserActivityDetails, UserActivitySummary };\r\nimport * as moment from 'moment'\r\nimport { AuditLogComponent } from '../audit-log/audit-log.component';\r\nimport { Http } from '@angular/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { PageComponent } from '../page/page.component';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { NotesComponent } from '../notes/notes.component';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { ContactsdashboardComponent } from '../../application/contacts/contactsdashboard/contactsdashboard.component';\r\nimport { AccountContactComponent } from '../account-contact/account-contact.component';\r\nimport { AccountSummaryCheckBox } from 'src/app/models/ActivitySummaryCheckbox';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { ScheduletaskComponent } from '../scheduletask/scheduletask.component';\r\nimport { LeadsComponent } from '../leads/leads.component';\r\nimport { OpportunitiesComponent } from '../opportunities/opportunities.component';\r\nimport { OtherStandardReportsComponent } from './other-standard-reports/other-standard-reports.component';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { UserdataheaderComponent } from '../userdataheader/userdataheader.component';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-reports',\r\n templateUrl: './reports.component.html',\r\n styleUrls: ['./reports.component.css']\r\n})\r\nexport class ReportsComponent implements OnInit {\r\n resizeheight = (window.innerHeight / 1.542) + 'px';\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n itemResource: any;\r\n items = [];\r\n itemCount = 0;\r\n params: any;\r\n notesitemResource: any;\r\n notesitems = [];\r\n notesitemCount = 0;\r\n notesparams: any;\r\n showDialog: boolean = false;\r\n usersummaryList: any;\r\n dropdownList = [];\r\n selectedItems = [];\r\n dropdownSetting = {};\r\n finalitems = \"\";\r\n selectedtab = \"\";\r\n currentuser: any;\r\n type: string = \"\";\r\n selectedtype: string = \"Access(Login/Logout)\";\r\n notedescription: string; callhistorystatus: string;\r\n notes: Notes = new Notes();\r\n taskhistoryid: number;\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n customer: Customers = new Customers();\r\n accountdiv: boolean = true;\r\n customerdiv: boolean = true;\r\n contactorcustomerid: number = 0;\r\n alltaskhistory: TaskHistory[];\r\n alltaskhistoryOriginal: TaskHistory[];\r\n Selectedalltaskhistory: TaskHistory[];\r\n selectedreporttype: string = \"Access(Login/Logout)\";\r\n ReportType: string;\r\n Category: string;\r\n selectedFilterType: string = \"Display All\";\r\n isModal: boolean = true;\r\n isOpenNewNotes: boolean = false;\r\n contactinformationDiv: boolean = false;\r\n public gridOptions: GridOptions;\r\n public gridOptionsnotes: GridOptions;\r\n public gridselectedOptions: GridOptions;\r\n public NewAccountgridOptions: GridOptions;\r\n public OpportunitiesgridOptions: GridOptions;\r\n public NewContactgridOptions: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n public selectedcolumnDefs: any[];\r\n public columnDefsnotes: any[];\r\n public AccountcolumnDefs: any[];\r\n public OpportunitiescolumnDefs: any[];\r\n public NewContactcolumnDefs: any[];\r\n pageSize = \"1000\";\r\n DisplayrowsList: Dropdowntype[] = [];\r\n UserIds: string = \"\";\r\n columnSelections: string;\r\n @ViewChild(AuditLogComponent) Auditlog;\r\n public sideBar;\r\n public context;\r\n public frameworkComponents;\r\n public AccountframeworkComponents;\r\n selectedTab: selectedTab;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n allnotes: Notes[];\r\n conid: number; contactid: number;\r\n showSelectedtaskHistory: boolean = false;\r\n showNewAccountTable: boolean = false;\r\n showNewContactAddedTable: boolean = false;\r\n showSaleProcessHistoryTable: boolean = false;\r\n showOpprtunitiesHistoryTable: boolean = false;\r\n taskDialog: boolean = false;\r\n isTaskHistoryGridInitiatized: boolean = false;\r\n //isMultipleContacts: boolean = false;\r\n gridCount: number = 0; selectedsummary: string = \"\";\r\n @ViewChild(ActivitiesNotesInfoComponent) actcomp;\r\n @ViewChild(UserdataheaderComponent) UDHComp;\r\n public month = ((new Date().getMonth() + 1) < 10) ? '0' + (new Date().getMonth() + 1) : (new Date().getMonth() + 1);\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = (new Date().getFullYear() - 1) + '-' + this.month + '-01'; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = 'Start:' + this.month + '-01-' + (new Date().getFullYear() - 1).toString();\r\n public startDate: any = new Date();\r\n public EndDate: any = new Date();\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = new Date().getFullYear() + '-' + this.month + '-' + (new Date().getDate()); //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = 'End:' + this.month + '-' + (new Date().getDate()) + '-' + new Date().getFullYear().toString();\r\n ReportTypeList: Dropdowntype[] = [];\r\n MultipleContacts: Dropdowntype[] = [];\r\n activitieslist: Array = [];\r\n noteslist: Array = [];\r\n allCustomers: Accounts[];\r\n allLeads: SalesProcessHistory[];\r\n Allopportunities: Opportunities[];\r\n\r\n allContacts: Contacts[];\r\n allNewContact: Contacts[];\r\n public LeadgridOptions: GridOptions;\r\n public LeadcolumnDefs: any[];\r\n typ: any; contactids = []; accountids = [];\r\n @ViewChild(CalllisthistoryComponent) callhistorycmp;\r\n @ViewChild(NotesComponent) notecomp;\r\n @ViewChild(OtherStandardReportsComponent) OtherReports;\r\n CallHistoryDialog = false; NotesDec = false;\r\n timezonevalue: string;\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n divHeight = screen.height * 0.63;\r\n Ids = [];\r\n summaryDivHeight1 = screen.height * 0.678888;\r\n ContentDiv = screen.height * 0.561111;\r\n gridhgt12 = screen.height * 0.271;\r\n gridhgt13 = screen.height * 0.271;\r\n gridhgt15 = screen.height * 0.271;\r\n gridhgt16 = screen.height * 0.271;\r\n\r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n today = Date.now();\r\n contactheight = screen.height * 0.34;\r\n calanderonoff: boolean = true;\r\n //Newly Added becoz while Upgrading\r\n userInfo: string = \"\";\r\n isShowDetailsChecked: boolean = false;\r\n @ViewChild(ContactsdashboardComponent) contactComp;\r\n @ViewChild(AccountContactComponent) accComp;\r\n @ViewChild(ScheduletaskComponent) scheduleComp;\r\n @ViewChild(LeadsComponent) leadsComponent;\r\n @ViewChild(OpportunitiesComponent) optComp;\r\n public AccActChkBox = new AccountSummaryCheckBox();\r\n private gridApi;\r\n ShowUserActivityDetail: boolean = true;\r\n ShowUserActivitySummary: boolean = false;\r\n UserActivitySummaryCheckedDiv: boolean = false;\r\n OtherStandardReports: boolean = false;\r\n TaskListInfo: boolean = false;\r\n id: number; taskid: number;\r\n headerlabel = \"\";\r\n GridCount = \"\";\r\n leadid: number;\r\n opportunityids = [];\r\n ShowActivityDetailsTask: boolean = false;\r\n constructor(public applicationComponent: ApplicationComponent, private paginationcop: PageComponent, private leadservice: LeadsService, private http: Http, private customerService: CustomerService, private opprtunityservice: OpprtunitiesService, private viewContainerRef: ViewContainerRef, private toastr: ToastrService, private route: ActivatedRoute, private router: Router, private accountsService: AccountsService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu('reports');\r\n }\r\n // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n }\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let searchval = this.applicationComponent.searchstring;\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\" && columnSelections != undefined) {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({\r\n field: 'owner', headerName: 'User Name', hide: true, suppressSorting: true, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({\r\n field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"DateCreated\") {\r\n this.columnDefs.push({\r\n field: 'DateCreated', headerName: 'Date Created', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) , cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"DateSched\") {\r\n this.columnDefs.push({\r\n field: 'DateSched', headerName: 'Date Scheduled', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) , cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"DateComp\") {\r\n this.columnDefs.push({\r\n field: 'DateComp', headerName: 'Date Comp', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) ,cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Completed') {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"lastName\") {\r\n this.columnDefs.push({\r\n field: 'lastName', headerName: 'Last Name', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) , cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal;\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstName\") {\r\n this.columnDefs.push({\r\n field: 'firstName', headerName: 'First Name', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) , cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'DateCreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'DateSched', headerName: 'Date Scheduled', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'DateComp', headerName: 'Date Comp', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Completed') {\r\n if (params.value == null || params.value == '') {\r\n return \"\";\r\n } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n\r\n }\r\n }\r\n },\r\n {\r\n field: 'TimeSched', headerName: 'Time Sched', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n { field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) { if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; } } },\r\n {\r\n field: 'taskcategory', headerName: 'Task', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'TypeofTask', headerName: 'Type Of Task', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n //if (searchval != null) {\r\n if (params.data.SearchVal != null) {\r\n let self = this;\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = searchval.replace(/[\"]/g, \"\")\r\n var search = params.data.SearchVal;\r\n if (x[i] == search) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n //{\r\n // field: 'ContactName', headerName: 'Contact Name', hide: false, cellStyle: function (params) {\r\n // if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n // return { color: 'red' }\r\n // }\r\n // } },\r\n {\r\n field: 'contacttypeName', headerName: 'Contact Type', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n { field: 'AccountName', headerName: 'Account Name', hide: true }, //true starts here\r\n {\r\n field: 'time', headerName: 'Start Time', hide: true, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'totime', headerName: 'End Time', hide: true, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'User Name', hide: true, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n ];\r\n\r\n }\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n \r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 8;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n initializeAgGrid() {\r\n\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n }; this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n //let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 8).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n this.columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(this.columnSelections);\r\n //this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n //this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n //this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n //this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString();\r\n this.UpdateSearchColumns(this.columnSelections);\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n }\r\n\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && (fields[1] != '#' && fields[0] != 'notes' && fields[0] != 'actions' && fields[0] != 'callliststatus')) {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n if (element.subtab == 'StandardReports') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } else {\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = false;\r\n }\r\n\r\n\r\n });\r\n\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n else {\r\n this.accountsService.GetDefaultColumns('OpenTaskHistory', this.currentuser.id).then((config) => {\r\n\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n { \"id\": 'lastName', \"itemName\": 'Last Name' }\r\n ];\r\n }\r\n });\r\n //this.applicationComponent.showSearchTabsSubTabs = false;\r\n }\r\n }\r\n rowClickTaAgGrid(rowEvent) {\r\n this.conid = rowEvent.data.contactid;\r\n this.typ = rowEvent.data.type;\r\n this.actcomp.GetContactNotesandActivities(rowEvent.data.contactid);\r\n if (rowEvent.node.selected) {\r\n if (rowEvent.data.type == 'Contacts') {\r\n this.actcomp.GetContactNotesandActivities(rowEvent.data.contactid);\r\n } else {\r\n //this.contact = null;\r\n this.actcomp.GetCustomerNotesandActivities(rowEvent.data.contactid);\r\n }\r\n } else {\r\n this.actcomp.GetContactNotesandActivities(0);\r\n this.contact = null;\r\n this.account = null;\r\n }\r\n }\r\n\r\n TaskhistoryrowClickAgGrid(event) {\r\n \r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n var data = event.api.getSelectedNodes()[0].data;\r\n //this.accComp.showSccountInfo = true;\r\n //this.accComp.AccountData('show' + data.accountid);\r\n this.TaskListInfo = true;\r\n this.id = data.contactid;\r\n this.taskid = data.id;\r\n this.type = data.type;\r\n\r\n\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.scheduleComp.initData(data.contactid, data.type, data.id);\r\n }, 500));\r\n \r\n } \r\n } else {\r\n //this.accComp.showSccountInfo = false;\r\n }\r\n\r\n }\r\n\r\n TaskhistorySelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n var data = event.api.getSelectedNodes()[0].data;\r\n this.ShowActivityDetailsTask = true;\r\n this.id = data.contactid;\r\n this.taskid = data.id;\r\n this.type = data.type;\r\n\r\n\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.scheduleComp.initData(data.contactid, data.type, data.id);\r\n }, 500));\r\n\r\n }\r\n } else {\r\n //this.accComp.showSccountInfo = false;\r\n }\r\n\r\n }\r\n\r\n //if (rowEvent.node.selected) {\r\n // if (rowEvent.data.type == 'Contacts') {\r\n\r\n // this.actcomp.GetContactNotesandActivities(rowEvent.data.contactid);\r\n // this.contactids.push(rowEvent.data.contactid)\r\n // this.contactids = this.RemoveDuplicateItemsFromArr(this.contactids);\r\n // $('#emailIds').val((this.contactids).toString());\r\n // $('#Ids').val($('#emailIds').val());\r\n // }\r\n // else {\r\n // this.accountids.push(rowEvent.data.contactid)\r\n // this.accountids = this.RemoveDuplicateItemsFromArr(this.accountids);\r\n // $('#accids').val((this.accountids).toString());\r\n // this.accountids.push(rowEvent.data.contactid);\r\n // this.actcomp.GetCustomerNotesandActivities(rowEvent.data.contactid);\r\n // }\r\n //}\r\n //else {\r\n\r\n // var rowdata = rowEvent.data;\r\n // if (rowEvent.data.type == 'Contacts') {\r\n // if ((this.contactids).indexOf(rowdata.contactid) > -1) {\r\n // this.contactids = this.RemoveDuplicateItemsFromArr(this.contactids);\r\n // var index = (this.contactids).indexOf(rowdata.contactid);\r\n // (this.contactids).splice(index, 1);\r\n // var string = (this.contactids).toString();\r\n // $('#emailIds').val(string);\r\n // }\r\n // }\r\n // else {\r\n // if ((this.accountids).indexOf(rowdata.contactid) > -1) {\r\n // this.accountids = this.RemoveDuplicateItemsFromArr(this.accountids);\r\n // var index = (this.accountids).indexOf(rowdata.contactid);\r\n // (this.accountids).splice(index, 1);\r\n // var string = (this.accountids).toString();\r\n // $('#accids').val(string);\r\n // }\r\n // }\r\n //}\r\n // }\r\n\r\n RemoveDuplicateItemsFromArr(arr: any[]) {\r\n var uniqueIDs = [];\r\n $.each(arr, function (i, el) {\r\n if ($.inArray(el, uniqueIDs) === -1) uniqueIDs.push(el);\r\n });\r\n\r\n return uniqueIDs;\r\n }\r\n\r\n\r\n OpportunitiesrowClickAgGrid(event) {\r\n\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (!this.contactinformationDiv) { this.contactinformationDiv = true; }\r\n if (event.api.getSelectedNodes()[0].data) {\r\n \r\n var data = event.api.getSelectedNodes()[0].data;\r\n this.TaskListInfo = true;\r\n this.opportunityids = data.id;\r\n this.contactids = data.accountorcontactid;\r\n this.typ = data.type;\r\n const selfobj = this;\r\n $(setTimeout(function () {\r\n\r\n selfobj.optComp.DisplayOpportunities(data);\r\n }, 200));\r\n\r\n\r\n\r\n\r\n //if (data.type == 'Contacts') {\r\n // // this.actcomp.GetContactNotesandActivities(event.data.accountorcontactid);\r\n // this.contactids.push(data.accountorcontactid)\r\n // this.contactids = this.RemoveDuplicateItemsFromArr(this.contactids);\r\n // $('#emailIds').val((this.contactids).toString());\r\n // //this.actcomp.GetContactNotesandActivities(event.data.accountorcontactid);\r\n //} else {\r\n // this.accountids.push(data.accountorcontactid)\r\n // this.accountids = this.RemoveDuplicateItemsFromArr(this.accountids);\r\n // $('#accids').val((this.accountids).toString());\r\n // this.accountids.push(data.accountorcontactid)\r\n // //this.actcomp.GetCustomerNotesandActivities(event.data.accountorcontactid);\r\n //}\r\n //this.accComp.showSccountInfo = true;\r\n //this.accComp.AccountData('show' + data.accountid);\r\n \r\n }\r\n }\r\n else {\r\n this.accComp.showSccountInfo = false;\r\n var rowdata = event.data;\r\n\r\n if (event.data.type == 'Contacts') {\r\n if ((this.contactids).indexOf(rowdata.accountorcontactid) > -1) {\r\n this.contactids = this.RemoveDuplicateItemsFromArr(this.contactids);\r\n var index = (this.contactids).indexOf(rowdata.accountorcontactid);\r\n (this.contactids).splice(index, 1);\r\n var string = (this.contactids).toString();\r\n $('#emailIds').val(string);\r\n }\r\n }\r\n else {\r\n if ((this.accountids).indexOf(rowdata.accountorcontactid) > -1) {\r\n this.accountids = this.RemoveDuplicateItemsFromArr(this.accountids);\r\n var index = (this.accountids).indexOf(rowdata.accountorcontactid);\r\n (this.accountids).splice(index, 1);\r\n var string = (this.accountids).toString();\r\n $('#accids').val(string);\r\n }\r\n //let selectedRows = this.OpportunitiesgridOptions.api.getSelectedRows();\r\n //if (selectedRows.length == 0)\r\n // this.actcomp.GetContactNotesandActivities(0);\r\n }\r\n \r\n }\r\n }\r\n AccountrowClickAgGrid(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n \r\n var data = event.api.getSelectedNodes()[0].data;\r\n this.accountids=data.id\r\n //this.accountids = this.RemoveDuplicateItemsFromArr(this.accountids);\r\n $('#accids').val((this.accountids).toString());\r\n //this.accountids.push(data.id);\r\n this.TaskListInfo = true;\r\n const selfobj = this;\r\n $(setTimeout(function () {\r\n \r\n selfobj.accComp.showSccountInfo = true;\r\n selfobj.accComp.AccountData('show' + data.id);\r\n }, 200));\r\n\r\n \r\n }\r\n }\r\n else {\r\n this.accComp.showSccountInfo = false;\r\n let selectedRows = this.NewAccountgridOptions.api.getSelectedRows(); \r\n var data = event.api.getSelectedNodes()[0].data;\r\n if ((this.accountids).indexOf(data.id) > -1) {\r\n this.accountids = this.RemoveDuplicateItemsFromArr(this.accountids);\r\n var index = (this.accountids).indexOf(data.id);\r\n (this.accountids).splice(index, 1);\r\n var string = (this.accountids).toString();\r\n $('#accids').val(string);\r\n }\r\n }\r\n\r\n }\r\n NewContactrowClickAgGrid(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n var data = event.api.getSelectedNodes()[0].data;\r\n this.contactids = data.id;\r\n //this.contactids = this.RemoveDuplicateItemsFromArr(this.contactids);\r\n $('#emailIds').val((this.contactids).toString());\r\n this.TaskListInfo = true;\r\n const selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.contactComp.showContactInfo = true;\r\n selfobj.contactComp.GetContactInfo(data.id);\r\n }, 200));\r\n }\r\n } else {\r\n this.contactComp.showContactInfo = false;\r\n }\r\n }\r\n LeadrowClickAgGrid(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (!this.contactinformationDiv) { this.contactinformationDiv = true;}\r\n if (event.api.getSelectedNodes()[0].data) { \r\n //this.contact = event.api.getSelectedNodes()[0].data;\r\n var data = event.api.getSelectedNodes()[0].data;\r\n this.leadid = data.id;\r\n this.contactids = data.contactid;\r\n //this.contactids = this.RemoveDuplicateItemsFromArr(this.contactids);\r\n $('#emailIds').val((this.contactids).toString());\r\n this.TaskListInfo = true;\r\n const selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.leadsComponent.HideAdnShow(data.contactid);\r\n }, 200));\r\n }\r\n }\r\n else {\r\n this.contact = null;\r\n this.account = null;\r\n this.contactComp.showContactInfo = false;\r\n if ((this.contactids).indexOf(event.data.id) > -1) {\r\n this.contactids = this.RemoveDuplicateItemsFromArr(this.contactids);\r\n var index = (this.contactids).indexOf(event.data.id);\r\n (this.contactids).splice(index, 1);\r\n var string = (this.contactids).toString();\r\n $('#emailIds').val(string);\r\n }\r\n }\r\n }\r\n openNotesDialogAg(rowdata) {\r\n \r\n this.conid = rowdata.contactid;\r\n this.showDialog = !this.showDialog;\r\n this.NotesDialogCss();\r\n \r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n //this.columnDefsnotes = [\r\n // {\r\n // field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n // if (params.value == 'Contact') {\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n // return '';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n // return 'To-Do';\r\n // }\r\n // else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n // return '';\r\n // } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n // return '';\r\n // }\r\n // else {\r\n // return '
      $$
      '\r\n // }\r\n // }\r\n // },\r\n // {\r\n // field: 'notedescription', headerName: 'Notes', hide: false, cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellRenderer(params) {\r\n // var eDiv = document.createElement('div');\r\n // eDiv.innerHTML = params.value;\r\n // eDiv.addEventListener('click', function () {\r\n // //selfObj.notes.notedescription = params.value;\r\n // //selfObj.NotesDec = !selfObj.NotesDec;\r\n // selfObj.openDisplaynotes(params);\r\n // });\r\n // return eDiv;\r\n // } },\r\n // { field: 'created', headerName: 'Date Added', hide: false },\r\n // { field: 'status', headerName: 'Completed Y/N', hide: false, cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } },\r\n // { field: 'user', headerName: 'User Added', hide: false },\r\n // { field: 'type', headerName: 'Type', hide: false }\r\n\r\n //];\r\n }\r\n onAgGridReadynotes(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllnotes() {\r\n var allColumnIds = [];\r\n if (this.gridOptionsnotes && this.gridOptionsnotes.columnApi) {\r\n var allCols = this.gridOptionsnotes.columnApi.getAllColumns();\r\n if (allCols != null) {\r\n allCols.forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds);\r\n // this.gridOptionsnotes.columnApi.autoSizeColumns(allColumnIds, \"autosizeColumns\");\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All Users',\r\n unSelectAllText: 'UnSelect All Users',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n this.applicationComponent.selectedbuttonText = \"Reports\";\r\n }\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1, 0, 0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownList = Owner;\r\n });\r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n this.customerService.GetSpecialityList(\"ReportType\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.ReportTypeList = accounttype;\r\n });\r\n this.customerService.GetSpecialityList(\"ContactOption\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n }); this.MultipleContacts = accounttype;\r\n });\r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n\r\n });\r\n this.selectedItems = Owner;\r\n });\r\n this.Generate($(\"#userids\").val());\r\n }\r\n else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n this.Generate(this.currentuser.id);\r\n }\r\n\r\n \r\n this.selectedreporttype == this.selectedtype;\r\n\r\n this.route.params.subscribe(params => {\r\n if (params['type'] != null && params['type'] != undefined) {\r\n this.selectedtype = params['type'];\r\n var obj: AuditLogModel = { id: 0, type: 'Standard Reports - ' + this.selectedreporttype, action: 'Standard Reports - ' + this.selectedreporttype, AccountOrContactId: 0, AccountOrContact: this.selectedreporttype, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Standard Reports', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n \r\n this.appendLabel(this.selectedtype);\r\n \r\n this.ReporttypeChange(this.selectedtype);\r\n this.selectedreporttype == this.selectedtype;\r\n });\r\n\r\n }\r\n myFunction() {\r\n document.getElementById(\"myDropdown\").classList.toggle(\"show\");\r\n }\r\n \r\n onItemSelect(item: any) {\r\n var ids = \"\";\r\n ids += item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n\r\n }\r\n OnItemDeSelect(item: any) {\r\n\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.alltaskhistory = [];\r\n this.gridCount = 0;\r\n this.usersummaryList = [];\r\n $(\"#userids\").val('');\r\n this.Auditlog.clearAudit();\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.alltaskhistory = [];\r\n this.usersummaryList = [];\r\n $(\"#userids\").val('');\r\n this.applicationComponent.selectedusers = null;\r\n this.gridCount = 0;\r\n this.Auditlog.clearAudit();\r\n }\r\n\r\n OpenNotes(rowEvent) {\r\n this.taskhistoryid = rowEvent.id;\r\n if (rowEvent.type == 'Contacts') {\r\n this.opprtunityservice.GetContactById(rowEvent.contactid).then(result => {\r\n this.opprtunityservice.GetByAccountId(result.accountid).then(result => {\r\n this.account = result;\r\n });\r\n var middleName = '';\r\n var title = '';\r\n if (result.middlename != null) {\r\n middleName = result.middlename;\r\n }\r\n if (result.title != null) {\r\n title = ',' + result.title;\r\n }\r\n this.contact.firstname = result.firstname + ' ' + middleName + ' ' + result.lastname + title;\r\n this.accountdiv = false;\r\n this.customerdiv = true;\r\n });\r\n }\r\n else if (rowEvent.type == 'Customer') {\r\n this.customerService.GetByproviderId(rowEvent.contactid).then(result => {\r\n this.customer = result;\r\n var middleName = '';\r\n var title = '';\r\n if (result.middle != null) {\r\n middleName = result.middle;\r\n }\r\n if (result.title != null) {\r\n title = ',' + result.title;\r\n }\r\n this.contact.firstname = result.first + ' ' + middleName + ' ' + result.last + title;\r\n this.accountdiv = true;\r\n this.customerdiv = false;\r\n });\r\n }\r\n //this.getTaskHistoryNotes(rowEvent.id, 'TaskHistory');\r\n this.showDialog = !this.showDialog;\r\n this.NotesDialogCss();\r\n $(setTimeout(function () {\r\n document.getElementById('notesListTabsId').style.display = 'none';\r\n }, 400));\r\n $('.dialog').width('1000px');\r\n }\r\n\r\n\r\n\r\n public loadGetAllUserActivitiesList(userlist, startdate, enddate, selectedType, startrow, endrow) {\r\n \r\n this.alltaskhistory = [];\r\n if (this.currentuser.UserPrivilegeList != undefined) {\r\n var button = document.getElementById('Reports');\r\n var buttonname = (button == null) ? 'Reports' : (button.title);\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == buttonname || p.resource.toLowerCase() == buttonname)[0];\r\n if (thisTab != undefined && thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + buttonname + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n }\r\n\r\n this.gridCount = 0;\r\n this.leadservice.GetAllUserActivities(this.currentuser.id, userlist, startdate, enddate, selectedType, startrow, endrow).then((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n\r\n taskhistory.DateCreated = this.datePipe.transform(taskhistory.DateCreated, \"yyyy-MM-dd\");\r\n taskhistory.DateSched = this.datePipe.transform(taskhistory.DateSched, \"yyyy-MM-dd\");\r\n taskhistory.DateComp = (taskhistory.DateComp == null) ? \"\" : this.datePipe.transform(taskhistory.DateComp, \"yyyy-MM-dd\");\r\n });\r\n this.alltaskhistoryOriginal = taskhistory;\r\n this.alltaskhistory = taskhistory;\r\n if (this.alltaskhistory.length > 0) {\r\n\r\n\r\n if (this.alltaskhistory.length > 0 && this.alltaskhistory[0].islimitedSearch == true) {\r\n if (this.alltaskhistory[0].SearchVal) {\r\n this.applicationComponent.searchCriteria = this.alltaskhistory[0].SearchVal;\r\n this.applicationComponent.searchstring = this.alltaskhistory[0].SearchVal.slice(0, -3);\r\n this.applicationComponent.searchCriteriadata = this.applicationComponent.searchstring.split(' / ');\r\n }\r\n this.applicationComponent.term = \"true\";//passing dummy data toshow delete button in search box\r\n this.applicationComponent.limitedSearch = true;\r\n $('#searchContact').val('');\r\n }\r\n else {\r\n this.applicationComponent.term = \"\";\r\n $('#searchContact').val('');\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.limitedSearch = false;\r\n this.applicationComponent.searchCriteriadata = [];\r\n }\r\n\r\n if (this.selectedreporttype == \"User Activity(Summary)\" || this.selectedreporttype == \"UserActivitySummary\" ) {\r\n this.selectedcreateColumnDefs(this.columnSelections);\r\n }\r\n else if (this.selectedreporttype == \"User Activity(Details)\" || this.selectedreporttype == \"UserActivityDetails\") {\r\n this.createColumnDefs(this.columnSelections);\r\n \r\n }\r\n this.gridCount = this.alltaskhistory.length;\r\n\r\n this.startrow = this.alltaskhistory[0].CurrentPage == 0 ? 1 : this.alltaskhistory[0].CurrentPage;\r\n\r\n this.noofRows = endrow * this.currentPage;\r\n this.totalnumberofrows = this.alltaskhistory[0].Total;\r\n this.totalnumberofPages = Math.ceil(this.alltaskhistory[0].Total / endrow);\r\n let that = this;\r\n $(setTimeout(function () {\r\n that.paginationcop.startrow = that.alltaskhistory[0].CurrentPage == 0 ? 1 : that.alltaskhistory[0].CurrentPage;\r\n that.paginationcop.noofRows = endrow * that.currentPage;\r\n that.paginationcop.totalnumberofrows = that.alltaskhistory[0].Total;\r\n that.paginationcop.totalnumberofPages = that.alltaskhistory[0].Total / endrow;\r\n }, 200));\r\n } else {\r\n this.applicationComponent.searchstring = \"No Match\";\r\n //this.applicationComponent.searchCriteriadata.push(\"\")\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n public loadallnewcontacts(userlist, startdate, enddate) {\r\n this.gridCount = 0;\r\n this.opprtunityservice.GetAllContactsBySearch('null', userlist, 'contacts', 0, startdate, enddate).then((contact) => {\r\n contact.forEach(contact => {\r\n contact.created = this.datePipe.transform(contact.created, \"MM-dd-yyyy\");\r\n contact.speciality = ((contact.speciality == 'null') ? \"\" : contact.speciality);\r\n });\r\n this.allNewContact = contact;\r\n this.contactorcustomerid = this.allNewContact[0].id;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.NewContactgridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.allNewContact[0].id) {\r\n selfObj.NewContactgridOptions.api.selectNode(node, true);\r\n selfObj.contactorcustomerid = selfObj.allNewContact[0].id;\r\n\r\n\r\n }\r\n });\r\n }, 500));\r\n\r\n this.gridCount = this.allNewContact.length;\r\n });\r\n }\r\n public loadalluserSummary(userlist, startdate, enddate) {\r\n userlist = $(\"#userids\").val();\r\n this.ShowUserActivityDetail = false;\r\n this.ShowUserActivitySummary = true;\r\n this.OtherStandardReports = false;\r\n this.leadservice.GetAllUserActivitiesList(userlist, startdate, enddate).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.usersummaryList = Owner;\r\n });\r\n $(\".userlist\").html('');\r\n this.showSelectedtaskHistory = false;\r\n // this.showNewAccountTable = false;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = false;\r\n }\r\n\r\n Generate(val) {\r\n val = $(\"#userids\").val();\r\n this.applicationComponent.selectedusers = val;\r\n if (this.applicationComponent.selectedusers != '' || this.applicationComponent.selectedusers != null) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n });\r\n\r\n }\r\n if (this.selectedreporttype == \"UserActivitySummary\" || this.selectedreporttype == \"User Activity(Summary)\") {\r\n this.loadalluserSummary(val, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n }\r\n else if (this.selectedreporttype == \"UserActivityDetails\" || this.selectedreporttype == \"User Activity(Details)\") {\r\n this.initializeAgGrid();\r\n this.loadGetAllUserActivitiesList(val, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n }\r\n else if (this.selectedreporttype == \"AuditLog\") {\r\n this.UserIds = val;\r\n this.applicationComponent.selectedusers;\r\n this.Auditlog.LoadLoginAuditLog('Login', this.UserIds, '1', '200');\r\n }\r\n \r\n else if (this.selectedreporttype == \"Access(Login/Logout)\") {\r\n this.ShowUserActivityDetail = false;\r\n this.ShowUserActivitySummary = false;\r\n this.OtherStandardReports = true;\r\n this.selectedreporttype = 'Access(Login/Logout)';\r\n this.ReportType = 'Access(Login/Logout)';\r\n this.Category = \"\";\r\n this.startDate = moment(new Date(new Date().getFullYear(), new Date().getMonth(), 1)).format(\"YYYY-MM-DD\");\r\n this.EndDate = moment(new Date()).format(\"YYYY-MM-DD\");\r\n\r\n let SelfObj = this;\r\n $(setTimeout(function () {\r\n SelfObj.OtherReports.getOtherSelectedReportData(SelfObj.ReportType, SelfObj.Category, SelfObj.startDate, SelfObj.EndDate);\r\n }, 500));\r\n }\r\n\r\n }\r\n\r\n enterNotes() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n }\r\n SaveNote() {\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/img, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/<[^>]*>/g, '');\r\n this.notes.type = \"Lead\";\r\n this.notes.accountid = this.taskhistoryid;\r\n\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.getTaskHistoryNotes(this.notes.accountid, 'TaskHistory');\r\n this.CancelNote();\r\n });\r\n }\r\n getTaskHistoryNotes(id, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, id, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = taskhistory;\r\n });\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n }\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n let userids = $(\"#userids\").val();\r\n if (this.selectedreporttype == \"User Activity(Details)\" || this.selectedreporttype == \"UserActivityDetails\") {\r\n this.ShowUserActivityDetail = true;\r\n this.ShowUserActivitySummary = false;\r\n this.OtherStandardReports = false;\r\n this.loadGetAllUserActivitiesList($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n } else if (this.selectedreporttype == \"User Activity(Summary)\" || this.selectedreporttype == \"UserActivitySummary\" ) { //UserActivitySummary\r\n this.ShowUserActivityDetail = false;\r\n this.ShowUserActivitySummary = true;\r\n this.OtherStandardReports = false;\r\n\r\n this.loadalluserSummary($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n }\r\n else {\r\n\r\n this.Auditlog.LoadLoginAuditLog('Login', this.UserIds, '1', '200', (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n\r\n }\r\n this.saveConfiguration();\r\n }\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n ReporttypeChange(reporttype) {\r\n this.selectedreporttype = reporttype;\r\n if (this.selectedreporttype == \"UserActivityDetails\" || this.selectedreporttype == \"User Activity(Details)\") {\r\n this.ShowUserActivityDetail = true;\r\n this.ShowUserActivitySummary = false;\r\n this.initializeAgGrid();\r\n this.loadGetAllUserActivitiesList($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n this.customerService.GetSpecialityList(\"ReportType\", this.currentuser.id).then((Rows) => {\r\n //this.fourthDropdownList = Rows.sort((a, b) => a.itemName > b.itemName ? 1 : -1);\r\n var value = Rows.filter(x => x.itemName == \"User Activity(Details)\")[0];\r\n this.UDHComp.FourthDrpModel = [{ \"id\": value.id, \"itemName\": value.itemName }];\r\n });\r\n\r\n } else if (this.selectedreporttype == \"UserActivitySummary\" || this.selectedreporttype == \"User Activity(Summary)\") {\r\n this.ShowUserActivityDetail = false;\r\n this.ShowUserActivitySummary = true;\r\n this.OtherStandardReports = false;\r\n this.loadalluserSummary($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n this.customerService.GetSpecialityList(\"ReportType\", this.currentuser.id).then((Rows) => {\r\n //this.fourthDropdownList = Rows.sort((a, b) => a.itemName > b.itemName ? 1 : -1);\r\n var value = Rows.filter(x => x.itemName == \"User Activity(Summary)\")[0];\r\n this.UDHComp.FourthDrpModel = [{ \"id\": value.id, \"itemName\": value.itemName }];\r\n });\r\n } else {\r\n\r\n this.ShowUserActivityDetail = false;\r\n this.ShowUserActivitySummary = false;\r\n this.OtherStandardReports = true;\r\n if (reporttype != 'audit' && reporttype != 'Access(Login/Logout)') {\r\n this.LoadOtherMenu();\r\n }\r\n \r\n this.UserIds = $(\"#userids\").val();\r\n }\r\n this.autoSizeAll();\r\n\r\n }\r\n\r\n CheckboxCheck(isPhoneSched: boolean, isPhoneComplete: boolean, isTodoSched: boolean, istodoComplete: boolean, MeetSched: boolean, MeetComp: boolean, AccAdded: boolean, ConAdded: boolean, LeadAdded: boolean, OpportunityAdded: boolean) {\r\n this.AccActChkBox.isPhoneScheduled = isPhoneSched;\r\n this.AccActChkBox.isPhoneCOmpleted = isPhoneComplete;\r\n this.AccActChkBox.isToDoScheduled = isTodoSched;\r\n this.AccActChkBox.isTodoCompleted = istodoComplete;\r\n this.AccActChkBox.isMeetingsScheduled = MeetSched;\r\n this.AccActChkBox.isMeetingsCompleted = MeetComp;\r\n this.AccActChkBox.isAccountsAdded = AccAdded;\r\n this.AccActChkBox.isContactsAdded = ConAdded;\r\n this.AccActChkBox.isLeadsConverted = LeadAdded;\r\n this.AccActChkBox.isOpportunitiesAdded = OpportunityAdded;\r\n }\r\n\r\n checkValue(event: any, id, val, type, text, userid, count) {\r\n if (!event.target.checked) {\r\n this.hidediv();\r\n this.contactinformationDiv = false;\r\n $('.closeButtonTr').removeClass('GreenBackGround');\r\n \r\n }\r\n else {\r\n $('.closeButtonTr').removeClass('GreenBackGround');\r\n $('.closeButtonTr:after').prop('checked', 'false');\r\n $('#' + id).addClass('GreenBackGround');\r\n this.SelectedActivity(val, type, text, userid, count);\r\n this.GridCount = count;\r\n switch (id) {\r\n case 'PhoneCallsScheduled': {\r\n this.headerlabel = \"Phone Calls Scheduled\";\r\n this.CheckboxCheck(true, false, false, false, false, false, false, false, false, false);\r\n break;\r\n }\r\n case 'PhoneCallsCompleted': {\r\n this.headerlabel = \"Phone Calls Completed\";\r\n this.CheckboxCheck(false, true, false, false, false, false, false, false, false, false);\r\n break;\r\n }\r\n case 'ToDoScheduled': {\r\n this.headerlabel = \"To Do's Scheduled\";\r\n this.CheckboxCheck(false, false, true, false, false, false, false, false, false, false);\r\n break;\r\n }\r\n case 'TodoCompleted': {\r\n this.headerlabel = \"To Do's Completed\";\r\n this.CheckboxCheck(false, false, false, true, false, false, false, false, false, false);\r\n break;\r\n }\r\n case 'MeetingsScheduled': {\r\n this.headerlabel = \"Meetings Scheduled\";\r\n this.CheckboxCheck(false, false, false, false, true, false, false, false, false, false);\r\n break;\r\n }\r\n case 'MeetingsCompleted': {\r\n this.headerlabel = \"Meetings Completed\";\r\n this.CheckboxCheck(false, false, false, false, false, true, false, false, false, false);\r\n break;\r\n }\r\n case 'AccountsAdded': {\r\n this.headerlabel = \"Accounts Added\";\r\n this.CheckboxCheck(false, false, false, false, false, false, true, false, false, false);\r\n break;\r\n }\r\n case 'ContactsAdded': {\r\n this.headerlabel = \"Contacts Added\";\r\n this.CheckboxCheck(false, false, false, false, false, false, false, true, false, false);\r\n break\r\n }\r\n case 'LeadsConverted': {\r\n this.headerlabel = \"Leads Converted\";\r\n this.CheckboxCheck(false, false, false, false, false, false, false, false, true, false);\r\n break;\r\n }\r\n case 'OpportunitiesAdded': {\r\n this.headerlabel = \"Opportunities Added\";\r\n this.CheckboxCheck(false, false, false, false, false, false, false, false, false, true);\r\n break;\r\n }\r\n default : {\r\n this.CheckboxCheck(false, false, false, false, false, false, false, false, false, false);\r\n }\r\n }\r\n \r\n }\r\n }\r\n SelectedActivity(val, id, text, userid, count) {\r\n $(\"#userids\").val(id);\r\n $('.closeButton').attr('style', 'display:none');\r\n $('.closeButtonTr').removeAttr('style');\r\n this.selectedsummary = \"\";\r\n this.contactinformationDiv = true;\r\n this.UserActivitySummaryCheckedDiv = true;\r\n document.getElementById(id).style.display = 'block';\r\n if (count != 0) {\r\n if (val == 'Account') {\r\n\r\n this.showSelectedtaskHistory = false;\r\n this.showNewAccountTable = true;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = false;\r\n this.showNewContactAddedTable = false;\r\n\r\n this.type = \"Account\";\r\n this.selectedsummary = 'NewAccountgridOptions';\r\n this.SelectedAccount();\r\n }\r\n else if (val == 'Lead') {\r\n this.showSelectedtaskHistory = false;\r\n this.showNewAccountTable = false;\r\n this.showSaleProcessHistoryTable = true;\r\n this.showOpprtunitiesHistoryTable = false;\r\n this.showNewContactAddedTable = false;\r\n\r\n this.selectedsummary = 'LeadgridOptions';\r\n this.type = \"Contact\";\r\n this.SelectedLead(userid);\r\n }\r\n else if (val == 'Opportunity') {\r\n\r\n this.showSelectedtaskHistory = false;\r\n this.showNewAccountTable = false;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = true;\r\n this.showNewContactAddedTable = false;\r\n\r\n\r\n this.type = \"Account\";\r\n this.selectedsummary = 'OpportunitiesgridOptions';\r\n this.SelectedOpportunity();\r\n }\r\n else if (val == 'NewContact') {\r\n\r\n this.showSelectedtaskHistory = false;\r\n this.showNewAccountTable = false;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = false;\r\n this.showNewContactAddedTable = true;\r\n\r\n\r\n this.selectedsummary = 'NewContactgridOptions';\r\n this.type = \"Contact\";\r\n this.SelectedNewContact();\r\n this.showNewContactAddedTable = true;\r\n }\r\n else {\r\n this.selectedsummary = 'gridselectedOptions';\r\n this.type = \"Account\";\r\n if (!this.isTaskHistoryGridInitiatized) {\r\n this.SelectedtaskinitializeAgGrid();\r\n } else {\r\n //this.checkmultiplecontacts($(\"#chkmul :selected\").val());\r\n }\r\n this.showSelectedtaskHistory = true;\r\n this.showNewAccountTable = false;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = false;\r\n this.showNewContactAddedTable = false;\r\n this.contactinformationDiv = true;\r\n\r\n this.loadGetAllUserActivitiesList(id, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, val, this.currentPage, this.pageSize);\r\n if (count == 0) {\r\n this.actcomp.zeroCountRefreshData();\r\n }\r\n\r\n }\r\n }\r\n else {\r\n //document.getElementById('showSelectedtaskHistory').style.display = 'none';\r\n //document.getElementById('showOpprtunitiesHistoryTable').style.display = 'none';\r\n //document.getElementById('showNewAccountTable').style.display = 'none';\r\n this.alltaskhistory = [];\r\n this.allNewContact = [];\r\n this.allCustomers = [];\r\n this.allLeads = [];\r\n this.Allopportunities = [];\r\n }\r\n }\r\n SelectedtaskinitializeAgGrid() {\r\n this.gridselectedOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: /*($(\"#chkmul :selected\").val() == '436') ? 'multiple' : */'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n //let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 40).then((config) => {\r\n this.columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.selectedcreateColumnDefs(this.columnSelections);\r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString();\r\n this.UpdateSearchColumnsUserActSummary(this.columnSelections);\r\n });\r\n\r\n this.gridselectedOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n\r\n this.isTaskHistoryGridInitiatized = true;\r\n }\r\n UpdateSearchColumnsUserActSummary(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && (fields[1] != '#' && fields[0] != 'notes' && fields[0] != 'actions' && fields[0] != 'callliststatus')) {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n this.accountsService.GetDefaultColumns('reports', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n { \"id\": 'lastName', \"itemName\": 'Last Name' }\r\n ];\r\n }\r\n });\r\n //this.applicationComponent.showSearchTabsSubTabs = false;\r\n }\r\n selectedcreateColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.selectedcolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.selectedcolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"callliststatus\") {\r\n this.selectedcolumnDefs.push({\r\n field: 'callliststatus', headerName: 'Call List Hx', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.contactid;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }, hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.selectedcolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.selectedcolumnDefs.push({\r\n field: 'owner', headerName: 'User Name', cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.selectedcolumnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; } } });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"DateCreated\") {\r\n this.selectedcolumnDefs.push({\r\n field: 'DateCreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n );\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"DateSched\") {\r\n this.selectedcolumnDefs.push({\r\n field: 'DateSched', headerName: 'Date Scheduled', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) , cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"DateComp\") {\r\n this.selectedcolumnDefs.push({\r\n field: 'DateComp', headerName: 'Date Comp', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) , cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Open' || params.value == \"\") { return \"\"; } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n this.selectedcolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.selectedcolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n {\r\n field: 'accountid', headerName: 'accountid', hide: true\r\n },\r\n {\r\n field: 'DateCreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'DateSched', headerName: 'Date Scheduled', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'DateComp', headerName: 'Date Comp', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Open' || params.value == \"\") { return \"\"; } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n },\r\n {\r\n field: 'TimeSched', headerName: 'Time Sched', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n { field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) { if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; } } },\r\n {\r\n field: 'taskcategory', headerName: 'Task', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'TypeofTask', headerName: 'Type Of Task', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'contacttypeName', headerName: 'Contact Type', hide: false, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'AccountName', headerName: 'Account Name', hide: true, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'time', headerName: 'Start Time', hide: true, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'totime', headerName: 'End Time', hide: true, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'callliststatus', headerName: 'Call List Hx', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.contactid;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'User Name', hide: true, cellStyle: function (params) {\r\n if ((params.data.DateSched < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.DateSched, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false }\r\n ];\r\n }\r\n\r\n }\r\n TaskhistorycolumnVisible(event) {\r\n this.TaskhistorysaveConfiguration();\r\n }\r\n TaskhistorydragStopped(event) {\r\n this.TaskhistorysaveConfiguration();\r\n }\r\n TaskhistorycolumnResized(event) {\r\n if (event.finished == true)\r\n this.TaskhistorysaveConfiguration();\r\n }\r\n TaskhistorysaveConfiguration() {\r\n let allCols: Column[] = this.gridselectedOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 40;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n selectedonAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.selectedautoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.selectedautoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n selectedautoSizeAll() {\r\n\r\n }\r\n GetCustomerNotes(contactid, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = taskhistory;\r\n });\r\n\r\n }\r\n\r\n\r\n SelectedAccount() {\r\n\r\n this.showNewAccountTable = true;\r\n this.showSelectedtaskHistory = false;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = false;\r\n $(\"#contDis\").hide();\r\n $(\"#disReportNo\").hide();\r\n\r\n\r\n\r\n this.AccountIntializeAgGrid();\r\n this.loadallcustomers('All', 'All');\r\n }\r\n loadallcustomers(type, term) {\r\n\r\n this.gridCount = 0;\r\n var userids = $(\"#userids\").val();\r\n this.opprtunityservice.GetAllAccountsBySearch(this.currentuser.id, term, userids, type, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 1, 100, '0,1,2', 0).then((account) => {\r\n account.forEach(account => {\r\n });\r\n this.allCustomers = account;\r\n this.contactorcustomerid = this.allCustomers[0].id;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.NewAccountgridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.allCustomers[0].id) {\r\n selfObj.NewAccountgridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n this.gridCount = this.allCustomers.length;\r\n //this.GetCustomerNotesandActivities(this.allCustomers[0].id);\r\n });\r\n }\r\n createAccountColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.AccountcolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.AccountcolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"Customer\") {\r\n this.AccountcolumnDefs.push({\r\n field: 'Customer', headerName: 'Call List Hx', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = 'Customer';\r\n selfObj.contactid = params.data.id;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, selfObj.callhistorystatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }, hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"accnumber\") {\r\n this.AccountcolumnDefs.push({ field: 'accnumber', headerName: 'Act Number', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: { color: 'red' } });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.AccountcolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else {\r\n this.AccountcolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.AccountcolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'accnumber', headerName: 'Act Number', hide: false, cellStyle: { color: 'red' } },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'address1', headerName: 'Address1', hide: false },\r\n { field: 'address2', headerName: 'Address2', hide: false },\r\n { field: 'city', headerName: 'City', hide: false },\r\n { field: 'state', headerName: 'State', hide: false },\r\n { field: 'zip', headerName: 'Zip', hide: false },\r\n { field: 'phone', headerName: 'Phone', hide: true }, //true starts here\r\n {\r\n field: 'Customer', headerName: 'Call List Hx', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = 'Customer';\r\n selfObj.contactid = params.data.id;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, selfObj.callhistorystatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }\r\n },\r\n\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false }\r\n ];\r\n }\r\n }\r\n\r\n AccountonAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.AccountautoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.AccountautoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n AccountautoSizeAll() {\r\n\r\n }\r\n\r\n AccountIntializeAgGrid() {\r\n\r\n this.NewAccountgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: /*($(\"#chkmul :selected\").val() == '436') ? 'multiple' :*/ 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 41).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createAccountColumnDefs(columnSelections);\r\n\r\n });\r\n\r\n this.NewAccountgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.AccountframeworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n }\r\n AccountcolumnVisible(event) {\r\n this.AccountsaveConfiguration();\r\n }\r\n AccountdragStopped(event) {\r\n this.AccountsaveConfiguration();\r\n }\r\n AccountcolumnResized(event) {\r\n if (event.finished == true)\r\n this.AccountsaveConfiguration();\r\n }\r\n AccountsaveConfiguration() {\r\n let allCols: Column[] = this.NewAccountgridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 41;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n SelectedLead(userid) {\r\n this.showSaleProcessHistoryTable = true;\r\n this.showNewAccountTable = false;\r\n this.showSelectedtaskHistory = false;\r\n this.showOpprtunitiesHistoryTable = false;\r\n this.showNewContactAddedTable = false;\r\n $(\"#contDis\").show();\r\n $(\"#disReportNo\").show();\r\n this.LeadIntializeAgGrid();\r\n this.LoadallLeadConverted(userid);\r\n\r\n }\r\n LoadallLeadConverted(userid) {\r\n this.gridCount = 0;\r\n this.allContacts = [];\r\n var userids = userid;\r\n //this.opprtunityservice.GetAllContactsBySearch(null, userids, 'ContactLead', 0, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal).then((contact) => {\r\n // contact.forEach(contact => {\r\n // contact.speciality = ((contact.speciality == 'null') ? \"\" : contact.speciality);\r\n // });\r\n // this.allContacts = contact;\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.LeadgridOptions.api.forEachNode((node) => {\r\n // if (node.data.id == selfObj.allContacts[0].id) {\r\n // selfObj.LeadgridOptions.api.selectNode(node, true);\r\n // selfObj.contactorcustomerid = selfObj.allContacts[0].id;\r\n // }\r\n // });\r\n // }, 500));\r\n // this.gridCount = this.allContacts.length;\r\n //});\r\n\r\n\r\n this.leadservice.GetAllLeadsList('All Leads', userids, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'null', 1, 10, this.currentuser.id).then((customer) => {\r\n this.allLeads = customer;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.LeadgridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.allLeads[0].id) {\r\n selfObj.LeadgridOptions.api.selectNode(node, true);\r\n selfObj.contactorcustomerid = selfObj.allLeads[0].id;\r\n }\r\n });\r\n }, 500));\r\n });\r\n\r\n\r\n }\r\n LeadonAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.LeadautoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.LeadautoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n LeadautoSizeAll() {\r\n }\r\n LeadcolumnVisible(event) {\r\n this.LeadsaveConfiguration();\r\n }\r\n LeaddragStopped(event) {\r\n this.LeadsaveConfiguration();\r\n }\r\n LeadcolumnResized(event) {\r\n if (event.finished == true)\r\n this.LeadsaveConfiguration();\r\n }\r\n LeadsaveConfiguration() {\r\n let allCols: Column[] = this.LeadgridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 43;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n LeadIntializeAgGrid() {\r\n this.LeadgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: /*($(\"#chkmul :selected\").val() == '436') ? 'multiple' :*/ 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 43).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createLeadColumnDefs(columnSelections);\r\n });\r\n this.LeadgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n }\r\n\r\n createLeadColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.LeadcolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.LeadcolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"salesstage\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'salesstage', headerName: 'Sales Stage', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) , cellStyle: function (params) {\r\n if (params.data.status == 'Open' || params.data.status == 'Pending') { return { color: 'red' }; }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstname\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'firstname', headerName: 'First Name', hide: false});\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastname\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'lastname', headerName: 'Last Name', hide: false});\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"account\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'account', headerName: 'Account Name', hide: false});\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"nexttask\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'nexttask', headerName: 'Next Sales Step', hide: false, cellRenderer(params) {\r\n if (params.data.salesstage === 'IPC') { return 'Analysis' }\r\n else if (params.data.salesstage === 'Analysis') { return 'Prepare Analysis Report' }\r\n else if (params.data.salesstage === 'Prepare Analysis Report') { return 'Review Analysis' }\r\n else if (params.data.salesstage === 'Review Analysis') { return 'Generate Proposal' }\r\n else if (params.data.salesstage === 'Generate Proposal') { return 'Justification Meeting' }\r\n else if (params.data.salesstage === 'Justification Meeting') { return 'Reference Calls' }\r\n else if (params.data.salesstage === 'Reference Calls') { return 'Demonstration' }\r\n else if (params.data.salesstage === 'Demonstration') { return 'Won-Lost-Pending' }\r\n }\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.LeadcolumnDefs.push({\r\n field: 'status', headerName: 'Status', hide: false, cellStyle:\r\n function (params) {\r\n if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; }\r\n }, cellRenderer(params) {\r\n if (params.data.salesstage == 'MD Logic Demonstration' && params.data.status == 'Next Stage Pending') { return ' ' } else { return params.value; }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.LeadcolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false , width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.LeadcolumnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.LeadcolumnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) { if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; } } });\r\n }\r\n else {\r\n this.LeadcolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n\r\n this.LeadcolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'datecreated', headerName: 'Date Created', hide: false },\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false},\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n {\r\n field: 'firstname', headerName: 'First Name', hide: false},\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n {\r\n field: 'account', headerName: 'Account Name', hide: false},\r\n {\r\n field: 'salesstage', headerName: 'Sales Stage', hide: false, cellStyle: function (params) {\r\n if (params.data.status == 'Open' || params.data.status == 'Pending') { return { color: 'red' }; }\r\n }\r\n },\r\n {\r\n\r\n field: 'status', headerName: 'Status', hide: false, cellStyle:\r\n function (params) {\r\n if (params.value == 'Open' || params.value == 'Pending') { return { color: 'red' }; }\r\n }, cellRenderer(params) {\r\n if (params.data.salesstage == 'MD Logic Demonstration' && params.data.status == 'Next Stage Pending') { return ' ' } else { return params.value; }\r\n }\r\n\r\n },\r\n {\r\n field: 'nexttask', headerName: 'Next Sales Step', hide: false, cellRenderer(params) {\r\n if (params.data.salesstage == 'IPC') { return 'Analysis' }\r\n else if (params.data.salesstage == 'Analysis') { return 'Prepare Analysis Report' }\r\n else if (params.data.salesstage == 'Prepare Analysis Report') { return 'Review Analysis' }\r\n else if (params.data.salesstage == 'Review Analysis') { return 'Generate Proposal' }\r\n else if (params.data.salesstage == 'Generate Proposal') { return 'Justification Meeting' }\r\n else if (params.data.salesstage == 'Justification Meeting') { return 'Reference Calls' }\r\n else if (params.data.salesstage == 'Reference Calls') { return 'Demonstration' }\r\n else if (params.data.salesstage == 'Demonstration') { return 'Won-Lost-Pending' }\r\n }\r\n },\r\n { field: 'datescheduled', headerName: 'Date Schedule', hide: true }, //true starts here\r\n { field: 'owner', headerName: 'Owner', hide: false },\r\n { field: 'completeduser', headerName: 'Completed By', hide: false },\r\n { field: 'dealwonOrlost', headerName: 'Deal Won/Lost', hide: true },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide:false, pinned: 'right' }\r\n\r\n ];\r\n\r\n var tooltipRenderer = function (params) {\r\n return '' + params.value + '';\r\n };\r\n }\r\n }\r\n SelectedNewContact() {\r\n this.showNewAccountTable = false;\r\n this.showSelectedtaskHistory = false;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = false;\r\n this.showNewContactAddedTable = true;\r\n\r\n $(\"#contDis\").show();\r\n $(\"#disReportNo\").show();\r\n this.NewContactIntializeAgGrid();\r\n let self = this;\r\n $(setTimeout(function () {\r\n self.loadallnewcontacts($(\"#userids\").val(), (self.calanderonoff) ? self.startDateVal : '2018-01-01', self.endDateVal)\r\n }, 500));\r\n\r\n\r\n }\r\n NewContactonAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.NewContactautoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.NewContactautoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n NewContactcolumnVisible(event) {\r\n this.NewContactsaveConfiguration();\r\n }\r\n NewContactdragStopped(event) {\r\n this.NewContactsaveConfiguration();\r\n }\r\n NewContactcolumnResized(event) {\r\n if (event.finished == true)\r\n this.NewContactsaveConfiguration();\r\n }\r\n NewContactsaveConfiguration() {\r\n let allCols: Column[] = this.NewContactgridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 42;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n NewContactautoSizeAll() {\r\n\r\n }\r\n\r\n NewContactIntializeAgGrid() {\r\n\r\n this.NewContactgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: /*($(\"#chkmul :selected\").val() == '436') ? 'multiple' :*/ 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 42).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createNewContactcolumnDefs(columnSelections);\r\n\r\n });\r\n\r\n this.NewContactgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n }\r\n\r\n createNewContactcolumnDefs(columnSelections: string) {\r\n\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.NewContactcolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.NewContactcolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"callliststatus\") {\r\n this.NewContactcolumnDefs.push({\r\n field: 'callliststatus', headerName: 'Call List Hx', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.id;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }, hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.NewContactcolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else {\r\n this.NewContactcolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.NewContactcolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'lastname', headerName: 'Last Name', hide: false\r\n },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n {\r\n field: 'callliststatus', headerName: 'Call List Hx', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.id;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'zip', headerName: 'ZIP', hide: false },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'contacttypeName', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n ];\r\n }\r\n }\r\n SelectedOpportunity() {\r\n\r\n this.showNewAccountTable = false;\r\n this.showSelectedtaskHistory = false;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = true;\r\n this.showNewContactAddedTable = false; \r\n this.OpprtunitiesIntializeAgGrid();\r\n this.ClosedOpportunity('All');\r\n\r\n }\r\n ClosedOpportunity(val) {\r\n this.gridCount = 0;\r\n this.opprtunityservice.GetAllOpportunitiesList(val, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, null, this.currentuser.id,true).then((customer) => {\r\n customer.forEach(customer => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n if (customer.estimatedclosedate != '0001-01-01T00:00:00') {\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n } else {\r\n customer.estimatedclosedate = '';\r\n }\r\n });\r\n\r\n this.Allopportunities = customer;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.OpportunitiesgridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.Allopportunities[0].id) {\r\n selfObj.OpportunitiesgridOptions.api.selectNode(node, true);\r\n selfObj.contactorcustomerid = selfObj.Allopportunities[0].accountid;\r\n }\r\n });\r\n }, 500));\r\n this.gridCount = this.Allopportunities.length;\r\n });\r\n };\r\n OpprtunitiesIntializeAgGrid() {\r\n this.OpportunitiesgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: /*($(\"#chkmul :selected\").val() == '436') ? 'multiple' : */'single'\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 44).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createOpportunitiesColumnDefs(columnSelections);\r\n\r\n });\r\n this.OpportunitiesgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n }\r\n OpportunitiescolumnVisible(event) {\r\n this.OpportunitiessaveConfiguration();\r\n }\r\n OpportunitiesdragStopped(event) {\r\n this.OpportunitiessaveConfiguration();\r\n }\r\n OpportunitiescolumnResized(event) {\r\n if (event.finished == true)\r\n this.OpportunitiessaveConfiguration();\r\n }\r\n OpportunitiessaveConfiguration() {\r\n let allCols: Column[] = this.OpportunitiesgridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 44;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n OpportunitiesonAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.OpportunitiesautoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.OpportunitiesautoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n OpportunitiesautoSizeAll() {\r\n\r\n }\r\n createOpportunitiesColumnDefs(columnSelections: string) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.OpportunitiescolumnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'MM-dd-yyyy') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"datecreated\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: 'datecreated', headerName: 'Date Created', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) , cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"estimatedclosedate\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: 'estimatedclosedate', headerName: 'Date Scheduled', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) ,cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"callliststatus\") {\r\n this.OpportunitiescolumnDefs.push({\r\n field: 'callliststatus', headerName: 'Call List Hx', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.accountorcontactid;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }, hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.OpportunitiescolumnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else {\r\n this.OpportunitiescolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.OpportunitiescolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n {\r\n field: 'accountid', headerName: 'accountid ', hide: true\r\n },\r\n {\r\n field: 'datecreated', headerName: 'Date Created ', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'estimatedclosedate', headerName: 'Date Scheduled', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'practicename', headerName: 'Account Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'contactName', headerName: 'Contact Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'itemName', headerName: 'Item', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'dollers', headerName: '$$$$', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'RR', headerName: 'RR', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'PCname', headerName: 'PC', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'drsName', headerName: 'Drs', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'midlevel', headerName: 'Mid Levels', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: 'red' }; }\r\n }\r\n },\r\n {\r\n field: 'leadfrom', headerName: 'Lead From', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'actualclosedate', headerName: 'Act.Close', hide: true, cellStyle: function (params) {\r\n if ((params.data.estimatedclosedate < selfObj.datePipe.transform(selfObj.today, 'yyyy-MM-dd') || selfObj.datePipe.transform(params.data.estimatedclosedate, 'yyyy') < selfObj.datePipe.transform(selfObj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'callliststatus', headerName: 'Call List Hx', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n selfObj.callhistorystatus = params.data.callliststatus;\r\n selfObj.contactid = params.data.accountorcontactid;\r\n selfObj.callhistorycmp.displayCallHistoryNotes(selfObj.contactid, params.data.callliststatus);\r\n selfObj.CallHistoryDialog = !selfObj.CallHistoryDialog;\r\n });\r\n return eDiv;\r\n }\r\n },\r\n\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, pinned: 'right' },\r\n ];\r\n }\r\n }\r\n\r\n hidediv() {\r\n this.selectedsummary = '';\r\n this.contactinformationDiv = false;\r\n this.showSelectedtaskHistory = false;\r\n this.showNewAccountTable = false;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = false;\r\n this.showNewContactAddedTable = false;\r\n \r\n }\r\n OnChangeData(msg) {\r\n\r\n if (msg != 'Notes') {\r\n if (msg == 'OpenTask') {\r\n this.selectedreporttype = 'User Activity(Summary)';\r\n } else {\r\n this.isOpenNewNotes = false;\r\n this.loadalluserSummary($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n\r\n this.showSelectedtaskHistory = false;\r\n this.showSaleProcessHistoryTable = false;\r\n this.showOpprtunitiesHistoryTable = false;\r\n $('.overlay').remove();\r\n }\r\n }\r\n else {\r\n this.isOpenNewNotes = true;\r\n this.showSelectedtaskHistory = false\r\n if (msg == 'OpenTask') {\r\n this.selectedreporttype = 'User Activity(Summary)';\r\n }\r\n }\r\n }\r\n appendLabel(value) {\r\n\r\n if (this.currentuser.UserPrivilegeList != undefined) {\r\n var button = document.getElementById(value);\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == value || p.resource.toLowerCase() == value)[0];\r\n if (thisTab != undefined && thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + value + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n }\r\n\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.ReporttypeChange(value);\r\n var dropdowns = document.getElementsByClassName(\"dropdown-content\");\r\n var i;\r\n for (i = 0; i < dropdowns.length; i++) {\r\n var openDropdown = dropdowns[i];\r\n if (openDropdown.classList.contains('show')) {\r\n openDropdown.classList.remove('show');\r\n }\r\n }\r\n }, 100));\r\n }\r\n\r\n closeUserTable(id) {\r\n\r\n $('#' + id).remove();\r\n var valuesStored = $(\"#userids\").val();\r\n var valuesStoredArray = (valuesStored).split(\",\");\r\n var newValues = '';\r\n for (var i = 0; i < valuesStoredArray.length; i++) {\r\n if (valuesStoredArray[i] != id) {\r\n if (newValues == '') {\r\n newValues = valuesStoredArray[i];\r\n } else {\r\n newValues = newValues + ',' + valuesStoredArray[i];\r\n }\r\n }\r\n }\r\n $(\"#userids\").val(newValues);\r\n if (newValues == '') {\r\n this.selectedItems = [];\r\n } else {\r\n this.applicationComponent.selectedusers = newValues;\r\n if (this.applicationComponent.selectedusers != '' || this.applicationComponent.selectedusers != null) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n });\r\n\r\n }\r\n }\r\n this.hidediv();\r\n }\r\n\r\n //checkmultiplecontacts(id) {\r\n // let selfObj = this;\r\n // if (id == '435') {\r\n // this.isMultipleContacts = true;\r\n // if (this.selectedsummary == 'NewAccountgridOptions') { this.NewAccountgridOptions.api.deselectAll(); this.NewAccountgridOptions.rowSelection = \"multiple\"; }\r\n // else if (this.selectedsummary == 'NewContactgridOptions') { this.NewContactgridOptions.api.deselectAll(); this.NewContactgridOptions.rowSelection = \"multiple\"; }\r\n // else if (this.selectedsummary == 'LeadgridOptions') { this.LeadgridOptions.api.deselectAll(); this.LeadgridOptions.rowSelection = \"multiple\"; }\r\n // else if (this.selectedsummary == 'OpportunitiesgridOptions') { this.OpportunitiesgridOptions.api.deselectAll(); this.OpportunitiesgridOptions.rowSelection = \"multiple\"; }\r\n // else { this.gridselectedOptions.api.deselectAll(); this.gridselectedOptions.rowSelection = \"multiple\"; }\r\n // }\r\n // else {\r\n // this.isMultipleContacts = false;\r\n // if (this.selectedsummary == 'NewAccountgridOptions') { this.NewAccountgridOptions.rowSelection = \"single\"; }\r\n // else if (this.selectedsummary == 'NewContactgridOptions') { this.NewContactgridOptions.rowSelection = \"single\"; }\r\n // else if (this.selectedsummary == 'LeadgridOptions') { this.LeadgridOptions.rowSelection = \"single\"; }\r\n // else if (this.selectedsummary == 'OpportunitiesgridOptions') { this.OpportunitiesgridOptions.rowSelection = \"single\"; }\r\n // else { this.gridselectedOptions.rowSelection = \"single\"; }\r\n // }\r\n\r\n //}\r\n\r\n openDisplaynotes(params) {\r\n // this.notes.notedescription = params.value;\r\n //this.NotesDec = !this.NotesDec;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (selfObj.isModal) {\r\n //$('#showDetailsDialog').width(showDialogWidth);\r\n //$('#showDetailsDialog').height(notesHeight - 100);\r\n //$('#showDetailsDialog').css('top', notesOffset.top + 18);\r\n ////$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n //$('#showDetailsDialog').css('left', '26.2%');\r\n //$('#showDetailsDialog').css('border-radius', '4px');\r\n //$('#showDetailsDialog').css('border', '3px solid');\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=userInfo]').is(':checked')) {\r\n //$('#showDetailsDialog').css('left', '73.5%');\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n //$('#showDetailsDialog').css('left', '73.5%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtLongNoteDesc').css('overflow', 'auto');\r\n }\r\n }\r\n\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n\r\n }, 1));\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.data.contactid) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.contactid);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('');\r\n } else {\r\n this.Ids.push(rowEvent.data.contactid)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n if (rowEvent.data.type == \"Contacts\") {\r\n $('#tasklistselectedtyle').val('Contact');\r\n }\r\n else {\r\n $('#tasklistselectedtyle').val('Customer');\r\n }\r\n }\r\n }\r\n editNote() {\r\n //if ($(\"#btnEditNote\").text() == \"Edit Note\") {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n //} else {\r\n // $(this).hide();\r\n // $('.box').removeClass('editable');\r\n // $('.text').removeAttr('contenteditable');\r\n // $('.edit').show();\r\n // this.saveEditedNote();\r\n //}\r\n }\r\n saveEditedNote() {\r\n\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.getTaskHistoryNotes(selfObj.conid, 'Contact');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n //this.Notes(this.selectedTabName);\r\n }\r\n\r\n //first() {\r\n\r\n // this.currentPage = 1;\r\n // this.loadGetAllUserActivitiesList($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n //}\r\n //prev() {\r\n // if (this.currentPage > 1) {\r\n // this.currentPage--;\r\n // this.loadGetAllUserActivitiesList($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n // }\r\n //}\r\n //next() {\r\n // if (this.currentPage != this.totalnumberofPages) {\r\n // this.currentPage++;\r\n // this.loadGetAllUserActivitiesList($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n // }\r\n\r\n //}\r\n //last() {\r\n // this.currentPage = this.totalnumberofPages;\r\n // this.loadGetAllUserActivitiesList($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n //}\r\n calanderclick(val) {\r\n\r\n this.calanderonoff = val;\r\n if (this.selectedreporttype == \"User Activity(Details)\" || this.selectedreporttype == \"UserActivityDetails\") {\r\n this.ShowUserActivityDetail = true;\r\n this.ShowUserActivitySummary = false;\r\n\r\n this.loadGetAllUserActivitiesList($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n } else if (this.selectedreporttype == \"User Activity(Summary)\" || this.selectedreporttype == \"UserActivitySummary\" ) { //UserActivitySummary\r\n this.ShowUserActivityDetail = false;\r\n this.ShowUserActivitySummary = true;\r\n\r\n this.loadalluserSummary($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n }\r\n else {\r\n\r\n this.Auditlog.LoadLoginAuditLog('Login', this.UserIds, '1', '200', (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n\r\n }\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n if (this.gridApi) {\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize));\r\n }\r\n this.startDateVal = (this.calanderonoff) ? this.applicationComponent.SearchstartVal : '2018-01-01';\r\n this.endDateVal = (this.calanderonoff) ? this.applicationComponent.SearchendVal : this.endDateVal;\r\n \r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n \r\n if (outProps.fourthDrpValue == \"User Activity(Summary)\" ) { //UserActivitySummary\r\n if (!outProps.pageSizeChanged) {\r\n this.loadalluserSummary($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n }\r\n this.appendLabel(outProps.fourthDrpValue);\r\n if ($(\"#userids\").val().includes(',')) {\r\n this.CheckboxCheck(false, false, false, false, false, false, false, false, false, false);\r\n this.hidediv();\r\n this.contactinformationDiv = false;\r\n $('.closeButtonTr').removeClass('GreenBackGround');\r\n }\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Standard Reports - ' + outProps.fourthDrpValue, action: 'Standard Reports - ' + outProps.fourthDrpValue, AccountOrContactId: 0, AccountOrContact: outProps.fourthDrpValue, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: outProps.fourthDrpValue, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n\r\n this.ShowUserActivityDetail = false;\r\n this.OtherStandardReports = false;\r\n this.ShowUserActivitySummary = true;\r\n }\r\n else if (outProps.fourthDrpValue == \"Standard Reports\") {\r\n var url = window.location.href;\r\n if (url.indexOf('reports/audit') > -1) {\r\n \r\n this.selectedreporttype = 'Audit Log(Admin)';\r\n let SelfObj = this;\r\n $(setTimeout(function () {\r\n SelfObj.ShowUserActivityDetail = true;\r\n }, 500));\r\n\r\n }\r\n else {\r\n var obj: AuditLogModel = { id: 0, type: 'Standard Reports', action: 'Standard Reports', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Standard Reports', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n this.applicationComponent.SubmenuChange('Reports', 'StandardReports', 'Sub');\r\n\r\n }\r\n \r\n }\r\n else if (outProps.fourthDrpValue == \"Admin Reports\") {\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Admin Reports', action: 'Admin Reports', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Standard Reports', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n this.applicationComponent.SubmenuChange('Reports', 'AdminReports', 'Sub');\r\n\r\n }\r\n else if (outProps.fourthDrpValue == \"Accounts Added\" || outProps.fourthDrpValue == \"Contacts Added\" || outProps.fourthDrpValue == \"Leads Added\" || outProps.fourthDrpValue == \"Leads Lost\" || outProps.fourthDrpValue == \"Leads Pended\" || outProps.fourthDrpValue == \"Leads Won\" || outProps.fourthDrpValue == \"Proposals Added\" || outProps.fourthDrpValue == \"Proposals Pended\" || outProps.fourthDrpValue == \"Opportunities Added\" || outProps.fourthDrpValue == \"Opportunities Completed\" || outProps.fourthDrpValue == \"Opportunities Lost\" || outProps.fourthDrpValue == \"Opportunities Pended\" || outProps.fourthDrpValue == \"Opportunities Won\" || outProps.fourthDrpValue == \"Tasks Added\" || outProps.fourthDrpValue == \"Tasks Completed\" || outProps.fourthDrpValue == \"Tickets Added\" || outProps.fourthDrpValue == \"Tickets Closed\" || outProps.fourthDrpValue == \"Tickets On-Hold\" || outProps.fourthDrpValue == \"Tickets Pended\" || outProps.fourthDrpValue == \"Tickets Open\" || outProps.fourthDrpValue == 'Access(Login/Logout)') {\r\n this.ShowUserActivityDetail = false;\r\n this.ShowUserActivitySummary = false;\r\n this.OtherStandardReports = true;\r\n this.selectedreporttype = outProps.fourthDrpValue;\r\n /*this.ReportType = (outProps.fourthDrpValue == \"Added Opportunities\" || outProps.fourthDrpValue == \"Completed Opportunities\" ||outProps.fourthDrpValue == \"Lost Opportunities\" ||outProps.fourthDrpValue == \"Pended Opportunities\" || outProps.fourthDrpValue == \"Won Opportunities\") ? outProps.fourthDrpValue.split(\" \")[1] :*/ this.ReportType = outProps.fourthDrpValue.split(\" \")[0];\r\n this.Category = outProps.fourthDrpValue == \"Opportunities Added\" ? \"Added Opportunities\" :\r\n outProps.fourthDrpValue == \"Opportunities Completed\" ? \"Completed Opportunities\" :\r\n outProps.fourthDrpValue == \"Opportunities Lost\" ? \"Lost Opportunities\" :\r\n outProps.fourthDrpValue == \"Opportunities Pended\" ? \"Pended Opportunities\" :\r\n outProps.fourthDrpValue == \"Opportunities Won\" ? \"Won Opportunities\" : outProps.fourthDrpValue; \r\n this.startDate = (this.calanderonoff) ? this.applicationComponent.SearchstartVal : moment(new Date(new Date().getFullYear(), new Date().getMonth(), 1)).format(\"YYYY-MM-DD\");\r\n this.EndDate = (this.calanderonoff) ? this.applicationComponent.SearchendVal : moment(new Date()).format(\"YYYY-MM-DD\");\r\n let SelfObj = this; \r\n $(setTimeout(function () { \r\n SelfObj.OtherReports.getOtherSelectedReportData(SelfObj.ReportType, SelfObj.Category, SelfObj.startDate, SelfObj.EndDate);\r\n }, 300));\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Standard Reports - ' + outProps.fourthDrpValue , action: 'Standard Reports - ' + outProps.fourthDrpValue, AccountOrContactId: 0, AccountOrContact: outProps.fourthDrpValue, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: outProps.fourthDrpValue, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n\r\n \r\n }\r\n else if (outProps.fourthDrpValue == \"\") {\r\n this.ShowUserActivityDetail = false\r\n }\r\n else {\r\n this.ShowUserActivityDetail = true;\r\n this.ShowUserActivitySummary = false;\r\n this.OtherStandardReports = false;\r\n this.ShowActivityDetailsTask = false;\r\n this.selectedreporttype = outProps.fourthDrpValue;\r\n if (!outProps.pageSizeChanged) {\r\n this.loadGetAllUserActivitiesList($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n if (outProps.fifthDrpValue != null) {\r\n this.selectedFilterType = outProps.fifthDrpValue;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.filterTaskList(outProps.fifthDrpValue); \r\n }, 400));\r\n \r\n }\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Standard Reports - ' + outProps.fourthDrpValue, action: 'Standard Reports - ' + outProps.fourthDrpValue, AccountOrContactId: 0, AccountOrContact: outProps.fourthDrpValue, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: outProps.fourthDrpValue, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n \r\n }\r\n\r\n } else {\r\n this.alltaskhistory = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n\r\n LoadOtherMenu() {\r\n this.ShowUserActivityDetail = false;\r\n this.ShowUserActivitySummary = false;\r\n this.OtherStandardReports = true;\r\n this.customerService.GetSpecialityList(\"ReportType\", this.currentuser.id).then((Rows) => {\r\n //this.fourthDropdownList = Rows.sort((a, b) => a.itemName > b.itemName ? 1 : -1);\r\n var value = Rows.filter(x => x.itemName.includes(this.selectedtype))[0];\r\n this.UDHComp.FourthDrpModel = [{ \"id\": value.id, \"itemName\": value.itemName }];\r\n\r\n this.selectedreporttype = this.selectedtype;\r\n this.ReportType = this.selectedtype.split(\" \")[0];\r\n this.Category = this.selectedtype.split(\" \")[1];\r\n this.startDate = moment(new Date(new Date().getFullYear(), new Date().getMonth(), 1)).format(\"YYYY-MM-DD\");\r\n this.EndDate = moment(new Date()).format(\"YYYY-MM-DD\");\r\n\r\n let SelfObj = this;\r\n $(setTimeout(function () {\r\n SelfObj.OtherReports.getOtherSelectedReportData(SelfObj.ReportType, SelfObj.Category, SelfObj.startDate, SelfObj.EndDate);\r\n }, 200));\r\n\r\n });\r\n\r\n //this.selectedItems = [{ \"id\": this.currentuser.id, \"itemName\": this.selectedtype }]\r\n \r\n }\r\n\r\n filterTaskList(val) {\r\n switch (val) {\r\n case \"Display All\": {\r\n this.alltaskhistory = this.alltaskhistoryOriginal;\r\n break;\r\n }\r\n case \"Meeting Open\": {\r\n this.alltaskhistory = this.alltaskhistoryOriginal.filter(x => x.taskcategory == \"Meeting\" && x.status == \"Open\");\r\n break;\r\n }\r\n case \"Meeting Completed\": {\r\n this.alltaskhistory = this.alltaskhistoryOriginal.filter(x => x.taskcategory == \"Meeting\" && x.status == \"Completed\");\r\n break;\r\n }\r\n case \"Phone Open\": {\r\n this.alltaskhistory = this.alltaskhistoryOriginal.filter(x => x.taskcategory == \"Phone\" && x.status == \"Open\");\r\n break;\r\n }\r\n case \"Phone Completed\": {\r\n this.alltaskhistory = this.alltaskhistoryOriginal.filter(x => x.taskcategory == \"Phone\" && x.status == \"Completed\");\r\n break;\r\n }\r\n case \"To Do Open\": {\r\n this.alltaskhistory = this.alltaskhistoryOriginal.filter(x => x.taskcategory == \"To Do\" && x.status == \"Open\");\r\n break;\r\n }\r\n case \"To Do Completed\": {\r\n this.alltaskhistory = this.alltaskhistoryOriginal.filter(x => x.taskcategory == \"To Do\" && x.status == \"Completed\");\r\n break;\r\n\r\n }\r\n }\r\n }\r\n \r\n\r\n CloseInfoDiv() {\r\n this.UserActivitySummaryCheckedDiv = false;\r\n this.TaskListInfo = false;\r\n this.contactinformationDiv = false;\r\n this.AccActChkBox = new AccountSummaryCheckBox();\r\n }\r\n\r\n rowDoubleClickAgGrid(rowEvent) {\r\n\r\n //localStorage.setItem('TaskListSelected', rowEvent.data.id);\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/tasklistdashboard/Contacts/${rowEvent.data.contactid}/${rowEvent.data.id}/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('tasklists');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n \r\n }, 100));\r\n }, 50));\r\n\r\n \r\n }\r\n\r\n onReceiveMessage(msg) {\r\n if (msg == \"RefreshReportGrid\") {\r\n this.ShowActivityDetailsTask = false;\r\n this.loadGetAllUserActivitiesList($(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'allactivity', this.currentPage, this.pageSize);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n\r\n selfObj.filterTaskList(selfObj.selectedFilterType);\r\n }, 400));\r\n }\r\n }\r\n}\r\n\r\n","\r\n

      \r\n
      \r\n\r\n
      \r\n
      \r\n
      a
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      Categories
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Category \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n Select Category \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n {{rescategory.itemName}}\r\n\r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Sub Category 1\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n Select Sub Category 1\r\n \r\n
      \r\n
      \r\n
      \r\n\r\n {{sub.itemName}}\r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n No Sub Category Available\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Sub Category 2 \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n Select Sub Category 2 \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n {{sub.itemName}}\r\n\r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n No Sub Category Available\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      a
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      Statements
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{tasktype.id}}\r\n {{tasktype.itemName}}{{tasktype.id}}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      a
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      Responses
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{responses.id}}\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n U\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n

      {{responses.isbolded}}

      \r\n

      \r\n

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Select Category\r\n \r\n
      \r\n
      \r\n
      \r\n {{rescategory.itemName}}\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Select Sub Category 1\r\n \r\n
      \r\n
      0)\" class=\"subCat1dropdown-content\" id=\"SubCategory1Dropdown\" [dragula]='\"SubCategory1-bag\"'>\r\n
      \r\n {{sub.itemName}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n No Sub Category Available\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Select Sub Category 2 \r\n \r\n
      \r\n
      0)\" class=\"subCat2dropdown-content\" id=\"SubCategory2Dropdown\" [dragula]='\"SubCategory2-bag\"'>\r\n
      \r\n {{sub.itemName}}\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n No Sub Category Available\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
      {{tasktype.id}}\r\n {{tasktype.itemName}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
      {{responses.id}}\r\n
      \r\n

      {{responses.response}}

      \r\n

      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \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, EventEmitter, Output } from '@angular/core';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { Taskgroup } from \"../../models/taskgroup\";\r\nimport { WizardSubGroup } from '../../models/wizard-sub-group';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { Tasklistconfiguration } from '../../models/tasklistconfiguration';\r\nimport { Lastresponseview } from '../../models/lastresponseview';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { QuestionResponses } from 'src/app/models/question-responses';\r\nimport { WizardQuestions } from 'src/app/models/wizard-questions';\r\nimport { WizardSubGroup2 } from 'src/app/models/WizardSubGroup2';\r\nimport { DragulaService } from 'ng2-dragula';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\ndeclare var $: any;\r\nimport { Subscription } from 'rxjs';\r\nimport { count } from 'rxjs-compat/operator/count';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\n@Component({\r\n selector: 'responsewizard',\r\n templateUrl: './responsewizard.component.html',\r\n styleUrls: ['./responsewizard.component.css']\r\n})\r\nexport class ResponsewizardComponent implements OnInit {\r\n LoggedInUser: any;\r\n taskgroup: Taskgroup = new Taskgroup();\r\n subtaskgroup: WizardSubGroup = new WizardSubGroup();\r\n subtaskgroup2: WizardSubGroup2 = new WizardSubGroup2();\r\n ques: Taskgroup = new Taskgroup();\r\n response: QuestionResponses = new QuestionResponses();\r\n Resoponsecategorylist: Dropdowntype[] = [];\r\n ResoponseSubcategorylist: Dropdowntype[] = [];\r\n ResoponseSubcategory2list: Dropdowntype[] = [];\r\n Questionslist = [];\r\n ResponseList = [];\r\n vampires;\r\n questions: WizardQuestions[] = [];\r\n totaskids = [];\r\n toDoNew: boolean = true;\r\n ButtonsHide: boolean = true;\r\n selectedCategoryId;\r\n selectedSubCategory1Id;\r\n selectedSubCategory2Id;\r\n SelectedResponseEditButtons: boolean = false;\r\n newtodoid = 0;\r\n toDobuttons: boolean = true;\r\n responseshowDialog = false;\r\n notedescription: string;\r\n selectedResponseId;\r\n lastresponseId: number = 0;\r\n prevlastresponseId: number = 0;\r\n HideCategorytextBox: boolean = true;\r\n HideCategory1TextBox: boolean = true;\r\n HideCategory2TextBox: boolean = true;\r\n HideCategoryButtons: boolean = true;\r\n category1ButtonSave: boolean = true;\r\n category2ButtonSave: boolean = true;\r\n salestoolPage: boolean;\r\n CategoryTextBox: string;\r\n subCategoryTextBox1: string;\r\n subCategoryTextBox2: string;\r\n tasklistconfiguration: Tasklistconfiguration = new Tasklistconfiguration();\r\n lastresponseview: Lastresponseview = new Lastresponseview();\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n\r\n @Input()\r\n type: string = '';\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n subs = new Subscription();\r\n category = false;\r\n style:string = \"\";\r\n subcategory1 = false;\r\n subcategory2 = false;\r\n popcategory = false;\r\n popsubcategory1 = false;\r\n popsubcategory2 = false;\r\n DeleteConfirmationPopup: boolean = false;\r\n DeleteResponseConfirmationPopup: boolean = false;\r\n public deleteTicketId: number;\r\n public deleteResponseId: number;\r\n contactStatus: any;\r\n CategoryAdd: boolean = true;\r\n CategoryEdit: boolean = true;\r\n SubCategory1Add: boolean = true;\r\n SubCategory1Edit: boolean = true;\r\n SubCategory2Add: boolean = true;\r\n SubCategory2Edit: boolean = true;\r\n ResponsewizardHomePage: boolean = true;\r\n ResponsewizardPage: boolean = false;\r\n @Input()\r\n SubMenuType: string = null;\r\n constructor(private _location: Location, private route: ActivatedRoute,private customerService: CustomerService, private toastr: ToastrService, private userservice: UserService, private leadservice: LeadsService,\r\n private applicationComponent: ApplicationComponent, private dragulaService: DragulaService) {\r\n this.LoggedInUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.subs.add(this.dragulaService.drop(\"Responses_bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n this.ToDoReordertaskItems('QuestionResponse');\r\n })\r\n );\r\n\r\n this.subs.add(this.dragulaService.drop(\"Questions-bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n this.StatementsQuestionsOrder();\r\n })\r\n );\r\n\r\n this.subs.add(this.dragulaService.drop(\"Category-bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n \r\n this.CategoryOrder('Category'); \r\n })\r\n );\r\n this.subs.add(this.dragulaService.drop(\"SubCategory1-bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n this.CategoryOrder('SubCategory1');\r\n })\r\n );\r\n this.subs.add(this.dragulaService.drop(\"SubCategory2-bag\")\r\n .subscribe(({ name, el, target, source, sibling }) => {\r\n this.CategoryOrder('SubCategory2');\r\n })\r\n );\r\n\r\n }\r\n \r\n ShowHideDropdown(type) {\r\n if (type == 'Category') {\r\n if (this.category) {\r\n this.category = false;\r\n } else {\r\n this.category = true;\r\n }\r\n }\r\n else if (type == 'SubCategory1') {\r\n if (this.subcategory1) {\r\n this.subcategory1 = false;\r\n } else {\r\n this.subcategory1 = true;\r\n }\r\n }\r\n else if (type == 'SubCategory2') {\r\n if (this.subcategory2) {\r\n this.subcategory2 = false;\r\n } else {\r\n this.subcategory2 = true;\r\n }\r\n\r\n }\r\n }\r\n\r\n ShowHidePopDropdown(type) {\r\n if (type == 'Category') {\r\n if (this.popcategory) {\r\n this.popcategory = false;\r\n } else {\r\n this.popcategory = true;\r\n }\r\n }\r\n else if (type == 'SubCategory1') {\r\n if (this.popsubcategory1) {\r\n this.popsubcategory1 = false;\r\n } else {\r\n this.popsubcategory1 = true;\r\n }\r\n }\r\n else if (type == 'SubCategory2') {\r\n if (this.popsubcategory2) {\r\n this.popsubcategory2 = false;\r\n } else {\r\n this.popsubcategory2 = true;\r\n }\r\n\r\n }\r\n }\r\n CategoryOrder(type) {\r\n if (type == 'Category') {\r\n let TaskIdArr = [];\r\n $.each($(\"#CategoryDropdown div span[id$='Category']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).attr('id'));\r\n TaskIdArr.push(TaskIds.split('~')[0]);\r\n });\r\n this.userservice.SaveCategoriesOrder(TaskIdArr.join(','), 'Category', this.LoggedInUser.id).then(result => {\r\n this.toastr.success(\"Questions Re-Ordered Successfully.\", \" Questions\", { timeOut: 600 });\r\n });\r\n } else if (type == 'SubCategory1') {\r\n\r\n let TaskIdArr = [];\r\n $.each($(\"#SubCategory1Dropdown div span[id$='SubCategory1']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).attr('id'));\r\n TaskIdArr.push(TaskIds.split('~')[0]);\r\n });\r\n this.userservice.SaveCategoriesOrder(TaskIdArr.join(','), 'SubCategory1', this.LoggedInUser.id).then(result => {\r\n this.toastr.success(\"Questions Re-Ordered Successfully.\", \" Questions\", { timeOut: 600 });\r\n });\r\n }\r\n else if (type == 'SubCategory2') {\r\n let TaskIdArr = [];\r\n $.each($(\"#SubCategory2Dropdown div span[id$='SubCategory2']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).attr('id'));\r\n TaskIdArr.push(TaskIds.split('~')[0]);\r\n });\r\n this.userservice.SaveCategoriesOrder(TaskIdArr.join(','), 'SubCategory2', this.LoggedInUser.id).then(result => {\r\n this.toastr.success(\"Questions Re-Ordered Successfully.\", \" Questions\", { timeOut: 600 });\r\n });\r\n }\r\n \r\n }\r\n // CategoryClick() { alert(\"clicked\"); }\r\n GetLastResponse() {\r\n \r\n this.leadservice.GetLastResponseViewed(this.LoggedInUser.id).then((response) => {\r\n \r\n this.lastresponseview = response;\r\n var id = this.lastresponseview.categoryid;\r\n this.lastresponseId = response.id;\r\n this.selectedCategoryId = response.categoryid;\r\n \r\n this.selectedSubCategory1Id = response.SubTaskGroup1id;\r\n this.selectedSubCategory2Id = response.SubTaskGroup2id\r\n this.selectedResponseId = response.ResponseID;\r\n $('#todotaskgroup').val(response.categoryid);\r\n if (this.lastresponseview != null && this.lastresponseview.categoryid != 0 && this.lastresponseview.questionid != 0) {\r\n this.leadservice.GetAllSUbCategoryQuestionsList(id, 'SubCategory1', this.LoggedInUser.id).then((subCategory1List) => {\r\n this.ResoponseSubcategorylist = subCategory1List;\r\n if (this.type != \"TaskList\") {\r\n document.getElementById('selectedSubCat1Name').innerHTML = this.ResoponseSubcategorylist.filter(x => x.id == this.selectedSubCategory1Id)[0].itemName;\r\n } else {\r\n document.getElementById('selectedpopupSubCat1Name').innerHTML = this.ResoponseSubcategorylist.filter(x => x.id == this.selectedSubCategory1Id)[0].itemName;\r\n }\r\n });\r\n this.leadservice.GetAllSUbCategoryQuestionsList2(id, this.lastresponseview.SubTaskGroup1id, this.LoggedInUser.id).then((subCategory2List) => {\r\n this.ResoponseSubcategory2list = subCategory2List;\r\n \r\n if (this.type != \"TaskList\") {\r\n document.getElementById(\"subCat2dropdown\").className = \"activeButton\"; \r\n document.getElementById('selectedSubCat2Name').innerHTML = this.ResoponseSubcategory2list.filter(x => x.id == this.selectedSubCategory2Id)[0].itemName;\r\n } else {\r\n document.getElementById('selectedpopupSubCat2Name').innerHTML = this.ResoponseSubcategory2list.filter(x => x.id == this.selectedSubCategory2Id)[0].itemName;\r\n }\r\n $('#todotaskgroup2').val(this.lastresponseview.SubTaskGroup2id);\r\n });\r\n\r\n \r\n this.GetAllQuesionsList(this.lastresponseview.SubTaskGroup2id, 0);\r\n \r\n //if (this.type != 'SalesTool') {\r\n this.SelectedQuestion(this.lastresponseview.questionid, \"Click\");\r\n //}\r\n\r\n var selfobj = this;\r\n $(setTimeout(function () { \r\n $('#todotaskgroup').val(id);\r\n if (selfobj.type != \"TaskList\") {\r\n document.getElementById('selectedCatName').innerHTML = selfobj.Resoponsecategorylist.filter(x => x.id == selfobj.selectedCategoryId)[0].itemName;\r\n } else {\r\n document.getElementById('selectedpopupCatName').innerHTML = selfobj.Resoponsecategorylist.filter(x => x.id == selfobj.selectedCategoryId)[0].itemName;\r\n }\r\n }, 200));\r\n\r\n\r\n }\r\n });\r\n }\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n this.type = params['type'];\r\n this.SubMenuType = params['SubMenuType'] ;\r\n $('.fr-counter').attr('style', 'display:none;')\r\n this.loadTaskGrouplist();\r\n if (this.SubMenuType !== null && this.SubMenuType !== undefined && this.SubMenuType !== '') {\r\n this.AccessDiv(this.SubMenuType);\r\n } else {\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Response Wizard', action: 'Response Wizard', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.LoggedInUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Response Wizard', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n });\r\n }\r\n AccessDiv(value) {\r\n this.ResponsewizardHomePage = false;\r\n this.ResponsewizardPage = true;\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Response Wizard', action: 'Response Wizard', AccountOrContactId: 0, AccountOrContact: value, documentid: 0, userid: this.LoggedInUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Response Wizard', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n\r\n canceltodotasktype(val) {\r\n this.GetAllQuesionsList(this.selectedSubCategory2Id, 0);\r\n this.ButtonsHide = true;\r\n this.ResponseList = null;\r\n $('#todoTasktype').attr('style', \"background-color:#808080;color:white\");\r\n $('#todoTasktypePopup').attr('style', \"background-color:#808080;color:white\");\r\n }\r\n //CancelCategory() {\r\n // \r\n // $('.taskGroupType').removeClass('btn-default')\r\n // $('.taskGroupType').removeClass('selectedTaskGroupType')\r\n // $('.taskGroupType').addClass('btn-default')\r\n\r\n // $('#CategoryTextBox').val('');\r\n // this.HideCategorytextBox = true;\r\n // this.HideCategoryButtons = true;\r\n //}\r\n //subcat1Cancel() {\r\n\r\n // $('#subresponsewizard').val('');\r\n // this.HideCategory1TextBox = true;\r\n // this.category1ButtonSave = true;\r\n //}\r\n addResponse() {\r\n \r\n this.responseshowDialog = true;\r\n $(setTimeout(function () {\r\n $('#responseshowDialog .dialog').attr('style', 'width: 32%;margin-top:8%;left:64%; height:75%;');\r\n $('.fr-wrapper').attr('style', 'border:3px solid #00B0F0 !important;height: 80%');\r\n $('.fr-element .fr-view').attr('style', 'border:3px solid #00B0F0 !important;height: 80%');\r\n }, 100));\r\n\r\n }\r\n ToDoReordertaskItems(tasktype) {\r\n \r\n var c = confirm(\"Are you sure you want to change the order of list?\");\r\n if (c == true) {\r\n var TaskIdArr = [];\r\n if (tasktype == 'wizard') {\r\n $.each($(\"#todoTable tbody tr td[id$='todoTaskID']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).html());\r\n TaskIdArr.push(TaskIds);\r\n })\r\n \r\n this.tasklistconfiguration.taskgroupid = $('#todotaskgroup').val();\r\n }\r\n else if (tasktype == 'QuestionResponse') {\r\n $.each($(\"#responseTable tbody tr td[id$='responseID']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).html());\r\n TaskIdArr.push(TaskIds);\r\n })\r\n this.tasklistconfiguration.taskgroupid = this.ques.id;\r\n }\r\n this.tasklistconfiguration.configureduserid = this.LoggedInUser.id;\r\n this.tasklistconfiguration.tasklistconfigurtaionorder = TaskIdArr.toString(); \r\n this.tasklistconfiguration.tasktype = tasktype;\r\n this.customerService.SaveTaskListConfiguration(this.tasklistconfiguration).then(result => {\r\n this.toastr.success(\"Response Re-Ordered Successfully.\", \" Responses\", { timeOut: 600 });\r\n\r\n });\r\n }\r\n }\r\n\r\n StatementsQuestionsOrder() {\r\n \r\n var c = confirm(\"Are you sure you want to change the order ?\");\r\n if (c == true) {\r\n var TaskIdArr = [];\r\n $.each($(\"#todoTable tbody tr td[id$='todoTaskID']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).html()) ;\r\n TaskIdArr.push(TaskIds);\r\n \r\n });\r\n this.tasklistconfiguration.taskgroupid = this.selectedSubCategory2Id\r\n this.tasklistconfiguration.configureduserid = this.LoggedInUser.id;\r\n this.tasklistconfiguration.tasklistconfigurtaionorder = TaskIdArr.toString();\r\n this.tasklistconfiguration.tasktype = 'WizardQuestions';\r\n this.customerService.SaveTaskListConfiguration(this.tasklistconfiguration).then(result => {\r\n this.toastr.success(\"Questions Re-Ordered Successfully.\", \" Questions\", { timeOut: 600 });\r\n });\r\n\r\n }\r\n }\r\n\r\n SaveEditResponse() {\r\n var text = $('#' + this.selectedResponseId + 'EditContent').html(); \r\n this.response.id = this.selectedResponseId;\r\n this.response.response = text; \r\n this.response.responseuserid = this.LoggedInUser.id;\r\n this.response.questionid = this.ques.id;\r\n this.response.isbolded = $('#' + this.selectedResponseId + 'boldContent').val();\r\n if (this.response.response != undefined && this.response.response != \"\") {\r\n this.customerService.SaveResponcesForQuestion(this.response).then(result => {\r\n this.notedescription = \"\";\r\n this.toastr.success(\"Response Updated successfully.\", \"Response updated\", { timeOut: 600 });\r\n this.SelectedResponseEditButtons = false;\r\n $('.fr-element').empty();\r\n this.leadservice.GetAllResponseListByQuestionId(this.response.questionid, this.LoggedInUser.id).then((response) => {\r\n this.ResponseList = response;\r\n });\r\n });\r\n }\r\n }\r\n\r\n cancelEditResponse() {\r\n this.SelectedResponseEditButtons = false;\r\n $('.resTr').removeAttr('style');\r\n $('.PoPUpresTr').removeAttr('style');\r\n }\r\n\r\n SaveResponse() {\r\n \r\n this.response = new QuestionResponses();\r\n this.response.response = this.notedescription;\r\n //this.response.response = this.response.response.replace(/<[^>]*>/gi, '').trim();\r\n //this.response.response = this.response.response.replace(/ /gi, '').trim();\r\n //this.response.response = this.response.response.replace(/^( |
      )+/, '');\r\n this.response.responseuserid = this.LoggedInUser.id;\r\n this.response.questionid = this.ques.id;\r\n if (this.response.response != undefined && this.response.response != \"\") {\r\n if (this.response.questionid != 0 && this.response.questionid != null) {\r\n this.customerService.SaveResponcesForQuestion(this.response).then(result => {\r\n this.notedescription = \"\";\r\n this.toastr.success(\"Response saved successfully.\", \"Response Saved\", { timeOut: 600 });\r\n this.responseshowDialog = !this.responseshowDialog;\r\n $('.fr-element').empty();\r\n this.leadservice.GetAllResponseListByQuestionId(this.response.questionid, this.LoggedInUser.id).then((response) => {\r\n this.ResponseList = response;\r\n });\r\n });\r\n } else {\r\n alert(\"Please Select One statment in the list\");\r\n }\r\n }\r\n }\r\n AddCategory() {\r\n this.selectedCategoryId = 0;\r\n this.HideCategorytextBox = false;\r\n this.HideCategoryButtons = true;\r\n this.CategoryEdit = false;\r\n document.getElementById('selectedCatName').innerHTML = 'Select Category';\r\n this.category = true;\r\n }\r\n\r\n AddSubCategory1() {\r\n if (this.selectedCategoryId != 0) { \r\n this.selectedSubCategory1Id = 0;\r\n this.HideCategory1TextBox = false;\r\n this.category1ButtonSave = true;\r\n this.SubCategory1Edit = false;\r\n //this.CancelButtons('SubCategory2');\r\n //this.CancelButtons('Category');\r\n document.getElementById('selectedSubCat1Name').innerHTML = 'Select Sub Category 1';\r\n this.subcategory1 = true;\r\n } else {\r\n alert(\"Please Select Category\");\r\n }\r\n }\r\n\r\n AddsubCategory2() {\r\n if (this.selectedSubCategory1Id != 0) {\r\n\r\n this.selectedSubCategory2Id = 0;\r\n this.HideCategory2TextBox = false;\r\n this.category2ButtonSave = true;\r\n this.SubCategory2Edit = false;\r\n document.getElementById(\"subCat2dropdown\").classList.remove(\"activeButton\");\r\n document.getElementById(\"subCat2dropdown\").className = \"btn\"; \r\n document.getElementById('selectedSubCat2Name').innerHTML = 'Select Sub Category 2';\r\n this.subcategory2 = true\r\n\r\n } else {\r\n alert(\"Please select Sub Category 1\");\r\n }\r\n }\r\n\r\n SaveSubCategory(SubCategoryType) {\r\n \r\n if (SubCategoryType == 'SubCategory2') {\r\n this.subtaskgroup.subTaskGroupName = $('#subCategoryTextBox2').val();\r\n this.subtaskgroup.id = this.selectedSubCategory2Id;\r\n } else {\r\n this.subtaskgroup.subTaskGroupName = $('#subCategoryTextBox1').val();\r\n this.subtaskgroup.id = this.selectedSubCategory1Id;\r\n }\r\n\r\n this.subtaskgroup.taskGroupId = this.selectedCategoryId;\r\n if (this.subtaskgroup.taskGroupId != 0 && this.subtaskgroup.taskGroupId != null ) {\r\n this.subtaskgroup.category = SubCategoryType;\r\n this.customerService.addSubtaskgroup(this.subtaskgroup).then(result => {\r\n this.toastr.success(\"New Sub Category Added Successfully.\", \"Category\", { timeOut: 600 });\r\n //this.loadTaskGrouplist();\r\n this.GetAllSubCategories1List(this.subtaskgroup.taskGroupId);\r\n this.GetAllSubCategories2List(this.subtaskgroup.taskGroupId);\r\n document.getElementById('selectedSubCat1Name').innerHTML = 'Select Category';\r\n //this.myFunction('SubCategory1');\r\n if (SubCategoryType == 'SubCategory1') {\r\n this.CancelButtons('SubCategory1');\r\n } else if (SubCategoryType == 'SubCategory2') {\r\n this.CancelButtons('SubCategory2');\r\n }\r\n //this.CancelCategory();\r\n //this.subcat1Cancel();\r\n //this.myFunction('SubCategory1');\r\n $('#CategoryTextBox').val('');\r\n this.SubCategory1Add = true;\r\n this.SubCategory1Edit = true;\r\n\r\n });\r\n } else {\r\n alert(\"Please Select Category Before Saving Sub Category\")\r\n }\r\n }\r\n SaveSubCategory2(SubCategoryType) {\r\n \r\n if (SubCategoryType == 'SubCategory2') {\r\n this.subtaskgroup2.subtaskgroup2Name = $('#subCategoryTextBox2').val();\r\n this.subtaskgroup2.id = this.selectedSubCategory2Id;\r\n }\r\n else {\r\n this.subtaskgroup2.subtaskgroup2Name = $('#subCategoryTextBox1').val();\r\n this.subtaskgroup2.id = this.selectedSubCategory1Id;\r\n }\r\n\r\n this.subtaskgroup2.taskgroupid = this.selectedCategoryId;\r\n this.subtaskgroup2.subtaskgroup1id = this.selectedSubCategory1Id;\r\n if (this.subtaskgroup2.subtaskgroup1id != 0 && this.subtaskgroup2.subtaskgroup1id != null) {\r\n this.customerService.addSubtaskgroup2(this.subtaskgroup2).then(result => {\r\n \r\n this.toastr.success(\"New Sub Category-2 Added Successfully.\", \"Category\", { timeOut: 600 });\r\n //this.loadTaskGrouplist();\r\n //this.GetAllSubCategories1List(this.subtaskgroup.taskGroupId);\r\n this.GetAllSubCategories2List(this.subtaskgroup2.taskgroupid);\r\n document.getElementById(\"subCat2dropdown\").classList.remove(\"activeButton\");\r\n document.getElementById(\"subCat2dropdown\").className = \"btn\";\r\n document.getElementById('selectedSubCat2Name').innerHTML = 'Select Category';\r\n //this.CancelButtons('SubCategory1');\r\n this.CancelButtons('SubCategory2');\r\n //this.CancelCategory();\r\n //this.subcat1Cancel();\r\n //this.myFunction('SubCategory2');\r\n $('#CategoryTextBox').val('');\r\n this.SubCategory2Add = true;\r\n this.SubCategory2Edit = true;\r\n });\r\n } else {\r\n alert(\"Please select Sub Category 1 while saving Sub Category 2\");\r\n }\r\n }\r\n SavewizardCategory() {\r\n \r\n this.taskgroup.id = this.selectedCategoryId;\r\n this.taskgroup.addeduserid = this.LoggedInUser.id;\r\n this.taskgroup.tasktype = \"Wizard\";\r\n this.taskgroup.TaskGroupName = $('#CategoryTextBox').val();\r\n \r\n this.customerService.checkduplicateTaskGroupName(this.taskgroup).then(result => {\r\n if (result == null) {\r\n this.customerService.addtaskgroup(this.taskgroup).then(result => {\r\n this.toastr.success(\"New Category Added Successfully.\", \"Category\", { timeOut: 600 });\r\n this.loadTaskGrouplist();\r\n //this.CancelCategory();\r\n this.selectedCategoryId = null;\r\n document.getElementById('selectedCatName').innerHTML = 'Select Category';\r\n this.CancelButtons('Category');\r\n this.ClearAllFields();\r\n //this.myFunction('Category');\r\n $('#CategoryTextBox').val('');\r\n this.CategoryAdd = true;\r\n this.CategoryEdit = true;\r\n });\r\n }\r\n else {\r\n alert(this.taskgroup.TaskGroupName + \" Already Exist\")\r\n }\r\n });\r\n\r\n }\r\n SaveWizardQuestions() {\r\n \r\n var quest = new WizardQuestions();\r\n if (this.totaskids.length != 0) {\r\n this.totaskids.forEach(id => {\r\n quest.id = parseInt($('#' + id.Index + 'todoTaskID').html());\r\n quest.Question = $('#' + id.Index + 'todoTasktype').html();\r\n\r\n if (quest.Question != \"\" || quest.Question != null || quest.Question != undefined) {\r\n //quest.groupid = $('#todotaskgroup').val();\r\n quest.groupid = this.selectedSubCategory2Id;\r\n quest.createduserid = this.LoggedInUser.id;\r\n quest.Question = quest.Question.toString().replace(/<[^>]*>/gi, '').trim();\r\n quest.Question = quest.Question.toString().replace(/ /gi, '').trim();\r\n if (quest.Question != '') {\r\n this.questions.push(quest);\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n if ((this.questions.filter(f => { f.id == 0 && f.Question == $('#' + this.newtodoid + 'todoTasktype').html() }).length == 0)) {\r\n var quest = new WizardQuestions();\r\n //quest.Question = $('#' + this.newtodoid + 'todoTasktype').html().replace('To Do - ', '');\r\n quest.Question = $('#' + this.newtodoid + 'todoTasktype').html();\r\n quest.id = 0;\r\n quest.Question = quest.Question.toString().replace(' ', '').trim();\r\n quest.Question = quest.Question.toString().replace(/<[^>]*>/g, '').trim();\r\n if (quest.Question || quest.Question != '' || quest.Question != null || quest.Question != undefined) {\r\n \r\n //quest.groupid = $('#todotaskgroup').val();\r\n quest.groupid = this.selectedSubCategory2Id;\r\n quest.createduserid = this.LoggedInUser.id;\r\n this.questions.push(quest);\r\n }\r\n }\r\n\r\n }\r\n\r\n this.customerService.saveWizardQuestion(this.questions).then(result => {\r\n this.toastr.success(\" Question Saved Successfully.\", \"Question\", { timeOut: 600 });\r\n this.newtodoid = 0;\r\n this.totaskids = [];\r\n this.questions = [];\r\n \r\n this.GetAllQuesionsList(this.selectedSubCategory2Id, 0);\r\n this.ButtonsHide = true;\r\n });\r\n }\r\n GetAllQuesionsList(taskcategoryval, status) {\r\n this.Questionslist = [];\r\n this.leadservice.GetAllQuestionsList(this.LoggedInUser.id, taskcategoryval, status).then((accounttype) => {\r\n this.Questionslist = accounttype;\r\n \r\n if (localStorage.getItem('selectedQuestionId') != '' && parseInt(localStorage.getItem('selectedQuestionId')) > 0) {\r\n this.SelectedQuestion(localStorage.getItem('selectedQuestionId'), 'Click');\r\n $('#' + parseInt(localStorage.getItem('selectedQuestionId')) + 'todoTasktypePopup').attr('style', 'width:80%;background-color:#badb98');\r\n }\r\n\r\n });\r\n var url = window.location.href;\r\n if (url.indexOf('tasklistdashboard/Contacts/') > -1) {\r\n this.salestoolPage = false;\r\n }\r\n else if (url.indexOf('salestool') > -1) {\r\n this.salestoolPage = true;\r\n }\r\n \r\n }\r\n GetAllSubCategories1List(taskcategoryval) {\r\n this.ResoponseSubcategorylist = [];\r\n this.leadservice.GetAllSUbCategoryQuestionsList(taskcategoryval, 'SubCategory1', this.LoggedInUser.id).then((subCategory1List) => {\r\n this.ResoponseSubcategorylist = subCategory1List; \r\n if (this.type == 'SalesTool') {\r\n document.getElementById('selectedSubCat1Name').innerHTML = 'Select Sub Category 1';\r\n document.getElementById(\"subCat2dropdown\").classList.remove(\"activeButton\");\r\n document.getElementById(\"subCat2dropdown\").className = \"btn\";\r\n document.getElementById('selectedSubCat2Name').innerHTML = 'Select Sub Category 2';\r\n }\r\n else {\r\n document.getElementById('selectedpopupSubCat1Name').innerHTML = 'Select Sub Category 1';\r\n document.getElementById('selectedpopupSubCat2Name').innerHTML = 'Select Sub Category 2';\r\n }\r\n this.selectedSubCategory1Id = 0;\r\n this.selectedSubCategory2Id = 0;\r\n if (localStorage.getItem('selectedCategory1Id') != null) {\r\n this.loadtaskitems(localStorage.getItem('selectedCategory1Id'), 'SubCategory1')\r\n document.getElementById('selectedpopupSubCat1Name').innerHTML = localStorage.getItem('selectedCategory1Name');\r\n }\r\n\r\n });\r\n if (this.ResoponseSubcategorylist.length == 0) {\r\n $('#todotaskgroup1').val(\"0\");\r\n $('#todotaskgroup2').val(\"0\");\r\n }\r\n }\r\n GetAllSubCategories2List(taskcategoryval) {\r\n this.ResoponseSubcategory2list = [];\r\n this.leadservice.GetAllSUbCategoryQuestionsList2(taskcategoryval, this.selectedSubCategory1Id, this.LoggedInUser.id).then((subCategory2List) => { \r\n this.ResoponseSubcategory2list = subCategory2List;\r\n if (this.type == 'SalesTool') {\r\n document.getElementById(\"subCat2dropdown\").classList.remove(\"activeButton\");\r\n document.getElementById(\"subCat2dropdown\").className = \"btn\";\r\n document.getElementById('selectedSubCat2Name').innerHTML = 'Select Sub Category 2';\r\n } else {\r\n document.getElementById('selectedpopupSubCat2Name').innerHTML = 'Select Sub Category 2';\r\n }\r\n \r\n this.selectedSubCategory2Id = 0;\r\n if (localStorage.getItem('selectedCategory2Id') != null) {\r\n this.loadtaskitems(localStorage.getItem('selectedCategory2Id'), 'SubCategory2');\r\n document.getElementById('selectedpopupSubCat2Name').innerHTML = localStorage.getItem('selectedCategory2Name');\r\n }\r\n\r\n });\r\n }\r\n SelectedResonse(responseId) {\r\n this.selectedResponseId = responseId;\r\n this.SelectedResponseEditButtons = true;\r\n $('.Tr').removeAttr('style');\r\n $('.resTr').attr('style', 'width: 80%;border: none');\r\n $('.PoPUpresTr').attr('style', 'width: 80%;border: none');\r\n $(setTimeout(function () {\r\n $('#resTr' + responseId).attr('style', 'width:80%;background-color:#badb98');\r\n $('#PoPUpresTr' + responseId).attr('style', 'width:80%;background-color:#badb98');\r\n }, 100))\r\n this.lastresponseview.ResponseID = responseId;\r\n this.lastresponseview.questionid = this.ques.id;\r\n this.lastresponseview.userid = this.LoggedInUser.id;\r\n //localStorage.setItem('selectedCategoryId', this.selectedCategoryId);\r\n //localStorage.setItem('selectedSubCategory1Id', this.selectedSubCategory1Id);\r\n //localStorage.setItem('selectedSubCategory2Id', this.selectedSubCategory2Id);\r\n localStorage.setItem('selectedQuestionId', this.ques.id.toString());\r\n localStorage.setItem('selectedResponseId', this.selectedResponseId);\r\n this.customerService.SavelastViewedresponsewizard(this.lastresponseview).then((user) => {\r\n });\r\n }\r\n\r\n SelectedQuestion(QuestionId, val) {\r\n if (this.type == 'SalesTool') {\r\n $('.disableEditable').attr('contenteditable', \"true\");\r\n } else {\r\n $('.disableEditable').attr('contenteditable', \"false\");\r\n }\r\n $('.disableEditable').attr('style', 'width:80%;border: 2px solid ##A6A4A4 '); \r\n $(setTimeout(function () {\r\n $('#' + QuestionId + 'todoTasktype').attr('style', 'width:80%;background-color:#badb98');\r\n $('#' + QuestionId + 'todoTasktypePopup').attr('style', 'width:80%;background-color:#badb98');\r\n }, 100));\r\n this.ques.id = QuestionId;\r\n this.leadservice.GetAllResponseListByQuestionId(QuestionId, this.LoggedInUser.id).then((response) => {\r\n this.ResponseList = response;\r\n this.ResponseList = this.ResponseList.filter(x => x.isdeleted != 1);\r\n if (parseInt(localStorage.getItem('selectedResponseId')) > 0) {\r\n $(setTimeout(function () {\r\n $('#resTr' + parseInt(localStorage.getItem('selectedResponseId'))).attr('style', 'width:80%;background-color:#badb98');\r\n $('#PoPUpresTr' + parseInt(localStorage.getItem('selectedResponseId'))).attr('style', 'width:80%;background-color:#badb98');\r\n }, 100))\r\n }\r\n\r\n this.leadservice.GetResponseByQuestionId(QuestionId, this.LoggedInUser.id).then((response) => { \r\n if (response != null) {\r\n this.prevlastresponseId = response.ResponseID;\r\n let that = this;\r\n //$(setTimeout(function () {\r\n // $('#resTr' + that.prevlastresponseId).attr('style', 'width:80%;background-color:#badb98');\r\n // $('#PoPUpresTr' + that.prevlastresponseId).attr('style', 'width:80%;background-color:#badb98');\r\n //}, 200));\r\n }\r\n else {\r\n this.lastresponseview.id = this.lastresponseId;\r\n this.lastresponseview.userid = this.LoggedInUser.id;\r\n this.lastresponseview.questionid = QuestionId;\r\n this.lastresponseview.SubTaskGroup1id = this.selectedSubCategory1Id;\r\n this.lastresponseview.SubTaskGroup2id = this.selectedSubCategory2Id;\r\n this.lastresponseview.categoryid = this.selectedCategoryId;\r\n\r\n if (val == \"Click\") {\r\n this.customerService.SavelastViewedresponsewizard(this.lastresponseview).then((user) => {\r\n });\r\n }\r\n }\r\n });\r\n \r\n });\r\n }\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n\r\n edit(jval, tasktype) {\r\n //this.Questionslist = [];\r\n if (jval == 0) {\r\n var toDoEmpty = ({ id: 0, itemName: '', category: null })\r\n this.Questionslist.push(toDoEmpty);\r\n }\r\n $(setTimeout(function () {\r\n\r\n //$('.disableEditable').attr('contenteditable', \"false\")\r\n if (this.type == 'SalesTool') {\r\n $('#' + jval + tasktype).attr('contenteditable', \"true\")\r\n }\r\n else {\r\n $('#' + jval + tasktype).attr('contenteditable', \"false\")\r\n }\r\n $('#' + tasktype).removeClass('btn-default');\r\n if (jval == 0) {\r\n $('#' + tasktype).attr('style', \"background-color:#b7e4ff;\")\r\n }\r\n\r\n //$('.Tr').removeAttr('style');\r\n $('#' + jval + tasktype).attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + jval + tasktype + 'order').attr('style', \"background-color:#b7e4ff;padding:2% 0 0 2%;\")\r\n if (($('#' + jval + tasktype).html()).trim() == 'add item here') {\r\n $('#' + jval + tasktype).html('')\r\n }\r\n }, 200));\r\n }\r\n\r\n\r\n keyupTask(taskid, kval, tasktype) {\r\n \r\n if (taskid > 0) {\r\n if ((this.totaskids.filter(f => f.Index == taskid && f.Type == \"todo\")).length == 0) {\r\n this.totaskids.push({ Index: taskid, Type: tasktype });\r\n }\r\n }\r\n else {\r\n if (tasktype == \"todo\") { this.toDoNew = false; this.newtodoid = taskid; }\r\n\r\n }\r\n\r\n if (tasktype == \"todo\") {\r\n $(\"#\" + taskid + \"todoTasktype\").css(\"color\", \"red\");\r\n this.toDobuttons = false\r\n }\r\n this.ButtonsHide = false;\r\n\r\n\r\n }\r\n\r\n loadTaskGrouplist() {\r\n this.userservice.GetAllWizardTaskGroupList('Wizard', 0, this.LoggedInUser.id).then((taskgroups) => {\r\n this.Resoponsecategorylist = taskgroups;\r\n if ((localStorage.getItem('selectedCategoryId') != null)){\r\n this.Poploadtaskitems(localStorage.getItem('selectedCategoryId'), 'Category')\r\n document.getElementById('selectedpopupCatName').innerHTML = localStorage.getItem('selectedCategoryName');\r\n }\r\n });\r\n }\r\n deleterespose(responseid) {\r\n this.deleteResponseId = responseid;\r\n this.DeleteResponseConfirmationPopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteResponseConfirmationPopup .dialog');\r\n \r\n\r\n }\r\n editresponse(responseId) {\r\n this.responseshowDialog = true;\r\n this.customerService.ResponseById(responseId).then((user) => {\r\n this.response = user;\r\n this.notedescription = user.response;\r\n });\r\n $(setTimeout(function () {\r\n \r\n $('.fr-wrapper').attr('style', 'border:3px solid #00B0F0 !important;');\r\n // $('.fr-box fr-basic .fr-top .fr-wrapper').css('border', '2px solid #00B0F0');\r\n }, 100));\r\n\r\n }\r\n ToDoDelete(id, status) {\r\n \r\n this.deleteTicketId = id;\r\n if (status == 1) {\r\n this.contactStatus = 1;\r\n } else {\r\n this.contactStatus = 0;\r\n }\r\n \r\n this.DeleteConfirmationPopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteConfirmationPopup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n //if (status == '1') {\r\n // var c = confirm(\"Are you sure you want to do delete response item??\");\r\n // if (c == true) {\r\n // this.customerService.activatedeactivateQuestion(id, status).then((user) => {\r\n // this.toastr.success(\" Response item deleted Successfully.\", \"Task List\", { timeOut: 600 });\r\n \r\n // this.GetAllQuesionsList($('#todotaskgroup2').val(), 0);\r\n // });\r\n // }\r\n //}\r\n //else {\r\n // var c = confirm(\"Are you sure you want to do Activate Response item??\");\r\n // if (c == true) {\r\n // this.customerService.activatedeactivateQuestion(id, status).then((user) => {\r\n // this.toastr.success(\" To Do item Activated Successfully.\", \"Task List\", { timeOut: 600 });\r\n \r\n // this.GetAllQuesionsList($('#todotaskgroup2').val(), 0);\r\n // });\r\n // }\r\n //}\r\n this.ResponseList = null;\r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.customerService.activatedeactivateQuestion(this.deleteTicketId, this.contactStatus).then((user) => {\r\n this.toastr.success(\" To Do item Activated Successfully.\", \"Task List\", { timeOut: 600 })\r\n \r\n this.GetAllQuesionsList(this.selectedSubCategory2Id,0);\r\n });\r\n }\r\n this.DeleteConfirmationPopup = false;\r\n \r\n }\r\n ReceiveresponseDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.customerService.DeactivateResponse(this.deleteResponseId).then((user) => {\r\n this.toastr.success(\" Response deleted Successfully.\", \"Response\", { timeOut: 600 });\r\n this.leadservice.GetAllResponseListByQuestionId(this.ques.id, this.LoggedInUser.id).then((response) => {\r\n this.ResponseList = response;\r\n });\r\n });\r\n }\r\n this.DeleteResponseConfirmationPopup = false;\r\n\r\n }\r\n enableButtons(type) {\r\n \r\n //if (type == 'Category')\r\n // this.HideCategoryButtons = false;\r\n //else if (type == 'SubCategory1')\r\n // this.category1ButtonSave = false;\r\n //else if (type == 'SubCategory2')\r\n // this.category2ButtonSave = false;\r\n }\r\n\r\n CancelResponse() {\r\n $('.fr-element').empty();\r\n this.response = new QuestionResponses();\r\n }\r\n CancelButtons(type) {\r\n \r\n $('#CategoryTextBox').val(\"\");\r\n $('#subCategoryTextBox1').val(\"\");\r\n $('#subCategoryTextBox2').val(\"\");\r\n if (type == 'Category') {\r\n this.HideCategoryButtons = true;\r\n this.HideCategorytextBox = true;\r\n this.CategoryAdd = true;\r\n this.CategoryEdit = true;\r\n this.myFunction('Category');\r\n }\r\n else if (type == 'SubCategory1') {\r\n this.category1ButtonSave = true;\r\n this.HideCategory1TextBox = true;\r\n this.SubCategory1Add = true;\r\n this.SubCategory1Edit = true;\r\n this.myFunction('SubCategory1');\r\n }\r\n else if (type == 'SubCategory2') {\r\n this.category2ButtonSave = true;\r\n this.HideCategory2TextBox = true;\r\n this.SubCategory2Add = true;\r\n this.SubCategory2Edit = true;\r\n this.myFunction('SubCategory2');\r\n }\r\n }\r\n \r\n loadtaskitems(catval, type) {\r\n \r\n this.SelectedResponseEditButtons = false;\r\n if (type == 'Category') {\r\n this.selectedCategoryId = catval;\r\n this.ResoponseSubcategorylist = null;\r\n this.ResoponseSubcategory2list = null;\r\n this.GetAllSubCategories1List(catval)\r\n this.Questionslist = null;\r\n }\r\n else if (type == 'SubCategory1') {\r\n this.selectedSubCategory1Id = catval;\r\n this.ResoponseSubcategory2list = null;\r\n this.GetAllSubCategories2List(this.selectedCategoryId)\r\n this.Questionslist = null;\r\n }\r\n else if (type == 'SubCategory2') {\r\n this.selectedSubCategory2Id = catval;\r\n if ($('#isTodoSelected').is(\":checked\")) {\r\n this.GetAllQuesionsList(this.selectedSubCategory2Id, 1);\r\n }\r\n else {\r\n this.GetAllQuesionsList(this.selectedSubCategory2Id, 0);\r\n }\r\n }\r\n this.ResponseList = null;\r\n }\r\n\r\n Poploadtaskitems(catval, type) {\r\n \r\n //this.SelectedResponseEditButtons = false;\r\n if (type == 'Category') {\r\n this.selectedCategoryId = catval; \r\n this.ResoponseSubcategorylist = null;\r\n this.ResoponseSubcategory2list = null;\r\n this.GetAllSubCategories1List(catval)\r\n this.Questionslist = null;\r\n }\r\n else if (type == 'SubCategory1') {\r\n this.selectedSubCategory1Id = catval;\r\n this.ResoponseSubcategory2list = null;\r\n this.GetAllSubCategories2List(this.selectedCategoryId)\r\n this.Questionslist = null;\r\n }\r\n else if (type == 'SubCategory2') {\r\n this.selectedSubCategory2Id = catval;\r\n if ($('#isTodoSelected').is(\":checked\")) {\r\n this.GetAllQuesionsList(this.selectedSubCategory2Id, 1);\r\n }\r\n else {\r\n this.GetAllQuesionsList(this.selectedSubCategory2Id, 0);\r\n }\r\n }\r\n this.ResponseList = null;\r\n }\r\n\r\n EditCategory(selectedCatId ,selectedtype) {\r\n \r\n //Old Code \r\n //if (selectedtype == 'edit') {\r\n // \r\n // this.taskgroup.id = $('#todotaskgroup').val();\r\n // $('.taskGroupType').removeClass('selectedTaskGroupType')\r\n\r\n // $('#todoAddTaskGroup').removeClass('btn-default');\r\n // $('#todoAddTaskGroup').addClass('selectedTaskGroupType');\r\n // this.HideCategorytextBox = false;\r\n // this.HideCategoryButtons = true;\r\n // \r\n // $('#CategoryTextBox').val($(\"#todotaskgroup option:selected\").text());\r\n //} else if (selectedtype == 'delete') {\r\n // \r\n // this.customerService.deleteCategory($('#todotaskgroup').val()).then((taskgroup) => {\r\n // this.loadTaskGrouplist();\r\n // });\r\n //}\r\n\r\n // Old Code Ends\r\n\r\n\r\n if (selectedtype == 'Category') {\r\n \r\n this.selectedCategoryId = selectedCatId;\r\n if (this.selectedCategoryId != null && this.selectedCategoryId != 0) {\r\n this.Resoponsecategorylist.forEach(element => {\r\n if (element.id == this.selectedCategoryId) {\r\n $('#CategoryTextBox').val(element.itemName);\r\n this.CategoryTextBox = element.itemName;\r\n this.HideCategorytextBox = false;\r\n this.CategoryAdd = false;\r\n }\r\n });\r\n if (!this.category) {\r\n this.category = true;\r\n }\r\n }\r\n else {\r\n alert(\"Please Select categories\")\r\n }\r\n \r\n }\r\n else if (selectedtype == 'SubCategory1') {\r\n this.selectedSubCategory1Id = selectedCatId;\r\n if (this.selectedSubCategory1Id != null && this.selectedSubCategory1Id != 0) {\r\n this.ResoponseSubcategorylist.forEach(element => {\r\n if (element.id == this.selectedSubCategory1Id) {\r\n $('#subCategoryTextBox1').val(element.itemName);\r\n this.subCategoryTextBox1 = element.itemName;\r\n this.HideCategory1TextBox = false;\r\n this.SubCategory1Add = false;\r\n }\r\n });\r\n //$('#SubCategory1Dropdown').val(localStorage.getItem('selectedSubCategory1Id'));\r\n if (!this.subcategory1) {\r\n this.subcategory1 = true;\r\n }\r\n }\r\n else {\r\n alert(\"please Select Sub Category 1\")\r\n }\r\n }\r\n else if (selectedtype == 'SubCategory2') {\r\n this.selectedSubCategory2Id = selectedCatId;\r\n if (this.selectedSubCategory2Id != null && this.selectedSubCategory2Id != 0) {\r\n this.ResoponseSubcategory2list.forEach(element => {\r\n if (element.id == this.selectedSubCategory2Id) {\r\n $('#subCategoryTextBox2').val(element.itemName);\r\n this.subCategoryTextBox2 = element.itemName;\r\n this.HideCategory2TextBox = false;\r\n this.SubCategory2Add = false;\r\n }\r\n });\r\n // $('#SubCategory2Dropdown').val(localStorage.getItem('selectedSubCategory2Id'));\r\n if (!this.subcategory2) {\r\n this.subcategory2 = true;\r\n }\r\n } else {\r\n alert(\"please Select Sub Category 2\");\r\n }\r\n }\r\n\r\n\r\n }\r\n ClearAllFields() {\r\n //$('#todotaskgroup1').val(\"0\");\r\n //$('#todotaskgroup2').val(\"0\");\r\n //$('#todotaskgroup').val(\"0\");\r\n this.Questionslist = null;\r\n this.ResponseList = null;\r\n this.selectedCategoryId = 0;\r\n this.selectedSubCategory1Id = 0;\r\n this.selectedSubCategory2Id = 0;\r\n document.getElementById('selectedCatName').innerHTML = 'Select Category';\r\n document.getElementById('selectedSubCat1Name').innerHTML = 'Select Sub Category 1';\r\n document.getElementById(\"subCat2dropdown\").classList.remove(\"activeButton\");\r\n document.getElementById(\"subCat2dropdown\").className = \"btn\";\r\n document.getElementById('selectedSubCat2Name').innerHTML = 'Select Sub Category 2';\r\n this.ResoponseSubcategorylist = [];\r\n this.ResoponseSubcategory2list = [];\r\n //this.CancelButtons('Category')\r\n //this.CancelButtons('SubCategory1')\r\n //this.CancelButtons('SubCategory2')\r\n }\r\n\r\n clearCategory(val) {\r\n switch (val) {\r\n case 'clearCategory': {\r\n if (this.selectedSubCategory1Id == 0 && this.selectedSubCategory2Id == 0) {\r\n this.selectedCategoryId = 0;\r\n document.getElementById('selectedpopupCatName').innerHTML = 'Select Category';\r\n localStorage.removeItem('selectedCategoryId');\r\n localStorage.removeItem('selectedCategoryName');\r\n this.popcategory = false;\r\n } else {\r\n if (this.selectedSubCategory1Id != 0) {\r\n alert(\"Please Clear Sub Category1\");\r\n } else if (this.selectedSubCategory2Id != 0){\r\n alert(\"Please Clear Sub Category2\");\r\n }\r\n }\r\n this.loadTaskGrouplist();\r\n };\r\n break;\r\n\r\n case 'clearCategory1': {\r\n if (this.selectedSubCategory2Id != 0) {\r\n alert(\"Please Clear Sub Category2\");\r\n } else {\r\n this.selectedSubCategory1Id = 0;\r\n document.getElementById('selectedpopupSubCat1Name').innerHTML = 'Select Sub Category 1';\r\n localStorage.removeItem('selectedCategory1Id');\r\n localStorage.removeItem('selectedCategory1Name');\r\n this.popsubcategory1 = false;\r\n }\r\n //if ($('#todotaskgroup2').val() != null ) {\r\n // alert(\"Please Clear Sub Category2\");\r\n //}else {\r\n // $('#todotaskgroup1').val(\"0\");\r\n //}\r\n \r\n };\r\n break;\r\n\r\n case 'clearCategory2': {\r\n this.selectedSubCategory2Id = 0;\r\n document.getElementById('selectedpopupSubCat2Name').innerHTML = 'Select Sub Category 2';\r\n localStorage.removeItem('selectedCategory2Id');\r\n localStorage.removeItem('selectedCategory2Name');\r\n this.Questionslist = null;\r\n this.ResponseList = null;\r\n this.popsubcategory2 = false;\r\n this.leadservice.GetAllResponseListByQuestionId(this.lastresponseview.questionid, this.LoggedInUser.id).then((response) => {\r\n this.ResponseList = response; \r\n this.lastresponseview = new Lastresponseview();\r\n this.lastresponseview.id = this.lastresponseId;\r\n this.lastresponseview.userid = this.LoggedInUser.id;\r\n this.lastresponseview.questionid = this.lastresponseview.questionid;\r\n this.lastresponseview.SubTaskGroup1id = this.selectedSubCategory1Id;\r\n this.lastresponseview.SubTaskGroup2id = this.selectedSubCategory2Id;\r\n this.lastresponseview.categoryid = this.selectedCategoryId;\r\n \r\n this.customerService.SavelastViewedresponsewizard(this.lastresponseview).then((user) => {\r\n this.Questionslist = null;\r\n this.ResponseList = null;\r\n });\r\n });\r\n \r\n \r\n };\r\n break;\r\n }\r\n }\r\n divClick(event) {\r\n if (event.target.id == \"QuestionsDiv\") {\r\n this.canceltodotasktype('todo');\r\n } \r\n }\r\n\r\n myFunction(type) {\r\n if (type == 'Category') {\r\n this.category = true;\r\n // document.getElementById(\"CategoryDropdown\").classList.toggle(\"show\");\r\n } else if (type == 'SubCategory1') {\r\n this.subcategory1 = true;\r\n //document.getElementById(\"SubCategory1Dropdown\").classList.toggle(\"show\");\r\n }\r\n else if (type == 'SubCategory2') {\r\n this.subcategory2 = true;\r\n // document.getElementById(\"SubCategory2Dropdown\").classList.toggle(\"show\");\r\n }\r\n \r\n }\r\n\r\n appendLabel(value, type) {\r\n \r\n if (type == 'Category') {\r\n document.getElementById('selectedCatName').innerHTML = value.itemName;\r\n this.selectedCategoryId = value.id;\r\n this.category = false;\r\n } else if (type == 'SubCategory1') {\r\n document.getElementById('selectedSubCat1Name').innerHTML = value.itemName;\r\n this.selectedSubCategory1Id = value.id;\r\n this.subcategory1 = false;\r\n }\r\n else if (type == 'SubCategory2') {\r\n document.getElementById(\"subCat2dropdown\").classList.remove(\"btn\");\r\n document.getElementById(\"subCat2dropdown\").className = \"activeButton\";\r\n document.getElementById('selectedSubCat2Name').innerHTML = value.itemName;\r\n this.selectedSubCategory2Id = value.id;\r\n this.subcategory2 = false;\r\n }\r\n \r\n }\r\n popappendLabel(value, type) {\r\n if (type == 'Category') {\r\n document.getElementById('selectedpopupCatName').innerHTML = value.itemName;\r\n localStorage.setItem('selectedCategoryId', value.id);\r\n localStorage.setItem('selectedCategoryName', value.itemName);\r\n this.selectedCategoryId = value.id;\r\n this.popcategory = false;\r\n } else if (type == 'SubCategory1') {\r\n document.getElementById('selectedpopupSubCat1Name').innerHTML = value.itemName;\r\n localStorage.setItem('selectedCategory1Id', value.id);\r\n localStorage.setItem('selectedCategory1Name', value.itemName);\r\n this.selectedSubCategory1Id = value.id;\r\n this.popsubcategory1 = false;\r\n }\r\n else if (type == 'SubCategory2') {\r\n document.getElementById('selectedpopupSubCat2Name').innerHTML = value.itemName;\r\n localStorage.setItem('selectedCategory2Id', value.id);\r\n localStorage.setItem('selectedCategory2Name', value.itemName);\r\n this.selectedSubCategory2Id = value.id;\r\n this.popsubcategory2 = false;\r\n }\r\n\r\n }\r\n Delete(id, type) {\r\n if (type == 'Category') {\r\n this.leadservice.GetAllSUbCategoryQuestionsList(id, 'SubCategory1', this.LoggedInUser.id).then((subCategory1List) => {\r\n if (subCategory1List.length > 0) {\r\n alert(\"Sub Categories Exists for this Category\");\r\n }\r\n else {\r\n this.customerService.DeactivateCategories(id, type).then((user) => {\r\n this.toastr.success(\" Category Item deleted Successfully.\", \"Category\", { timeOut: 600 });\r\n this.loadTaskGrouplist();\r\n });\r\n }\r\n\r\n });\r\n } else if (type == 'SubCategory1') {\r\n this.leadservice.GetAllSUbCategoryQuestionsList2(this.selectedCategoryId, id,this.LoggedInUser.id).then((subCategory2List) => {\r\n if (subCategory2List.length > 0) {\r\n alert(\"Sub Categories 2 Exists for this selected Sub Category 1\");\r\n }\r\n else {\r\n this.customerService.DeactivateCategories(id, type).then((user) => {\r\n this.toastr.success(\" Category Item deleted Successfully.\", \"Category\", { timeOut: 600 });\r\n this.GetAllSubCategories1List(this.selectedCategoryId);\r\n \r\n });\r\n }\r\n });\r\n }\r\n else if (type == 'SubCategory2') {\r\n\r\n this.leadservice.GetAllQuestionsList(this.LoggedInUser.id, id, 0).then((QuestionsList) => {\r\n if (QuestionsList.length > 0) {\r\n alert(\"Statements Exists for this selected Sub Category 1\");\r\n }\r\n else {\r\n this.customerService.DeactivateCategories(id, type).then((user) => {\r\n this.toastr.success(\" Category Item deleted Successfully.\", \"Category\", { timeOut: 600 });\r\n this.GetAllSubCategories2List(this.selectedCategoryId);\r\n });\r\n }\r\n });\r\n \r\n }\r\n }\r\n AddStyle(styleName, id, isbolded) {\r\n $('#' + id + 'boldContent').val(isbolded);\r\n if (isbolded) {\r\n $('#' + id +'EditContent').attr('style', 'font-weight:bold');\r\n }else {\r\n $('#' + id + 'EditContent').attr('style', 'font-weight:normal');\r\n }\r\n }\r\n close() { \r\n this._location.back();\r\n //var url = window.location.href;\r\n //this.applicationComponent.displayheader(url);\r\n \r\n }\r\n}\r\n","\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \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, OnInit, ViewChild} from '@angular/core';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { AuditLogComponent } from '../audit-log/audit-log.component';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { Auditlog, AuditLogModel } from '../../models/auditlog';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Column } from 'ag-grid';\r\nimport * as moment from 'moment';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { LeadsComponent } from '../leads/leads.component';\r\nimport { PageComponent } from '../page/page.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\ndeclare var $: any;\r\ndeclare var require: any;\r\n@Component({\r\n selector: 'app-rhx',\r\n templateUrl: './rhx.component.html',\r\n styleUrls: ['./rhx.component.css']\r\n})\r\nexport class RhxComponent implements OnInit {\r\n @Input()\r\n subMenuId: string;\r\n currentuser: any;\r\n UserIds: string;\r\n selectedtype: string = \"\";\r\n dropdownSetting = {};\r\n rhxType: string;\r\n pageSize: string = \"1000\";\r\n dropdownList = [];\r\n selectedItems = [];\r\n timezonevalue: string;\r\n finalitems = \"\";\r\n selectedAudittype = \"Login\";\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n rhxlist: Array = [];\r\n public rhxcolumnDefs: any[];\r\n colSelections: string;\r\n public gridrhxOptions: GridOptions;\r\n public month = ((new Date().getMonth() + 1) < 10) ? '0' + (new Date().getMonth() + 1) : (new Date().getMonth() + 1);\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = (new Date().getFullYear() - 1) + '-' + this.month + '-01'; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = 'Start:' + this.month + '-01-' + (new Date().getFullYear() - 1).toString();\r\n public sideBar;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = new Date().getFullYear() + '-' + this.month + '-' + (new Date().getDate()); //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = 'End:' + this.month + '-' + (new Date().getDate()) + '-' + new Date().getFullYear().toString();\r\n @ViewChild(AuditLogComponent) Auditlog;\r\n @ViewChild(LeadsComponent) leadsComponent;\r\n aggridheight: string;\r\n currentPage: number = 1;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n calanderonoff: boolean = false;\r\n durationFilter = \"\";\r\n private gridApi; \r\n constructor(private paginationcop: PageComponent, private toastr: ToastrService, private customerService: CustomerService, private opprtunityservice: OpprtunitiesService,\r\n public applicationComponent: ApplicationComponent, private router: Router, private route: ActivatedRoute, private accountService: AccountsService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n this.UserIds = this.currentuser.id;\r\n this.selectedtype == \"rhx\"\r\n }\r\n ngAfterViewInit(): void {\r\n var thisComponent = this;\r\n setTimeout(function () { thisComponent.ResizeTable(); }, 10);\r\n }\r\n ResizeTable() {\r\n this.aggridheight = (((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height()))) - 45) + 'px';\r\n }\r\n hours_am_pm(time) {\r\n if (time != null && time != '') {\r\n let hour = (time.split(':'))[0]\r\n let min = (time.split(':'))[1]\r\n let part = hour > 12 ? 'pm' : 'am';\r\n min = (min + '').length == 1 ? `0${min}` : min;\r\n hour = hour > 12 ? hour - 12 : hour;\r\n hour = (hour + '').length == 1 ? `0${hour}` : hour;\r\n return `${hour}:${min} ${part}`\r\n }\r\n\r\n }\r\n\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n\r\n if ((fields[2] == 'true' && fields[1] != '#') && (fields[2] == 'true' && fields[0] != 'notes') && (fields[2] == 'true' && fields[0] != 'actions')) {\r\n\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n else {\r\n this.accountService.GetDefaultColumns('ContactsAccount', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'accountname', \"itemName\": 'Account Name' }\r\n ];\r\n }\r\n });\r\n }\r\n }\r\n\r\n LoadRhx(startrow, endrow) { \r\n var moment = require('moment-timezone');\r\n this.timezonevalue = moment.tz.guess();\r\n this.customerService.GetAllRhxList($(\"#userids\").val(), startrow, endrow, this.startDateVal, this.endDateVal).then((opportunityauditloglist) => {\r\n opportunityauditloglist.forEach(document => {\r\n document.dateofviewed=document.dateofviewed.replace('T', ' ');\r\n let banTime1: Date = new Date(document.dateofviewed + ' UTC');\r\n document.time =this.datePipe.transform(banTime1.toLocaleString(), \"hh-mm-ss\"); \r\n document.dateofviewed = this.datePipe.transform(document.dateofviewed, \"MM-dd-yyyy\");\r\n\r\n });\r\n\r\n this.rhxlist = opportunityauditloglist;\r\n this.startrow = this.rhxlist[0].CurrentPage == 0 ? 1 : this.rhxlist[0].CurrentPage;\r\n this.noofRows = endrow * this.currentPage;\r\n this.totalnumberofrows = this.rhxlist[0].Total;\r\n this.totalnumberofPages = Math.ceil(this.rhxlist[0].Total / endrow);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.paginationcop.startrow = selfObj.rhxlist[0].CurrentPage == 0 ? 1 : selfObj.rhxlist[0].CurrentPage;\r\n\r\n selfObj.paginationcop.noofRows = endrow * selfObj.currentPage;\r\n\r\n selfObj.paginationcop.totalnumberofrows = selfObj.rhxlist[0].Total;\r\n selfObj.paginationcop.totalnumberofPages = selfObj.rhxlist[0].Total / endrow;\r\n }, 500));\r\n });\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n this.currentPage = 1;\r\n this.pageSize = pageSize;\r\n this.gridrhxOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.LoadRhx(this.currentPage, this.pageSize);\r\n\r\n }\r\n ngOnInit() {\r\n \r\n this.applicationComponent.SearchSelectedItems = [];\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n this.route.params.subscribe(params => {\r\n if (params['subMenuId'] != null || params['subMenuId'] != undefined) {\r\n this.subMenuId = params['subMenuId'];\r\n }\r\n if (this.subMenuId == \"Today\") {\r\n this.startDateVal = (new Date().getFullYear()) + \"-\" + this.month + \"-\" + new Date().getDate();\r\n this.endDateVal = this.startDateVal;\r\n this.startDatePlaceHolder = 'Start:' + this.month + '-' + new Date().getDate()+'-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder= 'End:' + this.month + '-' + (new Date().getDate()) + '-' + new Date().getFullYear().toString();\r\n this.rhxType = 'Today';\r\n }\r\n else if (this.subMenuId == \"Yesterday\") {\r\n this.startDateVal = (new Date().getFullYear()) + \"-\" + this.month + \"-\" + (new Date().getDate() - 1);\r\n this.endDateVal = this.startDateVal;\r\n this.startDatePlaceHolder = 'Start:' + this.month + '-' + (new Date().getDate()-1) + '-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder = 'End:' + this.month + '-' + (new Date().getDate()-1) + '-' + new Date().getFullYear().toString();\r\n this.rhxType = 'Yesterday';\r\n }\r\n else if (this.subMenuId == \"Weekly\") {\r\n var curr = new Date; \r\n var first = curr.getDate() - curr.getDay(); \r\n var last = first + 6;\r\n this.rhxType = 'Weekly';\r\n this.startDateVal = new Date(curr.setDate(first)).toISOString().slice(0, 10);\r\n this.endDateVal = new Date(curr.setDate(last)).toISOString().slice(0, 10);\r\n this.startDatePlaceHolder = 'Start:' + this.month + '-' + new Date().getDate() + '-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder = 'End:' + this.month + '-' + (new Date().getDate()) + '-' + new Date().getFullYear().toString();\r\n\r\n }\r\n else {\r\n this.startDateVal = (new Date().getFullYear()) + \"-01-01\";\r\n this.endDateVal = (new Date().getFullYear()) + \"-12-31\";;\r\n this.startDatePlaceHolder = 'Start:01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder = 'End:12-31-' + new Date().getFullYear().toString();\r\n this.rhxType = 'year to date';\r\n }\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n this.generateAuditlog();\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Recent History', action: 'Recent History Viewed', AccountOrContactId: 0, AccountOrContact: \"\", documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Recent History Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n });\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All Users',\r\n unSelectAllText: 'UnSelect All Users',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n \r\n this.GetAllaccesusersListbyuser();\r\n \r\n if (this.applicationComponent.selectedusers != '' || this.applicationComponent.selectedusers != null) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n });\r\n this.UserIds = $(\"#userids\").val();\r\n this.generateAuditlog();\r\n } else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n this.UserIds = $(\"#userids\").val();\r\n this.generateAuditlog();\r\n }\r\n this.initializeAgGrid();\r\n $(\"#rhx\").addClass(\"mybtn coustomButton mainactiveButton\");\r\n }\r\n\r\n GetAllaccesusersListbyuser() {\r\n \r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n\r\n\r\n initializeAgGrid() {\r\n this.gridrhxOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 47).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.gridrhxOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString();\r\n this.createColumnDefs(columnSelections);\r\n this.UpdateSearchColumns(this.colSelections)\r\n });\r\n }\r\n \r\n createColumnDefs(columnSelections: string) {\r\n \r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.rhxcolumnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n this.rhxcolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n\r\n }\r\n } else { \r\n this.rhxcolumnDefs = [\r\n \r\n { field: 'AccountOrContactId', headerName: ' AccountOrContactId', hide: true, width: 10 },\r\n { field: 'AccountOrContact', headerName: ' typeofaccount', hide: true, width: 100 },\r\n { field: 'documentid', headerName: ' documentid', hide: true, width: 100 },\r\n { field: 'dateofviewed', headerName: ' Date', hide: false, width: 250 },\r\n { field: 'time', headerName: ' Time', hide: false, width: 250 },\r\n { field: 'AccountName', headerName: ' AccountName', hide: false, width: 250 },\r\n { field: 'contactname', headerName: 'Contact', hide: false, width: 300 },\r\n { field: 'Title', headerName: 'Title', hide: false, width: 300 },\r\n { field: 'action', headerName: 'Description', hide: false, width: 300 },\r\n { field: 'customertype', headerName: 'Type', hide: false, width: 300 },\r\n { field: 'documentname', headerName: 'Action', hide: false, width: 200 },\r\n { field: 'username', headerName: ' User Name', hide: false, width: 200 },\r\n ];\r\n }\r\n }\r\n dateChange(event) {\r\n //alert(this.getDateFormatYYYYHMMHDD(event.date));\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n // alert(this.applicationComponent.startVal + this.applicationComponent.endVal)\r\n this.generateAuditlog();\r\n this.saveRHXConfiguration();\r\n }\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n onItemSelect(item: any) {\r\n var ids = \"\";\r\n ids += item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.UserIds = $(\"#userids\").val();\r\n this.generateAuditlog();\r\n\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.UserIds = $(\"#userids\").val();\r\n this.generateAuditlog();\r\n } else {\r\n this.rhxlist = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.UserIds = $(\"#userids\").val();\r\n this.generateAuditlog();\r\n\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.rhxlist = [];\r\n $(\"#userids\").val('');\r\n }\r\n generateAuditlog() {\r\n this.LoadRhx(this.startrow, this.pageSize);\r\n }\r\n OnMessageReceived(msg)\r\n {\r\n this.selectedAudittype = msg;\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.applicationComponent.selectedsubbutton = \"\";\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.showSearchFieldsDialog = false;\r\n\r\n this.startDateVal = (new Date().getFullYear()) + \"-01-01\";\r\n this.endDateVal = (new Date().getFullYear()) + \"-12-31\";;\r\n this.startDatePlaceHolder = 'Start:01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder = 'End:12-31-' + new Date().getFullYear().toString();\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n \r\n if (rowEvent.data.documentname == \"Account\") {\r\n localStorage.setItem('RhxAccountVal', rowEvent.data.AccountOrContactId);\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/account/Accounts`);\r\n SO.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n SO.applicationComponent.selectedtabid = 'Customer';\r\n }, 100));\r\n }, 50));\r\n\r\n }\r\n else if (rowEvent.data.documentname == \"Leads\") {\r\n this.router.navigateByUrl(`/application/leadsdashboard/${rowEvent.data.AccountOrContactId}/0/null`);\r\n }\r\n else if (rowEvent.data.documentname == \"Opportunity\") {\r\n let type = rowEvent.data.AccountOrContact == 'Contact' ? 'Contacts' : 'Customer';\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/${rowEvent.data.AccountOrContactId}/${type}/null/null`);\r\n }\r\n else if (rowEvent.data.documentname == \"TaskList\" && rowEvent.data.AccountOrContact==\"Contact\") {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/${rowEvent.data.AccountOrContactId}/${rowEvent.data.documentid}/null`);\r\n }\r\n else if (rowEvent.data.documentname == \"TaskList\" && rowEvent.data.AccountOrContact == \"Account\") {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Customer/${rowEvent.data.AccountOrContactId}/${rowEvent.data.documentid}/null`);\r\n }\r\n else if (rowEvent.data.documentname == \"Contact\") {\r\n //this.router.navigateByUrl(`/application/contactsdashboard/${rowEvent.data.AccountOrContactId}/null`);\r\n //this.router.navigateByUrl(`/application/contactsdashboard/${rowEvent.data.AccountOrContactId}`);\r\n\r\n localStorage.setItem('RhxContactVal', rowEvent.data.AccountOrContactId);\r\n\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }, 50));\r\n }\r\n }\r\n\r\n columnVisible(event) {\r\n this.saveRHXConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveRHXConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveRHXConfiguration();\r\n }\r\n\r\n saveRHXConfiguration() {\r\n let allCols: Column[] = this.gridrhxOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 47;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n\r\n first(val) {\r\n this.currentPage = 1;\r\n this.LoadRhx(this.currentPage, this.pageSize);\r\n }\r\n prev(val) {\r\n if (this.currentPage > 1) {\r\n this.currentPage--;\r\n this.LoadRhx(this.currentPage, this.pageSize);\r\n }\r\n }\r\n next(val) {\r\n if (this.currentPage != this.totalnumberofPages) {\r\n this.currentPage++;\r\n this.LoadRhx(this.currentPage, this.pageSize);\r\n }\r\n\r\n }\r\n last(val) {\r\n this.currentPage = this.totalnumberofPages;\r\n this.LoadRhx(this.currentPage, this.pageSize);\r\n }\r\n \r\n calanderclick(val) {\r\n \r\n this.calanderonoff = val;\r\n this.generateAuditlog();\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n\r\n }\r\n\r\n drpChange(val) {\r\n if (val == \"Todays History\") {\r\n this.startDateVal = (new Date().getFullYear()) + \"-\" + this.month + \"-\" + new Date().getDate();\r\n this.endDateVal = this.startDateVal;\r\n this.startDatePlaceHolder = 'Start:' + this.month + '-' + new Date().getDate() + '-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder = 'End:' + this.month + '-' + (new Date().getDate()) + '-' + new Date().getFullYear().toString();\r\n this.rhxType = 'Today';\r\n }\r\n else if (val == \"Yesterdays History\") {\r\n this.startDateVal = (new Date().getFullYear()) + \"-\" + this.month + \"-\" + (new Date().getDate() - 1);\r\n this.endDateVal = this.startDateVal;\r\n this.startDatePlaceHolder = 'Start:' + this.month + '-' + (new Date().getDate() - 1) + '-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder = 'End:' + this.month + '-' + (new Date().getDate() - 1) + '-' + new Date().getFullYear().toString();\r\n this.rhxType = 'Yesterday';\r\n }\r\n else if (val == \"Weekly History\") {\r\n var curr = new Date;\r\n var first = curr.getDate() - curr.getDay();\r\n var last = first + 6;\r\n this.rhxType = 'Weekly';\r\n this.startDateVal = new Date(curr.setDate(first)).toISOString().slice(0, 10);\r\n this.endDateVal = new Date(curr.setDate(last)).toISOString().slice(0, 10);\r\n this.startDatePlaceHolder = 'Start:' + this.month + '-' + new Date().getDate() + '-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder = 'End:' + this.month + '-' + (new Date().getDate()) + '-' + new Date().getFullYear().toString();\r\n\r\n }\r\n else if (val == \"Monthly History\") {\r\n var date = new Date();\r\n this.startDateVal = new Date(date.getFullYear(), date.getMonth(), 1).toISOString().slice(0, 10);\r\n this.endDateVal = new Date(date.getFullYear(), date.getMonth() + 1, 0).toISOString().slice(0, 10); \r\n this.rhxType = 'Monthly'; \r\n }\r\n else {\r\n this.startDateVal = (new Date().getFullYear()) + \"-01-01\";\r\n this.endDateVal = (new Date().getFullYear()) + \"-12-31\";;\r\n this.startDatePlaceHolder = 'Start:01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDatePlaceHolder = 'End:12-31-' + new Date().getFullYear().toString();\r\n this.rhxType = 'year to date';\r\n }\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize));\r\n this.durationFilter = outProps.secondDrpValue == undefined ? 'Today' : outProps.secondDrpValue;\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n this.drpChange(this.durationFilter);\r\n //if (outProps.pageSizeChanged) {\r\n this.LoadRhx(this.currentPage, this.pageSize);\r\n //}\r\n } else {\r\n this.rhxlist = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards')\r\n \r\n }\r\n}\r\n","
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      Roles\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{role.id}}\r\n {{role.itemName}}\r\n =currentuser.userrole)\" id=\"{{role.id}}Roleorder\" class=\"disableEditableButton\" style=\"border: 1px solid #A6A4A4;width:15%;\">\r\n \r\n \r\n \r\n \r\n \r\n \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 } from '@angular/core';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\ndeclare var $: any;\r\nimport { Dropdowntype} from '../../models/dropdowntype';\r\nimport { Tasklistconfiguration } from 'src/app/models/tasklistconfiguration';\r\nimport { Role } from 'src/app/models/Role';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\n@Component({\r\n selector: 'role',\r\n templateUrl: './role.component.html',\r\n styleUrls: ['./role.component.css']\r\n})\r\nexport class RoleComponent implements OnInit {\r\n rolesList: Dropdowntype[] = [];\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n roleids = [];\r\n currentuser: any;\r\n newroleid = 0;\r\n RoleTextSave: boolean = true;\r\n AddRoleButtons: boolean = true;\r\n Editing: boolean = false;\r\n tasklistconfiguration: Tasklistconfiguration = new Tasklistconfiguration();\r\n EditRoleid: number;\r\n role: Role = new Role();\r\n constructor(private userservice: UserService, private toastr: ToastrService, private customerService: CustomerService,) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.GetAllRoles();\r\n }\r\n GetAllRoles() {\r\n this.userservice.GetAllRolesList(this.currentuser.id).then((roles) => {\r\n this.rolesList = roles;\r\n });\r\n }\r\n edit(jval, tasktype) {\r\n\r\n $(setTimeout(function () {\r\n \r\n $('.disableEditable').attr('contenteditable', \"false\")\r\n $('.disableEditable').attr('style', \"border: 1px solid #A6A4A4;background-color:#f2f2f3;\")\r\n $('.disableEditableButton').attr('style', \"border: 1px solid #A6A4A4;background-color:#f2f2f3;\")\r\n\r\n $('#' + jval + 'RoleType').attr('contenteditable', \"true\")\r\n //if (jval == 0) {\r\n // $('#' + tasktype).attr('style', \"background-color:#b7e4ff;\")\r\n //}\r\n\r\n //$('.Tr').removeAttr('style');\r\n // $('.Tr').attr('style', \"background-color:yellow;\")\r\n $('#' + jval + 'RoleType').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + jval + 'Roleorder').attr('style', \"background-color:#b7e4ff;\")\r\n\r\n if (($('#' + jval + tasktype).html()).trim() == 'add item here') {\r\n $('#' + jval + tasktype).html('')\r\n }\r\n }, 200));\r\n this.Editing = true;\r\n this.EditRoleid = jval;\r\n \r\n }\r\n\r\n AddNewRole() {\r\n this.RoleTextSave = false;\r\n }\r\n SaveRole() {\r\n if (this.Editing === true) {\r\n this.role.rolename = $('#' + this.EditRoleid + 'RoleType').html().trim();\r\n this.role.id = this.EditRoleid;\r\n } else {\r\n this.role.rolename = $('#RoleTextBox').val().trim();\r\n }\r\n\r\n\r\n this.userservice.checkduplicateRoleName(this.role.rolename).then(roledata => {\r\n \r\n if (roledata == null) {\r\n this.userservice.SaveRoleName(this.role).then((roles) => {\r\n this.CancelTaskGroup();\r\n this.cancelRole();\r\n });\r\n \r\n } else {\r\n alert(\"Task Name Already Exist\");\r\n this.newroleid = 0;\r\n return false;\r\n }\r\n }); \r\n this.Editing = false;\r\n }\r\n CancelTaskGroup() {\r\n this.AddRoleButtons = true;\r\n this.RoleTextSave = true;\r\n }\r\n KeyUp() {\r\n this.AddRoleButtons = false;\r\n }\r\n EditRole() {\r\n \r\n this.roleids.forEach(id => {\r\n if (id.Type == 'todo') {\r\n var drpDwn = new Dropdowntype();\r\n drpDwn.category = \"To Do\";\r\n\r\n drpDwn.taskgroupid = $('#todotaskgroup').val();\r\n drpDwn.itemName = $('#' + id.Index + 'todoTasktype').html().replace('To Do - ', '');\r\n drpDwn.id = parseInt($('#' + id.Index + 'todoTaskID').html());\r\n if (drpDwn.itemName.toString().replace(' ', '').trim() != '') {\r\n this.rolesList.push(drpDwn);\r\n }\r\n\r\n }\r\n\r\n });\r\n if (this.roleids.length == 0) {\r\n if ((this.rolesList.filter(f => { f.id == 0 && f.itemName == $('#' + this.newroleid + 'todoTasktype').html() }).length == 0)) {\r\n var drpDwn = new Dropdowntype();\r\n drpDwn.category = \"To Do\";\r\n\r\n drpDwn.taskgroupid = $('#todotaskgroup').val();\r\n\r\n drpDwn.itemName = $('#' + this.newroleid + 'todoTasktype').html().replace('To Do - ', '');\r\n drpDwn.id = 0;\r\n if (drpDwn.itemName.toString().replace(' ', '').trim() != '') {\r\n this.rolesList.push(drpDwn);\r\n }\r\n }\r\n }\r\n this.userservice.checkduplicateRoleName(this.rolesList[0].itemName).then(roledata => {\r\n\r\n if (roledata == null) {\r\n //this.customerService.saveDropdownValue(this.tododropdowns).then(result => {\r\n // this.toastr.success(\" To Do Task List configured Successfully.\", \"Task List\");\r\n // this.newtodoid = 0;\r\n // this.totaskids = [];\r\n // this.tododropdowns = [];\r\n\r\n // this.GetAllTasksList(val, $('#todotaskgroup').val(), 0);\r\n // this.toDobuttons = true; this.toDoNew = true;\r\n // \r\n //});\r\n \r\n $('#todoTasktype').attr('style', \"background-color:#808080;color:white\");\r\n } else {\r\n alert(\"Task Name Already Exist\");\r\n this.newroleid = 0;\r\n //this.totaskids = [];\r\n //this.rol = [];\r\n return false;\r\n }\r\n }); \r\n }\r\n cancelRole() {\r\n $(setTimeout(function () { \r\n \r\n $('.disableEditable').attr('contenteditable', \"false\")\r\n $('.disableEditable').attr('style', \"border: 1px solid #A6A4A4;background-color:#f2f2f3;\")\r\n $('.disableEditableButton').attr('style', \"border: 1px solid #A6A4A4;background-color:#f2f2f3;\")\r\n\r\n $('#' + this.EditRoleid + 'RoleType').attr('contenteditable', \"true\")\r\n }, 200));\r\n this.GetAllRoles();\r\n }\r\n RoleDelete(roleName,id, status) {\r\n if (status === '1') {\r\n $('#' + id + 'todoTasktype').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + id + 'todoTasktypeorder').attr('style', \"background-color:#b7e4ff;\")\r\n \r\n this.sendMsgEvent.emit(id + \"|\" + status + \"|\" + roleName);\r\n \r\n }\r\n else {\r\n\r\n $('#' + id + 'todoTasktype').attr('style', \"background-color:#b7e4ff;\")\r\n $('#' + id + 'todoTasktypeorder').attr('style', \"background-color:#b7e4ff;\")\r\n //var that = this;\r\n //$(setTimeout(function () {\r\n let c = confirm(\"Are you sure you want to do Activate Role?\");\r\n if (c === true) {\r\n this.userservice.deleteRole(id, status).then((user) => {\r\n this.toastr.success(\"Role Activated Successfully.\", \"Role\", { timeOut: 600 });\r\n this.GetAllRoles();\r\n });\r\n }\r\n else {\r\n $('#' + id + 'todoTasktype').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n $('#' + id + 'todoTasktypeorder').attr('style', \"background-color:none;border:1px solid #A6A4A4\")\r\n }\r\n //}, 200));\r\n }\r\n }\r\n\r\n SortOrder() {\r\n var c = confirm(\"Are you sure you want to Reorder items in this Order??\");\r\n if (c == true) {\r\n var RoleIdArr = [];\r\n $.each($(\"#RolesTable tbody tr td[id$='RoleID']\"), function (k, v) {\r\n var TaskIds = $.trim($(this).html());\r\n RoleIdArr.push(TaskIds);\r\n })\r\n this.tasklistconfiguration.taskgroupid = 0;\r\n }\r\n\r\n this.tasklistconfiguration.configureduserid = this.currentuser.id;\r\n this.tasklistconfiguration.tasklistconfigurtaionorder = RoleIdArr.toString();\r\n this.tasklistconfiguration.tasktype = 'Roles';\r\n this.customerService.SaveTaskListConfiguration(this.tasklistconfiguration).then(result => {\r\n this.toastr.success('Roles' + \" Task List Re-Ordered Successfully.\", 'Roles' + \" Task List\", { timeOut: 600 });\r\n\r\n });\r\n }\r\n keyupTask(Roleid,index,val) {\r\n\r\n }\r\n}\r\n\r\n","
      \r\n
      \r\n

      \r\n Document Name\r\n\r\n

      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      Document Name
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n

      \r\n Chart Tab Description\r\n\r\n

      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      Chart Tab Description
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      Chart Tab Order
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      Chart Tab Editable
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \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 { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, Input } from '@angular/core';\nimport { GridOptions, ColumnUtils, ColumnApi, RowDragEndEvent } from \"ag-grid/main\";\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport { EditdeleteComponent } from '../../editdelete/editdelete.component';\r\nimport { Document } from '../../../models/document';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { SalesXCRMChartTabs } from '../../../models/SalesXCRMChartTabs';\r\nimport { SystemRowConfiguration } from '../../../models/system-row-configuration';\r\nimport { LeadsService } from '../../../services/leads.service';\r\ndeclare var $: any;\r\n@Component({\n selector: 'app-my-salesxcrm-configuration',\n templateUrl: './my-salesxcrm-configuration.component.html',\n styleUrls: ['./my-salesxcrm-configuration.component.css']\n})\nexport class MySalesxcrmConfigurationComponent implements OnInit {\n SalesXCRMHomePage: boolean = true;\n ShowDocumentNameDiv: boolean = true;\n ChartTabDiv: boolean = false;\n public gridOptionsDM: GridOptions;\n public ChartTabsGridOptions: GridOptions;\n public sideBar;\n public context;\n public documentscolumnDefs: any[];\n public ChartTabcolumnDefs: any[];\n currentuser: any;\n colSelections: string;\n userdocumentlist: any[] = [];\r\n Originaluserdocumentlist: any[] = [];\n datePipe: DatePipe = new DatePipe(\"en-US\");\n private gridApi;\n doc: Document = new Document();\n public frameworkComponents;\n ShowAddDocName: boolean = false;\n ShowAddChartTab: boolean = false;\n finaldocumentlist: Document[] = [];\n documentlist: Document[] = [];\n ChartTabs: SalesXCRMChartTabs[] = [];\n ChartTab = new SalesXCRMChartTabs();\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\n @Input() type: string = null;\n constructor(private opprtunityservice: OpprtunitiesService, public applicationComponent: ApplicationComponent, private customerService: CustomerService, private userservice: UserService, private toastr: ToastrService, private leadsService: LeadsService) {\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\n }\n\n ngOnInit(): void {\n this.initializeAgGrid();\n this.LoadDocNamepermission();\n }\n\n initializeAgGrid() {\n this.gridOptionsDM = {\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: false, paginationPageSize: 1000, toolPanelSuppressPivotMode: false, rowSelection: 'single',\n toolPanelSuppressValues: false, enableCellChangeFlash: true, enableMultiRowDragging: true,\n\n };\n this.sideBar = {\n toolPanels: [\n {\n id: 'columns',\n labelDefault: 'Columns',\n labelKey: 'columns',\n iconKey: 'columns',\n toolPanel: 'agColumnsToolPanel',\n }\n ],\n position: 'right',\n\n };\n let columnSelections: string;\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 56).then((config) => {\n\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\n this.colSelections = columnSelections;\n this.createColumnDefs(this.colSelections);\n\n });\n this.gridOptionsDM.defaultColDef = {\n headerComponentParams: {\n menuIcon: 'fa-bars'\n }\n }\n this.context = this;\n this.frameworkComponents = {\r\n editdeletecv: EditdeleteComponent,\r\n };\n\n }\n createColumnDefs(columnSelections: string) {\n\n let columnSelectionsArray: string[] = [];\n if (columnSelections != \"\") {\n columnSelectionsArray = columnSelections.split(',');\n this.documentscolumnDefs = [];\n for (let i = 0; i < columnSelectionsArray.length; i++) {\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\n if (fieldHeaderVisibleWidthArray[0] === \"#\") {\n this.documentscolumnDefs.push({\n field: '#',\n headerName: '#',\n width: 52,\n checkboxSelection: true,\n suppressSorting: true,\n suppressMenu: true,\n pinned: true,\n hide: false,\n outerWidth: 8,\n headerCheckboxSelection: true,\n headerCheckboxSelectionFilteredOnly: true, rowDrag:true\n });\n }\n else if (fieldHeaderVisibleWidthArray[0] === \"PermissionlevelName\") {\n this.documentscolumnDefs.push({ field: 'PermissionlevelName', headerName: 'PermissionlevelName', hide: true});\n } else if (fieldHeaderVisibleWidthArray[0] === \"actions\") {\n this.documentscolumnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: fieldHeaderVisibleWidthArray[2] === \"true\" ? false : true, pinned: 'right', width: parseInt(fieldHeaderVisibleWidthArray[3]) });\n }\n else {\n this.documentscolumnDefs.push({\n field: fieldHeaderVisibleWidthArray[0],\n headerName: fieldHeaderVisibleWidthArray[1],\n hide: fieldHeaderVisibleWidthArray[2] === \"true\" ? false : true,\n width: parseInt(fieldHeaderVisibleWidthArray[3])\n });\n }\n\n\n }\n } else {\n let selfObj = this;\n this.documentscolumnDefs = [\n\n {\n field: '#',\n headerName: '#',\n width: 70,\n checkboxSelection: true,\n suppressSorting: true,\n suppressMenu: true,\n pinned: true,\n hide: false,\n outerWidth: 8,\n headerCheckboxSelection: true,\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true\n },\n { field: 'DateUploaded', headerName: 'Date Created', hide: false },\n { field: 'documentname', headerName: 'Document Name', hide: false},\n { field: 'UploadedBy', headerName: 'Saved By', hide: false },\n { field: 'documentdescription', headerName: 'Description' },\n { field: 'Size', headerName: 'Size' },\n { field: 'docsavedTo', headerName: 'Document Saved To' },\n {\n field: 'doctab', headerName: 'Document Tab', cellEditor: \"agRichSelectCellEditor\", editable: true, cellRenderer(params) {\n return params.data.doctab;\n },\n cellEditorParams: {\n cellHeight: 25,\n values: [\"Expense Report\", \"Sales Report\", \"Company Documents\", \"Performance Reviews\", \"Miscellaneous\"],\n formatValue: function (value) {\n }\n },\n\n },\n { field: 'documentdescription', headerName: 'Document Description'},\n { field: 'DeActivatedUser', headerName: 'DeActivated By'},\n { field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', pinned: 'right', width: 80 },\n \n ];\n }\n }\n\n LoadDocNamepermission() {\n this.customerService.GetAllDocNamePermissionListforConfig(\"MySalesXCRM\", this.currentuser.id).then((document) => {\r\n document.forEach(document => {\r\n document.DateUploaded = this.datePipe.transform(document.DateUploaded, \"MM-dd-yyyy\");\r\n });\r\n this.userdocumentlist = document;\r\n this.Originaluserdocumentlist = document;\r\n });\r\n }\n\n onAgGridReady(event) {\r\n this.gridApi = event.api;\r\n }\n SalesXCRMLoad(val) {\n if (val == 'Document Name') {\r\n this.SalesXCRMHomePage = false;\r\n this.ShowDocumentNameDiv = true;\r\n this.ChartTabDiv = false;\r\n this.initializeAgGrid();\r\n this.LoadDocNamepermission();\r\n } else if (val == 'Chart Tab') {\r\n this.SalesXCRMHomePage = false;\r\n this.ShowDocumentNameDiv = false;\r\n this.ChartTabDiv = true;\r\n this.initializeChartTabGrid();\r\n }\r\n }\n CancelDocuments() {\n\r\n }\n SaveDocuments() {\n this.finaldocumentlist = [];\n this.documentlist.forEach(document => {\r\n \r\n\r\n let newdoc = new Document();\r\n newdoc.id = document.id;\r\n newdoc.documentname = document.documentname;\r\n newdoc.uploadedby = this.currentuser.id;\r\n newdoc.uploadedfilename = document.uploadedfilename;\r\n newdoc.Size = document.Size;\r\n newdoc.documenttype = document.documenttype;\r\n newdoc.documentdescription = document.documentdescription;\r\n newdoc.permissionlevel = null;\r\n newdoc.doctype = 'MySalesXCRM';\r\n newdoc.imagecontent = document.imagecontent;\r\n newdoc.extension = document.extension;\r\n newdoc.accountid = this.currentuser.id;\r\n newdoc.type = 'MySalesXCRM';;\r\n \r\n this.finaldocumentlist.push(newdoc);\r\n\r\n });\r\n if (this.finaldocumentlist.length > 0) {\r\n this.userservice.addDocumentNamePermission(this.finaldocumentlist).then(result => {\r\n this.toastr.success(\"Document names with permissions saved successfully.\", \"Document\", { timeOut: 600 });\r\n this.LoadDocNamepermission();\r\n this.documentlist = [];\r\n });\r\n }\r\n }\n\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n }\n\n addFiles(event) {\r\n this.addCharge();\r\n }\n\n addCharge() {\r\n this.documentlist = [];\r\n let newdoc = new Document();\r\n newdoc.documentname = \"\";\r\n newdoc.permissionlevel = 0;\r\n newdoc.uploadedfilename = \"\";\r\n newdoc.Size = \"\";\r\n newdoc.documenttype = \"\";\r\n newdoc.imagecontent = \"\";\r\n newdoc.extension = \"\";\r\n newdoc.documentdescription = \"\";\r\n newdoc.accountid = 0;\r\n newdoc.type = \"\";\r\n this.documentlist.push(newdoc);\r\n }\n\n editRowAg(rowdata) {\n this.documentlist.push(rowdata);\n this.ShowAddDocName = true;\n }\n\n onSelectionChanged(event) {\r\n\r\n var rowCount = event.api.getSelectedNodes();\r\n this.documentlist = [];\r\n rowCount.forEach(ele => {\r\n let newdoc = new Document();\r\n newdoc.id = ele.data.id;\r\n newdoc.documentname = ele.data.documentname;\r\n newdoc.permissionlevel = ele.data.permissionlevel;\r\n newdoc.uploadedfilename = ele.data.uploadedfilename;\r\n newdoc.Size = ele.data.Size;\r\n newdoc.documenttype = ele.data.documenttype;\r\n newdoc.imagecontent = ele.data.imagecontent;\r\n newdoc.extension = ele.data.extension;\r\n newdoc.documentdescription = '';\r\n newdoc.accountid = 0;\r\n newdoc.type = ele.data.type;\r\n this.documentlist.push(newdoc);\r\n this.ShowAddDocName = true;\r\n });\r\n\r\n }\n\n deleteRowAg(rowdata) {\n rowdata.isdeleted = 1;\n this.documentlist.push(rowdata);\r\n this.SaveDocuments();\r\n }\n closeDiv(val) {\n if (val == 'ShowDocumentNameDiv') {\r\n this.SalesXCRMHomePage = true;\r\n this.ShowDocumentNameDiv = false;\r\n this.ChartTabDiv = false;\r\n } else if (val == 'ChartTabDiv') {\r\n this.SalesXCRMHomePage = true;\r\n this.ShowDocumentNameDiv = false;\r\n this.ChartTabDiv = false;\r\n }\r\n }\n\n LoadChartTabs() {\n this.customerService.GetMySalesXCRMChartTabs(this.currentuser.id).then((ChartTabs) => {\r\n \r\n this.ChartTabs = ChartTabs;\r\n });\n\n }\n\n initializeChartTabGrid() {\n this.ChartTabsGridOptions = {\n //pagination: false, enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: false, toolPanelSuppressPivotMode: false, rowSelection: 'single',\n //toolPanelSuppressValues: false, enableCellChangeFlash: true, enableMultiRowDragging: true,\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true,\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true,\n };\n this.sideBar = {\n toolPanels: [\n {\n id: 'columns',\n labelDefault: 'Columns',\n labelKey: 'columns',\n iconKey: 'columns',\n toolPanel: 'agColumnsToolPanel',\n }\n ],\n position: 'right',\n\n };\n this.createChartTabColumnDefs(\"\");\n this.LoadChartTabs();\n this.ChartTabsGridOptions.defaultColDef = {\n headerComponentParams: {\n menuIcon: 'fa-bars'\n }\n }\n this.context = this;\n this.frameworkComponents = {\r\n editdeletecv: EditdeleteComponent,\r\n };\n\n }\n createChartTabColumnDefs(columnSelections: string) {\n let selfObj = this;\n\n this.ChartTabcolumnDefs = [\n\n {\n field: '#',\n headerName: '#',\n width: 70,\n checkboxSelection: true,\n suppressSorting: true,\n suppressMenu: true,\n pinned: true,\n hide: false,\n outerWidth: 8,\n headerCheckboxSelection: true,\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true\n },\n {\r\n field: 'ChartTabId', headerName: 'Id', hide: false, width:80\n },\n { field: 'ChartTabOrder', headerName: 'Sort Order', hide: false, width: 80 },\n { field: 'ChartTabDescription', headerName: 'ChartTab Description', hide: false },\n {\r\n field: 'Editable', headerName: 'Editable', hide: false, cellRenderer(params) {\r\n if (params.data.Editable == 1) {\r\n return \"Yes\";\r\n }\r\n else {\r\n return \"No\";\r\n }\r\n } },\n \n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteChartTag(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\n ];\n }\n\n SaveChartTab() {\n\n this.ChartTab.isdeleted = 0;\r\n this.customerService.AddEditChartTab(this.ChartTab).then((ChartTabs) => {\r\n this.ChartTab = new SalesXCRMChartTabs();\r\n this.ShowAddChartTab = false;\r\n this.LoadChartTabs();\r\n });\r\n }\n onChargeTabSelectionChanged(event) {\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.ChartTab = event.api.getSelectedNodes()[0].data;\r\n this.ShowAddChartTab = true;\r\n }\r\n }\r\n }\n\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"ChartTabs\");\r\n }\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == 'ChartTabs') {\r\n this.ChartTabsGridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.ChartTabId);\r\n });\r\n } else {\r\n this.gridOptionsDM.api.forEachNode((node) => {\r\n sortoorder.push(node.data.id);\r\n });\r\n }\r\n \r\n \r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentuser.id;\r\n \r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n });\r\n\r\n }\n\n deleteChartTag(data) {\n this.ChartTab = data;\r\n this.ChartTab.isdeleted = 1;\r\n \r\n this.customerService.AddEditChartTab(this.ChartTab).then((ChartTabs) => {\r\n this.ChartTab = new SalesXCRMChartTabs();\r\n this.ShowAddChartTab = false;\r\n this.LoadChartTabs();\r\n });\r\n }\n\n printSortStateToConsole(event) {\n \n const sortState = this.gridApi.getSortModel();\r\n if (sortState.length == 0) {\r\n } else {\r\n \r\n for (var i = 0; i < sortState.length; i++) {\r\n const item = sortState[i];\r\n var sortoorder = [];\r\n this.ChartTabsGridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data);\r\n });\r\n\r\n if (item.sort == 'asc') {\r\n sortoorder = sortoorder.sort(function (a, b) { return a.ChartTabOrder - b.ChartTabOrder });\r\n\r\n } else {\r\n sortoorder = sortoorder.sort(function (a, b) { return a.ChartTabOrder + b.ChartTabOrder });\r\n }\r\n let IDs= sortoorder.map(s => s.ChartTabId);\r\n\r\n this.rowconfig.SortOrder = IDs.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = \"ChartTabs\";\r\n this.rowconfig.userid = this.currentuser.id;\r\n \r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n });\r\n \r\n }\r\n }\n \r\n }\n onRowDragEndDocumentName(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"DocumentName\");\r\n }\n}\n","
      \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n User Name:\r\n
      \r\n
      \r\n {{user.username}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n My SalesXCRM (P-Level) :\r\n
      \r\n
      \r\n E8\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n User Status :\r\n
      \r\n
      \r\n {{user.UserStatus}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n User Access To:\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n 0\" src=\"../../assets/img/open document.png\" style=\"height:22px;\" />\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n 0\" class=\"fa fa-arrow-left \" aria-hidden=\"true\" id=\"previous\" (click)=\"previousdocument()\">\r\n
      \r\n
      \r\n
      \r\n documentindex) && (userdocumentcount != (documentindex + 1) )\" class=\"fa fa-arrow-right \" aria-hidden=\"true\" id=\"next\" (click)=\"nextdocument()\">\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n\r\n\r\n
      \r\n \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n \r\n \r\n \r\n \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n Access Denied
      \r\n
      \r\n Higher Level of Permission Required
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n","import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { UserService } from '../../services/user.service';\r\nimport { Users } from '../../models/users';\r\nimport { DocumentmanagementComponent } from '../documentmanagement/documentmanagement.component';\r\nimport { UploadDocumentComponent } from '../upload-document/upload-document.component';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment'\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { GridOptions, RowDragEndEvent } from 'ag-grid';\r\nimport { UserMessages } from 'src/app/models/UserMessages';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MessagingService } from 'src/app/services/messaging.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { SalesXCRMChartTabs } from '../../models/SalesXCRMChartTabs';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-sales-xcrm',\r\n templateUrl: './sales-xcrm.component.html',\r\n styleUrls: ['./sales-xcrm.component.css']\r\n})\r\nexport class SalesXcrmComponent implements OnInit {\r\n currentuser: any;\r\n user: Users = new Users();\r\n public years: number[] = [];\r\n public yy: number;\r\n uploadDocumentShow = false;\r\n calanderonoff: boolean = false;\r\n showDetailsDialog: boolean = false;\r\n selectedMenuRadio: string = \"notab\";\r\n selectedMenunumber: number;\r\n documentcount: number = 0;\r\n docstatus: string = \"New\";\r\n documentview: boolean = false;\r\n isdeletedDocuments: boolean = false;\r\n ExpandView: boolean = false;\r\n selectedReportType: number = 1000;\r\n finalitems = \"\";\r\n selectedItems = [];\r\n selectedItemslength: number;\r\n pageSize: string = \"1000\";\r\n dropdownList = [];\r\n documentindex: number = 0;\r\n userdocumentcount: number = 0;\r\n userdocumentlist: any[] = [];\r\n currentPage: number = 1;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n @ViewChild(DocumentmanagementComponent) docMgmtComp;\r\n @ViewChild(UploadDocumentComponent) uploadDocComp: UploadDocumentComponent;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n currentYear = new Date().getFullYear();\r\n public gridOptionsUserMessages: GridOptions;\r\n public sideBar;\r\n public columnDefsMessage: any[];\r\n contactStatus: any;\r\n DeleteMessagePopup: boolean = false;\r\n deleteRowDataMessage: any;\r\n rolesList: Dropdowntype[] = [];\r\n allMessages: UserMessages[];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n userMessages: UserMessages = new UserMessages();\r\n DocViewAccessDenied: boolean = false;\r\n ChartTabs: SalesXCRMChartTabs[] = [];\r\n private gridApi;\r\n constructor(private messageService: MessagingService, public applicationComponent: ApplicationComponent, private customerService: CustomerService, private userservice: UserService, private opprtunityservice: OpprtunitiesService, private toastr: ToastrService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.selectedMenuRadio = \"CRMtab11000\";\r\n \r\n this.loadUserdata();\r\n this.getYear(); this.applicationComponent.SearchSelectedItems = []; \r\n this.LoadChartTabs();\r\n this.GetAllaccesusersListbyuser();\r\n \r\n if (this.applicationComponent.selectedusers != '' || this.applicationComponent.selectedusers != null) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n })\r\n }\r\n else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n \r\n }\r\n \r\n \r\n }\r\n\r\n ngAfterViewInit() {\r\n \r\n let self = this;\r\n setTimeout(function () {\r\n $('.TablabelClass').attr('style', 'text-align:center;color:black;width:50%;height:49px;background-color:white')\r\n $('#CRMtabLabel1000').attr('style', 'text-align:center;color:black;width:50%;height:49px;background-color:#badb98')\r\n $('#CRMtab1000').attr('style', 'border: none !important; color: transparent; background: transparent;')\r\n\r\n self.ReportChanged(1000);\r\n }, 300);\r\n \r\n }\r\n initializeAgGridUserMessages() {\r\n \r\n this.gridOptionsUserMessages = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 37).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefsMessages(columnSelections);\r\n });\r\n\r\n }\r\n createColumnDefsMessages(columnSelections: string) {\r\n let selfObj = this;\r\n this.columnDefsMessage = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n {\r\n field: 'userMessageID', headerName: 'Message ID', hide: true, width: 120 \r\n },\r\n {\r\n field: 'readuserCount', headerName: 'readuserCount', hide: true, width: 120\r\n },\r\n {\r\n field: 'DisplayDate', headerName: 'Date', hide: false, width: 120, cellStyle: function (params) { \r\n if (params.data.readuserCount == '0') { return { color: '#FF0000'}; }\r\n } },\r\n {\r\n field: 'DisplayDate', headerName: ' Date Viewed ', hide: false, cellStyle: function (params) {\r\n if (params.data.readuserCount == '0') { return { color: '#FF0000' }; }\r\n } },\r\n {\r\n field: 'MessageName', headerName: 'Subject', hide: false, width: 120, cellStyle: function (params) {\r\n if (params.data.readuserCount == '0') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'MessageType', headerName: 'Message Type', width: 300, cellStyle: function (params) {\r\n if (params.data.readuserCount == '0') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteUserMessage(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n \r\n }\r\n deleteUserMessage(UserMessages) {\r\n this.deleteRowDataMessage = UserMessages;\r\n this.contactStatus = UserMessages.deletedStatus;\r\n this.DeleteMessagePopup = true;\r\n setTimeout(function () {\r\n $('#DeleteMessagePopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n\r\n ReceiveDeleteeventForMessage(msg) {\r\n if (msg == \"Ok\") {\r\n this.userMessages = this.deleteRowDataMessage;\r\n this.userMessages.deletedStatus = 1;\r\n this.AddorUpdateUserMessages(this.userMessages);\r\n }\r\n this.DeleteMessagePopup = false;\r\n\r\n }\r\n AddorUpdateUserMessages(userMessages) {\r\n \r\n this.messageService.AddorUpdateUserMessages(userMessages).then((res) => {\r\n this.toastr.success(\"Message Deleted successfully.\", \"Message Delete\", { timeOut: 600 });\r\n this.GetAllUserMessages(); \r\n });\r\n }\r\n\r\n GetAllaccesusersListbyuser() {\r\n \r\n \r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n\r\n loadPendingDocuments() {\r\n this.customerService.GetAllPendingDocuments(0, 'MySalesXCRM', 2019).then((document) => {\r\n this.documentcount = document.length;\r\n });\r\n\r\n }\r\n previousdocument() {\r\n\r\n this.documentindex--;\r\n if (this.userdocumentlist[this.documentindex].permissionlevel <= this.currentuser.permissionlevelid) {\r\n\r\n this.getImageData(this.userdocumentlist[this.documentindex].id);\r\n } else {\r\n this.documentindex++;\r\n this.DocViewAccessDeniedCss();\r\n }\r\n\r\n //this.documentindex--;\r\n //this.getImageData(this.userdocumentlist[this.documentindex].id);\r\n }\r\n nextdocument() {\r\n //this.documentindex++;\r\n //this.getImageData(this.userdocumentlist[this.documentindex].id);\r\n\r\n this.documentindex++;\r\n if (this.userdocumentlist[this.documentindex].permissionlevel <= this.currentuser.permissionlevelid) {\r\n\r\n this.getImageData(this.userdocumentlist[this.documentindex]);\r\n } else {\r\n this.documentindex--;\r\n this.DocViewAccessDeniedCss();\r\n }\r\n }\r\n DocViewAccessDeniedCss() {\r\n this.DocViewAccessDenied = true;\r\n setTimeout(function () {\r\n $('#DocViewAccessDenied .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n loadUserdata() {\r\n this.userservice.GetUserByuserId(this.currentuser.id).then(result => {\r\n this.user = result;\r\n this.user.selectedItems = this.sortByKey(this.user.selectedItems, 'category');\r\n this.selectedItemslength = this.user.selectedItems.length;\r\n if (this.user.EmailSetUp == \"SendGrid\") {\r\n this.user.isSendGrid = true;\r\n this.user.isSMTP = false;\r\n } else {\r\n this.user.isSendGrid = false;\r\n this.user.isSMTP = true;\r\n }\r\n \r\n if (this.user.customertypeaccess == 0)\r\n this.user.ConvertCustomer = \"No\";\r\n else\r\n this.user.ConvertCustomer = \"Yes\";\r\n });\r\n }\r\n\r\n sortByKey(array, key) {\r\n return array.sort(function (a, b) {\r\n var x = a[key];\r\n var y = b[key];\r\n return ((x < y) ? -1 : ((x > y) ? 1 : 0));\r\n });\r\n }\r\n getYear() {\r\n var today = new Date();\r\n this.yy = today.getFullYear();\r\n for (var i = (this.yy - 100); i <= this.yy; i++) {\r\n this.years.push(i);\r\n }\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 58).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n \r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString();\r\n \r\n });\r\n }\r\n SelectedYear(year) {\r\n // this.docMgmtComp.loaddocuments('SalesXUsers', year, this.selectedReportType);\r\n }\r\n GetAllUserMessages() {\r\n this.messageService.GetAllUserMessages(this.currentuser.id).then((res) => {\r\n this.allMessages = res;\r\n this.allMessages.forEach(ele => {\r\n ele.DisplayDate = this.datePipe.transform(ele.DisplayDate, \"MM-dd-yyyy\");\r\n if (ele.MessageToUsers != null) {\r\n ele.MessageToUserCount = ele.MessageToUsers.split(',').length;\r\n }\r\n if (ele.readusers != null) {\r\n ele.readuserCount = ele.readusers.split(',').length;\r\n }\r\n else {\r\n ele.readuserCount = 0;\r\n }\r\n ele.RemainingCount = ele.MessageToUserCount - ele.readuserCount;\r\n });\r\n });\r\n }\r\n ReportChanged(reporttype) {\r\n this.documentview = false;\r\n $(setTimeout(function () {\r\n $('.TablabelClass').attr('style', 'text-align:center;color:black;width:50%;height:49px;background-color:white')\r\n $('#CRMtabLabel' + reporttype).attr('style', 'text-align:center;color:black;width:50%;height:49px;background-color:#badb98')\r\n $('#CRMtab' + reporttype).attr('style', 'border: none !important; color: transparent; background: transparent;')\r\n }, 300))\r\n \r\n var obj: AuditLogModel = { id: 0, type: 'My SalesXCRM', action: 'My SalesXCRM Viewed', AccountOrContactId: 0, AccountOrContact: \"\", documentid: reporttype, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Proposal Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n if (this.uploadDocumentShow == true) {\r\n this.selectedMenunumber = reporttype;\r\n this.uploadDocumentShow = true\r\n if (reporttype) {\r\n this.selectedMenunumber = reporttype;\r\n this.uploadDocComp.TabChange(reporttype);\r\n }\r\n else {\r\n this.uploadDocComp.TabChange(1000);\r\n this.selectedMenunumber = 1000;\r\n }\r\n }\r\n else {\r\n this.uploadDocumentShow = false;\r\n this.selectedReportType = reporttype;\r\n let selfobj = this;\r\n if (reporttype != 1016) {\r\n $(setTimeout(function () {\r\n selfobj.docMgmtComp.loaddocuments('SalesXUsers', selfobj.currentYear, selfobj.selectedReportType, $(\"#userids\").val(), (selfobj.calanderonoff) ? selfobj.startDateVal : '2018-01-01', selfobj.endDateVal);\r\n selfobj.customerService.GetAllDocumentList(selfobj.currentuser.id, \"MySalesXCRM\", 2020, selfobj.selectedReportType.toString(), selfobj.startDateVal, selfobj.endDateVal).then((userdocument) => {\r\n selfobj.userdocumentlist = userdocument;\r\n });\r\n\r\n }, 200));\r\n } else {\r\n selfobj.initializeAgGridUserMessages();\r\n selfobj.GetAllUserMessages();\r\n }\r\n }\r\n\r\n if (reporttype != 1016) {\r\n this.selectedMenunumber = reporttype;\r\n if (this.uploadDocumentShow == true) {\r\n this.uploadDocComp.TabChange(reporttype);\r\n }\r\n \r\n }\r\n else {\r\n if (this.uploadDocumentShow == true) { \r\n this.uploadDocComp.TabChange(reporttype);\r\n }\r\n this.selectedMenunumber = 1000;\r\n }\r\n \r\n }\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n this.docMgmtComp.saveConfiguration(this.pageSize,this.startDateVal, this.endDateVal) \r\n \r\n }\r\n txtPageSizeChanged(pageSize) {\r\n this.currentPage = 1;\r\n this.pageSize = pageSize;\r\n this.docMgmtComp.saveConfiguration(this.pageSize, this.startDateVal, this.endDateVal);\r\n }\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n onOpenUploadDocument(msg) {\r\n debugger;\r\n var isnum = /^\\d+$/.test(msg);\r\n if (isnum) {\r\n this.userdocumentcount = msg;\r\n }\r\n else if (msg == \"UploadDocument\")\r\n {\r\n this.uploadDocumentShow = true;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.uploadDocComp.OpenFilemanual(objSelf.docstatus);\r\n objSelf.documentcount = 0;\r\n }, 100));\r\n\r\n }\r\n else if (msg == \"EditDocumentFalse\") {\r\n\r\n }\r\n else if (msg.startsWith(\"TabChange\")) {\r\n this.uploadDocumentShow = true;\r\n }\r\n else {\r\n this.documentview = true;\r\n this.onDocumentOpen(msg);\r\n\r\n this.customerService.GetAllDocumentList(this.currentuser.id, \"MySalesXCRM\", 2020, this.selectedReportType.toString(), this.startDateVal, this.endDateVal).then((userdocument) => { \r\n this.userdocumentlist = userdocument;\r\n });\r\n }\r\n\r\n }\r\n\r\n onDocumentOpen(myBaseString) {\r\n \r\n var viewtype = \"crm\";\r\n $('#pdfDiv').html('')\r\n $('#pdfDiv').attr('style', 'height: 395%;padding-left: 0;padding-right: 0%;border-top: 5px solid #f4f4f4;border-right: 5px solid #f4f4f4;border-bottom: 5px solid #f4f4f4;background-color: white;');\r\n }\r\n SavedDocuments(msg) {\r\n switch (msg) {\r\n case '1000':\r\n this.selectedMenuRadio = \"CRMtab\" + this.selectedReportType;\r\n this.uploadDocumentShow = true;\r\n break;\r\n case '1005':\r\n this.selectedMenuRadio = \"CRMtab\" + this.selectedReportType;\r\n this.uploadDocumentShow = true;\r\n break;\r\n case '1004':\r\n this.selectedMenuRadio = \"CRMtab\" + this.selectedReportType;\r\n this.uploadDocumentShow = true;\r\n break;\r\n case '1009':\r\n this.selectedMenuRadio = \"CRMtab\" + this.selectedReportType;\r\n this.uploadDocumentShow = true;\r\n break;\r\n case '1013':\r\n this.selectedMenuRadio = \"CRMtab\" + this.selectedReportType;\r\n this.uploadDocumentShow = true;\r\n break;\r\n case '1012':\r\n this.selectedMenuRadio = \"CRMtab\" + this.selectedReportType;\r\n this.uploadDocumentShow = true;\r\n break;\r\n case '1008':\r\n this.selectedMenuRadio = \"CRMtab\" + this.selectedReportType;\r\n this.uploadDocumentShow = true;\r\n break;\r\n case '1016':\r\n this.selectedMenuRadio = \"CRMtab\" + this.selectedReportType;\r\n this.uploadDocumentShow = true;\r\n break;\r\n default:\r\n this.selectedMenuRadio = \"CRMtab\" + this.selectedReportType;\r\n this.uploadDocumentShow = false;\r\n this.selectedMenunumber = 0;\r\n this.loadPendingDocuments();\r\n this.ReportChanged(this.selectedReportType);\r\n }\r\n }\r\n onItemSelect(item: any) {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n // this.Generate($(\"#userids\").val());\r\n } else {\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n //this.Generate($(\"#userids\").val());\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n $(\"#userids\").val('');\r\n }\r\n Expandimage() {\r\n if (document.getElementById('pdfDiv').className == 'col-xs-12') {\r\n document.getElementById('window').style.display = 'block';\r\n document.getElementById('pdfDiv').className = 'col-xs-6';\r\n $('#documentview').removeClass('col-xs-12');\r\n $('#documentview').addClass('col-xs-6');\r\n this.ExpandView = false;\r\n } else {\r\n document.getElementById('window').style.display = 'none';\r\n document.getElementById('pdfDiv').className = 'col-xs-12';\r\n $('#documentview').removeClass('col-xs-6');\r\n $('#documentview').addClass('col-xs-12');\r\n this.ExpandView = true;\r\n } \r\n }\r\n onUserMessageSelection(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.userMessages = event.api.getSelectedRows()[0];\r\n this.userMessages.DisplayDate = (this.datePipe.transform(this.userMessages.DisplayDate, \"yyyy-MM-dd\"));\r\n if (this.userMessages.readuserCount == 0) {\r\n this.applicationComponent.onWizzardClosed(this.userMessages);\r\n this.GetAllUserMessages();\r\n this.applicationComponent.GetUserMessagesByUserId();\r\n }\r\n this.documentview = true;\r\n }\r\n }\r\n else {\r\n this.documentview = false;\r\n }\r\n \r\n }\r\n //closeDetailsDialog() {\r\n // this.showDetailsDialog = false;\r\n //}\r\n AddDocuments(val)\r\n {\r\n \r\n this.docstatus = val;\r\n if (this.uploadDocumentShow) {\r\n this.documentcount = 0;\r\n this.uploadDocComp.OpenFilemanual(this.docstatus);\r\n } else {\r\n this.docMgmtComp.uploadFiles();\r\n }\r\n }\r\n calanderclick(val) {\r\n this.calanderonoff = val;\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal);\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n\r\n }\r\n closeEmbed() {\r\n this.documentview = false;\r\n this.uploadDocumentShow = false\r\n document.getElementById('window').style.display = 'block';\r\n //this.documentview = !this.documentview;\r\n document.getElementById('pdfDiv').style.display = 'none';\r\n\r\n }\r\n\r\n getImageData(documentid) {\r\n var myBaseString = \"\";\r\n this.userservice.GetImageData(documentid).then(result => {\r\n myBaseString = result;\r\n let objSelf = this;\r\n $(setTimeout(function () { \r\n $('#buttonDiv').attr('style', 'display:block;height:100%');\r\n }, 100));\r\n\r\n $('.bodyContaint').css('height', '1000px')\r\n $('#pdfDiv1').css('display', 'block');\r\n this.onDocumentOpen(myBaseString);\r\n });\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n if (!outProps.pageSizeChanged) {\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? outProps.startDateVal : '2018-01-01', (this.calanderonoff) ? outProps.endDateVal : this.endDateVal, this.pageSize);\r\n } else {\r\n this.docMgmtComp.pageSizeChanged(this.pageSize);\r\n }\r\n } else {\r\n $(\"#userids\").val('');\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? outProps.startDateVal : '2018-01-01', (this.calanderonoff) ? outProps.endDateVal : this.endDateVal, this.pageSize);\r\n }\r\n \r\n }\r\n loadDeletedDocuments() {\r\n \r\n if (!this.isdeletedDocuments) {\r\n this.docMgmtComp.loadDeleteddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, this.pageSize);\r\n } else {\r\n this.docMgmtComp.loaddocuments('SalesXUsers', this.currentYear, this.selectedReportType, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, this.pageSize);\r\n }\r\n }\r\n\r\n close() {\r\n this.sendMsgEvent.emit(\"My Documents\");\r\n \r\n }\r\n\r\n\r\n LoadChartTabs() {\r\n this.customerService.GetMySalesXCRMChartTabs(this.currentuser.id).then((ChartTabs) => { \r\n this.ChartTabs = ChartTabs;\r\n \r\n });\r\n\r\n }\r\n}\r\n","
      \r\n\r\n \r\n \r\n\r\n
      \r\n
      \r\n Accounts\r\n Contacts
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n \r\n

      Opportunity Audit Trial

      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n City
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n State
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Zip
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Phone
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Fax
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n \"\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n
      #Source DataLocation of DataImport Data To SalesXCRM
      {{i+1}}{{tool}}Column {{alphabets[i]}}\r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \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, ViewContainerRef } from '@angular/core';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment'\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { AccountsService } from './../../services/accounts.service';\r\nimport { AdvancedsearchService } from './../../services/advancedsearch.service';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport { UserService } from '../../services/user.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { EditdeleteComponent } from '../editdelete/editdelete.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Notes } from '../../models/notes';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Customers } from '../../models/customers';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Auditlog } from '../../models/auditlog';\r\nimport { Accountlocations, Hero } from '../../models/data-model';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport * as XLSX from 'ts-xlsx';\r\nimport { ColumnNames } from './../../models/column-names';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\ndeclare var ActiveXObject: (type: string) => void;\r\nexport enum Table { Contact, Account, Practice }\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n@Component({\r\n selector: 'app-salestool',\r\n templateUrl: './salestool.component.html',\r\n styleUrls: ['./salestool.component.css']\r\n})\r\nexport class SalestoolComponent implements OnInit {\r\n dropdownList = [];\r\n alphabets = [];\r\n currentuser: any;\r\n ExcelgridApi: any;\r\n dropdownSetting = {};\r\n FinalContacts: Contacts[] = [];\r\n FinalAccounts: Accounts[] = [];\r\n salestooltype: string;\r\n accountShow: boolean = false;\r\n contactShow: boolean = false;\r\n rowData = [];\r\n accountColumns: Array = new Array();\r\n contactColumns: Array = new Array();\r\n fieldsSelectorSearchFilter = \"\";\r\n TblDropDown =[];\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()-1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear()-1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n public sideBar;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n active_deactiveStatus: number; NotesDec = false;\r\n finalitems = \"\";\r\n arrayBuffer: any;\r\n selectedItems = [];\r\n colValues = [];\r\n Allopportunities: Opportunities[];\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n pageSize: string = \"\";\r\n public context;\r\n public frameworkComponents;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n aggridheight: string;\r\n Ids = [];\r\n isModal: boolean = true;\r\n public ExcelgridOptions: GridOptions;\r\n public columnDefsExcel: any[];\r\n editNoteId: boolean = false;\r\n timezonevalue: string;\r\n showEditNoteBtn: boolean = false;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n allnotes: Notes[];\r\n contactid: number;\r\n rowsFound: number;\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n customer: Customers = new Customers();\r\n showDialog = false;\r\n conid: number;\r\n file: File;\r\n addresses: Accountlocations[];\r\n typ: string;\r\n public components;\r\n expanded = false;\r\n \r\n Contact: string; ContactTaskHistory: string; ContactLead: string; AllContactsNotes: string; typeSelected: string;\r\n OpportunityHistoryDialog: boolean = false;\r\n public gridopportunityOptions: GridOptions;\r\n public opportunitycolumnDefs: any[];\r\n opportunityauditloglist: Array = [];\r\n SalestoolList: Dropdowntype[] = [];\r\n OppAproved = false;\r\n constructor(public applicationComponent: ApplicationComponent, private customerService: CustomerService, private AdvancedsearchServices: AdvancedsearchService, private accountsService: AccountsService, private opprtunityservice: OpprtunitiesService, private toastr: ToastrService, private viewContainerRef: ViewContainerRef, private router: Router, private users: UserService, private route: ActivatedRoute)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n }\r\n\r\n //over() {\r\n // //var doc = document.getElementById(userprevilage);\r\n\r\n // Dashboardtype\r\n //}\r\n ngAfterViewInit(): void {\r\n var thisComponent = this;\r\n setTimeout(function () { thisComponent.ResizeTable(); }, 10);\r\n //$('#userprevilage').attr('style', 'background:blue');\r\n }\r\n ResizeTable() {\r\n this.aggridheight = (((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height()))) - 110) + 'px';\r\n }\r\n ngOnInit() {\r\n $('.fr-counter').attr('style', 'display:none;')\r\n this.applicationComponent.SearchSelectedItems = [];\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1,0,0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownList = Owner;\r\n \r\n });\r\n this.route.params.subscribe(params => {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n \r\n selfObj.SelectedItem(params['subMenuId']);\r\n }, 100));\r\n });\r\n \r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n }); \r\n }\r\n else {\r\n \r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n }\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 2\r\n };\r\n $(\".mainCheckMark\").removeClass(\"activeColor\");\r\n $(\".coustomButton\").removeClass(\"mainactiveButton\");\r\n $(\"#saletool_span\").addClass(\"activeColor\");\r\n $(\"#saletool\").addClass(\"mainactiveButton\");\r\n this.initializeAgGrid();\r\n //this.customerService.GetSpecialityList(\"SalesTools\", this.currentuser.id).then((accounttype) => {\r\n // accounttype.forEach(accounttype => {\r\n // });\r\n // this.SalestoolList = accounttype;\r\n //});\r\n //if (this.currentuser.dealapprovalid == 453) { \r\n // this.ClosedOpportunity(\"Closed-Won\", $(\"#userids\").val());\r\n //} else {\r\n // alert(\"This user Deal Approval is set to “No – Deal Approval Permission”, Please change the User set up to Yes – Deal Approval Permission if you want to add a Deal Approval for the User\");\r\n //}\r\n //document.getElementById('importDataDiv').style.display = \"none\";\r\n document.getElementById('WizardBodyGrid').style.display = \"none\";\r\n this.SelectedItem('Import Data Wizard');\r\n document.getElementById(\"RadioButtons\").style.display = \"none\";\r\n this.AlphabetsBinding();\r\n \r\n \r\n\r\n\r\n }\r\n\r\n AlphabetsBinding() {\r\n var count = 1;\r\n if (count < 100) {\r\n for (let i = 65; i <= 90; i++) {\r\n this.alphabets.push(String.fromCharCode(i));\r\n count++;\r\n }\r\n if (count > 26) {\r\n for (let j = 65; j <= 90; j++) {\r\n for (let k = 65; k <= 90; k++) {\r\n this.alphabets.push(String.fromCharCode(j) + String.fromCharCode(k));\r\n }\r\n count++;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n createColumnDefs(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"approvedusername\") {\r\n this.columnDefs.push({\r\n field: 'approvedusername', headerName: 'Approved by', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer(params) {\r\n if (params.value != null) { return params.value; } else {\r\n\r\n return \"\";\r\n }\r\n } });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"dateapproved\") {\r\n this.columnDefs.push({\r\n field: 'dateapproved', headerName: 'Date Approved', hide: false, editable: true, cellEditor: DateEditor, cellRenderer: function (params) {\r\n if (params.value == null) {\r\n return '';\r\n }\r\n else {\r\n if (params.data.approvedusername == null && params.value != null) {\r\n selfObj.ApproveOpportunity(params.data.id, params.value, params.data.dollers, params.data.RR);\r\n }\r\n return params.value;\r\n }\r\n }\r\n }\r\n );\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"actions\") {\r\n this.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: 'editdeletecv', hide: false, pinned: 'right', width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'practicename', headerName: 'Account Name', hide: false },\r\n { field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } }, \r\n { field: 'dollers', headerName: '$$$$', hide: false ,editable:true},\r\n { field: 'RR', headerName: 'RR', hide: false, editable: true},\r\n { field: 'estimatedclosedate', headerName: 'Date Scheduled', hide: false },\r\n { field: 'PCname', headerName: 'PC', hide: false },\r\n { field: 'datecreated', headerName: 'Date Created', hide: false },\r\n { field: 'contactName', headerName: 'Contact Name', hide: false },\r\n { field: 'itemName', headerName: 'Item', hide: false }, \r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n {\r\n field: 'approvedusername', headerName: 'Approved by', hide: false, cellRenderer(params)\r\n {\r\n if (params.value != null) { return params.value;} else {\r\n \r\n return \"\";\r\n }\r\n }\r\n },\r\n {\r\n field: 'dateapproved', headerName: 'Date Approved', hide: false, editable: true, cellEditor: DateEditor, cellRenderer: function (params) {\r\n if (params.value == null) {\r\n return '';\r\n }\r\n else {\r\n if (params.data.approvedusername == null && params.value != null) {\r\n selfObj.ApproveOpportunity(params.data.id, params.value, params.data.dollers, params.data.RR); \r\n }\r\n return params.value;\r\n }\r\n },\r\n \r\n },\r\n { field: 'actions', headerName: 'Actions', cellRenderer:'editdeletecv', hide: false, pinned: 'right' },\r\n ];\r\n var tooltipRenderer = function (params) {\r\n return '' + params.value + '';\r\n };\r\n }\r\n function DateEditor() { }\r\n\r\n // gets called once before the renderer is used\r\n DateEditor.prototype.init = function (params) {\r\n // create the cell\r\n this.eInput = document.createElement('input');\r\n this.eInput.value = params.value;\r\n\r\n // https://jqueryui.com/datepicker/\r\n $(this.eInput).datepicker({\r\n dateFormat: \"mm-dd-yy\",\r\n changeMonth: true,\r\n changeYear: true\r\n });\r\n };\r\n\r\n // gets called once when grid ready to insert the element\r\n DateEditor.prototype.getGui = function () {\r\n return this.eInput;\r\n };\r\n\r\n // focus and select can be done after the gui is attached\r\n DateEditor.prototype.afterGuiAttached = function () {\r\n this.eInput.focus();\r\n this.eInput.select();\r\n };\r\n\r\n // returns the new value after editing\r\n DateEditor.prototype.getValue = function () {\r\n return this.eInput.value;\r\n };\r\n\r\n // any cleanup we need to be done here\r\n DateEditor.prototype.destroy = function () {\r\n // but this example is simple, no cleanup, we could\r\n // even leave this method out as it's optional\r\n };\r\n\r\n // if true, then this editor will appear in a popup\r\n DateEditor.prototype.isPopup = function () {\r\n // and we could leave this method out also, false is the default\r\n return false;\r\n };\r\n }\r\n\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n ApproveOpportunity(opportunityid, approveddate, dollers, RR) {\r\n \r\n if (!this.OppAproved) {\r\n var date = approveddate.replace('/', \"-\")\r\n var c = confirm(\"Are you sure to Approve this??\");\r\n if (c == true) {\r\n this.OppAproved = true;\r\n this.opprtunityservice.ApproveselectedOpportunity(this.currentuser.id, opportunityid, date, dollers, RR).then((calllist) => {\r\n this.ClosedOpportunity(\"Closed-Won\", $(\"#userids\").val());\r\n });\r\n }\r\n }\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n \r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 46;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n initializeAgGrid() {\r\n \r\n this.gridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 46).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent,\r\n editdeletecv: EditdeleteComponent,\r\n\r\n };\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n }\r\n \r\n ClosedOpportunity(val, userids) {\r\n \r\n userids = $(\"#userids\").val();\r\n this.opprtunityservice.GetAllOpportunitiesList(val, userids, this.startDateVal, this.endDateVal).then((customer) => {\r\n customer.forEach(customer => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n customer.dateapproved = this.datePipe.transform(customer.dateapproved, \"MM/dd/yyyy\");\r\n if (customer.estimatedclosedate != '0001-01-01T00:00:00') {\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n } else {\r\n customer.estimatedclosedate = '';\r\n }\r\n });\r\n\r\n this.Allopportunities = customer;\r\n });\r\n this.OppAproved = false;\r\n }\r\n\r\n openDisplaynotes(params) {\r\n \r\n //this.notes.notedescription = params.value;\r\n this.NotesDec = !this.NotesDec;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n \r\n $('#showDetailsDialog').width(showDialogWidth);\r\n $('#showDetailsDialog').height(notesHeight - 140);\r\n $('#showDetailsDialog').css('top', notesOffset.top + 125);\r\n $('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n $('#showDetailsDialog').css('border-radius', '4px');\r\n $('#showDetailsDialog').css('border', '3px solid');\r\n\r\n if (selfObj.isModal) {\r\n $('#showDetailsDialog').width(showDialogWidth);\r\n $('#showDetailsDialog').css('height', '59%');\r\n $('#showDetailsDialog').css('top', notesOffset.top + 100);\r\n $('#showDetailsDialog').css('left', '612px');\r\n $('#showDetailsDialog').css('border-radius', '4px');\r\n $('#showDetailsDialog').css('border', '3px solid');\r\n }\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n \r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n\r\n }\r\n saveEditedNote() {\r\n \r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.GetOpportunitiesnotes(selfObj.contactid, 'Opportunity');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n }\r\n GetOpportunitiesnotes(id, type) {\r\n \r\n this.customerService.GetAllNotesList(this.currentuser.id,id, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = taskhistory;\r\n //this.notesitemCount = taskhistory.length;\r\n let windowHeight = $(window).height() - 160;\r\n });\r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(columnSelections: string) {\r\n let selfObj = this;\r\n\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n\r\n }\r\n onAgGridReadynotes(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllnotes();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllnotes() {\r\n\r\n }\r\n openNotesDialogAg(rowdata) {\r\n \r\n \r\n if (rowdata.type == 'Account' || rowdata.type == 'Customer') {\r\n this.opprtunityservice.GetByAccountId(rowdata.accountorcontactid).then(result => {\r\n \r\n this.account = result;\r\n this.contact.firstname = \"No\";\r\n }); \r\n }\r\n else if (rowdata.type == 'Contacts') {\r\n this.opprtunityservice.GetContactById(rowdata.accountorcontactid).then(result => {\r\n this.opprtunityservice.GetByAccountId(result.accountid).then(result => {\r\n \r\n this.account = result;\r\n });\r\n \r\n var middleName = '';\r\n var title = '';\r\n if (result != null && result.middlename != null) {\r\n middleName = result.middlename;\r\n }\r\n if (result != null && result.title != null) {\r\n title = ',' + result.title;\r\n }\r\n if (result != null)\r\n this.contact.firstname = result.firstname + ' ' + middleName + ' ' + result.lastname + title;\r\n });\r\n }\r\n\r\n this.contactid = rowdata.id;\r\n this.conid = rowdata.accountorcontactid;\r\n this.Contact = (rowdata.type == 'Contacts') ? 'Contact' : 'Customer';\r\n this.ContactTaskHistory = (rowdata.type == 'Contacts') ? 'ContactTaskHistory' : 'CustomerTaskHistory';\r\n this.ContactLead = (rowdata.type == 'Contacts') ? 'ContactLead' : 'CustomerLead';\r\n this.AllContactsNotes = (rowdata.type == 'Contacts') ? 'AllContactsNotes' : 'AllContactsNotes';\r\n this.typ = rowdata.type;\r\n $('#accotIdNotes').val(rowdata.id);\r\n $('#accotTypeNotes').val('Opportunity');\r\n this.GetOpportunitiesnotes(rowdata.id, 'Opportunity');\r\n\r\n this.showDialog = !this.showDialog;\r\n $(setTimeout(function () {\r\n if ($('#allNotesId').length > 0)\r\n $('#allNotesId').removeClass('active');\r\n\r\n if ($('#tskHistNotesId').length > 0)\r\n $('#tskHistNotesId').removeClass('active');\r\n\r\n if ($('#leadsNotesId').length > 0)\r\n $('#leadsNotesId').removeClass('active');\r\n\r\n if ($('#allContactNotesId').length > 0)\r\n $('#allContactNotesId').removeClass('active');\r\n\r\n if ($('#oppNotesId').length > 0) {\r\n $('#oppNotesId').removeClass('active');\r\n $('#oppNotesId').addClass('active');\r\n }\r\n var modalWidth = (screen.width) - ((screen.width) / 10);\r\n //$('.dialog').attr('style', 'padding:1%;border: 3px solid green;width:' + modalWidth + 'px');\r\n $('#chkShowDetailsNotes').prop('checked', false); $('#closeDetailsDialog').click();\r\n }, 100));\r\n\r\n $('.dialog').width('1000px');\r\n }\r\n\r\n editRowAg(rowdata) {\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/${rowdata.id}/opportunity/null/null`);\r\n\r\n //this.router.navigateByUrl(`/application/contactsdashboard/${rowdata.id}/edit`);\r\n }\r\n deleteRowAg(rowdata) {\r\n var c = confirm(\"Are you sure you want to delete this Opportunity ??\");\r\n if (c == true) {\r\n this.opprtunityservice.deleteopportunity(rowdata.id).then((calllist) => {\r\n this.ClosedOpportunity(\"Closed-Won\", $(\"#userids\").val());\r\n });\r\n }\r\n }\r\n\r\n auditRowAg(rowdata) {\r\n this.OpportunityHistoryDialog = !this.OpportunityHistoryDialog;\r\n this.OpportunitieshistoryinitializeAgGrid();\r\n this.customerService.GetAllDocumentAuditlogList(rowdata.id,'Opportunity').then((opportunityauditloglist) => {\r\n opportunityauditloglist.forEach(document => {\r\n document.dateofviewed = this.datePipe.transform(document.dateofviewed, \"MM-dd-yyyy\");\r\n });\r\n this.opportunityauditloglist = opportunityauditloglist;\r\n });\r\n }\r\n\r\n onopportunityauditlogAgGridReady(event) {\r\n \r\n //let selfObj = this;\r\n //$(setTimeout(function () {\r\n // selfObj.opportunitiesautoSizeAll();\r\n //}, 100));\r\n }\r\n\r\n OpportunitieshistoryinitializeAgGrid() {\r\n \r\n this.gridopportunityOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.opportunitiesscreateColumnDefs(\"\");\r\n this.gridopportunityOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.data.accountorcontactid) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.accountorcontactid);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('');\r\n } else {\r\n this.Ids.push(rowEvent.data.accountorcontactid)\r\n var string = (this.Ids).toString();\r\n $('#emailIds').val(string);\r\n if (rowEvent.data.type == \"Contacts\") {\r\n $('#tasklistselectedtyle').val('Contact');\r\n }\r\n else {\r\n $('#tasklistselectedtyle').val('Customer');\r\n }\r\n }\r\n }\r\n\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.router.navigateByUrl(`/application/opportunitiesdashboard/${rowEvent.data.id}/opportunity/null/null`);\r\n }\r\n opportunitiesscreateColumnDefs(columnSelections: string) {\r\n this.opportunitycolumnDefs = [\r\n { field: 'documentname', headerName: 'Opportunity Name', hide: false },\r\n { field: 'action', headerName: 'Action', hide: false },\r\n { field: 'dateofviewed', headerName: 'last acessed date', hide: false },\r\n { field: 'username', headerName: ' User Name', hide: false },\r\n ];\r\n }\r\n opportunitiesautoSizeAll() {\r\n \r\n if (this.gridopportunityOptions && this.gridopportunityOptions.columnApi && this.gridopportunityOptions.columnApi.getAllColumns() != undefined) {\r\n var allColumnIds = [];\r\n this.gridopportunityOptions.columnApi.getAllColumns().forEach((column) => {\r\n allColumnIds.push(column.getColId());\r\n });\r\n this.gridopportunityOptions.columnApi.autoSizeColumns(allColumnIds);\r\n }\r\n }\r\n onItemSelect(item: any) {\r\n \r\n var ids = \"\";\r\n ids += item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.ClosedOpportunity(\"Closed-Won\", $(\"#userids\").val()); \r\n }\r\n \r\n OnItemDeSelect(item: any) {\r\n \r\n var ids = \"\";\r\n ids = item.id;\r\n var result = '';\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.ClosedOpportunity(\"Closed-Won\", $(\"#userids\").val()); \r\n } else {\r\n this.Allopportunities = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n \r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.ClosedOpportunity(\"Closed-Won\", $(\"#userids\").val()); \r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.Allopportunities = [];\r\n $(\"#userids\").val('');\r\n }\r\n\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n let userids = $(\"#userids\").val();\r\n this.opprtunityservice.GetAllOpportunitiesList(\"Closed-Won\", userids, this.startDateVal, this.endDateVal).then((customer) => {\r\n customer.forEach(customer => {\r\n customer.datecreated = this.datePipe.transform(customer.datecreated, \"MM-dd-yyyy\");\r\n if (customer.estimatedclosedate != '0001-01-01T00:00:00') {\r\n customer.estimatedclosedate = this.datePipe.transform(customer.estimatedclosedate, \"MM-dd-yyyy\");\r\n } else {\r\n customer.estimatedclosedate = '';\r\n }\r\n });\r\n this.Allopportunities = customer;\r\n });\r\n }\r\n AssignStartAndEndDate(event) {\r\n \r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n\r\n SelectedItem(value) {\r\n this.salestooltype = value;\r\n if (value == \"ImportDataWizard\") {\r\n \r\n $('#gridheight').css('display', 'none');\r\n document.getElementById('importDataDiv').style.display = \"block\";\r\n }\r\n else {\r\n \r\n \r\n $('#gridheight').css('display', 'block');\r\n //document.getElementById('gridheight').style.display = \"block\";\r\n document.getElementById('importDataDiv').style.display = \"none\";\r\n }\r\n }\r\n\r\n incomingfile(event) {\r\n this.file = event.target.files[0];\r\n \r\n let fileReader = new FileReader();\r\n fileReader.onload = (e) => {\r\n \r\n this.arrayBuffer = fileReader.result;\r\n var data = new Uint8Array(this.arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\" });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n this.rowsFound = XLSX.utils.sheet_to_json(worksheet, { raw: false }).length;//Sheet length\r\n $('#importData').val(this.rowsFound);\r\n \r\n this.rowData = XLSX.utils.sheet_to_json(worksheet);\r\n var cells = Object.keys(worksheet);\r\n for (var i = 0; i < Object.keys(cells).length; i++) {\r\n if (cells[i].indexOf('1') > -1) {\r\n this.colValues.push(worksheet[cells[i]].v); //Contails all column names\r\n }\r\n }\r\n this.checkDuplicateInObject('Phone', XLSX.utils.sheet_to_json(worksheet, { raw: false }))\r\n \r\n }\r\n fileReader.readAsArrayBuffer(this.file);\r\n\r\n document.getElementById(\"RadioButtons\").style.display = \"block\";\r\n this.AccountClicked();\r\n \r\n }\r\n\r\n onAgGridReadycontacts(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n \r\n $(setTimeout(function () {\r\n \r\n }, 100));\r\n }, 100));\r\n }\r\n\r\n RunFile() {\r\n document.getElementById('WizardBodyGrid').style.display = \"block\";\r\n document.getElementById('WizardBody').style.display = \"none\";\r\n //var newwindow = window.open(\"../../../assets/img/SalesXCRM.xlsx\", \"window2\", \"\"); \r\n }\r\n\r\n checkDuplicateInObject(propertyName, inputArray) {\r\n var seenDuplicate = false,\r\n testObject = {};\r\n\r\n inputArray.map(function (item) {\r\n var itemPropertyName = item[propertyName];\r\n \r\n if (itemPropertyName in testObject) {\r\n testObject[itemPropertyName].duplicate = true;\r\n item.duplicate = true;\r\n seenDuplicate = true;\r\n }\r\n else {\r\n testObject[itemPropertyName] = item;\r\n delete item.duplicate;\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n initializeImportColumnDefs(val) {\r\n\r\n if (val == \"Contacts\") {\r\n this.columnDefsExcel = [\r\n { headerName: 'contacttype', field: 'contacttype' },\r\n { headerName: 'firstname', field: 'firstname' },\r\n { headerName: 'middlename', field: 'middlename' },\r\n { headerName: 'lastname', field: 'lastname' },\r\n { headerName: 'suffix', field: 'suffix' },\r\n { headerName: 'sex', field: 'sex' },\r\n { headerName: 'title', field: 'title' },\r\n { headerName: 'speciality', field: 'speciality' },\r\n { headerName: 'subspeciality', field: 'subspeciality' },\r\n { headerName: 'email', field: 'email' },\r\n { headerName: 'address1', field: 'address1' },\r\n { headerName: 'address2', field: 'address2' },\r\n { headerName: 'city', field: 'city' },\r\n { headerName: 'state', field: 'state' },\r\n { headerName: 'zip', field: 'zip' },\r\n { headerName: 'cell', field: 'cell' },\r\n { headerName: 'office', field: 'office' },\r\n { headerName: 'DOB', field: 'DOB' },\r\n { headerName: 'homeaddress', field: 'homeaddress' },\r\n { headerName: 'homecity', field: 'homecity' },\r\n { headerName: 'homestate', field: 'homestate' },\r\n { headerName: 'homezip', field: 'homezip' },\r\n { headerName: 'home', field: 'home' },\r\n { headerName: 'college', field: 'college' },\r\n { headerName: 'collegegrandyear', field: 'collegegrandyear' },\r\n { headerName: 'medschool', field: 'medschool' },\r\n { headerName: 'medschoolgrandyear', field: 'medschoolgrandyear' },\r\n { headerName: 'residency', field: 'residency' },\r\n { headerName: 'residencygrandyear', field: 'residencygrandyear' },\r\n { headerName: 'fellowship', field: 'fellowship' },\r\n { headerName: 'fellowshipgrandyear', field: 'fellowshipgrandyear' },\r\n { headerName: 'ownerid', field: 'ownerid' },\r\n { headerName: 'accountid', field: 'accountid' },\r\n { headerName: 'practiceid', field: 'practiceid' },\r\n { headerName: 'userid', field: 'userid' }\r\n\r\n ];\r\n }\r\n if (val == \"Accounts\") {\r\n this.columnDefsExcel = [\r\n { headerName: 'customertypeid', field: 'customertypeid' },\r\n { headerName: 'country', field: 'country' },\r\n { headerName: 'accounttype', field: 'accounttype' },\r\n { headerName: 'accountname', field: 'accountname' },\r\n { headerName: 'address1', field: 'address1' },\r\n { headerName: 'address2', field: 'address2' },\r\n { headerName: 'city', field: 'city' },\r\n { headerName: 'state', field: 'state' },\r\n { headerName: 'zip', field: 'zip' },\r\n { headerName: 'phone', field: 'phone' },\r\n { headerName: 'fax', field: 'fax' },\r\n { headerName: 'alterphone1', field: 'alterphone1' },\r\n { headerName: 'alterphone2', field: 'alterphone2' },\r\n { headerName: 'website', field: 'website' },\r\n { headerName: 'ownerid', field: 'ownerid' },\r\n { headerName: 'practiceid', field: 'practiceid' },\r\n { headerName: 'created', field: 'created' },\r\n { headerName: 'speciality', field: 'speciality' },\r\n { headerName: 'ownership', field: 'ownership' },\r\n { headerName: 'userid', field: 'userid' },\r\n { headerName: 'accnumber', field: 'accnumber' },\r\n { headerName: 'er', field: 'er' },\r\n { headerName: 'ehrdatepublished', field: 'ehrdatepublished' }\r\n \r\n\r\n ];\r\n }\r\n }\r\n\r\n CloseGrid() {\r\n document.getElementById('WizardBodyGrid').style.display = \"none\";\r\n document.getElementById('WizardBody').style.display = \"block\";\r\n }\r\n onExcelGridReady(params) { \r\n this.ExcelgridApi = params.api;\r\n \r\n }\r\n getAllRows() {\r\n var that = this;\r\n var type=$('input[name=\"AccountContact\"]:checked').val();\r\n if (type == 'Account') {\r\n let selfObj = this; \r\n this.ExcelgridApi.forEachNode(function (rowNode, index) {\r\n \r\n selfObj.FinalAccounts.push(rowNode.data);\r\n }); \r\n \r\n this.accountsService.addImportedAccount(this.FinalAccounts).then(result => {\r\n this.account = result;\r\n this.toastr.success(\"Account saved successfully.\", \"Account Saved\", { timeOut: 600 });\r\n \r\n });\r\n \r\n }\r\n else {\r\n let selfObj = this;\r\n this.ExcelgridApi.forEachNode(function (rowNode, index) {\r\n \r\n let newcontact = new Contacts();\r\n newcontact.firstname = rowNode.data.firstname;\r\n newcontact.lastname = rowNode.data.lastname;\r\n selfObj.FinalContacts.push(rowNode.data);\r\n });\r\n\r\n selfObj.users.addExcelContacts(selfObj.FinalContacts).then(result => {\r\n selfObj.toastr.success(\"contact saved successfully.\", \"Contact Saved\");\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n AccountClicked() {\r\n \r\n this.AdvancedsearchServices.GetAllColumnNames('tblaccounts').then((colNames) => {\r\n colNames.forEach(colName => {\r\n });\r\n this.accountColumns = colNames;\r\n });\r\n this.TblDropDown = this.accountColumns;\r\n this.initializeImportColumnDefs(\"Accounts\");\r\n \r\n }\r\n ContactClicked() {\r\n this.AdvancedsearchServices.GetAllColumnNames('tblcontacts').then((colNames) => {\r\n colNames.forEach(colName => {\r\n });\r\n this.contactColumns = colNames;\r\n });\r\n \r\n this.TblDropDown = this.contactColumns;\r\n this.initializeImportColumnDefs(\"Contacts\");\r\n\r\n }\r\n checkBoxChecked(val) {\r\n\r\n \r\n var city, state, zip, phone, fax;\r\n var isCityChecked, isStateChecked, isZipChecked, isPhoneChecked, isFaxChecked;\r\n //this.rowData.forEach(row => {\r\n //});\r\n\r\n if ($('#City').prop('checked') == true) {\r\n city = this.rowData[0].city;\r\n isCityChecked = true;\r\n }\r\n else {\r\n city = null;\r\n isCityChecked = false\r\n }\r\n if ($('#State').prop('checked') == true) {\r\n state = this.rowData[0].state;\r\n isStateChecked = true\r\n }\r\n else {\r\n state = null;\r\n isStateChecked = false\r\n }\r\n if ($('#Zip').prop('checked') == true) {\r\n zip = this.rowData[0].zip;\r\n isZipChecked = true;\r\n\r\n }\r\n else {\r\n zip = null;\r\n isZipChecked = false\r\n }\r\n if ($('#Phone').prop('checked') == true) {\r\n phone = this.rowData[0].phone;\r\n isPhoneChecked = true;\r\n }\r\n else {\r\n phone = null;\r\n isPhoneChecked = false\r\n }\r\n if ($('#Fax').prop('checked') == true) {\r\n fax = this.rowData[0].fax;\r\n isFaxChecked = true\r\n }\r\n else {\r\n fax = null;\r\n isFaxChecked = false\r\n }\r\n\r\n\r\n var radioValue = $(\"input[name='AccountContact']:checked\").val();\r\n var array: string[];\r\n \r\n\r\n array = [city, isCityChecked, state, isStateChecked, zip, isZipChecked, phone, isPhoneChecked, fax, isFaxChecked]\r\n if (radioValue == \"Accounts\") {\r\n this.accountsService.CheckImportedAccountDuplicates(array).then(account => {\r\n this.account = account;\r\n if (this.account != null) {\r\n alert(\"Accounts Dulicates Found\")\r\n }\r\n else {\r\n alert(\"No Dulicates Found\")\r\n }\r\n });\r\n \r\n }\r\n else if (radioValue == \"Contacts\") {\r\n this.accountsService.CheckImportedContactsDuplicates(array).then(contact => {\r\n this.contact = contact;\r\n if (this.contact != null) {\r\n alert(\"Contact Dulicates Found\")\r\n }\r\n else {\r\n alert(\"No Dulicates Found\")\r\n }\r\n });\r\n \r\n }\r\n\r\n }\r\n\r\n DownLoadWxcel(res,filename) {\r\n this.accountsService.exportAsExcelFile(res, filename);\r\n \r\n }\r\n\r\n DuplicateCreateExcel() {\r\n \r\n var value = $('#CreateExcel').val();\r\n if (value == 1) {\r\n var radioValue = $(\"input[name='AccountContact']:checked\").val();\r\n if (radioValue == \"Accounts\") {\r\n if (this.account.id != null) {\r\n this.DownLoadWxcel(this.account, \"AccountDuplicates\");\r\n }\r\n }\r\n else if (radioValue == \"Contacts\") {\r\n if (this.contact.id != null) {\r\n this.DownLoadWxcel(this.contact, \"ContactDuplicates\");\r\n }\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 } from '@angular/core';\nimport { GridOptions } from 'ag-grid';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { SassDateContacts } from '../../models/SassDateContacts';\r\nimport { Column } from 'ag-grid';\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\nimport { ApplicationComponent } from '../application.component';\r\nimport { Router } from '@angular/router';\r\n\n@Component({\n selector: 'sassdate-contacts',\n templateUrl: './sassdate-contacts.component.html',\n styleUrls: ['./sassdate-contacts.component.css']\n})\nexport class SassdateContactsComponent implements OnInit {\n public frameworkComponents; public context; private gridApi; public sideBar;\n @Input() selectedreporttype = \"Contacts(Saas by Date)\";\n public gridOptions: GridOptions;\n public columnDefs: any[];\n currentuser: any;\n allContacts: SassDateContacts[];\n colSelections: string;\n public ReportType: string;\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } }; \r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal\n constructor(public applicationComponent: ApplicationComponent, private opprtunityservice: OpprtunitiesService, private router: Router) {\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\n\n ngOnInit(): void {\n this.initializeAgGrid();\n \n }\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\n initializeAgGrid() {\n this.context = this;\r\n this.frameworkComponents = {\r\n }\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n }; \n this.gridOptions = {\r\n pagination: true, enableColResize: true, paginationPageSize: 1000, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: 'single', enableCellChangeFlash: true, suppressSorting: true, suppressMultiSort: true\r\n };\r\n let columnSelections: string; \r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, this.selectedreporttype == \"Contacts(Saas by Date)\"? 48:49).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.GetsaasdateContactList(this.selectedreporttype,\"Active Contacts\");\r\n });\r\n }\n\n public GetsaasdateContactList(ReportType, statusval) {\n this.selectedreporttype = ReportType;\n let columnSelections: string; \n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, this.selectedreporttype == \"Contacts(Saas by Date)\" ? 48 : this.selectedreporttype == \"Contact(SaaS Renewals)\" ? 49 : 50).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.createColumnDefs(this.colSelections);\r\n this.opprtunityservice.GetAllsaasContacts(this.currentuser.id, ReportType).then((contact) => {\r\n this.allContacts = contact;\r\n this.allContacts = contact.filter(x => x.SaaSRCM != \"01/01/0001\");\r\n \r\n if (statusval == \"Active Contacts\") {\r\n this.allContacts = this.allContacts.filter(x => x.Status == \"Active\");\r\n } else if (statusval == \"Inactive Contacts\") {\r\n this.allContacts = this.allContacts.filter(x => x.Status == \"In-Active\");\r\n }\r\n \r\n });\r\n }); \n }\n\r\n cellDoubleClicked(rowEvent) {\r\n var url = window.location.href;\r\n if (url.indexOf('contacts') > -1) {\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n selfobj.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }, 50));\r\n selfobj.router.navigateByUrl(`/application`);\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n }\r\n localStorage.setItem('RhxContactVal', rowEvent.data.contactid);\r\n\r\n $('#emailIds').val(rowEvent.data.contactid);\r\n $('#tasklistselectedtyle').val('Contact');\r\n let selfobj = this;\r\n setTimeout(function () {\r\n selfobj.applicationComponent.ExpandSelectedMenu('contact');\r\n selfobj.applicationComponent.selectedtabid = 'contact';\r\n }, 200)\r\n }\r\n\r\n createColumnDefs(columnSelections: string) {\r\n var searcharray = [];\r\n if (this.gridOptions.quickFilterText != null && this.gridOptions.quickFilterText != undefined && this.gridOptions.quickFilterText != '') {\r\n searcharray.push(this.gridOptions.quickFilterText);\r\n }\r\n let columnSelectionsArray: string[] = [];\r\n \r\n if (columnSelections != \"\") {\r\n\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.columnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n } else {\r\n this.columnDefs = [\r\n { field: 'contactid', headerName: 'contactid', hide: true, width: 250 },\r\n { field: 'SaaSRenewal', headerName: 'SaaS Renewal', hide: this.selectedreporttype == \"Contacts(Saas by Date)\"? true : false, width: 250 }, \r\n { field: 'SassDate', headerName: 'Sass Date', width: 250 },\r\n { field: 'SaaStermName', headerName: 'SaaS Term', width: 250 },\r\n { field: 'SaaSRCM', headerName: 'SaaS RCM', hide: this.selectedreporttype == \"Contact (SaaS RCM)\" ? false : true, width: 250 }, \r\n { field: 'contactname', headerName: 'Contact', hide: false, width: 250, cellRenderer: function (params) { return params.value + \" \" + params.data.contacttitle } },\r\n { field: 'accountname', headerName: 'Account Name', hide: false, width: 250 },\r\n { field: 'address1', headerName: 'Address1', hide: false, width: 250 },\r\n { field: 'address2', headerName: 'Address2', hide: false, width: 250 },\r\n { field: 'city', headerName: 'City', hide: false, width: 250 },\r\n { field: 'state', headerName: 'State', hide: false, width: 250 },\r\n { field: 'Status', headerName: 'Status', hide: false, width: 250 },\r\n { field: 'zip', headerName: 'Zip', hide: false, width: 250 },\r\n { field: 'country', headerName: 'Country', hide: false, width: 250 },\r\n { field: 'ProvidenceIsland', headerName: 'Island', hide: false, width: 250 },\r\n { field: 'cell', headerName: 'Phone', hide: false, width: 250 },\r\n { field: 'Salsrep', headerName: 'Sales Rep', hide: false, width: 250 },\r\n { field: 'ownerName', headerName: 'Owner', hide: false, width: 250 }\r\n ];\r\n }\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n \r\n config.maxlimit = 100;\r\n \r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = this.selectedreporttype == \"Contacts(Saas by Date)\" ? 48 : this.selectedreporttype == \"Contact(SaaS Renewals)\"? 49:50;\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n config.userid = \"\";\r\n for (let i = 0; i < this.applicationComponent.selectedItems.length; i++) {\r\n config.userid += this.applicationComponent.selectedItems[i].id + \",\";\r\n }\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\n}\n","
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n 0\" [viewaccount]=\"viewaccount\" [account]=\"account\" [tab]=\"''\" [noteslist]=\"''\" [pageFrom]=\"'TaskList'\" [ViewData]=\"this.type == 'Customer' ? 'Account' : 'Contact'\" [contact]=\"contact\" (btnClickEvent)=\"btnClickReceived($event)\">\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n

      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.contactName | uppercase}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{note.created | date:\"dd-MM-yy\"}}
      \r\n\r\n
      {{note.notedescription}}
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      {{note.created | date:\"dd-MM-yy\"}}
      \r\n\r\n
      {{note.notedescription}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n
      \r\n
      \r\n Schedule Task / Appointments\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Date:
      \r\n
      {{taskhistory.estcompleteddate | date:\"MM/dd/yyyy\"}}
      \r\n
      \r\n
      \r\n
      Time:
      \r\n
      {{taskhistory.time | lowercase}} - {{taskhistory.totime | lowercase}}
      \r\n
      \r\n
      \r\n
      Task Type:
      \r\n
      {{taskhistory.tasktype}}
      \r\n
      \r\n
      \r\n
      Contact:
      \r\n
      {{taskhistory.contactName}}
      \r\n
      \r\n
      \r\n
      Account:
      \r\n
      {{account.accountname}}
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      0\">\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n M \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n W \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n F \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Day
      \r\n
      Date
      \r\n
      Time
      \r\n
      To
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      {{item.WeekDay}}
      \r\n
      {{item.Date}}
      \r\n
      {{item.Time}} {{item.AMPM | lowercase}}
      \r\n
      {{item.To}} {{item.ToAMPM | lowercase}}
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.estcompleteddate | date:\"MM-dd-yyyy\"}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.time}}-{{taskhistory.totime}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n M \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n W \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n F \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Day
      \r\n
      Date
      \r\n
      Time
      \r\n
      To
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      {{item.WeekDay}}
      \r\n
      {{item.Date}}
      \r\n
      {{item.Time}} {{item.AMPM | lowercase}}
      \r\n
      {{item.To}} {{item.ToAMPM | lowercase}}
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.estcompleteddate}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n

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

      \r\n
      \r\n
      \r\n
      \r\n {{note.created |date:'MM-dd-yyyy'}}: {{note.notedescription}}\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{(taskhistory.taskGroupID == 2)? 'Trainer' : 'Sales' }} \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n {{taskhistory.taskcategory}}\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n {{taskhistory.tasktype}}\r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n M \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n W \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n F \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      Day
      \r\n
      Date
      \r\n
      Time
      \r\n
      To
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      {{item.WeekDay}}
      \r\n
      {{item.Date}}
      \r\n
      {{item.Time}} {{item.AMPM | lowercase}}
      \r\n
      {{item.To}} {{item.ToAMPM | lowercase}}
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n

      \r\n
      \r\n
      SCHEDULE TASK
      \r\n
      Task will not be saved
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      Edit Task

      \r\n
      Go to the Task/Appt in the Calender
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \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, DoCheck, Input, Output, EventEmitter, ElementRef, Renderer2, ViewEncapsulation, ViewContainerRef, IterableDiffers, IterableDiffer, ViewChild} from '@angular/core';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Notes } from '../../models/notes';\r\nimport { Viewaccount } from '../../models/viewaccount';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { SalesProcessHistory } from '../../models/sales-process-history';\r\nimport { ResponsewizardComponent } from '../responsewizard/responsewizard.component';\r\nimport { DatePipe, Location } from '@angular/common';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';;\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nexport enum ParentComp { Leads }\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Column } from 'ag-grid';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { OwnershipsharingComponent } from '../ownershipsharing/ownershipsharing.component';\r\nimport { AccountDetailsComponent } from '../account-details/account-details.component';\r\ndeclare var $: any;\r\ndeclare var require: any;\r\n\r\n@Component({\r\n selector: 'scheduletask',\r\n templateUrl: './scheduletask.component.html',\r\n styleUrls: ['./scheduletask.component.css']\r\n})\r\n\r\nexport class ScheduletaskComponent implements OnInit {\r\n @Input()\r\n id: number;\r\n @Input()\r\n type: string;\r\n @Input()\r\n taskid: string;\r\n @Input()\r\n taskDialog: boolean = false;\r\n @Input()\r\n SearchDialog: boolean = false;\r\n\r\n @Input()\r\n selectedDate: any;\r\n FeeAmountdiv: boolean = true;\r\n divone: boolean = true;\r\n tableDiv: boolean = true;\r\n labelDiv: boolean = true;\r\n labelButton: boolean = true;\r\n searchDiv: boolean = false;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n taskhistorystatusval;\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n itemResource: any;\r\n timezonevalue: string;\r\n selectedscheduleTasktype : string;\r\n notehgt = screen.height * 0.1777;//0.16\r\n opphistorygrdhgt = screen.height * 0.4422;//0.4422\r\n ContactDivhgt = screen.height * 0.1666;\r\n customerDivhgt = screen.height * 0.15;\r\n calendernotehgt = screen.height * 0.25;\r\n contactDivHGT234 = screen.height * 0.2177;\r\n Wizardselectedval: boolean = false;\r\n CustomeritemResource: any;\r\n items = [];\r\n itemCount = 0;\r\n params: any;\r\n ContactitemCount = 0;\r\n CustomeritemCount = 0;\r\n Contactitems = [];\r\n Customeritems = [];\r\n Salesstageslist: Dropdowntype[] = [];\r\n taskhistory: TaskHistory = new TaskHistory();\r\n taskhistoryDuplicate: TaskHistory = new TaskHistory();\r\n saleprocesshistory: SalesProcessHistory = new SalesProcessHistory();\r\n SalesitemCount = 0;\r\n itemList = [];\r\n Salesitems = [];\r\n selectedItems = [];\r\n taskhistorynotes: Array = [];\r\n notes: Notes = new Notes();\r\n TaskId = 0;\r\n TaskStatuslist: Dropdowntype[] = [];\r\n TaskStatussettings = {};\r\n Tasktypelist: Dropdowntype[] = [];\r\n Tasklist: Dropdowntype[] = [];\r\n currentuser: any;\r\n userprevilages: any;\r\n scheduleTaskType: string;\r\n selectedTaskType: string;\r\n shcedulestatus: string;\r\n fromtimevalid:boolean = true;\r\n totimevalid:boolean = true;\r\n TaskCategory: string;\r\n public elementRef;\r\n taskhistoryform: FormGroup;\r\n Scheduletasktaskhistory: TaskHistory[];\r\n ContactTaskHistory: TaskHistory[];\r\n public gridOptions: GridOptions;\r\n public gridOptionsacconts: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n public gridOptionscontacts: GridOptions;\r\n public columnDefscontacts: any[];\r\n public columnDefsaccount: any[];\r\n allcontacts: Contacts[];\r\n allCustomers: Accounts[];\r\n taskHistoryGridInitialized: boolean = false;\r\n isresponseWizardIcon: boolean = false;\r\n mainDivHeight = screen.height * 0.788888;\r\n divHeight = screen.height * 0.544444;\r\n @Input()\r\n selectorTag: boolean = false;\r\n public context;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n @Output()\r\n sendGridRefreshEvent = new EventEmitter();\r\n @Output()\r\n Taskdialoghideshow = new EventEmitter();\r\n today = Date.now();\r\n contactList: Dropdowntype[] = [];\r\n @ViewChild(ResponsewizardComponent) responsewzdcomp;\r\n @ViewChild('mycal') myDiv: ElementRef;\r\n public sideBar;\r\n viewaccount: Viewaccount = new Viewaccount();\r\n action: string;\r\n showAddEditAccount: boolean = false;\r\n showAddEditContact: boolean = false;\r\n isSharing: boolean = false;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n rightMainDivHideShow: boolean = true;\r\n accountSharingid: number = 0;\r\n AddContacttableDiv: boolean = false;\r\n isModal: boolean = true;\r\n notesshowDialog = false;\r\n conid: number;\r\n allnotes: Array = [];\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n NotesDec = false;\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n TimeSlots: Dropdowntype[] = [];\r\n TimeSlotsOriginal: Dropdowntype[] = [];\r\n TimeLines: Dropdowntype[] = [];\r\n TimeIntervals = [{ WeekDay: '', Date: '', Time: '', AMPM: '', CurrentTime: new Date(), Booked: false, BookingId: 0,SlotDuration: 0,hidden:false }];\r\n TimeIntervalsOriginal = [{ WeekDay: '', Date: '', Time: '', AMPM: '', CurrentTime: new Date(), Booked: false, BookingId: 0, SlotDuration: 0, hidden: false }];\r\n DaysFilter = { Monday: true, Tuesday: true, Wednesday: true, Thursday: true, Friday: true, Saturday: false, Sunday: false};\r\n @ViewChild(AccountDetailsComponent) accdetailscmp;\r\n TimeSlot = '60 Minutes'; Meridian = 0; TimeLine = 'Next Available'; OpenBookedTimes = 'Open/Booked Times';\r\n TimeSlotSaveConfirm: boolean = false;\r\n MappedTimeSlot: boolean = false;\r\n ShowSlotsDiv: boolean = false;\r\n showDialog: boolean = false;\r\n additionalDays: number = 4;\r\n PreviousNotesExpand: boolean = false;\r\n CloseCreateNewWarning: boolean = false;\r\n FieldsModified: boolean = false;\r\n AptDialogwWarning: boolean = false;\r\n constructor(public applicationComponent: ApplicationComponent, private route: ActivatedRoute, private opprtunityservice: OpprtunitiesService, private customerService: CustomerService, private leadservice: LeadsService, private router: Router, private location: Location, private viewContainerRef: ViewContainerRef, private toastr: ToastrService, myElement: ElementRef) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); \r\n var loggedInUserId = this.currentuser.id;\r\n this.customerService.GetPrivilagesByuser(loggedInUserId).then(result => {\r\n this.userprevilages = result;\r\n });\r\n this.isresponseWizardIcon = false;\r\n if (!this.selectorTag) {\r\n \r\n this.route.params.subscribe(params => {\r\n this.id = params['id'];\r\n this.taskid = params['taskid'];\r\n this.type = params['type'];\r\n this.contact.id = this.id;\r\n \r\n this.HideAdnShow(this.id, this.type);\r\n this.loadcoantactname(this.id, this.type)\r\n });\r\n }\r\n this.elementRef = myElement;\r\n }\r\n handleClick(event) {\r\n this.FieldsModified = true;\r\n var clickedComponent = event.target;\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n\r\n $('#test').val('TaskHistory');\r\n } else {\r\n\r\n }\r\n }\r\n\r\n EditTaskDialogCss() {\r\n setTimeout(function () {\r\n $('#taskHisDialog .dialog').attr('style', 'width: 45%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 99%;padding: 0 0 0 0%;top: 0;left:55%;background: white');\r\n}, 4)\r\n }\r\n\r\n onTaskChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n /*this.showDialog = true;*/\r\n this.EditTaskDialogCss();\r\n var data = rowEvent.api.getSelectedNodes()[0].data;\r\n this.LoadSelectedTaskdata(data.id, rowEvent.api.getSelectedNodes()[0].selected, \"Load\");\r\n this.TaskId = data.id;\r\n this.checkedBookedSlots();\r\n //document.getElementById('selectStatus').innerHTML = data.status;\r\n \r\n } else {\r\n this.taskhistory = new TaskHistory();\r\n this.TaskId = 0;\r\n this.taskhistorynotes = [];\r\n /* this.showDialog = false;*/\r\n $('#fromtime').val('');\r\n $('#totime').val('');\r\n $('#fromtime').prop('required', '');\r\n $('#totime').prop('required', '');\r\n document.getElementById('sid').innerHTML = \"Schedule Task\";\r\n //document.getElementById('selectStatus').innerHTML = data.status;\r\n if (this.type != 'Account') {\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n $('#ContactList').val(objSelf.id);\r\n \r\n objSelf.taskhistory.contactid = objSelf.id;\r\n if (objSelf.currentuser.SelectedTaskGroupids.length > 0) {\r\n var index = objSelf.currentuser.SelectedTaskGroupids.length - 1;\r\n objSelf.taskhistory.taskGroupID = objSelf.currentuser.SelectedTaskGroupids[index].id;\r\n } else {\r\n objSelf.taskhistory.taskGroupID = null;\r\n }\r\n }, 100));\r\n }\r\n this.checkedBookedSlots();\r\n }\r\n $('#notesTextArea').val('');\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('month-calender') > -1) {\r\n document.getElementById('notesTextArea').style.height = '50%';\r\n }\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n config.maxlimit = 25;\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 34;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"undefined#\") {\r\n this.columnDefs.push({\r\n headerName: '#',\r\n field: '#', \r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({\r\n field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; } } });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"time\") {\r\n this.columnDefs.push({\r\n field: 'starttime', headerName: 'Start Time', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (params.value == '00:00:00' || params.value == null) { return \"\" } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"totime\") {\r\n this.columnDefs.push({\r\n field: 'endtime', headerName: 'End Time', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (params.value == '00:00:00' || params.value == null) { return \"\" } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n } },\r\n {\r\n field: 'estcompleteddate', headerName: 'Date Scheduled', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'taskcategory', headerName: 'Task', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n { field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) { if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; } } },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n }},\r\n {\r\n field: 'tasktype', headerName: 'Type', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n } },\r\n {\r\n field: 'contactName', headerName: 'Contact Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n }},\r\n {\r\n field: 'starttime', headerName: 'Start Time1', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n } },\r\n {\r\n field: 'endtime', headerName: 'End Time', hide: true, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n } }, //true starts here\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n } }\r\n ];\r\n }\r\n }\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n autoSizeAll() {\r\n //var allColumnIds = [];\r\n //if (this.gridOptions && this.gridOptions.columnApi) {\r\n // this.gridOptions.columnApi.getAllColumns().forEach(function (column) {\r\n // allColumnIds.push(column.getColId());\r\n // });\r\n // this.gridOptions.columnApi.autoSizeColumns(allColumnIds, \"autosizeColumns\");\r\n //} \r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 34).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.taskHistoryGridInitialized = true;\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n this.LoadSelectedTaskdata(rowEvent.data.id,rowEvent.node.selected, \"Load\");\r\n this.TaskId = rowEvent.data.id;\r\n }\r\n else {\r\n this.taskhistory = new TaskHistory();\r\n this.TaskId = 0;\r\n this.taskhistorynotes = [];\r\n $('#fromtime').val('');\r\n $('#totime').val('');\r\n $('#fromtime').prop('required', '');\r\n $('#totime').prop('required', '');\r\n/* document.getElementById('sid').innerHTML = \"Schedule Task\";*/\r\n if (this.type != 'Account') {\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n $('#ContactList').val(objSelf.id);\r\n \r\n objSelf.taskhistory.contactid = objSelf.id;\r\n if (objSelf.currentuser.SelectedTaskGroupids.length > 0) {\r\n var index = objSelf.currentuser.SelectedTaskGroupids.length - 1;\r\n objSelf.taskhistory.taskGroupID = objSelf.currentuser.SelectedTaskGroupids[index].id;\r\n } else {\r\n objSelf.taskhistory.taskGroupID = null;\r\n }\r\n }, 100));\r\n } \r\n }\r\n $('#notesTextArea').val('');\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('month-calender') > -1) {\r\n document.getElementById('notesTextArea').style.height = '50%';\r\n }\r\n\r\n }\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata,ownerName) {\r\n \r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.viewaccount.ownerName = ownerName;\r\n this.accdetailscmp.loadAccountId(accId);\r\n }\r\n loadcoantactname(val, type) {\r\n if (type == \"Contacts\" || type == \"Contact\") {\r\n this.customerService.LoadContactById(val).then(result => {\r\n this.customerService.loadaccountdata(result.accountid).then(result1 => {\r\n this.account = result1;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.owner);\r\n if (result1.id != undefined) {\r\n this.customerService.GetAccountContactList(result1.id).then((conatct) => {\r\n this.contactList = conatct;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n $('#ContactList').val(val);\r\n objSelf.taskhistory.contactid = val;\r\n if (objSelf.currentuser.SelectedTaskGroupids.length > 0) {\r\n var index = objSelf.currentuser.SelectedTaskGroupids.length - 1;\r\n objSelf.taskhistory.taskGroupID = objSelf.currentuser.SelectedTaskGroupids[index].id;\r\n } else {\r\n objSelf.taskhistory.taskGroupID = null;\r\n }\r\n\r\n }, 100));\r\n });\r\n }\r\n });\r\n });\r\n\r\n } else if (type == \"Customer\") {\r\n if (val != undefined) {\r\n this.customerService.GetAccountContactList(val).then((conatct) => {\r\n this.contactList = conatct;\r\n\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n $('#ContactList').val(objSelf.contactList[0].id);\r\n objSelf.taskhistory.contactid = objSelf.contactList[0].id;\r\n objSelf.ContactSelected(objSelf.taskhistory.contactid);\r\n if (objSelf.currentuser.SelectedTaskGroupids.length > 0) {\r\n var index = objSelf.currentuser.SelectedTaskGroupids.length - 1;\r\n objSelf.taskhistory.taskGroupID = objSelf.currentuser.SelectedTaskGroupids[index].id;\r\n } else {\r\n objSelf.taskhistory.taskGroupID = null;\r\n }\r\n }, 50));\r\n });\r\n }\r\n \r\n } else {\r\n if (this.account.id != undefined) {\r\n this.customerService.GetAccountContactList(this.account.id).then((conatct) => {\r\n this.contactList = conatct;\r\n this.ContactSelected(this.contactList[0].id);\r\n });\r\n }\r\n\r\n }\r\n\r\n this.customerService.GetSpecialityList(\"TimeSlots\", this.currentuser.id).then((Rows) => {\r\n this.TimeSlots = Rows;\r\n this.TimeSlotsOriginal = Rows;\r\n\r\n if (this.selectedDate !== null && this.selectedDate !== undefined) {\r\n var selectedDate = new Date(this.datePipe.transform(this.selectedDate, 'MM-dd-yyyy hh:mm a'));\r\n var minutestoAdd = Number(this.TimeSlot.split(\" \")[0]);\r\n\r\n var endTime = new Date(selectedDate.getTime() + minutestoAdd * 60000);\r\n let SelfObj = this;\r\n $(setTimeout(function () {\r\n SelfObj.checknextTimeSlot(selectedDate, endTime);\r\n }, 100));\r\n }\r\n\r\n\r\n this.customerService.GetSpecialityList(\"Time Line\", this.currentuser.id).then((Rowss) => {\r\n this.TimeLines = Rowss;\r\n this.TimeLine = 'Next Available';\r\n this.Meridian = 0;\r\n this.OpenBookedTimes = 'Open/Booked Times';\r\n });\r\n });\r\n \r\n \r\n }\r\n \r\n ngOnInit() {\r\n \r\n var url = window.location.href;\r\n if (url.indexOf(\"month-calender\") > -1) {\r\n this.opphistorygrdhgt = screen.height * 0.45111;\r\n }\r\n \r\n this.applicationComponent.isTaskDataLeadEventRaised = false;\r\n let localTaskId = 0;\r\n if (!this.selectorTag) {\r\n $(\"#sid\").removeClass(\"activeColor\");\r\n $(\".checkMark\").removeClass(\"activeColor\");\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n }\r\n if (this.selectorTag) {\r\n this.initData(this.id, this.type, this.taskid);\r\n }\r\n else {\r\n this.route.params.subscribe(params => {\r\n if (this.id == null) {\r\n this.id = params['id'];\r\n }\r\n if (this.taskid == null) {\r\n localTaskId = this.taskid = params['taskid'];\r\n }\r\n if (this.type == null) {\r\n this.type = params['type'];\r\n \r\n }\r\n this.TaskId = 0;\r\n this.HideAdnShow(this.id, this.type);\r\n \r\n this.LoadSelectedTaskdata(this.taskid, true,\"View\");\r\n this.contact.id = this.id;\r\n this.loadcoantactname(this.id, this.type);\r\n this.ContactSelected(this.id)\r\n });\r\n \r\n }\r\n if (this.applicationComponent.selectedsubbutton == 'schedTask') {\r\n this.applicationComponent.pageViewed = \"ScheduleTask\";\r\n }\r\n if (this.taskid == '0' || this.taskid == undefined || this.taskid == null || this.taskid == 'null') {\r\n this.showDialog = true;\r\n this.EditTaskDialogCss();\r\n }\r\n this.taskhistoryform = new FormGroup({\r\n 'tasktype': new FormControl(this.taskhistory.tasktype, Validators.required),\r\n 'estcompleteddate': new FormControl(this.taskhistory.estcompleteddate, Validators.required),\r\n 'time': new FormControl(this.taskhistory.time, (this.taskhistory.time != null) ? Validators.required : Validators.nullValidator),\r\n 'totime': new FormControl(this.taskhistory.totime, Validators.nullValidator),\r\n 'notedescription': new FormControl(this.taskhistory.notedescription, Validators.required)\r\n });\r\n this.TaskId = 0;\r\n this.opprtunityservice.GetTaskStatus(\"TaskStatus\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.TaskStatuslist = pc;\r\n });\r\n this.initializeAgGrid();\r\n if (this.taskDialog == false) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == localTaskId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500)); \r\n\r\n }\r\n \r\n if (this.type == 'Customer') {\r\n this.customerService.loadaccountdata(this.id).then(result1 => {\r\n this.account = result1;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.owner);\r\n });\r\n } else {\r\n this.customerService.GetContactById(this.id).then(result1 => {\r\n this.contact = result1; \r\n });\r\n }\r\n \r\n }\r\n \r\n initData(contactId, Type, taskId) {\r\n this.id = contactId;\r\n this.HideAdnShow(contactId, Type);\r\n this.ContactSelected(contactId)\r\n this.contact.id = contactId;\r\n //this.accdetailscmp.ContactInfo(contactId);\r\n if (this.taskDialog == false) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == taskId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.TaskId = node.data.id;\r\n }\r\n \r\n selfObj.accdetailscmp.ContactInfo(contactId);\r\n \r\n });\r\n }, 500));\r\n }\r\n \r\n }\r\n Search() {\r\n this.labelButton = true\r\n this.tableDiv = false\r\n this.labelDiv = true\r\n this.searchDiv = false\r\n var term = $.trim($('#term').val());\r\n if (term == null || term == undefined || term == \"\")\r\n return false;\r\n\r\n if (document.getElementById('customer').className == 'mybtn mainactiveButton') {\r\n document.getElementById('initialTable').style.display = 'none';\r\n document.getElementById('customerTable').style.display = 'block';\r\n this.opprtunityservice.GetAllAccountsBySearch(this.currentuser.id,term, this.currentuser.id, 'customer').then((account) => {\r\n account.forEach(account => {\r\n });\r\n //this.initializeAgGridaccount();\r\n this.allCustomers = account;\r\n });\r\n } else {\r\n document.getElementById('customerTable').style.display = 'none';\r\n document.getElementById('initialTable').style.display = 'block';\r\n this.opprtunityservice.GetAllContactsBySearch(term, this.currentuser.id, 'contacts').then((contact) => {\r\n contact.forEach(contact => {\r\n });\r\n // this.initializeAgGridcontact();\r\n this.allcontacts = contact;\r\n });\r\n }\r\n\r\n $('#term').val('');\r\n }\r\n\r\n ContactreloadItems(params) {\r\n if (this.itemResource != undefined) {\r\n this.itemResource.query(params).then(Contactitems => this.Contactitems = Contactitems);\r\n }\r\n }\r\n loadTaskHistory(contactid, type) {\r\n \r\n if (type != undefined && contactid != undefined) {\r\n \r\n this.id = contactid;\r\n this.type = type;\r\n this.taskhistory = new TaskHistory();\r\n this.items = [];\r\n \r\n //this.leadservice.GetAllTaskHistoryByContact(contactid, type, this.currentuser.timezone).then((taskhistory) => {\r\n this.leadservice.GetAllTaskHistoryForCalendar('All Tasks', $(\"#userids\").val(), '2018-01-01', '2021-12-31', 'null', 'All Tasks', this.currentuser.timezone).then((taskhistory) => { \r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"MM-dd-yyyy\");\r\n taskhistory.estcompleteddate = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\"));\r\n });\r\n this.Scheduletasktaskhistory = taskhistory;\r\n\r\n //this.Filters(\"\", '');\r\n\r\n if (this.taskDialog == false) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.TaskId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n }\r\n \r\n\r\n });\r\n }\r\n }\r\n\r\n ContactSelected(contactid) {\r\n this.leadservice.GetAllTaskHistoryByContact(contactid, 'Contacts', this.currentuser.timezone).then((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"MM-dd-yyyy\");\r\n taskhistory.estcompleteddate = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\"));\r\n });\r\n this.ContactTaskHistory = taskhistory;\r\n this.accdetailscmp.ContactInfo(this.taskhistory.contactid);\r\n });\r\n }\r\n\r\n HideAdnShow(id, type) {\r\n if (id == 0 || id == '' || id == null) { \r\n this.ContactTaskHistory = [];\r\n this.labelButton = true; \r\n this.taskhistory = new TaskHistory();\r\n this.taskhistorynotes = [];\r\n \r\n } else { \r\n this.labelButton = false; \r\n this.loadcoantactname(id, type);\r\n this.leadservice.GetSalesStagesList().then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n\r\n\r\n });\r\n this.Salesstageslist = accounttype;\r\n });\r\n this.type = type;\r\n\r\n this.loadTaskHistory(id, this.type);\r\n this.leadservice.GetSalesStagesList().then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.itemList = accounttype;\r\n });\r\n }\r\n \r\n \r\n }\r\n public convertDate(selectedTimezone: string): void {\r\n //this.date = moment(this.date).tz(selectedTimezone).format(\"DD/MM/YYYY - HH:mm\");\r\n }\r\n\r\n SaveTaskHistory() {\r\n if (this.taskhistory.id == undefined) {//save\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Sched Task\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }\r\n document.getElementById('notesTextArea').style.height = '50%';\r\n }\r\n else {//edit\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Sched Task\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canedit == false) {\r\n this.toastr.warning(\"You Do Not have Access to update – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n if (this.taskhistory.id > 0 ) {\r\n this.taskhistory.type = this.taskhistory.type;\r\n \r\n } else {\r\n this.taskhistory.type = 'Contacts';\r\n this.taskhistory.status = 'Open';\r\n }\r\n \r\n\r\n this.taskhistory.userid = this.currentuser.id;\r\n if (this.account && this.account != null && this.account.ownerid != undefined && this.account.ownerid != null) {\r\n this.taskhistory.ownerid = this.account.ownerid;\r\n } else {\r\n this.taskhistory.ownerid = this.currentuser.id;\r\n }\r\n \r\n this.shcedulestatus = this.taskhistory.status;\r\n this.taskhistory.timezone = this.currentuser.timezone;\r\n this.taskhistory.tasktype = $(\"#sel1 option:selected\").text()\r\n this.taskhistory.tasktypeid = $(\"#sel1 option:selected\").val();\r\n var moment = require('moment-timezone');\r\n this.timezonevalue = moment.tz.guess();\r\n \r\n if (this.taskhistory.time != null && this.taskhistory.time != undefined && this.taskhistory.time != \"\") {\r\n this.taskhistory.starttime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.time;\r\n }\r\n if (this.taskhistory.totime != null && this.taskhistory.totime != undefined && this.taskhistory.totime != \"\") {\r\n this.taskhistory.endtime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.totime;\r\n }\r\n this.notes.notedescription = this.taskhistory.notedescription;\r\n this.taskhistoryDuplicate = this.taskhistory;\r\n this.leadservice.addTaskHistory(this.taskhistory).then(result => {\r\n \r\n this.taskhistorynotes = [];\r\n \r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.loadTaskHistory(this.id, this.type);\r\n /*selfObj.selectedscheduleTasktype = undefined;*/\r\n $(\"#test\").val('');\r\n }, 200));\r\n this.notes.accountid = result.id;\r\n this.notes.type = \"TaskHistory\";\r\n this.notes.userid = this.currentuser.id;\r\n this.notes.isnewnote = 1;\r\n \r\n this.opprtunityservice.addopprtunityNotes(this.notes).then(result => {\r\n this.notes = result;\r\n \r\n this.taskhistory.notedescription = '';\r\n this.TimeSlotSaveConfirm = false;\r\n $('#notesTextArea').val('');\r\n $('#notesTextArea').attr('style', 'color:black;width:100%;resize:none;height:50%');\r\n this.toastr.success(\"Task saved successfully.\", \"Task Saved\", { timeOut: 600 });\r\n \r\n this.ContactSelected(this.contactList[0].id);\r\n this.LoadSelectedTaskdata(this.taskid, true, \"View\");\r\n });\r\n\r\n $('#notesTextArea').val(\"\");\r\n $('#fromtime').val('');\r\n $('#totime').val('');\r\n $('#fromtime').prop('required', '');\r\n $('#totime').prop('required', '');\r\n if (this.shcedulestatus == \"Complete & Repeat Task\" || this.shcedulestatus == \"Complete & Repeat Task\") {\r\n this.ShowSlotsDiv = true;\r\n this.taskhistory.id = 0;\r\n this.taskid = '0';\r\n this.TaskId = 0;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (selfObj.taskhistory.taskcategory == 'Phone') {\r\n selfObj.scheduleTaskType = 'phonecall';\r\n\r\n selfObj.ActiveTask('phonecall', 0, 0);\r\n\r\n } else if (selfObj.taskhistory.taskcategory == 'To Do') {\r\n selfObj.scheduleTaskType = 'todo';\r\n selfObj.ActiveTask('todo', 0, 0);\r\n } else {\r\n selfObj.scheduleTaskType = 'meeting';\r\n selfObj.ActiveTask('meeting', 0, 0)\r\n }\r\n }, 300));\r\n\r\n }\r\n else if (this.shcedulestatus == \"Complete & Schedule New Task\" || this.shcedulestatus == \"Complete & Schedule New Task\") {\r\n this.ShowSlotsDiv = false;\r\n this.taskhistory.id = 0;\r\n this.taskid = '0';\r\n this.TaskId = 0;\r\n this.taskhistory = new TaskHistory();\r\n this.taskhistory.taskGroupID = this.taskhistoryDuplicate.taskGroupID;\r\n this.taskhistory.contactid = this.taskhistoryDuplicate.contactid;\r\n this.taskhistory.type = this.taskhistoryDuplicate.type;\r\n $('.changeActive').removeClass('noprovider');\r\n \r\n\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('reports/audit') > -1) {\r\n this.sendMsgEvent.emit(\"RefreshReportGrid\");\r\n } else {\r\n this.sendMsgEvent.emit(\"Task Added\");\r\n this.showDialog = false;\r\n this.ShowSlotsDiv = false;\r\n this.taskhistory = new TaskHistory()\r\n this.TaskId = 0;\r\n }\r\n $('.changeActive').removeClass('noprovider');\r\n }\r\n \r\n \r\n });\r\n \r\n $('#taskCancel').attr('class', 'col-xs-6');\r\n \r\n this.divone = false;\r\n this.tableDiv = true\r\n this.labelDiv = false;\r\n this.labelButton = false\r\n this.tableDiv = true\r\n //this.labelDiv = true\r\n this.searchDiv = false\r\n \r\n //this.Tasktypelist = [];\r\n \r\n this.selectedTaskType = \"\";\r\n //if (!this.ShowSlotsDiv && this.TaskId) {\r\n // document.getElementById('selectStatus').innerHTML = 'Open';\r\n //}\r\n \r\n \r\n \r\n \r\n }\r\n\r\n public loadtaskHistoryByselecteddate(selecteddate) {\r\n this.leadservice.GetAllTaskHistoryBySelectedDate('All', $(\"#userids\").val().toString(), selecteddate).then((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"MM-dd-yyyy\");\r\n taskhistory.estcompleteddate = this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\");\r\n taskhistory.DateSched = this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\");\r\n });\r\n this.Scheduletasktaskhistory = taskhistory;\r\n });\r\n\r\n }\r\n LoadSelectedTaskdata(taskhistoryid, selected: boolean, Audittype): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.taskhistory.id = taskhistoryid;\r\n $('#notesTextArea').attr('style', 'color:black;width:100%;resize:none;');\r\n if (!selected) { \r\n this.notes.notedescription = '';\r\n this.taskhistory.notedescription = '';\r\n $('#notesTextArea').val('');\r\n this.taskhistorynotes = [];\r\n this.taskhistory = new TaskHistory();\r\n this.Tasktypelist = [];\r\n this.notes.notedescription = '';\r\n this.taskhistory.notedescription = '';\r\n $('#sel1').val(0);\r\n $('#date').val('');\r\n $('#time').val('');\r\n $('.changeActive').removeClass('noprovider')\r\n\r\n $('.labelStatus').removeClass('redColor');\r\n $('.labelStatus > .spanStatus').removeClass('activeColor');\r\n /* document.getElementById('sid').innerHTML = \"Schedule a Task\";*/\r\n document.getElementById('notesTextArea').style.color = 'black';\r\n var idStatus = 167;\r\n var rstatus = 'Open'\r\n var spanId = idStatus + '_span';\r\n $('#' + idStatus).addClass('redColor');\r\n $('#' + spanId).addClass('activeColor');\r\n\r\n this.scheduleTaskType = \"\";\r\n this.selectedTaskType = \"\";\r\n this.TaskId = 0;\r\n }\r\n else {\r\n \r\n if (taskhistoryid != null && taskhistoryid != \"null\" && taskhistoryid != 0) {\r\n $('#notesTextArea').attr('style', 'color:red;width:100%;resize:none;');\r\n this.TaskId = this.taskhistory.id\r\n this.opprtunityservice.GetTaskStatus(\"TaskStatus\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.TaskStatuslist = pc;\r\n });\r\n this.TaskStatussettings = { singleSelection: true, text: \"Select Task Type\" };\r\n \r\n this.leadservice.GetByTaskHistoryId(taskhistoryid, Audittype, this.currentuser.timezone).then(result => {\r\n var type = result.taskcategory + \" - \" + result.tasktype;\r\n this.taskhistory = result;\r\n this.taskhistory.time = this.datePipe.transform(this.taskhistory.time, 'hh: mm a')\r\n this.taskhistory.totime = this.datePipe.transform(this.taskhistory.totime, 'hh: mm a')\r\n $('#fromtime').val(this.taskhistory.time);\r\n $('#totime').val(this.taskhistory.totime);\r\n\r\n if (result.taskcategory == 'Phone') {\r\n this.scheduleTaskType = 'phonecall';\r\n \r\n this.ActiveTask('phonecall', 0, taskhistoryid);\r\n\r\n } else if (result.taskcategory == 'To Do') {\r\n this.scheduleTaskType = 'todo';\r\n this.ActiveTask('todo', 0, taskhistoryid);\r\n } else {\r\n this.scheduleTaskType = 'meeting';\r\n this.ActiveTask('meeting', 0, taskhistoryid)\r\n }\r\n \r\n this.taskhistory.tasktype = type;\r\n this.taskhistory.tasktypeid = result.tasktypeid;\r\n this.divone = true;\r\n this.tableDiv = true;\r\n this.labelDiv = false;\r\n this.labelButton = false;\r\n this.searchDiv = true;\r\n this.tableDiv = true;\r\n this.selectedTaskType = result.tasktype;\r\n this.taskhistory.estcompleteddate = ((this.taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(this.taskhistory.estcompleteddate, \"yyyy-MM-dd\"));\r\n this.leadservice.GetAllTaskHistoryById(taskhistoryid, 'TaskHistory').then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.taskhistorynotes = items;\r\n $('#notesTextArea').attr('style', 'color:red;border:none');\r\n if ((this.taskhistorynotes).length < 1) {\r\n $('#notesTextArea').attr('rows', '8')\r\n } else {\r\n $('#notesTextArea').attr('rows', '8') \r\n }\r\n var id = 0;\r\n var status = '';\r\n if (this.taskhistory.status == 'Open') {\r\n id = 167;\r\n status = 'Open'\r\n }\r\n else if (this.taskhistory.status == 'Completed') {\r\n id = 168;\r\n status = 'Completed'\r\n }\r\n else if (this.taskhistory.status == 'Not Completed Task') {\r\n id = 506;\r\n status = 'Not Completed Task'\r\n }\r\n else if (this.taskhistory.status == 'Complete & Return Task' || this.taskhistory.status == 'Complete & Return') {\r\n id = 168;\r\n status = 'Completed'\r\n } else if (this.taskhistory.status == 'Complete & Repeat Task' || this.taskhistory.status == 'Complete & Repeat') {\r\n id = 169;\r\n status = 'Completed'\r\n } else if (this.taskhistory.status == 'Complete & Schedule New Task' || this.taskhistory.status == 'Complete & Schedule New') {\r\n id = 505;\r\n status = 'Completed'\r\n } else if (this.taskhistory.status == 'Delete Task/Appt') {\r\n id = 701;\r\n status = 'Delete Task/Appt'\r\n } else {\r\n \r\n }\r\n \r\n this.taskhistory.status = status;\r\n });\r\n\r\n if (this.taskDialog == false) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == taskhistoryid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.TaskId = node.data.id;\r\n } \r\n });\r\n }, 100));\r\n }\r\n });\r\n }\r\n }\r\n \r\n });\r\n return promise;\r\n \r\n }\r\n rowColors(car) {\r\n if (car.id == this.taskhistory.id) return 'rgb(255,255,0)';\r\n }\r\n completeForm() {\r\n var validate = 1;\r\n var fromTime = $('#fromtime').val();\r\n var toTime = $('#totime').val();\r\n \r\n if (validate > 0) {\r\n if ((this.taskhistory.tasktype == \"\" || this.taskhistory.estcompleteddate == 'undefined' || this.taskhistory.tasktype == undefined) && (($('#sel1').val() == \"\") || $('#sel1').val() == null) || $('#date').val() == null || $('#date').val() == \"\") {\r\n $('#taskSave').attr('style', 'display:block;margin-top: 10px;padding: 0;');\r\n } else if ((this.taskhistory.tasktype == undefined && ($('#sel1').val() == \"\") || ($('#date').val() == null || $('#date').val() == \"\"))) {\r\n $('#taskSave').attr('style', 'display:block;margin-top: 10px;padding: 0;');\r\n\r\n $('#taskCancel').attr('class', 'col-xs-6');\r\n } else {\r\n $('#taskCancel').attr('class', 'col-xs-6');\r\n $('#taskSave').attr('style', 'display:block;margin-top: 10px;padding: 0;');\r\n }\r\n } else {\r\n this.toastr.warning(\"Invalid From And To Time\");\r\n }\r\n\r\n }\r\n\r\n valuechange(newValue) {\r\n if (newValue != \"\") {\r\n $('#totime').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-valid ng-touched');\r\n $('#totime').prop('required', true);\r\n !this.taskhistoryform.valid;\r\n this.taskhistoryform.controls[\"totime\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"totime\"].updateValueAndValidity();\r\n this.taskhistory.totime = newValue;\r\n this.totimevalid = true;\r\n // 111this.fromtimevalid = true;\r\n \r\n }\r\n }\r\n valuechangeFrom(newValue) {\r\n if (newValue != \"\") {\r\n $('#fromtime').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#fromtime').addClass('ng-pristine ng-star-inserted ng-valid ng-touched');\r\n $('#fromtime').prop('required', true);\r\n // if (!this.totimevalid) {\r\n if (this.taskhistory.totime == undefined) {\r\n $('#totime').removeClass('ng-pristine ng-star-inserted ng-valid ng-touched');\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#totime').prop('required', false);\r\n }\r\n // }\r\n this.fromtimevalid = true;\r\n $('#totime').removeAttr('disabled'); \r\n this.taskhistory.time = newValue;\r\n }\r\n }\r\n \r\n cleartime() {\r\n $('#fromtime').prop('required', '');\r\n $('#totime').prop('required', '');\r\n this.taskhistory.totime = undefined;\r\n this.taskhistory.time = undefined;\r\n this.taskhistory.starttime = undefined;\r\n this.taskhistory.endtime = undefined;\r\n $('#fromtime').val('');\r\n $('#totime').val('');\r\n this.fromtimevalid = true;\r\n this.totimevalid = true;\r\n $('#totime').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#fromtime').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n }\r\n ActiveTask(id, tasktypeid, taskhistoryid) {\r\n this.Wizardselectedval = false;\r\n this.TaskCategory = id;\r\n $(\".changeActive\").removeClass(\"noprovider\");\r\n \r\n if (id == 'meeting') {\r\n\r\n $(\"#\" + id).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select Meeting List');\r\n }\r\n else if (id == 'phonecall') {\r\n\r\n $(\"#\" + id).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select Phone Call List');\r\n }\r\n else if (id == 'todo') {\r\n\r\n $(\"#\" + id).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select To Do List');\r\n\r\n }\r\n else if (id == 'BlockTime') {\r\n\r\n $(\"#\" + id).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select To Do List');\r\n\r\n }\r\n \r\n var taskGroupId = 0;\r\n if (this.taskhistory.taskGroupID) {\r\n taskGroupId = this.taskhistory.taskGroupID;\r\n } else {\r\n taskGroupId = this.currentuser.TaskGroupid.split(\",\")[0];\r\n }\r\n\r\n this.leadservice.GetAllTasksList(id, this.saleprocesshistory.salesstage, taskGroupId, 0, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n\r\n this.Tasktypelist = accounttype;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (tasktypeid != 0 && tasktypeid != undefined) {\r\n selfObj.taskhistory.tasktypeid = tasktypeid;\r\n }\r\n else {\r\n if (taskhistoryid == 0 || taskhistoryid == undefined) {\r\n selfObj.taskhistory.tasktype = accounttype[0].itemName;\r\n selfObj.taskhistory.tasktypeid = accounttype[0].id;\r\n }\r\n\r\n }\r\n selfObj.selectedscheduleTasktype = selfObj.TaskCategory;\r\n selfObj.ChooseTaskType(selfObj.taskhistory.tasktypeid);\r\n }, 500));\r\n\r\n });\r\n \r\n \r\n }\r\n selectedStatus(event) {\r\n if (event.target.value!= \"Open\" && (!this.TaskId || this.TaskId == 0)) {\r\n return false;\r\n }\r\n if ($('#sel1').val() != null) {\r\n this.saleprocesshistory.salesstage = event.target.value;\r\n this.taskhistory.status = event.target.value; \r\n this.completeForm();\r\n }\r\n }\r\n\r\n AccountContact(type) {\r\n\r\n this.type = type;\r\n document.getElementById('customerTable').style.display = 'none';\r\n document.getElementById('initialTable').style.display = 'none';\r\n if (type == 'customer') {\r\n var url = window.location.href;\r\n if (url.indexOf('tasklist') < 0) {\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Customer/0/null`);\r\n }\r\n\r\n $(\"#contacts_span\").removeClass(\"activeColor\");\r\n $(\"#contacts\").removeClass(\"mainactiveButton\");\r\n $(\"#contacts\").addClass(\"noprovider\");\r\n $(\"#customer\").removeClass(\"noprovider\");\r\n $(\"#customer_span\").addClass(\"activeColor\");\r\n $(\"#customer\").addClass(\"mainactiveButton\");\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('tasklist') < 0) {\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/0/null`);\r\n }\r\n $(\"#customer_span\").removeClass(\"activeColor\");\r\n $(\"#customer\").removeClass(\"mainactiveButton\");\r\n $(\"#customer\").addClass(\"noprovider\");\r\n $(\"#contacts\").removeClass(\"noprovider\");\r\n //$(\"#contacts_span\").addClass(\"activeColor\");\r\n //$(\"#contacts\").addClass(\"mainactiveButton\");\r\n }\r\n }\r\n reloadPrevious() {\r\n this.location.back();\r\n }\r\n reloadSched() {\r\n \r\n var url = window.location.href;\r\n if (url.indexOf(\"month-calender\") > -1) {\r\n this.sendMsgEvent.emit(\"Cancel\");\r\n } else {\r\n this.showDialog = false;\r\n //this.applicationComponent.TaskData('Open', this.currentuser.id)\r\n // this.sendGridRefreshEvent.emit(\"Cancel\");\r\n }\r\n \r\n }\r\n\r\n rowDoubleClickAgGrid(rowEvent) { }\r\n onSearchstring(msg) {\r\n this.taskhistorynotes = [];\r\n this.sendMsgEvent.emit(msg);\r\n }\r\n onWizardAdded(msg) {\r\n $(setTimeout(function () {\r\n $(\"#responsewizard\").trigger(\"click\");\r\n }, 200));\r\n }\r\n\r\n //Wizardselected() {\r\n // \r\n // if (this.Wizardselectedval == true) {\r\n // \r\n // this.Wizardselectedval = false;\r\n // //this.leadservice.UpdateResonceByUser(this.currentuser.id).then((response) => {\r\n // //});\r\n // $(\"#responsewizard\").removeClass(\"GreenColor\");\r\n \r\n // }\r\n // else {\r\n // this.Wizardselectedval = true\r\n // $(\"#responsewizard\").addClass(\"GreenColor\");\r\n // $('.activeButton').removeClass('activeButton');\r\n // $('#Opentask').addClass('activeButton');\r\n // this.responsewzdcomp.GetLastResponse();\r\n // }\r\n \r\n //}\r\n\r\n\r\n\r\n getStartTime(Event) {\r\n this.taskhistory.time = Event;\r\n this.validFrom();\r\n\r\n var Roundtime = this.convertTime12to24(Event);\r\n var NextTime = this.roundTime(Roundtime, 60);\r\n this.taskhistory.totime= this.convertFrom24To12Format(NextTime);\r\n this.validTo();\r\n }\r\n\r\n convertTime12to24(time12h) {\r\n const [time, modifier] = time12h.split(' ');\r\n\r\n let [hours, minutes] = time.split(':');\r\n\r\n if (hours === '12') {\r\n hours = '00';\r\n }\r\n\r\n if (modifier === 'PM') {\r\n hours = parseInt(hours, 10) + 12;\r\n }\r\n\r\n return `${hours}:${minutes}`;\r\n }\r\n\r\n convertFrom24To12Format = (time24) => {\r\n const [sHours, minutes] = time24.match(/([0-9]{1,2}):([0-9]{2})/).slice(1);\r\n const period = +sHours < 12 ? 'AM' : 'PM';\r\n const hours = +sHours % 12 || 12;\r\n\r\n return `${hours}:${minutes} ${period}`;\r\n }\r\n\r\n roundTime(time, minutesToRound) {\r\n let [hours, minutes] = time.split(':');\r\n hours = parseInt(hours);\r\n minutes = parseInt(minutes);\r\n\r\n // Convert hours and minutes to time in minutes\r\n if (minutes == 0) {\r\n time = (hours * 60) + 60;\r\n } else {\r\n time = (hours * 60) + minutes;\r\n }\r\n \r\n\r\n let rounded = Math.ceil(time / minutesToRound) * minutesToRound;\r\n let rHr = '' + (rounded / 60)\r\n let rMin = '' + rounded % 60\r\n\r\n return rHr.padStart(2, '0') + ':' + rMin.padStart(2, '0')\r\n }\r\n\r\n\r\n getEndTime(Event) {\r\n this.taskhistory.totime = Event;\r\n this.validTo();\r\n }\r\n validFrom() {\r\n \r\n if (this.taskhistory.time == \"Invalid DateTime\") {\r\n $('#fromtime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"time\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"time\"].updateValueAndValidity();\r\n if (this.taskhistory.totime == undefined || this.taskhistory.totime == \"Invalid DateTime\") {\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"totime\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"totime\"].updateValueAndValidity();\r\n this.totimevalid = false;\r\n } else {\r\n this.totimevalid = true;\r\n }\r\n }\r\n else {\r\n this.valuechangeFrom(this.taskhistory.time);\r\n if (this.taskhistory.totime == undefined || this.taskhistory.totime == \"Invalid DateTime\") {\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"totime\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"totime\"].updateValueAndValidity();\r\n this.totimevalid = false;\r\n } else {\r\n this.totimevalid = true;\r\n }\r\n //this.fromtimevalid = false;\r\n }\r\n }\r\n\r\n validTo() {\r\n \r\n if (this.taskhistory.totime == \"Invalid DateTime\") {\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"totime\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"totime\"].updateValueAndValidity();\r\n if (this.taskhistory.time == undefined || this.taskhistory.time == \"Invalid DateTime\") {\r\n $('#fromtime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"time\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"time\"].updateValueAndValidity();\r\n this.totimevalid = false;\r\n }\r\n }\r\n else {\r\n this.valuechange(this.taskhistory.totime);\r\n if (this.taskhistory.time == undefined || this.taskhistory.time == \"Invalid DateTime\") {\r\n $('#fromtime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"time\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"time\"].updateValueAndValidity();\r\n this.totimevalid = false;\r\n }\r\n //this.fromtimevalid = false;\r\n }\r\n }\r\n\r\n addContact() {\r\n //if (this.practiceid == \"view\") {\r\n // this.applicationComponent.isAccessDenied = true;\r\n //} else {\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Contacts\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.clear();\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n //}\r\n }\r\n AccountsharingAg(selectedval) {\r\n \r\n\r\n if (selectedval == \"Edit\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else if (selectedval == \"View\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else {\r\n this.isSharing = true;\r\n this.rightMainDivHideShow = false;\r\n this.accountSharingid = 1;\r\n this.AddContacttableDiv = false;\r\n this.ownrshipComp.loadAccountInformation(this.account.id, 0);\r\n }\r\n //}\r\n\r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n GetCustomerNotes(contactid, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = taskhistory;\r\n });\r\n\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('#notesshowDialog .dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(columnSelections: string) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' },hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n }\r\n openDisplaynotes(params) {\r\n $('#closeDetailsDialog').click();\r\n\r\n // this.notes.notedescription = params.value;\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (selfObj.isModal) {\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtLongNoteDesc').css('overflow', 'auto');\r\n }\r\n } else {\r\n var gridOffset = $(\"#notesGrid\").offset();\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n onCloseDialogEventReceived(val) {\r\n this.saleprocesshistory.notesDescription = null;\r\n }\r\n openAccountNotes() {\r\n this.isModal = true;\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n });\r\n $('#accotIdNotes').val(this.contact.accountid);\r\n $('#accotTypeNotes').val('Customer');\r\n this.GetCustomerNotes(this.contact.accountid, 'Customer');\r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n this.conid = this.contact.accountid;\r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n }\r\n }\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n\r\n\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n //this.GetAllProviderAndContactInfo(this.account.id)\r\n }\r\n btnClickReceived(event) {\r\n if (event.btnName == 'addContact') {\r\n this.addContact();\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n this.openAccountNotes();\r\n } else if (event.btnName == 'AccountInfo') {\r\n\r\n if (this.taskhistory.id == null || this.taskhistory.id == 0 || this.taskhistory.id == undefined || this.FieldsModified == true) {\r\n this.CloseCreateNewWarning = true;\r\n setTimeout(function () {\r\n $('#CloseCreateNewWarning .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n } else {\r\n this.contactInfo();\r\n }\r\n }\r\n }\r\n\r\n contactInfo() {\r\n localStorage.setItem('RhxContactVal', (this.taskhistory.contactid).toString());\r\n\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }, 50));\r\n }\r\n\r\n TaskGroupChanged(event) {\r\n //this.taskhistory = new TaskHistory();\r\n this.TaskId = 0;\r\n this.taskhistorynotes = [];\r\n //this.taskhistory.taskGroupID = event.target.value;\r\n this.taskhistory.contactid = this.contact.id;\r\n $(\".changeActive\").removeClass(\"noprovider\");\r\n }\r\n\r\n getTimeIntervals(StartTime,EndDate, Duration) {\r\n var DateIntervals = [{ WeekDay: '', Date: '', Time: '', AMPM: '', CurrentTime: new Date(), Booked: false, SlotDuration: 0, BookingId: 0, hidden: false, To: '', ToAMPM:'' }];\r\n var Start;\r\n if (this.selectedDate) {\r\n Start = new Date(StartTime);\r\n } else {\r\n Start = new Date(StartTime.setHours(6, 0, 0, 0));\r\n }\r\n\r\n var End = new Date(EndDate.setHours(22, 0, 0, 0));\r\n \r\n if ((new Date < Start)) {\r\n DateIntervals = [{\r\n WeekDay: this.getweek(new Date(Start).getDay()),\r\n Date: this.datePipe.transform(Start, 'MM-dd-yyyy'),\r\n Time: this.datePipe.transform(Start, 'hh: mm'),\r\n AMPM: this.datePipe.transform(Start, 'a'),\r\n CurrentTime: Start,\r\n Booked: false, SlotDuration: Number(this.TimeSlot.split(\" \")[0]),\r\n BookingId: 0, hidden: false,\r\n To: this.datePipe.transform(new Date(new Date(Start).getTime() + Duration * 60000), 'hh: mm'),\r\n ToAMPM: this.datePipe.transform(new Date(new Date(Start).getTime() + Duration * 60000), 'a')\r\n }];\r\n } else {\r\n DateIntervals = [];\r\n }\r\n \r\n while ((Start < End) )\r\n {\r\n Start = new Date(new Date(Start).getTime() + Duration * 60000);\r\n if (this.CheckFilterDays(Start) && (new Date(Start).getHours() >= 6 && new Date(Start).getHours() <= 22) && (new Date < Start)) { \r\n DateIntervals.push({\r\n WeekDay: this.getweek(new Date(Start).getDay()),\r\n Date: this.datePipe.transform(Start, 'MM-dd-yyyy'),\r\n Time: this.datePipe.transform(Start, 'hh: mm'),\r\n AMPM: this.datePipe.transform(Start, 'a'),\r\n CurrentTime: Start,\r\n Booked: false, SlotDuration: Number(this.TimeSlot.split(\" \")[0]), BookingId: 0, hidden: false,\r\n To: this.datePipe.transform(new Date(new Date(Start).getTime() + Duration * 60000), 'hh: mm'),\r\n ToAMPM: this.datePipe.transform(new Date(new Date(Start).getTime() + Duration * 60000), 'a') \r\n });\r\n } else {\r\n\r\n }\r\n \r\n }\r\n return DateIntervals;\r\n \r\n }\r\n getweek(val) {\r\n var weekday = new Array(7);\r\n weekday[0] = \"Sunday\";\r\n weekday[1] = \"Monday\";\r\n weekday[2] = \"Tuesday\";\r\n weekday[3] = \"Wednesday\";\r\n weekday[4] = \"Thursday\";\r\n weekday[5] = \"Friday\";\r\n weekday[6] = \"Saturday\";\r\n\r\n return weekday[val];\r\n }\r\n CheckFilterDays(Start: Date) {\r\n\r\n if (new Date(Start).getDay() == 1 && this.DaysFilter.Monday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 2 && this.DaysFilter.Tuesday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 3 && this.DaysFilter.Wednesday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 4 && this.DaysFilter.Thursday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 5 && this.DaysFilter.Friday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 6 && this.DaysFilter.Saturday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 0 && this.DaysFilter.Sunday == true) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n Filters(event, value) {\r\n if (this.selectedDate == null || this.selectedDate == undefined) {\r\n this.getIntervels(new Date(), this.additionalDays);\r\n } else {\r\n this.getSelectedIntervels(this.selectedDate);\r\n }\r\n \r\n }\r\n getIntervels(StartDate: Date,additionalDate:number) {\r\n switch (this.TimeLine) {\r\n case '1 Week': {\r\n StartDate.setDate(StartDate.getDate() + 7);\r\n break;\r\n }\r\n case '2 Weeks': {\r\n StartDate.setDate(StartDate.getDate() + 14);\r\n break;\r\n }\r\n case '3 Weeks': {\r\n StartDate.setDate(StartDate.getDate() + 21);\r\n break;\r\n }\r\n case '1 Month': {\r\n StartDate = new Date(StartDate.setMonth(StartDate.getMonth() + 1));\r\n break;\r\n }\r\n case '2 Months': {\r\n StartDate = new Date(StartDate.setMonth(StartDate.getMonth() + 2));\r\n break;\r\n }\r\n case '3 Months': {\r\n StartDate = new Date(StartDate.setMonth(StartDate.getMonth() + 3));\r\n break;\r\n }\r\n case '6 Months': {\r\n StartDate = new Date(StartDate.setMonth(StartDate.getMonth() + 6));\r\n break;\r\n } case '12 Months': {\r\n StartDate = new Date(StartDate.setFullYear(StartDate.getFullYear() + 1));\r\n break;\r\n }\r\n case 'Next Available': {\r\n StartDate.setDate(StartDate.getDate());\r\n break;\r\n }\r\n default: {\r\n StartDate.setDate(StartDate.getDate() + 7);\r\n break;\r\n }\r\n }\r\n\r\n if (StartDate.getDay() == 6) {\r\n\r\n StartDate.setDate(StartDate.getDate() + 2);\r\n } else if (StartDate.getDay() == 0 ) {\r\n StartDate.setDate(StartDate.getDate() + 1);\r\n }\r\n var count = 0;\r\n var EndDate = new Date(this.datePipe.transform(StartDate));\r\n var statDate = new Date(this.datePipe.transform(StartDate));\r\n \r\n\r\n if (this.selectedDate !== null && this.selectedDate !== undefined) {\r\n EndDate = new Date(this.datePipe.transform(this.selectedDate , 'MM-dd-yyyy hh:mm a'));\r\n } else {\r\n while (count < additionalDate) {\r\n EndDate = new Date(statDate.setDate(statDate.getDate() + 1));\r\n if (this.CheckFilterDays(EndDate)) {\r\n count++;\r\n }\r\n\r\n }\r\n }\r\n\r\n this.TimeIntervalsOriginal = this.TimeIntervals = this.getTimeIntervals(StartDate, EndDate, this.TimeSlot.split(\" \")[0]); //Tom Wants 15mins intervals by default\r\n //this.TimeIntervalsOriginal = this.TimeIntervals = this.getTimeIntervals(StartDate, EndDate, 15);\r\n\r\n this.checkedBookedSlots();\r\n \r\n }\r\n\r\n checkedBookedSlots() {\r\n var moment = require('moment-timezone');\r\n //if (this.TaskId > 0) {\r\n\r\n // var res = this.Scheduletasktaskhistory.filter(x => x.id == this.TaskId)[0];\r\n // var Mins = moment.duration(moment(res.endtime, \"HH:mm:ss a\").diff(moment(res.starttime, \"HH:mm:ss a\")));\r\n \r\n // //var minutes = (parseInt(Mins.asHours()) * 60) + parseInt(Mins.asMinutes());\r\n // var minutes = parseInt(Mins.asMinutes());\r\n // this.assignTimeSlot(minutes);\r\n \r\n // this.TimeIntervalsOriginal.forEach(elem => {\r\n // if ((elem.Date == res.estcompleteddate) && (this.datePipe.transform(elem.CurrentTime, 'hh:mm:ss a') == res.starttime) && (res.id == this.TaskId) && (minutes == elem.SlotDuration)) {\r\n\r\n // var currenttime = (this.datePipe.transform(elem.CurrentTime, 'hh:mm:ss a'));\r\n // var CurrentEndTime = this.datePipe.transform(elem.CurrentTime.getTime() + elem.SlotDuration * 60000, 'hh:mm:ss a');\r\n // if (currenttime == res.starttime || (res.starttime > currenttime && res.starttime < CurrentEndTime) || (res.endtime > currenttime && res.endtime < CurrentEndTime)) {\r\n // elem.Booked = true;\r\n // elem.BookingId = res.id;\r\n // }\r\n // } else {\r\n // elem.Booked = false;\r\n // elem.BookingId = 0;\r\n // }\r\n // });\r\n\r\n \r\n\r\n //} else {\r\n\r\n if (this.TaskId > 0) {\r\n var res = this.Scheduletasktaskhistory.filter(x => x.id == this.TaskId)[0];\r\n if (res && res != null && res != undefined) {\r\n var Mins = moment.duration(moment(res.endtime, \"HH:mm:ss a\").diff(moment(res.starttime, \"HH:mm:ss a\")));\r\n\r\n var minutes = parseInt(Mins.asMinutes());\r\n this.assignTimeSlot(minutes);\r\n }\r\n\r\n\r\n }\r\n this.Scheduletasktaskhistory.forEach(ele => {\r\n var Mins = moment.duration(moment(ele.endtime, \"HH:mm:ss a\").diff(moment(ele.starttime, \"HH:mm:ss a\")));\r\n \r\n var minutes = parseInt(Mins.asMinutes());\r\n this.TimeIntervalsOriginal.filter(x => (x.Date == ele.estcompleteddate) && (this.datePipe.transform(x.CurrentTime, 'hh:mm:ss a') == ele.starttime));\r\n this.TimeIntervalsOriginal.forEach(elem => {\r\n if ((elem.Date == ele.estcompleteddate) ) {\r\n var currenttime = (this.datePipe.transform(elem.CurrentTime, 'hh:mm:ss a'));\r\n var CurrentEndTime = this.datePipe.transform(elem.CurrentTime.getTime() + elem.SlotDuration * 60000, 'hh:mm:ss a');\r\n //if (currenttime == ele.starttime || (ele.starttime > currenttime && ele.starttime < CurrentEndTime) || (ele.endtime > currenttime && ele.endtime < CurrentEndTime)) {\r\n if (currenttime == ele.starttime || (CurrentEndTime > ele.starttime && CurrentEndTime < ele.endtime && CurrentEndTime < ele.starttime) || (currenttime > ele.starttime && currenttime < ele.endtime)) {\r\n elem.Booked = true;\r\n elem.BookingId = ele.id;\r\n }\r\n\r\n }\r\n });\r\n });\r\n\r\n //}\r\n\r\n\r\n if (this.OpenBookedTimes == 'Open Times') {\r\n this.TimeIntervals = this.TimeIntervalsOriginal.filter(x => x.Booked == false && ((this.Meridian == 1) ? x.AMPM == 'AM' : ((this.Meridian == 2) ? x.AMPM == 'PM' : x.AMPM !='' )));\r\n } else if (this.OpenBookedTimes == 'Booked Times') {\r\n this.TimeIntervals = this.TimeIntervalsOriginal.filter(x => x.Booked == true && ((this.Meridian == 1) ? x.AMPM == 'AM' : ((this.Meridian == 2) ? x.AMPM == 'PM' : x.AMPM != '')));\r\n } else {\r\n this.TimeIntervals = this.TimeIntervalsOriginal.filter(x => ((this.Meridian == 1) ? x.AMPM == 'AM' : ((this.Meridian == 2) ? x.AMPM == 'PM' : x.AMPM != '')));\r\n }\r\n if (this.selectedDate != null && this.selectedDate != undefined) {\r\n var count = this.TimeIntervals.filter(x => this.datePipe.transform(x.CurrentTime, 'MM-dd-yyyy hh:mm a') == this.datePipe.transform(this.selectedDate, 'MM-dd-yyyy hh:mm a')).length;\r\n\r\n if (count > 0) {\r\n this.TimeIntervals = this.TimeIntervals.filter(x => this.datePipe.transform(x.CurrentTime, 'MM-dd-yyyy hh:mm a') == this.datePipe.transform(this.selectedDate, 'MM-dd-yyyy hh:mm a'));\r\n this.MappedTimeSlot = true;\r\n } \r\n \r\n }\r\n \r\n let that = this;\r\n this.TimeIntervals.forEach(ele => {\r\n var index = this.TimeIntervals.indexOf(ele);\r\n var bookedindes = this.TimeIntervals.findIndex(function (element) {\r\n return (element.Booked == true) && (element.BookingId != null) && (that.TimeIntervals.indexOf(element) > index);\r\n });\r\n var res = this.checkAvailableTime(ele, this.TimeIntervals[bookedindes]);\r\n ele.hidden = res;\r\n \r\n });\r\n\r\n\r\n \r\n }\r\n\r\n checkAvailableTime(starttime,nextslot) {\r\n var moment = require('moment-timezone');\r\n \r\n //var bookedslots = this.TimeIntervals.filter(x => ((new Date(x.CurrentTime) > new Date(starttime.CurrentTime)) && (x.Booked == true)))[0];\r\n if (nextslot && nextslot.Booked == true) {\r\n var difference = moment.duration(moment(nextslot.CurrentTime).diff(moment(starttime.CurrentTime)));\r\n\r\n if (difference.asMinutes() < this.TimeSlot.split(\" \")[0]) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n \r\n\r\n }\r\n\r\n assignTimeSlot(value) {\r\n switch (value) {\r\n case 5: {\r\n this.TimeSlot = '05 Minutes';\r\n break;\r\n }\r\n case 15: {\r\n this.TimeSlot = '15 Minutes';\r\n break;\r\n }\r\n case 30: {\r\n this.TimeSlot = '30 Minutes';\r\n break;\r\n }\r\n case 45: {\r\n this.TimeSlot = '45 Minutes';\r\n break;\r\n }\r\n case 60: {\r\n this.TimeSlot = '60 Minutes';\r\n break;\r\n }case 90: {\r\n this.TimeSlot = '90 Minutes';\r\n break;\r\n }\r\n case 120: {\r\n this.TimeSlot = '120 Minutes';\r\n break;\r\n }\r\n case 180: {\r\n this.TimeSlot = '180 Minutes';\r\n break;\r\n }\r\n case 240: {\r\n this.TimeSlot = '240 Minutes';\r\n break;\r\n }\r\n case 300: {\r\n this.TimeSlot = '300 Minutes';\r\n break;\r\n }\r\n case 360: {\r\n this.TimeSlot = '360 Minutes';\r\n break;\r\n }\r\n case 420: {\r\n this.TimeSlot = '420 Minutes';\r\n break;\r\n }\r\n case 480: {\r\n this.TimeSlot = '480 Minutes';\r\n break;\r\n }\r\n default: {\r\n this.TimeSlot = this.TimeSlot;\r\n break;\r\n }\r\n }\r\n }\r\n checkDaysFilter() {\r\n var count = 0;\r\n if (this.DaysFilter.Monday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Tuesday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Wednesday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Thursday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Friday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Saturday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Sunday == true) {\r\n count += 1;\r\n }\r\n return count;\r\n }\r\n\r\n \r\n ViewScheduleTaskConfirm(val) { \r\n if (this.taskhistory.tasktypeid) {\r\n this.taskhistory.estcompleteddate = this.datePipe.transform(val.CurrentTime, 'yyyy-MM-dd');\r\n this.taskhistory.time = this.datePipe.transform(val.CurrentTime, 'hh:mm a');\r\n var Start = new Date(new Date(val.CurrentTime).getTime() + Number(this.TimeSlot.split(\" \")[0]) * 60000);\r\n this.taskhistory.totime = this.datePipe.transform(Start, 'hh:mm a')\r\n this.taskhistory.tasktype = this.Tasktypelist.filter(x => x.id == this.taskhistory.tasktypeid)[0].itemName;\r\n this.taskhistory.contactName = this.contactList.filter(x => x.id == this.taskhistory.contactid)[0].itemName;\r\n this.TimeSlotSaveConfirmCss(); \r\n\r\n } else {\r\n alert(\"Please Select Task Type\");\r\n }\r\n \r\n } \r\n\r\n TimeSlotSaveConfirmCss() {\r\n this.TimeSlotSaveConfirm = true;\r\n setTimeout(function () {\r\n $('#TimeSlotSaveConfirm .dialog').attr('style', 'width: 45%;padding-bottom: 0px;min-height: 30%;padding: 0;top: 10%;left: 12%;border: 4px solid rgb(49,189,240);border-radius:5%;z-index:10000');\r\n }, 4)\r\n }\r\n addMoreAppointments() {\r\n this.additionalDays += 5;\r\n this.getIntervels(new Date(), (this.additionalDays));\r\n }\r\n\r\n\r\n ShowSlots() {\r\n this.ShowSlotsDiv = true\r\n this.Filters(\"\", \"\")\r\n }\r\n\r\n ChooseTaskType(value) {\r\n this.leadservice.GetAllTaskList(this.currentuser.id ).then((accounttype) => {\r\n var res = accounttype.filter(x => x.id == value && x.taskgroupid == this.taskhistory.taskGroupID);\r\n if (res && res.length > 0) {\r\n this.TimeSlot = res[0].TimeRequired;\r\n let SelfObj = this;\r\n setTimeout(function () {\r\n SelfObj.Filters(\"\", \"\")\r\n }, 100)\r\n }\r\n \r\n \r\n });\r\n \r\n }\r\n BookedClick(event, id) {\r\n var notesli = \"\";\r\n this.leadservice.GetAllTaskHistoryById(Number(id), 'TaskHistory').then((items) => {\r\n this.taskhistorynotes = items;\r\n this.taskhistorynotes.forEach((res) => {\r\n notesli += \" -\" + res.notedescription + \"
      \";\r\n });\r\n\r\n });\r\n \r\n this.leadservice.GetByTaskHistoryId(Number(id), \"View\", this.currentuser.timezone).then(taskdata => {\r\n var taskhistory1 = taskdata;\r\n var moment = require('moment-timezone');\r\n let frm = (taskhistory1.time == null) ? '(NTS)' : moment.tz(taskhistory1.time.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n let to = (taskhistory1.totime == null) ? '(NTS)' : moment.tz(taskhistory1.totime.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n var contact = (this.taskhistory.contactid != 0 && this.taskhistory.contactid != null) ? \"Contact: \" + this.taskhistory.contactName + \"
      \" : \"\";\r\n var Account = (this.taskhistory.contactid != 0 && this.taskhistory.contactid != null) ? \"Account: \" + this.taskhistory.accountname + \"
      \" : \"\";\r\n let timelabel = frm + '-' + to;\r\n var tooltip = \"
      \"\r\n + \"Date: \" + moment(taskhistory1.time).format(\"MM/DD/YYYY\") + \"
      \"\r\n + \"Time: \" + timelabel + \"
      \"\r\n + contact\r\n + Account\r\n + \"Type: \" + taskhistory1.tasktype.split(\"[\")[0] + \"
      \"\r\n + \"Notes: \" + notesli + \"
      \"\r\n + \"
      \";\r\n $(this).mouseover(function (e) {\r\n $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n });\r\n $(this).mousemove(function (e) {\r\n $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n });\r\n $(\"body\").append(tooltip);\r\n });\r\n }\r\n\r\n MouseLeave() {\r\n $(setTimeout(function () {\r\n $(this).css('z-index', 8);\r\n $('.tooltiptopicevent').remove();\r\n }, 300));\r\n }\r\n\r\n DisplayOtherAppointments() {\r\n this.selectedDate = null;\r\n this.Filters(\"\", \"\");\r\n this.MappedTimeSlot = false;\r\n this.TimeSlots = this.TimeSlotsOriginal;\r\n }\r\n\r\n getSelectedIntervels(startDatetime) {\r\n var DateIntervals = [{ WeekDay: '', Date: '', Time: '', AMPM: '', CurrentTime: new Date(), Booked: false, SlotDuration: 0, BookingId: 0, hidden: false, To: '', ToAMPM:'' }];\r\n DateIntervals = [{\r\n WeekDay: this.getweek(new Date(startDatetime).getDay()),\r\n Date: this.datePipe.transform(startDatetime, 'MM-dd-yyyy'),\r\n Time: this.datePipe.transform(startDatetime, 'hh: mm'),\r\n AMPM: this.datePipe.transform(startDatetime, 'a'),\r\n CurrentTime: startDatetime,\r\n Booked: false, SlotDuration: Number(this.TimeSlot.split(\" \")[0]),\r\n BookingId: 0, hidden: false,\r\n To: this.datePipe.transform(new Date(new Date(startDatetime).getTime() + Number(this.TimeSlot.split(\" \")[0]) * 60000), 'hh: mm'),\r\n ToAMPM: this.datePipe.transform(new Date(new Date(startDatetime).getTime() + Number(this.TimeSlot.split(\" \")[0]) * 60000), 'a')\r\n\r\n }];\r\n\r\n this.TimeIntervals = DateIntervals;\r\n this.MappedTimeSlot = true;\r\n }\r\n checknextTimeSlot(startDatetime,endDateTime) {\r\n var moment = require('moment-timezone');\r\n var selectedDate = new Date(this.datePipe.transform(startDatetime, 'MM-dd-yyyy hh:mm a'));\r\n var selDate = this.datePipe.transform(startDatetime, 'MM-dd-yyyy');\r\n var enddate = new Date(this.datePipe.transform(endDateTime, 'MM-dd-yyyy hh:mm a'));\r\n \r\n this.Scheduletasktaskhistory.forEach(ele => {\r\n if ((selDate == ele.estcompleteddate)) {\r\n\r\n var startTime = new Date(moment(ele.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + ele.starttime);\r\n if (selectedDate < startTime) {\r\n var difference = moment.duration(moment(startTime, \"HH:mm a\").diff(moment(selectedDate, \"HH:mm a\")));\r\n\r\n\r\n this.TimeSlots = this.TimeSlotsOriginal.filter(x => Number(x.itemName.split(\" \")[0]) <= parseInt(difference.asMinutes()));\r\n this.MappedTimeSlot = true;\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n NavigateToCalender() {\r\n //this.applicationComponent.activateMainButtons('Calendar');\r\n $('#tasklistsMainMenu').attr('aria-expanded', 'false');\r\n $('#tasklistsMainMenu').addClass('collapsed');\r\n $('#tasklistsMainMenu').removeClass('activeButton');\r\n\r\n \r\n $('#CalendarMainMenu').attr('aria-expanded', 'false');\r\n $('#CalendarMainMenu').addClass('collapsed');\r\n $(\"#CalendarMainMenu\").addClass(\"activeButton\");\r\n\r\n this.router.navigateByUrl(`/application/month-calender/null/` + this.taskhistory.estcompleteddate);\r\n \r\n }\r\n\r\n OpenEditTask() {\r\n this.showDialog = true;\r\n this.EditTaskDialogCss();\r\n let so = this;\r\n $(setTimeout(function () {\r\n \r\n if (so.TaskCategory == 'meeting') {\r\n\r\n $(\"#\" + so.TaskCategory).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select Meeting List');\r\n }\r\n else if (so.TaskCategory == 'phonecall') {\r\n\r\n $(\"#\" + so.TaskCategory).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select Phone Call List');\r\n }\r\n else if (so.TaskCategory == 'todo') {\r\n\r\n $(\"#\" + so.TaskCategory).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select To Do List');\r\n\r\n }\r\n else if (so.TaskCategory == 'BlockTime') {\r\n\r\n $(\"#\" + so.TaskCategory).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select To Do List');\r\n\r\n }\r\n }, 300));\r\n\r\n \r\n }\r\n\r\n CloseCreateTicket() {\r\n\r\n if (this.taskhistory.id == null || this.taskhistory.id == 0 || this.taskhistory.id == undefined || this.FieldsModified == true) {\r\n this.CloseCreateNewWarning = true;\r\n setTimeout(function () {\r\n $('#CloseCreateNewWarning .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n } else {\r\n this.showDialog = false;\r\n }\r\n\r\n }\r\n CloseAddOpportunityDialog() {\r\n this.showDialog = false;\r\n }\r\n OpenAptwarning() {\r\n this.AptDialogwWarning = true;\r\n setTimeout(function () {\r\n $('#AptDialogwWarning .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4)\r\n }\r\n OpenCalender() {\r\n \r\n this.router.navigateByUrl(`/application/month-calender/null`);\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#TaskCalander_button\").addClass(\"activeButton\");\r\n localStorage.setItem('TaskSelected', this.TaskId.toString());\r\n }\r\n}\r\n","\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      {{searchtype}}s ( {{tableData.length}} )
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n Advanced Search Result were Closed.\r\n
      \r\n

      \r\n
      \r\n Select Advanced Option on Search Bar to Generate
      \r\n Another Advanced Search
      \r\n -or-
      \r\n Type Search Data in Search Bar and Select Enter\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, ViewChild } from '@angular/core';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { AdvancedsearchTable } from '../../models/advancedsearch-table';\r\nimport { RunQuery } from '../../models/run-query';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AdvancedSearch } from '../../models/advancedsearch';\r\nimport { AdvancedsearchService } from 'src/app/services/advancedsearch.service';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { ContactsdashboardComponent } from '../contacts/contactsdashboard/contactsdashboard.component';\r\nimport { AccountContactComponent } from '../account-contact/account-contact.component';\r\nimport { AccountComponent } from '../account-contact/account/account.component';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'search-result',\r\n templateUrl: './search-result.component.html',\r\n styleUrls: ['./search-result.component.css']\r\n})\r\nexport class SearchResultComponent implements OnInit {\r\n currentuser: any;\r\n public SearchResultGridOptions: GridOptions;\r\n public columnDefs: any[];\r\n public queryId: number;\r\n public searchtype: string;\r\n selectedMenuRadio: string = \"\";\r\n tableData: AdvancedsearchTable[];\r\n isCustomer: boolean = false;\r\n QueryName: string;\r\n isFormerCustomer: boolean = false;\r\n showTabledata: boolean = true;\r\n CloseDialog: boolean = false;\r\n runquerylist: any = [];\r\n Newrunquerylist: any = [];\r\n Ids = [];\r\n slide = 0;\r\n query: RunQuery = new RunQuery();\r\n public sideBar;\r\n public TableColumns: any;\r\n isContactViewOpen: boolean = true;\r\n showContactDashBoard: boolean = false;\r\n @ViewChild(ContactsdashboardComponent) condashcmp: ContactsdashboardComponent;\r\n @ViewChild(AccountContactComponent) acccontactcomp;\r\n @ViewChild(AccountComponent) accountcomp;\r\n isShowAccountInfo: boolean = false;\r\n ShowGrid: boolean = true;\r\n contactid: number;\r\n accountid: number;\r\n AccConIds: string;\r\n private gridApi; public overlayNoRowsTemplate = \"No record found\";\r\n constructor(private route: ActivatedRoute, private opprtunityservice: OpprtunitiesService, private router: Router, private advsearch: AdvancedsearchService,\r\n private toastr: ToastrService, public applicationComponent: ApplicationComponent, public customerService: CustomerService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n let isDel: boolean = false;\r\n this.route.params.subscribe(params => {\r\n this.queryId = params['queryId'];\r\n this.searchtype = params['searchtype'];\r\n this.RunQueryData(isDel);\r\n let qryCount = localStorage.getItem('selectedQueryCount');\r\n if (this.queryId != 0) {\r\n let advSearchTabName = localStorage.getItem('advSearchTabName');\r\n let advSearchQueryId = localStorage.getItem('advSearchQueryId');\r\n let advSearchQueryName = localStorage.getItem('advSearchQueryName');\r\n if (qryCount != null && parseInt(qryCount) == 0) {\r\n let obj = this; \r\n setTimeout(function () { \r\n if (advSearchTabName != null && advSearchQueryId != null) {\r\n obj.GetQueryInfo(parseInt(advSearchQueryId), advSearchQueryName, advSearchTabName, '');\r\n }\r\n else {\r\n obj.GetQueryInfo(obj.queryId, advSearchQueryName, 'QueryTab0', obj.searchtype);\r\n }\r\n }, 100);\r\n\r\n }\r\n else {\r\n this.GetQueryInfo(this.queryId, advSearchQueryName,'QueryTab0', this.searchtype);\r\n }\r\n }\r\n else {\r\n var query = localStorage.getItem('QuickSearchQuery');\r\n if (query != null) {\r\n this.firequery(query);\r\n }\r\n }\r\n\r\n });\r\n \r\n this.initializeAgGrid();\r\n \r\n }\r\n firequery(buildquery) {\r\n let advcontrol = new AdvancedSearch();\r\n advcontrol.SearchQry = buildquery;\r\n this.opprtunityservice.runQuicksearchQuery(advcontrol).then(result => {\r\n this.tableData = result;\r\n this.showTabledata = true;\r\n });\r\n }\r\n GetQueryInfo(queryId,queryName, tabname, searchtype) {\r\n this.showContactDashBoard = false;\r\n this.isShowAccountInfo = false;\r\n this.QueryName = queryName\r\n this.SearchResultGridOptions.rowSelection = 'multiple';\r\n this.searchtype = searchtype;\r\n localStorage.setItem('advSearchTabName', tabname);\r\n localStorage.setItem('advSearchQueryId', queryId);\r\n localStorage.setItem('advSearchQueryName', queryName);\r\n if (queryId != 0) {\r\n\r\n $('.blank').removeClass('green');\r\n $('#' + tabname).addClass('green');\r\n this.opprtunityservice.GetAdvancesSearchQueryByData(queryId).then((data) => {\r\n this.tableData = data;\r\n \r\n var res = this.runquerylist.filter(x => x.id == queryId)\r\n this.searchtype = res[0].searchtype;\r\n this.showTabledata = true;\r\n \r\n });\r\n\r\n }\r\n\r\n }\r\n RunQueryData(isDelete) {\r\n this.advsearch.GetAllRunQueries(this.currentuser.id).then((queries) => {\r\n this.runquerylist = [];\r\n this.Newrunquerylist = [];\r\n if (queries == null || queries.length <= 0) {\r\n this.applicationComponent.advancedSearch(\"\");\r\n this.applicationComponent.searchoffon = false;\r\n let selfObj = this;\r\n setTimeout(function () {\r\n selfObj.tableData = [];\r\n selfObj.createColumnDefs(\"\", selfObj.TableColumns);\r\n }, 100);\r\n }\r\n else {\r\n if (queries[0].queryOrder == null) {\r\n this.applicationComponent.searchoffon = false;\r\n this.showTabledata = false;\r\n this.tableData = [];\r\n }\r\n else {\r\n this.runquerylist = queries;\r\n this.applicationComponent.searchoffon = true;\r\n }\r\n\r\n var initValue = this.slide * 12;\r\n var finalVal = (initValue + 12);\r\n if (this.runquerylist.length < finalVal) {\r\n finalVal = this.runquerylist.length\r\n }\r\n for (var i = initValue; i < (finalVal); i++) {\r\n this.Newrunquerylist.push(this.runquerylist[i]);\r\n }\r\n let qryCount = localStorage.getItem('selectedQueryCount');\r\n if (qryCount != null && parseInt(qryCount) == 0) {\r\n\r\n let advSearchTabName = localStorage.getItem('advSearchTabName');\r\n let advSearchQueryId = localStorage.getItem('advSearchQueryId');\r\n if (advSearchTabName != null && advSearchQueryId != null) {\r\n let SO = this;\r\n setTimeout(function () {\r\n $('#' + advSearchTabName).addClass('green');\r\n $(\"#\" + advSearchTabName).trigger(\"click\");\r\n\r\n }, 100);\r\n }\r\n else {\r\n setTimeout(function () {\r\n $('#QueryTab0').addClass('green');\r\n $(\"#QueryTab0\").trigger(\"click\");\r\n }, 100);\r\n }\r\n }\r\n else {\r\n setTimeout(function () {\r\n $('#QueryTab0').addClass('green');\r\n $(\"#QueryTab0\").trigger(\"click\");\r\n }, 100);\r\n }\r\n }\r\n });\r\n var query = localStorage.getItem('QuickSearchQuery');\r\n if (query != null && query != \"\" && isDelete == false) {\r\n setTimeout(function () {\r\n $('#QueryTab0').addClass('green');\r\n }, 100);\r\n\r\n }\r\n }\r\n\r\n Previous() {\r\n this.Newrunquerylist = [];\r\n this.slide--;\r\n var initValue = this.slide * 5;\r\n var finalVal = (initValue + 5);\r\n if (this.runquerylist.length < finalVal) {\r\n finalVal = this.runquerylist.length\r\n }\r\n for (var i = initValue; i < (finalVal); i++) {\r\n this.Newrunquerylist.push(this.runquerylist[i]);\r\n }\r\n }\r\n next() {\r\n this.Newrunquerylist = [];\r\n this.slide++;\r\n var initValue = this.slide * 5;\r\n var finalVal = (initValue + 5);\r\n if (this.runquerylist.length < finalVal) {\r\n finalVal = this.runquerylist.length\r\n }\r\n for (var i = initValue; i < (finalVal); i++) {\r\n this.Newrunquerylist.push(this.runquerylist[i]);\r\n }\r\n }\r\n deleteQuery(queryid, val) {\r\n let isDel: boolean = false;\r\n if (queryid != 0) {\r\n isDel = true;\r\n this.query.runby = this.currentuser.id;\r\n this.query.delqueryId = queryid\r\n this.advsearch.saveRunQuery(this.query).then(result => {\r\n this.toastr.success(\"Query deleted successfully.\", \"Query\", { timeOut: 600 });\r\n this.Newrunquerylist = [];\r\n this.RunQueryData(isDel);\r\n\r\n });\r\n }\r\n\r\n }\r\n initializeAgGrid() {\r\n this.SearchResultGridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: (this.showContactDashBoard || this.isShowAccountInfo) ? 'single' : 'multiple', enableCellChangeFlash: true\r\n }; this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n // this.createColumnDefs(\"\", this.TableColumns);\r\n if (this.searchtype == 'Account') {\r\n //this.customerService.GetTableFields('Accounts', this.currentuser.id).then(result => {\r\n // this.TableColumns = result;\r\n this.createColumnDefs(\"\", this.TableColumns);\r\n //});\r\n } else if (this.searchtype == 'Contact') {\r\n this.customerService.GetTableFields('Contacts', this.currentuser.id).then(result => {\r\n this.TableColumns = result;\r\n this.createColumnDefs(\"\", this.TableColumns);\r\n });\r\n }\r\n else {\r\n this.customerService.GetTableFields('Accounts & Contacts', this.currentuser.id).then(result => {\r\n this.TableColumns = result;\r\n this.createColumnDefs(\"\", this.TableColumns);\r\n });\r\n }\r\n\r\n this.SearchResultGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n\r\n }\r\n QuickSearchEventListener() {\r\n if (this.applicationComponent.QuickSearchEvenraised) {\r\n var query = localStorage.getItem('QuickSearchQuery');\r\n this.firequery(query);\r\n this.applicationComponent.QuickSearchEvenraised = false;\r\n this.advsearch.GetAllRunQueries(this.currentuser.id).then((queries) => {\r\n this.runquerylist = [];\r\n this.Newrunquerylist = [];\r\n if (queries[0].queryOrder == null) { this.applicationComponent.searchoffon = false; } else {\r\n this.runquerylist = queries;\r\n this.applicationComponent.searchoffon = true;\r\n }\r\n var initValue = this.slide * 5;\r\n var finalVal = (initValue + 5);\r\n if (this.runquerylist.length < finalVal) {\r\n finalVal = this.runquerylist.length\r\n }\r\n for (var i = initValue; i < (finalVal); i++) {\r\n this.Newrunquerylist.push(this.runquerylist[i]);\r\n }\r\n this.Newrunquerylist.splice(0, 0, { id: 0, queryOrder: \"Quick Search-0\", delqueryId: 0, runby: 0 });\r\n });\r\n setTimeout(function () {\r\n $('#QueryTab0').addClass('green');\r\n }, 100);\r\n }\r\n\r\n }\r\n createColumnDefs(columnSelections, TableColumns) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"customertype\") {\r\n this.columnDefs.push({\r\n field: 'customertype', headerName: 'Customer Type 1', hide: (!this.isCustomer && !this.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '56') { return \"Customer\" }\r\n else if (params.value == '57') { return \"Former Customer\" }\r\n }, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"accnumber\") {\r\n this.columnDefs.push({ field: 'accnumber', headerName: 'Acct #', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer), width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n } else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n\r\n if (this.searchtype == 'Account') {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n enableTooltip: true\r\n }];\r\n TableColumns.forEach(ele => {\r\n if (ele.OldOrNew == 'Old') {\r\n switch (ele.ColumnName) {\r\n case 'id': {\r\n selfObj.columnDefs.push({ field: 'id', headerName: 'Id', hide: true });\r\n break;\r\n }\r\n case 'customertypeid': {\r\n selfObj.columnDefs.push({\r\n field: 'customertypeid', headerName: 'Customer Type 2', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n });\r\n break;\r\n }\r\n case 'accnumber': {\r\n selfObj.columnDefs.push({\r\n field: 'accnumber', headerName: 'Act Number', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer), cellStyle: { color: 'red' }\r\n });\r\n break;\r\n }\r\n case 'IsContact': {\r\n selfObj.columnDefs.push({ field: 'IsContact', headerName: ' Is Contact?', hide: false });\r\n break;\r\n }\r\n case 'accountname': {\r\n selfObj.columnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: false\r\n });\r\n break;\r\n }\r\n case 'speciality': {\r\n selfObj.columnDefs.push({\r\n field: 'specialityName', headerName: 'Specialty', hide: false\r\n });\r\n break;\r\n }\r\n case 'address1': {\r\n selfObj.columnDefs.push({\r\n field: 'address1', headerName: 'Address1', hide: false\r\n });\r\n break;\r\n }\r\n case 'address2': {\r\n selfObj.columnDefs.push({\r\n field: 'address2', headerName: 'Address2', hide: false\r\n });\r\n break;\r\n }\r\n case 'city': {\r\n selfObj.columnDefs.push({\r\n field: 'city', headerName: 'City', hide: false\r\n });\r\n break;\r\n }\r\n case 'state': {\r\n selfObj.columnDefs.push({\r\n field: 'state', headerName: 'State', hide: false\r\n });\r\n break;\r\n }\r\n case 'zip': {\r\n selfObj.columnDefs.push({\r\n field: 'zip', headerName: 'Zip', hide: false\r\n });\r\n break;\r\n }\r\n case 'phone': {\r\n selfObj.columnDefs.push({\r\n field: 'phone', headerName: 'Phone', hide: true\r\n });\r\n break;\r\n }\r\n case 'mapit': {\r\n selfObj.columnDefs.push({\r\n field: 'mapit', headerName: 'Map It', hide: false, width: 80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n return eDiv;\r\n }\r\n });\r\n break;\r\n }\r\n case 'ehr': {\r\n selfObj.columnDefs.push({\r\n field: 'ehrName', headerName: 'EHR', hide: false\r\n });\r\n break;\r\n }\r\n //case 'pm': {\r\n // selfObj.columnDefs.push({\r\n // field: 'pmName', headerName: 'PM', hide: false\r\n // });\r\n // break;\r\n //}\r\n case 'rcm': {\r\n selfObj.columnDefs.push({\r\n field: 'rcmName', headerName: 'RCM', hide: false\r\n });\r\n break;\r\n }\r\n case 'ownerid': {\r\n selfObj.columnDefs.push({\r\n field: 'username', headerName: 'User Name', hide: false\r\n });\r\n break;\r\n }\r\n case 'accounttype': {\r\n selfObj.columnDefs.push({ field: 'accounttypeName', headerName: 'Account Type 22', hide: true });\r\n break;\r\n }\r\n case 'ownership': {\r\n selfObj.columnDefs.push({ field: 'ownershipName', headerName: 'Ownership', hide: true });\r\n break;\r\n }\r\n case 'accountStatus': {\r\n selfObj.columnDefs.push({\r\n field: 'accountstatus', headerName: 'Account Status', hide: true, cellRenderer: function (params) {\r\n if (params.value == '14') {\r\n return 'Active';\r\n } else {\r\n return 'On-Hold';\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'country': {\r\n selfObj.columnDefs.push({ field: 'country', headerName: 'Country', hide: true });\r\n break;\r\n }\r\n case 'ProvidenceIsland': {\r\n selfObj.columnDefs.push({ field: 'ProvidenceIsland', headerName: 'Providence Island', hide: true });\r\n break;\r\n }\r\n case 'fax': {\r\n selfObj.columnDefs.push({ field: 'fax', headerName: 'Fax', hide: true });\r\n break;\r\n }\r\n case 'alterphone1': {\r\n selfObj.columnDefs.push({ field: 'alterphone1', headerName: 'alterphone1', hide: true });\r\n break;\r\n }\r\n case 'alterphone2': {\r\n selfObj.columnDefs.push({ field: 'alterphone2', headerName: 'alterphone2', hide: true });\r\n break;\r\n }\r\n case 'website': {\r\n selfObj.columnDefs.push({ field: 'website', headerName: 'website', hide: true });\r\n break;\r\n }\r\n case 'pmdatepurchased': {\r\n selfObj.columnDefs.push({ field: 'pmdatepurchased', headerName: 'PM Date Purchased', hide: true });\r\n break;\r\n }\r\n case 'ehrdatepurchased': {\r\n selfObj.columnDefs.push({ field: 'ehrdatepurchased', headerName: 'EHR Date Purchased', hide: true });\r\n break;\r\n }\r\n case 'rcmdatepurchased': {\r\n selfObj.columnDefs.push({ field: 'rcmdatepurchased', headerName: 'RCM Date Purchased', hide: true });\r\n break;\r\n }\r\n case 'created': {\r\n selfObj.columnDefs.push({ field: 'created', headerName: 'Created Date', hide: true });\r\n break;\r\n }\r\n case 'leadfromid': {\r\n selfObj.columnDefs.push({ field: 'leadfromid', headerName: 'Lead From', hide: true });\r\n break;\r\n }\r\n\r\n }\r\n\r\n\r\n }\r\n else {\r\n\r\n if (ele.DataType == \"Pick List\") {\r\n selfObj.columnDefs.push({\r\n field: ele.ColumnName, headerName: ele.DisplayAs, hide: false, width: 200, cellRenderer(params) {\r\n\r\n if (params.value != null && params.value != \"\") {\r\n return params.value.split(\":\")[1];\r\n } else {\r\n return params.value;\r\n }\r\n\r\n\r\n }\r\n })\r\n }\r\n else {\r\n if (ele.ColumnName == \"IsCustomer\") {\r\n selfObj.columnDefs.push({ field: \"isCustomer\", headerName: ele.DisplayAs, hide: false, width: 200 })\r\n } else {\r\n selfObj.columnDefs.push({ field: ele.ColumnName, headerName: ele.DisplayAs, hide: false, width: 200 })\r\n }\r\n }\r\n }\r\n });\r\n }\r\n else if (this.searchtype == 'Contact') {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n enableTooltip: true\r\n }];\r\n\r\n TableColumns.forEach(ele => {\r\n if (ele.OldOrNew == 'Old') {\r\n switch (ele.ColumnName) {\r\n case 'customertype': {\r\n selfObj.columnDefs.push({ field: 'customertype', headerName: 'Customer Type 3', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer) })\r\n break\r\n }\r\n case 'accnumber': {\r\n selfObj.columnDefs.push({ field: 'accnumber', headerName: 'Acct #', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer) })\r\n break\r\n }\r\n case 'lastname': {\r\n selfObj.columnDefs.push({ field: 'lastname', headerName: 'Last Name', hide: false })\r\n break\r\n }\r\n case 'firstname': {\r\n selfObj.columnDefs.push({ field: 'firstname', headerName: 'First Name', hide: false })\r\n break\r\n }\r\n case 'middlename': {\r\n selfObj.columnDefs.push({ field: 'middlename', headerName: 'Middle Name', hide: false })\r\n break\r\n }\r\n case 'title': {\r\n selfObj.columnDefs.push({ field: 'titleName', headerName: 'Title', hide: false })\r\n break\r\n }\r\n case 'suffix': {\r\n selfObj.columnDefs.push({ field: 'suffixName', headerName: 'Suffix', hide: false })\r\n break\r\n }\r\n case 'sex': {\r\n selfObj.columnDefs.push({ field: 'sexName', headerName: 'Sex', hide: false, })\r\n break\r\n }\r\n\r\n case 'email': {\r\n selfObj.columnDefs.push({ field: 'email', headerName: 'Email', hide: true })\r\n break\r\n }\r\n case 'address1': {\r\n selfObj.columnDefs.push({ field: 'address1', headerName: 'Address1', hide: false, })\r\n break\r\n }\r\n case 'address2': {\r\n selfObj.columnDefs.push({ field: 'address2', headerName: 'Address2', hide: true, })\r\n break\r\n }\r\n case 'city': {\r\n selfObj.columnDefs.push({ field: 'city', headerName: 'City', hide: false })\r\n break\r\n }\r\n case 'state': {\r\n selfObj.columnDefs.push({ field: 'state', headerName: 'State', hide: true })\r\n break\r\n }\r\n case 'speciality': {\r\n selfObj.columnDefs.push({ field: 'specialityName', headerName: 'Specialty', hide: false })\r\n break\r\n }\r\n case 'subspeciality': {\r\n selfObj.columnDefs.push({ field: 'subspecialityName', headerName: 'Subspeciality', hide: true })\r\n break\r\n }\r\n case 'DOB': {\r\n selfObj.columnDefs.push({ field: 'DOB', headerName: 'DOB', hide: false })\r\n break\r\n }\r\n case 'zip': {\r\n selfObj.columnDefs.push({ field: 'zip', headerName: 'ZIP', hide: false })\r\n break\r\n }\r\n case 'accountname': {\r\n selfObj.columnDefs.push({ field: 'accountname', headerName: 'Account', hide: false })\r\n break\r\n }\r\n case 'cell': {\r\n selfObj.columnDefs.push({ field: 'cell', headerName: 'Cell', hide: true, })\r\n break\r\n }\r\n case 'office': {\r\n selfObj.columnDefs.push({ field: 'office', headerName: 'Office', hide: true, })\r\n break\r\n }\r\n case 'homeaddress': {\r\n selfObj.columnDefs.push({ field: 'homeaddress', headerName: 'Home Address', hide: true, })\r\n break\r\n }\r\n case 'homecity': {\r\n selfObj.columnDefs.push({ field: 'homecity', headerName: 'Home City', hide: true })\r\n break\r\n }\r\n case 'homestate': {\r\n selfObj.columnDefs.push({ field: 'homestate', headerName: 'Home State', hide: true, })\r\n break\r\n }\r\n case 'homezip': {\r\n selfObj.columnDefs.push({ field: 'homezip', headerName: 'Home Zip', hide: true, })\r\n break\r\n }\r\n case 'home': {\r\n selfObj.columnDefs.push({ field: 'home', headerName: 'Home', hide: true, })\r\n break\r\n }\r\n case 'college': {\r\n selfObj.columnDefs.push({ field: 'collegeName', headerName: 'College', hide: true, })\r\n break\r\n }\r\n case 'collegegrandyear': {\r\n selfObj.columnDefs.push({ field: 'collegegrandyear', headerName: 'C.G.year', hide: true, })\r\n break\r\n }\r\n case 'medschool': {\r\n selfObj.columnDefs.push({ field: 'medschoolName', headerName: 'Medschool', hide: true, })\r\n break\r\n }\r\n case 'medschoolgrandyear': {\r\n selfObj.columnDefs.push({ field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true, })\r\n break\r\n }\r\n case 'residency': {\r\n selfObj.columnDefs.push({ field: 'residencyName', headerName: 'Residency', hide: true, })\r\n break\r\n }\r\n case 'residencygrandyear': {\r\n selfObj.columnDefs.push({ field: 'residencygrandyear', headerName: 'R.G.year', hide: true, })\r\n break\r\n }\r\n case 'fellowship': {\r\n selfObj.columnDefs.push({ field: 'fellowshipName', headerName: 'Fellowship', hide: true, })\r\n break\r\n }\r\n case 'fellowshipgrandyear': {\r\n selfObj.columnDefs.push({ field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true, })\r\n break\r\n }\r\n case 'ownerid': {\r\n selfObj.columnDefs.push({ field: 'owner', headerName: 'User Name', hide: false, suppressSorting: true, })\r\n break\r\n }\r\n case 'created': {\r\n selfObj.columnDefs.push({ field: 'created', headerName: 'Created123', hide: true, })\r\n break\r\n }\r\n case 'Status': {\r\n selfObj.columnDefs.push({ field: 'Status', headerName: 'Created', hide: true, })\r\n break\r\n } case 'contacttype': {\r\n selfObj.columnDefs.push({ field: 'contacttype', headerName: 'Created', hide: true, })\r\n break\r\n }\r\n case 'country': {\r\n selfObj.columnDefs.push({ field: 'country ', headerName: 'Created', hide: true, })\r\n break\r\n } case 'AlternateNo1': {\r\n selfObj.columnDefs.push({ field: 'AlternateNo1', headerName: 'Created', hide: true, })\r\n break\r\n }\r\n\r\n\r\n }\r\n } else {\r\n selfObj.columnDefs.push({ field: ele.ColumnName, headerName: ele.DisplayAs, hide: false, width: 200 })\r\n }\r\n\r\n });\r\n\r\n }\r\n else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n enableTooltip: true\r\n }];\r\n TableColumns.forEach(ele => {\r\n if (ele.OldOrNew == 'Old') {\r\n switch (ele.ColumnName) {\r\n case 'id': {\r\n selfObj.columnDefs.push({ field: 'id', headerName: 'Id', hide: true });\r\n break;\r\n }\r\n case 'customertypeid': {\r\n selfObj.columnDefs.push({\r\n field: 'customertypeid', headerName: 'Customer Type 5', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer),\r\n cellRenderer(params) {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '1') { return \"Customer\" } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n });\r\n break;\r\n }\r\n case 'accnumber': {\r\n selfObj.columnDefs.push({\r\n field: 'accnumber', headerName: 'Act Number', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer), cellStyle: { color: 'red' }\r\n });\r\n break;\r\n }\r\n case 'IsContact': {\r\n selfObj.columnDefs.push({ field: 'IsContact', headerName: ' Is Contact?', hide: false });\r\n break;\r\n }\r\n case 'accountname': {\r\n selfObj.columnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', hide: false\r\n });\r\n break;\r\n }\r\n case 'lastname': {\r\n selfObj.columnDefs.push({ field: 'lastname', headerName: 'Last Name', hide: false })\r\n break\r\n }\r\n case 'firstname': {\r\n selfObj.columnDefs.push({ field: 'firstname', headerName: 'First Name', hide: false })\r\n break\r\n }\r\n case 'middlename': {\r\n selfObj.columnDefs.push({ field: 'middlename', headerName: 'Middle Name', hide: false })\r\n break\r\n }\r\n case 'contacttype': {\r\n selfObj.columnDefs.push({ field: 'contacttypeName', headerName: 'Contact Type', hide: false })\r\n break\r\n }\r\n case 'speciality': {\r\n selfObj.columnDefs.push({\r\n field: 'specialityName', headerName: 'Specialty', hide: false\r\n });\r\n break;\r\n }\r\n case 'address1': {\r\n selfObj.columnDefs.push({\r\n field: 'address1', headerName: 'Address1', hide: false\r\n });\r\n break;\r\n }\r\n case 'address2': {\r\n selfObj.columnDefs.push({\r\n field: 'address2', headerName: 'Address2', hide: false\r\n });\r\n break;\r\n }\r\n case 'city': {\r\n selfObj.columnDefs.push({\r\n field: 'city', headerName: 'City', hide: false\r\n });\r\n break;\r\n }\r\n case 'state': {\r\n selfObj.columnDefs.push({\r\n field: 'state', headerName: 'State', hide: false\r\n });\r\n break;\r\n }\r\n case 'zip': {\r\n selfObj.columnDefs.push({\r\n field: 'zip', headerName: 'Zip', hide: false\r\n });\r\n break;\r\n }\r\n case 'phone': {\r\n selfObj.columnDefs.push({\r\n field: 'phone', headerName: 'Phone', hide: true\r\n });\r\n break;\r\n }\r\n case 'mapit': {\r\n selfObj.columnDefs.push({\r\n field: 'mapit', headerName: 'Map It', hide: false, width: 80, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n return eDiv;\r\n }\r\n });\r\n break;\r\n }\r\n case 'ehr': {\r\n selfObj.columnDefs.push({\r\n field: 'ehrName', headerName: 'EHR', hide: false\r\n });\r\n break;\r\n }\r\n case 'pm': {\r\n selfObj.columnDefs.push({\r\n field: 'pmName', headerName: 'PM', hide: false\r\n });\r\n break;\r\n }\r\n case 'rcm': {\r\n selfObj.columnDefs.push({\r\n field: 'rcmName', headerName: 'RCM', hide: false\r\n });\r\n break;\r\n }\r\n case 'ownerid': {\r\n selfObj.columnDefs.push({\r\n field: 'OWNER', headerName: 'Owner ', hide: false\r\n });\r\n break;\r\n }\r\n case 'accounttype': {\r\n selfObj.columnDefs.push({ field: 'accounttypeName', headerName: 'Account Type 11', hide: true });\r\n break;\r\n }\r\n case 'ownership': {\r\n selfObj.columnDefs.push({ field: 'ownershipName', headerName: 'Ownership', hide: true });\r\n break;\r\n }\r\n case 'accountStatus': {\r\n selfObj.columnDefs.push({\r\n field: 'accountstatus', headerName: 'Account Status', hide: true,\r\n cellRenderer: function (params) {\r\n if (params.value == '14') {\r\n return 'Active';\r\n } else {\r\n return 'On-Hold';\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'country': {\r\n selfObj.columnDefs.push({\r\n field: 'country', headerName: 'Country', hide: true, cellRenderer: function (params) {\r\n if (params.value == '881') {\r\n return 'USA';\r\n } else if (params.value == '882') {\r\n return 'Bahamas';\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n break;\r\n }\r\n case 'ProvidenceIsland': {\r\n selfObj.columnDefs.push({ field: 'ProvidenceIsland', headerName: 'Providence Island', hide: true });\r\n break;\r\n }\r\n case 'fax': {\r\n selfObj.columnDefs.push({ field: 'fax', headerName: 'Fax', hide: true });\r\n break;\r\n }\r\n case 'alterphone1': {\r\n selfObj.columnDefs.push({ field: 'alterphone1', headerName: 'alterphone1', hide: true });\r\n break;\r\n }\r\n case 'alterphone2': {\r\n selfObj.columnDefs.push({ field: 'alterphone2', headerName: 'alterphone2', hide: true });\r\n break;\r\n }\r\n case 'website': {\r\n selfObj.columnDefs.push({ field: 'website', headerName: 'website', hide: true });\r\n break;\r\n }\r\n case 'pmdatepurchased': {\r\n selfObj.columnDefs.push({ field: 'pmdatepurchased', headerName: 'PM Date Purchased', hide: true });\r\n break;\r\n }\r\n case 'ehrdatepurchased': {\r\n selfObj.columnDefs.push({ field: 'ehrdatepurchased', headerName: 'EHR Date Purchased', hide: true });\r\n break;\r\n }\r\n case 'rcmdatepurchased': {\r\n selfObj.columnDefs.push({ field: 'rcmdatepurchased', headerName: 'RCM Date Purchased', hide: true });\r\n break;\r\n }\r\n case 'created': {\r\n selfObj.columnDefs.push({ field: 'created', headerName: 'Created Date', hide: true });\r\n break;\r\n }\r\n case 'leadfromid': {\r\n selfObj.columnDefs.push({ field: 'leadfromid', headerName: 'Lead From', hide: true });\r\n break;\r\n }\r\n case 'customertype': {\r\n selfObj.columnDefs.push({ field: 'customertype', headerName: 'Customer Type 6', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer) })\r\n break\r\n }\r\n case 'accnumber': {\r\n selfObj.columnDefs.push({ field: 'accnumber', headerName: 'Acct #', hide: (!selfObj.isCustomer && !selfObj.isFormerCustomer) })\r\n break\r\n }\r\n\r\n case 'title': {\r\n selfObj.columnDefs.push({ field: 'titleName', headerName: 'Title', hide: false })\r\n break\r\n }\r\n case 'suffix': {\r\n selfObj.columnDefs.push({ field: 'suffixName', headerName: 'Suffix', hide: false })\r\n break\r\n }\r\n case 'sex': {\r\n selfObj.columnDefs.push({ field: 'sexName', headerName: 'Sex', hide: false, })\r\n break\r\n }\r\n\r\n case 'email': {\r\n selfObj.columnDefs.push({ field: 'email', headerName: 'Email', hide: true })\r\n break\r\n }\r\n case 'address1': {\r\n selfObj.columnDefs.push({ field: 'address1', headerName: 'Address1', hide: false, })\r\n break\r\n }\r\n case 'address2': {\r\n selfObj.columnDefs.push({ field: 'address2', headerName: 'Address2', hide: true, })\r\n break\r\n }\r\n case 'city': {\r\n selfObj.columnDefs.push({ field: 'city', headerName: 'City', hide: false })\r\n break\r\n }\r\n case 'state': {\r\n selfObj.columnDefs.push({ field: 'state', headerName: 'State', hide: true })\r\n break\r\n }\r\n case 'speciality': {\r\n selfObj.columnDefs.push({ field: 'specialityName', headerName: 'Specialty', hide: false })\r\n break\r\n }\r\n case 'subspeciality': {\r\n selfObj.columnDefs.push({ field: 'subspecialityName', headerName: 'Subspeciality', hide: true })\r\n break\r\n }\r\n case 'DOB': {\r\n selfObj.columnDefs.push({ field: 'DOB', headerName: 'DOB', hide: false })\r\n break\r\n }\r\n case 'zip': {\r\n selfObj.columnDefs.push({ field: 'zip', headerName: 'ZIP', hide: false })\r\n break\r\n }\r\n case 'accountname': {\r\n selfObj.columnDefs.push({ field: 'accountname', headerName: 'Account', hide: false })\r\n break\r\n }\r\n case 'cell': {\r\n selfObj.columnDefs.push({ field: 'cell', headerName: 'Cell', hide: true, })\r\n break\r\n }\r\n case 'office': {\r\n selfObj.columnDefs.push({ field: 'office', headerName: 'Office', hide: true, })\r\n break\r\n }\r\n case 'homeaddress': {\r\n selfObj.columnDefs.push({ field: 'homeaddress', headerName: 'Home Address', hide: true, })\r\n break\r\n }\r\n case 'homecity': {\r\n selfObj.columnDefs.push({ field: 'homecity', headerName: 'Home City', hide: true })\r\n break\r\n }\r\n case 'homestate': {\r\n selfObj.columnDefs.push({ field: 'homestate', headerName: 'Home State', hide: true, })\r\n break\r\n }\r\n case 'homezip': {\r\n selfObj.columnDefs.push({ field: 'homezip', headerName: 'Home Zip', hide: true, })\r\n break\r\n }\r\n case 'home': {\r\n selfObj.columnDefs.push({ field: 'home', headerName: 'Home', hide: true, })\r\n break\r\n }\r\n case 'college': {\r\n selfObj.columnDefs.push({ field: 'collegeName', headerName: 'College', hide: true, })\r\n break\r\n }\r\n case 'collegegrandyear': {\r\n selfObj.columnDefs.push({ field: 'collegegrandyear', headerName: 'C.G.year', hide: true, })\r\n break\r\n }\r\n case 'medschool': {\r\n selfObj.columnDefs.push({ field: 'medschoolName', headerName: 'Medschool', hide: true, })\r\n break\r\n }\r\n case 'medschoolgrandyear': {\r\n selfObj.columnDefs.push({ field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true, })\r\n break\r\n }\r\n case 'residency': {\r\n selfObj.columnDefs.push({ field: 'residencyName', headerName: 'Residency', hide: true, })\r\n break\r\n }\r\n case 'residencygrandyear': {\r\n selfObj.columnDefs.push({ field: 'residencygrandyear', headerName: 'R.G.year', hide: true, })\r\n break\r\n }\r\n case 'fellowship': {\r\n selfObj.columnDefs.push({ field: 'fellowshipName', headerName: 'Fellowship', hide: true, })\r\n break\r\n }\r\n case 'fellowshipgrandyear': {\r\n selfObj.columnDefs.push({ field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true, })\r\n break\r\n }\r\n case 'ownerid': {\r\n selfObj.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true, })\r\n break\r\n }\r\n case 'created': {\r\n selfObj.columnDefs.push({ field: 'created', headerName: 'Created123', hide: true, })\r\n break\r\n }\r\n case 'Status': {\r\n selfObj.columnDefs.push({ field: 'Status', headerName: 'Contact Status', hide: true, })\r\n break\r\n } case 'contacttype': {\r\n selfObj.columnDefs.push({ field: 'contacttype', headerName: 'Created', hide: true, })\r\n break\r\n }\r\n case 'country': {\r\n selfObj.columnDefs.push({ field: 'country', headerName: 'Country', hide: true, })\r\n break\r\n } case 'AlternateNo1': {\r\n selfObj.columnDefs.push({ field: 'AlternateNo1', headerName: 'Created', hide: true, })\r\n break\r\n }\r\n }\r\n }\r\n else {\r\n if (ele.DataType == \"Pick List\") {\r\n if (ele.ColumnName == \"rcm\") {\r\n selfObj.columnDefs.push({\r\n field: 'rcmName', headerName: 'RCM', hide: false\r\n });\r\n }\r\n else if (ele.ColumnName == \"IsCustomer\") {\r\n selfObj.columnDefs.push({\r\n field: \"isCustomer\", headerName: ele.DisplayAs, hide: false, width: 200, cellRenderer(params) {\r\n if (params.value == '875') {\r\n return 'Yes';\r\n } else if (params.value == '874') {\r\n return 'No';\r\n } {\r\n return ' ';\r\n }\r\n\r\n }\r\n })\r\n } else if (ele.ColumnName == \"STATUS\") {\r\n selfObj.columnDefs.push({\r\n field: 'constatus', headerName: ele.DisplayAs, hide: false\r\n });\r\n }\r\n else {\r\n\r\n selfObj.columnDefs.push({\r\n field: (ele.ColumnName == 'accounttype') ? 'accounttypeName' : (ele.ColumnName == 'ownership') ? 'ownershipName' : (ele.ColumnName == 'customertypeid') ? 'customertypeid' :\r\n (ele.ColumnName == 'accountStatus') ? 'accountStatus' : ele.ColumnName, headerName: ele.DisplayAs, hide: false, width: 200, cellRenderer(params) {\r\n\r\n if (params.column.colId == \"accountStatus\") {\r\n if (params.value == '14') {\r\n return 'Active';\r\n } else {\r\n return 'On-Hold';\r\n }\r\n } else if (params.column.colId == \"customertypeid\") {\r\n if (params.value == '0') { return \"Non - Customer\" } else if (params.value == '1') {\r\n return \"Current Customer\"\r\n } else if (params.value == '2') { return \"Former Customer\" }\r\n }\r\n else {\r\n return params.value;\r\n }\r\n //}\r\n\r\n\r\n }\r\n })\r\n }\r\n }\r\n else {\r\n if (ele.ColumnName == \"IsCustomer\") {\r\n selfObj.columnDefs.push({ field: \"isCustomer\", headerName: ele.DisplayAs, hide: false, width: 200 })\r\n } else {\r\n\r\n selfObj.columnDefs.push({ field: ele.ColumnName, headerName: ele.DisplayAs, hide: false, width: 200 })\r\n }\r\n\r\n }\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n\r\n rowDoubleClickAgGrid(rowEvent) {\r\n //this.acccontactcomp.gridOptions.rowSelection = 'single';\r\n\r\n this.showContactDashBoard = true;\r\n this.applicationComponent.googlemapshow = false;\r\n if (this.searchtype == 'Account') {\r\n \r\n this.isShowAccountInfo = true;\r\n this.accountid = rowEvent.data.id;\r\n }\r\n this.contactid = rowEvent.data.id;\r\n this.accountid = rowEvent.data.id;\r\n this.SearchResultGridOptions.rowSelection = 'single';\r\n \r\n }\r\n GridClose() {\r\n this.showTabledata = false;''\r\n this.CloseDialog = true;\r\n this.dialogsize();\r\n }\r\n\r\n rowClickAgGrid(rowEvent) {\r\n if ((this.Ids).indexOf(rowEvent.data.id) > -1) {\r\n var index = (this.Ids).indexOf(rowEvent.data.id);\r\n (this.Ids).splice(index, 1);\r\n var string = (this.Ids).toString();\r\n this.AccConIds = string;\r\n \r\n $('#emailIds').val(string);\r\n $('#tasklistselectedtyle').val('');\r\n } else {\r\n this.Ids.push(rowEvent.data.id)\r\n var string = (this.Ids).toString();\r\n this.AccConIds = string;\r\n $('#emailIds').val(this.gridApi.getSelectedRows().map(x => x.id).join(','));\r\n if (rowEvent.data.type == \"Contact\" || rowEvent.data.firstname != null) {\r\n $('#tasklistselectedtyle').val('Contact');\r\n }\r\n else if (rowEvent.data.type == \"Account\" || rowEvent.data.firstname == null) {\r\n $('#tasklistselectedtyle').val('Customer');\r\n }\r\n }\r\n \r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n if (this.searchtype == 'Account') {\r\n this.acccontactcomp.AccountData('show' + event.api.getSelectedNodes()[0].data.id);\r\n this.acccontactcomp.ShowContactView = false;\r\n this.SearchResultGridOptions.rowSelection = 'single';\r\n }\r\n else {\r\n this.contactid = event.api.getSelectedNodes()[0].data.contactid;\r\n this.condashcmp.GetContactInfo(event.api.getSelectedNodes()[0].data.contactid);\r\n }\r\n }\r\n }\r\n }\r\n\r\n dialogsize() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', ' width: 32%;padding - bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min - height: 23%;overflow: visible;height: 24%;');\r\n\r\n }, 4)\r\n }\r\n onContactMessageReceived(msg) {\r\n this.isShowAccountInfo = true;\r\n }\r\n\r\n expandContactView(collapse) {\r\n this.ShowGrid = collapse;\r\n }\r\n\r\n CloseContactDiv() {\r\n this.isShowAccountInfo = false;\r\n this.showContactDashBoard = false;\r\n this.ShowGrid = true;\r\n this.SearchResultGridOptions.rowSelection = 'multiple';\r\n }\r\n close() { this.applicationComponent.AdvancedSearchResult = false; }\r\n}\r\n\r\n","
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n ACCOUNT VIEW\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{account.accountname}}\r\n
      \r\n Owner : \r\n
      \r\n
      \r\n
      \r\n
      {{account.address1}}
      \r\n
      {{account.address2}}
      \r\n
      \r\n {{account.city}} , {{account.state}}. {{account.zip | slice:0:5}} 5\">-{{account.zip | slice:5:20}} ,{{account.country}}\r\n\r\n
      \r\n
      \r\n Phone : {{account.phone}}\r\n , \r\n Fax: {{account.fax}}\r\n
      \r\n
      \r\n {{account.website}},  \r\n Multiple Locations: No\r\n Multiple Locations: Yes\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n Contacts ( {{ContactsprovidersitemCount}} )\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n X\r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n\r\n\r\n\r\n
      \r\n
      \r\n Search
      \r\n
      \r\n No Results Found
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n","import { Component, OnInit, EventEmitter, Output, ViewChild, Input } from '@angular/core';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Searchvalues } from '../../models/searchvalues';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { ContactsdashboardComponent } from '../../application/contacts/contactsdashboard/contactsdashboard.component';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ApplicationComponent } from './../application.component';\r\nimport { RhxNames } from '../../models/RhxNames';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'searchdata',\r\n templateUrl: './searchdata.component.html',\r\n styleUrls: ['./searchdata.component.css']\r\n})\r\nexport class SearchdataComponent implements OnInit {\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n dropdownLists = [];\r\n currentuser: any;\r\n selectedItems = [];\r\n term: string = \"\";\r\n finalitems = \"\";\r\n tableData: Contacts[];\r\n hideGlobalSearchtable1: boolean = true;\r\n condashboardShow: boolean = false;\r\n isCustomer: boolean = true;\r\n isFormerCustomer: boolean = true;\r\n account: Accounts = new Accounts();\r\n searchvalues: Searchvalues = new Searchvalues();\r\n isDivVisible: boolean = false;\r\n taskDialog: boolean = false;\r\n allContactsproviders: Contacts[];\r\n type = \"\";\r\n @Input()\r\n divHeight3: number;\r\n @Input()\r\n pageFrom: string;\r\n\r\n ContactsprovidersitemCount = 0;\r\n searchvaluesList: Dropdowntype[] = [];\r\n divHeight = screen.height * 0.5444;\r\n SearchdataHeight = screen.height * 0.61666;\r\n ContactGridHeight = screen.height * 0.33333;\r\n ContactGrigwidth= 100;\r\n AccountViewDivwidth = 789;\r\n NoResult: boolean = false;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = (new Date().getFullYear()-3) + '-01-01'; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = 'Start: 01-01-' + (new Date().getFullYear()-1).toString();\r\n RHxContactSelected: boolean = false;\r\n RHxAccountSelected: boolean = false;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = new Date().getFullYear() + '-12-31'; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = 'End: 12-31-' + new Date().getFullYear().toString();\r\n public globalGridOptions: GridOptions;\r\n public globalColumnDefs: any[];\r\n public context;\r\n contactid: number = 0;\r\n @ViewChild(ContactsdashboardComponent) contactComp;\r\n dropdownSetting = {};\r\n public frameworkComponentsProvider;\r\n public gridOptionsProvider: GridOptions;\r\n public columnDefsProvider: any[];\r\n public sideBar; RHxNames: RhxNames[];\r\n constructor(public applicationComponent: ApplicationComponent,private customerService: CustomerService, private opprtunityservice: OpprtunitiesService, private router: Router)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n }\r\n ngOnInit() {\r\n \r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1,0,0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownLists = Owner;\r\n });\r\n this.RHxTab('Contacts');\r\n let selfObj2 = this;\r\n $(setTimeout(function () {\r\n selfObj2.AddSuspendInactiveDiv();\r\n selfObj2.GetAllaccesusersListbyuser();\r\n }, 500));\r\n //$(\"#userids\").val(this.currentuser.id);\r\n this.customerService.GetSpecialityList(\"SearchType\", this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.searchvaluesList = accounttype;\r\n });\r\n this.initializeAgGrid();\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 2\r\n };\r\n \r\n var url = window.location.href;\r\n if (url.indexOf('campaigns') > -1) {\r\n this.SearchdataHeight = screen.height * 0.46777 ;\r\n this.divHeight = 350;\r\n $('#accountInformation').attr('style', 'padding-right: 0; height: 111px!important; padding-left: 0.5%; display: block;overflow: auto;');\r\n this.ContactGridHeight = 235;\r\n //document.getElementById('ContactGrigwidth').style.overflow = 'auto';\r\n }\r\n //this.applicationComponent.showContactsSubTabs = false;\r\n \r\n }\r\n\r\n RHxTab(val) {\r\n if (val == 'Contacts') {\r\n this.RHxAccountSelected = false;\r\n this.RHxContactSelected = true;\r\n this.GetRHxNames('Contact');\r\n } else if (val == 'Accounts') {\r\n this.RHxAccountSelected = true;\r\n this.RHxContactSelected = false;\r\n this.GetRHxNames('Account');\r\n }\r\n\r\n localStorage.setItem('RHxTabselected', val);\r\n }\r\n \r\n OpenAccountOrContact(Rhx) {\r\n Rhx.Type = Rhx.Type == 'Contact' ? 'Contacts' : 'Customer';\r\n // this.isDivVisible = false;\r\n this.sendMsgEvent.emit(Rhx.id + '|' + Rhx.Type);\r\n //if (Rhx.Type == \"Account\") {\r\n\r\n //} else if (Rhx.Type == \"Contact\") {\r\n\r\n //}\r\n }\r\n ShowRHxMenuDiv(val) {\r\n\r\n // this.recentHistoryOn = val;\r\n //this.RHxMenuDiv = val;\r\n this.RHxMenuDivCss();\r\n this.RHxNames = [];\r\n \r\n\r\n let selfobj = this;\r\n setTimeout(function () {\r\n var RHxTabselected = localStorage.getItem('RHxTabselected');\r\n if (RHxTabselected == 'Contacts') {\r\n // selfobj.selectedtabid = 'contact';\r\n // selfobj.RHxContactSelected = true;\r\n selfobj.GetRHxNames('Contact');\r\n } else if (RHxTabselected == 'Accounts') {\r\n // selfobj.selectedtabid = 'customers';\r\n //selfobj.RHxAccountSelected = true;\r\n selfobj.GetRHxNames('Account');\r\n }\r\n \r\n }, 300)\r\n }\r\n RHxMenuDivCss() {\r\n setTimeout(function () {\r\n $('#RHxMenuDiv .dialog').attr('style', 'width: 11%;padding: 0;min-height: 63%;overflow: auto;height: 85%;left: 0!important;margin-left: 1%;top: 10%;');\r\n }, 4)\r\n }\r\n GetRHxNames(Type) {\r\n this.customerService.GetRecentHistoryNames(Type, $(\"#userids\").val()).then((RHxNameslist) => {\r\n this.RHxNames = RHxNameslist;\r\n });\r\n }\r\n AddSuspendInactiveDiv() {\r\n \r\n var mydiv = document.getElementById(\"Searchh\").getElementsByClassName(\"pure-checkbox select-all ng-star-inserted\");\r\n //var mydiv = $(\"#Searchh .pure-checkbox .select-all .ng-star-inserted\");\r\n var div = document.createElement('div');\r\n div.id = \"SuspendInactiveDivSearch\";\r\n div.className = \"col-xs-12 Banoos\";\r\n mydiv[0].parentNode.insertBefore(div, mydiv[0].previousSibling);\r\n var banooDiv = document.getElementById(\"SuspendInactiveDivSearch\");\r\n\r\n var div = document.createElement('div'); // creating checkbox element\r\n div.id = \"inActiveDivSearch\";\r\n div.className = \"col-xs-6\";\r\n $('#SuspendInactiveDivSearch').append(div);\r\n var inActiveDiv = document.getElementById(\"inActiveDivSearch\");\r\n\r\n var div = document.createElement('div'); // creating checkbox element\r\n div.id = \"suspendDivSearch\";\r\n div.className = \"col-xs-6\";\r\n $('#SuspendInactiveDivSearch').append(div);\r\n var suspendDiv = document.getElementById(\"suspendDivSearch\");\r\n\r\n\r\n var checkbox = document.createElement('input'); // creating checkbox element \r\n checkbox.type = \"checkbox\"; // Assigning the attributes \r\n checkbox.name = \"Inactive\";\r\n checkbox.value = \"Inactive\";\r\n checkbox.id = \"Inactive1\";\r\n //checkbox.onclick=this.inactiveclick();\r\n var label = document.createElement('label'); // creating label for checkbox \r\n label.htmlFor = \"Inactive1\"; // assigning attributes for\r\n label.id = \"InactiveLabelSearch\";\r\n label.appendChild(document.createTextNode(' Inactive ')); // appending the created text to \r\n //inActiveDiv.append(checkbox); // appending the checkbox and label to div \r\n //inActiveDiv.append(label);\r\n\r\n $('#inActiveDivSearch').append(checkbox);\r\n $('#inActiveDivSearch').append(label);\r\n\r\n\r\n var checkbox2 = document.createElement('input'); // creating checkbox element \r\n checkbox2.type = \"checkbox\"; // Assigning the attributes \r\n checkbox2.name = \"suspended\";\r\n checkbox2.value = \"suspended\";\r\n checkbox2.id = \"suspended1\";\r\n var label2 = document.createElement('label'); // creating label for checkbox \r\n label2.htmlFor = \"suspended1\"; // assigning attributes for\r\n label2.id = 'suspendedLabelSearch';\r\n label2.appendChild(document.createTextNode(' Suspended')); // appending the created text to \r\n //suspendDiv.append(checkbox2); // appending the checkbox and label to div \r\n //suspendDiv.append(label2);\r\n\r\n $('#suspendDivSearch').append(checkbox2);\r\n $('#suspendDivSearch').append(label2);\r\n\r\n $('#inActiveDivSearch').attr('style', 'padding:0;text-align:center');\r\n $('#suspendDivSearch').attr('style', 'padding:0;');\r\n\r\n $('#InactiveLabelSearch').attr('style', 'color: #9a9797;margin-left:4%');\r\n $('#suspendedLabelSearch').attr('style', 'color: #9a9797;margin-left:4%');\r\n\r\n let self = this;\r\n document.getElementById('Inactive1').onclick = function inactiveclick() {\r\n self.getinactiveUsers();\r\n }\r\n\r\n document.getElementById('suspended1').onclick = function inactiveclick() {\r\n self.getSuspendedUsers();\r\n }\r\n }\r\n getinactiveUsers() {\r\n this.dropdownLists = [];\r\n this.GetAllaccesusersListbyuser();\r\n\r\n //this.userservice.GetAllUsers(2).then((user) => {\r\n // this.dropdownLists = user;\r\n //});\r\n\r\n }\r\n getSuspendedUsers() {\r\n this.dropdownLists = [];\r\n this.GetAllaccesusersListbyuser();\r\n //this.userservice.GetAllUsers(3).then((user) => {\r\n // this.dropdownLists = user;\r\n //});\r\n }\r\n GetAllaccesusersListbyuser() {\r\n \r\n var inactive = $('#Inactive1').prop(\"checked\") ? 1 : 0;\r\n var suspended = $('#suspended1').prop(\"checked\") ? 1 : 0;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1, inactive, suspended).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.dropdownLists = Owner;\r\n });\r\n }\r\n\r\n\r\n Search(val) {\r\n if (this.term != '' && this.term != undefined && this.term != null) {\r\n this.searchvalues.includecustomer = val;\r\n this.Getcontactorcustomerinfo($(\"#userids\").val());\r\n $(setTimeout(function () {\r\n this.hideGlobalSearchtable1 = false;\r\n }, 100));\r\n } else {\r\n alert(\"Please enter text to search.\");\r\n }\r\n }\r\n onItemSelect(item: any) {\r\n \r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n ///this.Generate($(\"#userids\").val());\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n // this.Generate($(\"#userids\").val());\r\n } else {\r\n // this.allContacts = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n // this.Generate($(\"#userids\").val());\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n //this.allContacts = [];\r\n //this.gridOptions.api.hideOverlay();\r\n $(\"#userids\").val('');\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n //this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n //this.saveConfiguration();\r\n }\r\n initializeAgGrid() {\r\n this.globalGridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createColumnDefs(\"\");\r\n this.globalGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n \r\n }\r\n createColumnDefs(columnSelections) {\r\n\r\n this.globalColumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n enableTooltip: true\r\n },\r\n { field: 'type', headerName: 'Type', hide: false },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'zip', headerName: 'ZIP', hide: false },\r\n { field: 'accnumber', headerName: 'Act Number', hide: false }, \r\n { field: 'contacttypeName', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n\r\n ];\r\n \r\n }\r\n ChangeSearch(val) { }\r\n onAgGridReady() {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if (rowEvent.node.selected) {\r\n this.isDivVisible = true;\r\n if (rowEvent.data.type == 'Customer' || rowEvent.data.type == 'Account') {\r\n this.initializeaccountproviderAgGrid();\r\n this.type = 'Customer';\r\n $('#accountViewSearch').attr('style', 'width: 50%;margin-top:1%;display:block;padding-right:0;overflow:auto;')\r\n \r\n // $('#ContactViewSearch').attr('style', 'padding:0;width: 51%;margin-top:0.75%;display:none;height:98%;')\r\n this.customerService.GetByAccountId(rowEvent.data.id).then(result => {\r\n this.account = result;\r\n this.GetAllProviderAndContactInfo(rowEvent.data.id);\r\n });\r\n }\r\n else {\r\n this.condashboardShow = true;\r\n this.type = 'Contact';\r\n this.contactid = rowEvent.data.id;\r\n // this.contactComp.GetContactInfo(rowEvent.data.id);\r\n //var url = window.location.href;\r\n //if (url.indexOf('month-calender') > -1) {\r\n // this.divHeight3 = 350;\r\n //}\r\n }\r\n $('.ag-paging-row-summary-panel span:first-child').html(rowEvent.rowIndex + 1)\r\n this.contactid = rowEvent.data.id;\r\n // this.sendMsgEvent.emit(rowEvent.data.id + '|' + rowEvent.data.type);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.contactComp.GetContactInfo(rowEvent.data.id);\r\n }, 100));\r\n //this.contactComp.GetContactInfo(rowEvent.data.id);\r\n }\r\n else {\r\n this.isDivVisible = false;\r\n }\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n rowEvent.data.type = rowEvent.data.type == 'Contact' ? 'Contacts' : rowEvent.data.type; \r\n this.isDivVisible = false; \r\n this.sendMsgEvent.emit(rowEvent.data.id + '|' + rowEvent.data.type);\r\n if (this.pageFrom != \"Campaigns\") {\r\n this.hideGlobalSearchtable1 = true;\r\n }\r\n this.term = \"\";\r\n \r\n }\r\n\r\n BTClick() {\r\n this.sendMsgEvent.emit(\"BTClick\");\r\n }\r\n GetAllProviderAndContactInfo(accountid) {\r\n this.customerService.GetAllContactproviderByAccount(accountid, this.currentuser.id).then((contacts) => {\r\n contacts.forEach(contacts => {\r\n });\r\n this.allContactsproviders = contacts;\r\n this.ContactsprovidersitemCount = contacts.length;\r\n });\r\n\r\n }\r\n NoResultCss() {\r\n setTimeout(function () {\r\n $('#NoResult .dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 100);\r\n }\r\n Getcontactorcustomerinfo(userids) {\r\n \r\n this.hideGlobalSearchtable1 = false;\r\n //this.applicationComponent.showContactsSubTabs = false;\r\n if (this.term != null && this.term != undefined && this.term != \"\") {\r\n \r\n //this.searchvalues.includecustomer = $('input[id=chkIncludeCustomerOnly]').is(':checked') ? true : false;\r\n this.opprtunityservice.GetAllContactsAndCustomerBySearch(this.term, userids, this.startDateVal, this.endDateVal, $(\"#searchval option:selected\").val(),this.searchvalues.includecustomer).then((data) => {\r\n\r\n this.tableData = data;\r\n if (this.tableData.length == 0) {\r\n this.NoResult = true;\r\n this.NoResultCss();\r\n }\r\n });\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.globalGridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.contactid) {\r\n selfObj.globalGridOptions.api.selectNode(node, true);\r\n selfObj.contactComp.GetContactInfo(selfObj.contactid);\r\n }\r\n });\r\n }, 200));\r\n \r\n }\r\n \r\n }\r\n\r\n initializeaccountproviderAgGrid() {\r\n this.globalGridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createColumnDefsProvider(\"\");\r\n this.globalGridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n\r\n }\r\n createColumnDefsProvider(columnSelections: string) {\r\n this.columnDefsProvider = [\r\n {\r\n field: '#',\r\n headerName: 'Actions',\r\n width: 110,\r\n cellRenderer: 'editdeletecv',\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: 'right',\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'lastname', headerName: 'Last Name', hide: false },\r\n { field: 'firstname', headerName: 'First Name', hide: false },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false },\r\n { field: 'titleName', headerName: 'Title', hide: false },\r\n { field: 'specialityName', headerName: 'Specialty', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false },\r\n { field: 'zip', headerName: 'ZIP', hide: false },\r\n { field: 'accountname', headerName: 'Account', hide: false },\r\n { field: 'contacttype', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n ]; \r\n }\r\n onAgGridReadyProvider(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllProvider();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAllProvider();\r\n }, 400));\r\n }, 400));\r\n }\r\n autoSizeAllProvider() {\r\n\r\n }\r\n onMessageReceived(msg) { }\r\n\r\n //openScheduleTask() {\r\n // this.taskDialog = !this.taskDialog;\r\n // this.taskDialogCss();\r\n //}\r\n //taskDialogCss() {\r\n // $(setTimeout(function () {\r\n // $('#taskDialog .dialog').attr('style', 'width: 40%;padding: 0;border: 4px solid rgb(117, 218, 51);min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n // }, 4));\r\n //}\r\n}\r\n","import { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, Validator, ValidatorFn, Validators } from '@angular/forms';\r\n\r\nexport function forbiddenNameValidator(nameRe: RegExp): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n const forbidden = nameRe.test(control.value);\r\n return forbidden ? { 'forbiddenName': { value: control.value } } : null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[appForbiddenValidatorDirective]'\r\n})\r\nexport class ForbiddenValidatorDirectiveDirective implements Validator {\r\n\r\n @Input() forbiddenName: string;\r\n\r\n validate(control: AbstractControl): { [key: string]: any } {\r\n return this.forbiddenName ? forbiddenNameValidator(new RegExp(this.forbiddenName, 'i'))(control)\r\n : null;\r\n }\r\n\r\n}\r\n","
      \r\n
      \r\n

      \r\n Categories\r\n

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

      \r\n License Types\r\n

      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n License Type\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Category
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      Sort Order
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \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, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { SLCategories, SLTypes } from '../../models/SoftwareLicenseConfiguration';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { GridOptions, RowDragEndEvent } from 'ag-grid';\nimport { UserService } from '../../services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { SystemRowConfiguration } from '../../models/system-row-configuration';\r\nimport { LeadsService } from '../../services/leads.service';\r\n\n@Component({\n selector: 'app-software-license-configuration',\n templateUrl: './software-license-configuration.component.html',\n styleUrls: ['./software-license-configuration.component.css']\n})\nexport class SoftwareLicenseConfigurationComponent implements OnInit {\n public SLC_CategoriesPage: boolean = true;\n public SLC_TypesPage: boolean = false;\n\n currentuser: any;\n SLCategory: SLCategories = new SLCategories();\n SLType: SLTypes = new SLTypes();\n createNewCategory: boolean = false;\n createNewLicenseType: boolean = false;\n public gridOptions: GridOptions;\n public sideBar;\n public columnDefs: any[];\n all_SL_Category: SLCategories[];\n AddSLCategoryForm: FormGroup;\n AddSLTypeForm: FormGroup;\n\n all_SL_Types: SLTypes[];\n all_SL_TypesOriginal: SLTypes[];\n AddSLTypesForm: FormGroup;\n public gridSoftwareLicenseTypeApi;\n public gridSoftwareLicenseCategoryApi;\n @Input() SubMenuType: string = null;\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\n constructor(public applicationComponent: ApplicationComponent, private userService: UserService, private toastr: ToastrService, private leadsService: LeadsService) {\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\n }\n\n ngOnInit(): void {\n //if (this.SubMenuType !== null && this.SubMenuType !== undefined && this.SubMenuType !== '') {\r\n this.ShowSLC_Pages(\"Categories\");\r\n //} else {\n //var obj: AuditLogModel = { id: 0, type: 'Software License Configuration', action: 'Software License', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Software License', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n //this.applicationComponent.InsertAuditHistory(obj);\r\n //}\n }\n\n close() {\n this.applicationComponent.ShowConfigurationDialog = false;\n this.applicationComponent.activateMainButtons('dashboards');\n\n }\n CloseDivs() {\n this.SLC_CategoriesPage = false;\r\n this.SLC_TypesPage = false;\r\n this.SLType = new SLTypes();\r\n this.SLCategory = new SLCategories();\r\n this.createNewLicenseType = false;\r\n this.createNewCategory = false;\r\n }\n\n ShowSLC_Pages(value) {\n if (value == 'Categories') {\r\n this.SLC_CategoriesPage = true;\r\n this.SLC_TypesPage = false;\r\n this.initializeAgGrid(value);\r\n this.SLCategory = new SLCategories();\r\n } else if (value == 'LicenseTypes') {\r\n this.SLC_CategoriesPage = false;\r\n this.SLC_TypesPage = true;\r\n this.initializeAgGrid(value);\r\n this.SLType = new SLTypes();\r\n }\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Software License Configuration', action: 'Software License - ' + value, AccountOrContactId: 0, AccountOrContact: value, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Software License - ' + value, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\n\n CreateNewCategory(Value) {\r\n if (Value == 'Categories') {\r\n this.getAddCategoryForm(Value);\r\n this.createNewCategory = true;\r\n this.SLCategory = new SLCategories();\r\n } else if (Value == 'LicenseTypes') {\r\n this.getAddCategoryForm(Value);\r\n this.createNewLicenseType = true;\r\n this.SLType = new SLTypes();\r\n }\r\n \r\n\r\n }\n\n getAddCategoryForm(Value): FormGroup {\r\n if (Value == 'Categories') {\r\n return new FormGroup({\r\n 'LicenseCategoryName': new FormControl(this.SLCategory.LicenseCategoryName, Validators.required),\r\n 'SortOrder': new FormControl(this.SLCategory.SortOrder, Validators.required),\r\n });\r\n } else {\r\n return new FormGroup({\r\n 'LicenseTypeName': new FormControl(this.SLType.LicenseTypeName, Validators.required),\r\n 'SortOrder': new FormControl(this.SLType.SortOrder, Validators.required),\r\n 'LicenseCategoryId': new FormControl(this.SLType.LicenseCategoryId, Validators.required),\r\n });\r\n }\r\n \r\n }\n\n initializeAgGrid(value) {\r\n this.gridOptions = {\r\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000, toolPanelSuppressPivotMode: true, rowSelection: 'single',\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true,\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n \r\n this.GetAll_SL_Category(value);\r\n \r\n this.createColumnDefs(value);\r\n\r\n }\r\n\r\n createColumnDefs(value) {\r\n let selfObj = this;\r\n if (value == 'Categories') {\r\n\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true\r\n },\r\n { field: 'LicenseCategoryId', headerName: 'Id', hide: true, width: 120 },\r\n {\r\n field: 'LicenseCategoryName', headerName: 'Category', hide: false, width: 400,\r\n },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false, width: 120 },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n\r\n if (params.data.isdeleted == 1) {\r\n eDiv.innerHTML = '';\r\n } else {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n \r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteProposalCategory(params.data, value);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n\r\n } else if (value == 'LicenseTypes') {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true\r\n },\r\n { field: 'LicenseTypeId', headerName: 'Id', hide: true, width: 120 },\r\n {\r\n field: 'LicenseTypeName', headerName: 'License Type', hide: false, width: 400,\r\n },{\r\n field: 'LicenseCategoryName', headerName: 'Category', hide: false, width: 400,\r\n },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false, width: 120 },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n\r\n if (params.data.isdeleted == 1) {\r\n eDiv.innerHTML = '';\r\n } else {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteProposalCategory(params.data, value);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n \r\n }\r\n\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"SLCategories\");\r\n }\r\n onRowDragEndLT(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"SLTypes\");\r\n }\n\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == \"SLCategories\") {\r\n this.gridSoftwareLicenseCategoryApi.forEachNode((node) => {\r\n sortoorder.push(node.data.LicenseCategoryId);\r\n });\r\n } else {\r\n this.gridSoftwareLicenseTypeApi.forEachNode((node) => {\r\n sortoorder.push(node.data.LicenseTypeId);\r\n });\r\n }\r\n\r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentuser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n });\r\n\r\n }\n\n selectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n if (this.SLC_TypesPage) {\r\n this.SLType = event.api.getSelectedNodes()[0].data;\r\n this.createNewLicenseType = true;\r\n } else {\r\n this.SLCategory = event.api.getSelectedNodes()[0].data;\r\n this.createNewCategory = true;\r\n }\r\n \r\n }\r\n } else {\r\n if (this.SLC_TypesPage) {\r\n this.ClearForm('LicenseTypes');\r\n } else {\r\n this.ClearForm('Categories');\r\n }\r\n \r\n }\r\n }\n ClearForm(value) {\r\n if (value == 'Categories') {\r\n this.SLCategory = new SLCategories();\r\n } else {\r\n this.SLType = new SLTypes();\r\n }\r\n \r\n }\n\n SaveSLCategory() {\n this.SLCategory.CreatedBy = this.currentuser.id;\r\n if (this.SLCategory.LicenseCategoryId == null || this.SLCategory.LicenseCategoryId == undefined || this.SLCategory.LicenseCategoryId == 0) {\r\n this.SLCategory.LicenseCategoryId = 0;\r\n }\r\n\r\n this.SLCategory.isdeleted = 0;\r\n this.AddOrUpdateProposalCategory(this.SLCategory,'Categories');\r\n }\n\n AddOrUpdateProposalCategory(Category, type) {\r\n if (type == 'Categories') {\r\n this.userService.AddOrUpdateSoftwareLicenseCategory(Category).then(result => {\r\n this.initializeAgGrid(\"Categories\");\r\n this.ClearForm(type);\r\n this.SLCategory = new SLCategories();\r\n this.createNewCategory = false;\r\n this.toastr.success(\"Software License Category saved successfully.\", \"Software License Category Saved\", { timeOut: 600 });\r\n });\r\n }\r\n\r\n else if (type == 'LicenseTypes') {\r\n this.userService.AddOrUpdateSoftwareLicenseTypes(Category).then(result => {\r\n this.initializeAgGrid(\"LicenseTypes\");\r\n this.SLCategory = new SLCategories();\r\n this.createNewCategory = false;\r\n this.ClearForm(type);\r\n this.toastr.success(\"Software License Type saved successfully.\", \"Software License Type Saved\", { timeOut: 600 });\r\n });\r\n }\r\n \r\n \r\n }\n SaveSLType() {\n this.SLType.CreatedBy = this.currentuser.id;\r\n if (this.SLType.LicenseTypeId == null || this.SLType.LicenseTypeId == undefined || this.SLType.LicenseTypeId == 0) {\r\n this.SLType.LicenseTypeId = 0;\r\n }\r\n\r\n this.SLType.isdeleted = 0;\r\n this.AddOrUpdateProposalCategory(this.SLType,'LicenseTypes');\r\n }\n loadSLTypes(event) {\n if (event == 0) {\r\n this.all_SL_Types = this.all_SL_TypesOriginal;\r\n } else {\r\n this.all_SL_Types = this.all_SL_TypesOriginal.filter(x => x.LicenseCategoryId == event);\r\n }\r\n \r\n }\n onAgGridReady(event, val) {\r\n if (val == 'Category') {\r\n this.gridSoftwareLicenseCategoryApi = event.api;\r\n } else {\r\n this.gridSoftwareLicenseTypeApi = event.api;\r\n }\r\n }\n\n GetAll_SL_Category(Type) {\n if (Type == 'Categories') {\n this.userService.GetAll_SL_Categories(this.currentuser.id).then(result => {\r\n this.all_SL_Category = result;\r\n });\r\n }\n else {\r\n\r\n this.userService.GetAll_SL_Categories(this.currentuser.id).then(result => {\r\n this.all_SL_Category = result.filter(x => x.isdeleted == 0);\r\n\r\n this.userService.GetAll_SL_Types(this.currentuser.id).then(result => {\r\n this.all_SL_Types = result;\r\n this.all_SL_TypesOriginal = result;\r\n\r\n });\r\n });\r\n\r\n \r\n }\r\n\r\n }\n\n deleteProposalCategory(Category, value) {\r\n if (value == 'Categories') {\r\n if (Category.isdeleted == 1) {\r\n var c = confirm(\"Are you sure you want to undo this Category?\");\r\n if (c == true) {\r\n this.SLCategory = Category;\r\n this.SLCategory.isdeleted = 0;\r\n this.AddOrUpdateProposalCategory(this.SLCategory, \"Categories\");\r\n }\r\n } else {\r\n var c = confirm(\"Are you sure you want to delete this Category?\");\r\n if (c == true) {\r\n this.SLCategory = Category;\r\n this.SLCategory.isdeleted = 1;\r\n this.AddOrUpdateProposalCategory(this.SLCategory, \"Categories\");\r\n }\r\n }\r\n }\r\n else if (value == 'LicenseTypes') {\r\n if (Category.isdeleted == 1) {\r\n var c = confirm(\"Are you sure you want to undo this License Type?\");\r\n if (c == true) {\r\n this.SLType = Category;\r\n this.SLType.isdeleted = 0;\r\n this.AddOrUpdateProposalCategory(this.SLType, \"LicenseTypes\");\r\n }\r\n } else {\r\n var c = confirm(\"Are you sure you want to delete this License Type?\");\r\n if (c == true) {\r\n this.SLType = Category;\r\n this.SLType.isdeleted = 1;\r\n this.AddOrUpdateProposalCategory(this.SLType, \"LicenseTypes\");\r\n }\r\n }\r\n }\r\n \r\n }\n}\n","
      \r\n
      \r\n
      \r\n   ACCOUNT AND CONTACT LICENSES\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
      License TypeAccount | ContactLic DateStatusLoginsSaaSTermR-DateNotesLicense#Actions
      \r\n \r\n \r\n\r\n \r\n\r\n \r\n 0\" (keyup)=\"ChangeLogins(license);changeColor[i].Date = true\" [ngStyle]=\"{'background-color':(license.SoftwarelicenseId <= 0 ) ? '#ffff91' : '#eee','color':(changeColor[i] !=null && changeColor[i].Date && license.SoftwarelicenseId <= 0) ? 'black' : '#555'}\" />\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n 0\" style=\"padding:0;height:100%;font-size:12px;\" id=\"SaaS{{license.SoftwarelicenseId}}\" [ngStyle]=\"{'background-color':(license.SoftwarelicenseId <= 0 ) ? '#ffff91' : '#eee','color':(changeColor[i] != null && changeColor[i].SaaS && license.SoftwarelicenseId <= 0) ? 'black' : '#555'}\" (keyup)=\"changeColor[i].SaaS = true\"/>\r\n \r\n \r\n 0\" (keyup)=\"ChangeLogins(license);changeColor[i].Date = true\" [ngStyle]=\"{'background-color':(license.SoftwarelicenseId <= 0 ) ? '#ffff91' : '#eee','color':(changeColor[i] !=null && changeColor[i].Date && license.SoftwarelicenseId <= 0) ? 'black' : '#555'}\" />\r\n\r\n \r\n \r\n 0)\" (click)=\"ViewNotesdialog(i,license,'Add/Edit')\" />\r\n\r\n \r\n \r\n \r\n 0\" style=\"padding:0;height:100%;font-size:12px;\" id=\"LicenseNo{{license.SoftwarelicenseId}}\" [ngStyle]=\"{'background-color':(license.SoftwarelicenseId <= 0 ) ? '#ffff91' : '#eee','color':(changeColor[i] != null && changeColor[i].LicNumber && license.SoftwarelicenseId <= 0) ? 'black' : '#555'}\" (keyup)=\"changeColor[i].LicNumber = true\" />\r\n \r\n
      0\">
      \r\n
      0\">
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Previous Notes
      \r\n
      \r\n
      \r\n
      Date: {{ticketNotes.CreatedDate | date : \"MM-dd-yyyy\"}} ({{ticketNotes.CreatedDate | date:\"hh:mm a\"}})
      \r\n
      User: {{ticketNotes.username}}
      \r\n
      Notes: {{ticketNotes.Notes}}
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n\r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{item.CreatedDate | date : \"MM-dd-yyyy\"}}
      \r\n {{item.CreatedDate | date:\"hh:mm a\"}}
      \r\n {{SoftwareLicense.Contacts_AccountName}}
      \r\n {{SoftwareLicense.createdByName}}
      \r\n {{item.Notes}}

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n LICENSE\r\n
      \r\n
      \r\n
      \r\n Delete this License?
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { type } from 'os';\r\nimport { SLCategories, SLTypes, SoftwareLicense } from '../../../models/SoftwareLicenseConfiguration';\r\nimport { TicketNotes } from '../../../models/TicketNotes';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { ApplicationComponent } from '../../application.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-software-licensing',\r\n templateUrl: './software-licensing.component.html',\r\n styleUrls: ['./software-licensing.component.css']\r\n})\r\nexport class SoftwareLicensingComponent implements OnInit {\r\n @Input()\r\n accountid: number;\r\n all_SL_Types: SLTypes[];\r\n all_SL_TypesFilter: any[];\r\n all_SL_TypesOriginal: SLTypes[];\r\n all_SL_Category: SLCategories[];\r\n SoftwareLicenses: SoftwareLicense[];\r\n SoftwareLicense: SoftwareLicense = new SoftwareLicense();\r\n OriginalSoftwareLicenses: SoftwareLicense[];\r\n currentuser: any;\r\n Contacts = [{ id: 0, Name: '', type: '' }];\r\n LicenseLogins = []; SaasTerms = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public dobmask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n ExpandView: Boolean = false;\r\n @Input()\r\n Type: string;\r\n @Output()\r\n ExpandBox = new EventEmitter();\r\n DisableSaveButton: boolean = false;\r\n ViewNotesDialog: boolean = false;\r\n LicenseNote: string = \"\";\r\n NotesIndex: number = 0;\r\n LicenseNotesDec: boolean = false;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n TotalLogins = 0;\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n public context;\r\n public columnDefs: any[];\r\n public ContactsSortOrder: boolean = false;\r\n DeleteConfirmationPopup: boolean = false;\r\n LicenseNotes: TicketNotes = new TicketNotes();\r\n LicenseNotesData: TicketNotes[];\r\n selectedLicenseId = 0; Saasterms = [];\r\n SoftwarelicenseEdit: boolean = false;\r\n changeColor = [{ LicenseType: false, AccountContact: false, Date: false, status: false, Logins: false, LicNumber: false, SaaS: false, RDate:false }];\r\n constructor(private userService: UserService, private customerService: CustomerService, public applicationComponent: ApplicationComponent) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.LicenseLogins = Array(251).fill(1).map((x, i) => i);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getAllLicenseTypes();\r\n this.initializeAgGrid();\r\n\r\n this.getAllContacsAndAccounts();\r\n this.SoftwareLicenses = [];\r\n }\r\n getAllLicenseTypes() {\r\n this.userService.GetAll_SL_Categories(this.currentuser.id).then(result => {\r\n this.all_SL_Category = result.filter(x => x.isdeleted == 0);\r\n this.userService.GetAll_SL_Types(this.currentuser.id).then(result => {\r\n this.all_SL_Types = result.filter(x => x.isdeleted == 0);\r\n this.all_SL_TypesOriginal = result.filter(x => x.isdeleted == 0);\r\n\r\n });\r\n });\r\n this.customerService.GetSpecialityList(\"SaasTerm\", this.currentuser.id).then((SaasTerm) => { \r\n this.Saasterms = SaasTerm;\r\n\r\n });\r\n }\r\n\r\n getAllContacsAndAccounts() {\r\n this.Contacts = [];\r\n this.customerService.loadaccountdata(this.accountid).then(result => {\r\n this.Contacts.push({ id: result.id, Name: result.accountname, type: 'Account' });\r\n this.customerService.GetAllContactproviderByAccount(this.accountid, this.currentuser.id).then((contacts) => {\r\n contacts.forEach(result1 => {\r\n this.Contacts.push({ id: result1.id, Name: result1.firstname + \" \" + result1.lastname + ((result1.titleName)? (' - '+result1.titleName):''), type: 'Contact' });\r\n\r\n });\r\n this.initializeAgGrid();\r\n this.GetAllSoftwareLicense();\r\n\r\n });\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n GetAllSoftwareLicense() {\r\n this.userService.GetAllSoftwareLicense(this.currentuser.id, this.Contacts.map(x => x.id).join(\",\")).then(result => {\r\n \r\n result.forEach(ele => {\r\n ele.Contacts_AccountName = this.Contacts.filter(x => x.id == ele.Contacts_AccountId)[0].Name;\r\n this.changeColor.push({ LicenseType: false, AccountContact: false, Date: false, status: false, Logins: false, LicNumber: false, SaaS: false, RDate: false })\r\n });\r\n this.SoftwareLicenses = result;\r\n \r\n this.OriginalSoftwareLicenses = result;\r\n this.TotalLogins = this.OriginalSoftwareLicenses.filter(x => x.Status == 1).reduce((sum, current) => sum + parseInt(current.Logins.toString()), 0);\r\n\r\n this.all_SL_TypesFilter = [];\r\n var rew = Array.from(new Set(this.SoftwareLicenses.map(s => s.LicenseTypeId)))\r\n .map(contacttype => {\r\n return {\r\n Name: ((this.SoftwareLicenses.filter(x => x.LicenseTypeId == contacttype)[0].LicenseTypeName != null) ? this.SoftwareLicenses.filter(x => x.LicenseTypeId == contacttype)[0].LicenseTypeName : ''),\r\n Value: contacttype\r\n }\r\n });\r\n\r\n this.all_SL_TypesFilter = rew;\r\n this.filter(1, 'Status')\r\n });\r\n }\r\n\r\n AddNewLicense() {\r\n\r\n this.SoftwareLicenses.push({\r\n SoftwarelicenseId: 0,\r\n LicenseTypeId: 0,\r\n Contacts_AccountId: 0,\r\n DateLicensed: '',\r\n Status: 1,\r\n Logins: 0,\r\n LicenseNumber: '',\r\n createdBy: this.currentuser.id,\r\n createdDate: '',\r\n isdeleted: 0,\r\n LicenseTypeName: \"\",\r\n Contacts_AccountName: \"\",\r\n createdByName: \"\",\r\n AccorConType: '',\r\n LicenseNote: '',\r\n SaaS: '',\r\n RDate:'',\r\n LicenseNotes: null,\r\n term:''\r\n });\r\n\r\n }\r\n SaveLicense() {\r\n this.SoftwareLicenses = this.SoftwareLicenses.filter(x => x.LicenseTypeId != 0); \r\n this.SaveSoftwareLicense(this.SoftwareLicenses);\r\n }\r\n\r\n SaveSoftwareLicense(SoftwareLicenses) {\r\n this.userService.AddOrUpdateSoftwareLicense(SoftwareLicenses).then(result => {\r\n this.initializeAgGrid();\r\n this.GetAllSoftwareLicense();\r\n this.DisableSaveButton = false;\r\n });\r\n }\r\n\r\n EditLicense(licenseId) {\r\n $('#LicenseType' + licenseId).attr(\"Disabled\", false);\r\n $('#AccOrCont' + licenseId).attr(\"Disabled\", false);\r\n $('#LicenseDate' + licenseId).attr(\"Disabled\", false);\r\n $('#LicenseStatus' + licenseId).attr(\"Disabled\", false);\r\n $('#LicenseTerm' + licenseId).attr(\"Disabled\", false);\r\n $('#LicenseLogins' + licenseId).attr(\"Disabled\", false);\r\n $('#LicenseNo' + licenseId).attr(\"Disabled\", false);\r\n $('#SaaS' + licenseId).attr(\"Disabled\", false);\r\n $('#RDate' + licenseId).attr(\"Disabled\", false);\r\n\r\n $('#LicenseType' + licenseId).attr(\"style\", 'padding:0;height:100%;font-size:12px;background-color:#ffff91;color:black;');\r\n $('#AccOrCont' + licenseId).attr(\"style\", 'padding:0;height:100%;font-size:12px;background-color:#ffff91;color:black;');\r\n $('#LicenseDate' + licenseId).attr(\"style\", 'padding:0;font-size:11px;height:100%;background-color:#ffff91;color:black;');\r\n $('#LicenseStatus' + licenseId).attr(\"style\", 'padding:0;height:100%;font-size:12px;background-color:#ffff91;color:black;');\r\n $('#LicenseTerm' + licenseId).attr(\"style\", 'padding:0;height:100%;font-size:12px;background-color:#ffff91;color:black;');\r\n $('#LicenseLogins' + licenseId).attr(\"style\", 'padding:0;height:100%;font-size:12px;background-color:#ffff91;color:black;');\r\n $('#LicenseNo' + licenseId).attr(\"style\", 'padding:0;height:100%;font-size:12px;background-color:#ffff91;color:black;');\r\n $('#SaaS' + licenseId).attr(\"style\", 'padding:0;height:100%;font-size:12px;background-color:#ffff91;color:black;');\r\n $('#RDate' + licenseId).attr(\"style\", 'padding:0;height:100%;font-size:12px;background-color:#ffff91;color:black;');\r\n \r\n }\r\n DeleteLicense(licenseId) {\r\n var softwarelicense = this.SoftwareLicenses.filter(x => x.SoftwarelicenseId == licenseId);\r\n softwarelicense.forEach(ele => {\r\n ele.isdeleted = 1;\r\n });\r\n this.SaveSoftwareLicense(softwarelicense);\r\n\r\n }\r\n filter(value, type) {\r\n\r\n switch (type) {\r\n case 'LicenseType': {\r\n if (value != \"0\") {\r\n this.SoftwareLicenses = this.OriginalSoftwareLicenses.filter(x => x.LicenseTypeId == value);\r\n } else {\r\n this.SoftwareLicenses = this.OriginalSoftwareLicenses;\r\n }\r\n\r\n break;\r\n }\r\n case 'Account Or Contacts': {\r\n if (value != \"0\") {\r\n this.SoftwareLicenses = this.OriginalSoftwareLicenses.filter(x => x.Contacts_AccountId == value);\r\n } else {\r\n this.SoftwareLicenses = this.OriginalSoftwareLicenses;\r\n }\r\n break;\r\n }\r\n case 'Status': {\r\n if (value != \"2\") {\r\n this.SoftwareLicenses = this.OriginalSoftwareLicenses.filter(x => x.Status == value);\r\n }\r\n else {\r\n this.SoftwareLicenses = this.OriginalSoftwareLicenses;\r\n }\r\n break;\r\n }\r\n default: {\r\n this.SoftwareLicenses = this.OriginalSoftwareLicenses;\r\n break;\r\n }\r\n }\r\n }\r\n Expand(value) {\r\n this.ExpandView = value;\r\n this.initializeAgGrid();\r\n if (value == true) {\r\n\r\n this.ExpandBox.emit('ExpandSoftwareLicense');\r\n } else {\r\n this.ExpandBox.emit('CollapseSoftwareLicense');\r\n }\r\n\r\n }\r\n\r\n\r\n ChangeLogins(data) {\r\n if (data.LicenseTypeId != 0 && data.contact !== 0 && data.DateLicensed != \"\") {\r\n this.DisableSaveButton = true;\r\n }\r\n }\r\n changeEvent(event, data) {\r\n return this.Contacts.filter(x => x.id == event.target.value)[0].type;\r\n }\r\n ViewNotesdialog(index, license, type) {\r\n this.LicenseNotesData = [];\r\n if (type == 'Add/Edit') {\r\n this.SoftwareLicense = license;\r\n this.NotesIndex = index;\r\n //this.getNotes();\r\n this.LicenseNotesData = this.SoftwareLicense.LicenseNotes;\r\n if (this.LicenseNotesData && this.LicenseNotesData.length > 0) {\r\n this.LicenseNotesData.forEach(ele => {\r\n ele.Notes = ele.Notes.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>)/img, \"\");\r\n ele.Notes = ele.Notes.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/gi, \"\");\r\n\r\n });\r\n }\r\n this.ViewNotesDialog = true;\r\n this.ViewNotesDialogCss()\r\n\r\n } else if (type == 'View') {\r\n this.SoftwareLicense = license;\r\n this.LicenseNotesDec = true;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n $('#showLicenseNotesDialog').attr('style', 'width: 22%;height: 57%;top: 35%;left: -13%;background-color: #ffffb4;border: 1px solid;overflow: auto;padding: 0;');\r\n }, 50));\r\n }\r\n\r\n }\r\n ViewNotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('#ViewNotesDialog .dialog').attr('style', 'width: 39%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 36%;overflow: auto;height: 59%;padding: 0;top: 33%;left: 0;right: 31%;');\r\n }, 4));\r\n }\r\n\r\n SaveLicenseNotes(value) {\r\n \r\n if (value == 'Save' && this.SoftwareLicense.SoftwarelicenseId != 0) {\r\n if (this.LicenseNote != null && this.LicenseNote != '' && this.LicenseNote != undefined) {\r\n this.LicenseNotes.NoteId = 0;\r\n this.LicenseNotes.UserID = this.currentuser.id;\r\n this.LicenseNotes.TicketId = this.SoftwareLicense.SoftwarelicenseId;\r\n this.LicenseNotes.NotesType = 'License';\r\n this.LicenseNotes.Notes = this.LicenseNote;\r\n this.customerService.addticketNotes(this.LicenseNotes).then(result => {\r\n this.getNotes();\r\n this.LicenseNotes = new TicketNotes();\r\n this.LicenseNote = null;\r\n this.GetAllSoftwareLicense();\r\n })\r\n }\r\n else {\r\n alert(\"Please Enter Notes\");\r\n }\r\n\r\n }\r\n else if (value == 'Save' && this.SoftwareLicense.SoftwarelicenseId == 0) {\r\n var myInput = $('#LicenseNote' + this.NotesIndex);\r\n myInput.val(this.LicenseNote);\r\n myInput.trigger('input');\r\n myInput.trigger('change');\r\n myInput[0].dispatchEvent(new Event(\"input\", { bubbles: true }));\r\n this.LicenseNotesData = [];\r\n if (this.LicenseNote != null && this.LicenseNote != '') {\r\n this.LicenseNotesData.push({ NoteId: 0, Notes: this.LicenseNote, NotesType: 'License', TicketId: 0, CreatedDate: new Date().toString(), UserID: this.currentuser.id, username: '' })\r\n this.ChangeLogins(this.SoftwareLicense)\r\n this.LicenseNote = null;\r\n this.ViewNotesDialog = false;\r\n } else {\r\n alert(\"Please Enter Notes\");\r\n }\r\n \r\n\r\n \r\n\r\n } else {\r\n this.ViewNotesDialog = false;\r\n this.LicenseNotesData = [];\r\n }\r\n \r\n \r\n}\r\n getNotes() {\r\n\r\n if (this.SoftwareLicense.SoftwarelicenseId !== 0 && this.SoftwareLicense.SoftwarelicenseId !== null) {\r\n this.customerService.GetTicketNotesByTicketId(this.SoftwareLicense.SoftwarelicenseId, 'License').then(result => {\r\n this.LicenseNotesData = result;\r\n \r\n })\r\n }\r\n \r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, columnsMenuTab: false\r\n\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'left',\r\n };\r\n\r\n this.context = this;\r\n this.createColumnDefs();\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: ''\r\n }\r\n }\r\n }\r\n\r\n createColumnDefs() {\r\n let selfobj = this;\r\n this.columnDefs = [\r\n\r\n {\r\n field: 'LicenseTypeName', headerName: 'License Type', hide: false, width: (selfobj.ExpandView) ? 250 : 150, suppressMenu: true, cellStyle: function (params) {\r\n if (params.data.Status != 1) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'Contacts_AccountName', headerName: 'Account | Contact', hide: false, width: (selfobj.ExpandView) ? 200 : 120, suppressMenu: true, cellStyle: function (params) {\r\n if (params.data.Status != 1) { return { color: '#FF0000' }; }\r\n } },\r\n {\r\n field: 'DateLicensed', headerName: 'Lic Date', hide: false, width: 80, suppressMenu: true, cellStyle: function (params) {\r\n if (params.data.Status != 1) { return { color: '#FF0000' }; }\r\n }},\r\n {\r\n field: 'Status', headerName: 'Status', hide: false, width: 75, suppressMenu: true, cellStyle: function (params) {\r\n if (params.data.Status != 1) { return { color: '#FF0000' }; }\r\n },cellRenderer(params) {\r\n if (params.data.Status === 1) {\r\n return \"Active\";\r\n } else {\r\n return \"InActive\";\r\n }\r\n }\r\n },\r\n {\r\n field: 'Logins', headerName: 'Logins', width: 75, hide: false, suppressMenu: true, cellStyle: function (params) {\r\n if (params.data.Status != 1) { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'SaaS', headerName: 'SaaS', width: 75, hide: false, suppressMenu: true\r\n },\r\n {\r\n field: 'RDate', headerName: 'RDate', width: 75, hide: false, suppressMenu: true\r\n },\r\n {\r\n field: 'LicenseNote', headerName: 'Notes', hide: false, width: 80, suppressMenu: true, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.LicenseNotes == null || params.data.LicenseNotes.length <= 0 ) {\r\n eDiv.innerHTML = '';\r\n }\r\n else if (params.data.LicenseNotes && params.data.LicenseNotes.length > 0) {\r\n eDiv.innerHTML = '';\r\n }\r\n\r\n eDiv.addEventListener('click', function () {\r\n selfobj.ViewNotesdialog(Event, params.data, 'View')\r\n });\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'LicenseNumber', headerName: 'License#', hide: false, width: 80, suppressMenu: true, cellStyle: function (params) {\r\n if (params.data.Status != 1) { return { color: '#FF0000' }; }\r\n } },\r\n ];\r\n \r\n }\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 400));\r\n }\r\n autoSizeAll() {\r\n if (this.gridOptions && this.gridOptions.columnApi) {\r\n this.gridOptions.columnApi.autoSizeAllColumns();\r\n }\r\n }\r\n\r\n ColumnClick() {\r\n this.ContactsSortOrder = !this.ContactsSortOrder;\r\n let Selfobj = this;\r\n setTimeout(function () {\r\n if (Selfobj.ContactsSortOrder) {\r\n Selfobj.SoftwareLicenses = Selfobj.OriginalSoftwareLicenses.sort((a, b) => a.Contacts_AccountName > b.Contacts_AccountName ? 1 : -1);\r\n } else {\r\n Selfobj.SoftwareLicenses = Selfobj.OriginalSoftwareLicenses;\r\n }\r\n }, 200)\r\n \r\n }\r\n\r\n DeleteConfirmationPopupCss(value) {\r\n this.selectedLicenseId = value;\r\n this.DeleteConfirmationPopup = true;\r\n setTimeout(function () {\r\n $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n}\r\n","

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

      \r\n Status ID Configuration\r\n

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

      \r\n Status ID Groups\r\n

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

      \r\n Status ID Items\r\n

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

      \r\n
      \r\n
      \r\n
      \r\n
      Searching to Replace EHR
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \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, OnInit } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { GridOptions, RowDragEndEvent } from 'ag-grid';\r\nimport { StatusIDCategory, StatusIDGroup } from 'src/app/models/status-idcategory';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { SystemRowConfiguration } from 'src/app/models/system-row-configuration';\r\nimport { LeadsService } from 'src/app/services/leads.service';\r\nimport { ApplicationComponent } from '../application.component';\r\n\r\nimport { DatePipe } from '@angular/common';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'status-idconfiguration',\r\n templateUrl: './status-idconfiguration.component.html',\r\n styleUrls: ['./status-idconfiguration.component.css']\r\n})\r\nexport class StatusIDconfigurationComponent implements OnInit {\r\n statusidCategory: StatusIDCategory = new StatusIDCategory();\r\n allStatusIds: StatusIDCategory[];\r\n allStatusIdGroups: StatusIDGroup[];\r\n dropdownList: any;\r\n createNewStatusId: boolean = false;\r\n deleteStatusId: boolean = false;\r\n currentUser: any;\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n public GroupsColumnDefs: any[];\r\n finalitems = [];\r\n selectedItems = [];\r\n updatestaatusId: number;\r\n dropdownSetting = {};\r\n ExpandCategoryGrid: boolean = false;\r\n ExpandGroupsGrid: boolean = false;\r\n sortOrder = \"0\";\r\n deletedStatusID = 0;\r\n public sideBar;\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\r\n StatusIdHomePage: boolean = true;\r\n StatusIdItemsPage: boolean = false;\r\n StatusIdGroupsPage: boolean = false;\r\n DeleteConfirmationPopup: boolean = false;\r\n DeleteGroupConfirmationPopup: boolean = false;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n StatusGroup: StatusIDGroup = new StatusIDGroup()\r\n createNewStatusIdGroup: boolean = false;\r\n @Input() SubMenuType: string = null;\r\n StatusIDGroup: number = 5000;\r\n constructor(public applicationComponent: ApplicationComponent,private userService: UserService, private toastr: ToastrService, private leadsService: LeadsService) {\r\n this.currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.initializeAgGrid();\r\n //if (this.SubMenuType !== null && this.SubMenuType !== undefined && this.SubMenuType !== '') {\r\n this.OpenStatusID(\"Group\");\r\n //} else {\r\n // var obj: AuditLogModel = { id: 0, type: 'StatusID Configuration', action: 'Status ID Config', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Status ID Config', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n // this.applicationComponent.InsertAuditHistory(obj);\r\n //}\r\n }\r\n OpenStatusID(type) {\r\n if (type == 'Group') {\r\n this.StatusIdHomePage = false;\r\n this.StatusIdItemsPage = false;\r\n this.StatusIdGroupsPage = true;\r\n this.GetAllStatusIDs('Groups');\r\n } else if (type == 'Items') {\r\n this.StatusIdHomePage = false;\r\n this.StatusIdItemsPage = true;\r\n this.StatusIdGroupsPage = false;\r\n this.GetAllStatusIDs('Groups');\r\n this.GetAllStatusIDs('Items')\r\n }\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'StatusID Configuration', action: 'Status ID Config - ' + type, AccountOrContactId: 0, AccountOrContact: type, documentid: 0, userid: this.currentUser.id, dateofviewed: '', customertype: '', time: '', Title: 'Status ID Config - ' + type, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n\r\n onAgGridReady(event, type) {\r\n if (type == 'StatusIDGroups') {\r\n this.gridOptions.api = event.api;\r\n } else {\r\n this.gridOptions.api = event.api;\r\n }\r\n\r\n }\r\n\r\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"StatusId\");\r\n }\r\n onRowDragEndGroups(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"StatusIDGroups\");\r\n }\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == 'StatusIDGroups') {\r\n this.gridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.StatusGroupId);\r\n });\r\n } else {\r\n this.gridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.Id);\r\n });\r\n }\r\n \r\n \r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentUser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 }); \r\n });\r\n\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true,\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true,\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n this.createColumnDefs();\r\n\r\n }\r\n\r\n createColumnDefs() {\r\n let selfObj = this;\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true\r\n },\r\n {\r\n field: 'StatusIDName', headerName: 'Status ID Description', hide: false, width: 460,\r\n },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false, width: 110 },\r\n {\r\n field: 'StatusIDGroup', headerName: 'Group', hide: false, width: 110, cellRenderer(params) {\r\n if (params.data.StatusIDGroup == 5001) {\r\n return \"Customer Profile\";\r\n }\r\n else {\r\n return \"Account Profile\";\r\n }\r\n }\r\n },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteStatusIds(params.data.Id,'Items');\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n\r\n this.GroupsColumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true\r\n },\r\n {\r\n field: 'StatusGroupName', headerName: 'Status ID Description', hide: false, width: 460,\r\n },\r\n { field: 'StatusSortOrder', headerName: 'Sort Order', hide: false, width: 110 },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.StatusGroup = params.data;\r\n selfObj.deleteStatusIds(params.data.Id,'Groups');\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n\r\n\r\n }\r\n onItemSelect(item: any) {\r\n var ids = item.id;\r\n this.finalitems.push(ids);\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n const index: number = this.finalitems.indexOf(ids);\r\n if (index !== -1) {\r\n this.finalitems.splice(index, 1);\r\n } \r\n }\r\n\r\n onDeSelectAll(items: any) {\r\n this.finalitems = [];\r\n }\r\n\r\n UpdateStatusId() {\r\n if (this.deletedStatusID > 0) {\r\n this.userService.UpdateAccountStatusId(this.updatestaatusId, this.deletedStatusID).then(result => {\r\n this.GetAllStatusIDs('Items');\r\n this.toastr.success(\"StatusId Deleted successfully.\", \"StatusId Deleted\", { timeOut: 600 });\r\n this.deleteStatusId = false;\r\n });\r\n }\r\n else {\r\n alert(\"Please Select\");\r\n }\r\n \r\n }\r\n CancelSelectedAccount() {\r\n this.finalitems = [];\r\n this.selectedItems = [];\r\n this.deleteStatusId = false;\r\n }\r\n ClearStatusID() {\r\n\r\n this.statusidCategory = new StatusIDCategory();\r\n this.StatusGroup = new StatusIDGroup();\r\n }\r\n\r\n deleteStatusIds(statusId, type) {\r\n if (type == 'Items') {\r\n this.updatestaatusId = statusId;\r\n this.userService.GetattattachedstatusIds(this.currentUser.id, statusId).then(result => {\r\n if (result > \"0\") {\r\n this.deleteStatusId = true;\r\n this.userService.GetAllAddedStatusIds(this.currentUser.id, statusId).then(result => {\r\n this.dropdownList = result;\r\n });\r\n } else {\r\n this.DeleteConfirmationPopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteConfirmationPopup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n }\r\n })\r\n }\r\n else if (type == 'Groups') {\r\n this.DeleteGroupConfirmationPopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteGroupConfirmationPopup .dialog');\r\n //setTimeout(function () {\r\n\r\n // $('#DeleteGroupConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n }\r\n\r\n }\r\n\r\n ReceiveDeleteevent(msg) {\r\n if (msg == 'Ok') {\r\n this.deletedStatusID = this.updatestaatusId;\r\n this.UpdateStatusId();\r\n this.DeleteConfirmationPopup = false;\r\n } else {\r\n this.DeleteConfirmationPopup = false;\r\n }\r\n }\r\n\r\n ReceiveGroupDeleteevent(msg) {\r\n if (msg == 'Ok') {\r\n this.DeleteGroupConfirmationPopup = false;\r\n this.StatusGroup.DeleteStatus = 1;\r\n this.AddOrUpdateStatusIDGroups(this.StatusGroup);\r\n } else {\r\n this.DeleteGroupConfirmationPopup = false;\r\n }\r\n }\r\n SaveStatusID( val) {\r\n if (val == 'Items') {\r\n this.statusidCategory.UserID = this.currentUser.id;\r\n if (this.statusidCategory.Id == null || this.statusidCategory.Id == undefined || this.statusidCategory.Id == 0) {\r\n this.statusidCategory.Id = 0;\r\n }\r\n\r\n this.statusidCategory.deleteStatus = 0;\r\n this.AddOrUpdateStatusID(this.statusidCategory);\r\n } else if (val == 'Groups') {\r\n this.StatusGroup.UserID = this.currentUser.id;\r\n if (this.StatusGroup.StatusGroupId == null || this.StatusGroup.StatusGroupId == undefined || this.StatusGroup.StatusGroupId == 0) {\r\n this.StatusGroup.StatusGroupId = 0;\r\n }\r\n this.StatusGroup.DeleteStatus = 0;\r\n this.AddOrUpdateStatusIDGroups(this.StatusGroup)\r\n }\r\n \r\n }\r\n AddOrUpdateStatusIDGroups(Group) {\r\n this.userService.AddOrUpdateStatusIDGroups(Group).then(result => {\r\n this.GetAllStatusIDs('Groups');\r\n this.StatusGroup = new StatusIDGroup();\r\n this.createNewStatusIdGroup = false;\r\n this.toastr.success(\"Status ID Group saved successfully.\", \"Status ID Group Saved\", { timeOut: 600 });\r\n });\r\n }\r\n AddOrUpdateStatusID(Category) {\r\n this.userService.AddOrUpdateStatusIds(Category).then(result => {\r\n this.GetAllStatusIDs('Items');\r\n this.statusidCategory = new StatusIDCategory();\r\n this.createNewStatusId = false;\r\n this.toastr.success(\"Status ID saved successfully.\", \"Status ID Saved\", { timeOut: 600 });\r\n });\r\n }\r\n ClearCategory() {\r\n this.statusidCategory = new StatusIDCategory();\r\n }\r\n CreateNewStatusID(Val) {\r\n if (Val == 'Items') {\r\n this.createNewStatusId = true;\r\n this.ExpandCategoryGrid = false;\r\n this.statusidCategory = new StatusIDCategory();\r\n var NextsortOrder = this.allStatusIds.sort((a, b) => b.SortOrder - a.SortOrder)[0].SortOrder;\r\n this.statusidCategory.SortOrder = NextsortOrder + 1\r\n } else if (Val == 'Groups') {\r\n this.createNewStatusIdGroup = true;\r\n this.ExpandGroupsGrid = false;\r\n this.StatusGroup = new StatusIDGroup();\r\n\r\n var NextsortOrder = this.allStatusIdGroups.sort((a, b) => b.StatusSortOrder - a.StatusSortOrder)[0].StatusSortOrder;\r\n this.StatusGroup.StatusSortOrder = NextsortOrder + 1\r\n }\r\n \r\n }\r\n\r\n DoubleSort(arr, prop1, prop2) {\r\n let mysort = [...arr].sort((a, b) => {\r\n if (a[prop1] == b[prop1]) {\r\n if (a[prop2] == b[prop2]) {\r\n return 0;\r\n } else {\r\n return (a[prop2] < b[prop2]) ? -1 : 1;\r\n }\r\n } else {\r\n return (a[prop1] > b[prop1]) ? -1 : 1;\r\n }\r\n\r\n });\r\n return mysort;\r\n }\r\n\r\n GetAllStatusIDs(val) {\r\n if (val == 'Items') {\r\n this.userService.GetAllStatusIds(this.currentUser.id, this.StatusIDGroup).then(result => {\r\n this.allStatusIds = result;\r\n if (this.sortOrder === \"1\") {\r\n this.allStatusIds = this.allStatusIds.sort(function (x, y) {\r\n let a = x.StatusIDName.toUpperCase(),\r\n b = y.StatusIDName.toUpperCase();\r\n return a == b ? 0 : a > b ? 1 : -1;\r\n });\r\n }\r\n\r\n //this.allStatusIds = this.DoubleSort(result, 'StatusIDGroupName', 'SortOrder');\r\n });\r\n } else if(val =='Groups'){\r\n this.userService.GetAllStatusIdGroups(this.currentUser.id).then(result => {\r\n this.allStatusIdGroups = result;\r\n if (this.sortOrder === \"1\") {\r\n this.allStatusIdGroups = this.allStatusIdGroups.sort(function (x, y) {\r\n let a = x.StatusGroupName.toUpperCase(),\r\n b = y.StatusGroupName.toUpperCase();\r\n return a == b ? 0 : a > b ? 1 : -1;\r\n });\r\n }\r\n });\r\n }\r\n \r\n }\r\n Expand(val) {\r\n this.ExpandCategoryGrid = !this.ExpandCategoryGrid;\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.createNewStatusId = true;\r\n this.statusidCategory = event.api.getSelectedNodes()[0].data;\r\n }\r\n } else {\r\n this.ClearStatusID();\r\n }\r\n \r\n }\r\n onGroupSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.createNewStatusIdGroup = false;\r\n this.StatusGroup = event.api.getSelectedNodes()[0].data;\r\n }\r\n } else {\r\n this.ClearStatusID();\r\n }\r\n \r\n }\r\n onSelectAll(item: any) {\r\n\r\n }\r\n onDropdownClose() {\r\n\r\n }\r\n StatusIDOrder(val,type) {\r\n this.sortOrder = val;\r\n this.GetAllStatusIDs(type);\r\n }\r\n\r\n StatusIDGroupChange(val) {\r\n\r\n }\r\n StatusIDGroupChangeForGrid(val) { this.GetAllStatusIDs('Items') }\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n \r\n }\r\n}\r\n","\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      {{StatusIds.StatusIDName1}}
      \r\n
      {{StatusIds.StatusIDName2}}
      \r\n
      {{StatusIds.StatusIDName3}}
      \r\n
      {{StatusIds.StatusIDName4}}
      \r\n
      {{StatusIds.StatusIDName5}}
      \r\n
      {{StatusIds.StatusIDName6}}
      \r\n
      {{StatusIds.StatusIDName7}}
      \r\n
      {{StatusIds.StatusIDName8}}
      \r\n
      {{StatusIds.StatusIDName9}}
      \r\n
      {{StatusIds.StatusIDName10}}
      \r\n
      {{StatusIds.StatusIDName11}}
      \r\n
      {{StatusIds.StatusIDName12}}
      \r\n
      {{StatusIds.StatusIDName13}}
      \r\n
      {{StatusIds.StatusIDName14}}
      \r\n
      {{StatusIds.StatusIDName15}}
      \r\n
      {{StatusIds.StatusIDName16}}
      \r\n
      {{StatusIds.StatusIDName17}}
      \r\n
      {{StatusIds.StatusIDName18}}
      \r\n
      {{StatusIds.StatusIDName19}}
      \r\n
      {{StatusIds.StatusIDName20}}
      \r\n
      \r\n\r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      {{StatusIds.StatusIDName21}}
      \r\n
      {{StatusIds.StatusIDName22}}
      \r\n
      {{StatusIds.StatusIDName23}}
      \r\n
      {{StatusIds.StatusIDName24}}
      \r\n
      {{StatusIds.StatusIDName25}}
      \r\n
      {{StatusIds.StatusIDName26}}
      \r\n
      {{StatusIds.StatusIDName27}}
      \r\n
      {{StatusIds.StatusIDName28}}
      \r\n
      {{StatusIds.StatusIDName29}}
      \r\n
      {{StatusIds.StatusIDName30}}
      \r\n
      {{StatusIds.StatusIDName31}}
      \r\n
      {{StatusIds.StatusIDName32}}
      \r\n
      {{StatusIds.StatusIDName33}}
      \r\n
      {{StatusIds.StatusIDName34}}
      \r\n
      {{StatusIds.StatusIDName35}}
      \r\n
      {{StatusIds.StatusIDName36}}
      \r\n
      {{StatusIds.StatusIDName37}}
      \r\n
      {{StatusIds.StatusIDName38}}
      \r\n
      {{StatusIds.StatusIDName39}}
      \r\n
      {{StatusIds.StatusIDName40}}
      \r\n
      \r\n\r\n \r\n \r\n
      \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 } from '@angular/core';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { Contacts } from 'src/app/models/contacts';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { StatusIds } from 'src/app/models/StatusIds';\r\nimport { DatePipe } from '@angular/common';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { AccountsHistory } from '../../models/AccountHistory';\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'status-ids',\r\n templateUrl: './status-ids.component.html',\r\n styleUrls: ['./status-ids.component.css']\r\n})\r\nexport class StatusIdsComponent implements OnInit {\r\n @Input()\r\n accOrContId: number;\r\n @Input()\r\n accesstype: string;\r\n StatusIds: StatusIds = new StatusIds();\r\n account: Accounts = new Accounts();\r\n contact: Contacts = new Contacts();\r\n AccountIdsDialog: boolean = false;\r\n statusIdExist: boolean = false;\r\n statusIdEditExist: boolean = false;\r\n statusIdcustomerEditExist: boolean = false;\r\n //AccountIdArr: any;\r\n StatusIDAHxDisplay: any;\r\n //StatusIDAHx: any;\r\n currentuser: any;\r\n LastTicketDate;\r\n LastContactDate;\r\n salesrepName: string;\r\n index = 0;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public gridOptions: GridOptions; public gridCustomerOptions: GridOptions;\r\n CusProfiledropdownList = [];\r\n public gridApi;\r\n public gridCustomerApi;\r\n AccProfiledropdownList = [];\r\n dropdownSetting = {};\r\n AccountIdArr = [];\r\n StatusIDAHx = [];\r\n public sideBar;\r\n public frameworkComponents;\r\n public context;\r\n public columnDefs;\r\n\r\n accountHistory: AccountsHistory = new AccountsHistory();\r\n constructor(private userService: UserService,private customerService: CustomerService, private accountsService: AccountsService,private appcomponent:ApplicationComponent ) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeAgGrid();\r\n this.GetAccountInfo(this.accOrContId);\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n this.gridCustomerOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.context = this;\r\n this.frameworkComponents = {\r\n\r\n };\r\n this.createColumnDefs();\r\n }\r\n createColumnDefs() {\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n \r\n { field: 'StatusIDName', headerName: 'StatusIDName', hide: false },\r\n //{ field: 'ProjectTypeName', headerName: 'Project Type', hide: false },\r\n //{ field: 'CreatedDate', headerName: 'Date Created', hide: false },\r\n //{ field: 'ProjectStatusName', headerName: 'Project Status', hide: false },\r\n //{ field: 'ProjectLeaderName', headerName: 'Project Leader', hide: false },\r\n //{ field: 'UserAccessName', headerName: 'User Access', hide: false },\r\n \r\n ];\r\n }\r\n EditStatusaccountIds() {\r\n this.statusIdEditExist = true;\r\n }\r\n PreviewStatusaccountIds() { this.statusIdEditExist = false; }\r\n LoadAccContactId(accContactId) {\r\n this.accOrContId = accContactId;\r\n }\r\n buttonClick(btnName, val) {\r\n //this.btnClickEvent.emit({ btnName: btnName, val: val });\r\n }\r\n doSomething() {\r\n\r\n this.statusIdEditExist = true;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.Id == selfObj.StatusIds.StatusID1 || node.data.Id == selfObj.StatusIds.StatusID2 || node.data.Id == selfObj.StatusIds.StatusID3 || node.data.Id == selfObj.StatusIds.StatusID4 ||\r\n node.data.Id == selfObj.StatusIds.StatusID5 || node.data.Id == selfObj.StatusIds.StatusID6 || node.data.Id == selfObj.StatusIds.StatusID7 || node.data.Id == selfObj.StatusIds.StatusID8 ||\r\n node.data.Id == selfObj.StatusIds.StatusID9 || node.data.Id == selfObj.StatusIds.StatusID10 || node.data.Id == selfObj.StatusIds.StatusID11 || node.data.Id == selfObj.StatusIds.StatusID12 ||\r\n node.data.Id == selfObj.StatusIds.StatusID13 || node.data.Id == selfObj.StatusIds.StatusID14 || node.data.Id == selfObj.StatusIds.StatusID15 || node.data.Id == selfObj.StatusIds.StatusID16 ||\r\n node.data.Id == selfObj.StatusIds.StatusID17 || node.data.Id == selfObj.StatusIds.StatusID18 || node.data.Id == selfObj.StatusIds.StatusID19 || node.data.Id == selfObj.StatusIds.StatusID20) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n }\r\n Docustomerclick() {\r\n this.statusIdcustomerEditExist = true;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridCustomerOptions.api.forEachNode((node) => {\r\n if (node.data.Id == selfObj.StatusIds.StatusID21 || node.data.Id == selfObj.StatusIds.StatusID22 || node.data.Id == selfObj.StatusIds.StatusID23 || node.data.Id == selfObj.StatusIds.StatusID24 ||\r\n node.data.Id == selfObj.StatusIds.StatusID25 || node.data.Id == selfObj.StatusIds.StatusID26 || node.data.Id == selfObj.StatusIds.StatusID27 || node.data.Id == selfObj.StatusIds.StatusID28 ||\r\n node.data.Id == selfObj.StatusIds.StatusID29 || node.data.Id == selfObj.StatusIds.StatusID30 || node.data.Id == selfObj.StatusIds.StatusID31 || node.data.Id == selfObj.StatusIds.StatusID32 ||\r\n node.data.Id == selfObj.StatusIds.StatusID33 || node.data.Id == selfObj.StatusIds.StatusID34 || node.data.Id == selfObj.StatusIds.StatusID35 || node.data.Id == selfObj.StatusIds.StatusID36 ||\r\n node.data.Id == selfObj.StatusIds.StatusID37 || node.data.Id == selfObj.StatusIds.StatusID38 || node.data.Id == selfObj.StatusIds.StatusID39 || node.data.Id == selfObj.StatusIds.StatusID40) {\r\n selfObj.gridCustomerOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n }\r\n\r\n AccProfileonItemSelect(item: any) { }\r\n\r\n AccProfileOnItemDeSelect(item: any) { }\r\n\r\n\r\n CusProfileonItemSelect(item: any) { }\r\n\r\n CusProfileOnItemDeSelect(item: any) { }\r\n\r\n GetAccountInfo(accountId) { \r\n this.customerService.GetByAccountId(accountId).then(result => {\r\n this.account = result;\r\n this.customerService.LastTicketCreatedDateByAccID(accountId).then(result1 => {\r\n if (result1 != null && result1 != '0001-01-01T00:00:00') {\r\n this.LastTicketDate = this.datePipe.transform(result1, \"dd-MM-yyyy\")\r\n }\r\n\r\n });\r\n this.customerService.LastContactedDateByAccID(accountId).then(result2 => {\r\n if (result2 != null && result2 != '0001-01-01T00:00:00') {\r\n this.LastContactDate = this.datePipe.transform(result2, \"dd-MM-yyyy\");\r\n }\r\n });\r\n this.customerService.GetSalerepName(accountId).then(result3 => {\r\n this.salesrepName = result3;\r\n });\r\n this.customerService.GetAccountHistoryById(accountId, this.currentuser.id).then(result => { \r\n this.accountHistory = result; \r\n })\r\n this.GetAccountStatusIds(this.account, this.accesstype);\r\n ;\r\n });\r\n }\r\n\r\n GetAccountStatusIds(Account, type) {\r\n \r\n var that = this;\r\n this.accountsService.GetAccountStatusIds(Account.id, type).then(result => { \r\n this.CheckStatusIDExist(result);\r\n if (result != null) {\r\n this.StatusIds = result;\r\n this.userService.GetAllAddedStatusIds(this.currentuser.id, 0).then(result => {\r\n var AHx = result.filter(x => x.StatusIDGroup == 5001);\r\n var SID = result.filter(x => x.StatusIDGroup == 5000); \r\n this.AccountIdArr = SID.sort((a, b) => a.SortOrder - b.SortOrder);\r\n this.StatusIDAHx = AHx.sort((a, b) => a.SortOrder - b.SortOrder);\r\n \r\n var current_elemnt1 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID1;\r\n });\r\n if (current_elemnt1.length > 0) {\r\n this.StatusIds.StatusIDName1 = current_elemnt1[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt2 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID2;\r\n });\r\n if (current_elemnt2.length > 0) {\r\n this.StatusIds.StatusIDName2 = current_elemnt2[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt3 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID3;\r\n });\r\n if (current_elemnt3.length > 0) {\r\n this.StatusIds.StatusIDName3 = current_elemnt3[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt4 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID4;\r\n });\r\n if (current_elemnt4.length > 0) {\r\n this.StatusIds.StatusIDName4 = current_elemnt4[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt5 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID5;\r\n });\r\n if (current_elemnt5.length > 0) {\r\n this.StatusIds.StatusIDName5 = current_elemnt5[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt6 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID6;\r\n });\r\n if (current_elemnt6.length > 0) {\r\n this.StatusIds.StatusIDName6 = current_elemnt6[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt7 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID7;\r\n });\r\n if (current_elemnt7.length > 0) {\r\n this.StatusIds.StatusIDName7 = current_elemnt7[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt8 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID8;\r\n });\r\n if (current_elemnt8.length > 0) {\r\n this.StatusIds.StatusIDName8 = current_elemnt8[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt9 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID9;\r\n });\r\n if (current_elemnt9.length > 0) {\r\n this.StatusIds.StatusIDName9 = current_elemnt9[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt10 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID10;\r\n });\r\n if (current_elemnt10.length > 0) {\r\n this.StatusIds.StatusIDName10 = current_elemnt10[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt11 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID11;\r\n });\r\n if (current_elemnt11.length > 0) {\r\n this.StatusIds.StatusIDName11 = current_elemnt11[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt12 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID12;\r\n });\r\n if (current_elemnt12.length > 0) {\r\n this.StatusIds.StatusIDName12 = current_elemnt12[0].StatusIDName;\r\n }\r\n\r\n\r\n var current_elemnt13 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID13;\r\n });\r\n if (current_elemnt13.length > 0) {\r\n this.StatusIds.StatusIDName13 = current_elemnt13[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt14 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID14;\r\n });\r\n if (current_elemnt14.length > 0) {\r\n this.StatusIds.StatusIDName14 = current_elemnt14[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt15 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID15;\r\n });\r\n if (current_elemnt15.length > 0) {\r\n this.StatusIds.StatusIDName15 = current_elemnt15[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt16 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID16;\r\n });\r\n if (current_elemnt16.length > 0) {\r\n this.StatusIds.StatusIDName16 = current_elemnt16[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt17 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID17;\r\n });\r\n if (current_elemnt17.length > 0) {\r\n this.StatusIds.StatusIDName17 = current_elemnt17[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt18 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID18;\r\n });\r\n if (current_elemnt18.length > 0) {\r\n this.StatusIds.StatusIDName18 = current_elemnt18[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt19 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID19;\r\n });\r\n if (current_elemnt19.length > 0) {\r\n this.StatusIds.StatusIDName19 = current_elemnt19[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt20 = this.AccountIdArr.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID20;\r\n });\r\n if (current_elemnt20.length > 0) {\r\n this.StatusIds.StatusIDName20 = current_elemnt20[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt21 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID21;\r\n });\r\n if (current_elemnt21.length > 0) {\r\n this.StatusIds.StatusIDName21 = current_elemnt21[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt22 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID22;\r\n });\r\n if (current_elemnt22.length > 0) {\r\n this.StatusIds.StatusIDName22 = current_elemnt22[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt23 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID23;\r\n });\r\n if (current_elemnt23.length > 0) {\r\n this.StatusIds.StatusIDName23 = current_elemnt23[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt24 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID24;\r\n });\r\n if (current_elemnt24.length > 0) {\r\n this.StatusIds.StatusIDName24 = current_elemnt24[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt25 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID25;\r\n });\r\n if (current_elemnt25.length > 0) {\r\n this.StatusIds.StatusIDName25 = current_elemnt25[0].StatusIDName;\r\n }\r\n\r\n\r\n var current_elemnt26 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID26;\r\n });\r\n if (current_elemnt26.length > 0) {\r\n this.StatusIds.StatusIDName26 = current_elemnt26[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt27 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID27;\r\n });\r\n if (current_elemnt27.length > 0) {\r\n this.StatusIds.StatusIDName27 = current_elemnt27[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt28 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID27;\r\n });\r\n if (current_elemnt28.length > 0) {\r\n this.StatusIds.StatusIDName28 = current_elemnt28[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt29 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID29;\r\n });\r\n if (current_elemnt29.length > 0) {\r\n this.StatusIds.StatusIDName29 = current_elemnt29[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt30 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID30;\r\n });\r\n if (current_elemnt30.length > 0) {\r\n this.StatusIds.StatusIDName30 = current_elemnt30[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt31 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID31;\r\n });\r\n if (current_elemnt31.length > 0) {\r\n this.StatusIds.StatusIDName31 = current_elemnt31[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt32 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID32;\r\n });\r\n if (current_elemnt32.length > 0) {\r\n this.StatusIds.StatusIDName32 = current_elemnt32[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt33 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID33;\r\n });\r\n if (current_elemnt33.length > 0) {\r\n this.StatusIds.StatusIDName33 = current_elemnt33[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt34 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID34;\r\n });\r\n if (current_elemnt34.length > 0) {\r\n this.StatusIds.StatusIDName34 = current_elemnt34[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt35 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID35;\r\n });\r\n if (current_elemnt35.length > 0) {\r\n this.StatusIds.StatusIDName35 = current_elemnt35[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt36 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID36;\r\n });\r\n if (current_elemnt36.length > 0) {\r\n this.StatusIds.StatusIDName36 = current_elemnt36[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt37 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID37;\r\n });\r\n if (current_elemnt37.length > 0) {\r\n this.StatusIds.StatusIDName37 = current_elemnt37[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt38 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID38;\r\n });\r\n if (current_elemnt38.length > 0) {\r\n this.StatusIds.StatusIDName38 = current_elemnt38[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt39 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID39;\r\n });\r\n if (current_elemnt39.length > 0) {\r\n this.StatusIds.StatusIDName39 = current_elemnt39[0].StatusIDName;\r\n }\r\n\r\n var current_elemnt40 = this.StatusIDAHx.filter(function (obj) {\r\n return obj.Id == that.StatusIds.StatusID40;\r\n });\r\n if (current_elemnt40.length > 0) {\r\n this.StatusIds.StatusIDName40 = current_elemnt40[0].StatusIDName;\r\n }\r\n \r\n });\r\n\r\n for (let i = 1; i <= 40; i++) {\r\n if (this.StatusIds[\"StatusID\" + i] != null ) {\r\n this.statusIdExist = true;\r\n }\r\n }\r\n } else {\r\n this.userService.GetAllAddedStatusIds(this.currentuser.id, 0).then(result => {\r\n var AHx = result.filter(x => x.StatusIDGroup == 5001);\r\n var SID = result.filter(x => x.StatusIDGroup == 5000);\r\n this.AccountIdArr = SID.sort((a, b) => a.SortOrder - b.SortOrder);\r\n this.StatusIDAHx = AHx.sort((a, b) => a.SortOrder - b.SortOrder);\r\n });\r\n this.StatusIds = new StatusIds();\r\n this.statusIdExist = false;\r\n this.statusIdcustomerEditExist = false;\r\n this.StatusIds.AccountContactId = Account.id;\r\n this.StatusIds.AccountContactType = type;\r\n }\r\n });\r\n }\r\n CheckStatusIDExist(result) {\r\n if (result != undefined && (result.StatusID1 != null || result.StatusID2 != null || result.StatusID3 != null || result.StatusID4 != null || result.StatusID5 != null || result.StatusID6 != null ||\r\n result.StatusID7 != null || result.StatusID8 != null || result.StatusID9 != null || result.StatusID10 != null || result.StatusID11 != null || result.StatusID12 != null ||\r\n result.StatusID13 != null || result.StatusID14 != null || result.StatusID15 != null || result.StatusID16 != null || result.StatusID17 != null || result.StatusID18 != null ||\r\n result.StatusID19 != null || result.StatusID20 != null || result.StatusID21 != null || result.StatusID22 != null || result.StatusID23 != null || result.StatusID24 != null ||\r\n result.StatusID25 != null || result.StatusID26 != null || result.StatusID27 != null || result.StatusID28 != null || result.StatusID29 != null || result.StatusID30 != null ||\r\n result.StatusID31 != null || result.StatusID32 != null || result.StatusID33 != null || result.StatusID34 != null || result.StatusID35 != null || result.StatusID36 != null ||\r\n result.StatusID37 != null || result.StatusID38 != null || result.StatusID39 != null || result.StatusID40 != null)) {\r\n this.statusIdExist = true;\r\n return true;\r\n } else {\r\n this.statusIdExist = false;\r\n return false;\r\n }\r\n }\r\n openAccountIds() { \r\n this.userService.GetAllAddedStatusIds(this.currentuser.id, 0).then(result => {\r\n var AHx = result.filter(x => x.StatusIDGroup == 5001);\r\n var SID = result.filter(x => x.StatusIDGroup == 5000);\r\n this.AccountIdArr = SID.sort((a, b) => a.SortOrder - b.SortOrder); \r\n this.StatusIDAHx = AHx.sort((a, b) => a.SortOrder - b.SortOrder);\r\n });\r\n \r\n if (this.accesstype == 'Contact') {\r\n this.customerService.GetContactById(this.accOrContId).then(result => {\r\n this.contact = result;\r\n this.GetAccountInfo(this.contact.accountid);\r\n });\r\n }\r\n else {\r\n if (this.accOrContId > 0) {\r\n this.GetAccountInfo(this.accOrContId);\r\n }\r\n\r\n }\r\n this.StatusIds.AccountContactId = this.accOrContId;\r\n this.StatusIds.AccountContactType = this.accesstype;\r\n //this.AccountIdsDialog = true;\r\n //this.AccountIdsDialogCss();\r\n }\r\n AccountIdsDialogCss() {\r\n this.appcomponent.StandardGreenpopupUi('.dialog');\r\n \r\n }\r\n\r\n AccountIdPopupChange(val, sID) {\r\n if (val == null) {\r\n this.StatusIds = null;\r\n } else {\r\n for (var i = 1; (i <= 20) && (i != sID); i++) {\r\n if (this.StatusIds['StatusID' + i] == val) {\r\n alert(\"Please select Other Option already Selected Value Added .\");\r\n this.StatusIds['StatusID' + sID] = \"null\";\r\n }\r\n }\r\n }\r\n \r\n }\r\n clearStatusIds(val) {\r\n if (val == \"Account\") {\r\n for (var i = 1; i <= 20; i++) {\r\n this.StatusIds['StatusID' + i] = null;\r\n }\r\n } else {\r\n for (var j = 21; j <= 40; j++) {\r\n this.StatusIds['StatusID' + j] = null;\r\n }\r\n }\r\n }\r\n\r\n Updatesaccounts(val) { \r\n this.clearStatusIds(val);\r\n if (val == \"Account\") {\r\n const selectedData = this.gridApi.getSelectedRows();\r\n var i = 1;\r\n selectedData.forEach(col => {\r\n this.StatusIds['StatusID' + i] = col.Id;\r\n i++;\r\n });\r\n }\r\n if (val == \"Customer\") {\r\n const selectedCustomerData = this.gridCustomerApi.getSelectedRows();\r\n var j = 21;\r\n selectedCustomerData.forEach(col => {\r\n this.StatusIds['StatusID' + j] = col.Id;\r\n j++;\r\n\r\n });\r\n }\r\n\r\n this.StatusIds.userid = this.currentuser.id;\r\n this.accountsService.AddUpdateStatusIDS(this.StatusIds).then(result => {\r\n this.statusIdEditExist = false;\r\n this.statusIdcustomerEditExist = false;\r\n let SO = this;\r\n setTimeout(function () {\r\n SO.GetAccountStatusIds(SO.account, SO.accesstype);\r\n }, 200)\r\n \r\n });\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n onAgCustomerGridReady(params) {\r\n this.gridCustomerApi = params.api;\r\n }\r\n cancelaccountIds() {\r\n this.statusIdEditExist = false;\r\n }\r\n cancelCustomeraccountIds() {\r\n this.statusIdcustomerEditExist = false;\r\n }\r\n CloseaccountIds() { this.AccountIdsDialog = false;}\r\n DeleteStatusID(statusIDNumber) {\r\n this.StatusIds[\"StatusID\" + statusIDNumber] = null;\r\n this.accountsService.AddUpdateStatusIDS(this.StatusIds).then(result => {\r\n let SO = this;\r\n setTimeout(function () {\r\n SO.GetAccountStatusIds(SO.account, SO.accesstype); \r\n }, 4)\r\n });\r\n }\r\n\r\n SelectedStatusID(statusId) {\r\n\r\n $(\"#\" + statusId).attr('style', 'font-weight:bold;');\r\n\r\n \r\n }\r\n}\r\n","
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \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, Output, EventEmitter } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n//import { EventEmitter } from 'stream';\r\nimport { SubScription } from '../../models/Subscriptionmodel';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ApplicationComponent } from '../application.component';\r\n\n@Component({\n selector: 'app-subscription',\n templateUrl: './subscription.component.html',\n styleUrls: ['./subscription.component.css']\n})\nexport class SubscriptionComponent implements OnInit {\n Subscriptionform: FormGroup;\n subscriptionmodel: SubScription = new SubScription();\n showSubscription: boolean = true;\n showBilling: boolean = false;\n @Output()\r\n sendMsgEvent = new EventEmitter();\n selectedMenuRadio: string = \"tab1\";\n constructor(private applicationComponent: ApplicationComponent, private userservice: UserService) { }\n\n ngOnInit(): void {\n this.Subscriptionform = this.getSubscriptionForm();\n this.userservice.GetSubscriptionName().then(result => {\r\n this.subscriptionmodel = result;\r\n });\n }\n showContent(val) {\n if (val == 0) {\r\n this.showSubscription = true;\r\n this.showBilling = false;\r\n }\r\n else if (val == 1) {\r\n this.showSubscription = false;\r\n this.showBilling = true;\r\n }\r\n }\n getSubscriptionForm(): FormGroup {\r\n\r\n return new FormGroup({ \r\n 'BusinessName': new FormControl(this.subscriptionmodel.BusinessName, Validators.required),\r\n\r\n });\r\n\r\n\r\n }\n close() {\n this.applicationComponent.activateMainButtons('dashboards');\n this.applicationComponent.ShowConfigurationDialog = false;\n \n }\n cancelsubscription() { this.close(); }\n Savesubscription() {\r\n this.userservice.SaveSubscription(this.subscriptionmodel).then(result => {\r\n \r\n });\r\n }\n}\n","
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \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\n\r\n@Component({\r\n selector: 'app-system-registration',\r\n templateUrl: './system-registration.component.html',\r\n styleUrls: ['./system-registration.component.css']\r\n})\r\nexport class SystemRegistrationComponent implements OnInit {\r\n selectedMenuRadio= \"tab5\";\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
      \r\n
      \r\n

      \r\n Task Group\r\n

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

      \r\n Task Group Items\r\n

      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\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, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { GridOptions, RowDragEndEvent } from 'ag-grid';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { Dropdowntype } from '../../models/dropdowntype';\r\nimport { Taskgroup } from '../../models/taskgroup';\r\nimport { TaskType } from '../../models/TaskType';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { LeadsService } from '../../services/leads.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { SystemRowConfiguration } from '../../models/system-row-configuration';\r\nimport { ToastrService } from 'ngx-toastr';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-task-list-configuration',\r\n templateUrl: './task-list-configuration.component.html',\r\n styleUrls: ['./task-list-configuration.component.css']\r\n})\r\nexport class TaskListConfigurationComponent implements OnInit {\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n public columnDefs: any[];\r\n public TaskGroupcolumnDefs: any[];\r\n TaskListItems: TaskType[];\r\n OriginalTaskListItems: TaskType[];\r\n TaskTypeFieldform: FormGroup;\r\n TaskGroupFieldform: FormGroup;\r\n taskTypeObj: TaskType = new TaskType();\r\n taskGroupObj: Taskgroup = new Taskgroup();\r\n taskgrouplist: Taskgroup[] = [];\r\n OriginalTaskGroupList: Taskgroup[] = [];\r\n taskname: string = \"\";\r\n ShowTaskGrpDialog: boolean = false;\r\n edittaskgroup: boolean = false;\r\n ShowTaskTypeFieldform: boolean = false;\r\n ShowTaskGroupFieldform: boolean = false;\r\n public frameworkComponents;\r\n public context;\r\n public DeleteMessagePopup = false;\r\n public DeleteTaskGroup = false;\r\n currentuser: any;\r\n public taskGroupConmfigHomePage = true;\r\n public ShowTaskGroupPage = true;\r\n public ShowTaskGroupItemsPage = false;\r\n TimeSlots: Dropdowntype[] = [];\r\n SelectedCategory: string = null;\r\n selectedGroup: number = null;\r\n @Input() SubMenuType: string = null;\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\r\n constructor(private leadservice: LeadsService, private userservice: UserService, private customerService: CustomerService, private toastr: ToastrService, public applicationComponent: ApplicationComponent) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.customerService.GetSpecialityList(\"TimeSlots\", this.currentuser.id).then((Rows) => {\r\n this.TimeSlots = Rows;\r\n }); \r\n this.ShowTaskGroupPages(\"TaskGroups\"); \r\n }\r\n\r\n getTaskGroupItems() {\r\n this.initializeAgGrid();\r\n this.getAllTaskListItems();\r\n this.TaskTypeFieldform = this.getTaskTypeFieldsForm();\r\n this.taskTypeObj.category = 'To Do';\r\n this.userservice.GetTaskGroupList(\"TaskList\", 0, this.currentuser.id).then((taskgroups) => {\r\n this.taskgrouplist = taskgroups;\r\n });\r\n \r\n }\r\n getTaskTypeFieldsForm(): FormGroup {\r\n return new FormGroup({\r\n 'tasktype': new FormControl(this.taskTypeObj.tasktype, Validators.required),\r\n 'category': new FormControl(this.taskTypeObj.category, Validators.required),\r\n 'taskgroupid': new FormControl(this.taskTypeObj.taskgroupid, Validators.required),\r\n 'SortOrder': new FormControl(this.taskTypeObj.SortOrder, Validators.required), \r\n\r\n });\r\n\r\n\r\n }\r\n\r\n getTaskGroupFieldsForm(): FormGroup {\r\n return new FormGroup({\r\n\r\n 'tasktype': new FormControl(this.taskTypeObj.tasktype, Validators.required),\r\n 'category': new FormControl(this.taskTypeObj.category, Validators.required),\r\n 'taskgroupid': new FormControl(this.taskTypeObj.taskgroupid, Validators.required),\r\n 'SortOrder': new FormControl(this.taskTypeObj.SortOrder, Validators.required),\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n getAllTaskListItems() {\r\n this.TaskListItems = [];\r\n this.leadservice.GetAllTaskList(this.currentuser.id).then((accounttype) => {\r\n this.TaskListItems = accounttype;\r\n this.OriginalTaskListItems = accounttype;\r\n\r\n });\r\n }\r\n\r\n initializeAgGrid() {\r\n //this.gridOptions = {\r\n // pagination: true, enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true,\r\n // toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true, rowDragManaged: true, animateRows: true\r\n //};\r\n\r\n this.gridOptions = {\r\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000, toolPanelSuppressPivotMode: true,\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true,\r\n\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeletecvComponent,\r\n //notesrenderer: NotesrendererComponent\r\n };\r\n if (this.ShowTaskGroupPage == true) {\r\n this.createTaskGroupColumnDefs();\r\n } else {\r\n this.createColumnDefs();\r\n }\r\n \r\n\r\n }\r\n\r\n createColumnDefs() {\r\n let selfObj = this;\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 62,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true\r\n },\r\n { field: 'SortOrder', headerName: 'Sort Order', hide: false, width: 90,},\r\n { field: 'tasktype', headerName: 'Description', hide: false},\r\n { field: 'category', headerName: 'Category', hide: false},\r\n { field: 'taskgroupName', headerName: 'Task Group', hide: false },\r\n { field: 'TimeRequired', headerName: 'Time', hide: false },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 90, pinned: 'right', cellRenderer: 'editdeletecv'}\r\n \r\n ];\r\n\r\n\r\n }\r\n\r\n createTaskGroupColumnDefs() {\r\n let selfObj = this;\r\n this.TaskGroupcolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true,\r\n },\r\n { field: 'Sortorder', headerName: 'Sort Order', hide: false, width: 120},\r\n { field: 'TaskGroupName', headerName: 'Task Group', hide: false },\r\n { field: 'tasktype', headerName: 'Description', hide: true },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 90, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteTaskGroup(params.data);\r\n });\r\n return eDiv;\r\n }}\r\n \r\n ];\r\n\r\n\r\n }\r\n\r\n \r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n this.taskTypeObj = event.api.getSelectedNodes()[0].data;\r\n this.ShowTaskTypeFieldform = true;\r\n }\r\n }\r\n onTGSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n this.taskGroupObj = event.api.getSelectedNodes()[0].data;\r\n this.ShowTaskGroupFieldform = true;\r\n }\r\n }\r\n\r\n SaveTaskType() {\r\n \r\n this.customerService.saveDropdownValue(this.taskTypeObj).then(result => {\r\n this.getAllTaskListItems();\r\n this.taskTypeObj = new TaskType();\r\n });\r\n \r\n }\r\n\r\n DeleteTaskType(taskType) {\r\n this.taskTypeObj = taskType;\r\n this.taskTypeObj.isdeleted = 1;\r\n this.SaveTaskType();\r\n }\r\n editRowAg(rowdata) {\r\n this.taskTypeObj = rowdata;\r\n this.ShowTaskTypeFieldform = true;\r\n }\r\n deleteRowAg(taskType) {\r\n this.taskTypeObj = taskType;\r\n\r\n this.DeleteMessagePopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteMessagePopup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteMessagePopup .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n \r\n }\r\n ReceiveDeleteeventForMessage(msg) {\r\n if (msg == \"Ok\") {\r\n //this.userMessages = this.deleteRowDataMessage;\r\n this.taskTypeObj.isdeleted = 1;\r\n this.SaveTaskType();\r\n }\r\n this.DeleteMessagePopup = false;\r\n\r\n }\r\n ReceiveDeleteTaskGroup(msg) {\r\n if (msg == \"Ok\") {\r\n \r\n this.taskGroupObj.isdeleted = 1;\r\n\r\n this.customerService.addtaskgroup(this.taskGroupObj).then(result => {\r\n this.getTaskGroupItems();\r\n this.taskGroupObj = new Taskgroup();\r\n this.ShowTaskGroupFieldform = false;\r\n });\r\n }\r\n this.DeleteTaskGroup = false;\r\n\r\n }\r\n canceltaskList() {\r\n this.taskTypeObj = new TaskType();\r\n }\r\n ShowTaskGroupPages(val) {\r\n if (val == \"TaskGroups\") {\r\n this.taskGroupConmfigHomePage = false;\r\n this.ShowTaskGroupPage = true;\r\n this.ShowTaskGroupItemsPage = false;\r\n this.TaskTypeFieldform = this.getTaskTypeFieldsForm();\r\n this.getAlltaskGroups();\r\n } else if (val =='TaskGroupsItems') {\r\n this.taskGroupConmfigHomePage = false;\r\n this.ShowTaskGroupPage = false;\r\n this.ShowTaskGroupItemsPage = true;\r\n this.getTaskGroupItems();\r\n }\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Task List Configuration', action: 'Task List Config - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Task List Config - ' + val, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n closePage(val) {\r\n if (val == \"TaskGroups\") {\r\n this.taskGroupConmfigHomePage = true;\r\n this.ShowTaskGroupPage = false;\r\n this.ShowTaskGroupItemsPage = false;\r\n this.ShowTaskGroupFieldform = false;\r\n } else if (val == 'TaskGroupsItems') {\r\n this.taskGroupConmfigHomePage = true;\r\n this.ShowTaskGroupPage = false;\r\n this.ShowTaskGroupItemsPage = false;\r\n this.ShowTaskTypeFieldform = false;\r\n }\r\n }\r\n\r\n SaveGroup() {\r\n \r\n this.taskGroupObj.addeduserid = this.currentuser.id;\r\n this.taskGroupObj.isdeleted = 0;\r\n this.taskGroupObj.tasktype = 'TaskList';\r\n \r\n this.customerService.addtaskgroup(this.taskGroupObj).then(result => {\r\n this.getTaskGroupItems();\r\n this.taskGroupObj = new Taskgroup();\r\n this.ShowTaskGroupFieldform = false;\r\n });\r\n \r\n }\r\n\r\n getAlltaskGroups() {\r\n this.initializeAgGrid();\r\n this.userservice.GetTaskGroupList(\"TaskList\", 0, this.currentuser.id).then((taskgroups) => {\r\n this.taskgrouplist = taskgroups;\r\n \r\n });\r\n }\r\n\r\n deleteTaskGroup(val) {\r\n this.DeleteTaskGroup = true;\r\n this.taskGroupObj = val;\r\n this.applicationComponent.salesxcrmDialog('#DeleteTaskGroup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteTaskGroup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n }\r\n\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n \r\n }\r\n DisplayByTaskGroups(event) {\r\n this.TaskListItems = [];\r\n if (event.target.value != 'null') {\r\n this.TaskListItems = this.OriginalTaskListItems.filter(x => x.taskgroupid == event.target.value);\r\n if (this.SelectedCategory!=null) {\r\n this.TaskListItems = this.OriginalTaskListItems.filter(x => x.taskgroupid == event.target.value && x.category == this.SelectedCategory );\r\n }\r\n } else {\r\n this.TaskListItems = this.OriginalTaskListItems;\r\n }\r\n this.initializeAgGrid();\r\n }\r\n DisplayByCategory(event) {\r\n if (event.target.value != 'null') {\r\n this.TaskListItems = this.OriginalTaskListItems.filter(x => x.category == event.target.value);\r\n if (this.selectedGroup != null) {\r\n this.TaskListItems = this.OriginalTaskListItems.filter(x => x.category == event.target.value && x.taskgroupid == this.selectedGroup );\r\n }\r\n } else {\r\n this.TaskListItems = this.OriginalTaskListItems;\r\n }\r\n }\r\n dragStopped(event) {\r\n \r\n }\r\n\r\n onRowDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"TaskGroupItems\");\r\n }\r\n\r\n onRowDragEndGroups(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"TaskGroups\");\r\n }\r\n\r\n onAgGridReady(event, type) {\r\n if (type == 'TaskGroupItems') {\r\n this.gridOptions.api = event.api;\r\n } else {\r\n this.gridOptions.api = event.api;\r\n }\r\n\r\n }\r\n\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n if (type == 'TaskGroupItems') {\r\n this.gridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.id);\r\n });\r\n } else {\r\n this.gridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.id);\r\n });\r\n }\r\n\r\n\r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentuser.id;\r\n this.leadservice.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"Configured successfully.\", \"Configuration\", { timeOut: 600 });\r\n });\r\n\r\n }\r\n\r\n}\r\n","\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      0\">\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n M \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n W \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n F \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Day
      \r\n
      Date
      \r\n
      Time
      \r\n
      To
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      {{item.WeekDay}}
      \r\n
      {{item.Date}}
      \r\n
      {{item.Time}} {{item.AMPM | lowercase}}
      \r\n
      {{item.To}} {{item.ToAMPM | lowercase}}
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.estcompleteddate | date:\"MM-dd-yyyy\"}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.time}}-{{taskhistory.totime}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n M \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n W \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n F \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      Day
      \r\n
      Date
      \r\n
      Time
      \r\n
      To
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      {{item.WeekDay}}
      \r\n
      {{item.Date}}
      \r\n
      {{item.Time}} {{item.AMPM | lowercase}}
      \r\n
      {{item.To}} {{item.ToAMPM | lowercase}}
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.estcompleteddate}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n

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

      \r\n
      \r\n
      \r\n
      \r\n {{note.created |date:'MM-dd-yyyy'}}: {{note.notedescription}}\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{(taskhistory.taskGroupID == 2)? 'Trainer' : 'Sales' }} \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n {{taskhistory.taskcategory}}\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n {{taskhistory.tasktype}}\r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n M \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n W \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n F \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      Day
      \r\n
      Date
      \r\n
      Time
      \r\n
      To
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      {{item.WeekDay}}
      \r\n
      {{item.Date}}
      \r\n
      {{item.Time}} {{item.AMPM | lowercase}}
      \r\n
      {{item.To}} {{item.ToAMPM | lowercase}}
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      0\">\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{(taskhistory.taskGroupID == 2)? 'Trainer' : 'Sales' }}\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.taskcategory}}\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.tasktype}}\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n M \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n W \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n F \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      Day
      Date
      Time
      AM/PM
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      {{item.WeekDay}}
      \r\n
      {{item.Date}}
      \r\n
      {{item.Time}}
      \r\n
      {{item.AMPM}}
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.estcompleteddate |date:'MM/dd/yyyy'}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n {{taskhistory.time}}-{{taskhistory.totime}}\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n Go To Appt\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      Day
      Date
      Time
      To
      \r\n
      {{taskhistory.estcompleteddate | date:'EEEE'}}
      {{taskhistory.estcompleteddate | date: 'MM-dd-yyyy'}}
      {{taskhistory.time | lowercase}}
      {{taskhistory.totime | lowercase}}
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n

      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{note.created |date:'MM/dd/yyyy'}}: {{note.notedescription}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n M \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n W \r\n  \r\n
      \r\n
      \r\n T \r\n  \r\n
      \r\n
      \r\n F \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n
      \r\n S \r\n  \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      Day DateTimeTo
      \r\n \r\n \r\n\r\n {{item.WeekDay}}{{item.Date}}{{item.Time}} {{item.AMPM |lowercase}}{{item.To}} {{item.ToAMPM | lowercase}}
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n
      \r\n as\r\n
      \r\n
      \r\n\r\n
      \r\n Schedule Task / Appointments\r\n SCHEDULE BLOCKED TIME\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Date:
      \r\n
      {{taskhistory.estcompleteddate | date:\"MM/dd/yyyy\"}}
      \r\n
      \r\n
      \r\n
      Time:
      \r\n
      {{taskhistory.time | lowercase}} - {{taskhistory.totime | lowercase}}
      \r\n
      \r\n
      \r\n
      Task Type:
      \r\n
      {{taskhistory.tasktype}}
      \r\n
      \r\n
      \r\n
      Contact:
      \r\n
      {{taskhistory.contactName}}
      \r\n
      \r\n
      \r\n
      Account:
      \r\n
      {{account.accountname}}
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      OPEN ACCOUNT

      \r\n
      Leave Create Task Page?
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n

      \r\n
      \r\n
      SCHEDULE TASK
      \r\n
      Leave Page and Do Not Save ?
      \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, DoCheck, Input, Output, EventEmitter, ElementRef, Renderer2, ViewEncapsulation, ViewContainerRef, IterableDiffers, IterableDiffer, ViewChild } from '@angular/core';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Notes } from '../../models/notes';\r\nimport { Viewaccount } from '../../models/viewaccount';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { SalesProcessHistory } from '../../models/sales-process-history';\r\nimport { ResponsewizardComponent } from '../responsewizard/responsewizard.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';;\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nexport enum ParentComp { Leads }\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Column } from 'ag-grid';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { OwnershipsharingComponent } from '../ownershipsharing/ownershipsharing.component';\r\nimport { AccountDetailsComponent } from '../account-details/account-details.component';\r\ndeclare var $: any;\r\ndeclare var require: any;\r\nimport * as moment from 'moment'\r\nimport { AccountComponent } from '../account-contact/account/account.component';\r\n\r\n@Component({\r\n selector: 'app-task',\r\n templateUrl: './task.component.html',\r\n styleUrls: ['./task.component.css']\r\n})\r\nexport class TaskComponent implements OnInit {\r\n @Input()\r\n id: number;\r\n @Input()\r\n type: string;\r\n @Input()\r\n taskid: number;\r\n @Input()\r\n taskDialog: boolean = false;\r\n @Input()\r\n SearchDialog: boolean = false;\r\n @Input()\r\n BTClick: boolean = false;\r\n @Input()\r\n selectedDate: any;\r\n FeeAmountdiv: boolean = true;\r\n divone: boolean = true;\r\n tableDiv: boolean = true;\r\n labelDiv: boolean = true;\r\n labelButton: boolean = true;\r\n searchDiv: boolean = false;\r\n CloseWarning: boolean = false;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n taskhistorystatusval;\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n itemResource: any;\r\n timezonevalue: string;\r\n selectedscheduleTasktype: string;\r\n notehgt = screen.height * 0.1777;//0.16\r\n opphistorygrdhgt = screen.height * 0.4422;//0.4422\r\n ContactDivhgt = screen.height * 0.1666;\r\n customerDivhgt = screen.height * 0.15;\r\n calendernotehgt = screen.height * 0.25;\r\n contactDivHGT234 = screen.height * 0.2177;\r\n Wizardselectedval: boolean = false;\r\n //AptDialogwWarning: boolean = false;\r\n CustomeritemResource: any;\r\n items = [];\r\n itemCount = 0;\r\n params: any;\r\n ContactitemCount = 0;\r\n CustomeritemCount = 0;\r\n Contactitems = [];\r\n Customeritems = [];\r\n Salesstageslist: Dropdowntype[] = [];\r\n taskhistory: TaskHistory = new TaskHistory();\r\n saleprocesshistory: SalesProcessHistory = new SalesProcessHistory();\r\n SalesitemCount = 0;\r\n itemList = [];\r\n Salesitems = [];\r\n selectedItems = [];\r\n taskhistorynotes: Array = [];\r\n notes: Notes = new Notes();\r\n TaskId = 0;\r\n TaskStatuslist: Dropdowntype[] = [];\r\n TaskStatussettings = {};\r\n Tasktypelist: Dropdowntype[] = [];\r\n Tasklist: Dropdowntype[] = [];\r\n currentuser: any;\r\n userprevilages: any;\r\n scheduleTaskType: string;\r\n selectedTaskType: string;\r\n shcedulestatus: string;\r\n fromtimevalid: boolean = true;\r\n totimevalid: boolean = true;\r\n temp: string;\r\n public elementRef;\r\n taskhistoryform: FormGroup;\r\n Scheduletasktaskhistory: TaskHistory[];\r\n public gridOptions: GridOptions;\r\n public gridOptionsacconts: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n public gridOptionscontacts: GridOptions;\r\n public columnDefscontacts: any[];\r\n public columnDefsaccount: any[];\r\n allcontacts: Contacts[];\r\n allCustomers: Accounts[];\r\n taskHistoryGridInitialized: boolean = false;\r\n isresponseWizardIcon: boolean = false;\r\n mainDivHeight = screen.height * 0.788888;\r\n divHeight = screen.height * 0.544444;\r\n @Input()\r\n selectorTag: boolean = false;\r\n public context;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n @Output()\r\n Taskdialoghideshow = new EventEmitter();\r\n today = Date.now();\r\n contactList: Dropdowntype[] = [];\r\n @ViewChild(ResponsewizardComponent) responsewzdcomp;\r\n @ViewChild('mycal') myDiv: ElementRef;\r\n @ViewChild(AccountDetailsComponent) accdetailcmp;\r\n public sideBar;\r\n viewaccount: Viewaccount = new Viewaccount();\r\n action: string;\r\n showAddEditAccount: boolean = false;\r\n showAddEditContact: boolean = false;\r\n isSharing: boolean = false;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n rightMainDivHideShow: boolean = true;\r\n accountSharingid: number = 0;\r\n AddContacttableDiv: boolean = false;\r\n isModal: boolean = true;\r\n notesshowDialog = false;\r\n conid: number;\r\n allnotes: Array = [];\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n NotesDec = false;\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n TimeSlots: Dropdowntype[] = [];\r\n TimeSlotsOriginal: Dropdowntype[] = [];\r\n TimeLines: Dropdowntype[] = [];\r\n TimeIntervals = [{ WeekDay: '', Date: '', Time: '', AMPM: '', CurrentTime: new Date(), Booked: false, SlotDuration: 0, BookingId: 0, hidden: false,To:'',ToAMPM:''}];\r\n TimeIntervalsOriginal = [{ WeekDay: '', Date: '', Time: '', AMPM: '', CurrentTime: new Date(), Booked: false, BookingId: 0, SlotDuration: 0, hidden: false, To: '', ToAMPM: ''}];\r\n DaysFilter = { Monday: true, Tuesday: true, Wednesday: true, Thursday: true, Friday: true, Saturday: false, Sunday: false };\r\n @ViewChild(AccountDetailsComponent) accdetailscmp;\r\n @ViewChild(AccountComponent) acccmp;\r\n TimeSlot = '60 Minutes'; Meridian = 0; TimeLine = 'Next Available'; OpenBookedTimes = 'Open/Booked Times';\r\n TimeSlotSaveConfirm: boolean = false;\r\n MappedTimeSlot: boolean = false;\r\n ShowSlotsDiv: boolean = false;\r\n additionalDays: number = 4;\r\n CloseCreateNewWarning: boolean = false;\r\n calanderonoff: boolean = false;\r\n FieldsModified: boolean = false;\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, today = Date.now();}\r\n constructor(private applicationComponent: ApplicationComponent, private route: ActivatedRoute, private opprtunityservice: OpprtunitiesService, private customerService: CustomerService, private leadservice: LeadsService, private router: Router, private location: Location, private viewContainerRef: ViewContainerRef, private toastr: ToastrService, myElement: ElementRef)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n var loggedInUserId = this.currentuser.id;\r\n this.customerService.GetPrivilagesByuser(loggedInUserId).then(result => {\r\n this.userprevilages = result;\r\n });\r\n this.isresponseWizardIcon = false;\r\n if (!this.selectorTag) {\r\n this.route.params.subscribe(params => {\r\n this.id = params['id'];\r\n this.taskid = params['taskid'];\r\n this.type = params['type'];\r\n this.contact.id = this.id;\r\n \r\n this.HideAdnShow(this.id, this.type);\r\n });\r\n }\r\n this.elementRef = myElement;\r\n }\r\n handleClick(event) {\r\n this.FieldsModified = true;\r\n var clickedComponent = event.target;\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n\r\n $('#test').val('TaskHistory');\r\n } else {\r\n\r\n }\r\n }\r\n onTaskChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n this.ShowSlotsDiv = false;\r\n if (rowCount > 0) {\r\n var data = rowEvent.api.getSelectedNodes()[0].data;\r\n this.LoadSelectedTaskdata(data.id, rowEvent.api.getSelectedNodes()[0].selected, \"Load\");\r\n this.TaskId = data.id;\r\n this.checkedBookedSlots();\r\n } else {\r\n this.taskhistory = new TaskHistory();\r\n \r\n this.TaskId = 0;\r\n this.taskhistorynotes = [];\r\n $('#fromtime').val('');\r\n $('#totime').val('');\r\n $('#fromtime').prop('required', '');\r\n $('#totime').prop('required', '');\r\n document.getElementById('sid').innerHTML = \"SCHEDULE TASK\";\r\n if (this.type != 'Account') {\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n $('#ContactList').val(objSelf.id);\r\n\r\n objSelf.taskhistory.contactid = objSelf.id;\r\n if (objSelf.currentuser.SelectedTaskGroupids.length > 0) {\r\n var index = objSelf.currentuser.SelectedTaskGroupids.length - 1;\r\n objSelf.taskhistory.taskGroupID = objSelf.currentuser.SelectedTaskGroupids[index].id;\r\n } else {\r\n objSelf.taskhistory.taskGroupID = null;\r\n }\r\n }, 100));\r\n }\r\n this.checkedBookedSlots();\r\n }\r\n $('#notesTextArea').val('');\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('month-calender') > -1) {\r\n document.getElementById('notesTextArea').style.height = '50%';\r\n }\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n config.maxlimit = 25;\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 34;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"undefined#\") {\r\n this.columnDefs.push({\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"owner\") {\r\n this.columnDefs.push({\r\n field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n }, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({ field: 'status', headerName: 'Status', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; } } });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"time\") {\r\n this.columnDefs.push({\r\n field: 'starttime', headerName: 'Start Time', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (params.value == '00:00:00' || params.value == null) { return \"\" } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"totime\") {\r\n this.columnDefs.push({\r\n field: 'endtime', headerName: 'End Time', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (params.value == '00:00:00' || params.value == null) { return \"\" } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') {\r\n return { color: '#FF0000' }\r\n }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'estcompleteddate', headerName: 'Date Scheduled', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'taskcategory', headerName: 'Task', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n { field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) { if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; } } },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'tasktype', headerName: 'Type', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'contactName', headerName: 'Contact Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'starttime', headerName: 'Start Time1', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'endtime', headerName: 'End Time', hide: true, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status != 'Completed') { return { color: '#FF0000' }; }\r\n }\r\n }\r\n ];\r\n }\r\n }\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n autoSizeAll() {\r\n \r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 34).then((config) => {\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.taskHistoryGridInitialized = true;\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n this.LoadSelectedTaskdata(rowEvent.data.id, rowEvent.node.selected, \"Load\");\r\n this.TaskId = rowEvent.data.id;\r\n }\r\n else {\r\n this.taskhistory = new TaskHistory();\r\n this.TaskId = 0;\r\n this.taskhistorynotes = [];\r\n $('#fromtime').val('');\r\n $('#totime').val('');\r\n $('#fromtime').prop('required', '');\r\n $('#totime').prop('required', '');\r\n document.getElementById('sid').innerHTML = \"SCHEDULE TASK\";\r\n if (this.type != 'Account') {\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n $('#ContactList').val(objSelf.id);\r\n\r\n objSelf.taskhistory.contactid = objSelf.id;\r\n if (objSelf.currentuser.SelectedTaskGroupids.length > 0) {\r\n var index = objSelf.currentuser.SelectedTaskGroupids.length - 1;\r\n objSelf.taskhistory.taskGroupID = objSelf.currentuser.SelectedTaskGroupids[index].id;\r\n } else {\r\n objSelf.taskhistory.taskGroupID = null;\r\n }\r\n }, 100));\r\n }\r\n }\r\n $('#notesTextArea').val('');\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('month-calender') > -1) {\r\n document.getElementById('notesTextArea').style.height = '50%';\r\n }\r\n\r\n }\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata,ownerName) {\r\n\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.viewaccount.ownerName = ownerName;\r\n this.accdetailcmp.loadAccountId(accId);\r\n localStorage.setItem('TaskAccountVal', null);\r\n\r\n }\r\n loadcoantactname(val, type) {\r\n if (type == \"Contacts\") {\r\n this.customerService.LoadContactById(val).then(result => {\r\n this.customerService.loadaccountdata(result.accountid).then(result1 => {\r\n this.account = result1;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.owner);\r\n this.customerService.GetAccountContactList(result1.id).then((conatct) => {\r\n this.contactList = conatct;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n $('#ContactList').val(val);\r\n objSelf.taskhistory.contactid = val;\r\n if (objSelf.currentuser.SelectedTaskGroupids.length > 0) {\r\n var index = objSelf.currentuser.SelectedTaskGroupids.length - 1;\r\n objSelf.taskhistory.taskGroupID = objSelf.currentuser.SelectedTaskGroupids[index].id;\r\n } else {\r\n objSelf.taskhistory.taskGroupID = null;\r\n }\r\n\r\n }, 100));\r\n });\r\n\r\n });\r\n });\r\n\r\n } else if (type == \"Customer\" || type == \"Accounts\" ) {\r\n this.customerService.GetAccountContactList(val).then((conatct) => {\r\n this.contactList = conatct;\r\n\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n $('#ContactList').val(objSelf.contactList[0].id);\r\n objSelf.taskhistory.contactid = objSelf.contactList[0].id;\r\n if (objSelf.currentuser.SelectedTaskGroupids.length > 0) {\r\n var index = objSelf.currentuser.SelectedTaskGroupids.length - 1;\r\n objSelf.taskhistory.taskGroupID = objSelf.currentuser.SelectedTaskGroupids[index].id;\r\n } else {\r\n objSelf.taskhistory.taskGroupID = null;\r\n }\r\n }, 50));\r\n });\r\n\r\n } else {\r\n this.customerService.GetAccountContactList(this.account.id).then((conatct) => {\r\n this.contactList = conatct;\r\n\r\n });\r\n }\r\n }\r\n\r\n getTimeSlots() {\r\n this.customerService.GetSpecialityList(\"TimeSlots\", this.currentuser.id).then((Rows) => {\r\n this.TimeSlots = Rows;\r\n this.TimeSlotsOriginal = Rows;\r\n if (this.selectedDate !== null && this.selectedDate !== undefined) {\r\n var selectedDate = new Date(this.datePipe.transform(this.selectedDate, 'MM-dd-yyyy hh:mm a'));\r\n var minutestoAdd = Number(this.TimeSlot.split(\" \")[0]);\r\n\r\n var endTime = new Date(selectedDate.getTime() + minutestoAdd * 60000);\r\n let SelfObj = this;\r\n $(setTimeout(function () {\r\n SelfObj.checknextTimeSlot(selectedDate, endTime);\r\n }, 100));\r\n }\r\n\r\n\r\n this.customerService.GetSpecialityList(\"Time Line\", this.currentuser.id).then((Rowss) => {\r\n this.TimeLines = Rowss;\r\n this.TimeLine = 'Next Available';\r\n this.Meridian = 0;\r\n this.OpenBookedTimes = 'Open/Booked Times';\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n var url = window.location.href;\r\n if (url.indexOf(\"month-calender\") > -1) {\r\n this.opphistorygrdhgt = screen.height * 0.45111;\r\n }\r\n \r\n this.applicationComponent.isTaskDataLeadEventRaised = false;\r\n let localTaskId = 0;\r\n if (!this.selectorTag) {\r\n $(\"#sid\").removeClass(\"activeColor\");\r\n $(\".checkMark\").removeClass(\"activeColor\");\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n }\r\n\r\n if (this.selectorTag) {\r\n this.initData(this.id, this.type, this.taskid);\r\n }\r\n else {\r\n this.route.params.subscribe(params => {\r\n if (this.id == null) {\r\n this.id = params['id'];\r\n }\r\n if (this.taskid == null) {\r\n localTaskId = this.taskid = params['taskid'];\r\n }\r\n if (this.type == null) {\r\n this.type = params['type'];\r\n\r\n }\r\n this.TaskId = 0;\r\n this.HideAdnShow(this.id, this.type);\r\n this.LoadSelectedTaskdata(this.taskid, true, \"View\");\r\n this.contact.id = this.id;\r\n this.loadcoantactname(this.id, this.type);\r\n\r\n });\r\n\r\n }\r\n if (this.applicationComponent.selectedsubbutton == 'schedTask') {\r\n this.applicationComponent.pageViewed = \"ScheduleTask\";\r\n }\r\n \r\n this.taskhistoryform = new FormGroup({\r\n 'tasktype': new FormControl(this.taskhistory.tasktype, Validators.required),\r\n 'estcompleteddate': new FormControl(this.taskhistory.estcompleteddate, Validators.required),\r\n 'time': new FormControl(this.taskhistory.time, (this.taskhistory.time != null) ? Validators.required : Validators.nullValidator),\r\n 'totime': new FormControl(this.taskhistory.totime, Validators.nullValidator),\r\n 'notedescription': new FormControl(this.taskhistory.notedescription, Validators.required)\r\n });\r\n this.TaskId = 0;\r\n //this.opprtunityservice.GetTaskStatus(\"TaskStatus\", this.currentuser.id).then((pc) => {\r\n // pc.forEach(pc => {\r\n // if (pc.itemName == 'Complete & Return Task')\r\n // { pc.itemName ='Complete'; }\r\n // });\r\n // this.TaskStatuslist = pc;\r\n // this.TaskStatuslist = this.TaskStatuslist.filter(x => x.itemName != 'Complete & Repeat Task' && x.itemName != 'Complete & Schedule New Task' )\r\n \r\n // //this.TaskStatuslist.forEach(Owner => {\r\n // //});\r\n //});\r\n this.initializeAgGrid();\r\n if (this.taskDialog == false) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == localTaskId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n\r\n }\r\n\r\n if (this.type == 'Customer' || this.type == \"Accounts\") {\r\n this.customerService.loadaccountdata(this.id).then(result1 => {\r\n this.account = result1;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata, this.account.owner);\r\n });\r\n } else {\r\n this.customerService.GetContactById(this.id).then(result1 => {\r\n this.contact = result1;\r\n });\r\n }\r\n\r\n if (this.BTClick) {\r\n \r\n this.ActiveTask('BlockTime', 0, 0);\r\n }\r\n }\r\n\r\n initData(contactId, Type, taskId) {\r\n this.HideAdnShow(contactId, Type);\r\n\r\n this.contact.id = contactId;\r\n //this.accdetailscmp.ContactInfo(contactId);\r\n if (this.taskDialog == false) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == taskId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.TaskId = node.data.id;\r\n }\r\n selfObj.accdetailscmp.ContactInfo(contactId);\r\n });\r\n }, 100));\r\n }\r\n\r\n }\r\n //Search() {\r\n // this.labelButton = true\r\n // this.tableDiv = false\r\n // this.labelDiv = true\r\n // this.searchDiv = false\r\n // var term = $.trim($('#term').val());\r\n // if (term == null || term == undefined || term == \"\")\r\n // return false;\r\n\r\n // if (document.getElementById('customer').className == 'mybtn mainactiveButton') {\r\n // document.getElementById('initialTable').style.display = 'none';\r\n // document.getElementById('customerTable').style.display = 'block';\r\n // this.opprtunityservice.GetAllAccountsBySearch(this.currentuser.id, term, this.currentuser.id, 'customer').then((account) => {\r\n // account.forEach(account => {\r\n // });\r\n // //this.initializeAgGridaccount();\r\n // this.allCustomers = account;\r\n // });\r\n // } else {\r\n // document.getElementById('customerTable').style.display = 'none';\r\n // document.getElementById('initialTable').style.display = 'block';\r\n // this.opprtunityservice.GetAllContactsBySearch(term, this.currentuser.id, 'contacts').then((contact) => {\r\n // contact.forEach(contact => {\r\n // });\r\n // // this.initializeAgGridcontact();\r\n // this.allcontacts = contact;\r\n // });\r\n // }\r\n\r\n // $('#term').val('');\r\n //}\r\n\r\n ContactreloadItems(params) {\r\n if (this.itemResource != undefined) {\r\n this.itemResource.query(params).then(Contactitems => this.Contactitems = Contactitems);\r\n }\r\n }\r\n loadTaskHistory(contactid, type) {\r\n\r\n if (type != undefined && contactid != undefined) {\r\n this.id = contactid;\r\n this.type = type;\r\n this.taskhistory = new TaskHistory(); \r\n this.items = [];\r\n this.leadservice.GetAllTaskHistoryForCalendar(type, this.currentuser.id, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'null', type, this.currentuser.timezone).then\r\n ((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"MM-dd-yyyy\");\r\n taskhistory.estcompleteddate = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\"));\r\n \r\n });\r\n this.Scheduletasktaskhistory = taskhistory;\r\n\r\n if (this.taskDialog == false) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == selfObj.TaskId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n }\r\n\r\n\r\n });\r\n }\r\n }\r\n\r\n ContactSelected() {\r\n //this.loadTaskHistory(this.taskhistory.contactid, this.type)\r\n //this.leadservice.GetAllTaskHistoryByContact(this.taskhistory.contactid, 'Contacts', this.currentuser.timezone).then((taskhistory) => {\r\n this.leadservice.GetAllTaskHistoryForCalendar(this.type, this.currentuser.id, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'null', this.type, this.currentuser.timezone).then\r\n ((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"MM-dd-yyyy\");\r\n taskhistory.estcompleteddate = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\"));\r\n });\r\n this.Scheduletasktaskhistory = taskhistory;\r\n //this.type = 'Contacts';\r\n //this.contact.id = this.taskhistory.contactid;\r\n //this.loadcoantactname(this.taskhistory.contactid, this.type);\r\n this.accdetailscmp.ContactInfo(this.taskhistory.contactid);\r\n //this.Filters(\"\", \"\");\r\n });\r\n }\r\n\r\n HideAdnShow(id, type) {\r\n if (id == 0 || id == '' || id == null) {\r\n this.divone = false;\r\n this.tableDiv = false;\r\n this.labelDiv = true;\r\n this.labelButton = false;\r\n this.searchDiv = false;\r\n this.tableDiv = false;\r\n if (!this.taskHistoryGridInitialized)\r\n this.initializeAgGrid();\r\n } else {\r\n this.divone = true;\r\n this.tableDiv = true;\r\n this.labelDiv = false;\r\n this.labelButton = false;\r\n this.searchDiv = true;\r\n this.tableDiv = true;\r\n this.loadcoantactname(id, type);\r\n \r\n }\r\n this.leadservice.GetSalesStagesList().then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n\r\n\r\n });\r\n this.Salesstageslist = accounttype;\r\n });\r\n this.type = type;\r\n\r\n this.loadTaskHistory(id, this.type);\r\n this.leadservice.GetSalesStagesList().then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.itemList = accounttype;\r\n });\r\n this.getTimeSlots();\r\n }\r\n public convertDate(selectedTimezone: string): void {\r\n //this.date = moment(this.date).tz(selectedTimezone).format(\"DD/MM/YYYY - HH:mm\");\r\n }\r\n\r\n SaveTaskHistory() {\r\n if (this.taskhistory.id == undefined) {//save\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Sched Task\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }\r\n document.getElementById('notesTextArea').style.height = '50%';\r\n }\r\n else {//edit\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Sched Task\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canedit == false) {\r\n this.toastr.warning(\"You Do Not have Access to update – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n //this.taskhistory.contactid = this.contact.id;\r\n if (this.taskhistory.id > 0) {\r\n this.taskhistory.type = this.taskhistory.type;\r\n if (!this.ShowSlotsDiv && this.TaskId) {\r\n // this.taskhistory.status = document.getElementById('selectStatus').innerHTML;\r\n }\r\n\r\n } else {\r\n this.taskhistory.type = 'Contacts';\r\n this.taskhistory.status = 'Open';\r\n }\r\n\r\n this.taskhistory.userid = this.currentuser.id;\r\n if (this.account && this.account != null && this.account.ownerid != undefined && this.account.ownerid != null) {\r\n this.taskhistory.ownerid = this.account.ownerid;\r\n } else {\r\n this.taskhistory.ownerid = this.currentuser.id;\r\n }\r\n \r\n\r\n this.shcedulestatus = this.taskhistory.status;\r\n this.taskhistory.timezone = this.currentuser.timezone;\r\n this.taskhistory.tasktype = $(\"#sel1 option:selected\").text()\r\n this.taskhistory.tasktypeid = $(\"#sel1 option:selected\").val();\r\n var moment = require('moment-timezone');\r\n this.timezonevalue = moment.tz.guess();\r\n\r\n if (this.taskhistory.time != null && this.taskhistory.time != undefined && this.taskhistory.time != \"\") {\r\n this.taskhistory.starttime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.time;\r\n }\r\n if (this.taskhistory.totime != null && this.taskhistory.totime != undefined && this.taskhistory.totime != \"\") {\r\n this.taskhistory.endtime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.totime;\r\n }\r\n this.notes.notedescription = this.taskhistory.notedescription;\r\n this.leadservice.addTaskHistory(this.taskhistory).then(result => {\r\n\r\n this.taskhistorynotes = [];\r\n if (this.taskhistory.status == \"Open\" || this.taskhistory.status == \"Not Completed\") {\r\n this.sendMsgEvent.emit(\"Task Added\");\r\n }\r\n\r\n this.HideAdnShow(this.id, this.type);\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.loadTaskHistory(this.id, this.type);\r\n selfObj.selectedscheduleTasktype = undefined;\r\n $(\"#test\").val('');\r\n }, 200));\r\n this.notes.accountid = result.id;\r\n this.notes.type = \"TaskHistory\";\r\n this.notes.userid = this.currentuser.id;\r\n this.notes.isnewnote = 1;\r\n\r\n this.opprtunityservice.addopprtunityNotes(this.notes).then(result => {\r\n this.notes = result;\r\n \r\n this.taskhistory.notedescription = '';\r\n this.TimeSlotSaveConfirm = false;\r\n $('#notesTextArea').val('');\r\n $('#notesTextArea').attr('style', 'color:black;width:100%;resize:none;height:50%');\r\n this.toastr.success(\"Task saved successfully.\", \"Task Saved\", { timeOut: 600 });\r\n });\r\n\r\n $('#notesTextArea').val(\"\");\r\n $('#fromtime').val('');\r\n $('#totime').val('');\r\n $('#fromtime').prop('required', '');\r\n $('#totime').prop('required', '');\r\n \r\n //if (this.shcedulestatus == \"Complete & Repeat\" || this.shcedulestatus == \"Complete & Repeat\") {\r\n // this.ActiveTask(this.selectedscheduleTasktype, result.tasktypeid, result.id);\r\n // $(setTimeout(function () {\r\n // $(\"#sel1\").val(result.tasktypeid);\r\n // }, 100));\r\n //}\r\n //else\r\n if (this.shcedulestatus == \"Completed\") {\r\n var url = window.location.href;\r\n if (url.indexOf('tasklistdashboard') > -1) {\r\n this.applicationComponent.TaskData('Open', this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu('tasklists')\r\n } else {\r\n this.sendMsgEvent.emit(\"Task Added\");\r\n }\r\n\r\n }\r\n\r\n var url = window.location.href;\r\n if (url.indexOf('reports/audit') > -1) {\r\n this.sendMsgEvent.emit(\"RefreshReportGrid\");\r\n }\r\n this.selectedscheduleTasktype = undefined;\r\n });\r\n $('.changeActive').removeClass('noprovider');\r\n\r\n //document.getElementById('taskSave').style.display = 'block';\r\n $('#taskCancel').attr('class', 'col-xs-6');\r\n\r\n this.taskhistorynotes = [];\r\n document.getElementById('sid').innerHTML = \"SCHEDULE TASKS\";\r\n $('.selectedType').removeClass('activeButton')\r\n $('.selectedType').addClass('noprovider')\r\n this.divone = false;\r\n this.tableDiv = true\r\n this.labelDiv = false;\r\n this.labelButton = false\r\n this.tableDiv = true\r\n //this.labelDiv = true\r\n this.searchDiv = false\r\n\r\n this.Tasktypelist = [];\r\n\r\n this.selectedTaskType = \"\";\r\n if (!this.ShowSlotsDiv && this.TaskId) {\r\n // document.getElementById('selectStatus').innerHTML = 'Open';\r\n }\r\n\r\n this.TaskId = 0;\r\n\r\n\r\n }\r\n\r\n public loadtaskHistoryByselecteddate(selecteddate) {\r\n this.leadservice.GetAllTaskHistoryBySelectedDate('All', $(\"#userids\").val().toString(), selecteddate).then((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"MM-dd-yyyy\");\r\n taskhistory.estcompleteddate = this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\");\r\n taskhistory.DateSched = this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\");\r\n });\r\n this.Scheduletasktaskhistory = taskhistory;\r\n });\r\n\r\n }\r\n ngAfterViewChecked() { \r\n $(\"#taskGroupID\").val(1); this.taskhistory.taskGroupID = 1;\r\n }\r\n LoadSelectedTaskdata(taskhistoryid, selected: boolean, Audittype): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.taskhistory.id = taskhistoryid;\r\n $('#notesTextArea').attr('style', 'color:black;width:100%;resize:none;');\r\n if (!selected) {\r\n this.notes.notedescription = '';\r\n this.taskhistory.notedescription = '';\r\n $('#notesTextArea').val('');\r\n this.taskhistorynotes = [];\r\n this.taskhistory = new TaskHistory();\r\n this.Tasktypelist = [];\r\n this.notes.notedescription = '';\r\n this.taskhistory.notedescription = '';\r\n $('#sel1').val(0);\r\n $('#date').val('');\r\n $('#time').val('');\r\n $('.changeActive').removeClass('noprovider')\r\n\r\n $('.labelStatus').removeClass('redColor');\r\n $('.labelStatus > .spanStatus').removeClass('activeColor');\r\n document.getElementById('sid').innerHTML = \"SCHEDULE A TASK\";\r\n document.getElementById('notesTextArea').style.color = 'black';\r\n var idStatus = 167;\r\n var rstatus = 'Open'\r\n var spanId = idStatus + '_span';\r\n $('#' + idStatus).addClass('redColor');\r\n $('#' + spanId).addClass('activeColor');\r\n\r\n if (!this.ShowSlotsDiv && this.TaskId) {\r\n // document.getElementById('selectStatus').innerHTML = rstatus;\r\n }\r\n\r\n //document.getElementById('selectStatus').innerHTML = rstatus;\r\n //document.getElementById('taskSave').style.display = 'block';\r\n this.scheduleTaskType = \"\";\r\n this.selectedTaskType = \"\";\r\n this.TaskId = 0;\r\n }\r\n else {\r\n if (taskhistoryid != null && taskhistoryid != \"null\" && taskhistoryid != 0) {\r\n $('#notesTextArea').attr('style', 'width:100%;resize:none;');\r\n this.TaskId = this.taskhistory.id\r\n this.opprtunityservice.GetTaskStatus(\"TaskStatus\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n if (pc.itemName == 'Complete & Return Task') { pc.itemName = 'Completed'; }\r\n });\r\n this.TaskStatuslist = pc;\r\n this.TaskStatuslist = this.TaskStatuslist.filter(x => x.itemName != 'Complete & Repeat Task' && x.itemName != 'Complete & Schedule New Task')\r\n });\r\n this.TaskStatuslist = this.TaskStatuslist.filter(x => x.id != 169 && x.id != 505);\r\n this.TaskStatussettings = { singleSelection: true, text: \"Select Task Type\" };\r\n \r\n this.leadservice.GetByTaskHistoryId(taskhistoryid, Audittype, this.currentuser.timezone).then(result => {\r\n var type = result.taskcategory + \" - \" + result.tasktype;\r\n this.taskhistory = result;\r\n if (this.taskhistory.id > 0) {\r\n this.ShowSlotsDiv = false;\r\n }\r\n this.taskhistory.time = this.datePipe.transform(this.taskhistory.time, 'hh: mm a')\r\n this.taskhistory.totime = this.datePipe.transform(this.taskhistory.totime, 'hh: mm a')\r\n \r\n $('#fromtime').val(this.taskhistory.time);\r\n $('#totime').val(this.taskhistory.totime);\r\n document.getElementById('sid').innerHTML = (result.taskcategory == \"Blocked Times\") ?\"EDIT BLOCKED TIME\": \"EDIT TASK\";\r\n var typeArray = type.split(\"-\");\r\n if (typeArray[0].trim() == 'Phone') {\r\n this.scheduleTaskType = 'phonecall';\r\n\r\n this.ActiveTask('phonecall', 0, taskhistoryid);\r\n\r\n } else if (typeArray[0].trim() == 'To Do') {\r\n this.scheduleTaskType = 'todo';\r\n this.ActiveTask('todo', 0, taskhistoryid);\r\n } else if (typeArray[0].trim() == 'Meeting'){\r\n this.scheduleTaskType = 'meeting';\r\n this.ActiveTask('meeting', 0, taskhistoryid)\r\n } else if (typeArray[0].trim() == 'Blocked Times') {\r\n this.scheduleTaskType = 'BlockTime';\r\n this.ActiveTask('BlockTime', 0, taskhistoryid)\r\n }\r\n\r\n this.taskhistory.tasktype = type;\r\n\r\n this.taskhistory.tasktypeid = result.tasktypeid;\r\n this.divone = true;\r\n this.tableDiv = true;\r\n this.labelDiv = false;\r\n this.labelButton = false;\r\n this.searchDiv = true;\r\n this.tableDiv = true;\r\n this.selectedTaskType = result.tasktype;\r\n this.taskhistory.estcompleteddate = ((this.taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(this.taskhistory.estcompleteddate, \"yyyy-MM-dd\"));\r\n this.leadservice.GetAllTaskHistoryById(taskhistoryid, 'TaskHistory').then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.taskhistorynotes = items;\r\n \r\n if ((this.taskhistorynotes).length < 1) {\r\n $('#notesTextArea').attr('rows', '9')\r\n } else {\r\n $('#notesTextArea').attr('rows', '9')\r\n }\r\n var id = 0;\r\n var status = '';\r\n if (this.taskhistory.status == 'Open') {\r\n id = 167;\r\n status = 'Open'\r\n } else if (this.taskhistory.status == 'Completed') {\r\n id = 168;\r\n status = 'Completed'\r\n }\r\n else if (this.taskhistory.status == 'Not Completed') {\r\n id = 169;\r\n status = 'Not Completed'\r\n } else {\r\n\r\n }\r\n $('.spanStatus').removeClass('activeColor');\r\n $('.labelStatus').removeClass('redColor');\r\n var spanId = id + '_span';\r\n $('#' + id).addClass('redColor');\r\n $('#' + spanId).addClass('activeColor');\r\n if (!this.ShowSlotsDiv && this.TaskId) {\r\n //document.getElementById('selectStatus').innerHTML = status;\r\n }\r\n\r\n this.taskhistory.status = status;\r\n\r\n });\r\n\r\n if (this.taskDialog == false) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == taskhistoryid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n selfObj.TaskId = node.data.id;\r\n }\r\n });\r\n }, 100));\r\n }\r\n });\r\n }\r\n }\r\n\r\n });\r\n return promise;\r\n\r\n }\r\n rowColors(car) {\r\n if (car.id == this.taskhistory.id) return 'rgb(255,255,0)';\r\n }\r\n completeForm() {\r\n var validate = 1;\r\n var fromTime = $('#fromtime').val();\r\n var toTime = $('#totime').val();\r\n //if (fromTime != '' && toTime != '') {\r\n // //var fromTimeArray = fromTime.split(':')\r\n // //var toTimeArray = toTime.split(':')\r\n\r\n // var fromTimeArray = fromTime;\r\n // var toTimeArray = toTime;\r\n\r\n // if (fromTimeArray[0] < toTimeArray[0]) {\r\n // validate++;\r\n // } else if (fromTimeArray[0] == toTimeArray[0]) {\r\n // if (fromTimeArray[1] < toTimeArray[1]) {\r\n // validate++\r\n // } else if (fromTimeArray[1] == toTimeArray[1]) {\r\n // validate++\r\n // } else {\r\n // validate = 0;\r\n // }\r\n // } else {\r\n // validate = 0;\r\n // }\r\n //} else if (fromTime != '' || toTime != '') {\r\n // validate++;\r\n //} else {\r\n // validate++;\r\n //}\r\n if (validate > 0) {\r\n if ((this.taskhistory.tasktype == \"\" || this.taskhistory.estcompleteddate == 'undefined' || this.taskhistory.tasktype == undefined) && (($('#sel1').val() == \"\") || $('#sel1').val() == null) || $('#date').val() == null || $('#date').val() == \"\") {\r\n //document.getElementById('taskSave').style.display = 'block';\r\n $('#taskSave').attr('style', 'display:block;margin-top:10px');\r\n } else if ((this.taskhistory.tasktype == undefined && ($('#sel1').val() == \"\") || ($('#date').val() == null || $('#date').val() == \"\"))) {\r\n //document.getElementById('taskSave').style.display = 'block';\r\n $('#taskSave').attr('style', 'display:block;margin-top:10px');\r\n\r\n $('#taskCancel').attr('class', 'col-xs-6');\r\n } else {\r\n $('#taskCancel').attr('class', 'col-xs-6');\r\n //document.getElementById('taskSave').style.display = 'block';\r\n $('#taskSave').attr('style', 'display:block;margin-top:10px');\r\n }\r\n } else {\r\n this.toastr.warning(\"Invalid From And To Time\");\r\n }\r\n\r\n }\r\n\r\n valuechange(newValue) {\r\n if (newValue != \"\") {\r\n $('#totime').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-valid ng-touched');\r\n $('#totime').prop('required', true);\r\n !this.taskhistoryform.valid;\r\n this.taskhistoryform.controls[\"totime\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"totime\"].updateValueAndValidity();\r\n this.taskhistory.totime = newValue;\r\n this.totimevalid = true;\r\n // 111this.fromtimevalid = true;\r\n\r\n }\r\n }\r\n valuechangeFrom(newValue) {\r\n if (newValue != \"\") {\r\n $('#fromtime').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#fromtime').addClass('ng-pristine ng-star-inserted ng-valid ng-touched');\r\n $('#fromtime').prop('required', true);\r\n // if (!this.totimevalid) {\r\n if (this.taskhistory.totime == undefined) {\r\n $('#totime').removeClass('ng-pristine ng-star-inserted ng-valid ng-touched');\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#totime').prop('required', false);\r\n }\r\n // }\r\n this.fromtimevalid = true;\r\n $('#totime').removeAttr('disabled');\r\n\r\n this.taskhistory.time = newValue;\r\n }\r\n }\r\n\r\n cleartime() {\r\n $('#fromtime').prop('required', '');\r\n $('#totime').prop('required', '');\r\n this.taskhistory.totime = undefined;\r\n this.taskhistory.time = undefined;\r\n this.taskhistory.starttime = undefined;\r\n this.taskhistory.endtime = undefined;\r\n $('#fromtime').val('');\r\n $('#totime').val('');\r\n this.fromtimevalid = true;\r\n this.totimevalid = true;\r\n $('#totime').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n $('#fromtime').removeClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n }\r\n ActiveTask(id, tasktypeid, taskhistoryid) {\r\n \r\n this.Wizardselectedval = false;\r\n this.temp = id;\r\n $(\".changeActive\").removeClass(\"noprovider\");\r\n\r\n if (id == '') {\r\n //document.getElementById('sid').innerHTML = \"Schedule Task\";\r\n }\r\n if (id == 'meeting') {\r\n\r\n $(\"#\" + id).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select Meeting List');\r\n } else if (id == 'phonecall') {\r\n\r\n $(\"#\" + id).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select Phone Call List');\r\n } else if (id == 'todo') {\r\n\r\n $(\"#\" + id).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select To Do List');\r\n\r\n } else if (id == 'BlockTime') {\r\n\r\n $(\"#\" + id).addClass(\"noprovider\");\r\n $('#sel1 > option:first-child').text('Select Blocked Time List');\r\n\r\n }\r\n $('.spanStatus').removeClass('activeColor');\r\n $('.labelStatus').removeClass('redColor');\r\n var idStatus = 167;\r\n var status = 'Open'\r\n if (this.TaskId == 0) {\r\n var spanId = idStatus + '_span';\r\n $('#' + idStatus).addClass('redColor');\r\n $('#' + spanId).addClass('activeColor');\r\n if (!this.ShowSlotsDiv && this.TaskId) {\r\n //document.getElementById('selectStatus').innerHTML = status;\r\n }\r\n\r\n }\r\n var taskGroupId = 0;\r\n if (this.taskhistory.taskGroupID) {\r\n taskGroupId = this.taskhistory.taskGroupID;\r\n } else {\r\n taskGroupId = this.currentuser.TaskGroupid.split(\",\")[0];\r\n }\r\n\r\n this.leadservice.GetAllTasksList(id, this.saleprocesshistory.salesstage, taskGroupId, 0, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n\r\n this.Tasktypelist = accounttype;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (tasktypeid != 0 && tasktypeid != undefined) {\r\n selfObj.taskhistory.tasktypeid = tasktypeid;\r\n }\r\n else {\r\n if (taskhistoryid == 0 || taskhistoryid == undefined) {\r\n selfObj.taskhistory.tasktype = accounttype[0].itemName;\r\n selfObj.taskhistory.tasktypeid = accounttype[0].id;\r\n }\r\n\r\n }\r\n selfObj.selectedscheduleTasktype = selfObj.temp;\r\n selfObj.ChooseTaskType(selfObj.taskhistory.tasktypeid);\r\n }, 500));\r\n\r\n });\r\n\r\n\r\n }\r\n selectedStatus(event) {\r\n if (event.target.value != \"Open\" && (!this.TaskId || this.TaskId == 0)) {\r\n return false;\r\n }\r\n\r\n if ($('#sel1').val() != null) {\r\n // var id = status.id;\r\n this.saleprocesshistory.salesstage = event.target.value;\r\n this.taskhistory.status = event.target.value; \r\n //var spanId = status.id + '_span';\r\n //$('.spanStatus').removeClass('activeColor');\r\n //$('.labelStatus').removeClass('redColor');\r\n\r\n //setTimeout(function () {\r\n // $('.labelStatus').removeAttr('style');\r\n //}, 3000);\r\n //$('.labelStatus').attr('style', 'cursor:pointer');\r\n\r\n //$('#' + id).addClass('redColor');\r\n //$('#' + spanId).addClass('activeColor');\r\n\r\n if (!this.ShowSlotsDiv && this.TaskId) {\r\n //document.getElementById('selectStatus').innerHTML = status.itemName;\r\n }\r\n\r\n this.completeForm();\r\n }\r\n }\r\n\r\n AccountContact(type) {\r\n\r\n this.type = type;\r\n document.getElementById('customerTable').style.display = 'none';\r\n document.getElementById('initialTable').style.display = 'none';\r\n if (type == 'customer' || type == \"Accounts\") {\r\n var url = window.location.href;\r\n if (url.indexOf('tasklist') < 0) {\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Customer/0/null`);\r\n }\r\n\r\n $(\"#contacts_span\").removeClass(\"activeColor\");\r\n $(\"#contacts\").removeClass(\"mainactiveButton\");\r\n $(\"#contacts\").addClass(\"noprovider\");\r\n $(\"#customer\").removeClass(\"noprovider\");\r\n $(\"#customer_span\").addClass(\"activeColor\");\r\n $(\"#customer\").addClass(\"mainactiveButton\");\r\n } else {\r\n var url = window.location.href;\r\n if (url.indexOf('tasklist') < 0) {\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/0/null`);\r\n }\r\n $(\"#customer_span\").removeClass(\"activeColor\");\r\n $(\"#customer\").removeClass(\"mainactiveButton\");\r\n $(\"#customer\").addClass(\"noprovider\");\r\n $(\"#contacts\").removeClass(\"noprovider\");\r\n //$(\"#contacts_span\").addClass(\"activeColor\");\r\n //$(\"#contacts\").addClass(\"mainactiveButton\");\r\n }\r\n }\r\n reloadPrevious() {\r\n this.location.back();\r\n }\r\n reloadSched() {\r\n var url = window.location.href;\r\n if (url.indexOf(\"month-calender\") > -1) {\r\n this.sendMsgEvent.emit(\"Cancel\");\r\n } else {\r\n this.applicationComponent.TaskData('Open', this.currentuser.id)\r\n }\r\n\r\n }\r\n\r\n rowDoubleClickAgGrid(rowEvent) { }\r\n onSearchstring(msg) {\r\n this.taskhistorynotes = [];\r\n this.sendMsgEvent.emit(msg);\r\n }\r\n onWizardAdded(msg) {\r\n $(setTimeout(function () {\r\n $(\"#responsewizard\").trigger(\"click\");\r\n }, 200));\r\n }\r\n\r\n //Wizardselected() {\r\n // \r\n // if (this.Wizardselectedval == true) {\r\n // \r\n // this.Wizardselectedval = false;\r\n // //this.leadservice.UpdateResonceByUser(this.currentuser.id).then((response) => {\r\n // //});\r\n // $(\"#responsewizard\").removeClass(\"GreenColor\");\r\n\r\n // }\r\n // else {\r\n // this.Wizardselectedval = true\r\n // $(\"#responsewizard\").addClass(\"GreenColor\");\r\n // $('.activeButton').removeClass('activeButton');\r\n // $('#Opentask').addClass('activeButton');\r\n // this.responsewzdcomp.GetLastResponse();\r\n // }\r\n\r\n //}\r\n\r\n\r\n\r\n getStartTime(Event) {\r\n this.taskhistory.time = Event;\r\n this.validFrom();\r\n\r\n var Roundtime = this.convertTime12to24(Event);\r\n var NextTime = this.roundTime(Roundtime, 60);\r\n this.taskhistory.totime = this.convertFrom24To12Format(NextTime);\r\n this.validTo();\r\n }\r\n\r\n convertTime12to24(time12h) {\r\n const [time, modifier] = time12h.split(' ');\r\n\r\n let [hours, minutes] = time.split(':');\r\n\r\n if (hours === '12') {\r\n hours = '00';\r\n }\r\n\r\n if (modifier === 'PM') {\r\n hours = parseInt(hours, 10) + 12;\r\n }\r\n\r\n return `${hours}:${minutes}`;\r\n }\r\n\r\n convertFrom24To12Format = (time24) => {\r\n const [sHours, minutes] = time24.match(/([0-9]{1,2}):([0-9]{2})/).slice(1);\r\n const period = +sHours < 12 ? 'AM' : 'PM';\r\n const hours = +sHours % 12 || 12;\r\n\r\n return `${hours}:${minutes} ${period}`;\r\n }\r\n\r\n roundTime(time, minutesToRound) {\r\n let [hours, minutes] = time.split(':');\r\n hours = parseInt(hours);\r\n minutes = parseInt(minutes);\r\n\r\n // Convert hours and minutes to time in minutes\r\n if (minutes == 0) {\r\n time = (hours * 60) + 60;\r\n } else {\r\n time = (hours * 60) + minutes;\r\n }\r\n\r\n\r\n let rounded = Math.ceil(time / minutesToRound) * minutesToRound;\r\n let rHr = '' + (rounded / 60)\r\n let rMin = '' + rounded % 60\r\n\r\n return rHr.padStart(2, '0') + ':' + rMin.padStart(2, '0')\r\n }\r\n\r\n\r\n getEndTime(Event) {\r\n this.taskhistory.totime = Event;\r\n this.validTo();\r\n }\r\n validFrom() {\r\n\r\n if (this.taskhistory.time == \"Invalid DateTime\") {\r\n $('#fromtime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"time\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"time\"].updateValueAndValidity();\r\n if (this.taskhistory.totime == undefined || this.taskhistory.totime == \"Invalid DateTime\") {\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"totime\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"totime\"].updateValueAndValidity();\r\n this.totimevalid = false;\r\n } else {\r\n this.totimevalid = true;\r\n }\r\n }\r\n else {\r\n this.valuechangeFrom(this.taskhistory.time);\r\n if (this.taskhistory.totime == undefined || this.taskhistory.totime == \"Invalid DateTime\") {\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"totime\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"totime\"].updateValueAndValidity();\r\n this.totimevalid = false;\r\n } else {\r\n this.totimevalid = true;\r\n }\r\n //this.fromtimevalid = false;\r\n }\r\n }\r\n\r\n validTo() {\r\n\r\n if (this.taskhistory.totime == \"Invalid DateTime\") {\r\n $('#totime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"totime\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"totime\"].updateValueAndValidity();\r\n if (this.taskhistory.time == undefined || this.taskhistory.time == \"Invalid DateTime\") {\r\n $('#fromtime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"time\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"time\"].updateValueAndValidity();\r\n this.totimevalid = false;\r\n }\r\n }\r\n else {\r\n this.valuechange(this.taskhistory.totime);\r\n if (this.taskhistory.time == undefined || this.taskhistory.time == \"Invalid DateTime\") {\r\n $('#fromtime').addClass('ng-pristine ng-star-inserted ng-invalid ng-touched');\r\n this.taskhistoryform.controls[\"time\"].setValidators(Validators.required);\r\n this.taskhistoryform.controls[\"time\"].updateValueAndValidity();\r\n this.totimevalid = false;\r\n }\r\n //this.fromtimevalid = false;\r\n }\r\n }\r\n\r\n addContact() {\r\n //if (this.practiceid == \"view\") {\r\n // this.applicationComponent.isAccessDenied = true;\r\n //} else {\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Contacts\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.clear();\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n //}\r\n }\r\n AccountsharingAg(selectedval) {\r\n\r\n\r\n if (selectedval == \"Edit\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else if (selectedval == \"View\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else {\r\n this.isSharing = true;\r\n this.rightMainDivHideShow = false;\r\n this.accountSharingid = 1;\r\n this.AddContacttableDiv = false;\r\n this.ownrshipComp.loadAccountInformation(this.account.id, 0);\r\n }\r\n //}\r\n\r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n GetCustomerNotes(contactid, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = taskhistory;\r\n });\r\n\r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n initializeAgGridNotes() {\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes(\"\");\r\n this.gridOptionsnotes.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n createColumnDefsnotes(columnSelections: string) {\r\n let selfObj = this;\r\n this.columnDefsnotes = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' }, hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n }\r\n openDisplaynotes(params) {\r\n $('#closeDetailsDialog').click();\r\n\r\n // this.notes.notedescription = params.value;\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (selfObj.isModal) {\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtLongNoteDesc').css('overflow', 'auto');\r\n }\r\n } else {\r\n var gridOffset = $(\"#notesGrid\").offset();\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n onCloseDialogEventReceived(val) {\r\n this.saleprocesshistory.notesDescription = null;\r\n }\r\n openAccountNotes() {\r\n this.isModal = true;\r\n this.customerService.GetByAccountId(this.contact.accountid).then(result => {\r\n this.account = result;\r\n });\r\n $('#accotIdNotes').val(this.contact.accountid);\r\n $('#accotTypeNotes').val('Customer');\r\n this.GetCustomerNotes(this.contact.accountid, 'Customer');\r\n this.notesshowDialog = !this.notesshowDialog;\r\n this.NotesDialogCss();\r\n this.conid = this.contact.accountid;\r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n }\r\n }\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n\r\n\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n //this.GetAllProviderAndContactInfo(this.account.id)\r\n }\r\n\r\n btnClickReceived(event) {\r\n if (event.btnName == 'Calander') { this.CloseCreateTicket(event.btnName); }\r\n else if (event.btnName == 'addContact') {\r\n this.addContact();\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n this.openAccountNotes();\r\n } else if (event.btnName == 'AccountInfo') {\r\n if (this.taskhistory.id == null || this.taskhistory.id == 0 || this.taskhistory.id == undefined || this.FieldsModified == true) {\r\n this.CloseCreateNewWarning = true;\r\n setTimeout(function () {\r\n $('#CloseCreateNewWarning .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n // $('#CloseCreateNewWarning .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n } else {\r\n this.contactInfo();\r\n }\r\n }\r\n }\r\n\r\n\r\n contactInfo() {\r\n localStorage.setItem('RhxContactVal', (this.taskhistory.contactid).toString());\r\n\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }, 50));\r\n }\r\n\r\n TaskGroupChanged(event) {\r\n this.taskhistory = new TaskHistory();\r\n this.TaskId = 0;\r\n this.taskhistorynotes = [];\r\n this.taskhistory.taskGroupID = event.target.value;\r\n this.taskhistory.contactid = this.contact.id;\r\n $(\".changeActive\").removeClass(\"noprovider\");\r\n }\r\n\r\n getTimeIntervals(StartTime, EndDate, Duration) {\r\n var DateIntervals = [{ WeekDay: '', Date: '', Time: '', AMPM: '', CurrentTime: new Date(), Booked: false, SlotDuration: 0, BookingId: 0, hidden: false, To: '', ToAMPM:'' }];\r\n var Start;\r\n if (this.selectedDate) {\r\n Start = new Date(StartTime);\r\n } else {\r\n Start = new Date(StartTime.setHours(6, 0, 0, 0));\r\n }\r\n \r\n var End = new Date(EndDate.setHours(22, 0, 0, 0));\r\n\r\n if ((new Date < Start)) {\r\n DateIntervals = [{\r\n WeekDay: this.getweek(new Date(Start).getDay()),\r\n Date: this.datePipe.transform(Start, 'MM-dd-yyyy'),\r\n Time: this.datePipe.transform(Start, 'hh: mm'),\r\n AMPM: this.datePipe.transform(Start, 'a'),\r\n CurrentTime: Start,\r\n Booked: false, SlotDuration: Number(this.TimeSlot.split(\" \")[0]),\r\n BookingId: 0, hidden: false,\r\n To: this.datePipe.transform(new Date(new Date(Start).getTime() + Duration * 60000), 'hh: mm'),\r\n ToAMPM: this.datePipe.transform(new Date(new Date(Start).getTime() + Duration * 60000), 'a')\r\n }];\r\n } else {\r\n DateIntervals = [];\r\n }\r\n\r\n while ((Start < End)) {\r\n Start = new Date(new Date(Start).getTime() + Duration * 60000);\r\n if (this.CheckFilterDays(Start) && (new Date(Start).getHours() >= 6 && new Date(Start).getHours() <= 22) && (new Date < Start)) {\r\n DateIntervals.push({\r\n WeekDay: this.getweek(new Date(Start).getDay()),\r\n Date: this.datePipe.transform(Start, 'MM-dd-yyyy'),\r\n Time: this.datePipe.transform(Start, 'hh: mm'),\r\n AMPM: this.datePipe.transform(Start, 'a'),\r\n CurrentTime: Start, hidden: false,\r\n Booked: false, SlotDuration: Number(this.TimeSlot.split(\" \")[0]), BookingId: 0,\r\n To: this.datePipe.transform(new Date(new Date(Start).getTime() + Duration * 60000), 'hh: mm'),\r\n ToAMPM: this.datePipe.transform(new Date(new Date(Start).getTime() + Duration * 60000), 'a')\r\n });\r\n } \r\n\r\n }\r\n return DateIntervals;\r\n\r\n }\r\n getweek(val) {\r\n var weekday = new Array(7);\r\n weekday[0] = \"Sunday\";\r\n weekday[1] = \"Monday\";\r\n weekday[2] = \"Tuesday\";\r\n weekday[3] = \"Wednesday\";\r\n weekday[4] = \"Thursday\";\r\n weekday[5] = \"Friday\";\r\n weekday[6] = \"Saturday\";\r\n\r\n return weekday[val];\r\n }\r\n CheckFilterDays(Start: Date) {\r\n\r\n if (new Date(Start).getDay() == 1 && this.DaysFilter.Monday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 2 && this.DaysFilter.Tuesday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 3 && this.DaysFilter.Wednesday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 4 && this.DaysFilter.Thursday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 5 && this.DaysFilter.Friday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 6 && this.DaysFilter.Saturday == true) {\r\n return true;\r\n } else if (new Date(Start).getDay() == 0 && this.DaysFilter.Sunday == true) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n Filters(event, value) {\r\n if (this.selectedDate == null || this.selectedDate == undefined) {\r\n this.getIntervels(new Date(), this.additionalDays);\r\n } else {\r\n this.getSelectedIntervels(this.selectedDate);\r\n }\r\n\r\n }\r\n\r\n LoadMore(selectedDate) {\r\n this.getIntervels(new Date(selectedDate) , this.additionalDays);\r\n }\r\n getIntervels(StartDate: Date, additionalDate: number) {\r\n switch (this.TimeLine) {\r\n case '1 Week': {\r\n StartDate.setDate(StartDate.getDate() + 7);\r\n break;\r\n }\r\n case '2 Weeks': {\r\n StartDate.setDate(StartDate.getDate() + 14);\r\n break;\r\n }\r\n case '3 Weeks': {\r\n StartDate.setDate(StartDate.getDate() + 21);\r\n break;\r\n }\r\n case '1 Month': {\r\n StartDate = new Date(StartDate.setMonth(StartDate.getMonth() + 1));\r\n break;\r\n }\r\n case '2 Months': {\r\n StartDate = new Date(StartDate.setMonth(StartDate.getMonth() + 2));\r\n break;\r\n }\r\n case '3 Months': {\r\n StartDate = new Date(StartDate.setMonth(StartDate.getMonth() + 3));\r\n break;\r\n }\r\n case '6 Months': {\r\n StartDate = new Date(StartDate.setMonth(StartDate.getMonth() + 6));\r\n break;\r\n } case '12 Months': {\r\n StartDate = new Date(StartDate.setFullYear(StartDate.getFullYear() + 1));\r\n break;\r\n }\r\n case 'Next Available': {\r\n StartDate.setDate(StartDate.getDate());\r\n break;\r\n }\r\n default: {\r\n StartDate.setDate(StartDate.getDate() + 7);\r\n break;\r\n }\r\n }\r\n\r\n if (StartDate.getDay() == 6) {\r\n\r\n StartDate.setDate(StartDate.getDate() + 2);\r\n } else if (StartDate.getDay() == 0) {\r\n StartDate.setDate(StartDate.getDate() + 1);\r\n }\r\n var count = 0;\r\n var EndDate = new Date(this.datePipe.transform(StartDate));\r\n var statDate = new Date(this.datePipe.transform(StartDate));\r\n\r\n\r\n //if (this.selectedDate !== null && this.selectedDate !== undefined) {\r\n // EndDate = new Date(this.datePipe.transform(this.selectedDate, 'MM-dd-yyyy hh:mm a'));\r\n //} else {\r\n while (count < additionalDate) {\r\n EndDate = new Date(statDate.setDate(statDate.getDate() + 1));\r\n if (this.CheckFilterDays(EndDate)) {\r\n count++;\r\n }\r\n\r\n }\r\n //}\r\n this.TimeIntervalsOriginal = this.TimeIntervals = this.getTimeIntervals(StartDate, EndDate, this.TimeSlot.split(\" \")[0]); //Tom Wants 15mins intervals by default\r\n this.checkedBookedSlots();\r\n\r\n }\r\n\r\n checkedBookedSlots() {\r\n var moment = require('moment-timezone');\r\n //if (this.TaskId > 0) {\r\n\r\n // var res = this.Scheduletasktaskhistory.filter(x => x.id == this.TaskId)[0];\r\n // var Mins = moment.duration(moment(res.endtime, \"HH:mm:ss a\").diff(moment(res.starttime, \"HH:mm:ss a\")));\r\n\r\n // //var minutes = (parseInt(Mins.asHours()) * 60) + parseInt(Mins.asMinutes());\r\n // var minutes = parseInt(Mins.asMinutes());\r\n // this.assignTimeSlot(minutes);\r\n\r\n // this.TimeIntervalsOriginal.forEach(elem => {\r\n // if ((elem.Date == res.estcompleteddate) && (this.datePipe.transform(elem.CurrentTime, 'hh:mm:ss a') == res.starttime) && (res.id == this.TaskId) && (minutes == elem.SlotDuration)) {\r\n\r\n // var currenttime = (this.datePipe.transform(elem.CurrentTime, 'hh:mm:ss a'));\r\n // var CurrentEndTime = this.datePipe.transform(elem.CurrentTime.getTime() + elem.SlotDuration * 60000, 'hh:mm:ss a');\r\n // if (currenttime == res.starttime || (res.starttime > currenttime && res.starttime < CurrentEndTime) || (res.endtime > currenttime && res.endtime < CurrentEndTime)) {\r\n // elem.Booked = true;\r\n // elem.BookingId = res.id;\r\n // }\r\n // } else {\r\n // elem.Booked = false;\r\n // elem.BookingId = 0;\r\n // }\r\n // });\r\n\r\n\r\n\r\n //} else {\r\n\r\n if (this.TaskId > 0) {\r\n var res = this.Scheduletasktaskhistory.filter(x => x.id == this.TaskId)[0];\r\n var Mins = moment.duration(moment(res.endtime, \"HH:mm:ss a\").diff(moment(res.starttime, \"HH:mm:ss a\")));\r\n\r\n //var minutes = (parseInt(Mins.asHours()) * 60) + parseInt(Mins.asMinutes());\r\n var minutes = parseInt(Mins.asMinutes());\r\n this.assignTimeSlot(minutes);\r\n\r\n }\r\n if (this.Scheduletasktaskhistory) {\r\n this.Scheduletasktaskhistory.forEach(ele => {\r\n var Mins = moment.duration(moment(ele.endtime, \"HH:mm:ss a\").diff(moment(ele.starttime, \"HH:mm:ss a\")));\r\n\r\n var minutes = parseInt(Mins.asMinutes());\r\n this.TimeIntervalsOriginal.filter(x => (x.Date == ele.estcompleteddate) && (this.datePipe.transform(x.CurrentTime, 'hh:mm:ss a') == ele.starttime));\r\n this.TimeIntervalsOriginal.forEach(elem => {\r\n if ((elem.Date == ele.estcompleteddate)) {\r\n var currenttime = (this.datePipe.transform(elem.CurrentTime, 'hh:mm:ss a'));\r\n var CurrentEndTime = this.datePipe.transform(elem.CurrentTime.getTime() + elem.SlotDuration * 60000, 'hh:mm:ss a');\r\n //if (currenttime == ele.starttime || (ele.starttime > currenttime && ele.starttime < CurrentEndTime) || (ele.endtime > currenttime && ele.endtime < CurrentEndTime)) {\r\n if (currenttime == ele.starttime || (CurrentEndTime > ele.starttime && CurrentEndTime < ele.endtime && CurrentEndTime < ele.starttime) || (currenttime > ele.starttime && currenttime < ele.endtime)) {\r\n elem.Booked = true;\r\n elem.BookingId = ele.id;\r\n }\r\n\r\n }\r\n });\r\n });\r\n }\r\n //else {\r\n // this.TimeIntervalsOriginal.forEach(elem => {\r\n // if ((elem.Date == res.estcompleteddate) && (this.datePipe.transform(elem.CurrentTime, 'hh:mm:ss a') == res.starttime) && (res.id == this.TaskId)) {\r\n\r\n // var currenttime = (this.datePipe.transform(elem.CurrentTime, 'hh:mm:ss a'));\r\n // var CurrentEndTime = this.datePipe.transform(elem.CurrentTime.getTime() + elem.SlotDuration * 60000, 'hh:mm:ss a');\r\n // if (currenttime == res.starttime || (res.starttime > currenttime && res.starttime < CurrentEndTime) || (res.endtime > currenttime && res.endtime < CurrentEndTime)) {\r\n // elem.Booked = true;\r\n // elem.BookingId = res.id;\r\n // }\r\n // } else {\r\n // elem.Booked = false;\r\n // elem.BookingId = 0;\r\n // }\r\n // });\r\n //}\r\n\r\n //}\r\n\r\n\r\n if (this.OpenBookedTimes == 'Open Times') {\r\n this.TimeIntervals = this.TimeIntervalsOriginal.filter(x => x.Booked == false && ((this.Meridian == 1) ? x.AMPM == 'AM' : ((this.Meridian == 2) ? x.AMPM == 'PM' : x.AMPM != '')));\r\n } else if (this.OpenBookedTimes == 'Booked Times') {\r\n this.TimeIntervals = this.TimeIntervalsOriginal.filter(x => x.Booked == true && ((this.Meridian == 1) ? x.AMPM == 'AM' : ((this.Meridian == 2) ? x.AMPM == 'PM' : x.AMPM != '')));\r\n } else {\r\n this.TimeIntervals = this.TimeIntervalsOriginal.filter(x => ((this.Meridian == 1) ? x.AMPM == 'AM' : ((this.Meridian == 2) ? x.AMPM == 'PM' : x.AMPM != '')));\r\n }\r\n let that = this;\r\n this.TimeIntervals.forEach(ele => {\r\n var index = this.TimeIntervals.indexOf(ele);\r\n var bookedindes = this.TimeIntervals.findIndex(function (element) {\r\n return (element.Booked == true) && (element.BookingId != null) && (that.TimeIntervals.indexOf(element) > index);\r\n });\r\n var res = this.checkAvailableTime(ele, this.TimeIntervals[bookedindes]);\r\n ele.hidden = res;\r\n\r\n });\r\n\r\n }\r\n\r\n checkAvailableTime(starttime, nextslot) {\r\n var moment = require('moment-timezone');\r\n if (nextslot && nextslot.Booked == true) {\r\n var difference = moment.duration(moment(nextslot.CurrentTime).diff(moment(starttime.CurrentTime)));\r\n\r\n if (difference.asMinutes() < this.TimeSlot.split(\" \")[0]) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n assignTimeSlot(value) {\r\n switch (value) {\r\n case 5: {\r\n this.TimeSlot = '05 Minutes';\r\n break;\r\n }\r\n case 15: {\r\n this.TimeSlot = '15 Minutes';\r\n break;\r\n }\r\n case 30: {\r\n this.TimeSlot = '30 Minutes';\r\n break;\r\n }\r\n case 45: {\r\n this.TimeSlot = '45 Minutes';\r\n break;\r\n }\r\n case 60: {\r\n this.TimeSlot = '60 Minutes';\r\n break;\r\n } case 90: {\r\n this.TimeSlot = '90 Minutes';\r\n break;\r\n }\r\n case 120: {\r\n this.TimeSlot = '120 Minutes';\r\n break;\r\n }\r\n case 180: {\r\n this.TimeSlot = '180 Minutes';\r\n break;\r\n }\r\n case 240: {\r\n this.TimeSlot = '240 Minutes';\r\n break;\r\n }\r\n case 300: {\r\n this.TimeSlot = '300 Minutes';\r\n break;\r\n }\r\n case 360: {\r\n this.TimeSlot = '360 Minutes';\r\n break;\r\n }\r\n case 420: {\r\n this.TimeSlot = '420 Minutes';\r\n break;\r\n }\r\n case 480: {\r\n this.TimeSlot = '480 Minutes';\r\n break;\r\n }\r\n default: {\r\n this.TimeSlot = this.TimeSlot;\r\n break;\r\n }\r\n }\r\n }\r\n checkDaysFilter() {\r\n var count = 0;\r\n if (this.DaysFilter.Monday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Tuesday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Wednesday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Thursday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Friday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Saturday == true) {\r\n count += 1;\r\n }\r\n if (this.DaysFilter.Sunday == true) {\r\n count += 1;\r\n }\r\n return count;\r\n }\r\n ViewScheduleTaskConfirm(val) {\r\n \r\n if (this.taskhistory.tasktypeid) {\r\n this.taskhistory.estcompleteddate = this.datePipe.transform(val.CurrentTime, 'yyyy-MM-dd');\r\n this.taskhistory.time = this.datePipe.transform(val.CurrentTime, 'hh:mm a');\r\n var Start = new Date(new Date(val.CurrentTime).getTime() + Number(this.TimeSlot.split(\" \")[0]) * 60000);\r\n this.taskhistory.totime = this.datePipe.transform(Start, 'hh:mm a')\r\n this.taskhistory.tasktype = this.Tasktypelist.filter(x => x.id == this.taskhistory.tasktypeid)[0].itemName;\r\n if (this.contactList && !this.BTClick) {\r\n this.taskhistory.contactName = this.contactList.filter(x => x.id == this.taskhistory.contactid)[0].itemName;\r\n }\r\n this.TimeSlotSaveConfirmCss();\r\n } else {\r\n alert(\"Please Select Task Type\");\r\n }\r\n\r\n }\r\n\r\n TimeSlotSaveConfirmCss() {\r\n this.TimeSlotSaveConfirm = true;\r\n setTimeout(function () {\r\n $('#TimeSlotSaveConfirm .dialog').attr('style', 'width: 45%;padding-bottom: 0px;min-height: 30%;padding: 0;top: 10%;left: 12%;');\r\n }, 4)\r\n }\r\n addMoreAppointments() {\r\n this.additionalDays += 5;\r\n this.getIntervels(new Date(), (this.additionalDays));\r\n }\r\n\r\n\r\n ShowSlots() {\r\n this.ShowSlotsDiv = true\r\n this.Filters(\"\", \"\")\r\n }\r\n\r\n ChooseTaskType(value) {\r\n this.leadservice.GetAllTaskList(this.currentuser.id).then((accounttype) => {\r\n var res = accounttype.filter(x => x.id == value && x.taskgroupid == this.taskhistory.taskGroupID);\r\n this.TimeSlot = res[0].TimeRequired;\r\n let SelfObj = this;\r\n setTimeout(function () {\r\n SelfObj.Filters(\"\", \"\")\r\n }, 100)\r\n\r\n });\r\n\r\n }\r\n BookedClick(event, id) {\r\n var notesli = \"\";\r\n this.leadservice.GetAllTaskHistoryById(Number(id), 'TaskHistory').then((items) => {\r\n this.taskhistorynotes = items;\r\n this.taskhistorynotes.forEach((res) => {\r\n notesli += res.notedescription;\r\n });\r\n\r\n });\r\n \r\n this.leadservice.GetByTaskHistoryId(Number(id), \"View\", this.currentuser.timezone).then(taskdata => {\r\n var taskhistory1 = taskdata;\r\n var moment = require('moment-timezone');\r\n let frm = (taskhistory1.time == null) ? '(NTS)' : moment.tz(taskhistory1.time.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n let to = (taskhistory1.totime == null) ? '(NTS)' : moment.tz(taskhistory1.totime.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n var contact = (this.taskhistory.contactid != 0 && this.taskhistory.contactid != null) ? \"Contact: \" + this.taskhistory.contactName + \"
      \" : \"\";\r\n var Account = (this.taskhistory.contactid != 0 && this.taskhistory.contactid != null) ? \"Account: \" + this.taskhistory.accountname + \"
      \" : \"\";\r\n let timelabel = frm + '-' + to;\r\n var tooltip = \"
      \"\r\n + \"Date: \" + moment(taskhistory1.time).format(\"MM/DD/YYYY\") + \"
      \"\r\n + \"Time: \" + timelabel + \"
      \"\r\n + contact\r\n + Account\r\n + \"Type: \" + taskhistory1.tasktype.split(\"[\")[0] + \"
      \"\r\n + \"Notes: \" + notesli + \"
      \"\r\n + \"
      \";\r\n $(this).mouseover(function (e) {\r\n $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n });\r\n $(this).mousemove(function (e) {\r\n $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n });\r\n $(\"body\").append(tooltip);\r\n });\r\n }\r\n\r\n MouseLeave() {\r\n $(setTimeout(function () {\r\n $(this).css('z-index', 8);\r\n $('.tooltiptopicevent').remove();\r\n }, 300));\r\n }\r\n\r\n DisplayOtherAppointments() {\r\n //this.selectedDate = null;\r\n //this.Filters(\"\", \"\");\r\n this.LoadMore(this.selectedDate);\r\n this.MappedTimeSlot = false;\r\n this.TimeSlots = this.TimeSlotsOriginal;\r\n }\r\n\r\n getSelectedIntervels(startDatetime) {\r\n \r\n var DateIntervals = [{ WeekDay: '', Date: '', Time: '', AMPM: '', CurrentTime: new Date(), Booked: false, SlotDuration: 0, BookingId: 0, hidden: false, To: '', ToAMPM:'' }];\r\n DateIntervals = [{\r\n WeekDay: this.getweek(new Date(startDatetime).getDay()),\r\n Date: this.datePipe.transform(startDatetime, 'MM-dd-yyyy'),\r\n Time: this.datePipe.transform(startDatetime, 'hh: mm'),\r\n AMPM: this.datePipe.transform(startDatetime, 'a'),\r\n \r\n CurrentTime: startDatetime,\r\n Booked: false, SlotDuration: Number(this.TimeSlot.split(\" \")[0]),\r\n BookingId: 0, hidden: false,\r\n To: this.datePipe.transform(new Date(new Date(startDatetime).getTime() + Number(this.TimeSlot.split(\" \")[0]) * 60000), 'hh: mm'),\r\n ToAMPM: this.datePipe.transform(new Date(new Date(startDatetime).getTime() + Number(this.TimeSlot.split(\" \")[0]) * 60000), 'a')\r\n\r\n }];\r\n this.TimeIntervals = DateIntervals;\r\n this.MappedTimeSlot = true;\r\n }\r\n checknextTimeSlot(startDatetime, endDateTime) {\r\n var moment = require('moment-timezone');\r\n var selectedDate = new Date(this.datePipe.transform(startDatetime, 'MM-dd-yyyy hh:mm a'));\r\n var selDate = this.datePipe.transform(startDatetime, 'MM-dd-yyyy');\r\n var enddate = new Date(this.datePipe.transform(endDateTime, 'MM-dd-yyyy hh:mm a'));\r\n if (this.Scheduletasktaskhistory) {\r\n this.Scheduletasktaskhistory.forEach(ele => {\r\n if ((selDate == ele.estcompleteddate)) {\r\n\r\n var startTime = new Date(moment(ele.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + ele.starttime);\r\n if (selectedDate < startTime) {\r\n var difference = moment.duration(moment(startTime, \"HH:mm a\").diff(moment(selectedDate, \"HH:mm a\")));\r\n\r\n\r\n this.TimeSlots = this.TimeSlotsOriginal.filter(x => Number(x.itemName.split(\" \")[0]) <= parseInt(difference.asMinutes()));\r\n this.MappedTimeSlot = true;\r\n }\r\n }\r\n });\r\n }\r\n \r\n\r\n }\r\n\r\n CloseCreateTicket(btnName) {\r\n \r\n if (btnName == 'AccontView') {\r\n this.sendMsgEvent.emit(btnName); \r\n } else {\r\n this.CloseWarning = true;\r\n setTimeout(function () {\r\n $('#CloseWarning .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n this.sendMsgEvent.emit(btnName);\r\n }, 4)\r\n }\r\n }\r\n CloseAddOpportunityDialog() { \r\n this.sendMsgEvent.emit(\"CloseAddTask\");\r\n }\r\n close() { this.sendMsgEvent.emit(\"Close\"); }\r\n OpenAptwarning() {\r\n localStorage.setItem('TaskSelected', this.TaskId.toString());\r\n this.applicationComponent.loaddialog('EditTask', 'Edit Task', 'Go to the Task/Appt in the Calender', false, false, true, true, this.TaskId.toString());\r\n this.sendMsgEvent.emit(\"CloseAddTask\");\r\n }\r\n //OpenCalender() {\r\n \r\n // this.router.navigateByUrl(`/application/month-calender/null`);\r\n // $(\".subButtons\").removeClass(\"activeButton\");\r\n // $(\"#TaskCalander_button\").addClass(\"activeButton\");\r\n // localStorage.setItem('TaskSelected', this.TaskId.toString());\r\n // this.sendMsgEvent.emit(\"CloseAddTask\");\r\n //}\r\n}\r\n","
      \r\n \r\n \r\n
      \r\n\r\n","import { Component, OnInit, ViewChild, ViewContainerRef, ElementRef, Optional, Input } from '@angular/core';\r\n//import { CalendarComponent } from \"ap-angular-fullcalendar\";\r\nimport { Http } from '@angular/http';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { Notes } from '../../models/notes';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { SalesProcessHistory } from '../../models/sales-process-history';\r\nimport { ToastrService } from 'ngx-toastr';;\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Accounts } from '../../models/accounts';\r\nimport { Customers } from '../../models/customers';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport * as moment from 'moment'\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { ScheduletaskComponent } from \"../scheduletask/scheduletask.component\";\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'tasklist',\r\n templateUrl: './tasklist.component.html',\r\n styleUrls: ['./tasklist.component.css']\r\n})\r\nexport class TasklistComponent implements OnInit {\r\n showDialog = false;\r\n isOn: boolean = true;\r\n check: boolean = true;\r\n datepickerOpts: any;\r\n calenderMonthlist = [\"August\"];\r\n num: any;\r\n ids: any;\r\n title: any;\r\n calendarOptions: any;\r\n events = [];\r\n FirstEvents = [];\r\n call: any;\r\n times: any;\r\n titlesave: Date;\r\n startsave: Date;\r\n startdate: Date;\r\n enddate: Date;\r\n endsave: Date;\r\n editRowId: any;\r\n itemCount = 0;\r\n dayitemCount = 0;\r\n params: any;\r\n dayparams: any;\r\n Detailsdiv: boolean = false;\r\n updatediv: boolean = true;\r\n mycalander1clicked: boolean = false;\r\n mycalander2clicked: boolean = false;\r\n hdrHtml0: boolean = false;\r\n hdrHtml1: boolean = false;\r\n hdrHtml2: boolean = false;\r\n taskDialog: boolean = false;\r\n finaldata = [];\r\n newEvents = [];\r\n globaleventid: number;\r\n globaldata = [];\r\n globalEvent = [];\r\n items = [];\r\n dayitems = [];\r\n titlesss: any;\r\n dropdownSettings = {};\r\n finalitems = \"\";\r\n myhidden: boolean = true;\r\n myvar: boolean = true;\r\n myremindersdiv: boolean = false;\r\n taskhistory: TaskHistory = new TaskHistory();\r\n saleprocesshistory: SalesProcessHistory = new SalesProcessHistory();\r\n @ViewChild(ScheduletaskComponent) scheduleComp;\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n taskhistorynotes: Array = [];\r\n TaskStatuslist: Dropdowntype[] = [];\r\n Tasktypelist: Dropdowntype[] = [];\r\n taskhistoryList = new Array();\r\n notes: Notes = new Notes();\r\n //@ViewChild(CalendarComponent) myCalendar: CalendarComponent;\r\n inbound: Array = [];\r\n demo1Vals: any;\r\n displayKey: String = 'name';\r\n allSelected: Boolean = false;\r\n groupBy: string = 'type';\r\n statustype: string = 'Open';\r\n groups: Array;\r\n dropDownVisible: boolean = false;\r\n selectedItems: Array;\r\n inboundSelector: Array;\r\n filterVal: String;\r\n userprevilages: any;\r\n currentuser: any;\r\n itemResource: any;\r\n dayitemResource: any;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n searchDiv: boolean = false;\r\n CustomeritemResource: any;\r\n ContactitemCount = 0;\r\n CustomeritemCount = 0;\r\n Contactitems = [];\r\n Customeritems = [];\r\n public gridOptions: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n pageSize: string = \"\";\r\n tableDiv: boolean = true;\r\n labelDiv: boolean = true;\r\n dropdownList = [];\r\n dropdownSetting = {};\r\n alltaskhistory: TaskHistory[];\r\n dayalltaskhistory: TaskHistory[];\r\n aggridheight: string;\r\n timezonevalue: string;\r\n public context;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n allnotes: Notes[];\r\n @ViewChild('closeBtn') closeBtn: ElementRef;\r\n public frameworkComponents;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()-1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear()-1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n NotesDec = false;\r\n taskhistoryid: number;\r\n contactid: number;\r\n conid: number;\r\n customer: Customers = new Customers();\r\n selectedmonth = new Date();\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n claenderViewlist: Dropdowntype[];\r\n changeCalendarView(view) {\r\n // this.myCalendar.fullCalendar('changeView', view);\r\n }\r\n close() {\r\n this.closeBtn.nativeElement.click();\r\n }\r\n onCalendarInit() {\r\n }\r\n ngAfterViewInit(): void {\r\n this.ResizeTable();\r\n }\r\n @Input()\r\n id: number;\r\n @Input()\r\n type: string;\r\n @Input()\r\n taskid: number;\r\n today = Date.now();\r\n constructor(public applicationComponent: ApplicationComponent, private http: Http, private router: Router, private customerService: CustomerService, private opprtunityservice: OpprtunitiesService, private leadservice: LeadsService, private toastr: ToastrService, private viewContainerRef: ViewContainerRef) {\r\n this.selectedItems = [];\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n var loggedInUserId = this.currentuser.id;\r\n this.refresh();\r\n }\r\n\r\n HideAdnShow(id, type) {\r\n\r\n if (id == 0 || id == '' || id == null) {\r\n this.labelDiv = true;\r\n this.searchDiv = false;\r\n this.tableDiv = false;\r\n } else {\r\n this.labelDiv = false;\r\n this.searchDiv = true;\r\n this.tableDiv = true;\r\n if (type == \"Contacts\") {\r\n this.customerService.GetContactById(id).then(result => {\r\n this.contact = result;\r\n\r\n });\r\n document.getElementById('customerDiv').style.display = 'none';\r\n document.getElementById('ContactDiv').style.display = 'block';\r\n\r\n } else if (type == \"Customer\") {\r\n this.customerService.GetByAccountId(id).then(result => {\r\n this.account = result;\r\n\r\n });\r\n document.getElementById('customerDiv').style.display = 'block';\r\n document.getElementById('ContactDiv').style.display = 'none';\r\n }\r\n }\r\n\r\n this.leadservice.GetSalesStagesList().then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n });\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false });\r\n } else if (fieldHeaderVisibleArray[0] == \"owner\") {\r\n this.columnDefs.push({\r\n field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n }});\r\n } else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true\r\n , cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n\r\n {\r\n field: 'datecreated', headerName: 'Date Created', hide: false, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n }},\r\n {\r\n field: 'DateSched', headerName: 'Date Scheduled', hide: false, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n } },\r\n {\r\n field: 'status', headerName: 'Status', hide: false, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n } },\r\n {\r\n field: 'accountname', headerName: 'Account Name', hide: false, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n } },\r\n {\r\n field: 'tasktype', headerName: 'Type', hide: false, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n } },\r\n {\r\n field: 'contactName', headerName: 'Contact Name', hide: false, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n }},\r\n {\r\n field: 'time', headerName: 'Start Time', hide: false, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n } },\r\n {\r\n field: 'totime', headerName: 'End Time', hide: true, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n } }, //true starts here\r\n {\r\n field: 'owner', headerName: 'Owner', hide: false, cellStyle: function (params) {\r\n if (params.data.DateSched < selfobj.datePipe.transform(selfobj.today, 'MM-dd-yyyy') || selfobj.datePipe.transform(params.data.DateSched, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) {\r\n return { color: '#FF0000' }\r\n }\r\n } },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false }\r\n ];\r\n }\r\n }\r\n onAgGridReady(event) {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n $(setTimeout(function () {\r\n selfObj.autoSizeAll();\r\n }, 100));\r\n }, 100));\r\n }\r\n autoSizeAll() {\r\n var allColumnIds = [];\r\n if (this.gridOptions && this.gridOptions.columnApi) {\r\n this.gridOptions.columnApi.getAllColumns().forEach(function (column) {\r\n allColumnIds.push(column.getColId());\r\n });\r\n }\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n\r\n this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 9;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n //// this.toastr.setRootViewContainerRef(viewContainerRef);\r\n //this.toastr.success(\"Configuration Saved Successfully\");\r\n }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n let columnSelections: string;\r\n //let selectedUserIds: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 9).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(columnSelections);\r\n this.context = this;\r\n\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/${rowEvent.data.type}/${rowEvent.data.contactid}/${rowEvent.data.id}`);\r\n\r\n }\r\n ngOnInit() {\r\n\r\n this.customerService.GetPrivilagesByuser(this.currentuser.id).then(result => {\r\n this.userprevilages = result;\r\n });\r\n this.customerService.GetSpecialityList(\"calenderView\", this.currentuser.id).then((calender) => {\r\n calender.forEach(accounttype => {\r\n });\r\n this.claenderViewlist = calender;\r\n });\r\n var moment = require('moment-timezone');\r\n this.timezonevalue = moment.tz.guess();\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1,0,0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n\r\n this.dropdownList = Owner;\r\n \r\n if (this.applicationComponent.selectedusers != '' || this.applicationComponent.selectedusers != null) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n })\r\n this.TaskData('Open', $(\"#userids\").val());\r\n }\r\n else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n\r\n this.TaskData('Open', $(\"#userids\").val())\r\n }\r\n })\r\n var hdrHtml = `
      \r\n
      \r\n\t \r\n\t \r\n\t \r\n
      `;\r\n let selfobj = this;\r\n $(setTimeout(function () {\r\n $('#myCalendar0 .fc-center').after(hdrHtml);\r\n $('.fc-rigid').attr('style', 'height:80px');\r\n $('.fc-day-grid-container').attr('style', 'height:auto')\r\n }, 750));\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n this.initializeAgGrid();\r\n }\r\n reloadItems(params) {\r\n if (this.itemResource != undefined) {\r\n this.itemResource.query(params).then(items => this.items = items);\r\n }\r\n }\r\n dayreloadItems(dayparams) {\r\n if (this.dayitemResource != undefined) {\r\n this.dayitemResource.query(dayparams).then(dayitems => this.dayitems = dayitems);\r\n $('#notesTextArea').val('');\r\n }\r\n }\r\n getSelectedItems(): Array {\r\n return this.selectedItems;\r\n }\r\n ActiveTask(id) {\r\n this.opprtunityservice.GetTaskStatus(\"TaskStatus\", this.currentuser.id).then((pc) => {\r\n pc.forEach(pc => {\r\n });\r\n this.TaskStatuslist = pc;\r\n });\r\n $(\".actionToDo\").removeClass(\"activeColor\");\r\n $(\".changeActive\").removeClass(\"activeButton\");\r\n $(\".changeActive\").addClass(\"noprovider\");\r\n $(\"#\" + id).removeClass(\"noprovider\");\r\n\r\n if (id == 'meeting') {\r\n $(\"#\" + id + \"_span\").addClass(\"activeColor\");\r\n $(\"#\" + id).addClass(\"activeButton\");\r\n $('#sel1 > option:first-child').text('Select Meeting List');\r\n } else if (id == 'phonecall') {\r\n $(\"#\" + id + \"_span\").addClass(\"activeColor\");\r\n $(\"#\" + id).addClass(\"activeButton\");\r\n $('#sel1 > option:first-child').text('Select Phone Call List');\r\n } else if (id == 'todo') {\r\n $(\"#\" + id + \"_span\").addClass(\"activeColor\");\r\n $(\"#\" + id).addClass(\"activeButton\");\r\n $('#sel1 > option:first-child').text('Select To Do List');\r\n }\r\n $('.spanStatus').removeClass('activeColor');\r\n $('.labelStatus').removeClass('redColor');\r\n var idStatus = 167;\r\n var status = 'Open'\r\n\r\n var spanId = idStatus + '_span';\r\n $('#' + idStatus).addClass('redColor');\r\n $('#' + spanId).addClass('activeColor');\r\n this.leadservice.GetAllTasksList(id, this.saleprocesshistory.salesstage, this.currentuser.TaskGroupid, 0, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.Tasktypelist = accounttype;\r\n });\r\n }\r\n selectedStatus(status) {\r\n if ($('#sel1').val() != null) {\r\n var id = status.id;\r\n this.saleprocesshistory.salesstage = status.itemName;\r\n this.taskhistory.status = status.itemName;\r\n var spanId = status.id + '_span';\r\n $('.spanStatus').removeClass('activeColor');\r\n $('.labelStatus').removeClass('redColor');\r\n $('#' + id).addClass('redColor');\r\n $('#' + spanId).addClass('activeColor');\r\n document.getElementById('selectStatus').innerHTML = status.itemName;\r\n document.getElementById('taskSave').style.display = 'block';\r\n }\r\n }\r\n completeForm() {\r\n\r\n if ((this.taskhistory.tasktype == \"\" || this.taskhistory.tasktype == undefined) && (($('#sel1').val() == \"\") || $('#sel1').val() == null)) {\r\n document.getElementById('taskSave').style.display = 'none';\r\n } else if (this.taskhistory.tasktype == undefined && ($('#sel1').val() == \"\")) {\r\n document.getElementById('taskSave').style.display = 'none';\r\n } else {\r\n document.getElementById('taskSave').style.display = 'block';\r\n }\r\n\r\n }\r\n SaveTaskHistory() {\r\n\r\n if (this.taskhistory.id == undefined) {//save\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Sched Task\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n else {//edit\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Sched Task\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canedit == false) {\r\n this.toastr.warning(\"You Do Not have Access to update – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.taskhistory.contactid = this.contact.id;\r\n this.taskhistory.type = this.type;\r\n this.taskhistory.userid = this.currentuser.id;\r\n this.taskhistory.timezone = this.currentuser.timezone;\r\n this.taskhistory.tasktype = $(\"#sel1 option:selected\").text();\r\n if (this.taskhistory.time != null) {\r\n this.taskhistory.starttime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.time;\r\n }\r\n if (this.taskhistory.totime != null) {\r\n this.taskhistory.endtime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.totime;\r\n }\r\n this.leadservice.addTaskHistory(this.taskhistory).then(result => {\r\n this.notes.accountid = result.id;\r\n this.close();\r\n this.notes.type = \"Lead\";\r\n this.notes.userid = this.currentuser.id;\r\n this.opprtunityservice.addopprtunityNotes(this.notes).then(result => {\r\n this.notes = result;\r\n this.notes.notedescription = '';\r\n });\r\n this.checkvalues($('#taskstatus').val(), $(\"#userids\").val());\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n checkvalues(val, userids) {\r\n this.newEvents = [];\r\n\r\n this.leadservice.GetAllTaskHistory(val, userids, this.startDateVal, this.endDateVal,'tasklist').then((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"MM-dd-yyyy\");\r\n taskhistory.DateSched = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\"));\r\n var moment = require('moment-timezone');\r\n taskhistory.estcompleteddate = moment.tz(taskhistory.estcompleteddate.toLocaleString(), this.timezonevalue).format(\"YYYY-MM-DD\");\r\n if (taskhistory.status == 'Open') {\r\n (this.finaldata).push({ id: taskhistory.id, Contact: taskhistory.contactName, title: ((taskhistory.time != null && taskhistory.time != '0:00') ? taskhistory.time : '') + ' ' + taskhistory.tasktype, start: taskhistory.estcompleteddate, From: taskhistory.time, To: taskhistory.totime, backgroundColor: 'green' });\r\n\r\n }\r\n else if (taskhistory.status == 'Completed') {\r\n (this.finaldata).push({ id: taskhistory.id, Contact: taskhistory.contactName, title: ((taskhistory.time != null && taskhistory.time != '0:00') ? taskhistory.time : '') + ' ' + taskhistory.tasktype, start: taskhistory.estcompleteddate, From: taskhistory.time, To: taskhistory.totime, backgroundColor: 'blue' });\r\n }\r\n else {\r\n (this.finaldata).push({ id: taskhistory.id, Contact: taskhistory.contactName, title: ((taskhistory.time != null && taskhistory.time != '0:00') ? taskhistory.time : '') + ' ' + taskhistory.tasktype, start: taskhistory.estcompleteddate, From: taskhistory.time, To: taskhistory.totime, backgroundColor: 'red' });\r\n }\r\n\r\n });\r\n\r\n if (this.check == true) {\r\n this.newEvents = this.finaldata;\r\n\r\n $('#myCalendar').fullCalendar('removeEvents');\r\n \r\n this.calendarOptions.events = this.newEvents;\r\n\r\n $('#myCalendar').fullCalendar('renderEvents', this.newEvents, true);\r\n \r\n \r\n this.finaldata = [];\r\n }\r\n this.alltaskhistory = taskhistory;\r\n });\r\n\r\n }\r\n\r\n TaskData(val, userids) {\r\n userids = $(\"#userids\").val();\r\n this.statustype = val;\r\n if ($(\"#userids\").val() != '') {\r\n this.checkvalues(val, userids);\r\n }\r\n else {\r\n this.items = [];\r\n this.itemCount = 0;\r\n this.calendarOptions.events = [];\r\n // this.myCalendar.fullCalendar('refresh');\r\n }\r\n $(setTimeout(function () {\r\n $('.fc-rigid').attr('style', 'height:100px');\r\n $('.fc-day-grid-container').attr('style', 'height:auto')\r\n }, 500));\r\n }\r\n clientEvents(idOrFilter) {\r\n }\r\n refresh() {\r\n var that = this;\r\n that.taskhistoryList = [];\r\n this.calendarOptions = {\r\n\r\n height: 720,\r\n fixedWeekCount: false,\r\n header:\r\n {\r\n left: '',\r\n center: 'title',\r\n right: 'month,agendaWeek,agendaDay,listYear prev,next
      '\r\n },\r\n defaultDate: that.selectedmonth,\r\n editable: true, \r\n eventMouseover: function (data, event, view) {\r\n var notes = \"\";\r\n that.leadservice.GetAllTaskHistoryById(data.id, 'Lead').then((items) => {\r\n items.forEach(items => {\r\n });\r\n this.taskhistorynotes = items;\r\n\r\n });\r\n var notesli = \"\";\r\n this.taskhistorynotes.forEach((res) => {\r\n notesli += '
    • ' + res.created.toString(\"mm-dd-yyyy\").replace(\"T\", \" \") + ' : ' + res.notedescription + '
    • ';\r\n });\r\n\r\n var tooltip = '
      ' + 'Contact: ' + data.Contact + '
      ' + 'Type: ' + data.title + '
      ' +\r\n 'Notes: ' + notesli + '
      '\r\n + 'From' + ': ' + (data.start).format(\"MM/DD/YYYY\") + '
      ';\r\n var btnTrial = '
      Hey there, this is a test.
      ';\r\n $(\"body\").append(tooltip);\r\n $(this).mouseover(function (e) {\r\n $(this).css('z-index', 10000);\r\n $('.tooltiptopicevent').fadeIn('500');\r\n // $('.tooltiptopicevent').fadeTo('10', 1.9);\r\n }).mousemove(function (e) {\r\n $('.tooltiptopicevent').css('top', e.pageY + 10);\r\n $('.tooltiptopicevent').css('left', e.pageX + 20);\r\n });\r\n\r\n\r\n },\r\n eventMouseout: function (data, event, view) {\r\n $(this).css('z-index', 8);\r\n\r\n $('.tooltiptopicevent').remove();\r\n\r\n },\r\n eventLimit: true,\r\n selectable: true,\r\n //events: [],\r\n droppable: true,\r\n dayClick: function (date, jsEvent, view, resourceObj) {\r\n \r\n that.taskDialog = !that.taskDialog;\r\n that.scheduleComp.LoadSelectedTaskdata(this.taskid, \"\", \"\", true);\r\n },\r\n eventClick: function (event, delta, revertFunc) {\r\n that.taskDialog = !that.taskDialog;\r\n that.leadservice.GetByTaskHistoryId(event.id, \"View\", this.currentuser.timezone).then(result => {\r\n that.taskhistory = result;\r\n that.id = that.taskhistory.contactid;\r\n that.taskid = that.taskhistory.id;\r\n that.type = that.taskhistory.type;\r\n\r\n that.scheduleComp.LoadSelectedTaskdata(that.taskid, that.taskhistory.status, \"\", true);\r\n that.scheduleComp.loadtaskHistoryByselecteddate(that.taskhistory.estcompleteddate);\r\n });\r\n },\r\n eventDrop: function (event, delta, revertFunc) {\r\n that.taskhistory.time = event.start.format(\"hh:mm\");\r\n that.leadservice.GetByTaskHistoryId(event.id, \"View\", that.currentuser.timezone).then(result => {\r\n that.taskhistory = result;\r\n that.taskhistory.estcompleteddate = event.start;\r\n that.taskhistory.contactid = that.taskhistory.contactid;\r\n that.taskhistory.type = that.taskhistory.type;\r\n that.taskhistory.userid = that.currentuser.id;\r\n that.taskhistory.timezone = that.currentuser.timezone;\r\n this.taskhistory.tasktype = $(\"#sel1 option:selected\").text();\r\n if (this.taskhistory.time != null) {\r\n this.taskhistory.starttime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.time;\r\n }\r\n if (this.taskhistory.totime != null) {\r\n this.taskhistory.endtime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.totime;\r\n }\r\n that.leadservice.addTaskHistory(that.taskhistory).then(result => {\r\n this.notes.accountid = result.id;\r\n this.notes.type = \"TaskHistory\"; \r\n });\r\n this.checkvalues(result.status, $(\"#userids\").val());\r\n });\r\n },\r\n eventResize: function (event, delta, revertFunc) {\r\n that.leadservice.GetByTaskHistoryId(event.id, \"View\", that.currentuser.timezone).then(result => {\r\n that.taskhistory = result;\r\n that.taskhistory.estcompleteddate = event.start;\r\n that.taskhistory.time = event.start.hastime();\r\n that.taskhistory.contactid = that.taskhistory.contactid;\r\n that.taskhistory.type = that.taskhistory.type;\r\n that.taskhistory.userid = that.currentuser.id;\r\n that.taskhistory.timezone = that.currentuser.timezone;\r\n this.taskhistory.tasktype = $(\"#sel1 option:selected\").text();\r\n var moment = require('moment-timezone');\r\n if (this.taskhistory.time != null) {\r\n this.taskhistory.starttime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.time;\r\n }\r\n if (this.taskhistory.totime != null) {\r\n this.taskhistory.endtime = moment(this.taskhistory.estcompleteddate).format(\"MM/DD/YYYY\") + ' ' + this.taskhistory.totime;\r\n }\r\n that.leadservice.addTaskHistory(that.taskhistory).then(result => {\r\n this.notes.accountid = result.id;\r\n this.notes.type = \"TaskHistory\";\r\n });\r\n this.checkvalues(result.status, $(\"#userids\").val());\r\n });\r\n },\r\n // eventDragStart: function (event, jsEvent, ui, view) {\r\n // // that.finaldata=[];\r\n // // that.taskhistory.time = event.start.format(\"hh:mm\");\r\n // //that.leadservice.GetByTaskHistoryId(event.id).then(result => {\r\n // // that.taskhistory = result;\r\n // // that.taskhistory.estcompleteddate = event.start;\r\n // // that.taskhistory.contactid = that.taskhistory.contactid;\r\n // // that.taskhistory.type = that.taskhistory.type;\r\n // // that.taskhistory.userid = that.currentuser.id;\r\n // // that.finaldata.push({ id: that.taskhistory.id, Contact: that.taskhistory.contactName, title: ((that.taskhistory.time != null && that.taskhistory.time != '0:00') ? that.taskhistory.time : '') + ' ' + that.taskhistory.tasktype, start: that.taskhistory.estcompleteddate, From: that.taskhistory.time, To: that.taskhistory.totime, backgroundColor: 'blue' })\r\n \r\n // //});\r\n // that.globaleventid = event.id;\r\n // // $('#myCalendar0').fullCalendar('removeEvents', event._id);\r\n // },\r\n // eventDragStop: function (event, jsEvent, ui, view) {\r\n // \r\n // alert(\"drop\");\r\n \r\n // //$('.fc-draggable').each(function () {\r\n\r\n // // // store data so the calendar knows to render an event upon drop\r\n // // $(this).data('event', {\r\n // // title: $.trim($(this).text()), // use the element's text as the event title\r\n // // stick: true // maintain when user navigates (see docs on the renderEvent method)\r\n // // });\r\n\r\n\r\n // // // Dirty fix to remove highlighted blue background\r\n // // $(\"td\").removeClass(\"fc-highlight\");\r\n\r\n // //});\r\n // //that.leadservice.GetByTaskHistoryId(that.globaleventid).then(result => {\r\n // // that.taskhistory = result;\r\n // // that.taskhistory.estcompleteddate = event.start;\r\n // // that.taskhistory.contactid = that.taskhistory.contactid;\r\n // // that.taskhistory.type = that.taskhistory.type;\r\n // // that.taskhistory.userid = that.currentuser.id;\r\n // // //that.finaldata.push({ id: that.taskhistory.id, Contact: that.taskhistory.contactName, title: ((that.taskhistory.time != null && that.taskhistory.time != '0:00') ? that.taskhistory.time : '') + ' ' + that.taskhistory.tasktype, start: that.taskhistory.estcompleteddate, From: that.taskhistory.time, To: that.taskhistory.totime, backgroundColor: 'blue' })\r\n // // //$('#myCalendar1').fullCalendar('renderEvents', that.finaldata, true);\r\n // //});\r\n\r\n //},\r\n };\r\n }\r\n\r\n\r\n ResizeTable() {\r\n this.aggridheight = ($(\"#gridheight\").height(((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height()))) - 40)) + 'px';\r\n }\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n this.checkvalues($('#taskstatus').val(), $(\"#userids\").val());\r\n }\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n\r\n}\r\n","
      \r\n \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n Task List\r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Number of Tasks:
      \r\n
      {{alltaskhistory != null? alltaskhistory.length : 0}}
      \r\n
      \r\n
      \r\n
      Total Phone Calls:
      \r\n
      {{totalPhoneCalls}}
      \r\n
      \r\n
      \r\n
      Total Meetings:
      \r\n
      {{totalMeetings}}
      \r\n
      \r\n
      \r\n
      Total To Do's:
      \r\n
      {{totalToDos}}
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{lbl.name}}
      \r\n
      \r\n
      \r\n
      {{lbl.Total}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n
      0? '91':'105'\" [style.border]=\"(applicationComponent.searchCriteriadata != '')?'3px solid #00B0F0':'none'\">\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      0\" style=\"height:100%;padding:0% 0 0 1%\">\r\n \r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n Edit\r\n Save\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n","import { Component, OnInit, ViewContainerRef, ViewEncapsulation, ElementRef, Renderer2, ViewChild, Optional, Input } from '@angular/core';\r\nimport { LeadsService } from '../../../services/leads.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { Notes } from '../../../models/notes';\r\nimport { Contacts } from '../../../models/contacts';\r\nimport { Customers } from '../../../models/customers';\r\nimport { Accounts } from '../../../models/accounts';\r\nimport { OpprtunitiesService } from '../../../services/opprtunities.service';\r\nimport { ParentComp, UserlistComponent } from \"../../userlist/userlist.component\";\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { NotesrendererComponent } from '../../notesrenderer/notesrenderer.component';\r\nimport { ScheduletaskComponent } from \"../../scheduletask/scheduletask.component\";\r\nimport { Dashboardconfiguration } from '../../../models/dashboardconfiguration';\r\nimport { Column } from 'ag-grid';\r\nimport { TaskHistory } from '../../../models/task-history';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../../application.component';\r\nimport * as moment from 'moment'\r\nimport { NotesComponent } from '../../notes/notes.component';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { Viewaccount } from 'src/app/models/viewaccount';\r\nimport { AuditLogModel } from '../../../models/auditlog';\r\nimport { UserdataheaderComponent } from '../../userdataheader/userdataheader.component';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-tasklistdashboard',\r\n templateUrl: './tasklistdashboard.component.html',\r\n styleUrls: ['./tasklistdashboard.component.css']\r\n //encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TasklistdashboardComponent implements OnInit {\r\n resizeheight = (window.innerHeight / 1.542) + 'px';\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n itemResource: any;\r\n items = [];\r\n itemCount = 0; term: string = \"\";\r\n params: any;\r\n notesitemResource: any;\r\n notesitems = [];\r\n notesitemCount = 0;\r\n notesparams: any;\r\n showNotesDialog = false;\r\n dialogOpen: boolean = false;\r\n contactid: number;\r\n currentuser: any;\r\n dropdownSetting = {};\r\n userprevilages: any;\r\n dropdownList = []; finalitems = \"\"; selectedItems = [];\r\n notedescription: string;\r\n tasktype: string;\r\n notes: Notes = new Notes();\r\n taskhistoryid: number;\r\n contact: Contacts = new Contacts();\r\n account: Accounts = new Accounts();\r\n customer: Customers = new Customers();\r\n accountdiv: boolean = true;\r\n customerdiv: boolean = true;\r\n public editorOptions: Object = { attribution: false, key: 'te1C2sD7C6D6F4D4G4C2kkxvE-11oeA-7mmC5aliyD2I2D1B2C7E2D1C5G1G2==' };\r\n thisComp: ParentComp = ParentComp.TaskListDash;\r\n isViewInitialized: boolean = false;\r\n isPgClickRegistered: boolean = false;\r\n alltaskhistory: TaskHistory[];\r\n taskhistory: TaskHistory = new TaskHistory();\r\n public gridOptions: GridOptions;\r\n public gridOptionsnotes: GridOptions;\r\n public rowData: any[];\r\n public columnDefs: any[];\r\n public columnDefsnotes: any[];\r\n pageSize = \"1000\";\r\n public context;\r\n public frameworkComponents;\r\n aggridheight: string;\r\n allnotes: Notes[];\r\n typ: string; id: number;\r\n type: string; taskid: number;\r\n conid: number; Contact: string; ContactOpportunity: string; ContactLead: string; AllContactsNotes: string;\r\n @ViewChild(UserlistComponent) userListComp;\r\n @ViewChild(ScheduletaskComponent) scheduleComp;\r\n @ViewChild(NotesComponent) notecomp;\r\n\r\n DisplayrowsList: Dropdowntype[] = [];\r\n public elementRef;\r\n NotesDec = false;\r\n columnSelections: string;\r\n ShowScheduletask: boolean = false;\r\n taskhistoryinfo: boolean = true;\r\n\r\n Below30Days: number = 0;\r\n Betwn31_60Days: number = 0;\r\n Betwn61_90Days: number = 0;\r\n Betwn91_120Days: number = 0;\r\n Above120Days: number = 0;\r\n Above151Days: number = 0;\r\n totalPhoneCalls: number = 0;\r\n totalMeetings: number = 0;\r\n totalToDos: number = 0;\r\n ExpandTaskGrid: boolean = false;\r\n public sideBar;\r\n daysFilter: boolean = false;\r\n TaskExpand: boolean = false;\r\n public pieChartData = [];\r\n public customerpieChartType: string = 'pie';\r\n public customerpieChartcolors = [{ backgroundColor: [\"#4C7FC0\", \"\t#CA5A4E\", \"#9DB15A\"] }]\r\n public pieColors = [\"#4C7FC0\", \"\t#CA5A4E\", \"#9DB15A\"];\r\n public customerpieChartLabels = [];\r\n //public pieChartLabels: string[] = [];\r\n pieChartLabels = [\"Phone Calls\", \"Meeting\", \"To Do\"];\r\n //pieChartData = [2, 1, 1];\r\n OpenOppTotal: string = \"$ 0\";\r\n scheduleTaskLoaded: boolean = false;\r\n notesshowDialog = false;\r\n isModal: boolean = true;\r\n DocExpandView = false;\r\n @Input()\r\n PageFrom: string = \"\";\r\n @Input()\r\n typeTask: string = this.taskhistory.tasktype;\r\n taskhistorynotes: Array = [];\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n calanderonoff: boolean = false;\r\n timezonevalue: string;\r\n showEditNoteBtn: boolean = false;\r\n editNoteId: boolean = false;\r\n Ids = [];\r\n today = Date.now();\r\n private gridColumnApi;\r\n userInfo: string;\r\n isShowDetailsChecked: boolean = false;\r\n private gridApi;\r\n viewaccount: Viewaccount = new Viewaccount(); EnableSearch: boolean = false; value = \"\";\r\n constructor(private route: ActivatedRoute, public applicationComponent: ApplicationComponent, private renderer: Renderer2, private leadservice: LeadsService, private customerService: CustomerService, private router: Router, private viewContainerRef: ViewContainerRef, private toastr: ToastrService, private opprtunityservice: OpprtunitiesService, myElement: ElementRef, private accountService: AccountsService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n this.applicationComponent.ExpandSelectedMenu('tasklists');\r\n }\r\n // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n var loggedInUserId = this.currentuser.id;\r\n this.customerService.GetPrivilagesByuser(loggedInUserId).then(result => {\r\n this.userprevilages = result;\r\n });\r\n this.elementRef = myElement;\r\n }\r\n ngAfterViewInit(): void {\r\n var thiscomponent = this;\r\n\r\n setTimeout(function () { thiscomponent.ResizeTable(); }, 10);\r\n }\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let searcharray = [];\r\n if (this.gridOptions.quickFilterText != null && this.gridOptions.quickFilterText != undefined && this.gridOptions.quickFilterText != '') {\r\n searcharray.push(this.gridOptions.quickFilterText);\r\n }\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections && columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: true, width: parseInt(fieldHeaderVisibleWidthArray[3]) });\r\n } else if (fieldHeaderVisibleWidthArray[0] == \"status\") {\r\n this.columnDefs.push({ field: 'status', headerName: 'Status', getQuickFilterText: () => '', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) { if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; } } });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecompleted\") {\r\n this.columnDefs.push({\r\n field: 'datecompleted', headerName: 'Date Completed', getQuickFilterText: () => '',hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n }, cellRenderer: (params) => {\r\n if (params.data.status == 'Open' || params.value == \"\") { return \"\"; } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"datecreated\") {\r\n this.columnDefs.push({\r\n field: 'datecreated', headerName: 'Date Created', getQuickFilterText: () => '',hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"estcompleteddate\" || fieldHeaderVisibleWidthArray[0] == \"DateSched\") {\r\n this.columnDefs.push({\r\n field: 'estcompleteddate', headerName: 'Date Scheduled', getQuickFilterText: () => '', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accountname\") {\r\n this.columnDefs.push({\r\n field: 'accountname', headerName: 'Account Name', getQuickFilterText: () => '',hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"firstName\") {\r\n this.columnDefs.push({\r\n field: 'firstName', headerName: 'First Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(' ');\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \" \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"lastName\") {\r\n this.columnDefs.push({\r\n field: 'lastName', headerName: 'Last Name', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(' ');\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \" \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"time\") {\r\n this.columnDefs.push({\r\n field: 'starttime', headerName: 'Start Time', getQuickFilterText: () => '', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (params.value == '00:00:00' || params.value == null) { return \"\" } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"totime\") {\r\n this.columnDefs.push({\r\n field: 'endtime', headerName: 'End Time', getQuickFilterText: () => '', hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true, width: parseInt(fieldHeaderVisibleWidthArray[3]),cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (params.value == '00:00:00' || params.value == null) { return \"\" } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1], getQuickFilterText: () => '',\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n field: 'estcompleteddate', headerName: 'Date Scheduled', getQuickFilterText: () => '', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'accountname', headerName: 'Account Name', getQuickFilterText: () => '', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(' ');\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \" \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n },\r\n },\r\n\r\n {\r\n field: 'status', headerName: 'Status', getQuickFilterText: () => '', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n }\r\n },\r\n {\r\n field: 'tasktype', headerName: 'Type', getQuickFilterText: () => '', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'taskcategory', headerName: 'Task', getQuickFilterText: () => '', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n {\r\n field: 'firstName', headerName: 'First Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(' ');\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \" \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'lastName', headerName: 'Last Name', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && (params.data.status == 'Open' || params.data.status == 'Pending')) { return { color: '#FF0000' }; }\r\n },\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(' ');\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \" \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'starttime', headerName: 'Start Time', getQuickFilterText: () => '', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n //}, cellRenderer: function (params) {\r\n // return moment(params.value).format('MM-DD-YYYY');\r\n\r\n //}\r\n },\r\n {\r\n field: 'endtime', headerName: 'End Time', getQuickFilterText: () => '',hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n }, //true starts here\r\n {\r\n field: 'datecreated', headerName: 'Date Created', getQuickFilterText: () => '', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'datecompleted', headerName: 'Date Completed', getQuickFilterText: () => '', hide: (this.tasktype == 'Open') ? true : false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') { return { color: '#FF0000' }; }\r\n }, cellRenderer: function (params) {\r\n if (params.data.status == 'Open' || params.value == \"\") { return \"\"; } else {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n }\r\n },\r\n {\r\n field: 'owner', headerName: 'Created By', getQuickFilterText: () => '', hide: false, cellStyle: function (params) {\r\n if ((params.data.estcompleteddate < selfobj.datePipe.transform(selfobj.today, 'yyyy-MM-dd') || selfobj.datePipe.transform(params.data.estcompleteddate, 'yyyy') < selfobj.datePipe.transform(selfobj.today, 'yyyy')) && params.data.status == 'Open') {\r\n return { color: '#FF0000' }\r\n }\r\n }\r\n },\r\n { field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, pinned: 'right' },\r\n \r\n\r\n ];\r\n\r\n }\r\n }\r\n \r\n //onAgGridReady(event) {\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // selfObj.gridColumnApi = selfObj.gridOptions.columnApi;\r\n // }, 100));\r\n // }, 100));\r\n\r\n // //this.columnApi = that.gridOptions.columnApi;\r\n //}\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n\r\n this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n this.UpdateSearchColumns(config.columnsselections);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 9;\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n\r\n initializeAgGrid() {\r\n\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: false, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true,\r\n toolPanelSuppressPivotMode: true, rowSelection: 'single', enableCellChangeFlash: true, suppressSorting: true, suppressMultiSort: true\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 9).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n this.columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefs(this.columnSelections);\r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString();\r\n this.applicationComponent.SearchColumnList = [];\r\n this.UpdateSearchColumns(this.columnSelections);\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent\r\n };\r\n\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n }\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[];\r\n if (columnSelections != null)\r\n allCols = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n if (allCols != null) {\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && (fields[1] != '#' && fields[0] != 'notes')) {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n }\r\n\r\n //this.applicationComponent.ShowSearchTabs('True');\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n if (element.subtab == 'OpenTaskHistory' && this.applicationComponent.TaskDataVal == 'Open') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } else if (element.subtab == 'ClosedTaskHistory' && this.applicationComponent.TaskDataVal == 'Completed') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n\r\n }\r\n else if (element.subtab == 'AllTaskHistory' && this.applicationComponent.TaskDataVal == 'All') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n }\r\n else if (element.subtab == 'NewTaskHistory' && this.applicationComponent.TaskDataVal == 'New') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } else {\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = false;\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n else {\r\n this.accountService.GetDefaultColumns('OpenTaskHistory', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'accountname', \"itemName\": 'Account Name' },\r\n { \"id\": 'firstName', \"itemName\": 'First Name' },\r\n { \"id\": 'lastName', \"itemName\": 'Last Name' },\r\n ];\r\n }\r\n });\r\n }\r\n }\r\n onTaskListChanged(rowEvent) {\r\n if (this.ShowScheduletask) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.taskhistoryid = rowEvent.api.getSelectedNodes()[0].data.id;\r\n this.taskhistory = rowEvent.api.getSelectedNodes()[0].data;\r\n this.leadservice.GetAllTaskHistoryById(Number(this.taskhistoryid), 'TaskHistory').then((items) => {\r\n this.taskhistorynotes = items;\r\n });\r\n this.conid = rowEvent.api.getSelectedNodes()[0].data.contactid;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n \r\n objSelf.scheduleComp.initData(rowEvent.api.getSelectedNodes()[0].data.contactid, rowEvent.api.getSelectedNodes()[0].data.type, rowEvent.api.getSelectedNodes()[0].data.id);\r\n }, 500));\r\n\r\n \r\n }\r\n }\r\n }\r\n }\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata) {\r\n\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n\r\n }\r\n \r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.id = this.conid = rowEvent.data.contactid;\r\n this.taskid = rowEvent.data.id;\r\n this.type = rowEvent.data.type;\r\n this.taskhistoryinfo = false;\r\n this.ShowScheduletask = true;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.scheduleComp.initData(rowEvent.data.contactid, rowEvent.data.type, rowEvent.data.id); \r\n }, 500));\r\n \r\n }\r\n cellDoubleClicked(rowEvent) {\r\n this.EnableSearch = false;\r\n this.id = this.conid = rowEvent.data.contactid;\r\n this.taskid = rowEvent.data.id;\r\n this.type = rowEvent.data.type;\r\n this.taskhistoryinfo = false;\r\n this.ShowScheduletask = true;\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.scheduleComp.initData(rowEvent.data.contactid, rowEvent.data.type, rowEvent.data.id);\r\n }, 500));\r\n var obj: AuditLogModel = { id: 0, type: 'TaskList', action: 'Task List Viewed', AccountOrContactId: rowEvent.data.contactid, AccountOrContact: rowEvent.data.type, documentid: rowEvent.data.id, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Task List Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n openNotesDialogAg(rowdata) {\r\n \r\n this.conid = rowdata.contactid;\r\n this.showNotesDialog = !this.showNotesDialog;\r\n if (this.showNotesDialog == true) {\r\n this.NotesDialogCss();\r\n }\r\n \r\n }\r\n NotesDialogCss() {\r\n $(setTimeout(function () {\r\n $('#showNotesDialog .dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n ngOnInit() {\r\n if (document.getElementById('subTab') != undefined && document.getElementById('subTab') != null)\r\n document.getElementById('subTab').style.display = 'none';\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n var obj: AuditLogModel = { id: 0, type: 'TaskList', action: 'Task List Viewed', AccountOrContactId: 0, AccountOrContact: '', documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Task List Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n this.applicationComponent.selectedbuttonText = \"Task lists\";\r\n this.initializeAgGrid();\r\n this.route.params.subscribe(params => {\r\n this.id = params['id'];\r\n this.taskid = params['taskid'];\r\n this.type = params['type'];\r\n this.term = params['term'];\r\n this.TaskData('Open Tasks', $(\"#userids\").val(), this.term);\r\n this.initializeAgGrid();\r\n });\r\n if (this.id == 0 && (this.type != null && this.type != \"null\")) {\r\n this.taskhistoryinfo = true;\r\n this.ShowScheduletask = false; \r\n } else\r\n if (this.type != null && this.type != \"null\") {\r\n this.taskhistoryinfo = false;\r\n this.ShowScheduletask = true;\r\n \r\n }\r\n else {\r\n this.GetAllaccesusersListbyuser();\r\n \r\n if (this.applicationComponent.selectedusers != '' || this.applicationComponent.selectedusers != null) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n })\r\n }\r\n else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n\r\n }\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Fields\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n searchPlaceholderText: 'Search Fields',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n this.TaskData('Open Tasks', $(\"#userids\").val(), this.term);\r\n }\r\n \r\n this.isViewInitialized = true;\r\n if (document.getElementById('TaskListTabs') != undefined && document.getElementById('TaskListTabs') != null)\r\n document.getElementById('TaskListTabs').style.display = 'block';\r\n\r\n \r\n }\r\n\r\n GetAllaccesusersListbyuser() {\r\n\r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n\r\n userListOutParamsBinding(outProps) {\r\n this.finalitems = outProps.finalitems;\r\n this.items = outProps.items;\r\n this.itemCount = outProps.itemsCount;\r\n this.selectedItems = outProps.selectedItems;\r\n }\r\n\r\n selectall(name) {\r\n if (name == \"view\") {\r\n if ($('#view_chkbox').is(\":checked\")) {\r\n $('.view').each(function () {\r\n this.checked = true;\r\n })\r\n } else {\r\n $('.view').each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n }\r\n if (name == \"add\") {\r\n if ($('#Add_chkbox').is(\":checked\")) {\r\n $('.add').each(function () {\r\n this.checked = true;\r\n })\r\n } else {\r\n $('.add').each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n }\r\n if (name == \"edit\") {\r\n if ($('#Edit_chkbox').is(\":checked\")) {\r\n $('.edit').each(function () {\r\n this.checked = true;\r\n })\r\n } else {\r\n $('.edit').each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n\r\n }\r\n\r\n }\r\n checkAccess(id, type) {\r\n var idCheck = '';\r\n if (type == 'add') {\r\n idCheck = 'mainadd_' + id\r\n } else if (type == 'edit') {\r\n idCheck = 'mainedit_' + id\r\n } else {\r\n idCheck = 'mainview_' + id\r\n }\r\n\r\n if ($('#' + idCheck).is(\":checked\")) {\r\n $('.' + id).each(function () {\r\n this.checked = true;\r\n })\r\n } else {\r\n $('.' + id).each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n }\r\n public clearcheckboxs() {\r\n $('.mainview').each(function () {\r\n this.checked = false;\r\n })\r\n $('.mainadd').each(function () {\r\n this.checked = false;\r\n })\r\n $('.mainedit').each(function () {\r\n this.checked = false;\r\n })\r\n $('.view').each(function () {\r\n this.checked = false;\r\n })\r\n $('.add').each(function () {\r\n this.checked = false;\r\n })\r\n $('.edit').each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n checkAccessSub(id, type) {\r\n var idCheck = '';\r\n if (type == 'add') {\r\n idCheck = 'add_' + id\r\n } else if (type == 'edit') {\r\n idCheck = 'edit_' + id\r\n } else {\r\n idCheck = 'view_' + id\r\n }\r\n\r\n if ($('#' + idCheck).is(\":checked\")) {\r\n $('.' + id).each(function () {\r\n this.checked = true;\r\n })\r\n } else {\r\n $('.' + id).each(function () {\r\n this.checked = false;\r\n })\r\n }\r\n }\r\n onItemSelect(item: any) {\r\n var ids = \"\";\r\n ids += item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = \"\";\r\n ids = item.id;\r\n var result = '';\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.alltaskhistory = [];\r\n $(\"#userids\").val('');\r\n\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.alltaskhistory = [];\r\n $(\"#userids\").val('');\r\n }\r\n\r\n Generate(val) {\r\n this.TaskData('All', val, this.term); \r\n } \r\n\r\n TaskData(val, userids, searchval) {\r\n if (this.currentuser.UserPrivilegeList != undefined) {\r\n var button = document.getElementById(val);\r\n var bname = (button == null) ? val : (button.title);\r\n var thisTab = this.currentuser.UserPrivilegeList.filter(p => p.resource == bname || p.resource.toLowerCase() == bname)[0];\r\n if (thisTab != undefined && thisTab.canview == false) {\r\n this.toastr.warning(\"You Do Not have Access to \" + bname + \" Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return false;\r\n }\r\n }\r\n userids = $(\"#userids\").val();\r\n this.tasktype = val;\r\n if (searchval == undefined) { searchval = null; }\r\n if (this.PageFrom == \"dashboard\") {\r\n this.leadservice.GetAllCustomerActivities(this.currentuser.id).then((customerActivities) => {\r\n this.alltaskhistory = customerActivities;\r\n });\r\n } else {\r\n this.leadservice.GetAllTaskHistory(val, userids, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, searchval, 'tasklist', this.currentuser.timezone).then((taskhistory) => {\r\n if (taskhistory.length > 0) { \r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"yyyy-MM-dd\");\r\n taskhistory.datecompleted = taskhistory.datecompleted == null ? \"\" : this.datePipe.transform(taskhistory.datecompleted, \"yyyy-MM-dd\");\r\n taskhistory.estcompleteddate = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"yyyy-MM-dd\"));\r\n }); \r\n this.alltaskhistory = taskhistory;\r\n if (!this.ShowScheduletask) {\r\n this.gridApi.paginationSetPageSize(Number(this.alltaskhistory.length));\r\n var data = [];\r\n var labelArr = [];\r\n this.Below30Days = taskhistory.filter((cust) => cust.NoOfDays <= 30).length;\r\n this.Betwn31_60Days = taskhistory.filter((cust) => cust.NoOfDays > 30 && cust.NoOfDays <= 60).length;\r\n this.Betwn61_90Days = taskhistory.filter((cust) => cust.NoOfDays > 60 && cust.NoOfDays <= 90).length;\r\n this.Betwn91_120Days = taskhistory.filter((cust) => cust.NoOfDays > 90 && cust.NoOfDays <= 120).length;\r\n this.Above120Days = taskhistory.filter((cust) => cust.NoOfDays > 120).length;\r\n this.Above151Days = taskhistory.filter((cust) => cust.NoOfDays > 150).length;\r\n\r\n this.totalPhoneCalls = taskhistory.filter((cust) => cust.taskcategory == \"Phone\").length;\r\n this.totalMeetings = taskhistory.filter((cust) => cust.taskcategory == \"Meeting\").length;\r\n this.totalToDos = taskhistory.filter((cust) => cust.taskcategory == \"To Do\").length;\r\n labelArr.push({ name: \"Phone Calls\", Total: this.totalPhoneCalls });\r\n labelArr.push({ name: \"Meeting\", Total: this.totalMeetings });\r\n labelArr.push({ name: \"To Do\", Total: this.totalToDos });\r\n this.customerpieChartLabels = labelArr;\r\n data.push(this.totalPhoneCalls);\r\n data.push(this.totalMeetings);\r\n data.push(this.totalToDos);\r\n this.pieChartData = [this.totalPhoneCalls, this.totalMeetings, this.totalToDos];\r\n\r\n if (this.alltaskhistory.length > 0 && this.alltaskhistory[0].islimitedSearch == true) {\r\n if (this.alltaskhistory[0].SearchVal) {\r\n this.applicationComponent.searchCriteria = this.alltaskhistory[0].SearchVal;\r\n //this.applicationComponent.Searchdiv = true;\r\n this.applicationComponent.searchstring = this.alltaskhistory[0].SearchVal.slice(0, -3);\r\n this.applicationComponent.searchCriteriadata = this.applicationComponent.searchstring.split(' / ');\r\n }\r\n this.applicationComponent.term = \"True\";//passing dummy data toshow delete button in search box\r\n this.applicationComponent.limitedSearch = true;\r\n $('#searchContact').val('');\r\n }\r\n else {\r\n\r\n //$('#searchContact').attr('style', 'height:30px;width:88%;border:none;border-radius:3px;')\r\n this.applicationComponent.term = \"\";\r\n $('#searchContact').val('');\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.limitedSearch = false;\r\n this.applicationComponent.searchCriteriadata = [];\r\n }\r\n if (this.gridOptions.columnApi != undefined) {\r\n this.gridOptions.columnApi.setColumnVisible('datecompleted', (val == 'Open') ? false : true);\r\n this.createColumnDefs(this.columnSelections);\r\n }\r\n } else {\r\n var taskid = Number(localStorage.getItem('openPastDueId')) > 0 ? Number(localStorage.getItem('openPastDueId')) : this.alltaskhistory[0].id;\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.id == taskid) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 300));\r\n }\r\n\r\n } else {\r\n this.alltaskhistory = taskhistory;\r\n if (this.alltaskhistory.length==0) {\r\n this.scheduleComp.HideAdnShow(0, \"\");\r\n }\r\n \r\n }\r\n });\r\n }\r\n \r\n this.UpdateSearchColumns(this.columnSelections);\r\n this.taskhistoryinfo = true;\r\n \r\n }\r\n\r\n FilterByDays(val) {\r\n\r\n $('.daysFilterCss').removeClass('daysFilterGreenCss');\r\n $('#' + val).addClass('daysFilterGreenCss');\r\n this.leadservice.GetAllTaskHistory('Open Tasks', $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, null, 'tasklist', this.currentuser.timezone).then((customers) => {\r\n switch (val) {\r\n case '30':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays <= 30);\r\n break;\r\n case '31-60':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays > 30 && cust.NoOfDays <= 60);\r\n break;\r\n case '61-90':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays > 60 && cust.NoOfDays <= 90);\r\n break;\r\n case '91-120':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays > 90 && cust.NoOfDays <= 120);\r\n break;\r\n case '120+':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays > 120 && cust.NoOfDays <= 150);\r\n break;\r\n case '151+':\r\n this.daysFilter = true;\r\n customers = customers.filter((cust) => cust.NoOfDays > 150);\r\n break;\r\n case 'DisplayAll':\r\n this.daysFilter = false;\r\n\r\n break;\r\n\r\n }\r\n\r\n customers.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"yyyy-MM-dd\");\r\n taskhistory.datecompleted = taskhistory.datecompleted == null ? \"\" : this.datePipe.transform(taskhistory.datecompleted, \"yyyy-MM-dd\");\r\n taskhistory.estcompleteddate = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"yyyy-MM-dd\"));\r\n });\r\n \r\n this.alltaskhistory = customers;\r\n this.gridApi.paginationSetPageSize(Number(this.alltaskhistory.length));\r\n var data = [];\r\n var labelArr = [];\r\n\r\n this.totalPhoneCalls = customers.filter((cust) => cust.taskcategory == \"Phone\").length;\r\n this.totalMeetings = customers.filter((cust) => cust.taskcategory == \"Meeting\").length;\r\n this.totalToDos = customers.filter((cust) => cust.taskcategory == \"To Do\").length;\r\n \r\n\r\n });\r\n }\r\n\r\n OpenNotes(rowEvent) {\r\n this.taskhistoryid = rowEvent.id;\r\n if (rowEvent.type == 'Contacts') {\r\n this.opprtunityservice.GetContactById(rowEvent.contactid).then(result => {\r\n this.opprtunityservice.GetByAccountId(result.accountid).then(result => {\r\n this.account = result;\r\n //if (this.account.city != null) {\r\n // var city = this.account.city;\r\n // var cityArray = city.split(' ');\r\n // var newcity = '';\r\n // for (var i = 0; i < cityArray.length; i++) {\r\n // if (newcity == '') {\r\n // newcity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n // } else {\r\n // newcity = newcity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n // }\r\n // }\r\n // this.account.city = newcity;\r\n //}\r\n //this.account.state = this.account.state.charAt(0).toUpperCase() + this.account.state.substr(1).toLowerCase();\r\n\r\n });\r\n var middleName = '';\r\n var title = '';\r\n if (result.middlename != null) {\r\n middleName = result.middlename;\r\n }\r\n if (result.title != null) {\r\n title = ',' + result.title;\r\n }\r\n this.contact.firstname = result.firstname + ' ' + middleName + ' ' + result.lastname + title;\r\n this.accountdiv = false;\r\n this.customerdiv = true;\r\n });\r\n }\r\n else if (rowEvent.type == 'Customer') {\r\n this.opprtunityservice.GetByAccountId(rowEvent.contactid).then(result => {\r\n this.account = result;\r\n //if (this.account.city != null) {\r\n\r\n // var city = this.account.city;\r\n // var cityArray = city.split(' ');\r\n // var newcity = '';\r\n // for (var i = 0; i < cityArray.length; i++) {\r\n // if (newcity == '') {\r\n // newcity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n // } else {\r\n // newcity = newcity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n // }\r\n // }\r\n // this.account.city = newcity;\r\n //}\r\n //this.account.state = this.account.state.charAt(0).toUpperCase() + this.account.state.substr(1).toLowerCase();\r\n\r\n this.contact.firstname = this.account.accountname;\r\n this.accountdiv = true;\r\n this.customerdiv = false;\r\n });\r\n }\r\n\r\n this.getTaskHistoryNotes(rowEvent.id, 'TaskHistory');\r\n this.showNotesDialog = !this.showNotesDialog;\r\n this.NotesDialogCss();\r\n $('.dialog').width('1000px');\r\n }\r\n getTaskHistoryNotes(id, type) {\r\n this.customerService.GetAllNotesList(this.currentuser.id, id, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n //this.initializeAgGridNotes();\r\n this.allnotes = taskhistory;\r\n this.notesitemCount = taskhistory.length;\r\n\r\n let windowHeight = $(window).height() - 160;\r\n //$(setTimeout(function () {\r\n // $('.dialog').height(windowHeight);\r\n //}, 100));\r\n });\r\n }\r\n\r\n notesreloadItems(notesparams) {\r\n if (this.notesitemResource != undefined) {\r\n this.notesitemResource.query(notesparams).then(notesitems => this.notesitems = notesitems);\r\n }\r\n }\r\n\r\n AddTask() {\r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Task List\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.warning(\"You Do Not have Access to this Tab – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n \r\n }\r\n }\r\n }\r\n //this.router.navigateByUrl(`/application/scheduletask/Customer/0/null`);\r\n }\r\n enterNotes() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'block';\r\n document.getElementById('saveNotesButtons').style.display = 'block';\r\n document.getElementById('divTable').style.display = 'none';\r\n }\r\n SaveNote() {\r\n this.notes.notedescription = this.notedescription.replace(/(]+?>|

      |<\\/p>|
      |<\\/br>| )/img, \"\");\r\n this.notes.notedescription = this.notes.notedescription.replace(/<[^>]*>/g, '');\r\n this.notes.type = \"TaskHistory\";\r\n this.notes.accountid = this.taskhistoryid;\r\n\r\n this.customerService.SaveNotes(this.notes).then(result => {\r\n this.getTaskHistoryNotes(this.notes.accountid, 'TaskHistory');\r\n this.CancelNote();\r\n });\r\n }\r\n CancelNote() {\r\n $('.fr-element').empty();\r\n document.getElementById('noteid').style.display = 'none';\r\n document.getElementById('saveNotesButtons').style.display = 'none';\r\n document.getElementById('divTable').style.display = 'block';\r\n }\r\n ResizeTable() {\r\n //this.aggridheight = ($(\"#gridheight\").height(((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height()))) - 85)) + 'px';\r\n this.aggridheight = (((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height())) - 45)) + 'px';\r\n }\r\n\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n let userids = $(\"#userids\").val();\r\n this.leadservice.GetAllTaskHistory(this.tasktype, userids, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, 'tasklist', this.currentuser.timezone).then((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"MM-dd-yyyy\");\r\n taskhistory.estcompleteddate = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\"));\r\n });\r\n this.alltaskhistory = taskhistory;\r\n this.gridApi.paginationSetPageSize(Number(this.alltaskhistory.length));\r\n if (this.alltaskhistory[0].islimitedSearch == true) {\r\n //$('#searchContact').attr('style', 'height:30px;width:88%;border:none;border-radius:3px;')\r\n if (this.alltaskhistory[0].SearchVal) {\r\n this.applicationComponent.searchCriteria = this.alltaskhistory[0].SearchVal;\r\n //this.applicationComponent.Searchdiv = true;\r\n this.applicationComponent.searchstring = this.alltaskhistory[0].SearchVal.slice(0, -3);\r\n this.applicationComponent.searchCriteriadata = this.applicationComponent.searchstring.split(' / ');\r\n\r\n }\r\n this.applicationComponent.term = \"True\";//passing dummy data toshow delete button in search box\r\n this.applicationComponent.limitedSearch = true;\r\n $('#searchContact').val('');\r\n }\r\n else {\r\n //$('#searchContact').attr('style', 'height:30px;width:88%;border:none;border-radius:3px;')\r\n this.applicationComponent.term = \"\";\r\n $('#searchContact').val('');\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.limitedSearch = false;\r\n this.applicationComponent.searchCriteriadata = [];\r\n }\r\n });\r\n this.saveConfiguration();\r\n }\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n TaskDataEventListener() {\r\n\r\n if (this.applicationComponent.isTaskDataLeadEventRaised) {\r\n this.taskid = null;\r\n if (this.applicationComponent.TaskDataVal == 'New') {\r\n this.taskhistoryinfo = false;\r\n this.ShowScheduletask = true;\r\n this.id = 0;\r\n //this.scheduleComp.reloadSched();\r\n this.AddTask();\r\n } else {\r\n\r\n this.TaskData(this.applicationComponent.TaskDataVal, this.applicationComponent.TaskDataUserids, null);\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id,1, 0, 0).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n\r\n this.dropdownList = Owner;\r\n })\r\n\r\n if (this.applicationComponent.selectedusers != '' || this.applicationComponent.selectedusers != null) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n })\r\n }\r\n else {\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n\r\n }\r\n }\r\n\r\n this.applicationComponent.isTaskDataLeadEventRaised = false;\r\n }\r\n return false;\r\n }\r\n\r\n GridRefresh(msg) {\r\n if (msg == \"Cancel\") {\r\n this.ShowScheduletask = false;\r\n } else {\r\n \r\n this.leadservice.GetAllTaskHistory(this.tasktype, $(\"#userids\").val(), (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, null, 'tasklist', this.currentuser.timezone).then((taskhistory) => {\r\n taskhistory.forEach(taskhistory => {\r\n taskhistory.datecreated = this.datePipe.transform(taskhistory.datecreated, \"MM-dd-yyyy\");\r\n taskhistory.estcompleteddate = ((taskhistory.estcompleteddate == \"0001-01-01\") ? \"\" : this.datePipe.transform(taskhistory.estcompleteddate, \"MM-dd-yyyy\"));\r\n });\r\n this.alltaskhistory = taskhistory;\r\n this.gridApi.paginationSetPageSize(Number(this.alltaskhistory.length));\r\n if (this.alltaskhistory[0].islimitedSearch == true) {\r\n //$('#searchContact').attr('style', 'height:30px;width:88%;border:none;border-radius:3px;')\r\n if (this.alltaskhistory[0].SearchVal) {\r\n this.applicationComponent.searchCriteria = this.alltaskhistory[0].SearchVal;\r\n //this.applicationComponent.Searchdiv = true;\r\n this.applicationComponent.searchstring = this.alltaskhistory[0].SearchVal.slice(0, -3);\r\n this.applicationComponent.searchCriteriadata = this.applicationComponent.searchstring.split(' / ');\r\n\r\n }\r\n this.applicationComponent.term = \"True\";//passing dummy data toshow delete button in search box\r\n this.applicationComponent.limitedSearch = true;\r\n $('#searchContact').val('');\r\n }\r\n else {\r\n //$('#searchContact').attr('style', 'height:30px;width:88%;border:none;border-radius:3px;')\r\n this.applicationComponent.term = \"\";\r\n $('#searchContact').val('');\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.limitedSearch = false;\r\n this.applicationComponent.searchCriteriadata = [];\r\n }\r\n });\r\n }\r\n }\r\n onReceiveMessage(msg) {\r\n if (msg != \"Task Added\") {\r\n this.applicationComponent.isTaskDataLeadEventRaised = true;\r\n var data = msg.split(\"|\");\r\n if (data[1] == 'Customer' || data[1] == 'Account') {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Customer/` + data[0] + '/null/null');\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/` + data[0] + '/null/null');\r\n }\r\n let selfObj1 = this;\r\n $(setTimeout(function () {\r\n //$('#addtask').attr('style', 'display: block; height: 100%;');\r\n //document.getElementById('taskhistoryinfo').style.display = 'none';\r\n selfObj1.taskid = data[0];\r\n selfObj1.type = data[1];\r\n \r\n }, 100));\r\n\r\n }\r\n else if (msg == \"Task Added\") {\r\n this.CloseTaskDiv();\r\n this.TaskData('Open Tasks', $(\"#userids\").val(), this.term); \r\n }\r\n else { \r\n var data = msg.split(\"|\");\r\n if (data[1] == 'Customer' || data[1] == 'Account') {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Customer/` + data[0] + '/null/null');\r\n }\r\n else {\r\n this.router.navigateByUrl(`/application/tasklistdashboard/Contacts/` + data[0] + '/null/null');\r\n }\r\n $(setTimeout(function () {\r\n //$('#addtask').attr('style', 'display: block; height: 100%;');\r\n //document.getElementById('taskhistoryinfo').style.display = 'none';\r\n this.taskid = data[0];\r\n this.type = data[1];\r\n }, 200));\r\n }\r\n\r\n }\r\n\r\n openDisplaynotes(params) {\r\n this.NotesDec = !this.NotesDec;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n $(setTimeout(function () {\r\n \r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtLongNoteDesc').css('overflow', 'auto');\r\n }\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(params.value);\r\n }, 1));\r\n }\r\n closeDetailsDialog() {\r\n this.NotesDec = false;\r\n }\r\n editNote() {\r\n $('#btnEditNote').hide();\r\n $('.box').addClass('editable');\r\n $('.box').attr('contenteditable', 'true');\r\n $(\"#txtLongNoteDesc\").css(\"background-color\", \"white\");\r\n $('.save').show();\r\n\r\n }\r\n expandTaskView(value) {\r\n if (value === 'Collapse') {\r\n this.TaskExpand = false; \r\n }\r\n else {\r\n this.TaskExpand = true;\r\n }\r\n }\r\n CloseTaskDiv() {\r\n this.ShowScheduletask = false;\r\n this.TaskExpand = false;\r\n }\r\n saveEditedNote() {\r\n\r\n let desc: string = $(\"#txtLongNoteDesc\").html();\r\n let selfObj = this;\r\n this.customerService.SaveEditedNote(this.editNoteId.toString(), desc).then((success) => {\r\n if (success) {\r\n selfObj.toastr.success(\"Note updated successfully.\", \"Note Updated\");\r\n selfObj.closeDetailsDialog();\r\n selfObj.getTaskHistoryNotes(selfObj.contactid, 'TaskHistory');\r\n } else {\r\n selfObj.toastr.success(\"There was some error saving note.\", \"Updated Failed\");\r\n }\r\n });\r\n }\r\n \r\n ExpandGrid(val) {\r\n\r\n this.ExpandTaskGrid = val;\r\n }\r\n\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n if (outProps.enableSearch) { this.EnableSearch = true; }\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize)); \r\n this.tasktype = outProps.secondDrpValue == undefined ? this.tasktype : outProps.secondDrpValue;\r\n\r\n if (outProps.calanderonoff == true) {\r\n this.startDateVal = (outProps.startDateVal != undefined) ? outProps.startDateVal : this.startDateVal;\r\n this.endDateVal = (outProps.endDateVal != undefined) ? outProps.endDateVal : this.endDateVal;\r\n }\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n if (!outProps.pageSizeChanged) {\r\n this.TaskData(this.tasktype, $(\"#userids\").val(), null);\r\n }\r\n } else {\r\n this.alltaskhistory = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n \r\n onCloseDialogEventReceived(val) {\r\n if (val == 'false') {\r\n this.notesshowDialog = false;\r\n this.isModal = false;\r\n }\r\n }\r\n\r\n ExpandPDF(val) {\r\n this.notesshowDialog = true;\r\n this.QuickViewDialogCss(val);\r\n this.DocExpandView = val;\r\n }\r\n QuickViewDialogCss(val) {\r\n if (val == true) { //expand\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n }\r\n\r\n onCellValueChanged($event) {\r\n \r\n }\r\n onFilterTextBoxChanged() {\r\n this.gridApi.setQuickFilter(\r\n (document.getElementById('filter-text-box') as HTMLInputElement).value\r\n );\r\n this.gridOptions.quickFilterText = (document.getElementById('filter-text-box') as HTMLInputElement).value;\r\n this.createColumnDefs(this.columnSelections);\r\n this.gridApi.redrawRows();\r\n }\r\n ClearSearch() {\r\n this.gridApi.setQuickFilter('');\r\n this.value = \"\";\r\n this.EnableSearch = false;\r\n this.gridOptions.quickFilterText = \"\";\r\n this.createColumnDefs(this.columnSelections);\r\n this.gridApi.redrawRows();\r\n }\r\n}\r\n\r\n","

      \r\n
      \r\n

      \r\n Ticket Configuration\r\n

      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n   Enable SalesXcrm Ticket System \r\n
      \r\n
      \r\n \r\n \r\n   Include Active Task Groups Only \r\n
      \r\n
      \r\n \r\n\r\n \r\n   Include Active Users Only \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n

      \r\n Zendesk Integration Configuration\r\n

      \r\n
      \r\n \r\n   Activate Zendesk Integration \r\n
      \r\n
      \r\n\r\n
      \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { TicketConfiguration } from 'src/app/models/ticketConfiguration';\r\nimport { Users } from 'src/app/models/users';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-ticket-configuration',\r\n templateUrl: './ticket-configuration.component.html',\r\n styleUrls: ['./ticket-configuration.component.css']\r\n})\r\nexport class TicketConfigurationComponent implements OnInit {\r\n public salesxcrmbtn = 0;\r\n public userBtn = 0;\r\n public taskGroupBtn = 0;\r\n public zendeskBtn = 0;\r\n\r\n ticketConfigurationChange = false;\r\n ticketUserListChange = false;\r\n ticketTaskGroupChange = false;\r\n tasksSelected: any[] = [];\r\n usersSelected: any[] = [];\r\n currentuser: any;\r\n taskgrouplist: Dropdowntype[] = [];\r\n tickConfig: TicketConfiguration = new TicketConfiguration();\r\n tickConfigList: any[];\r\n\r\n userList: Array = [];\r\n\r\n user: Users = new Users();\r\n TicketConfigurationHomePage: boolean = true;\r\n TicketConfigurationPage: boolean = true;\r\n ZendeskActivationPage: boolean = false;\r\n @Input() SubMenuType: string = null;\r\n constructor(private userservice: UserService, private applicationComponent: ApplicationComponent) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.GetTicketConfigSettings();\r\n\r\n this.AccessDiv(\"SalesXCRM Ticket\");\r\n \r\n }\r\n AccessDiv(val) {\r\n if (val == 'SalesXCRM Ticket') {\r\n this.TicketConfigurationHomePage = false;\r\n this.TicketConfigurationPage = true;\r\n this.ZendeskActivationPage = false\r\n }\r\n else if (val == 'Zendesk Integration') {\r\n this.TicketConfigurationHomePage = false;\r\n this.TicketConfigurationPage = false;\r\n this.ZendeskActivationPage = true\r\n }\r\n\r\n var obj: AuditLogModel = { id: 0, type: 'Ticket Configuration', action: 'Ticket Config - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Ticket Config - ' + val, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n\r\n\r\n BtnClick(val) {\r\n switch (val) {\r\n case 'EnableSalesXcrm': {\r\n this.salesxcrmbtn = 1;\r\n this.getUser('460,461,462');\r\n this.getTaskGroups('0,1', null);\r\n this.GetTicketConfigSettings();\r\n break;\r\n };\r\n case 'DisableSalesXcrm': {\r\n this.salesxcrmbtn = 0;\r\n this.taskGroupBtn = 0;\r\n this.userBtn = 0;\r\n break\r\n };\r\n case 'ActiveUser': {\r\n if (this.salesxcrmbtn == 1) {\r\n this.userBtn = 1;\r\n this.getUser('460');\r\n }\r\n break;\r\n };\r\n case 'AllUser': {\r\n if (this.salesxcrmbtn == 1) {\r\n this.userBtn = 0;\r\n this.getUser('460,461,462');\r\n }\r\n break;\r\n };\r\n case 'ActiveTaskGroup': {\r\n if (this.salesxcrmbtn == 1) {\r\n this.taskGroupBtn = 1;\r\n this.getTaskGroups('0', null);\r\n }\r\n break;\r\n };\r\n case 'AllTaskGroup': {\r\n if (this.salesxcrmbtn == 1) {\r\n this.taskGroupBtn = 0;\r\n this.getTaskGroups('0,1', null);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n this.ticketConfigurationChange = true;\r\n }\r\n\r\n\r\n getTaskGroups(status,val) {\r\n \r\n this.taskgrouplist = [];\r\n this.userservice.GetTaskgrouplist(status).then((taskgroups) => {\r\n this.taskgrouplist = taskgroups;\r\n this.GetTicketTaskGroups();\r\n });\r\n }\r\n\r\n getUser(UserStatusID) {\r\n this.userList = [];\r\n this.userservice.GetUsers(UserStatusID).then((user) => {\r\n this.userList = user;\r\n this.GetTicketUserLists();\r\n });\r\n \r\n }\r\n SaveTicket(val) {\r\n if (val == 'TicketSettings') {\r\n if (this.tickConfigList && this.tickConfigList[0].id > 0) {\r\n this.tickConfig.id = this.tickConfigList[0].id;\r\n }\r\n this.tickConfig.SalesXcrm = this.salesxcrmbtn;\r\n this.tickConfig.ActiveTask = this.taskGroupBtn;\r\n this.tickConfig.ActiveUser = this.userBtn;\r\n this.tickConfig.ActivateZendesk = this.zendeskBtn;\r\n this.tickConfig.UserId = this.currentuser.id;\r\n this.SaveTicketConfiguration();\r\n }\r\n else if (val == 'TaskGroupsSave') {\r\n //var tasksSelected = '';\r\n //this.tasksSelected.forEach(ele => {\r\n // tasksSelected += ele +\",\";\r\n //});\r\n\r\n if (this.tickConfigList && this.tickConfigList[0].id > 0) {\r\n this.tickConfig.id = this.tickConfigList[0].id;\r\n }\r\n this.tickConfig.SalesXcrm = this.tickConfigList[0].SalesXcrm;\r\n this.tickConfig.ActiveTask = this.tickConfigList[0].ActiveTask;\r\n this.tickConfig.ActiveUser = this.tickConfigList[0].ActiveUser;\r\n this.tickConfig.ActivateZendesk = this.tickConfigList[0].ActivateZendesk;\r\n\r\n this.tickConfig.SelectedTaskGroupID = this.tasksSelected.join(\",\");\r\n if (this.tickConfigList) {\r\n this.tickConfig.SelectedUserID = this.tickConfigList[0].SelectedUserID;\r\n }\r\n this.tickConfig.UserId = this.currentuser.id;\r\n this.SaveTicketTaskGroups();\r\n }\r\n else if (val == 'UserSave') {\r\n\r\n //var usersSelected = '';\r\n //this.usersSelected.forEach(ele => {\r\n // usersSelected += ele + \",\";\r\n //});\r\n\r\n if (this.tickConfigList && this.tickConfigList[0].id > 0) {\r\n this.tickConfig.id = this.tickConfigList[0].id;\r\n }\r\n this.tickConfig.SalesXcrm = this.tickConfigList[0].SalesXcrm;\r\n this.tickConfig.ActiveTask = this.tickConfigList[0].ActiveTask;\r\n this.tickConfig.ActiveUser = this.tickConfigList[0].ActiveUser;\r\n this.tickConfig.ActivateZendesk = this.tickConfigList[0].ActivateZendesk;\r\n if (this.tickConfigList) {\r\n this.tickConfig.SelectedTaskGroupID = this.tickConfigList[0].SelectedTaskGroupID;\r\n }\r\n this.tickConfig.SelectedUserID = this.usersSelected.join(\",\");\r\n this.tickConfig.UserId = this.currentuser.id;\r\n this.SaveTicketUserList();\r\n }\r\n \r\n \r\n }\r\n\r\n SaveTicketConfiguration() {\r\n this.userservice.SaveTicketConfigSettings(this.tickConfig).then((taskgroup) => {\r\n this.tickConfig = taskgroup;\r\n this.GetTicketConfigSettings();\r\n this.ticketConfigurationChange = false;\r\n });\r\n }\r\n\r\n SaveTicketTaskGroups() {\r\n this.userservice.SaveTicketTaskGroups(this.tickConfig).then((taskgroup) => {\r\n this.tickConfig = taskgroup;\r\n this.GetTicketConfigSettings();\r\n this.ticketTaskGroupChange = false;\r\n });\r\n }\r\n SaveTicketUserList() {\r\n this.userservice.SaveTicketUserList(this.tickConfig).then((taskgroup) => {\r\n this.tickConfig = taskgroup;\r\n this.GetTicketConfigSettings();\r\n this.ticketUserListChange = false;\r\n });\r\n }\r\n\r\n GetTicketConfigSettings() {\r\n this.userservice.GetTicketConfigSettings(this.currentuser.id).then((taskgroup) => {\r\n \r\n this.tickConfigList = taskgroup;\r\n this.salesxcrmbtn = this.tickConfigList[0].SalesXcrm;\r\n this.taskGroupBtn = this.tickConfigList[0].ActiveTask;\r\n this.userBtn = this.tickConfigList[0].ActiveUser;\r\n this.zendeskBtn = this.tickConfigList[0].ActivateZendesk;\r\n (this.taskGroupBtn == 0) ? this.getTaskGroups('0,1', this.tickConfigList[0]) : this.getTaskGroups('0', this.tickConfigList[0]);\r\n (this.userBtn == 0) ? this.getUser('460,461,462') : this.getUser('460');\r\n if (this.tickConfigList[0].SelectedTaskGroupID != null) {\r\n var tskSelected = this.tickConfigList[0].SelectedTaskGroupID;\r\n this.tasksSelected = tskSelected.split(\",\");\r\n var self = this;\r\n $(setTimeout(function () {\r\n self.tasksSelected.forEach(id => {\r\n $(\"#TG\" + id).prop('checked', true);\r\n });\r\n \r\n }, 100));\r\n }\r\n if (this.tickConfigList[0].SelectedUserID != null) {\r\n var usrSelected = this.tickConfigList[0].SelectedUserID;\r\n this.usersSelected = usrSelected.split(\",\");\r\n var sel = this;\r\n $(setTimeout(function () {\r\n sel.usersSelected.forEach(id => {\r\n $(\"#User\" + id).prop('checked', true);\r\n });\r\n }, 200));\r\n }\r\n\r\n \r\n \r\n });\r\n }\r\n\r\n\r\n GetTicketUserLists() {\r\n \r\n this.userservice.GetTicketUserLists(this.currentuser.id).then((taskgroup) => {\r\n this.tickConfigList = taskgroup;\r\n if (this.tickConfigList && this.tickConfigList[0].SelectedUserID != null) {\r\n var usersSelected = this.tickConfigList[0].SelectedUserID;\r\n this.usersSelected = usersSelected.split(\",\");\r\n var selfObj = this;\r\n\r\n $(setTimeout(function () {\r\n selfObj.usersSelected.forEach(id => {\r\n $(\"#User\" + id).prop('checked', true);\r\n });\r\n }, 200));\r\n }\r\n });\r\n \r\n }\r\n GetTicketTaskGroups() {\r\n \r\n this.userservice.GetTicketTaskGroups(this.currentuser.id).then((taskgroup) => {\r\n this.tickConfigList = taskgroup;\r\n\r\n if (this.tickConfigList[0].SelectedTaskGroupID != null) {\r\n var tasksSelected = this.tickConfigList[0].SelectedTaskGroupID;\r\n this.tasksSelected = tasksSelected.split(\",\");\r\n var selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.tasksSelected.forEach(id => {\r\n $(\"#TG\" + id).prop('checked', true);\r\n });\r\n\r\n }, 100));\r\n }\r\n });\r\n }\r\n \r\n selectedTasks(val) {\r\n \r\n if ($('#TG' + val).is(\":checked\")) {\r\n this.tasksSelected.push(val)\r\n } else {\r\n this.tasksSelected = this.tasksSelected.filter(p => p != val);\r\n }\r\n this.ticketTaskGroupChange = true;\r\n }\r\n selectedUsers(val) {\r\n \r\n if ($('#User' + val).is(\":checked\")) {\r\n this.usersSelected.push(val)\r\n } else {\r\n this.usersSelected = this.usersSelected.filter(p => p != val);\r\n }\r\n this.ticketUserListChange = true;\r\n }\r\n\r\n Cancelticket(Cancelbtn) {\r\n \r\n if (Cancelbtn == 'TicketSettings') {\r\n this.GetTicketConfigSettings();\r\n this.ticketConfigurationChange = false;\r\n } else if (Cancelbtn == 'TaskGroupsCancel') {\r\n this.getTaskGroups('0,1', null);\r\n this.ticketTaskGroupChange = false;\r\n } else if (Cancelbtn == 'UserCancel') {\r\n this.getUser('460,461,462');\r\n this.ticketUserListChange = false;\r\n }\r\n\r\n }\r\n\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n \r\n\r\n }\r\n\r\n}\r\n","
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n ---\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n\r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n {{selectedCCNamesArray[0]}} ({{selectedCCNamesArray.length}})\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \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 } from '@angular/core';\r\nimport { Tickets } from '../../../models/tickets';\r\nimport { Dropdowntype } from '../../../models/dropdowntype';\r\nimport { CustomerService } from '../../../services/customer.service';\r\nimport { TicketNotes } from '../../../models/TicketNotes';\r\nimport { UserService } from '../../../services/user.service';\r\nimport { Accounts } from '../../../models/accounts';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { ApplicationComponent } from '../../application.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'create-ticket',\r\n templateUrl: './create-ticket.component.html',\r\n styleUrls: ['./create-ticket.component.css']\r\n})\r\nexport class CreateTicketComponent implements OnInit {\r\n @Input() ContOrAccType;\r\n @Input() contactid; \r\n tickets: Tickets = new Tickets();\r\n contactList: Dropdowntype[] = [];\r\n selectedNames = '';\r\n selectedCCNames = '';\r\n currentuser: any;\r\n public context;\r\n public frameworkComponents;\r\n ticketNotes: TicketNotes = new TicketNotes();\r\n showCCToDiv = false; ticketTaskAssignTo: any; ticketUserAssignTo: any;\r\n showAssignToDiv = false;\r\n public account: Accounts = new Accounts();\r\n selectedCCNamesArray = []; selectedCCTaskListArray = []; selectedCCUserListArray = [];\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n openTicket: boolean = false;\r\n public ticketsgridOptions: GridOptions;\r\n public ticketscolumnDefs: any[];\r\n ticketslist: Array = [];\r\n public sideBar;\r\n constructor(private customerService: CustomerService, public applicationComponent: ApplicationComponent, private userservice: UserService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n ngOnInit(): void {\r\n if (this.ContOrAccType == 'Contact') {\r\n this.LoadAccountandContacts(this.contactid);\r\n } else if (this.ContOrAccType == 'Account' || this.ContOrAccType == 'Customer') {\r\n this.tickets.contactid = null;\r\n this.LoadAccountandContactsByAccountID(this.contactid)\r\n }\r\n this.tickets.UserName = this.currentuser.username;\r\n }\r\n OpenTicketDetails() {\r\n this.loadtickets();\r\n this.initializeAgGrid();\r\n this.sendMsgEvent.emit(\"OpenTicket\");\r\n this.openTicket = true; \r\n }\r\n\r\n loadtickets() {\r\n this.ticketslist = []; \r\n if (this.ContOrAccType == 'Contact') {\r\n this.customerService.GetTicketsListByContact(this.contactid, 'All').then((tickets) => {\r\n this.ticketslist = tickets;\r\n });\r\n } else {\r\n this.customerService.GetTicketsListByAccount(this.contactid, 'All').then((tickets) => {\r\n this.ticketslist = tickets;\r\n \r\n\r\n });\r\n }\r\n }\r\n HideTicket() { this.openTicket = false; this.sendMsgEvent.emit(\"HideTicket\"); }\r\n initializeAgGrid() {\r\n this.ticketsgridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: false, paginationPageSize: 1000,toolPanelSuppressPivotMode: false, toolPanelSuppressValues: false, rowSelection: 'single'\r\n };\r\n let columnSelections: string;\r\n \r\n this.createticketscolumnDefs(\"\");\r\n this.ticketsgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n // editdelete: EditdeleteComponent\r\n };\r\n\r\n }\r\n createticketscolumnDefs(columnSelections: string) {\r\n let selfObj = this; \r\n this.ticketscolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'ticketId', headerName: 'Ticket', hide: true },\r\n { field: 'createdDate', headerName: 'Created Date', hide: false },\r\n { field: 'contactname', headerName: 'Contact name', hide: false },\r\n { field: 'email', headerName: 'Email', hide: false },\r\n { field: 'UserName', headerName: 'User Name', hide: false },\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false },\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n var text = '';\r\n if (params.value == 1) {\r\n text = 'Open';\r\n }\r\n else {\r\n text = 'Closed'\r\n }\r\n eDiv.innerHTML = text;\r\n return eDiv;\r\n }\r\n },\r\n \r\n ];\r\n }\r\n\r\n LoadAccountandContactsByAccountID(accountid) {\r\n \r\n this.customerService.loadaccountdata(accountid).then(result => {\r\n this.account = result; \r\n this.tickets.accountName = this.account.accountname; \r\n this.customerService.GetAccountContactList(this.account.id).then((conatct) => {\r\n this.contactList = conatct;\r\n \r\n });\r\n });\r\n }\r\n loadcontactdatatoticket(contactid) {\r\n this.customerService.GetContactById(contactid).then(result => {\r\n if (result && result.title == null) {\r\n result.title = \"\";\r\n }\r\n if (result && result.firstname == null) {\r\n result.firstname = \"\";\r\n }\r\n if (result && result.middlename == null) {\r\n result.middlename = \"\";\r\n }\r\n if (result && result.lastname == null) {\r\n result.lastname = \"\";\r\n }\r\n\r\n this.contactid = result.id;\r\n this.tickets.contactid = result.id;\r\n this.tickets.accountName = result.accountname;\r\n this.tickets.businessphone = result.office;\r\n this.tickets.cellphone = result.cell;\r\n this.tickets.contactname = result.firstname + ' ' + result.middlename + ' ' + result.lastname + ' ' + result.title;\r\n this.tickets.email = result.email;\r\n this.tickets.UserID = result.ownerid;\r\n this.tickets.UserName = this.currentuser.username;\r\n \r\n });\r\n\r\n }\r\n LoadAccountandContacts(ContactId) {\r\n this.tickets.contactid = ContactId;\r\n this.customerService.GetContactById(ContactId).then(result => {\r\n if (result) {\r\n this.tickets.email = result.email;\r\n this.tickets.businessphone = result.office;\r\n this.tickets.cellphone = result.cell;\r\n this.customerService.loadaccountdata(result.accountid).then(result => {\r\n this.account = result; \r\n this.tickets.accountName = this.account.accountname;\r\n this.customerService.GetAccountContactList(this.account.id).then((conatct) => {\r\n this.contactList = conatct;\r\n });\r\n });\r\n }\r\n });\r\n }\r\n selectedCCUser(Value) {\r\n\r\n if ($('#UG' + Value.id).is(\":checked\")) {\r\n this.selectedCCUserListArray.push(Value);\r\n this.selectedCCNamesArray.push(Value.itemName);\r\n }\r\n else {\r\n this.selectedCCUserListArray = this.selectedCCUserListArray.filter(x => x.id !== Value.id);\r\n this.selectedCCNamesArray = this.selectedCCNamesArray.reduce(Value.itemName);\r\n }\r\n\r\n this.selectedCCNames = this.selectedCCNamesArray.join(\",\").toString();\r\n this.tickets.CCTo = this.selectedCCUserListArray.map(x => x.id).join(\",\").toString();\r\n }\r\n\r\n ShowAssignTo() {\r\n this.showAssignToDiv = true;\r\n this.showAssignToDivCss('AssignTo');\r\n this.GetTicketUserLists();\r\n this.getSelectedTaskGroups('0,1');\r\n }\r\n ClearAssignTo(val) {\r\n if (val == \"To\") {\r\n this.selectedNames = \"\";\r\n this.tickets.assignTicketToTask = null;\r\n this.tickets.assignTicketToUser = null;\r\n this.showAssignToDiv = false;\r\n } else {\r\n this.selectedCCNames = '';\r\n this.tickets.CCTo = null;\r\n this.tickets.CCToTask = null;\r\n this.showCCToDiv = false;\r\n this.selectedCCNamesArray = [];\r\n }\r\n\r\n }\r\n selectedTasks(Value) {\r\n this.selectedNames = '';\r\n this.tickets.assignTicketToTask = null;\r\n this.tickets.assignTicketToUser = null;\r\n if ($('#TG' + Value.id).is(\":checked\")) {\r\n this.selectedNames = Value.itemName;\r\n this.tickets.assignTicketToTask = Value.id;\r\n }\r\n else {\r\n this.selectedNames = '';\r\n this.tickets.assignTicketToTask = null;\r\n }\r\n }\r\n savetickets() {\r\n \r\n this.tickets.UserID = this.currentuser.id;\r\n this.tickets.TicketStatus = 1;\r\n this.customerService.addticket(this.tickets).then(result => {\r\n if (result != null) {\r\n this.tickets = result; \r\n this.saveNotes(this.tickets);\r\n this.sendMsgEvent.emit(\"Ticket Saved\");\r\n this.applicationComponent.pageViewed = '';\r\n }\r\n });\r\n }\r\n ClearTicket() { \r\n this.sendMsgEvent.emit(\"Clear\");\r\n this.applicationComponent.pageViewed = '';\r\n }\r\n ShowCCTo() {\r\n this.showCCToDiv = true;\r\n this.showAssignToDivCss('CCTo');\r\n this.GetTicketUserLists();\r\n this.getSelectedTaskGroups('0,1');\r\n }\r\n\r\n CloseAssignTo() {\r\n this.showAssignToDiv = false;\r\n this.showCCToDiv = false;\r\n }\r\n selectedCCTasks(Value) {\r\n if ($('#TG' + Value.id).is(\":checked\")) {\r\n this.selectedCCTaskListArray.push(Value);\r\n this.selectedCCNamesArray.push(Value.itemName);\r\n\r\n }\r\n else {\r\n this.selectedCCTaskListArray = this.selectedCCTaskListArray.filter(x => x.id !== Value.id)\r\n this.selectedCCNamesArray = this.selectedCCNamesArray.reduce(Value.itemName);\r\n\r\n }\r\n this.selectedCCNames = this.selectedCCNamesArray.join(\",\").toString();\r\n this.tickets.CCToTask = this.selectedCCTaskListArray.map(x => x.id).join(\",\").toString();\r\n }\r\n selectedUser(Value) {\r\n this.selectedNames = '';\r\n this.tickets.assignTicketToUser = null;\r\n this.tickets.assignTicketToTask = null;\r\n if ($('#UG' + Value.id).is(\":checked\")) {\r\n this.selectedNames = Value.itemName;\r\n this.tickets.assignTicketToUser = Value.id;\r\n }\r\n else {\r\n this.selectedNames = '';\r\n this.tickets.assignTicketToUser = null;\r\n }\r\n }\r\n showAssignToDivCss(val) {\r\n setTimeout(function () {\r\n $('#showAssignToDiv .dialog').attr('style', 'width: 30%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: hidden;height: 85%;left: 68%;top: 10%;padding: 0;');\r\n }, 4)\r\n\r\n setTimeout(function () {\r\n $('#showCCToDiv .dialog').attr('style', 'width: 30%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: hidden;height: 85%;left: 68%;top: 10%;padding: 0;');\r\n }, 4)\r\n }\r\n GetTicketUserLists() {\r\n this.userservice.GetTicketUserLists(this.currentuser.id).then((taskgroup) => {\r\n this.getSelectedUserList(taskgroup[0].SelectedUserID);\r\n });\r\n }\r\n getSelectedTaskGroups(status) {\r\n this.ticketTaskAssignTo = [];\r\n \r\n this.userservice.GetTaskgrouplist(status).then((taskgroups) => {\r\n this.ticketTaskAssignTo = taskgroups;\r\n });\r\n }\r\n getSelectedUserList(status) {\r\n this.ticketUserAssignTo = [];\r\n this.customerService.Getselectedusers(status).then((users) => {\r\n this.ticketUserAssignTo = users;\r\n });\r\n }\r\n saveNotes(tickets) {\r\n this.ticketNotes.NoteId = 0;\r\n this.ticketNotes.UserID = this.currentuser.id;\r\n this.ticketNotes.TicketId = tickets.ticketId;\r\n this.ticketNotes.Notes = this.tickets.descriptions;\r\n this.ticketNotes.NotesType = \"Ticket\";\r\n this.customerService.addticketNotes(this.ticketNotes).then(result => {\r\n \r\n })\r\n }\r\n}\r\n","
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      Special Notes
      \r\n
      \r\n {{specialNotes}}\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      Ticket Counts
      \r\n
      \r\n
      \r\n Open Tickets\r\n
      \r\n
      \r\n ({{this.applicationComponent.OpenTicketCount}})\r\n
      \r\n
      \r\n
      \r\n
      \r\n Pended Tickets\r\n
      \r\n
      \r\n ({{this.applicationComponent.PendedTicketCount}})\r\n
      \r\n
      \r\n
      \r\n
      \r\n Closed Tickets\r\n
      \r\n
      \r\n ({{this.applicationComponent.ClosedTicketCount}})\r\n
      \r\n
      \r\n
      \r\n
      \r\n On-Hold Tickets\r\n
      \r\n
      \r\n ({{this.applicationComponent.OnHoldTicketCount}})\r\n
      \r\n
      \r\n
      \r\n
      \r\n Deleted Tickets\r\n
      \r\n
      \r\n ({{this.applicationComponent.DeleteTicketCount}})\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Open Ticket Dates
      \r\n
      \r\n
      \r\n {{ticket.createdDate | date: 'MM-dd-yyyy (HH:mm a)'}} \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      On Hold Ticket Dates
      \r\n
      \r\n
      \r\n {{ticket.createdDate | date: 'MM-dd-yyyy (HH:mm a)'}}\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      Pended Ticket Dates
      \r\n
      \r\n
      \r\n {{ticket.createdDate | date: 'MM-dd-yyyy (HH:mm a)'}}\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n
      \r\n {{TicketDetails.createdDate}}
      \r\n {{TicketDetails.contactname}}
      \r\n {{TicketDetails.UserName}}
      \r\n {{TicketDetails.ticketId}}
      \r\n {{getTicketStatus(TicketDetails.TicketStatus)}}
      \r\n {{TicketDetails.subject}}
      \r\n {{TicketDetails.userList}}
      \r\n {{TicketDetails.CCToName}}{{TicketDetails.CCTotaskName}}
      \r\n
      \r\n {{Note.CreatedDate}}
      {{Note.username}}
      {{Note.Notes}}

      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n \r\n
      \r\n
      \r\n \r\n TICKETS/ACCOUNT DETAILS\r\n \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n Create Ticket\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n {{selectedCCNamesArray[0]}} ({{selectedCCNamesArray.length}})\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n\r\n\r\n
      \r\n

      \r\n
      \r\n
      Create New Ticket
      \r\n
      User Must Select Save or Cancel
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n","import { Component, OnInit, Input, ViewChild, Optional } from '@angular/core';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { Tickets } from '../../models/tickets';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { EditdeleteComponent } from '../editdelete/editdelete.component';\r\nimport { ContactsdashboardComponent } from '../../application/contacts/contactsdashboard/contactsdashboard.component';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { NotesrendererComponent } from '../notesrenderer/notesrenderer.component';\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { EditactivatecvComponent } from '../editactivatecv/editactivatecv.component';\r\nimport { TicketNotes } from 'src/app/models/TicketNotes';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { Viewaccount } from 'src/app/models/viewaccount';\r\nimport { Contacts } from 'src/app/models/contacts';\r\nimport { OpprtunitiesService } from 'src/app/services/opprtunities.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { DatePipe, Location } from '@angular/common';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'tickets',\r\n templateUrl: './tickets.component.html',\r\n styleUrls: ['./tickets.component.css']\r\n})\r\nexport class TicketsComponent implements OnInit {\r\n @Input()\r\n type: string;\r\n ticketslist: Array = [];\r\n Openticketslist: Array = [];\r\n Pendedticketslist: Array = [];\r\n Closedticketslist: Array = [];\r\n OnHoldticketslist: Array = [];\r\n Deletedticketslist: Array = [];\r\n duplicateticketslist: Array = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n tickets: Tickets = new Tickets();\r\n public ticketsgridOptions: GridOptions;\r\n public ticketscolumnDefs: any[];\r\n currentuser: any;\r\n source: string;\r\n public context;\r\n public frameworkComponents;\r\n public ticketView = true;\r\n contactid: number;\r\n ContOrAccType: string;\r\n tab: string = \"Search\";\r\n showAssignToDiv = false;\r\n showCCToDiv = false;\r\n ticketTaskAssignTo: any;\r\n ticketUserAssignTo: any;\r\n selectedUsersTasks = [];\r\n selectedTaskAssignTo = [];\r\n selectedUserAssignTo = [];\r\n selectedNames = '';\r\n selectedCCNames = '';\r\n selectedCCNamesArray = [];\r\n selectedCCTaskListArray = [];\r\n selectedCCUserListArray = [];\r\n ticketform: FormGroup;\r\n ticketNotes: TicketNotes = new TicketNotes();\r\n Filter: string = \"All Tasks Groups and Users\";\r\n sortOrder: string = \"None\";\r\n contactList: Dropdowntype[] = [];\r\n public contact: Contacts = new Contacts();\r\n public account: Accounts = new Accounts();\r\n viewaccount: Viewaccount = new Viewaccount();\r\n SortedContactType;\r\n SortedStatus;\r\n SelectedStatus;\r\n SelectedContactType;\r\n allContactsproviders: Contacts[];\r\n Contacttotal: Contacts[];\r\n allContacts: Contacts[];\r\n public gridOptions: GridOptions;\r\n itemCount = 0;\r\n public columnDefs: any[];\r\n showTicketsDetailsDialog: boolean = false;\r\n TicketDetails: Tickets = new Tickets();\r\n notesshowDialog: boolean = false;\r\n documentview: boolean = false;\r\n showDialog: boolean = false;\r\n openTicket: boolean = false;\r\n expanded: boolean = false;\r\n showAddEditAccountDialog: boolean = false;\r\n leadstatus;\r\n public sideBar;\r\n @ViewChild(ContactsdashboardComponent) contactComp;\r\n DeleteConfirmationPopup: boolean = false;\r\n CreateTicketDialog: boolean = false;\r\n CloseCreateNewWarning: boolean = false;\r\n deleteTcketid: any;\r\n contactStatus: any; specialNotes: string = \"\";\r\n constructor(private route: ActivatedRoute, private toastr: ToastrService, private customerService: CustomerService, private opprtunityservice: OpprtunitiesService, private location: Location, private router: Router,\r\n public applicationComponent: ApplicationComponent, private userservice: UserService)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\")); \r\n }\r\n\r\n ngOnInit() {\r\n this.initializeAgGrid();\r\n this.CreateTicketDialogCss();\r\n $('#showDetailsDialog').hide();\r\n this.source = this.type;\r\n this.applicationComponent.SearchSelectedItems = [];\r\n this.route.params.subscribe(params => {\r\n \r\n this.contactid = params['contactid'];\r\n localStorage.setItem('RhxContactVal', this.contactid.toString());\r\n this.ContOrAccType = params['ContOrAccType'];\r\n if (this.ContOrAccType == 'Contact') {\r\n this.LoadAccountandContacts(this.contactid);\r\n } else if (this.ContOrAccType == 'Account' || this.ContOrAccType == 'Customer') {\r\n this.tickets.contactid = null;\r\n this.LoadAccountandContactsByAccountID(this.contactid)\r\n }\r\n this.tickets.UserName = this.currentuser.username;\r\n this.tickets.priority = 0;\r\n this.loadtickets();\r\n });\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') < 0 || url.indexOf('contactsdashboard') < 0) {\r\n this.applicationComponent.pageViewed = \"CreateTicket\";\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#AddTickets_button\").addClass(\"activeButton\");\r\n } \r\n \r\n this.ticketform = new FormGroup({\r\n 'AssignTicketTo': new FormControl(this.selectedNames, Validators.required),\r\n 'Description': new FormControl(this.tickets.descriptions, Validators.required),\r\n 'priority': new FormControl(this.tickets.priority, Validators.required),\r\n 'subject': new FormControl(this.tickets.subject, Validators.required)\r\n });\r\n //this.applicationComponent.hideandShowSubtabs(false, true, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false);\r\n }\r\n initializeAgGrid() {\r\n this.ticketsgridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: false, paginationPageSize: 1000,toolPanelSuppressPivotMode: false, toolPanelSuppressValues: false, rowSelection: 'single'\r\n };\r\n let columnSelections: string;\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n },\r\n\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.createticketscolumnDefs(\"\");\r\n this.ticketsgridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = { \r\n editdelete: EditdeleteComponent\r\n };\r\n \r\n }\r\n closeDetailsDialog() {\r\n $('#showDetailsDialog').hide();\r\n }\r\n\r\n loadcontactdatatoticket(contactid) {\r\n this.customerService.GetContactById(contactid).then(result => {\r\n if (result && result.title == null) {\r\n result.title = \"\";\r\n }\r\n if (result && result.firstname == null) {\r\n result.firstname = \"\";\r\n }\r\n if (result && result.middlename == null) {\r\n result.middlename = \"\";\r\n }\r\n if (result && result.lastname == null) {\r\n result.lastname = \"\";\r\n }\r\n \r\n this.contactid = result.id;\r\n this.tickets.contactid = result.id;\r\n this.tickets.accountName = result.accountname;\r\n this.tickets.businessphone = result.office;\r\n this.tickets.cellphone = result.cell;\r\n this.tickets.contactname = result.firstname + ' ' + result.middlename + ' ' + result.lastname + ' ' + result.title ;\r\n this.tickets.email = result.email;\r\n this.tickets.UserID = result.ownerid;\r\n this.tickets.UserName = this.currentuser.username;\r\n if (this.ContOrAccType == 'contact') {\r\n this.contactComp.Loadcontactdata(contactid);\r\n }\r\n this.loadtickets();\r\n });\r\n \r\n }\r\n OpenTicketDetails() {\r\n this.openTicket = true;\r\n this.CreateTicketDialogCss();\r\n }\r\n HideTicket() { this.openTicket = false; this.CreateTicketDialogCss(); }\r\n LoadAccountandContacts(ContactId) {\r\n this.tickets.contactid = ContactId;\r\n this.customerService.GetContactById(ContactId).then(result => {\r\n if (result) {\r\n this.contact = result;\r\n this.tickets.email = result.email;\r\n \r\n this.tickets.businessphone = result.office;\r\n this.tickets.cellphone = result.cell;\r\n this.customerService.loadaccountdata(result.accountid).then(result => {\r\n this.account = result;\r\n this.specialNotes = this.account.specialNotes;\r\n this.tickets.accountName = this.account.accountname;\r\n this.Display(this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata);\r\n this.customerService.GetAccountContactList(this.account.id).then((conatct) => {\r\n this.contactList = conatct;\r\n \r\n });\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n LoadAccountandContactsByAccountID(accountid) {\r\n this.initializeAgGridAccount();\r\n this.customerService.loadaccountdata(accountid).then(result => {\r\n this.account = result;\r\n this.specialNotes = this.account.specialNotes;\r\n this.tickets.accountName = this.account.accountname;\r\n this.Display(this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata);\r\n this.GetAllProviderAndContactInfo(this.account.id);\r\n this.customerService.GetAccountContactList(this.account.id).then((conatct) => {\r\n this.contactList = conatct;\r\n this.contactList.forEach(p => {\r\n });\r\n });\r\n });\r\n }\r\n Display(accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata) {\r\n\r\n //var properCity = city.charAt(0).toUpperCase() + city.substr(1).toLowerCase();\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n\r\n }\r\n\r\n GetAllProviderAndContactInfo(accountid) {\r\n this.initializeAgGrid();\r\n this.customerService.GetAllContactproviderByAccount(accountid, this.currentuser.id).then((contacts) => {\r\n contacts.forEach(contacts => {\r\n //this.getTicketsData(contacts.id);\r\n });\r\n this.allContactsproviders = contacts;\r\n this.allContacts = contacts;\r\n var rew = Array.from(new Set(this.allContactsproviders.map(s => s.contacttype)))\r\n .map(contacttype => {\r\n return {\r\n Name: contacttype + \" (\" + this.allContactsproviders.filter(x => x.contacttype == contacttype).length + \")\",\r\n Value: contacttype\r\n }\r\n });\r\n this.SelectedContactType = \"All\";\r\n this.SortedStatus = [\r\n { id: 2, Value: 'Active & Inactive' + \" (\" + this.allContactsproviders.length + \")\" },\r\n { id: 1, Value: 'Active' + \" (\" + this.allContactsproviders.filter(x => x.Status == 1).length + \")\" },\r\n { id: 0, Value: 'Inactive' + \" (\" + this.allContactsproviders.filter(x => x.Status == 0).length + \")\" }\r\n\r\n ];\r\n this.SelectedStatus = 1;\r\n //this.ContactStatusFilter(this.SelectedStatus)\r\n\r\n this.SortedContactType = rew;\r\n\r\n this.itemCount = contacts.length;\r\n });\r\n //if (this.account.id == 0) {\r\n // this.GetCustomerNotes(accountid, 'Customer')\r\n //} else {\r\n // this.GetCustomerNotes(accountid, 'Customer')\r\n //}\r\n\r\n }\r\n\r\n initializeAgGridAccount() {\r\n this.gridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n },\r\n \r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.context = this;\r\n this.frameworkComponents = {\r\n notesrenderer: NotesrendererComponent,\r\n editdeletecv: EditdeletecvComponent,\r\n editactivatecv: EditactivatecvComponent\r\n };\r\n\r\n //this.createColumnDefs(\"\");\r\n\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 23).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n //this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n //this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n //this.colSelections = columnSelections;\r\n this.createColumnDefs(columnSelections);\r\n });\r\n\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n }\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleArray[0] == \"#\") {\r\n\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"notes\") {\r\n this.columnDefs.push({ field: 'notes', headerName: 'Notes', cellRenderer: 'notesrenderer', hide: false, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"actions\") {\r\n this.columnDefs.push({ field: 'actions', headerName: 'Actions', cellRenderer: isDeActive ? 'editactivatecv' : 'editdeletecv', hide: false, pinned: 'right', width: 80 });\r\n }\r\n else if (fieldHeaderVisibleArray[0] == \"owner\") {\r\n this.columnDefs.push({ field: 'owner', headerName: 'Owner', hide: true, suppressSorting: true, width: parseInt(fieldHeaderVisibleArray[3]) });\r\n } else if (fieldHeaderVisibleArray[0] == \"image\") {\r\n this.columnDefs.push({\r\n field: 'image', headerName: 'Image', hide: false, width: parseInt(fieldHeaderVisibleArray[3]), cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n //eDiv.innerHTML = '';\r\n\r\n if (params.data.photo != null) {\r\n eDiv.innerHTML = '';\r\n\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n //selfObj.openfile(params.data.photo);\r\n });\r\n }\r\n\r\n\r\n return eDiv;\r\n }\r\n });\r\n }\r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleArray[0],\r\n headerName: fieldHeaderVisibleArray[1],\r\n hide: fieldHeaderVisibleArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 32,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n { field: 'lastname', headerName: 'Last Name', hide: false, width: 120 },\r\n { field: 'firstname', headerName: 'First Name', hide: false, width: 120 },\r\n { field: 'middlename', headerName: 'Middle Name', hide: false, width: 120 },\r\n { field: 'title', headerName: 'Title', hide: false, width: 80 },\r\n {\r\n field: 'notes', headerName: 'Notes', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.style.textAlign = 'center';\r\n eDiv.style.alignContent = 'center';\r\n eDiv.innerHTML = \"Notes\";\r\n eDiv.addEventListener('click', function () {\r\n //selfObj.openNotesDialogAg(params.data.id);\r\n });\r\n return eDiv;\r\n }, hide: false, width: 80\r\n },\r\n {\r\n field: 'image', headerName: 'Image', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n if (params.data.photo != null) {\r\n eDiv.innerHTML = '';\r\n\r\n //eDiv.innerHTML = '';\r\n var eButton = eDiv.querySelectorAll('.btn-simple')[0];\r\n eButton.addEventListener('click', function () {\r\n //selfObj.openfile(params.data.photo);\r\n });\r\n }\r\n return eDiv;\r\n }\r\n },\r\n { field: 'speciality', headerName: 'Specialty', hide: false },\r\n { field: 'accountStatus', headerName: 'Account Status', hide: false },\r\n { field: 'DOB', headerName: 'DOB', hide: false, width: 80 },\r\n { field: 'zip', headerName: 'ZIP', hide: false, width: 80 },\r\n { field: 'accountname', headerName: 'Account Name', hide: false },\r\n { field: 'actions', headerName: 'Actions', cellRenderer: isDeActive ? 'editactivatecv' : 'editdeletecv', hide: false, pinned: 'right', width: 100 },\r\n { field: 'contacttype', headerName: 'Contact Type', hide: true }, //true starts here\r\n { field: 'suffix', headerName: 'Suffix', hide: true },\r\n { field: 'sex', headerName: 'Sex', hide: true },\r\n { field: 'subspeciality', headerName: 'Subspeciality', hide: true },\r\n { field: 'email', headerName: 'Email', hide: true },\r\n { field: 'address1', headerName: 'Address1', hide: true },\r\n { field: 'address2', headerName: 'Address2', hide: true },\r\n { field: 'city', headerName: 'City', hide: true },\r\n { field: 'state', headerName: 'State', hide: true },\r\n { field: 'cell', headerName: 'Cell', hide: true },\r\n { field: 'office', headerName: 'Office', hide: true },\r\n { field: 'homeaddress', headerName: 'Home Address', hide: true },\r\n { field: 'homecity', headerName: 'Home City', hide: true },\r\n { field: 'homestate', headerName: 'Home State', hide: true },\r\n { field: 'homezip', headerName: 'Home Zip', hide: true },\r\n { field: 'home', headerName: 'Home', hide: true },\r\n { field: 'college', headerName: 'College', hide: true },\r\n { field: 'collegegrandyear', headerName: 'C.G.year', hide: true },\r\n { field: 'medschool', headerName: 'Medschool', hide: true },\r\n { field: 'medschoolgrandyear', headerName: 'M.G.year', hide: true },\r\n { field: 'residency', headerName: 'Residency', hide: true },\r\n { field: 'residencygrandyear', headerName: 'R.G.year', hide: true },\r\n { field: 'fellowship', headerName: 'Fellowship', hide: true },\r\n { field: 'fellowshipgrandyear', headerName: 'F.G.year', hide: true },\r\n { field: 'owner', headerName: 'Owner', hide: false, suppressSorting: true },\r\n { field: 'created', headerName: 'Created', hide: true }\r\n ];\r\n }\r\n }\r\n rowClickAgGridAccount(rowEvent) {\r\n if (rowEvent.node.selected && rowEvent.node.selected === true) {\r\n this.loadcontactdatatoticket(rowEvent.data.id);\r\n }\r\n \r\n }\r\n selectionTicketChanged(rowEvent) {\r\n var rowCount = rowEvent.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (rowEvent.api.getSelectedNodes()[0].data) {\r\n this.showTicketsDetailsDialog = true;\r\n this.TicketDetails = rowEvent.api.getSelectedNodes()[0].data;\r\n this.loadcontactdatatoticket(rowEvent.api.getSelectedNodes()[0].data.id)\r\n }\r\n } else {\r\n //this.showActivityDetailsDialog = false;\r\n //this.taskhistory = null;\r\n }\r\n\r\n }\r\n ContactTypeFilter(val) {\r\n if (val == 'All') {\r\n this.Contacttotal = this.allContacts;\r\n if (this.SelectedStatus != 2) {\r\n this.allContactsproviders = this.allContacts.filter(x => x.Status == this.SelectedStatus);\r\n } else {\r\n this.allContactsproviders = this.allContacts;\r\n }\r\n } else {\r\n this.Contacttotal = this.allContacts.filter(x => x.contacttype == val);\r\n if (this.SelectedStatus != 2) {\r\n this.allContactsproviders = this.allContacts.filter(x => x.contacttype == val && x.Status == this.SelectedStatus);\r\n }\r\n else {\r\n this.allContactsproviders = this.allContacts.filter(x => x.contacttype == val);\r\n }\r\n\r\n }\r\n this.SortedStatus = [\r\n { id: 2, Value: 'Active & Inactive' + \" (\" + this.Contacttotal.length + \")\" },\r\n { id: 1, Value: 'Active' + \" (\" + this.Contacttotal.filter(x => x.Status == 1).length + \")\" },\r\n { id: 0, Value: 'Inactive' + \" (\" + this.Contacttotal.filter(x => x.Status == 0).length + \")\" }\r\n\r\n ];\r\n\r\n }\r\n ContactStatusFilter(val) {\r\n if (val == 2) {\r\n if (this.SelectedContactType == 'All')\r\n this.allContactsproviders = this.allContacts;\r\n else {\r\n this.allContactsproviders = this.allContacts.filter(x => x.contacttype == this.SelectedContactType);\r\n }\r\n } else {\r\n if (this.SelectedContactType != 'All') {\r\n this.allContactsproviders = this.allContacts.filter(x => x.Status == val && x.contacttype == this.SelectedContactType);\r\n }\r\n else {\r\n this.allContactsproviders = this.allContacts.filter(x => x.Status == val);\r\n }\r\n\r\n }\r\n //this.SelectedContactType = \"All\";\r\n }\r\n editRowAg(rowdata) {\r\n }\r\n deleteRowAg(rowdata) {\r\n this.customerService.DeleteTicket(rowdata.Id).then((user) => {\r\n this.loadtickets();\r\n });\r\n }\r\n delete(id) {\r\n this.DeleteConfirmationPopup=true;\r\n this.deleteTcketid = id;\r\n setTimeout(function () {\r\n $('#DeleteConfirmationPopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4);\r\n }\r\n ReceiveDeleteevent(msg) {\r\n if (msg == \"Ok\") {\r\n this.customerService.DeleteTicket(this.deleteTcketid).then((user) => {\r\n this.loadtickets();\r\n });\r\n }\r\n this.DeleteConfirmationPopup = false; \r\n this.showTicketsDetailsDialog = false; \r\n }\r\n rowClickAgGrid(rowEvent) {\r\n $('#showDetailsDialog').show();\r\n var gridOffset = $(\"#taskGrid\").offset();\r\n $('#showDetailsDialog').css('top', gridOffset.top);\r\n $('#showDetailsDialog').css('height', '44%');\r\n $('#showDetailsDialog').css('left', '74%');\r\n\r\n $('#showDetailsDialog').css('border-radius', '4px');\r\n $('#showDetailsDialog').css('border', '3px solid');\r\n $('#showDetailsDialog').show();\r\n $('#txtLongNoteDesc').empty();\r\n $('#txtLongNoteDesc').append(rowEvent.data.description);\r\n }\r\n createticketscolumnDefs(columnSelections: string) {\r\n let selfObj = this; \r\n this.ticketscolumnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'ticketId', headerName: 'Ticket', hide: true },\r\n { field: 'createdDate', headerName: 'Created Date', hide: false },\r\n { field: 'contactname', headerName: 'Contact name', hide: false },\r\n { field: 'email', headerName: 'Email', hide: false },\r\n { field: 'UserName', headerName: 'User Name', hide: false },\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false },\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n var text = '';\r\n if (params.value == 1) {\r\n text = 'Open';\r\n }\r\n else {\r\n text = 'Closed'\r\n }\r\n eDiv.innerHTML = text;\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'actions', width:50, headerName: 'Actions', cellRenderer(params) {\r\n\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.delete(params.data.ticketId);\r\n });\r\n return eDiv;\r\n\r\n },\r\n hide: false, pinned: 'right'\r\n }\r\n ];\r\n\r\n }\r\n savetickets() {\r\n this.tickets.UserID = this.currentuser.id;\r\n this.tickets.TicketStatus = 1;\r\n this.customerService.addticket(this.tickets).then(result => {\r\n if (result != null) {\r\n this.tickets = result;\r\n this.saveNotes(this.tickets);\r\n \r\n }\r\n });\r\n }\r\n\r\n saveNotes(tickets) {\r\n this.ticketNotes.NoteId = 0;\r\n this.ticketNotes.UserID = this.currentuser.id;\r\n this.ticketNotes.TicketId = tickets.ticketId;\r\n this.ticketNotes.Notes = this.tickets.descriptions;\r\n this.ticketNotes.NotesType = \"Ticket\";\r\n this.customerService.addticketNotes(this.ticketNotes).then(result => {\r\n let that = this;\r\n setTimeout(function () {\r\n that.applicationComponent.ticketcreateurl = ''; \r\n that.applicationComponent.activateMainButtons('tickets');\r\n that.applicationComponent.ExpandSelectedMenu('tickets');\r\n that.router.navigateByUrl(`/application/zendeskhome/0/Open Tickets`);\r\n }, 500)\r\n this.toastr.success(\"Ticket saved successfully.\", \"Ticket Saved\", { timeOut: 600 });\r\n })\r\n }\r\n\r\n loadtickets() {\r\n this.ticketslist = [];\r\n this.duplicateticketslist = [];\r\n if (this.ContOrAccType == 'Contact') {\r\n this.customerService.GetTicketsListByContact(this.contactid, 'All').then((tickets) => {\r\n this.applicationComponent.OpenTicketCount = tickets.filter(p => p.TicketStatus == 1).length;\r\n this.Openticketslist = tickets.filter(p => p.TicketStatus == 1);\r\n this.applicationComponent.OpenTicketCountLoginUser = tickets.filter(p => p.TicketStatus && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id)).length;\r\n this.applicationComponent.OnHoldTicketCount = tickets.filter(p => p.TicketStatus == 2).length;\r\n this.OnHoldticketslist = tickets.filter(p => p.TicketStatus == 2);\r\n this.applicationComponent.PendedTicketCount = tickets.filter(p => p.TicketStatus == 3).length;\r\n this.Pendedticketslist = tickets.filter(p => p.TicketStatus == 3);\r\n this.applicationComponent.ClosedTicketCount = tickets.filter(p => p.TicketStatus == 4).length + tickets.filter(p => p.TicketStatus == 5).length;;\r\n //this.applicationComponent.ClosedTicketCount += tickets.filter(p => p.TicketStatus == 5).length;\r\n this.applicationComponent.AllTicketCount = tickets.length;\r\n this.applicationComponent.UnReadOpenTicketCount = tickets.filter(p => p.readstatus == 0 && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id)).length;\r\n\r\n });\r\n } else {\r\n this.customerService.GetTicketsListByAccount(this.contactid, 'All').then((tickets) => {\r\n this.ticketslist = tickets;\r\n this.applicationComponent.OpenTicketCount = tickets.filter(p => p.TicketStatus == 1).length;\r\n this.Openticketslist = tickets.filter(p => p.TicketStatus == 1);\r\n this.applicationComponent.OpenTicketCountLoginUser = tickets.filter(p => p.TicketStatus && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id)).length;\r\n this.applicationComponent.OnHoldTicketCount = tickets.filter(p => p.TicketStatus == 2).length;\r\n this.OnHoldticketslist = tickets.filter(p => p.TicketStatus == 2);\r\n this.applicationComponent.PendedTicketCount = tickets.filter(p => p.TicketStatus == 3).length;\r\n this.Pendedticketslist = tickets.filter(p => p.TicketStatus == 3);\r\n this.applicationComponent.ClosedTicketCount = tickets.filter(p => p.TicketStatus == 4).length + tickets.filter(p => p.TicketStatus == 5).length;;\r\n this.applicationComponent.AllTicketCount = tickets.length;\r\n this.applicationComponent.UnReadOpenTicketCount = tickets.filter(p => p.readstatus == 0 && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id)).length;\r\n\r\n });\r\n }\r\n }\r\n\r\n //GetAllTicketsForCountUpdate(filter, sortOrder) { \r\n // this.applicationComponent.ClosedTicketCount = 0;\r\n // this.customerService.GetTicketsList('All Tickets', filter, this.currentuser.id, sortOrder, false, null).then((tickets) => {\r\n // alert(\"2\" + this.applicationComponent.OpenTicketCount);\r\n // this.applicationComponent.OpenTicketCount = tickets.filter(p => p.TicketStatus == 1).length;\r\n // this.applicationComponent.OpenTicketCountLoginUser = tickets.filter(p => p.TicketStatus && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id)).length;\r\n // this.applicationComponent.OnHoldTicketCount = tickets.filter(p => p.TicketStatus == 2).length;\r\n // this.applicationComponent.PendedTicketCount = tickets.filter(p => p.TicketStatus == 3).length;\r\n // this.applicationComponent.ClosedTicketCount += tickets.filter(p => p.TicketStatus == 4).length;\r\n // this.applicationComponent.ClosedTicketCount += tickets.filter(p => p.TicketStatus == 5).length;\r\n // this.applicationComponent.AllTicketCount = tickets.length;\r\n // this.applicationComponent.UnReadOpenTicketCount = tickets.filter(p => p.readstatus == 0 && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id)).length;\r\n // });\r\n\r\n //}\r\n onEventReceived(msg) {\r\n \r\n this.ticketView = false;\r\n this.tab = 'tickets';\r\n }\r\n\r\n ShowAssignTo() {\r\n this.showAssignToDiv = true;\r\n this.showAssignToDivCss('AssignTo');\r\n this.GetTicketUserLists();\r\n this.getSelectedTaskGroups('0,1');\r\n }\r\n showAssignToDivCss(val) {\r\n setTimeout(function () {\r\n $('#showAssignToDiv .dialog').attr('style', 'width: 30%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: hidden;height: 85%;left: 68%;top: 10%;padding: 0;');\r\n }, 4)\r\n\r\n setTimeout(function () {\r\n $('#showCCToDiv .dialog').attr('style', 'width: 30%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: hidden;height: 85%;left: 68%;top: 10%;padding: 0;');\r\n }, 4)\r\n }\r\n ShowCCTo() {\r\n this.showCCToDiv = true;\r\n this.showAssignToDivCss('CCTo');\r\n this.GetTicketUserLists();\r\n this.getSelectedTaskGroups('0,1');\r\n }\r\n CloseAssignTo() {\r\n this.showAssignToDiv = false;\r\n this.showCCToDiv = false;\r\n }\r\n ClearAssignTo(val) {\r\n if (val == \"To\") {\r\n this.selectedNames = \"\";\r\n this.tickets.assignTicketToTask = null;\r\n this.tickets.assignTicketToUser = null;\r\n this.showAssignToDiv = false;\r\n } else {\r\n this.selectedCCNames = '';\r\n this.tickets.CCTo = null;\r\n this.tickets.CCToTask = null;\r\n this.showCCToDiv = false;\r\n this.selectedCCNamesArray = [];\r\n }\r\n \r\n }\r\n\r\n GetTicketUserLists() {\r\n this.userservice.GetTicketUserLists(this.currentuser.id).then((taskgroup) => {\r\n this.getSelectedUserList(taskgroup[0].SelectedUserID);\r\n });\r\n }\r\n getSelectedTaskGroups(status) {\r\n this.ticketTaskAssignTo = [];\r\n //this.userservice.GetSelectedTaskgroups(status).then((taskgroups) => {\r\n // this.ticketTaskAssignTo = taskgroups;\r\n //}); //this is for showing selected tasks under ticket Config\r\n\r\n this.userservice.GetTaskgrouplist(status).then((taskgroups) => {\r\n this.ticketTaskAssignTo = taskgroups;\r\n });\r\n }\r\n getSelectedUserList(status) {\r\n this.ticketUserAssignTo = [];\r\n this.customerService.Getselectedusers(status).then((users) => {\r\n this.ticketUserAssignTo = users;\r\n });\r\n }\r\n selectedTasks(Value) { \r\n this.selectedNames = '';\r\n this.tickets.assignTicketToTask = null;\r\n this.tickets.assignTicketToUser = null;\r\n if ($('#TG' + Value.id).is(\":checked\")) {\r\n this.selectedNames = Value.itemName;\r\n this.tickets.assignTicketToTask = Value.id;\r\n }\r\n else {\r\n this.selectedNames = '';\r\n this.tickets.assignTicketToTask = null;\r\n }\r\n }\r\n\r\n selectedUser(Value) {\r\n this.selectedNames = '';\r\n this.tickets.assignTicketToUser = null;\r\n this.tickets.assignTicketToTask = null;\r\n if ($('#UG' + Value.id).is(\":checked\")) {\r\n this.selectedNames = Value.itemName;\r\n this.tickets.assignTicketToUser = Value.id;\r\n }\r\n else {\r\n this.selectedNames = '';\r\n this.tickets.assignTicketToUser = null;\r\n }\r\n }\r\n\r\n selectedCCTasks(Value) {\r\n \r\n if ($('#TG' + Value.id).is(\":checked\")) {\r\n this.selectedCCTaskListArray.push(Value);\r\n this.selectedCCNamesArray.push(Value.itemName);\r\n \r\n }\r\n else {\r\n this.selectedCCTaskListArray = this.selectedCCTaskListArray.filter(x => x.id !== Value.id)\r\n this.selectedCCNamesArray = this.selectedCCNamesArray.reduce(Value.itemName);\r\n \r\n }\r\n this.selectedCCNames = this.selectedCCNamesArray.join(\",\").toString();\r\n this.tickets.CCToTask = this.selectedCCTaskListArray.map(x => x.id).join(\",\").toString();\r\n }\r\n\r\n selectedCCUser(Value) {\r\n \r\n if ($('#UG' + Value.id).is(\":checked\")) {\r\n this.selectedCCUserListArray.push(Value);\r\n this.selectedCCNamesArray.push(Value.itemName);\r\n }\r\n else {\r\n this.selectedCCUserListArray = this.selectedCCUserListArray.filter(x => x.id !== Value.id);\r\n this.selectedCCNamesArray = this.selectedCCNamesArray.reduce(Value.itemName);\r\n }\r\n\r\n this.selectedCCNames = this.selectedCCNamesArray.join(\",\").toString();\r\n this.tickets.CCTo = this.selectedCCUserListArray.map(x => x.id).join(\",\").toString();\r\n }\r\n\r\n\r\n ClearTicket() {\r\n $(\"#ticketsMainMenu\").removeClass(\"activeButton\");\r\n $(\"#contactMainMenu\").addClass(\"activeButton\");\r\n this.location.back();\r\n \r\n }\r\n\r\n EditAccount() {\r\n this.showAddEditAccountDialog = true;\r\n this.showAddEditAccountCss();\r\n }\r\n\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n \r\n }, 4)\r\n }\r\n\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n this.showAddEditAccountDialog = false;\r\n this.LoadAccountandContactsByAccountID(this.contactid);\r\n }\r\n }\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n closeTicketDialog(val) {\r\n if (val == 'Ticket') {\r\n this.showTicketsDetailsDialog = false;\r\n }\r\n }\r\n\r\n getTicketStatus(val) {\r\n let status = '';\r\n switch (val) {\r\n case 1: {\r\n status = 'Open';\r\n break;\r\n }\r\n case 2: {\r\n status = 'On-Hold';\r\n break;\r\n }\r\n case 3: {\r\n status = 'Pended';\r\n break;\r\n }\r\n case 4: {\r\n status = 'Complete';\r\n break;\r\n }\r\n case 5: {\r\n status = 'Not-Completed';\r\n break;\r\n }\r\n case 6: {\r\n status = 'Deleted';\r\n break;\r\n }\r\n }\r\n\r\n return status;\r\n }\r\n CreateTicketDialogCss() {\r\n this.CreateTicketDialog = true;\r\n let selfObj = this;\r\n setTimeout(function () {\r\n if (selfObj.openTicket) {\r\n $('#CreateTicketDialog .dialog').attr('style', 'width: 93%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;height: 90%;left: 10%;padding: 0 0 0 0;');\r\n } else {\r\n $('#CreateTicketDialog .dialog').attr('style', 'width: 30%;padding-bottom: 0px;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;height: 90%;left: 68%;padding: 0 0 0 0;');\r\n }\r\n }, 4)\r\n }\r\n\r\n \r\n CloseCreateTicket() {\r\n\r\n if (this.tickets.ticketId == null || this.tickets.ticketId == 0 || this.tickets.ticketId == undefined) {\r\n this.CloseCreateNewWarning = true;\r\n setTimeout(function () {\r\n $('#CloseCreateNewWarning .dialog').attr('style', 'width: 29%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n }\r\n \r\n }\r\n}\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { Messaging } from '../../models/messaging';\r\nimport { MessagingService } from '../../services/messaging.service';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Column } from 'ag-grid';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'unread-messages',\r\n templateUrl: './unread-messages.component.html',\r\n styleUrls: ['./unread-messages.component.css']\r\n})\r\nexport class UnreadMessagesComponent implements OnInit {\r\n public messagegridOptions: GridOptions;\r\n divHeight = (screen.height) * 0.19888889;\r\n public messagecolumnDefs: any[];\r\n allMessages: Messaging[];\r\n currentuser: any;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n selectedItems = [];\r\n colSelections: string;\r\n constructor(private router: Router, public applicationComponent: ApplicationComponent, private messagingservice: MessagingService, private opprtunityservice: OpprtunitiesService) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeAgGrid();\r\n this.getallmessages(this.currentuser.id)\r\n\r\n\r\n }\r\n initializeAgGrid() { \r\n this.messagegridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, 49).then((config) => {\r\n\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.messagegridOptions.api.paginationSetPageSize(config.maxlimit);\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.createMessageColumnDefs(columnSelections);\r\n });\r\n \r\n }\r\n expandDiv() {\r\n \r\n\r\n if ($('#expandid').html() =='') {\r\n $('#expandid').html('');\r\n this.sendMsgEvent.emit(\"collapse\");\r\n } else {\r\n $('#expandid').html('');\r\n this.sendMsgEvent.emit(\"Expand\");\r\n }\r\n }\r\n createMessageColumnDefs(columnSelections: string) {\r\n let columnSelectionsArray: string[] = [];\r\n let selfObj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n this.messagecolumnDefs = [];\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n this.messagecolumnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n\r\n }\r\n } else {\r\n\r\n this.messagecolumnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false\r\n },\r\n { field: 'date', headerName: 'Date', hide: false, aggFunc: 'first', width: 90 },\r\n { field: 'fromuser', headerName: 'From', hide: false, aggFunc: 'first', width: 120 },\r\n { field: 'subject', headerName: 'Subject', hide: false, aggFunc: 'first' }\r\n\r\n ];\r\n }\r\n\r\n }\r\n rowClickAgGrid(rowEvent) {\r\n if (rowEvent.node.selected) {\r\n this.sendMsgEvent.emit(rowEvent.data.id);\r\n }\r\n else {\r\n this.sendMsgEvent.emit('0');\r\n }\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.router.navigateByUrl(`/application/messaging/` + rowEvent.data.id);\r\n }\r\n public getallmessages(userid) {\r\n if (userid != null) { \r\n this.messagingservice.Getallmessages(this.currentuser.id, 0, this.currentuser.id, this.applicationComponent.startDateVal, this.applicationComponent.endDateVal, 1, 100).then((msg) => {\r\n //this.messagingservice.Getallmessages(userid, 0, this.currentuser.id, \"undefined\", \"undefined\", 1, 100).then((msg) => {\r\n if (msg != null) {\r\n msg.forEach(msg => {\r\n msg.message = this.htmlToPlaintext(msg.message)\r\n msg.date = this.datePipe.transform(msg.date, \"MM-dd-yyyy\");\r\n });\r\n this.initializeAgGrid();\r\n let unreadmsgs: any = msg;\r\n unreadmsgs = msg.filter((cust) => cust.readstatus == 0);\r\n this.allMessages = unreadmsgs;\r\n\r\n this.applicationComponent.inboxmessagecount = this.allMessages.length;\r\n if (this.allMessages.length > 0) {\r\n this.sendMsgEvent.emit(\"Load\" + this.allMessages.length.toString());\r\n }\r\n }\r\n \r\n });\r\n } else\r\n {\r\n this.allMessages = [];\r\n this.applicationComponent.inboxmessagecount = 0;\r\n }\r\n }\r\n public htmlToPlaintext(text) {\r\n return text ? String(text).replace(/<[^>]+>/gm, '') : '';\r\n }\r\n\r\n columnVisible(event) {\r\n this.saveRHXConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveRHXConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveRHXConfiguration();\r\n }\r\n InternalMessageClicked() {\r\n this.router.navigateByUrl(`/application/messaging/`);\r\n }\r\n\r\n saveRHXConfiguration() {\r\n let allCols: Column[] = this.messagegridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n //if (this.pageSize == \"\")\r\n config.maxlimit = 100;\r\n //else\r\n // config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 49;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n\r\n }\r\n}\r\n","
      \r\n \r\n
      \r\n\r\n \r\n\r\n \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \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, ViewChild } from '@angular/core';\r\nimport { Document } from '../../models/document';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport { CustomerService } from '../../services/customer.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport * as moment from 'moment'\r\nimport { PageComponent } from '../page/page.component';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { AgGridAngular } from 'ag-grid-angular';\r\nimport { SalesXCRMChartTabs } from '../../models/SalesXCRMChartTabs';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'upload-document',\r\n templateUrl: './upload-document.component.html',\r\n styleUrls: ['./upload-document.component.css']\r\n})\r\nexport class UploadDocumentComponent implements OnInit {\r\n @Input()\r\n accountId: number = 0;\r\n\r\n @Input()\r\n isUploadDivVisible: boolean = false;\r\n\r\n @Input()\r\n selectedMenuRadio: number;\r\n\r\n @Input()\r\n selectedMenunumber: number; \r\n \r\n @Input()\r\n isDocumentManagement: boolean = false;\r\n @Input() selectedtype: string;\r\n @Input() pageFrom: string;\r\n\r\n @Input()\r\n isDocumentsInfoDivVisible: boolean = false;\r\n\r\n @ViewChild('agGrid') agGrid: AgGridAngular;\r\n\r\n documentDivHeight: number = 100;\r\n fromdocumentid: number;\r\n todocumentid: number;\r\n selectedtodocumentname: string;\r\n uploadDivHeight: number = screen.height * 0.6111;\r\n gridhgtforAccView: number = screen.height * 0.35555;\r\n documentlist: Document[] = [];\r\n Originaldocumentlist: Document[] = [];\r\n finaldocumentlist: Document[] = [];\r\n doc: Document = new Document();\r\n permissionlevellist: Dropdowntype[] = [];\r\n currentuser: any;\r\n tablehgt = 145;\r\n @Input()\r\n accountstatisticBox: string = 'Open';\r\n selecteddocumentName: string;\r\n userdocumentlist: any[] = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n currentYear = new Date().getFullYear();\r\n selectedItems = [];\r\n dropdownList = [];\r\n isPdfOpen = false;\r\n isselectedtransfered = false;\r\n documentDialog = false;\r\n isDocumentTransfer = false;\r\n documentNamesList: any[] = [];\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n\r\n documenttypeList: Dropdowntype[] = [];\r\n userpendingdocumentlist: any[] = [];\r\n currentPage: number = 1;\r\n startrow: number = 1;\r\n noofRows: number = 1;\r\n totalnumberofrows: number = 1;\r\n totalnumberofPages: number = 1;\r\n pageSize: number = 100;\r\n docuentlength: number = 0;\r\n public context;\r\n public frameworkComponents;\r\n docTabList: Dropdowntype[] = [];\r\n ChartTabs: SalesXCRMChartTabs[] = [];\r\n public gridOptions: GridOptions;\r\n public sideBar;\r\n public documentscolumnDefs: any[];\r\n private gridApi;\r\n private gridColumnApi;\r\n DisableSaveButton: boolean = true;\r\n constructor(private router: Router, public applicationComponent: ApplicationComponent, private customerService: CustomerService, private userservice: UserService, private toastr: ToastrService, private paginationcop: PageComponent) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n \r\n }\r\n checkEnable() {\r\n let isEnable: boolean = false;\r\n if (this.selectedtype == 'Users') {\r\n isEnable = this.documentlist.find(x => (x.documentnamepermissionid != undefined && x.documentnamepermissionid != null && x.documentnamepermissionid != 0) && (x.tabId != undefined && x.tabId != null && x.tabId != 0)) != null;\r\n } else {\r\n isEnable = this.documentlist.find(x => (x.documentnamepermissionid != undefined && x.documentnamepermissionid != null && x.documentnamepermissionid != 0)) != null;\r\n\r\n }\r\n \r\n $('table td#myid').find('input:first').focus()\r\n return isEnable;\r\n }\r\n\r\n OpenFilemanual(val) {\r\n if (val == 'New') {\r\n $(\"#addFiles\").click();\r\n this.initializeAgGrid();\r\n }\r\n }\r\n openfile(myBaseString, documentid, fileName, documenttype) {\r\n \r\n var data = myBaseString.split(\",\")\r\n var binary_string = window.atob(data[1]);\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n var arrayBufferView = new Uint8Array(bytes.buffer);\r\n if (documenttype == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\")\r\n var blob = new Blob([arrayBufferView], { type: documenttype });\r\n else\r\n var blob = new Blob([arrayBufferView], { type: 'image/png/html' });\r\n\r\n var url = window.URL.createObjectURL(blob);\r\n\r\n var a = $(\"\").attr(\"href\", url).attr(\"target\", \"_blank\").attr(\"download\", fileName).appendTo(\"body\");\r\n\r\n a[0].click();\r\n\r\n a.remove();\r\n this.sendMsgEvent.emit(myBaseString);\r\n\r\n $('.bodyContaint').css('height', '600px')\r\n $('#pdfDiv').css('');\r\n }\r\n\r\n openfilecharge(charge) {\r\n let myBaseString = charge.imagecontent;\r\n let fileName = charge.uploadedfilename;\r\n\r\n var data = myBaseString.split(\",\")\r\n var binary_string = window.atob(data[1]);\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n\r\n var arrayBufferView = new Uint8Array(bytes.buffer);\r\n\r\n if (charge.documenttype == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\")\r\n var blob = new Blob([arrayBufferView], { type: charge.documenttype });\r\n else\r\n var blob = new Blob([arrayBufferView], { type: 'image/png/html' });\r\n\r\n var url = window.URL.createObjectURL(blob);\r\n\r\n var a = $(\"\").attr(\"href\", url).attr(\"download\", fileName).appendTo(\"body\");\r\n\r\n a[0].click();\r\n\r\n a.remove();\r\n \r\n }\r\n\r\n openfilecharge1(charge) {\r\n var binary_string = window.atob(charge[1]);\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n\r\n var arrayBufferView = new Uint8Array(bytes.buffer);\r\n\r\n if (charge.documenttype == \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\")\r\n var blob = new Blob([arrayBufferView], { type: charge.documenttype });\r\n else\r\n var blob = new Blob([arrayBufferView], { type: 'image/png/html' });\r\n\r\n var url = window.URL.createObjectURL(blob);\r\n\r\n var a = $(\"\").attr(\"href\", url).attr(\"download\", 'ban.pdf').appendTo(\"body\");\r\n\r\n a[0].click();\r\n\r\n a.remove();\r\n }\r\n deleteCharge(charge) {\r\n if (this.documentlist.length > 1) {\r\n let deleteIndex = this.documentlist.indexOf(charge);\r\n if (deleteIndex >= 0) {\r\n this.documentlist.splice(deleteIndex, 1);\r\n this.gridApi.setRowData(this.documentlist);\r\n }\r\n } else {\r\n let deleteIndex = this.documentlist.indexOf(charge);\r\n if (deleteIndex >= 0) {\r\n this.documentlist.splice(deleteIndex, 1);\r\n this.gridApi.setRowData(this.documentlist);\r\n }\r\n this.sendMsgEvent.emit(\"Cancel\");\r\n }\r\n \r\n }\r\n\r\n loaddropdowns() {\r\n this.customerService.GetAllActiveDocumentNamePermissionList(this.selectedtype, 1, 100).then((document) => {\r\n document.forEach(document => {\r\n document.DateUploaded = this.datePipe.transform(document.DateUploaded, \"MM-dd-yyyy\");\r\n });\r\n this.documentNamesList = document;\r\n });\r\n \r\n \r\n this.customerService.GetMySalesXCRMChartTabs(this.currentuser.id).then((ChartTabs) => {\r\n this.ChartTabs = ChartTabs.filter(x => x.ChartTabDescription != '' && x.ChartTabDescription != null);\r\n });\r\n let selfObj = this;\r\n \r\n selfObj.customerService.GetAllPendingDocuments(selfObj.accountId, this.selectedtype, 2019).then((document) => {\r\n document.forEach(document => {\r\n let newdoc = new Document();\r\n newdoc.id = document.id;\r\n document.DateUploaded = this.datePipe.transform(document.DateUploaded, \"MM-dd-yyyy\"); \r\n newdoc.documentnamepermissionid = document.documentnamepermissionid;\r\n newdoc.tabId = document.tabId;\r\n newdoc.documentdescription = document.documentdescription; \r\n newdoc.uploadedfilename = document.uploadedfilename;\r\n newdoc.Size = document.Size;\r\n newdoc.documenttype = document.type;\r\n newdoc.imagecontent = document.imagecontent;\r\n newdoc.extension = document.extension;\r\n selfObj.documentlist.push(newdoc);\r\n \r\n });\r\n selfObj.userpendingdocumentlist = document;\r\n });\r\n \r\n }\r\n\r\n bind(data) {\r\n this.Originaldocumentlist = data;\r\n this.initializeAgGrid();\r\n }\r\n\r\n ngOnInit() {\r\n this.loaddropdowns();\r\n if (this.selectedMenunumber) {\r\n this.doc.tabId = this.selectedMenunumber;\r\n \r\n }\r\n else {\r\n this.doc.tabId = 0;\r\n \r\n }\r\n}\r\n TabChange(value) {\r\n this.doc.tabId = value;\r\n }\r\n GetImagedata(reader, index, filename, filesize, filetype) {\r\n \r\n $('#' + index + 'imagecontent').val(reader.result);\r\n $('#' + index + 'uploadedfilename').val(filename);\r\n $('#' + index + 'size').val(filesize);\r\n $('#' + index + 'documenttype').val(filetype);\r\n // objSelf.showdetail();\r\n }\r\n onFileChanged(event, index) {\r\n if (event.target.files && event.target.files.length) {\r\n const reader = new FileReader();\r\n const [file] = event.target.files;\r\n reader.readAsDataURL(file);\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.GetImagedata(reader, index, file.name, file.size, file.type);\r\n }, 500));\r\n }\r\n }\r\n addCharge() {\r\n let newdoc = new Document();\r\n newdoc.documentname = \"\";\r\n newdoc.permissionlevel = 0;\r\n newdoc.uploadedfilename = \"\";\r\n newdoc.Size = \"\";\r\n newdoc.documentdescription = \"\";\r\n newdoc.documenttype = \"\";\r\n newdoc.imagecontent = \"\";\r\n newdoc.extension = \"\";\r\n newdoc.accountid = 0;\r\n newdoc.type = \"\";\r\n this.documentlist.push(newdoc);\r\n this.initializeAgGrid();\r\n this.Originaldocumentlist = this.documentlist;\r\n }\r\n addChargeNew(file) {\r\n this.initializeAgGrid();\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n\r\n let selfObj = this;\r\n let newdoc = new Document();\r\n\r\n $(setTimeout(function () {\r\n \r\n newdoc.file = file;\r\n newdoc.documentnamepermissionid = 0;\r\n newdoc.tabId = 0;\r\n newdoc.id = 0;\r\n newdoc.documentname = \"Select\";\r\n newdoc.permissionlevel = 0;\r\n newdoc.uploadedfilename = file.name;\r\n newdoc.Size = file.size;\r\n newdoc.documentdescription = $('#documentdescription').val();\r\n\r\n newdoc.documenttype = file.type;\r\n newdoc.imagecontent = reader.result.toString();\r\n let extensionArr = file.name.split('.');\r\n newdoc.extension = extensionArr[extensionArr.length - 1];\r\n selfObj.documentlist.push(newdoc);\r\n\r\n selfObj.gridApi.setRowData(selfObj.documentlist);\r\n //selfObj.gridOptions.api.setRowData(selfObj.documentlist);\r\n return newdoc\r\n }, 200));\r\n\r\n \r\n }\r\n addChargeExisting(file, charge) {\r\n \r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n\r\n $(setTimeout(function () {\r\n charge.file = file;\r\n //charge.documentname = \"\";\r\n //charge.permissionlevel = \"Select\";\r\n charge.uploadedfilename = file.name;\r\n charge.size = file.size;\r\n charge.documenttype = file.type;\r\n charge.imagecontent = reader.result;\r\n let extensionArr = file.name.split('.');\r\n charge.extension = extensionArr[extensionArr.length - 1];\r\n }, 500));\r\n }\r\n\r\n addFiles(event) {\r\n if (!this.isDocumentManagement) {\r\n let files = event.srcElement.files;\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n if (file.type == \"application/pdf\") {\r\n this.addChargeNew(file);\r\n } else {\r\n alert(\"System Supports PDF Documents Only.\");\r\n } \r\n }\r\n $(\"#addFiles\").val(\"\");\r\n \r\n } else {\r\n \r\n this.addCharge();\r\n }\r\n \r\n }\r\n CancelDocument() {\r\n this.sendMsgEvent.emit(\"Cancel\");\r\n }\r\n addFile(event, charge) {\r\n let files = event.srcElement.files;\r\n if (files != null && files.length > 0) {\r\n let file = files[0];\r\n this.addChargeExisting(file, charge);\r\n }\r\n $(\"#addFile\").val(\"\");\r\n \r\n\r\n\r\n }\r\n\r\n onFileAdded(file, index) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n let objSelf = this;\r\n $(setTimeout(function () {\r\n objSelf.GetImagedata(reader, index, file.name, file.size, file.type);\r\n }, 500));\r\n }\r\n\r\n validateDropdown() {\r\n let validstatus;\r\n let count = this.documentlist.length;\r\n this.documentlist.forEach(ele => {\r\n if (ele.documentnamepermissionid > 0) {\r\n validstatus = true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n\r\n\r\n //for (var i = 0; i < count; i++) {\r\n // var num = parseInt($('#optionBExtra' + i).val());\r\n // if (num > 0) {\r\n // validstatus=true;\r\n // }\r\n // else {\r\n // return false;\r\n // }\r\n //}\r\n return validstatus;\r\n }\r\n SaveDocuments(pendingstatus) {\r\n if (pendingstatus == 1) { this.sendMsgEvent.emit(\"Cancel\"); }\r\n else {\r\n const allRowData = [];\r\n this.gridApi.forEachNode(node => allRowData.push(node.data));\r\n this.documentlist = allRowData;\r\n if (this.validateDropdown()) {\r\n let test: number = this.accountId;\r\n this.finaldocumentlist = [];\r\n let deleteDocuments: Document[] = [];\r\n var i = 0;\r\n this.documentlist.forEach(document => {\r\n let isValidate: boolean = false;\r\n if (!this.isDocumentManagement) {\r\n if (document.documentnamepermissionid != undefined && document.documentnamepermissionid != null && document.documentnamepermissionid != 0)\r\n isValidate = true;\r\n } else {\r\n if (document.documentname != null && document.documentname.trim() != \"\" && document.permissionlevel != null && document.permissionlevel != 0)\r\n isValidate = true;\r\n }\r\n\r\n\r\n if (isValidate) {\r\n\r\n let newdoc = new Document();\r\n //newdoc.documentdescription = $('#documentdescription' + i).val();\r\n newdoc.documentdescription = document.documentdescription;\r\n i++;\r\n newdoc.id = document.id;\r\n newdoc.documentname = document.documentname;\r\n newdoc.uploadedby = this.currentuser.id;\r\n newdoc.uploadedfilename = document.uploadedfilename;\r\n newdoc.Size = document.Size.toString();\r\n newdoc.documenttype = document.documenttype;\r\n newdoc.permissionlevel = (this.selectedtype == \"MySalesXCRM\" || this.selectedtype == \" MySalesXCRM \" || this.selectedtype == \"Account\" || this.selectedtype == \"Contact\") ? document.documentnamepermissionid : document.permissionlevel;\r\n newdoc.doctype = this.selectedtype;\r\n newdoc.tabId = document.tabId ? document.tabId : this.doc.tabId;\r\n newdoc.pendingstatus = pendingstatus;\r\n //newdoc.documentdescription = $('#documentdescription').val(); \r\n newdoc.imagecontent = document.imagecontent;\r\n newdoc.extension = document.extension;\r\n newdoc.accountid = this.accountId;\r\n newdoc.type = (this.selectedtype == null) ? 'Account Or Contact' : (this.selectedtype == \"SalesXUsers\") ? 'MySalesXCRM' : this.selectedtype;\r\n if (!this.isDocumentManagement) {\r\n\r\n newdoc.documentnamepermissionid = document.documentnamepermissionid;\r\n }\r\n\r\n this.finaldocumentlist.push(newdoc);\r\n\r\n deleteDocuments.push(document);\r\n }\r\n });\r\n\r\n if (this.finaldocumentlist.length > 0) {\r\n\r\n\r\n if (!this.isDocumentManagement) {\r\n this.userservice.addDocuments(this.finaldocumentlist).then(result => {\r\n if (pendingstatus == 0) {\r\n this.toastr.success(\"Documents saved successfully.\", \"Documents Saved\", { timeOut: 600 });\r\n if (this.pageFrom == 'notes') {\r\n this.sendMsgEvent.emit(result[0].id.toString());\r\n }\r\n else {\r\n this.sendMsgEvent.emit(this.finaldocumentlist[0].accountid.toString());\r\n }\r\n\r\n } else {\r\n this.sendMsgEvent.emit(\"PendingDoc\");\r\n }\r\n\r\n if (deleteDocuments.length > 0) {\r\n deleteDocuments.forEach(document => {\r\n let deleteIndex = this.documentlist.indexOf(document);\r\n if (deleteIndex >= 0)\r\n this.documentlist.splice(deleteIndex, 1);\r\n });\r\n }\r\n });\r\n } else {\r\n this.userservice.addDocumentNamePermission(this.finaldocumentlist).then(result => {\r\n\r\n this.toastr.success(\"Document names with permissions saved successfully.\",\"Document\", { timeOut: 600 });\r\n this.sendMsgEvent.emit();\r\n if (deleteDocuments.length > 0) {\r\n deleteDocuments.forEach(document => {\r\n let deleteIndex = this.documentlist.indexOf(document);\r\n if (deleteIndex >= 0)\r\n this.documentlist.splice(deleteIndex, 1);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.sendMsgEvent.emit(\"Cancel\");\r\n }\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > -1) {\r\n\r\n //document.getElementById('documentsinfo').style.marginTop = \"9% !important\";\r\n }\r\n }\r\n else {\r\n alert(\"Please select Document Name\");\r\n }\r\n }\r\n //$(setTimeout(function () {\r\n // $('.dialog').attr('style', 'width: 100%;padding: 0;border: 4px solid rgb(117, 218, 51);min-height: 63%;overflow: auto;height: 83%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n //}, 4));\r\n }\r\n Cancel() { this.sendMsgEvent.emit(\"Cancel\");}\r\n CancelDocuments() {\r\n //this.documentlist = [];\r\n var url = window.location.href;\r\n if (url.indexOf('contactsdashboard') > -1) {\r\n //document.getElementById('documentsinfo').style.marginTop = \"5%\";\r\n }\r\n }\r\n\r\n onCellValueChanged(event) {\r\n event.data.modified = true;\r\n }\r\n\r\n SelectedDocumentType(id, Docname) {\r\n \r\n this.todocumentid = id;\r\n this.selectedtodocumentname = Docname;\r\n $('.closeButtonTr').removeAttr('style');\r\n\r\n $('#' + id).attr('style', 'background-color:#b7e4ff;')\r\n }\r\n ToDoDelete(taskId, index) {\r\n $('#' + index).remove();\r\n }\r\n\r\n handleClick(event) { \r\n this.sendMsgEvent.emit(event.target.value);\r\n }\r\n onGridReady(params) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: false, paginationPageSize: 1000,toolPanelSuppressPivotMode: false, toolPanelSuppressValues: false, rowSelection: 'Single'\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n this.createColumnDefs();\r\n }\r\n\r\n createColumnDefs() {\r\n let SO = this;\r\n const DocNameCellRenderer = function () { };\r\n DocNameCellRenderer.prototype = {\r\n init: function (params) {\r\n this.value = params.value;\r\n this.DocNameCellRenderer = document.createElement('div');\r\n var eSelect = document.createElement(\"select\");\r\n eSelect.setAttribute('class', 'custom-select form-control');\r\n eSelect.setAttribute('style', 'padding:0px;font-size:12px;background-color: #ffff91;opacity: 1;border:none;border-left:3px solid red');\r\n eSelect.setAttribute('name', params.colDef.field);\r\n eSelect.setAttribute('id', 'optionBExtra' + params.rowIndex);\r\n eSelect.required = true;\r\n var eOption = document.createElement(\"option\");\r\n eOption.text = \"Select\";\r\n eOption.value = \"\";\r\n eSelect.appendChild(eOption);\r\n if (params.colDef.field == \"documentnamepermissionid\") {\r\n if (SO.documentNamesList ) {\r\n SO.documentNamesList.forEach((customer) => {\r\n var eOption = document.createElement(\"option\");\r\n eOption.text = customer.documentname;\r\n eOption.value = customer.id;\r\n eSelect.appendChild(eOption);\r\n });\r\n\r\n }\r\n this.DocNameCellRenderer.appendChild(eSelect);\r\n eSelect.addEventListener('change', function ($event) {\r\n if (this.checkValidity()) {\r\n $('#optionBExtra' + params.rowIndex).attr('style', 'padding:0px;font-size:12px;background-color: white;opacity: 1;border:none;border-left:3px solid lightgreen');\r\n\r\n } else {\r\n $('#optionBExtra' + params.rowIndex).attr('style', 'padding:0px;font-size:12px;background-color: #ffff91;opacity: 1;border:none;border-left:3px solid lightgreen');\r\n }\r\n\r\n $(setTimeout(function () {\r\n SO.checkValidatedate();\r\n }, 200));\r\n \r\n params.data.documentnamepermissionid = this.value\r\n });\r\n }\r\n },\r\n getGui: function () {\r\n return this.DocNameCellRenderer ;\r\n },\r\n getValue() {\r\n // this simple editor doubles any value entered into the input\r\n return this.value;\r\n },\r\n refresh: function () {\r\n return true;\r\n },\r\n destroy: function () {\r\n $(this.DocNameCellRenderer).remove();\r\n },\r\n }\r\n\r\n const DocTabCellRenderer = function () { };\r\n DocTabCellRenderer.prototype = {\r\n init: function (params) {\r\n this.value = params.value;\r\n this.DocTabCellRenderer = document.createElement('div');\r\n var eSelect = document.createElement(\"select\");\r\n eSelect.setAttribute('class', 'custom-select form-control');\r\n eSelect.setAttribute('style', 'padding:0px;font-size:12px;background-color: #ffff91;opacity: 1;border:none;border-left:3px solid red');\r\n eSelect.setAttribute('name', params.colDef.field);\r\n eSelect.setAttribute('id', 'optionBExtra' + params.rowIndex);\r\n eSelect.required = true;\r\n var eOption = document.createElement(\"option\");\r\n eOption.text = \"Select\";\r\n eOption.value = \"\";\r\n eSelect.appendChild(eOption);\r\n if (params.colDef.field == \"tabId\") {\r\n if (SO.ChartTabs) {\r\n SO.ChartTabs.forEach((customer) => {\r\n var eOption = document.createElement(\"option\");\r\n eOption.text = customer.ChartTabDescription;\r\n eOption.value = customer.ChartTabId.toString();\r\n eSelect.appendChild(eOption);\r\n });\r\n\r\n }\r\n this.DocTabCellRenderer.appendChild(eSelect);\r\n eSelect.addEventListener('change', function ($event) {\r\n if (this.checkValidity()) {\r\n $('#optionBExtra' + params.rowIndex).attr('style', 'padding:0px;font-size:12px;background-color: white;opacity: 1;border:none;border-left:3px solid lightgreen');\r\n } else {\r\n $('#optionBExtra' + params.rowIndex).attr('style', 'padding:0px;font-size:12px;background-color: #ffff91;opacity: 1;border:none;border-left:3px solid lightgreen');\r\n }\r\n\r\n $(setTimeout(function () {\r\n SO.checkValidatedate();\r\n }, 200));\r\n params.data.tabId = this.value;\r\n \r\n });\r\n }\r\n },\r\n getGui: function () {\r\n return this.DocTabCellRenderer;\r\n },\r\n getValue() {\r\n // this simple editor doubles any value entered into the input\r\n return this.value;\r\n },\r\n refresh: function () {\r\n return true;\r\n },\r\n destroy: function () {\r\n $(this.DocTabCellRenderer).remove();\r\n },\r\n }\r\n\r\n const DocDescription= function () { };\r\n DocDescription.prototype = {\r\n init: function (params) {\r\n this.DocDescription = document.createElement('div');\r\n var input = document.createElement(\"input\");\r\n input.setAttribute('class', 'form-control');\r\n input.setAttribute('style', 'padding:0px;font-size:12px;background-color: #ffff91;opacity: 1;border:none;border-left:3px solid red');\r\n input.setAttribute('name', params.colDef.field);\r\n input.setAttribute('type', 'text');\r\n input.setAttribute('placeholder', 'Enter Description');\r\n input.required = true;\r\n input.id = 'Description' + params.rowIndex;\r\n this.DocDescription.appendChild(input);\r\n this.value = params.value;\r\n params.data.documentdescription = this.value\r\n\r\n input.addEventListener('blur', function ($event) {\r\n //var res = sObj.SelectedSaleStage(params.data, $event);\r\n \r\n if (this.checkValidity()) {\r\n $('#Description' + params.rowIndex).attr('style', 'padding:0px;font-size:12px;background-color: white;opacity: 1;border:none;border-left:3px solid lightgreen');\r\n $(setTimeout(function () {\r\n SO.checkValidatedate();\r\n }, 200));\r\n } else {\r\n $('#Description' + params.rowIndex).attr('style', 'padding:0px;font-size:12px;background-color: #ffff91;opacity: 1;border:none;border-left:3px solid lightgreen');\r\n }\r\n params.data.documentdescription = this.value\r\n });\r\n input.addEventListener('keyup', function ($event) {\r\n if (this.checkValidity()) {\r\n $('#Description' + params.rowIndex).attr('style', 'padding:0px;font-size:12px;background-color: #ffff91;opacity: 1;border:none;border-left:3px solid lightgreen');\r\n $(setTimeout(function () {\r\n SO.checkValidatedate();\r\n }, 200));\r\n }\r\n params.data.documentdescription = this.value\r\n });\r\n },\r\n getGui: function () {\r\n return this.DocDescription;\r\n },\r\n getValue() {\r\n // this simple editor doubles any value entered into the input\r\n return this.value;\r\n },\r\n refresh: function () {\r\n return true;\r\n },\r\n destroy: function () {\r\n $(this.DocDescription).remove();\r\n },\r\n }\r\n\r\n\r\n this.documentscolumnDefs = [\r\n \r\n { field: 'documentnamepermissionid', headerName: 'Document Name', hide: false, cellRenderer: DocNameCellRenderer, },\r\n { field: 'tabId', headerName: 'Document Tab', hide: this.selectedtype !== 'MySalesXCRM', cellRenderer: DocTabCellRenderer, },\r\n { field: 'documentdescription', headerName: 'Document Description', hide: false, cellRenderer: DocDescription},\r\n { field: 'uploadedfilename', headerName: 'Upload File', hide: this.isDocumentManagement ? true : false },\r\n { field: 'Size', headerName: 'File Size', hide: this.isDocumentManagement ? true : false },\r\n {\r\n field: '', headerName: '', hide: false, cellRenderer(params) {\r\n\r\n var eDiv = document.createElement('div');\r\n \r\n eDiv.innerHTML = '';\r\n \r\n eDiv.addEventListener('click', function ($event) {\r\n SO.deleteCharge(params.data);\r\n });\r\n return eDiv;\r\n\r\n //return '';\r\n }\r\n },\r\n \r\n\r\n ];\r\n }\r\n \r\n //onRemoveSelected(selectedData) {\r\n // //var selectedData = this.gridApi.getRowData();\r\n // var res = this.gridApi.applyTransaction({ remove: selectedData });\r\n // //printResult(res);\r\n //}\r\n\r\n checkValidatedate() {\r\n const allRowData = [];\r\n this.gridApi.forEachNode(node => allRowData.push(node.data));\r\n allRowData.forEach(x => {\r\n if (x.documentdescription !== undefined && x.documentnamepermissionid !== 0) {\r\n this.DisableSaveButton = false;\r\n } \r\n });\r\n }\r\n}\r\n","\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n\r\n \r\n\r\n
      \r\n\r\n \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, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Column, GridOptions, RowDragEndEvent } from 'ag-grid';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport { UserMessageTypes } from 'src/app/models/UserMessageTypes';\r\nimport { Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { UserMessages } from 'src/app/models/UserMessages';\r\nimport { MessagingService } from 'src/app/services/messaging.service';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { OpprtunitiesService } from 'src/app/services/opprtunities.service';\r\nimport { LeadsService } from 'src/app/services/leads.service';\r\nimport { SystemRowConfiguration } from 'src/app/models/system-row-configuration';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-user-messaging',\r\n templateUrl: './user-messaging.component.html',\r\n styleUrls: ['./user-messaging.component.css']\r\n})\r\nexport class UserMessagingComponent implements OnInit {\r\n public UserMessagingMainDiv: boolean = true;\r\n public MessageTypesDiv: boolean = true;\r\n public ExpandMessageTypesGrid: boolean = false;\r\n AddMessageTypeForm: FormGroup;\r\n createNewMessageType: boolean = false;\r\n MessageTypes: UserMessageTypes = new UserMessageTypes();\r\n allMessageTypes: UserMessageTypes[];\r\n public gridOptions: GridOptions;\r\n public columnDefs: any[];\r\n currentUser: any;\r\n selectedtab = 'MessageTypes';\r\n public NewMessageDiv: boolean = false;\r\n viewSuspendedUsers: boolean = false;\r\n selectedUserType = \"Users\";\r\n allusers: any;\r\n showAddUserDiv: boolean = false;\r\n public gridOptionsusers: GridOptions;\r\n save: boolean = false;\r\n public context;\r\n public columnDefsusers: any[];\r\n public columnDefsMessage: any[];\r\n rolesList: Dropdowntype[] = [];\r\n UserTabSelection: string = \"tab6\";\r\n userMessages: UserMessages = new UserMessages();\r\n AddMessageForm: FormGroup;\r\n selectedUserList = [];\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n public ViewMessageListDiv: boolean = false;\r\n allMessages: UserMessages[];\r\n public gridOptionsUserMessages: GridOptions;\r\n EditMessageMode: boolean = false;\r\n public sideBar;\r\n rowconfig: SystemRowConfiguration = new SystemRowConfiguration();\r\n DeleteMessageTypePopup: boolean = false;\r\n deleteRowDataType: any;\r\n contactStatus: any;\r\n DeleteMessagePopup: boolean = false;\r\n deleteRowDataMessage: any;\r\n contactStatus1: any;\r\n @Input() OpenDivType: string = null;\r\n MessageDescription: string;\r\n public editorOptions: Object = {\r\n attribution: false,\r\n key: 'pe1G2wF1I1B2C3B5D6B4ogtzrkayiqC2A-7pmB-16D4E3D2F3C3I2D1B10C2B3==',\r\n events: {\r\n contentChanged: () => {\r\n this.Validatefield();\r\n }\r\n }\r\n };\r\n constructor(private messageService: MessagingService, private toastr: ToastrService, private userservice: UserService, private opprtunityservice: OpprtunitiesService,\r\n private leadsService: LeadsService, public applicationComponent: ApplicationComponent) {\r\n this.currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n }\r\n Validatefield() {\r\n let Self = this;\r\n setTimeout(() => { // <<<---using ()=> syntax\r\n \r\n if (Self.selectedUserList.length > 0\r\n && ($('.fr-element').html().replace(/<[^>]*>| /g, '') != '' && $('.fr-element').html().replace(/<[^>]*>| /g, '') != undefined)) {\r\n Self.save = true;\r\n } else {\r\n Self.save = false;\r\n }\r\n },100);\r\n }\r\n ngOnInit() {\r\n this.initializeAgGrid();\r\n this.AccessDiv('MessageTypes'); \r\n }\r\n\r\n AccessDiv(val) {\r\n this.selectedtab = val;\r\n if (val == 'MessageTypes') {\r\n this.UserMessagingMainDiv = false;\r\n this.ViewMessageListDiv = false;\r\n this.MessageTypesDiv = true;\r\n this.NewMessageDiv = false;\r\n this.GetAllUserMessageTypes();\r\n this.MessageTypes = new UserMessageTypes();\r\n }\r\n else if (val == 'New Message') {\r\n \r\n this.UserMessagingMainDiv = false;\r\n this.MessageTypesDiv = false;\r\n this.NewMessageDiv = true;\r\n this.ViewMessageListDiv = false;\r\n this.LoadRequiredData();\r\n }\r\n else if (val == 'Messages List') {\r\n this.UserMessagingMainDiv = false;\r\n this.MessageTypesDiv = false;\r\n this.NewMessageDiv = false;\r\n this.EditMessageMode = false;\r\n this.ViewMessageListDiv = true;\r\n this.LoadViewMessageList();\r\n }\r\n var obj: AuditLogModel = { id: 0, type: 'PopUp Message', action: 'PopUp Message - ' + val, AccountOrContactId: 0, AccountOrContact: val, documentid: 0, userid: this.currentUser.id, dateofviewed: '', customertype: '', time: '', Title: 'PopUp Message - ' + val , AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n\r\n getAddMessageTypeForm(): FormGroup {\r\n return new FormGroup({\r\n 'MessageType': new FormControl(this.MessageTypes.MessageType, Validators.required),\r\n 'Sortorder': new FormControl(this.MessageTypes.Sortorder, Validators.required),\r\n });\r\n }\r\n\r\n CloseDiv(val) {\r\n if (val == 'Message Types') {\r\n this.MessageTypesDiv = false;\r\n \r\n this.UserMessagingMainDiv = true;\r\n this.createNewMessageType = false;\r\n this.NewMessageDiv = false;\r\n }\r\n else if (val == 'New Message') {\r\n this.MessageTypesDiv = false;\r\n this.UserMessagingMainDiv = true;\r\n this.NewMessageDiv = false;\r\n if (this.EditMessageMode == true) {\r\n this.AccessDiv('Messages List');\r\n }\r\n this.userMessages = new UserMessages();\r\n this.selectedUserList = null\r\n }\r\n else if (val == 'Messages List') {\r\n this.UserMessagingMainDiv = true;\r\n this.MessageTypesDiv = false;\r\n this.NewMessageDiv = false;\r\n this.ViewMessageListDiv = false;\r\n this.userMessages = new UserMessages();\r\n }\r\n \r\n }\r\n\r\n ClearMessageType() {\r\n this.MessageTypes = new UserMessageTypes();\r\n }\r\n\r\n CreateNewMessageType() {\r\n this.getAddMessageTypeForm();\r\n this.createNewMessageType = true;\r\n this.ExpandMessageTypesGrid = false;\r\n this.MessageTypes = new UserMessageTypes();\r\n var NextsortOrder = this.allMessageTypes.sort((a, b) => b.Sortorder - a.Sortorder)[0].Sortorder;\r\n this.MessageTypes.Sortorder = NextsortOrder + 1;\r\n\r\n }\r\n Expand(val) {\r\n if (val == 'Message Types') {\r\n this.ExpandMessageTypesGrid = !this.ExpandMessageTypesGrid;\r\n } else if (val == 'Item') {\r\n //this.ExpandItemGrid = !this.ExpandItemGrid;\r\n }\r\n }\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n enableColResize: true, enableSorting: true, defaultToolPanel: '', enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, rowSelection: 'single',\r\n toolPanelSuppressValues: true, enableCellChangeFlash: true, enableMultiRowDragging: true,\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n this.createColumnDefs();\r\n }\r\n\r\n createColumnDefs() {\r\n let selfObj = this;\r\n this.columnDefs = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 65,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true, rowDrag: true\r\n },\r\n { field: 'MessageTypeID', headerName: 'Id', hide: false, width: 120 },\r\n {\r\n field: 'MessageType', headerName: 'Message Type', hide: false, width: 400,\r\n },\r\n { field: 'Sortorder', headerName: 'Sort Order', hide: false, width: 120 },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteMessageTypes(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n\r\n \r\n\r\n\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.MessageTypes = event.api.getSelectedNodes()[0].data;\r\n this.createNewMessageType = true;\r\n }\r\n }\r\n else { \r\n this.MessageTypes = null;\r\n this.ClearMessageType();\r\n this.createNewMessageType = false;\r\n }\r\n\r\n }\r\n\r\n onRowMessageDragEnd(event: RowDragEndEvent) {\r\n this.saverowconfiguration(\"MessageType\");\r\n }\r\n saverowconfiguration(type) {\r\n var sortoorder = [];\r\n \r\n this.gridOptions.api.forEachNode((node) => {\r\n sortoorder.push(node.data.MessageTypeID);\r\n });\r\n \r\n this.rowconfig.SortOrder = sortoorder.filter((el, i, a) => i == a.indexOf(el)).join(\",\");\r\n this.rowconfig.Type = type;\r\n this.rowconfig.userid = this.currentUser.id;\r\n this.leadsService.SavestatusOrder(this.rowconfig).then(result => {\r\n this.toastr.success(\"MessageType Configured successfully.\", \"MessageType\", { timeOut: 600 });\r\n });\r\n\r\n }\r\n SaveProposalCategory() {\r\n this.MessageTypes.UserID = this.currentUser.id;\r\n if (this.MessageTypes.MessageTypeID == null || this.MessageTypes.MessageTypeID == undefined || this.MessageTypes.MessageTypeID == 0) {\r\n this.MessageTypes.MessageTypeID = 0;\r\n }\r\n\r\n this.MessageTypes.deletedStatus = 0;\r\n this.AddorUpdateUserMessageTypes(this.MessageTypes);\r\n }\r\n AddorUpdateUserMessageTypes(MessageTypes) {\r\n this.messageService.AddorUpdateUserMessageTypes(MessageTypes).then(result => {\r\n this.GetAllUserMessageTypes();\r\n this.MessageTypes = new UserMessageTypes();\r\n this.createNewMessageType = false;\r\n this.toastr.success(\"Message Type saved successfully.\", \"Message Type Saved\", { timeOut: 600 });\r\n });\r\n }\r\n\r\n GetAllUserMessageTypes() {\r\n this.messageService.GetAllUserMessageTypes(this.currentUser.id).then(result => {\r\n this.allMessageTypes = result;\r\n });\r\n }\r\n ReceiveDeleteeventForType(msg) {\r\n if (msg == \"Ok\") {\r\n this.MessageTypes = this.deleteRowDataType;\r\n this.MessageTypes.deletedStatus = 1;\r\n this.AddorUpdateUserMessageTypes(this.MessageTypes);\r\n }\r\n this.DeleteMessageTypePopup = false;\r\n\r\n }\r\n deleteMessageTypes(MessageType) {\r\n this.deleteRowDataType = MessageType;\r\n this.contactStatus = MessageType.deletedStatus;\r\n this.DeleteMessageTypePopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteMessageTypePopup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteMessageTypePopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n }\r\n\r\n\r\n UserSetUp(val) {\r\n if (val == \"Users\") {\r\n this.viewSuspendedUsers = false;\r\n this.viewSuspended(0);\r\n }\r\n else if (val == \"Suspended\") {\r\n this.viewSuspendedUsers = true;\r\n this.viewSuspended(1);\r\n }\r\n else {\r\n this.viewSuspendedUsers = false;\r\n }\r\n this.selectedUserType = val;\r\n\r\n }\r\n\r\n viewSuspended(val) {\r\n\r\n let messageId = (this.userMessages != null && this.userMessages.userMessageID) ? this.userMessages.userMessageID : 0;\r\n\r\n this.userservice.GetUserMessages(val, messageId).then((user) => {\r\n this.allusers = user;\r\n if (this.EditMessageMode == true && this.userMessages.MessageToUsers != null) {\r\n var selectedUsers = this.userMessages.MessageToUsers.split(',').map(Number);\r\n this.allusers = this.allusers.filter(({ id }) => selectedUsers.includes(id));\r\n\r\n selectedUsers.forEach(ele => {\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptionsusers.api.forEachNode((node) => {\r\n if (node.data.id == ele) {\r\n selfObj.gridOptionsusers.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n });\r\n }\r\n \r\n \r\n });\r\n }\r\n\r\n\r\n initializeAgGridusers() {\r\n this.gridOptionsusers = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentUser.id, 57).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefsusers(columnSelections);\r\n });\r\n this.gridOptionsusers.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptionsUserMessages.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n config.maxlimit = 10;\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentUser.id;\r\n config.resourceid = 57;\r\n\r\n config.userid = \"\";\r\n \r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config).then(result => {\r\n });\r\n\r\n }\r\n createColumnDefsusers(columnSelections: string) {\r\n let selfobj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefsusers = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefsusers.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"userrole\") {\r\n this.columnDefsusers.push({\r\n field: 'userrole', headerName: 'User Role', hide: false,\r\n editable: true, cellEditor: \"agSelectCellEditor\", cellEditorParams: function (params) {\r\n return {\r\n values: Array.prototype.map.call(selfobj.rolesList, s => s.itemName),\r\n formatValue: function (value) {\r\n }\r\n };\r\n }\r\n })\r\n }\r\n else {\r\n this.columnDefsusers.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefsusers = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'firstname', headerName: 'First Name', hide: false,width:120 },\r\n { field: 'lastname', headerName: 'Last Name', hide: false, width: 120 },\r\n {\r\n field: 'userrole', headerName: 'User Role', hide: false, width: 120,\r\n editable: true, cellEditor: \"agSelectCellEditor\", cellEditorParams: function (params) {\r\n return {\r\n values: Array.prototype.map.call(selfobj.rolesList, s => s.itemName),\r\n formatValue: function (value) {\r\n }\r\n };\r\n }\r\n },\r\n { field: 'email', headerName: 'Email', hide: false, width: 180},\r\n { field: 'username', headerName: 'UserName', hide: false, width: 140 },\r\n { field: 'Viewed', headerName: 'Viewed', hide: selfobj.userMessages.userMessageID == 0 || selfobj.userMessages.userMessageID == null, width: 110 },\r\n { field: 'NotViewed', headerName: 'NotViewed', hide: selfobj.userMessages.userMessageID == 0 || selfobj.userMessages.userMessageID == null, width: 120 },\r\n ];\r\n }\r\n }\r\n\r\n\r\n LoadRequiredData() {\r\n this.userservice.GetAllRolesList(this.currentUser.id).then((roles) => {\r\n this.rolesList = roles;\r\n });\r\n\r\n this.initializeAgGridusers();\r\n this.UserSetUp('Users');\r\n this.getAddMessageForm();\r\n this.GetAllUserMessageTypes();\r\n }\r\n\r\n getAddMessageForm(): FormGroup {\r\n return new FormGroup({\r\n 'MessageName': new FormControl(this.userMessages.MessageName, Validators.required),\r\n 'MessageTypeId': new FormControl(this.userMessages.MessageTypeId, Validators.required),\r\n 'DisplayDate': new FormControl(this.userMessages.DisplayDate, Validators.required),\r\n 'MessageDescription': new FormControl(this.userMessages.MessageDescription, Validators.required),\r\n });\r\n }\r\n\r\n SaveMessage() {\r\n if (this.userMessages.userMessageID == 0 || this.userMessages.userMessageID == null) {\r\n this.userMessages.userMessageID = 0;\r\n }\r\n this.userMessages.CreatedBy = this.currentUser.id;\r\n this.userMessages.MessageDescription = $('.fr-element').html();\r\n if (this.selectedUserList != null && this.selectedUserList.length != 0) {\r\n this.userMessages.MessageToUsers = this.selectedUserList.join(',');\r\n this.AddorUpdateUserMessages(this.userMessages);\r\n } else {\r\n alert(\"You have not selected any user for this Message. Please Select \")\r\n }\r\n \r\n \r\n }\r\n\r\n AddorUpdateUserMessages(userMessages) {\r\n this.messageService.AddorUpdateUserMessages(userMessages).then((res) => {\r\n this.clearForm();\r\n this.viewSuspended(0)\r\n this.toastr.success(\"Message saved successfully.\", \"Message Saved\", { timeOut: 600 });\r\n });\r\n }\r\n\r\n onUserSelection(event) {\r\n this.Validatefield();\r\n this.selectedUserList = [];\r\n event.api.getSelectedRows().forEach(ele => {\r\n this.selectedUserList.push(ele.id);\r\n });\r\n }\r\n\r\n clearForm() {\r\n this.userMessages = new UserMessages();\r\n this.selectedUserList = [];\r\n }\r\n\r\n GetAllUserMessages() {\r\n this.messageService.GetAllUserMessages(this.currentUser.id).then((res) => {\r\n this.allMessages = res;\r\n this.allMessages.forEach(ele => {\r\n ele.DisplayDate = this.datePipe.transform(ele.DisplayDate, \"MM-dd-yyyy\");\r\n if (ele.MessageToUsers != null) {\r\n ele.MessageToUserCount = ele.MessageToUsers.split(',').length;\r\n }\r\n if (ele.readusers != null) {\r\n ele.readuserCount = ele.readusers.split(',').length;\r\n }\r\n else {\r\n ele.readuserCount = 0;\r\n }\r\n ele.RemainingCount = ele.MessageToUserCount - ele.readuserCount;\r\n });\r\n\r\n });\r\n }\r\n\r\n initializeAgGridUserMessages() {\r\n this.gridOptionsUserMessages = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentUser.id, 57).then((config) => {\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.createColumnDefsMessages(columnSelections);\r\n });\r\n \r\n }\r\n\r\n createColumnDefsMessages(columnSelections: string) {\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefsMessage = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefsMessage.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"userrole\") {\r\n this.columnDefsMessage.push({\r\n field: 'userrole', headerName: 'User Role', hide: false,\r\n editable: true, cellEditor: \"agSelectCellEditor\", cellEditorParams: function (params) {\r\n return {\r\n values: Array.prototype.map.call(selfObj.rolesList, s => s.itemName),\r\n formatValue: function (value) {\r\n }\r\n };\r\n }\r\n })\r\n }\r\n else {\r\n this.columnDefsMessage.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n this.columnDefsMessage = [\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n { field: 'userMessageID', headerName: 'Message ID', hide: false ,width:120},\r\n { field: 'MessageName', headerName: 'Message Name', hide: false },\r\n { field: 'MessageType', headerName: 'Message Type', hide: false },\r\n { field: 'DisplayDate', headerName: 'Display Date', hide: false },\r\n { field: 'MessageDescription', headerName: 'Message Description', hide: false },\r\n { field: 'MessageToUserCount', headerName: 'Users', hide: false },\r\n { field: 'readuserCount', headerName: 'Viewed', hide: false },\r\n { field: 'RemainingCount', headerName: 'Not Viewed', hide: false },\r\n {\r\n field: 'action', headerName: 'Action', hide: false, width: 100, pinned: 'right', cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.deleteUserMessage(params.data);\r\n });\r\n return eDiv;\r\n }\r\n }\r\n ];\r\n }\r\n }\r\n\r\n LoadViewMessageList() {\r\n this.initializeAgGridUserMessages();\r\n this.GetAllUserMessages();\r\n }\r\n onUserMessageSelection(event) {\r\n this.userMessages = event.api.getSelectedRows()[0];\r\n this.userMessages.DisplayDate = (this.datePipe.transform(this.userMessages.DisplayDate, \"yyyy-MM-dd\"));\r\n this.AccessDiv('New Message');\r\n this.EditMessageMode = true;\r\n \r\n }\r\n ReceiveDeleteeventForMessage(msg) {\r\n if (msg == \"Ok\") {\r\n this.userMessages = this.deleteRowDataMessage;\r\n this.userMessages.deletedStatus = 1;\r\n this.AddorUpdateUserMessages(this.userMessages);\r\n } \r\n this.DeleteMessagePopup = false;\r\n \r\n }\r\n deleteUserMessage(UserMessages) {\r\n this.deleteRowDataMessage = UserMessages;\r\n this.contactStatus = UserMessages.deletedStatus;\r\n this.DeleteMessagePopup = true;\r\n this.applicationComponent.salesxcrmDialog('#DeleteMessagePopup .dialog');\r\n //setTimeout(function () {\r\n // $('#DeleteMessagePopup .dialog').attr('style', 'width: 28%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n //}, 4);\r\n }\r\n\r\n close() {\r\n this.applicationComponent.ShowConfigurationDialog = false;\r\n this.applicationComponent.activateMainButtons('dashboards');\r\n \r\n }\r\n \r\n}\r\n","
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n\r\n\r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \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, ViewContainerRef, ViewEncapsulation, ElementRef, Renderer2, ViewChild, Optional, Input, EventEmitter, Output } from '@angular/core';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { LeadsService } from './../../services/leads.service';\r\nimport { Users } from '../../models/users';\r\nimport { Userquota } from '../../models/userquota';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'userquota',\r\n templateUrl: './user-quota.component.html',\r\n styleUrls: ['./user-quota.component.css']\r\n})\r\nexport class UserQuotaComponent implements OnInit {\r\n public ActivityQuotagridOptions: GridOptions;\r\n public SalesQuotagridOptions: GridOptions;\r\n public context;\r\n //SalesQuotahgt = screen.height * 0.27444;\r\n //actQuotahgt= screen.height*0.27778\r\n currentuser: any;\r\n aggridheight: string;\r\n user: Users = new Users();\r\n userquota: Array = [];;\r\n public elementRef;\r\n public ActivityQuotacolumnDefs: any[];\r\n ActivityQuotadata: Array =[];\r\n SalesQuotadata: any[];\r\n public SalesQuotacolumnDefs: any[];\r\n showActivityQuota: boolean = false;\r\n showSalesQuota: boolean = false;\r\n activityGridAPI: any;\r\n salesGridAPI: any;\r\n isActivityQuota = false;\r\n isSalesQuota = false;\r\n public years: number[] = [];\r\n public yy: number;\r\n public gridactivityColumnApi;\r\n currentMonth = Number(new Date().getMonth()+1);\r\n @Input()\r\n userid: number;\r\n @Input()\r\n type: string;\r\n Dashboardtypeval: number = 0;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n public sideBar;\r\n constructor(private leadservice: LeadsService, private viewContainerRef: ViewContainerRef, private router: Router, myElement: ElementRef, private http: HttpClient, private userservice: UserService, private toastr: ToastrService, public applicationComponent: ApplicationComponent) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.user.userrole = null;\r\n this.elementRef = myElement;\r\n }\r\n\r\n ngOnInit() { \r\n this.getYear();\r\n //if (this.type == \"TaskQuota\") {\r\n // this.LoadActivityQuotaData(this.currentuser.id, (new Date()).getFullYear());\r\n //} else {\r\n // this.LoadSalesQuotaData(this.currentuser.id, (new Date()).getFullYear());\r\n //}\r\n\r\n $('#saveSales').prop('disabled', true);\r\n $('#saveActivity').prop('disabled', true);\r\n\r\n }\r\n TaskQuota() { this.ActivityQuotacreateColumnDefsusers(); }\r\n SaleQuota() { this.SalesQuotacreateColumnDefsusers(\"\");}\r\n getYear() {\r\n var today = new Date();\r\n this.yy = today.getFullYear();\r\n for (var i = (this.yy - 100); i <= this.yy; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n onCellValueChanged(event) {\r\n this.sendMsgEvent.emit(\"Changed\");\r\n }\r\n SaveSalesQuotaData() {\r\n \r\n var rowdata = [];\r\n if (this.salesGridAPI != undefined) {\r\n \r\n this.salesGridAPI.forEachNode(function (node) {\r\n rowdata.push(node.data);\r\n });\r\n }\r\n $('#saveSales').prop('disabled', true);\r\n $('#saveSales').css(\"background\", \"#d3d3d3\");\r\n this.saveQuotadata(rowdata, $(\"#salesyearselected\").val());\r\n //this.applicationComponent.useraccountChange = false;\r\n }\r\n SaveActivityQuotaData() {\r\n var rowdata = [];\r\n if (this.activityGridAPI != undefined) {\r\n this.activityGridAPI.forEachNode(function (node) {\r\n rowdata.push(node.data);\r\n });\r\n //this.saveQuotadata(rowdata);\r\n }\r\n if (this.salesGridAPI != undefined) { \r\n this.salesGridAPI.forEachNode(function (node) {\r\n rowdata.push(node.data);\r\n }); \r\n }\r\n $('#saveActivity').prop('disabled', true);\r\n $('#saveActivity').css(\"background\", \"#d3d3d3 !important\");\r\n this.saveQuotadata(rowdata, $(\"#activityyearselected\").val());\r\n //$('#saveActivity').prop('disabled', true);\r\n //$('#saveActivity').css(\"background\", \"#d3d3d3 !important\");\r\n //this.applicationComponent.useraccountChange = false;\r\n }\r\n saveQuotadata(rowdata, year) {\r\n this.userquota = [];\r\n for (let user of rowdata) {\r\n user.userid = this.userid;\r\n this.userquota.push(user);\r\n }\r\n this.userquota[0].year = year;\r\n this.userservice.addquota(this.userquota).then(result => {\r\n this.toastr.success(\"User Quota saved successfully.\", \"User Quota Saved\", { timeOut: 600 });\r\n this.applicationComponent.SelectedTab = 'tab4';\r\n this.sendMsgEvent.emit(\"Close\");\r\n //this.applicationComponent.useraccountChange = false;\r\n });\r\n }\r\n initializeActivityQuotaAgGridConfiguration() {\r\n this.ActivityQuotagridOptions = {\r\n pagination: false, enableColResize: true, headerHeight: 40, enableSorting: true, enableFilter: false, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single', showToolPanel: false, toolPanelSuppressColumnFilter: false, floatingFilter: false\r\n\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.ActivityQuotacreateColumnDefsusers();\r\n this.ActivityQuotagridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n ActivityQuotacreateColumnDefsusers() {\r\n\r\n //const MonthNames = [\"Jan\", \"Feb\", \"Mar\", \"apr\", \"may\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n //const d = new Date();\r\n\r\n\r\n this.ActivityQuotacolumnDefs = [\r\n { field: 'Activity', headerName: 'Activity', hide: false, filter: false, suppressFilter: true, suppressSorting: true, suppressMenu: true },\r\n {\r\n field: 'goalmonthly', headerName: 'Goal (Monthly)', hide: false, headerClass: 'GoalHeaderclass', cellStyle: { color: 'red', cursor: 'text' }, editable: true,\r\n valueSetter: ActivitynameValueSetter, width: 100, filter: false, suppressFilter: true, suppressSorting: true, suppressMenu: true\r\n },\r\n { field: 'Jan', headerName: 'Jan', hide: false, headerClass: (this.currentMonth == 1) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, filter: false, suppressFilter: true, suppressSorting: true, suppressMenu: true },\r\n { field: 'JanPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, filter: false, suppressFilter: true, suppressSorting: true, suppressMenu: true },\r\n { field: 'Feb', headerName: 'Feb', hide: false, headerClass: (this.currentMonth == 2) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressFilter: true, suppressSorting: true, suppressMenu: true },\r\n { field: 'FebPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Mar', headerName: 'Mar', hide: false, headerClass: (this.currentMonth == 3) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'MarPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Apr', headerName: 'Apri', hide: false, headerClass: (this.currentMonth == 4) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'AprilPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'May', headerName: 'May', hide: false, headerClass: (this.currentMonth == 5) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'MayPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Jun', headerName: 'June', hide: false, headerClass: (this.currentMonth == 6) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'JunPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Jul', headerName: 'July', hide: false, headerClass: (this.currentMonth == 7) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'JulPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Aug', headerName: 'Aug', hide: false, headerClass: (this.currentMonth == 8) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'AugPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Sep', headerName: 'Sep', hide: false, headerClass: (this.currentMonth == 9) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'SepPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Oct', headerName: 'Oct', hide: false, headerClass: (this.currentMonth == 10) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'OctPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Nov', headerName: 'Nov', hide: false, headerClass: (this.currentMonth == 11) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'NovPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Dece', headerName: 'Dec', hide: false, headerClass: (this.currentMonth == 12) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true },\r\n { field: 'DecPercenatge', headerName: '%', hide: !this.isActivityQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n\r\n ];\r\n function ActivitynameValueSetter(params) {\r\n //this.applicationComponent.useraccountChange = true;\r\n params.data.goalmonthly = Number(params.newValue);\r\n params.data.JanPercenatge = ((params.data.Jan / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.FebPercenatge = ((params.data.Feb / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.MarPercenatge = ((params.data.Mar / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.AprilPercenatge = ((params.data.Apr / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.MayPercenatge = ((params.data.May / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.JunPercenatge = ((params.data.Jun / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.JulPercenatge = ((params.data.Jul / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.AugPercenatge = ((params.data.Aug / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.SepPercenatge = ((params.data.Sep / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.OctPercenatge = ((params.data.Oct / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.NovPercenatge = ((params.data.Nov / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.DecPercenatge = ((params.data.Dece / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n }\r\n \r\n function formatNumber(number) {\r\n return Math.floor(number)\r\n .toString()\r\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1,\");\r\n }\r\n\r\n }\r\n LoadActivityQuotaData(selecteduserid, selectedyear) { \r\n this.ActivityQuotadata = [];\r\n if (selecteduserid = 'undefined' ? this.currentuser.id : this.userid)\r\n this.leadservice.GetAllActivityQuotaList(this.userid.toString(), 'Activity', selectedyear).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.ActivityQuotadata = Owner;\r\n });\r\n\r\n this.initializeActivityQuotaAgGridConfiguration();\r\n \r\n }\r\n LoadSalesQuotaData(selecteduserid, selectedyear) {\r\n this.initializeSalesQuotaAgGridConfiguration();\r\n this.SalesQuotadata = [];\r\n if (selecteduserid = 'undefined' ? this.currentuser.id : selecteduserid)\r\n this.leadservice.GetAllActivityQuotaList(this.userid.toString(), this.type, selectedyear).then((SalesQuotadata) => {\r\n SalesQuotadata.forEach(SalesQuotadata => {\r\n });\r\n this.SalesQuotadata = SalesQuotadata;\r\n });\r\n\r\n }\r\n onActivityQuotaGridReady(event) {\r\n this.activityGridAPI = event.api;\r\n this.gridactivityColumnApi = event.columnApi;\r\n $(setTimeout(function () {\r\n }, 1000));\r\n \r\n }\r\n autoSizeAllActivityQuota() {\r\n var allColumnIds = [];\r\n this.gridactivityColumnApi.getAllColumns().forEach(function (column) {\r\n allColumnIds.push(column.colId);\r\n });\r\n this.gridactivityColumnApi.autoSizeColumns(allColumnIds);\r\n \r\n }\r\n onSalesQuotaGridReady(event) {\r\n this.salesGridAPI = event.api;\r\n }\r\n \r\n initializeSalesQuotaAgGridConfiguration() {\r\n this.SalesQuotagridOptions = {\r\n pagination: false, enableColResize: true, headerHeight: 40, enableSorting: true, enableFilter: false, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single', toolPanelSuppressColumnFilter: false, floatingFilter: false\r\n\r\n };\r\n\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n this.SalesQuotacreateColumnDefsusers(\"\");\r\n this.SalesQuotagridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n }\r\n SalesQuotacreateColumnDefsusers(columnSelections: string) {\r\n\r\n this.SalesQuotacolumnDefs = [\r\n {\r\n field: 'Activity', headerName: 'Activity', hide: false, filter: false, width: 150, suppressSorting: true, suppressMenu: true, },\r\n {\r\n field: 'goalmonthly', headerName: 'Goal (Monthly)', hide: false, headerClass: 'GoalHeaderclass', cellStyle: { color: 'red', cursor: 'text' }, editable: true,\r\n valueSetter: nameValueSetter, width: 120, filter: false, suppressFilter: true, suppressSorting: true, suppressMenu: true, ColId: 'goalMonthly', type: 'valueColumn'\r\n ,\r\n },\r\n {\r\n field: 'Jan', headerName: 'Jan', hide: false, headerClass: (this.currentMonth == 1) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, filter: false, suppressFilter: true, suppressSorting: true,suppressMenu: true, },\r\n { field: 'JanPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n {\r\n field: 'Feb', headerName: 'Feb', hide: false, headerClass: (this.currentMonth == 2) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, filter: false, suppressFilter: true, suppressSorting: true,suppressMenu: true,},\r\n { field: 'FebPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true},\r\n {\r\n field: 'Mar', headerName: 'Mar', hide: false, headerClass: (this.currentMonth == 3) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, filter: false, suppressFilter: true, suppressSorting: true,suppressMenu: true, },\r\n { field: 'MarPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Apr', headerName: 'Apri', hide: false, headerClass: (this.currentMonth == 4) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, filter: false, suppressFilter: false},\r\n { field: 'AprilPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'May', headerName: 'May', hide: false, headerClass: (this.currentMonth == 5) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true},\r\n { field: 'MayPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Jun', headerName: 'June', hide: false, headerClass: (this.currentMonth == 6) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true},\r\n { field: 'JunPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Jul', headerName: 'July', hide: false, headerClass: (this.currentMonth == 7) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65,suppressSorting: true, suppressMenu: true},\r\n { field: 'JulPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Aug', headerName: 'Aug', hide: false, headerClass: (this.currentMonth == 8) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true},\r\n { field: 'AugPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Sep', headerName: 'Sep', hide: false, headerClass: (this.currentMonth == 9) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true},\r\n { field: 'SepPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Oct', headerName: 'Oct', hide: false, headerClass: (this.currentMonth == 10) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true},\r\n { field: 'OctPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true},\r\n { field: 'Nov', headerName: 'Nov', hide: false, headerClass: (this.currentMonth == 11) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true},\r\n { field: 'NovPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n { field: 'Dece', headerName: 'Dec', hide: false, headerClass: (this.currentMonth == 12) ? 'ActivityQuotaHeaderclassCurrentMonth' : 'ActivityQuotaHeaderclass', width: 65, suppressSorting: true, suppressMenu: true},\r\n { field: 'DecPercenatge', headerName: '%', hide: !this.isSalesQuota, width: 65, cellStyle: { color: 'blue' }, suppressSorting: true, suppressMenu: true },\r\n\r\n ];\r\n function numberValueParser(params) {\r\n return Number(params.newValue);\r\n \r\n }\r\n function nameValueSetter(params) { \r\n params.data.goalmonthly = Number(params.newValue);\r\n params.data.JanPercenatge = ((params.data.Jan / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.FebPercenatge = ((params.data.Feb / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.MarPercenatge = ((params.data.Mar / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.AprilPercenatge = ((params.data.Apr / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.MayPercenatge = ((params.data.May / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.JunPercenatge = ((params.data.Jun / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.JulPercenatge = ((params.data.Jul / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.AugPercenatge = ((params.data.Aug / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.SepPercenatge = ((params.data.Sep / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.OctPercenatge = ((params.data.Oct / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.NovPercenatge = ((params.data.Nov / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n params.data.DecPercenatge = ((params.data.Dece / Number(params.newValue)) * 100).toFixed(2) + '%';\r\n // this.sendMsgEvent.emit(\"Change\");\r\n }\r\n function formatNumber(number) {\r\n return Math.floor(number)\r\n .toString()\r\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1,\");\r\n }\r\n }\r\n \r\n Dashboardtype(type) {\r\n this.Dashboardtypeval = type;\r\n if (type == \"userquota\") {\r\n if (this.user.Quotaid == 445) {\r\n } else {\r\n alert(\"This user Quota is set to “No – Quota”, Please change the User set up to Yes – Quota if you want to add a Quota for the User\");\r\n } \r\n }\r\n else {\r\n //this.initializeAgGrid();\r\n }\r\n if (type == 2) {\r\n document.getElementById('saveSales').style.display = 'none';\r\n document.getElementById('saveActivity').style.display = 'none';\r\n return false;\r\n }\r\n // $('.dashboardConfigButtonsSelected').attr('class', 'dashboardConfigButtons');\r\n // $('#' + type).attr('class', 'dashboardConfigButtonsSelected');\r\n }\r\n\r\n SelectedYear(year) {\r\n this.LoadSalesQuotaData(this.userid, year);\r\n }\r\n ActivitySelectedYear(year) {\r\n this.LoadActivityQuotaData(this.userid, year);\r\n }\r\n\r\n agGridRowSelected(event) {\r\n $('#saveSales').css(\"background\", \"#93d250\");\r\n $('#saveSales').prop('disabled', false);\r\n }\r\n agGridActivityRowSelected(event) {\r\n $('#saveActivity').css(\"background\", \"#93d250\");\r\n $('#saveActivity').prop('disabled', false);\r\n }\r\n closedUserQuotaEventListener() {\r\n var tab = localStorage.getItem('PrevUserConfigTab');\r\n if (this.applicationComponent.isClosedUserQuotaEventListener) {\r\n if (tab == \"tab4\") {\r\n this.SaveSalesQuotaData();\r\n this.SaveActivityQuotaData();\r\n }\r\n this.applicationComponent.isClosedUserQuotaEventListener = false;\r\n this.applicationComponent.isUserQuota = false;\r\n\r\n }\r\n return false;\r\n }\r\n \r\n}\r\n","
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \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 } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { GridOptions } from 'ag-grid';\r\nimport { Role } from '../../models/Role';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ApplicationComponent } from '../application.component';\r\n\r\n@Component({\r\n selector: 'user-role-configuration',\r\n templateUrl: './user-role-configuration.component.html',\r\n styleUrls: ['./user-role-configuration.component.css']\r\n})\r\nexport class UserRoleConfigurationComponent implements OnInit {\r\n @Input()\r\n selectedvalue: number;\r\n allRoles: Role[];\r\n public gridOptions: GridOptions;\r\n public columnDefs;\r\n public context; RoleForm = new FormGroup({});\r\n orole: Role = new Role();\r\n ShowRolesForm: boolean = false;\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n constructor(public applicationComponent: ApplicationComponent, private userservice: UserService) { }\r\n\r\n ngOnInit(): void {\r\n this.initializeAgGrid();\r\n this.RoleForm = new FormGroup({\r\n 'rolename': new FormControl(this.orole.rolename, Validators.nullValidator),\r\n 'Salesrep': new FormControl(this.orole.Salesrep, Validators.nullValidator),\r\n 'SortOrder': new FormControl(this.orole.SortOrder, Validators.nullValidator)\r\n\r\n });\r\n }\r\n onAgGridReady(event) { }\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true//, rowSelection: 'single'\r\n };\r\n this.LoadRoles();\r\n this.createColumnDefs();\r\n }\r\n close() {\r\n var url = window.location.href;\r\n this.applicationComponent.displayheader(url);\r\n }\r\n CancelRole() {\r\n this.ShowRolesForm = false;\r\n this.orole = new Role();\r\n }\r\n SaveRole() {\r\n this.userservice.saveRole(this.orole).then(result => {\r\n this.LoadRoles();\r\n this.orole = new Role();\r\n this.ShowRolesForm = false;\r\n });\r\n }\r\n LoadRoles() {\r\n this.userservice.GetAllRoles().then((Roles) => {\r\n this.allRoles = Roles;\r\n });\r\n }\r\n createColumnDefs() {\r\n let selfObj = this;\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false, outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n {\r\n headerName: \"User Role\",\r\n field: \"rolename\",\r\n hide: false\r\n\r\n },\r\n {\r\n headerName: \"Sales Rep\",\r\n field: \"Salesrep\",\r\n hide: false\r\n\r\n },\r\n {\r\n headerName: \"Sort Order\",\r\n field: \"SortOrder\",\r\n hide: false\r\n\r\n },\r\n {\r\n headerName: \"Actions\",\r\n field: \"Actions\", pinned:'right',width:100,\r\n hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.DeleteRole(params.data);\r\n });\r\n return eDiv;\r\n }\r\n\r\n },\r\n ];\r\n }\r\n DeleteRole(data) {\r\n this.orole = data;\r\n this.orole.isdeleted = 1;\r\n this.SaveRole();\r\n }\r\n onRoleSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) {\r\n if (event.api.getSelectedNodes()[0].data) {\r\n this.ShowRolesForm = true;\r\n this.orole = event.api.getSelectedNodes()[0].data;\r\n }\r\n } else {\r\n this.orole = new Role();\r\n }\r\n\r\n }\r\n}\r\n","
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n nameOfDay.substr(0,1)}\">\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      User List

      \r\n
      Save Changes to User List
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n","import { Component, OnInit, Input, Output, EventEmitter, } from '@angular/core';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\nimport { LeadsService } from 'src/app/services/leads.service';\r\nimport { Dropdowntype, Dropdown } from 'src/app/models/dropdowntype';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { ApplicationComponent } from '../application.component';\r\ndeclare var $: any;\r\nimport * as moment from 'moment';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { Projects } from '../../models/ProjectConfiguration';\r\nimport { Router } from '@angular/router';\r\nimport { TaskHistory } from '../../models/task-history';\r\nimport { OpprtunitiesService } from '../../services/opprtunities.service';\r\nimport { Opportunities } from '../../models/opportunities';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ProposalsModel } from '../../models/Proposalsmodel';\r\nimport { SalesProcessHistory } from '../../models/sales-process-history';\r\n\r\n@Component({\r\n selector: 'userdataheader',\r\n templateUrl: './userdataheader.component.html',\r\n styleUrls: ['./userdataheader.component.css']\r\n})\r\n\r\nexport class UserdataheaderComponent implements OnInit {\r\n @Input() parentComp: string;\r\n @Input() selectedItems = [];\r\n dropdownSetting = {};\r\n SingledropdownSetting = {};\r\n SingleSecondDrpSetting = {};\r\n SingleThirdDrpSetting = {};\r\n SingleFourthDrpSetting = {};\r\n SingleFifthDrpSetting = {};\r\n SingleSixthDrpSetting = {};\r\n SingleSeventhDrpSetting = {};\r\n eightDrpSetting = {};\r\n dropdownList = [];\r\n currentuser: any;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n pageSize = \"1000\";\r\n type: string = this.applicationComponent.pageViewed;\r\n calanderonoff: boolean = true;\r\n outProps: OutputPropsUserList = new OutputPropsUserList();\r\n secondDropdownList: Dropdowntype[] = [];\r\n thirdDropdownList: Dropdowntype[] = [];\r\n fourthDropdownList: Dropdowntype[] = [];\r\n fifthDropdownList: Dropdowntype[] = [];\r\n sixthDropdownList: Dropdowntype[] = [];\r\n SeventhDropdownList: Dropdowntype[] = [];\r\n eightDropdownList: Dropdowntype[] = [];\r\n MultiselectDropDownChanged: boolean = false;\r\n SaveUserListConfirmation: boolean = false;\r\n fourthDrpValue = 'Access(Login/Logout)'; Duplicatealltaskhistory: TaskHistory[];\r\n DupAllopportunities: Opportunities[];\r\n public startDatePickerOptions: IMyDpOptions = {\r\n dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' }\r\n };//dayLabels\r\n public startDateVal: any = moment(new Date(new Date().getFullYear(), new Date().getMonth(), 1)).format(\"MM-DD-YYYY\")\r\n public startDatePlaceHolder: string = 'Start: ' + moment(new Date(new Date().getFullYear(), new Date().getMonth(), 1)).format(\"MM-DD-YYYY\");\r\n timezonevalue: string;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false, dayLabels: { su: 'S', mo: 'M', tu: 'T', we: 'W', th: 'T', fr: 'F', sa: 'S' } };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;finalitems: any;\r\n public endDatePlaceHolder: string = 'End: ' + moment(new Date()).format(\"MM-DD-YYYY\");\r\n Displaysize = [{ \"id\": 545, \"itemName\": 'Display All Rows', \"category\": 'Rows' }];\r\n SecondDrpModel = [];\r\n secondDrpText = \"\";\r\n ThirdDrpModel = [];\r\n thirdDrpText = \"\";\r\n FourthDrpModel = [];\r\n fourthDrpText = \"\";\r\n FifthDrpModel = [];\r\n fifthDrpText = \"\";\r\n SixthDrpModel = [];\r\n SeventhDrpModel = [];\r\n eightDrpModel = [];\r\n sixthDrpText = \"\";\r\n CheckBoxAppended: boolean = false\r\n @Output()\r\n outPropsEvent = new EventEmitter();\r\n @Output()\r\n sendMsgEvent = new EventEmitter();\r\n DuplicateProjectsList: Projects[] = [];\r\n DupallLeads: SalesProcessHistory[];\r\n sendOutProps(outProps) {\r\n this.outPropsEvent.emit(outProps);\r\n }\r\n DropDownListBox: boolean = false;\r\n CalenderListView: boolean = false;\r\n isDisplayAccount: boolean = false;\r\n DupAllProposals: ProposalsModel[];\r\n constructor(private router: Router, private customerService: CustomerService, private LeadsService: LeadsService, public applicationComponent: ApplicationComponent, private opprtunityservice: OpprtunitiesService, private userService: UserService)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n //this.getSelectedUserList(this.currentuser.id);\r\n }\r\n\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n switch (pageSize) {\r\n case 'Display in 25 Rows': {\r\n this.outProps.pageSize = '25';\r\n break\r\n }\r\n case 'Display in 50 Rows': {\r\n this.outProps.pageSize = '50';\r\n break\r\n }\r\n case 'Display in 100 Rows': {\r\n this.outProps.pageSize = '100';\r\n break\r\n }\r\n case 'Display in 250 Rows': {\r\n this.outProps.pageSize = '250';\r\n break\r\n }\r\n case 'Display in 500 Rows': {\r\n this.outProps.pageSize = '500';\r\n break\r\n }\r\n case 'Display in 1000 Rows': {\r\n this.outProps.pageSize = '1000';\r\n break\r\n }case 'Display All Rows': {\r\n this.outProps.pageSize = '20000';\r\n break\r\n }\r\n default :{\r\n this.outProps.pageSize = pageSize;\r\n break;\r\n }\r\n }\r\n\r\n //this.outProps.pageSize = pageSize;\r\n this.outProps.pageSizeChanged = true;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n dateChange(event) {\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.outProps.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.outProps.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n\r\n this.applicationComponent.startVal = this.outProps.startDateVal;\r\n this.applicationComponent.endVal = this.outProps.endDateVal;\r\n this.applicationComponent.SearchstartVal = this.outProps.startDateVal;\r\n this.applicationComponent.SearchendVal = this.outProps.endDateVal;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n AssignStartAndEndDate(event) {\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.outProps.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.outProps.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n\r\n }\r\n calanderclick(val) {\r\n this.calanderonoff = val;\r\n if (this.calanderonoff == true) {\r\n \r\n this.startDateVal = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()) + '-01-01' : this.applicationComponent.startVal;\r\n this.outProps.startDateVal = this.startDateVal; \r\n this.startDatePlaceHolder= 'Start: 01-01-' + (new Date().getFullYear()).toString();\r\n this.endDateVal = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;\r\n this.outProps.endDateVal = this.endDateVal;\r\n this.endDatePlaceHolder = 'End: 12-31-' + new Date().getFullYear().toString() ;\r\n this.applicationComponent.SearchstartVal = moment(this.startDateVal).format(\"YYYY-MM-DD\")\r\n this.applicationComponent.SearchendVal = moment(this.endDateVal).format(\"YYYY-MM-DD\");\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n } else {\r\n \r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n var date = new Date();\r\n this.startDateVal = moment(new Date(date.getFullYear(), 1, 1)).format(\"YYYY-MM-DD\");\r\n this.outProps.startDateVal = this.startDateVal;\r\n this.startDatePlaceHolder = 'Start: ' + moment(new Date(date.getFullYear(), date.getMonth(), 1)).format(\"MM-DD-YYYY\");\r\n this.endDateVal = moment(new Date()).format(\"YYYY-MM-DD\");\r\n this.outProps.endDateVal = this.endDateVal;\r\n this.endDatePlaceHolder = 'End: ' + moment(new Date()).format(\"MM-DD-YYYY\");\r\n this.applicationComponent.SearchstartVal = moment(this.startDateVal).format(\"YYYY-MM-DD\")\r\n this.applicationComponent.SearchendVal = moment(this.endDateVal).format(\"YYYY-MM-DD\");\r\n }\r\n this.outProps.calanderonoff = val;\r\n this.outProps.pageSizeChanged = false;\r\n if (this.parentComp == \"Reports\" && this.outProps.fourthDrpValue == undefined) {\r\n this.outProps.fourthDrpValue = \"Access(Login/Logout)\";\r\n }\r\n\r\n this.assignOutPropsAndEmitEvent();\r\n\r\n \r\n }\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n Displaydata(SelectedVal) {\r\n if (SelectedVal == 'Accounts') {\r\n this.isDisplayAccount = false;\r\n this.router.navigateByUrl(`/application/account/Customer`); \r\n }\r\n else { \r\n this.router.navigateByUrl(`/application/customercontacts`);\r\n this.isDisplayAccount = true;\r\n }\r\n }\r\n SelectActivity(val) {\r\n if ( val != \"0\") {\r\n this.SingleSecondDrpSetting = {\r\n singleSelection: (this.parentComp == 'Projects') ? true : false,\r\n text: this.secondDrpText,\r\n disabled: (this.parentComp =='Projects')?false: true\r\n };\r\n } else {\r\n this.SingleSecondDrpSetting = {\r\n singleSelection: true,\r\n text: this.secondDrpText,\r\n disabled: false\r\n };\r\n }\r\n this.outProps.thirdDrpValue = val;\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n SelectCustomerType(val) {\r\n this.outProps.custType = val;\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n SelectedRows(val) {\r\n\r\n }\r\n SelectCustomer(str) {\r\n this.outProps.secondDrpValue = str;\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n SelectReportType(str) { \r\n this.fourthDrpValue = str;\r\n this.outProps.fourthDrpValue = str;\r\n this.outProps.pageSizeChanged = false; \r\n this.fifthDropdownList = []; \r\n if (str == \"Proposal Items\" || str == \"Contacts(SaaS Renewals)\" || str == \"Customer Contacts (LK)\" || str == \"Contacts(SaaS RCM)\") { \r\n this.customerService.GetSpecialityList(\"SaasContactType\", this.currentuser.id).then((Rows) => {\r\n this.fifthDropdownList = Rows;\r\n this.fifthDrpText = \"Active Contacts\";\r\n this.FifthDrpModel = [{ \"id\": 743, \"itemName\": \"Active Contacts\" }];\r\n });\r\n } else if (str == \"Customer Accounts\") {\r\n this.customerService.GetSpecialityList(\"Account Active or Inactive\", this.currentuser.id).then((Rows) => {\r\n this.fifthDropdownList = Rows;\r\n this.fifthDrpText = \"Active\";\r\n this.FifthDrpModel = [{ \"id\": 1, \"itemName\": \"Active\" }];\r\n });\r\n } else if (str == \"Customer Accounts Status\") {\r\n this.customerService.GetSpecialityList(\"Account Status\", this.currentuser.id).then((Rows) => {\r\n this.fifthDropdownList = Rows;\r\n this.fifthDrpText = \"On Hold\";\r\n this.FifthDrpModel = [{ \"id\": 15, \"itemName\": \"On Hold\" }];\r\n });\r\n }\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n\r\n SelectTaskListFilter(str) {\r\n this.outProps.fifthDrpValue = str;\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n\r\n if (this.parentComp === 'Accounts') {\r\n this.secondDrpText = \"Do Not Include Customers\";\r\n this.SecondDrpModel = [{ \"id\": 0, \"itemName\": 'Do Not Include Customers', \"category\": 'Non Customer', \"isdeleted\": 0, \"taskgroupid\": 0 }];\r\n }\r\n \r\n if (this.parentComp === 'CustContacts') {\r\n this.secondDrpText = \"Active\";\r\n this.SecondDrpModel = [{ \"id\": 1, \"itemName\": 'Active', \"category\": 'Customer', \"isdeleted\": 0, \"taskgroupid\": 0 }];\r\n }\r\n else if (this.parentComp === 'Tickets') {\r\n this.SeventhDropdownList = [];\r\n this.SeventhDropdownList.push({ \"id\": 0, \"itemName\": \"Include CC\", \"category\": 'cc', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n this.SeventhDropdownList.push({ \"id\": 1, \"itemName\": \"Do No Include CC\", \"category\": 'cc', \"isdeleted\": 0, \"taskgroupid\": 0 }); \r\n this.SeventhDrpModel = [{ \"id\": 1, \"itemName\": \"Do No Include CC\" }];\r\n\r\n this.eightDropdownList = [];\r\n this.eightDropdownList.push({ \"id\": 0, \"itemName\": \"NO - Display Aging\", \"category\": 'cc', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n this.eightDropdownList.push({ \"id\": 1, \"itemName\": \"YES - Display Aging\", \"category\": 'cc', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n this.eightDrpModel = [{ \"id\": 0, \"itemName\": \"NO - Display Aging\" }];\r\n } \r\n else if (this.parentComp === 'Calendar') {\r\n this.secondDrpText = \"All Tasks\";\r\n this.SecondDrpModel = [{ \"id\": 566, \"itemName\": \"All Tasks\" }];\r\n } else if (this.parentComp === 'Ticket') {\r\n this.secondDrpText = \"Display My Tickets First\";\r\n this.SecondDrpModel = [{ \"id\": 571, \"itemName\": \"Display My Tickets First\" }];\r\n } else if (this.parentComp === 'CallList') {\r\n this.secondDrpText = \"Open Call Lists\";\r\n this.SecondDrpModel = [{ \"id\": 579, \"itemName\": \"Open Call Lists\" }];\r\n } else if (this.parentComp === 'rhx' || this.parentComp === 'crm') {\r\n this.calanderonoff = false;\r\n this.secondDrpText = \"Todays History\";\r\n this.SecondDrpModel = [{ \"id\": 575, \"itemName\": \"Todays History\" }];\r\n } else if (this.parentComp === 'Profile') {\r\n this.secondDrpText = \"My Profile\";\r\n this.SecondDrpModel = [{ \"id\": 583, \"itemName\": \"My Profile\" }];\r\n } else if (this.parentComp === 'Projects') {\r\n this.customerService.getAllProjects(this.currentuser.id).then(res => {\r\n this.DuplicateProjectsList = res; \r\n this.applicationComponent.OpenProjects = this.DuplicateProjectsList.filter(x => x.ProjectStatusName == \"Open\").length;\r\n \r\n this.secondDrpText = \"Open (\" + this.applicationComponent.OpenProjects +\")\";\r\n this.SecondDrpModel = [{ \"id\": 666, \"itemName\": \"Open (\" + this.applicationComponent.OpenProjects +\")\" }];\r\n });\r\n \r\n } else if (this.parentComp === 'Campaigns') {\r\n this.secondDrpText = \"Open Campaign\";\r\n this.SecondDrpModel = [{ \"id\": 694, \"itemName\": \"Open Campaign\" }];\r\n }\r\n \r\n if (this.parentComp === 'Accounts' || this.parentComp === 'Customer') {\r\n this.fourthDrpText = \"All Activity\";\r\n \r\n this.FourthDrpModel = [{ \"id\": 567, \"itemName\": \"All Activity\" }];\r\n this.ThirdDrpModel = [{ \"id\": 0, \"itemName\": 'All Account Types', \"category\": 'All Account Types', \"isdeleted\": 0, \"taskgroupid\": 0 }];\r\n \r\n if (this.type !== 'Customer') {\r\n this.secondDrpText = \"Active\";\r\n this.SecondDrpModel = [{ \"id\": 1, \"itemName\": 'Active', \"category\": 'Non Customer', \"isdeleted\": 0, \"taskgroupid\": 0 }];\r\n } else {\r\n this.secondDrpText = \"Active\";\r\n this.SecondDrpModel = [{ \"id\": 1, \"itemName\": 'Active', \"category\": 'Customer', \"isdeleted\": 0, \"taskgroupid\": 0 }];\r\n }\r\n } else if (this.parentComp === 'Calendar') {\r\n this.thirdDrpText = \"Current Month\";\r\n this.ThirdDrpModel = [{ \"id\": 437, \"itemName\": \"Current Month\" }];\r\n } else if (this.parentComp === 'Ticket') {\r\n this.thirdDrpText = \"Display My CC Tickets\";\r\n this.ThirdDrpModel = [{ \"id\": 573, \"itemName\": \"Display My CC Tickets\" }];\r\n } else if (this.parentComp === 'Reports') {\r\n this.thirdDrpText = \"Standard Reports\";\r\n this.ThirdDrpModel = [{ \"id\": 600, \"itemName\": \"Standard Reports\" }];\r\n } else if (this.parentComp === 'AdminReports') {\r\n this.thirdDrpText = \"Standard Reports\";\r\n this.ThirdDrpModel = [{ \"id\": 601, \"itemName\": \"Admin Reports\" }];\r\n } else if (this.parentComp === 'Projects') {\r\n this.thirdDrpText = \"All Project Types\";\r\n this.ThirdDrpModel = [{ \"id\": 0, \"itemName\": \"All Project Types\" }];\r\n } else if (this.parentComp === 'Contact' || this.parentComp == 'CustContacts') {\r\n this.FourthDrpModel = [{ \"id\": 567, \"itemName\": \"All Activity\" }];\r\n this.thirdDrpText = \"All Contact Types\";\r\n this.ThirdDrpModel = [{ \"id\": 0, \"itemName\": 'All Contact Types', \"category\": 'All Contact Types', \"isdeleted\": 0, \"taskgroupid\": 0 }];\r\n } else if (this.parentComp === 'Proposal')\r\n {\r\n this.thirdDrpText = \"Include Pended Proposals\";\r\n this.ThirdDrpModel = [{ \"id\": 719, \"itemName\": \"Include Pended Proposals\" }];\r\n this.calanderonoff = false;\r\n }\r\n else if (this.parentComp === 'Forecasting' || this.parentComp === 'Opportunities') {\r\n this.thirdDrpText = \"Include Pended Opportunities\";\r\n this.ThirdDrpModel = [{ \"id\": 717, \"itemName\": \"Include Pended Opportunities\" }];\r\n this.calanderonoff = false;\r\n }\r\n if (this.parentComp === 'Reports') {\r\n this.fourthDrpText = \"Select Report\";\r\n this.FourthDrpModel = [{ \"id\": 0, \"itemName\": \"Select Report\" }];\r\n } else if (this.parentComp === 'AdminReports') {\r\n this.fourthDrpText = \"Select Admin Reports\";\r\n this.FourthDrpModel = [{ \"id\": 0, \"itemName\": \"Select Admin Reports\" }];\r\n } else if (this.parentComp === 'Projects') {\r\n this.fourthDrpText = \"List View\";\r\n this.FourthDrpModel = [{ \"id\": 664, \"itemName\": \"List View\" }];\r\n }\r\n\r\n if (this.parentComp === 'Accounts' || this.parentComp === 'Customer') {\r\n this.fifthDrpText = \"All Shared Accounts\";\r\n this.FifthDrpModel = [{ \"id\": 727, \"itemName\": \"All Shared Accounts\" }];\r\n } else if (this.parentComp === 'Contact' || this.parentComp === 'CustContacts') {\r\n this.fifthDrpText = \"All Shared Contacts\";\r\n this.FifthDrpModel = [{ \"id\": 729, \"itemName\": \"All Shared Contacts\" }];\r\n } else if (this.parentComp === 'AdminReports') {\r\n this.fifthDrpText = \"Active Contacts\";\r\n this.FifthDrpModel = [{ \"id\": 743, \"itemName\": \"Active Contacts\" }];\r\n }\r\n\r\n if (this.type === 'Customer' && this.parentComp !== 'CustContacts') {\r\n this.sixthDrpText = \"Display Accounts\";\r\n this.SixthDrpModel = [{ \"id\": 0, \"itemName\": \"Display Accounts\" }];\r\n } else if (this.parentComp === 'CustContacts') {\r\n this.sixthDrpText = \"Display Contacts\";\r\n this.SixthDrpModel = [{ \"id\": 0, \"itemName\": \"Display Contacts\" }];\r\n }\r\n \r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, 1, 0, 0).then((Owner) => {\r\n this.dropdownList = Owner;\r\n this.applicationComponent.dropdownList = Owner;\r\n \r\n });\r\n //if (this.parentComp == 'Contact') {\r\n // this.SingleSecondDrpSetting = {\r\n // singleSelection: false,\r\n // text: this.secondDrpText,\r\n // };\r\n //} else {\r\n this.SingleSecondDrpSetting = {\r\n singleSelection: true,\r\n text: this.secondDrpText,\r\n };\r\n //}\r\n this.SingleThirdDrpSetting = {\r\n singleSelection: true,\r\n text: this.thirdDrpText\r\n };\r\n\r\n this.SingleFourthDrpSetting = {\r\n singleSelection: true,\r\n text: this.fourthDrpText\r\n };\r\n this.SingleFifthDrpSetting = {\r\n singleSelection: true,\r\n text: this.fifthDrpText\r\n };\r\n this.SingleSixthDrpSetting = {\r\n singleSelection: true,\r\n text: this.sixthDrpText\r\n };\r\n this.SingleSeventhDrpSetting = {\r\n singleSelection: true,\r\n text: this.sixthDrpText\r\n };\r\n this.eightDrpSetting = {\r\n singleSelection: true\r\n };\r\n this.LoadData();\r\n this.finalitems += $(\"#userids\").val() + ',';\r\n let selfObj1 = this;\r\n\r\n $(\"#UserList .c-btn\").click(function () {\r\n selfObj1.AddSuspendInactiveDiv();\r\n selfObj1.DropDownListBox = !selfObj1.DropDownListBox;\r\n if (selfObj1.DropDownListBox == true) {\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n } else {\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", true);\r\n }\r\n });\r\n \r\n $(document).ready(function () {\r\n $(\"#checkDiv #UserList .c-btn\").click(function () {\r\n selfObj1.AddSuspendInactiveDiv();\r\n selfObj1.DropDownListBox = !selfObj1.DropDownListBox;\r\n if (selfObj1.DropDownListBox == true) {\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n } else {\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", true);\r\n }\r\n });\r\n });\r\n\r\n window.onclick = function (event) {\r\n var overlay = document.getElementsByClassName('col-md-12 divoverlay');\r\n if (event.target == overlay[0]) {\r\n selfObj1.DropDownListBox = false;\r\n } \r\n\r\n var cbtn = document.getElementsByClassName('c-btn');\r\n var clist = document.getElementsByClassName('c-list');\r\n var cinput = document.getElementsByClassName('c-input ng-pristine ng-valid ng-star-inserted ng-touched');//done\r\n var selectall = document.getElementsByClassName('pure-checkbox select-all ng-star-inserted');// done\r\n var purecheckbox = document.getElementsByClassName('pure-checkbox ng-star-inserted selected-item');// done\r\n var lazyContainer = document.getElementsByClassName('dropdown-list animated fadeIn');\r\n var lazy = document.getElementsByClassName('lazyContainer');\r\n\r\n var SuspendInactiveDiv = document.getElementById('SuspendInactiveDiv');\r\n var Inactive = document.getElementById('Inactive');\r\n var suspended = document.getElementById('suspended');\r\n var MultiUserSave = document.getElementById('MultiUserSave');\r\n if (event.target == clist || event.target == Inactive || event.target == suspended || event.target == cbtn || event.srcElement == cinput[0] || event.srcElement == selectall[1] || event.srcElement == purecheckbox[1] || (event.target.parentNode && lazy[1] != undefined && (event.target.parentNode.className == lazy[1].className)) || event.target == MultiUserSave || event.target == SuspendInactiveDiv || event.target == lazyContainer) {\r\n \r\n } else {\r\n if (selfObj1.MultiselectDropDownChanged == true) {\r\n selfObj1.SaveUserListConfirmation = true;\r\n selfObj1.SaveUserListConfirmationCss();\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n AddSuspendInactiveDiv() {\r\n if (this.CheckBoxAppended != true) {\r\n var mydiv = document.getElementsByClassName(\"pure-checkbox select-all ng-star-inserted\");\r\n var Headerdiv = document.createElement('div');\r\n Headerdiv.id = \"Header\";\r\n Headerdiv.className = \"col-xs-12 UserListHeader\";\r\n mydiv[1].parentNode.insertBefore(Headerdiv, mydiv[1].previousSibling);\r\n\r\n var UserListlabel = document.createElement('label'); // creating label for checkbox \r\n UserListlabel.htmlFor = \"UserList\"; // assigning attributes for\r\n UserListlabel.id = \"UserList\";\r\n \r\n UserListlabel.appendChild(document.createTextNode(' User List '));\r\n $('#Header').append(UserListlabel);\r\n ////////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n var ButtonsDiv = document.createElement('div');\r\n ButtonsDiv.id = \"ButtonsDiv\";\r\n ButtonsDiv.className = \"col-xs-12 UserListButtons\";\r\n mydiv[1].parentNode.insertBefore(ButtonsDiv, mydiv[1].previousSibling);\r\n\r\n var cancelDiv = document.createElement('div');\r\n cancelDiv.id = \"cancelDiv\";\r\n cancelDiv.className = \"col-xs-6\";\r\n $('#ButtonsDiv').append(cancelDiv);\r\n\r\n var SaveDiv = document.createElement('div');\r\n SaveDiv.id = \"SaveDiv\";\r\n SaveDiv.className = \"col-xs-6\";\r\n $('#ButtonsDiv').append(SaveDiv);\r\n\r\n var CancelButton = document.createElement('button');\r\n CancelButton.textContent = 'Cancel'; CancelButton.className = 'MultiselectCancelButton'; CancelButton.value = \"Cancel\"; CancelButton.title = 'Cancel'; CancelButton.id = \"MultiUserCancel\"\r\n $('#cancelDiv').append(CancelButton);\r\n\r\n var SaveChanges = document.createElement('button');\r\n SaveChanges.textContent = 'Save'; SaveChanges.className = 'MultiselectSaveButton'; SaveChanges.value = \"Save\"; SaveChanges.title = 'Save'; SaveChanges.id = \"MultiUserSave\"\r\n $('#SaveDiv').append(SaveChanges);\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n\r\n var SuspendInactiveDiv = document.createElement('div');\r\n SuspendInactiveDiv.id = \"SuspendInactiveDiv\";\r\n SuspendInactiveDiv.className = \"col-xs-12 Banoos\";\r\n mydiv[1].parentNode.insertBefore(SuspendInactiveDiv, mydiv[1].previousSibling);\r\n\r\n\r\n var ActiveDiv = document.createElement('div');\r\n ActiveDiv.id = \"ActiveDiv\";\r\n ActiveDiv.className = \"col-xs-3\";\r\n $('#SuspendInactiveDiv').append(ActiveDiv);\r\n\r\n var inActiveDiv = document.createElement('div'); // creating checkbox element\r\n inActiveDiv.id = \"inActiveDiv\";\r\n inActiveDiv.className = \"col-xs-4\";\r\n $('#SuspendInactiveDiv').append(inActiveDiv);\r\n\r\n var suspendDiv = document.createElement('div'); // creating checkbox element\r\n suspendDiv.id = \"suspendDiv\";\r\n suspendDiv.className = \"col-xs-5\";\r\n $('#SuspendInactiveDiv').append(suspendDiv);\r\n\r\n\r\n var ActiveCheckBox = document.createElement('input'); // creating checkbox element \r\n ActiveCheckBox.type = \"checkbox\"; // Assigning the attributes \r\n ActiveCheckBox.name = \"Active\";\r\n ActiveCheckBox.value = \"Active\";\r\n ActiveCheckBox.checked = true;\r\n ActiveCheckBox.id = \"Active\";\r\n var ActiveLabel = document.createElement('label'); // creating label for checkbox \r\n ActiveLabel.htmlFor = \"Active\"; // assigning attributes for\r\n ActiveLabel.id = \"ActiveLabel\";\r\n ActiveLabel.appendChild(document.createTextNode(' Active ')); // appending the created text to \r\n\r\n $('#ActiveDiv').append(ActiveCheckBox);\r\n $('#ActiveDiv').append(ActiveLabel);\r\n\r\n\r\n var InactiveCheckbox = document.createElement('input'); // creating checkbox element \r\n InactiveCheckbox.type = \"checkbox\"; // Assigning the attributes \r\n InactiveCheckbox.name = \"Inactive\";\r\n InactiveCheckbox.value = \"Inactive\";\r\n InactiveCheckbox.id = \"Inactive\";\r\n var InactiveLabel = document.createElement('label'); // creating label for checkbox \r\n InactiveLabel.htmlFor = \"Inactive\"; // assigning attributes for\r\n InactiveLabel.id = \"InactiveLabel\";\r\n InactiveLabel.appendChild(document.createTextNode(' Inactive ')); // appending the created text to \r\n\r\n $('#inActiveDiv').append(InactiveCheckbox);\r\n $('#inActiveDiv').append(InactiveLabel);\r\n\r\n\r\n var SuspendedCheckbox = document.createElement('input'); // creating checkbox element \r\n SuspendedCheckbox.type = \"checkbox\"; // Assigning the attributes \r\n SuspendedCheckbox.name = \"suspended\";\r\n SuspendedCheckbox.value = \"suspended\";\r\n SuspendedCheckbox.id = \"suspended\";\r\n var SuspendedLabel = document.createElement('label'); // creating label for checkbox \r\n SuspendedLabel.htmlFor = \"suspended\"; // assigning attributes for\r\n SuspendedLabel.id = 'suspendedLabel';\r\n SuspendedLabel.appendChild(document.createTextNode(' Suspended')); // appending the created text to \r\n\r\n $('#suspendDiv').append(SuspendedCheckbox);\r\n $('#suspendDiv').append(SuspendedLabel);\r\n this.CheckBoxAppended = true;\r\n $('#cancelDiv').attr('style', 'display:none;');\r\n $('#SaveDiv').attr('style', 'display:none;');\r\n $('#ActiveDiv').attr('style', 'display:flex;width:30%');\r\n $('#inActiveDiv').attr('style', 'padding:0;display:flex;width:30%');\r\n $('#suspendDiv').attr('style', 'padding:0;;display:flex;width:40%');\r\n\r\n $('#ActiveLabel').attr('style', 'margin-left:4%');\r\n $('#InactiveLabel').attr('style', 'margin-left:4%');\r\n $('#suspendedLabel').attr('style', 'margin-left:4%');\r\n }\r\n let self = this;\r\n document.getElementById('Active').onclick = function inactiveclick() {\r\n self.GetAllaccesusersListbyuser();\r\n }\r\n\r\n document.getElementById('Inactive').onclick = function inactiveclick() {\r\n self.GetAllaccesusersListbyuser();\r\n }\r\n\r\n document.getElementById('suspended').onclick = function inactiveclick() {\r\n self.GetAllaccesusersListbyuser();\r\n }\r\n\r\n document.getElementById('MultiUserSave').onclick = function MultiUserSaveclick() {\r\n self.MultiUserSaveclicked();\r\n\r\n }\r\n document.getElementById('MultiUserCancel').onclick = function MultiUserSaveclick() {\r\n self.MultiUserCancelClicked();\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n MultiUserCancelClicked() {\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", true);\r\n\r\n this.MultiselectDropDownChanged = false;\r\n this.SaveUserListConfirmation = false;\r\n this.DropDownListBox = false;\r\n this.applicationComponent.selectedItems = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n\r\n }\r\n this.SaveConfirm('No');\r\n }\r\n MultiUserSaveclicked() {\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n \r\n this.MultiselectDropDownChanged = false;\r\n this.SaveUserListConfirmation = false;\r\n this.DropDownListBox = false;\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", true);\r\n //});\r\n }\r\n\r\n getSelectedUserList(val) {\r\n //this.customerService.getSelectedUserList(val).then(res => {\r\n // if (res.length > 0) {\r\n // this.applicationComponent.selectedItems = res\r\n // } else {\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n $(\"#userids\").val(this.currentuser.id);\r\n // }\r\n \r\n //});\r\n }\r\n \r\n\r\n \r\n GetAllaccesusersListbyuser() {\r\n var active = $('#Active').prop(\"checked\") ? 1 : 0;\r\n var inactive = $('#Inactive').prop(\"checked\") ? 1 : 0;\r\n var suspended = $('#suspended').prop(\"checked\") ? 1 : 0;\r\n this.customerService.GetAllaccesusersListbyuser(this.currentuser.id, active, inactive, suspended).then((Owner) => {\r\n this.dropdownList = Owner;\r\n this.applicationComponent.dropdownList = Owner;\r\n \r\n });\r\n }\r\n LoadData() {\r\n\r\n if (this.parentComp === 'Accounts' || this.parentComp === 'Customer' || this.parentComp === 'Contact' || this.parentComp === 'CustContacts') {\r\n this.customerService.GetSpecialityList(\"Account Active or Inactive\", this.currentuser.id).then((Rows) => {\r\n this.secondDropdownList = [];\r\n Rows.forEach(ele => {\r\n this.secondDropdownList.push(ele);\r\n });\r\n if (this.parentComp === 'Contact') {\r\n this.secondDrpText = this.secondDropdownList[0].itemName;\r\n this.SecondDrpModel = [{ \"id\": this.secondDropdownList[0].id, \"itemName\": this.secondDropdownList[0].itemName, \"category\": this.secondDropdownList[0].category, \"isdeleted\": 0, \"taskgroupid\": 0 }];\r\n }\r\n });\r\n } else if (this.parentComp === 'Lead') { \r\n this.customerService.GetSpecialityList(\"LeadType\", this.currentuser.id).then((Rows) => { \r\n \r\n \r\n this.LeadsService.GetAllLeadsList(\"All\", $(\"#userids\").val(), '2018-01-01', this.endDateVal, \"null\", 1, 1000, this.currentuser.id).then((res) => {\r\n this.DupallLeads = res;\r\n \r\n this.applicationComponent.AllLeadCount = this.DupallLeads.length;\r\n this.applicationComponent.OpenLeadCount = this.DupallLeads.filter(x => x.leadstatus == 'Open').length;\r\n this.applicationComponent.ClosedLeadCount = this.DupallLeads.filter(x => (x.leadstatus == 'Closed' || x.leadstatus == 'Completed')).length;\r\n this.secondDropdownList = [];\r\n Rows.forEach(row => {\r\n this.secondDropdownList.push({\r\n \"id\": row.id,\r\n \"itemName\": row.itemName + \"(\" + (row.itemName.startsWith(\"Open\")? this.applicationComponent.OpenLeadCount : row.itemName.startsWith(\"Closed\") ? this.applicationComponent.ClosedLeadCount : this.applicationComponent.AllLeadCount)+ \")\",\r\n \"category\": row.category\r\n , \"isdeleted\": 0, \"taskgroupid\": row.taskgroupid\r\n });\r\n });\r\n this.secondDrpText = \" Open Leads(\" + this.applicationComponent.OpenLeadCount.toString() + \")\";\r\n this.SecondDrpModel = [{ \"id\": 558, \"itemName\": \" Open Leads(\" + this.applicationComponent.OpenLeadCount.toString() + \")\" }];\r\n });\r\n \r\n });\r\n } else if (this.parentComp === 'Proposal') {\r\n this.customerService.GetSpecialityList(\"ProposalType\", this.currentuser.id).then((Rows) => { \r\n \r\n this.userService.GetAllProposals($(\"#userids\").val(), \"All Proposals\", 1, (this.calanderonoff) ? this.applicationComponent.startVal : '2018-01-01', this.applicationComponent.endVal).then(res => {\r\n this.DupAllProposals = res; \r\n this.applicationComponent.OpenPropCount = this.DupAllProposals.filter(x => x.status == '108').length;\r\n this.applicationComponent.ClosedPropCount = this.DupAllProposals.filter(x => x.status == '110' || x.status == '109').length;\r\n this.applicationComponent.AllPropCount = this.DupAllProposals.length;\r\n this.secondDropdownList = [];\r\n Rows.forEach(row => {\r\n this.secondDropdownList.push({\r\n \"id\": row.id,\r\n \"itemName\": row.itemName + \"(\" + ((row.itemName.startsWith(\"Open\")) ? this.applicationComponent.OpenPropCount : (row.itemName.startsWith(\"Closed\")) ? this.applicationComponent.ClosedPropCount : (row.itemName.startsWith(\"All\")) ? this.applicationComponent.AllPropCount : this.applicationComponent.PendedPropCount) + \")\",\r\n \"category\": row.category\r\n , \"isdeleted\": 0, \"taskgroupid\": row.taskgroupid\r\n });\r\n });\r\n this.secondDrpText = \" Open Proposals(\" + this.applicationComponent.OpenPropCount.toString() + \")\";\r\n this.SecondDrpModel = [{ \"id\": 558, \"itemName\": \" Open Proposals(\" + this.applicationComponent.OpenPropCount.toString() + \")\" }];\r\n });\r\n });\r\n this.customerService.GetSpecialityList(\"Proposal\", this.currentuser.id).then((Rows) => {\r\n this.thirdDropdownList = Rows;\r\n });\r\n } else if (this.parentComp === 'Opportunities') {\r\n this.customerService.GetSpecialityList(\"OpportunitiesType\", this.currentuser.id).then((Rows) => {\r\n \r\n this.opprtunityservice.GetAllOpportunitiesList(\"All Opportunities\", $(\"#userids\").val(), '2018-01-01', this.endDateVal, 'null', this.currentuser.id, true).then((res) => {\r\n this.DupAllopportunities = res;\r\n this.applicationComponent.OpenOpporCount = this.DupAllopportunities.filter(x => x.status == '108').length;\r\n this.applicationComponent.LostOpporCount = this.DupAllopportunities.filter(x => x.status == '110').length;\r\n this.applicationComponent.PendedOpporCount = this.DupAllopportunities.filter(x => x.isPended=='1').length;\r\n this.applicationComponent.WonOpporCount = this.DupAllopportunities.filter(x => x.status == '109').length;\r\n this.applicationComponent.AllOpporCount = this.DupAllopportunities.length;\r\n this.secondDropdownList = [];\r\n Rows.forEach(row => {\r\n this.secondDropdownList.push({\r\n \"id\": row.id,\r\n \"itemName\": row.itemName + \"(\" + ((row.itemName.startsWith(\"Open\")) ? this.applicationComponent.OpenOpporCount : (row.itemName.startsWith(\"Lost\")) ? this.applicationComponent.LostOpporCount : (row.itemName.startsWith(\"All\")) ? this.applicationComponent.AllOpporCount : (row.itemName.startsWith(\"Pended\")) ? this.applicationComponent.PendedOpporCount : this.applicationComponent.WonOpporCount) + \")\",\r\n \"category\": row.category\r\n , \"isdeleted\": 0, \"taskgroupid\": row.taskgroupid\r\n });\r\n });\r\n this.secondDrpText = \" Open Opportunities(\" + this.applicationComponent.OpenOpporCount.toString() + \")\";\r\n this.SecondDrpModel = [{ \"id\": 561, \"itemName\": \" Open Opportunities(\" + this.applicationComponent.OpenOpporCount.toString() + \")\" }];\r\n });\r\n });\r\n this.customerService.GetSpecialityList(\"Forecast\", this.currentuser.id).then((Rows) => {\r\n this.thirdDropdownList = Rows;\r\n });\r\n } else if (this.parentComp === 'Forecasting') {\r\n this.customerService.GetSpecialityList(\"Forecast\", this.currentuser.id).then((Rows) => {\r\n this.thirdDropdownList = Rows;\r\n });\r\n } else if (this.parentComp === 'TaskList' || this.parentComp === 'crm' || this.parentComp === 'Calendar') {\r\n this.calanderonoff = false;\r\n this.customerService.GetSpecialityList(\"TaskListType\", this.currentuser.id).then((Rows) => { \r\n \r\n this.LeadsService.GetAllTaskHistory(\"All Tasks\", $(\"#userids\").val(), '2018-01-01', this.endDateVal, 'null', 'tasklist', this.currentuser.timezone).then((res) => {\r\n this.Duplicatealltaskhistory = res;\r\n this.applicationComponent.OpenTaskCount = this.Duplicatealltaskhistory.filter(x => x.status.startsWith(\"Open\")).length;\r\n this.applicationComponent.NotCompletedTaskCount = this.Duplicatealltaskhistory.filter(x => x.status.startsWith(\"Not\")).length;\r\n this.applicationComponent.CompletedTaskcount = this.Duplicatealltaskhistory.filter(x => x.status.startsWith(\"Complete\")).length;\r\n this.applicationComponent.Alltaskcount = this.Duplicatealltaskhistory.length;\r\n this.secondDropdownList = [];\r\n Rows.forEach(row => {\r\n this.secondDropdownList.push({\r\n \"id\": row.id,\r\n \"itemName\": row.itemName + \"(\" + ((row.itemName.startsWith(\"Open\")) ? this.applicationComponent.OpenTaskCount : (row.itemName.startsWith(\"Completed\")) ? this.applicationComponent.CompletedTaskcount : (row.itemName.startsWith(\"Not\")) ? this.applicationComponent.NotCompletedTaskCount : (row.itemName.startsWith(\"All\")) ? this.applicationComponent.Alltaskcount : this.applicationComponent.Alltaskcount) + \")\",\r\n \"category\": row.category\r\n , \"isdeleted\": 0, \"taskgroupid\": row.taskgroupid\r\n });\r\n });\r\n this.secondDrpText = \"Open Tasks(\" + this.applicationComponent.OpenTaskCount.toString() + \")\";\r\n this.SecondDrpModel = [{ \"id\": 564, \"itemName\": \"Open Tasks (\" + this.applicationComponent.OpenTaskCount.toString() + \")\" }];\r\n });\r\n \r\n });\r\n } else if (this.parentComp === 'Ticket') {\r\n this.customerService.GetSpecialityList(\"TicketFilter\", this.currentuser.id).then((Rows) => {\r\n this.secondDropdownList = Rows;\r\n });\r\n } else if (this.parentComp === 'CallList') {\r\n this.customerService.GetSpecialityList(\"CallListStatus\", this.currentuser.id).then((Rows) => {\r\n this.secondDropdownList = Rows;\r\n }); \r\n } else if (this.parentComp === 'rhx') {\r\n this.customerService.GetSpecialityList(\"RecentHistoryFilter\", this.currentuser.id).then((Rows) => {\r\n this.secondDropdownList = Rows;\r\n }); \r\n } else if (this.parentComp === 'Profile') {\r\n this.customerService.GetSpecialityList(\"ProfileViewTypes\", this.currentuser.id).then((Rows) => {\r\n this.secondDropdownList = Rows;\r\n }); \r\n } else if (this.parentComp === 'Projects' || this.parentComp === 'ViewProject') {\r\n this.customerService.GetSpecialityList(\"Project Status\", this.currentuser.id).then((Rows) => {\r\n \r\n Rows.forEach(row => {\r\n this.customerService.getAllProjects(this.currentuser.id).then(res => {\r\n this.DuplicateProjectsList = res;\r\n this.applicationComponent.OpenProjects = this.DuplicateProjectsList.filter(x => x.ProjectStatusName == \"Open\").length;\r\n this.applicationComponent.PendedProjects = this.DuplicateProjectsList.filter(x => x.ProjectStatusName == \"Pended\").length;\r\n this.applicationComponent.CancelledProjects = this.DuplicateProjectsList.filter(x => x.ProjectStatusName == \"Cancelled\").length;\r\n this.applicationComponent.CompleteProjects = this.DuplicateProjectsList.filter(x => x.ProjectStatusName == \"Complete\").length;\r\n this.applicationComponent.AllProjects = this.DuplicateProjectsList.length;\r\n this.secondDropdownList = [];\r\n this.secondDropdownList.push({\r\n \"id\": row.id,\r\n \"itemName\": row.itemName + \"(\" + ((row.itemName.trim() == \"Open\") ? this.applicationComponent.OpenProjects : (row.itemName.trim() == \"Pended\") ? this.applicationComponent.PendedProjects : (row.itemName.trim() == \"Cancelled\") ? this.applicationComponent.CancelledProjects : (row.itemName.trim() == \"Complete\") ? this.applicationComponent.CompleteProjects : this.applicationComponent.AllProjects) + \")\",\r\n \"category\": row.category\r\n , \"isdeleted\": 0, \"taskgroupid\": row.taskgroupid\r\n });\r\n if (localStorage.getItem('projecttype') != null) {\r\n\r\n if (localStorage.getItem('projecttype') == \"Pended\") {\r\n this.secondDrpText = \"Pended(\" + this.applicationComponent.PendedProjects.toString() + \")\";\r\n this.SecondDrpModel = [{ \"id\": 3, \"itemName\": \"Pended(\" + this.applicationComponent.PendedProjects.toString() + \")\" }];\r\n this.outProps.secondDrpValue = \"Pended\";\r\n }\r\n else if (localStorage.getItem('projecttype') == \"Cancelled\") {\r\n this.secondDrpText = \"Cancelled(\" + this.applicationComponent.CancelledProjects.toString() + \")\";\r\n this.SecondDrpModel = [{ \"id\": 3, \"itemName\": \"Cancelled(\" + this.applicationComponent.CancelledProjects.toString() + \")\" }];\r\n this.outProps.secondDrpValue = \"Cancelled\";\r\n }\r\n else if (localStorage.getItem('projecttype') == \"Complete\") {\r\n this.secondDrpText = \"Complete(\" + this.applicationComponent.CompleteProjects.toString() + \")\";\r\n this.SecondDrpModel = [{ \"id\": 3, \"itemName\": \"Complete(\" + this.applicationComponent.CompleteProjects.toString() + \")\" }];\r\n this.outProps.secondDrpValue = \"Complete\";\r\n }\r\n\r\n }\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n });\r\n\r\n });\r\n });\r\n \r\n } else if (this.parentComp === 'Campaigns') {\r\n this.customerService.GetSpecialityList(\"CampaignStatus\", this.currentuser.id).then((Rows) => {\r\n this.secondDropdownList = Rows;\r\n }); \r\n }\r\n else if (this.parentComp === 'Tickets') {\r\n var cc = (this.SeventhDrpModel.map(x => x.id)[0] == 1) ? false : true;\r\n this.customerService.GetTicketsList('All Tickets', \"My Tickets Only\", this.currentuser.id, \"None\", cc, \"null\").then((ticketscount) => {\r\n this.applicationComponent.OpenTicketCount = ticketscount.filter(p => p.TicketStatus == 1).length;\r\n\r\n this.applicationComponent.OnHoldTicketCount = ticketscount.filter(p => p.TicketStatus == 2).length;\r\n this.applicationComponent.PendedTicketCount = ticketscount.filter(p => p.TicketStatus == 3).length;\r\n this.applicationComponent.ClosedTicketCount = ticketscount.filter(p => p.TicketStatus == 4).length + ticketscount.filter(p => p.TicketStatus == 5).length;\r\n\r\n this.applicationComponent.AllTicketCount = ticketscount.length;\r\n\r\n \r\n this.secondDropdownList = [];\r\n this.secondDropdownList.push({ \"id\": 0, \"itemName\": \"--Select--\", \"category\": 'All Account Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n this.secondDropdownList.push({ \"id\": 1, \"itemName\": \" Open (\" + this.applicationComponent.OpenTicketCount.toString() + \")\", \"category\": 'All Account Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n\r\n this.secondDropdownList.push({ \"id\": 2, \"itemName\": \"Pended (\" + this.applicationComponent.PendedTicketCount.toString() + \")\", \"category\": 'All Account Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n\r\n this.secondDropdownList.push({ \"id\": 3, \"itemName\": \"Closed (\" + this.applicationComponent.ClosedTicketCount.toString() + \")\", \"category\": 'All Account Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n\r\n this.secondDropdownList.push({ \"id\": 4, \"itemName\": \"On - Hold (\" + this.applicationComponent.OnHoldTicketCount.toString() + \")\", \"category\": 'All Account Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n\r\n this.secondDropdownList.push({ \"id\": 5, \"itemName\": \"Deleted (\" + this.applicationComponent.DeleteTicketCount.toString() + \")\", \"category\": 'All Account Types', \"isdeleted\": 0, \"taskgroupid\": 0 });\r\n\r\n this.secondDrpText = \"Open (\" + this.applicationComponent.OpenTicketCount.toString() + \")\";\r\n this.SecondDrpModel = [{ \"id\": 1, \"itemName\": \"Open (\" + this.applicationComponent.OpenTicketCount.toString() + \")\" }];\r\n \r\n });\r\n \r\n }\r\n if (this.parentComp === 'Accounts' || this.parentComp === 'Customer') {\r\n \r\n this.customerService.GetSpecialityList(\"Account Type\", this.currentuser.id).then((Rows) => { \r\n this.thirdDropdownList = Rows; \r\n });\r\n\r\n } else if (this.parentComp === 'Calendar') {\r\n this.customerService.GetSpecialityList(\"calenderView\", this.currentuser.id).then((Rows) => {\r\n this.thirdDropdownList = Rows;\r\n }); \r\n } else if (this.parentComp === 'Ticket') {\r\n this.customerService.GetSpecialityList(\"TicketCCFilter\", this.currentuser.id).then((Rows) => {\r\n this.thirdDropdownList = Rows;\r\n }); \r\n } else if (this.parentComp === 'Reports' || this.parentComp === 'AdminReports') {\r\n this.customerService.GetSpecialityList(\"Reports\", this.currentuser.id).then((Rows) => {\r\n this.thirdDropdownList = Rows;\r\n });\r\n } else if (this.parentComp === 'Projects') {\r\n this.customerService.GetProjectFields(this.currentuser.id).then(result => { \r\n result.forEach(ele => {\r\n if (ele.DataType == 'Pick List' || ele.DataType == 'System Lookup') {\r\n\r\n if (ele.ColumnName == \"ProjectType\") {\r\n this.thirdDropdownList.push({ \"id\": 0, \"itemName\":'All Project Types', \"category\": 'Project Type', \"isdeleted\": 0, \"taskgroupid\": 0 })\r\n this.customerService.GetProjectPickListData(ele.ProjectFieldId, ele.FieldName, this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(data => {\r\n this.thirdDropdownList.push({ \"id\": data.DataId, \"itemName\": data.itemName, \"category\": 'Project Type', \"isdeleted\": 0, \"taskgroupid\": 0 })\r\n });\r\n });\r\n }\r\n }\r\n })\r\n });\r\n \r\n } else if (this.parentComp === 'Contact' || (this.parentComp == 'CustContacts')) {\r\n this.customerService.GetSpecialityList(\"Contact Type\", this.currentuser.id).then((Rows) => {\r\n this.thirdDropdownList = Rows;\r\n //this.thirdDropdownList.push({ \"id\": 0, \"itemName\": 'All Contact Types', \"category\": 'All Contact Types', \"isdeleted\": 0, \"taskgroupid\": 0 })\r\n //Rows.forEach(ele => {\r\n // this.thirdDropdownList.push(ele);\r\n //});\r\n });\r\n }\r\n\r\n if (this.parentComp === 'Reports') {\r\n this.customerService.GetSpecialityList(\"ReportType\", this.currentuser.id).then((Rows) => {\r\n this.fourthDropdownList = Rows.sort((a, b) => a.itemName > b.itemName ? 1 : -1);\r\n this.fourthDropdownList = this.fourthDropdownList.filter(x => x.itemName!=\"Audit Log\" && !x.itemName.includes(\"User Access\") && !x.itemName.includes(\"Users Logged In\")\r\n && !x.itemName.includes(\"Proposal Items\") && !x.itemName.includes(\"Contacts(SaaS Renewals)\") && !x.itemName.includes(\"Contacts(SaaS RCM)\")\r\n && !x.itemName.includes(\"Customer Accounts\") && !x.itemName.includes(\"Customer Accounts Status\") && !x.itemName.includes(\"Customer Contacts (LK)\"));\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"Task List Sort By\", this.currentuser.id).then((Rows) => {\r\n this.fifthDropdownList = Rows;\r\n });\r\n\r\n } else if (this.parentComp === 'AdminReports') {\r\n \r\n this.customerService.GetSpecialityList(\"ReportType\", this.currentuser.id).then((Rows) => {\r\n this.fourthDropdownList = Rows;\r\n this.fourthDropdownList = Rows.sort((a, b) => a.itemName > b.itemName ? 1 : -1);\r\n this.fourthDropdownList = this.fourthDropdownList.filter(x => x.itemName == \"Audit Log\" || x.itemName == \"User Access\" || x.itemName == \"Users Logged In\"\r\n || x.itemName == \"Proposal Items\" || x.itemName == \"Contacts(SaaS Renewals)\" || x.itemName == \"Contacts(SaaS RCM)\"\r\n || x.itemName == \"Customer Accounts\" || x.itemName == \"Customer Accounts Status\" || x.itemName == \"Customer Contacts (LK)\");\r\n \r\n }); \r\n this.customerService.GetSpecialityList(\"SaasContactType\", this.currentuser.id).then((Rows) => {\r\n this.fifthDropdownList = Rows;\r\n });\r\n \r\n }\r\n \r\n else if (this.parentComp === 'Accounts' || this.parentComp === 'Customer' || this.parentComp == 'Contact' || (this.parentComp == 'CustContacts')) {\r\n \r\n this.customerService.GetSpecialityList(\"ActivityRange\", this.currentuser.id).then((Rows) => {\r\n this.fourthDropdownList = Rows;\r\n });\r\n }\r\n\r\n if (this.parentComp === 'Accounts' || this.parentComp === 'Customer') {\r\n this.customerService.GetSpecialityList(\"AccountShared\", this.currentuser.id).then((Rows) => {\r\n this.fifthDropdownList = Rows;\r\n });\r\n } else if (this.parentComp === 'Contact' || this.parentComp === 'CustContacts') {\r\n this.customerService.GetSpecialityList(\"ContactShared\", this.currentuser.id).then((Rows) => {\r\n this.fifthDropdownList = Rows;\r\n \r\n });\r\n }\r\n\r\n if (this.type === 'Customer' && this.parentComp !== 'CustContacts') {\r\n this.sixthDropdownList.push({ id: 0, itemName: 'Display Accounts', category: 'Display account', isdeleted: 0, taskgroupid: 0});\r\n this.sixthDropdownList.push({ id: 1, itemName: 'Display Contacts', category: 'Display contact', isdeleted: 0, taskgroupid: 0 });\r\n } else if (this.parentComp === 'CustContacts') {\r\n this.sixthDropdownList.push({ id: 0, itemName: 'Display Contacts', category: 'Display contact', isdeleted: 0, taskgroupid: 0 });\r\n this.sixthDropdownList.push({ id: 1, itemName: 'Display Accounts', category: 'Display account', isdeleted: 0, taskgroupid: 0 });\r\n }\r\n\r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n\r\n onItemDisplayrowSelect(item: any) {\r\n this.txtPageSizeChanged(item.value);\r\n }\r\n OnItemDisplayrowDeSelect(item: any) {\r\n this.txtPageSizeChanged(item.value);\r\n }\r\n\r\n setDropdownText(val, first_one) {\r\n \r\n // $('#SecondDrp .c-btn').css('display', 'inline-block');\r\n return val;\r\n ////var css = \"margin-bottom:1px;width: 125px;width: 125px;list - style: none;padding: 2px 22px 2px 8px;border - radius: 2px;margin - right: 4px;float: left;position: relative;\";\r\n ////if (first_one == 0) {\r\n //var css = \"margin-top: -6px;\";\r\n ////}\r\n\r\n //return '
      ' + val + '

      ';\r\n\r\n }\r\n onSecondDrpItemSelect(item: any) {\r\n if ((this.parentComp == 'Accounts' || this.parentComp == 'Customer' || this.parentComp == 'Contact' || this.parentComp == 'CustContacts' || this.parentComp == 'Calendar')\r\n && (this.SecondDrpModel && this.SecondDrpModel.length > 0)) {\r\n if (this.parentComp == 'Accounts' || this.parentComp == 'Customer' || this.parentComp == 'Contact' || this.parentComp == 'CustContacts' || this.parentComp == 'Calendar') {\r\n var values = this.SecondDrpModel.map(({ id }) => id).join(',').split(',');\r\n if (values.includes(\"0\") && values.includes(\"1\") && values.includes(\"2\")) {\r\n $('#SecondDrp .c-btn').html('Display All');\r\n this.SelectCustomer('0,1,2');\r\n } else {\r\n var names = this.SecondDrpModel.map(({ itemName }) => itemName);\r\n var Ids = this.SecondDrpModel.map(({ id }) => id);\r\n //var content = \"\";\r\n //for (var i = 0; i < names.length; i++) {\r\n // var index = i;\r\n // if (names.length == 1) {\r\n // index = 5;\r\n // }\r\n // content += this.setDropdownText(names[i], index);\r\n //}\r\n //$('#SecondDrp .c-btn').html(content);\r\n if (this.parentComp == 'Calendar') { this.SelectCustomer(names.toString().split('(')[0]); } else {\r\n this.SelectCustomer(Ids.join(','));\r\n }\r\n }\r\n\r\n \r\n }\r\n else {\r\n this.SelectCustomer(this.SecondDrpModel.map(({ id }) => id).join(','));\r\n }\r\n } else if (this.parentComp == 'Tickets') {\r\n this.outProps.secondDrpValue = item.id;\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n } \r\n else {\r\n if (this.parentComp == 'Lead' || this.parentComp == 'Proposal' ||this.parentComp == 'Projects' || this.parentComp == 'ViewProject' || this.parentComp == 'TaskList' || this.parentComp == 'Opportunities' ) {\r\n this.SelectCustomer(item.itemName.split('(')[0]);\r\n } else {\r\n this.SelectCustomer(item.value);\r\n }\r\n }\r\n\r\n \r\n }\r\n OnSecondDrpItemDeSelect(item: any) {\r\n if ((this.parentComp == 'Customer' || this.parentComp == 'Accounts' || this.parentComp == 'Contact' || this.parentComp == 'CustContacts') && (this.SecondDrpModel && this.SecondDrpModel.length > 0)) {\r\n if (this.parentComp == 'Customer' ||this.parentComp == 'Accounts' || this.parentComp == 'Contact' || this.parentComp == 'CustContacts') {\r\n var values = this.SecondDrpModel.map(({ id }) => id).join(',').split(',');\r\n if (values.includes(\"0\") && values.includes(\"1\") && values.includes(\"2\")) {\r\n this.secondDrpText = this.setDropdownText('Display All', 'no');\r\n this.SelectCustomer('0,1,2');\r\n } else {\r\n var names = this.SecondDrpModel.map(({ itemName }) => itemName);\r\n var content = \"\";\r\n for (var i = 0; i < names.length; i++) {\r\n var index = i;\r\n if (names.length == 1) {\r\n index = 5;\r\n }\r\n content += this.setDropdownText(names[i], index);\r\n }\r\n $('#SecondDrp .c-btn').html(content);\r\n\r\n this.SelectCustomer(this.SecondDrpModel.map(({ id }) => id).join(','));\r\n }\r\n } else { this.SelectCustomer(this.SecondDrpModel.map(({ id }) => id).join(','));}\r\n } else {\r\n $('#SecondDrp .c-btn').html('');\r\n this.SelectCustomer(\"\");\r\n \r\n }\r\n }\r\n onSecondDrpItemSelectAll(items: any) {\r\n if ((this.parentComp == 'Customer' || this.parentComp == 'Accounts' || this.parentComp == 'Contact' || this.parentComp == 'CustContacts') && (this.SecondDrpModel && this.SecondDrpModel.length > 0)) {\r\n if (this.parentComp == 'Customer' || this.parentComp == 'Accounts' || this.parentComp == 'Contact' || this.parentComp == 'CustContacts') {\r\n var values = this.SecondDrpModel.map(({ id }) => id).join(',').split(',');\r\n if (values.includes(\"0\") && values.includes(\"1\") && values.includes(\"2\")) {\r\n $('#SecondDrp .c-btn').html('Display All');\r\n this.secondDrpText = \"Disply All\";\r\n this.SelectCustomer('0,1,2');\r\n } else {\r\n\r\n $('#SecondDrp .c-btn').html('Display All');\r\n this.secondDrpText = \"Disply All\";\r\n\r\n this.SelectCustomer(this.SecondDrpModel.map(({ id }) => id).join(','));\r\n }\r\n } else { this.SelectCustomer(this.SecondDrpModel.map(({ id }) => id).join(',')); }\r\n \r\n } else {\r\n this.SelectCustomer(\"\");\r\n }\r\n }\r\n OnSecondDrpItemDeSelectAll(items: any) {\r\n this.SelectCustomer(\"\");\r\n\r\n if (this.parentComp === 'Lead') {\r\n this.secondDrpText = \"Open Leads\";\r\n this.SecondDrpModel = [{ \"id\": 555, \"itemName\": \"Open Leads\" }];\r\n } else if (this.parentComp === 'Proposal') {\r\n this.secondDrpText = \"Open Proposals\";\r\n this.SecondDrpModel = [{ \"id\": 558, \"itemName\": \"Open Proposals\" }];\r\n }\r\n \r\n else if (this.parentComp === 'Calendar') {\r\n this.secondDrpText = \"All Tasks\";\r\n this.SecondDrpModel = [{ \"id\": 566, \"itemName\": \"All Tasks\" }];\r\n } else if (this.parentComp === 'Ticket') {\r\n this.secondDrpText = \"Display My Tickets First\";\r\n this.SecondDrpModel = [{ \"id\": 571, \"itemName\": \"Display My Tickets First\" }];\r\n } else if (this.parentComp === 'Tickets') {\r\n this.secondDrpText = \"--Select--\";\r\n this.SecondDrpModel = [{ \"id\": 0, \"itemName\": \"--Select--\" }];\r\n }\r\n else if (this.parentComp === 'CallList') {\r\n this.secondDrpText = \"Open Call Lists\";\r\n this.SecondDrpModel = [{ \"id\": 579, \"itemName\": \"Open Call Lists\" }];\r\n } else if (this.parentComp === 'rhx') {\r\n this.secondDrpText = \"Todays History\";\r\n this.SecondDrpModel = [{ \"id\": 575, \"itemName\": \"Todays History\" }];\r\n } else if (this.parentComp === 'Profile') {\r\n this.secondDrpText = \"My Profile\";\r\n this.SecondDrpModel = [{ \"id\": 583, \"itemName\": \"My Profile\" }];\r\n } else if (this.parentComp === 'Projects') { \r\n this.secondDrpText = \"Open (\" + this.applicationComponent.OpenProjects + \")\";\r\n this.SecondDrpModel = [{ \"id\": 666, \"itemName\": \"Open (\" + this.applicationComponent.OpenProjects + \")\" }];\r\n } else if (this.parentComp == 'Customer' || this.parentComp == 'Accounts' || this.parentComp == 'Contact' || this.parentComp == 'CustContacts') {\r\n this.secondDrpText = \"\";\r\n $('#SecondDrp .c-btn').html('');\r\n }\r\n }\r\n onThirdDrpItemSelect(item: any) {\r\n if (this.parentComp == 'Opportunities' || this.parentComp == 'Forecasting' || this.parentComp == 'Proposal' || this.parentComp =='Projects') {\r\n this.outProps.thirdDrpValue = item.id;\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n } else {\r\n // if (this.parentComp != 'Projects') {\r\n this.SelectActivity(item.value);\r\n //}\r\n }\r\n }\r\n onThirdDrpItemSelectReport(item: any) { \r\n this.SelectReportType(item.value);\r\n }\r\n OnThirdDrpItemDeSelect(item: any) {\r\n this.SelectActivity(\"\");\r\n\r\n }\r\n OnThirdDrpDeSelectAll(item: any) {\r\n this.SelectActivity(\"\");\r\n\r\n if (this.parentComp == 'Customer' ||this.parentComp === 'Accounts') {\r\n this.ThirdDrpModel = [{ \"id\": 0, \"itemName\": 'All Account Types', \"category\": 'All Account Types', \"isdeleted\": 0, \"taskgroupid\": 0 }];\r\n } else if (this.parentComp === 'Calendar') {\r\n this.thirdDrpText = \"Current Month\";\r\n this.ThirdDrpModel = [{ \"id\": 437, \"itemName\": \"Current Month\" }];\r\n } else if (this.parentComp === 'Ticket') {\r\n this.thirdDrpText = \"Display My CC Tickets\";\r\n this.ThirdDrpModel = [{ \"id\": 573, \"itemName\": \"Display My CC Tickets\" }];\r\n } else if (this.parentComp === 'Reports') {\r\n this.thirdDrpText = \"Standard Reports\";\r\n this.ThirdDrpModel = [{ \"id\": 600, \"itemName\": \"Standard Reports\" }];\r\n } else if (this.parentComp === 'AdminReports') {\r\n this.thirdDrpText = \"Standard Reports\";\r\n this.ThirdDrpModel = [{ \"id\": 601, \"itemName\": \"Admin Reports\" }];\r\n } else if (this.parentComp === 'Projects') {\r\n this.thirdDrpText = \"All Project Types\";\r\n this.ThirdDrpModel = [{ \"id\": 0, \"itemName\": \"All Project Types\" }];\r\n } else if (this.parentComp === 'Contact' || this.parentComp == 'CustContacts') {\r\n this.FourthDrpModel = [{ \"id\": 567, \"itemName\": \"All Activity\" }];\r\n this.thirdDrpText = \"All Contact Types\";\r\n this.ThirdDrpModel = [{ \"id\": 0, \"itemName\": 'All Contact Types', \"category\": 'All Contact Types', \"isdeleted\": 0, \"taskgroupid\": 0 }];\r\n } else if (this.parentComp === 'Forecasting' || this.parentComp === 'Opportunities') {\r\n this.thirdDrpText = \"Include Pended Opportunities\";\r\n this.ThirdDrpModel = [{ \"id\": 717, \"itemName\": \"Include Pended Opportunities\" }];\r\n }\r\n\r\n }\r\n OnThirdDrpItemDeSelectReport(item: any) {\r\n this.SelectReportType('');\r\n }\r\n onFourthDrpItemSelect(item: any) {\r\n \r\n this.SelectReportType(item.value);\r\n }\r\n OnFourthDrpItemDeSelect(item: any) {\r\n this.SelectReportType(item.value);\r\n }\r\n OnFourthDrpDeSelectAll(item: any) {\r\n this.SelectReportType(item.value);\r\n if (this.parentComp == 'Customer' ||this.parentComp === 'Accounts' || this.parentComp === 'Contact' || this.parentComp == 'CustContacts') {\r\n this.FourthDrpModel = [{ \"id\": 567, \"itemName\": \"All Activity\" }];\r\n } else if (this.parentComp === 'Reports') {\r\n this.fourthDrpText = \"Access(Login/Logout)\";\r\n this.FourthDrpModel = [{ \"id\": 652, \"itemName\": \"Access(Login/Logout)\" }]; \r\n } else if (this.parentComp === 'AdminReports') {\r\n this.fourthDrpText = \"Select Admin Reports\";\r\n this.FourthDrpModel = [{ \"id\": 0, \"itemName\": \"Select Admin Reports\" }]; \r\n } else if (this.parentComp === 'Projects') {\r\n this.fourthDrpText = \"List View\";\r\n this.FourthDrpModel = [{ \"id\": 664, \"itemName\": \"List View\" }];\r\n }\r\n \r\n }\r\n\r\n onFifthDrpItemSelect(item: any) {\r\n this.SelectTaskListFilter(item.value)\r\n }\r\n OnFifthDrpItemDeSelect(item: any) {\r\n //this.SelectActivity(item.value);\r\n this.SelectTaskListFilter(item.value)\r\n\r\n }\r\n\r\n OnFifthDrpItemDeSelectAll(item: any) {\r\n this.SelectTaskListFilter(item.value)\r\n if (this.type !== 'Customer' && (this.parentComp === 'Accounts' || this.parentComp == 'Customer')) {\r\n this.fifthDrpText = \"Recently Imported\";\r\n this.FifthDrpModel = [{ \"id\": 0, \"itemName\": \"Recently Imported\" }];\r\n } else if (this.parentComp === 'Reports') {\r\n this.FifthDrpModel = [{ \"id\": 617, \"itemName\": \"Display All\" }];\r\n }\r\n }\r\n\r\n onSixthDrpItemSelect(item: any) {\r\n if (item.itemName == 'Display Contacts') {\r\n this.customerService.GetSpecialityList(\"ContactShared\", this.currentuser.id).then((Rows) => {\r\n this.fifthDropdownList = Rows;\r\n });\r\n this.fifthDrpText = \"All Shared Contacts\";\r\n this.FifthDrpModel = [{ \"id\": 730, \"itemName\": \"All Shared Contacts\" }];\r\n } else {\r\n this.customerService.GetSpecialityList(\"AccountShared\", this.currentuser.id).then((Rows) => {\r\n this.fifthDropdownList = Rows;\r\n });\r\n this.fifthDrpText = \"All Shared Accounts\";\r\n this.FifthDrpModel = [{ \"id\": 727, \"itemName\": \"All Shared Accounts\" }];\r\n }\r\n this.SelectCustomerType(item.category);\r\n }\r\n OnSixthDrpItemDeSelect(item: any) {\r\n this.SelectCustomerType(item.category);\r\n }\r\n onItemSelect(item: any) {\r\n this.MultiselectDropDownChanged = true;\r\n var ids = item.id;\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n var SelectedUsers = [];\r\n SelectedUsers = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (SelectedUsers && SelectedUsers.length > 0) {\r\n SelectedUsers.push(item)\r\n } else {\r\n SelectedUsers.push( item);\r\n }\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n OnItemDeSelect(item: any) {\r\n this.MultiselectDropDownChanged = true;\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\");\r\n\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n var SelectedUsers = [];\r\n SelectedUsers = (JSON.parse(localStorage.getItem(\"SelectedUserIds\"))) ? JSON.parse(localStorage.getItem(\"SelectedUserIds\")) : [];\r\n if (SelectedUsers && SelectedUsers.length > 0) {\r\n SelectedUsers = SelectedUsers.filter(x => x.id != item.id)\r\n } else {\r\n SelectedUsers.push(item);\r\n }\r\n //localStorage.setItem('SelectedUserIds', JSON.stringify(SelectedUsers));\r\n\r\n //this.finalitems = this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\");\r\n } else {\r\n this.finalitems = '';\r\n //localStorage.setItem('SelectedUserIds', null);\r\n }\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n var res = $(\"#UserList .dropdown-list\").prop(\"hidden\");\r\n if (res == true) {\r\n\r\n this.SaveUserListConfirmation = true;\r\n this.SaveUserListConfirmationCss();\r\n //$(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n\r\n }\r\n //this.finalitems = result;\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n onSelectAll(items: any) {\r\n this.MultiselectDropDownChanged = true;\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n onDeSelectAll(items: any) {\r\n this.MultiselectDropDownChanged = true;\r\n this.finalitems = \"\";\r\n $(\"#userids\").val(\"\");\r\n //localStorage.setItem('SelectedUserIds', null);\r\n $('#cancelDiv').attr('style', 'display:block;');\r\n $('#SaveDiv').attr('style', 'display:block;');\r\n var res = $(\"#UserList .dropdown-list\").prop(\"hidden\");\r\n if (res == true) {\r\n\r\n this.SaveUserListConfirmation = true;\r\n this.SaveUserListConfirmationCss();\r\n //$(\"#UserList .dropdown-list\").attr(\"hidden\", false);\r\n\r\n }\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n assignOutPropsAndEmitEvent() {\r\n this.outProps.finalitems = this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"); \r\n this.sendOutProps(this.outProps);\r\n }\r\n Imported() {\r\n this.applicationComponent.SearchNotAvailable = true;\r\n this.notSelectedCss();\r\n }\r\n notSelectedCss() {\r\n setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 27%;padding-bottom: 0px;border: 4px solid rgb(102 181 49);min-height: 18%;overflow: auto;height: 4%;top:10%');\r\n }, 4)\r\n }\r\n\r\n SaveConfirm(val) {\r\n if (val == 'Yes') {\r\n this.MultiUserSaveclicked();\r\n //this.assignOutPropsAndEmitEvent();\r\n } else {\r\n this.MultiselectDropDownChanged = false;\r\n this.SaveUserListConfirmation = false;\r\n $(\"#UserList .dropdown-list\").attr(\"hidden\", true);\r\n }\r\n $('#cancelDiv').attr('style', 'display:none;');\r\n $('#SaveDiv').attr('style', 'display:none;');\r\n \r\n }\r\n\r\n\r\n SaveUserListConfirmationCss() {\r\n setTimeout(function () {\r\n $('#SaveUserListConfirmation .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;');\r\n }, 4)\r\n }\r\n ShowCalenderListView(val) {\r\n this.CalenderListView = !this.CalenderListView;\r\n this.sendMsgEvent.emit(val)\r\n }\r\n onSeventhDrpItemSelect(item: any) { \r\n this.outProps.seventhDrpValue = item.id;\r\n this.outProps.pageSizeChanged = false;\r\n this.assignOutPropsAndEmitEvent();\r\n this.LoadData();\r\n }\r\n oneightDrpItemSelect(item: any) {\r\n this.outProps.eightDrpValue = item.id;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n OnSeventhDrpItemDeSelect(item: any) {\r\n \r\n }\r\n onSeventhDrpItemSelectAll(items: any) {\r\n \r\n }\r\n OnSeventhDrpItemDeSelectAll(items: any) {\r\n \r\n }\r\n public Search(val) {\r\n this.outProps.enableSearch = true;\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n}\r\n","import { Component, OnInit, DoCheck, Input, Output, EventEmitter, ElementRef, Renderer2, ViewEncapsulation, IterableDiffers, IterableDiffer } from '@angular/core';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nexport enum ParentComp { Contacts, LeadsDash, OpportunitiesDash, ConfigurationDashBoard, TaskListDash, Customer, Account }\r\ndeclare var $: any;\r\n//export class OutputPropsUserList {\r\n// @Output() finalitems = \"\";\r\n// @Output() items = [];\r\n// @Output() itemsCount = 0;\r\n// @Output() selectedItems = [];\r\n//}\r\n\r\n@Component({\r\n selector: 'userlist',\r\n templateUrl: './userlist.component.html',\r\n styleUrls: ['./userlist.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UserlistComponent implements OnInit, DoCheck {\r\n isMultiLine: boolean = false;\r\n isOpportunitiesDash: boolean = false;\r\n\r\n @Input() parentComp: ParentComp;\r\n\r\n @Input() accessDenied: boolean = false;\r\n @Input() dropdownList = [];\r\n @Input() selectedItems = [];\r\n //@Input()\r\n dropdownSetting = {};\r\n\r\n //Common\r\n @Input() finalitems = \"\";\r\n @Input() items = [];\r\n @Input() itemsCount = 0;\r\n\r\n @Input() elementRef: ElementRef;\r\n @Input() renderer: Renderer2;\r\n\r\n iterableDiffer: IterableDiffer;\r\n\r\n constructor(private _iterableDiffers: IterableDiffers) {\r\n this.iterableDiffer = this._iterableDiffers.find([]).create(null);\r\n }\r\n\r\n ngOnInit() {\r\n this.dropdownSetting = {\r\n singleSelection: false,\r\n text: \"Select Users\",\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n enableSearchFilter: true,\r\n badgeShowLimit: 3\r\n };\r\n }\r\n\r\n ngDoCheck() {\r\n let changes = this.iterableDiffer.diff(this.items);\r\n if (changes) {\r\n this.clonePgRng();\r\n\r\n let selfObj: UserlistComponent = this;\r\n $(setTimeout(function () {\r\n selfObj.multiLineCheckUncheck(true);\r\n }, 300));\r\n }\r\n }\r\n\r\n clonePgRng() {\r\n $('#dupPgRng').empty();\r\n var $target = $('.container').find('.pagination-range');\r\n $target.clone().first().appendTo('#dupPgRng');\r\n }\r\n\r\n @Output()\r\n generateEvent = new EventEmitter();\r\n Generate(userIds) {\r\n this.generateEvent.emit(userIds);\r\n }\r\n\r\n @Output()\r\n outPropsEvent: EventEmitter = new EventEmitter();\r\n sendOutProps(outProps) {\r\n this.outPropsEvent.emit(outProps);\r\n }\r\n\r\n onItemSelect(item: any) {\r\n \r\n if (this.parentComp == ParentComp.Contacts)\r\n this.onItemSelectContacts(item);\r\n else if (this.parentComp == ParentComp.LeadsDash)\r\n this.onItemSelectLeadsDash(item);\r\n else if (this.parentComp == ParentComp.ConfigurationDashBoard)\r\n this.onItemSelectConfiguredDashBoard(item);\r\n else if (this.parentComp == ParentComp.TaskListDash)\r\n this.onItemSelectTaskListDashBoard(item);\r\n else if (this.parentComp == ParentComp.Customer)\r\n this.onItemSelectCustomer(item);\r\n else if (this.parentComp == ParentComp.Account)\r\n this.onItemSelectAccount(item);\r\n else\r\n this.onItemSelectOpportunitiesDash(item);\r\n\r\n\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n OnItemDeSelect(item: any) {\r\n if (this.parentComp == ParentComp.Contacts)\r\n this.OnItemDeSelectContacts(item);\r\n else if (this.parentComp == ParentComp.LeadsDash)\r\n this.OnItemDeSelectLeadsDash(item);\r\n else if (this.parentComp == ParentComp.ConfigurationDashBoard)\r\n this.OnItemDeSelectLeadsDash(item);\r\n else if (this.parentComp == ParentComp.TaskListDash)\r\n this.OnItemDeSelectTaskListDashBoard(item);\r\n else if (this.parentComp == ParentComp.Customer)\r\n this.OnItemDeSelectCustomer(item);\r\n else if (this.parentComp == ParentComp.Account)\r\n this.OnItemDeSelectAccount(item);\r\n else\r\n this.OnItemDeSelectOpportunitiesDash(item);\r\n\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n onSelectAll(items: any) {\r\n if (this.parentComp == ParentComp.Contacts)\r\n this.onSelectAllContacts(items);\r\n else if (this.parentComp == ParentComp.LeadsDash)\r\n this.onSelectAllLeadsDash(items);\r\n else if (this.parentComp == ParentComp.ConfigurationDashBoard)\r\n this.onSelectAllLeadsDash(items);\r\n else if (this.parentComp == ParentComp.TaskListDash)\r\n this.onSelectAllTaskListDashBoard(items);\r\n else if (this.parentComp == ParentComp.Customer)\r\n this.onSelectAllCustomer(items);\r\n else if (this.parentComp == ParentComp.Account)\r\n this.onSelectAllAccount(items);\r\n else\r\n this.onSelectAllOpportunitiesDash(items);\r\n\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n onDeSelectAll(items: any) {\r\n if (this.parentComp == ParentComp.Contacts)\r\n this.onDeSelectAllContacts(items);\r\n else if (this.parentComp == ParentComp.LeadsDash)\r\n this.onDeSelectAllLeadsDash(items);\r\n else if (this.parentComp == ParentComp.ConfigurationDashBoard)\r\n this.onDeSelectAllLeadsDash(items);\r\n else if (this.parentComp == ParentComp.TaskListDash)\r\n this.onDeSelectAllTaskListDashBoard(items);\r\n else if (this.parentComp == ParentComp.Customer)\r\n this.onDeSelectAllCustomer(items);\r\n else if (this.parentComp == ParentComp.Account)\r\n this.onDeSelectAllAccount(items);\r\n else\r\n this.onDeSelectAllOpportunitiesDash(items);\r\n\r\n this.assignOutPropsAndEmitEvent();\r\n }\r\n\r\n assignOutPropsAndEmitEvent() {\r\n let outProps: OutputPropsUserList = new OutputPropsUserList();\r\n\r\n outProps.finalitems = this.finalitems;\r\n //outProps.items = this.items;\r\n //outProps.itemsCount = this.itemsCount;\r\n //outProps.selectedItems = this.selectedItems;\r\n\r\n //let selfObj: UserlistComponent = this;\r\n //$(setTimeout(function () {\r\n // selfObj.multiLineCheckUncheckOnUserListChange();\r\n //}, 300));\r\n\r\n this.sendOutProps(outProps);\r\n }\r\n multiLineCheckUncheck(isPaginationChanged: boolean) {\r\n \r\n let hdr = this.elementRef.nativeElement.querySelectorAll('.column-header');\r\n for (var n = 0; n < hdr.length; n++) {\r\n this.renderer.addClass(hdr[n], 'tmpMultiLineHdr');\r\n this.renderer.removeClass(hdr[n], 'column-header');\r\n }\r\n\r\n if (this.isMultiLine) {\r\n if (isPaginationChanged) {\r\n this.isMultiLine = !this.isMultiLine;\r\n this.multiLineCheckUncheck(false);\r\n this.isMultiLine = !this.isMultiLine;\r\n }\r\n else { //make the view single lined\r\n let tbl = this.elementRef.nativeElement.querySelector('.tmpMultiLineTbl');\r\n this.renderer.addClass(tbl, 'table');\r\n this.renderer.removeClass(tbl, 'tmpMultiLineTbl');\r\n let clmn = this.elementRef.nativeElement.querySelectorAll('.tmpMultiLineClmn');\r\n for (var n = 0; n < clmn.length; n++) {\r\n this.renderer.addClass(clmn[n], 'data-column');\r\n this.renderer.removeClass(clmn[n], 'tmpMultiLineClmn');\r\n }\r\n }\r\n } else {\r\n if (!isPaginationChanged) { //make the view multi lined\r\n let tbl = this.elementRef.nativeElement.querySelector('table');\r\n this.renderer.addClass(tbl, 'tmpMultiLineTbl');\r\n this.renderer.removeClass(tbl, 'table');\r\n\r\n let clmn = this.elementRef.nativeElement.querySelectorAll('.data-column');\r\n for (var n = 0; n < clmn.length; n++) {\r\n this.renderer.addClass(clmn[n], 'tmpMultiLineClmn');\r\n this.renderer.removeClass(clmn[n], 'data-column');\r\n }\r\n\r\n //let dtBox = this.elementRef.nativeElement.querySelector('.data-table-box');\r\n //this.renderer.addClass(dtBox, 'tmpMultiLinedtBox');\r\n //this.renderer.removeClass(dtBox, 'data-table-box');\r\n }\r\n }\r\n }\r\n //multiLineCheckUncheckOnUserListChange() {\r\n // \r\n // let hdr = this.elementRef.nativeElement.querySelectorAll('.column-header');\r\n // for (var n = 0; n < hdr.length; n++) {\r\n // this.renderer.addClass(hdr[n], 'tmpMultiLineHdr');\r\n // this.renderer.removeClass(hdr[n], 'column-header');\r\n // }\r\n\r\n // if (this.isMultiLine) { //make the grid multi line\r\n // let tbl = this.elementRef.nativeElement.querySelector('table');\r\n // this.renderer.addClass(tbl, 'tmpMultiLineTbl');\r\n // this.renderer.removeClass(tbl, 'table');\r\n\r\n // let clmn = this.elementRef.nativeElement.querySelectorAll('.data-column');\r\n // for (var n = 0; n < clmn.length; n++) {\r\n // this.renderer.addClass(clmn[n], 'tmpMultiLineClmn');\r\n // this.renderer.removeClass(clmn[n], 'data-column');\r\n // }\r\n // }\r\n // //else { //make the grid multi line\r\n // // let tbl = this.elementRef.nativeElement.querySelector('.tmpMultiLineTbl');\r\n // // if (tbl == undefined) {\r\n // // this.isMultiLine = !this.isMultiLine;\r\n // // this.multiLineCheckUncheckOnUserListChange();\r\n // // this.isMultiLine = !this.isMultiLine;\r\n // // } else {\r\n // // this.renderer.addClass(tbl, 'table');\r\n // // this.renderer.removeClass(tbl, 'tmpMultiLineTbl');\r\n\r\n // // let clmn = this.elementRef.nativeElement.querySelectorAll('.tmpMultiLineClmn');\r\n // // for (var n = 0; n < clmn.length; n++) {\r\n // // this.renderer.addClass(clmn[n], 'data-column');\r\n // // this.renderer.removeClass(clmn[n], 'tmpMultiLineClmn');\r\n // // }\r\n // // }\r\n // //}\r\n //}\r\n\r\n\r\n //Contacts\r\n\r\n onItemSelectContacts(item: any) {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n OnItemDeSelectContacts(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAllContacts(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n onDeSelectAllContacts(items: any) {\r\n this.finalitems = \"\";\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n\r\n\r\n //LeadsDash\r\n onItemSelectLeadsDash(item: any) {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n OnItemDeSelectLeadsDash(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAllLeadsDash(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n onDeSelectAllLeadsDash(items: any) {\r\n this.finalitems = \"\";\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n\r\n\r\n //OpportunitiesDash\r\n onItemSelectOpportunitiesDash(item: any) {\r\n var ids = \"\";\r\n ids += item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n OnItemDeSelectOpportunitiesDash(item: any) {\r\n var ids = \"\";\r\n ids = item.id;\r\n var result = '';\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.items = [];\r\n this.itemsCount = 0;\r\n }\r\n }\r\n onSelectAllOpportunitiesDash(items: any) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n }\r\n onDeSelectAllOpportunitiesDash(items: any) {\r\n this.finalitems = \"\";\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n\r\n\r\n //ConfiguredDashBoard\r\n onItemSelectConfiguredDashBoard(item: any) {\r\n var ids = \"\";\r\n ids += item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n OnItemDeSelectConfiguredDashBoard(item: any) {\r\n var ids = \"\";\r\n ids = item.id;\r\n var result = '';\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.items = [];\r\n this.itemsCount = 0;\r\n }\r\n }\r\n onSelectAllConfiguredDashBoard(items: any) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n }\r\n onDeSelectAllConfiguredDashBoard(items: any) {\r\n this.finalitems = \"\";\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n\r\n //TaskListDashBoard\r\n onItemSelectTaskListDashBoard(item: any) {\r\n var ids = \"\";\r\n ids += item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n OnItemDeSelectTaskListDashBoard(item: any) {\r\n var ids = \"\";\r\n ids = item.id;\r\n var result = '';\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n } else {\r\n this.items = [];\r\n this.itemsCount = 0;\r\n }\r\n }\r\n onSelectAllTaskListDashBoard(items: any) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n }\r\n onDeSelectAllTaskListDashBoard(items: any) {\r\n this.finalitems = \"\";\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n\r\n\r\n //Customer\r\n onItemSelectCustomer(item: any) {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($('#userids').val());\r\n //this.loadallcustomers(this.type, this.term);\r\n }\r\n OnItemDeSelectCustomer(item: any) {\r\n \r\n var ids = item.id;\r\n var result = \"\";\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n } else {\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n //this.loadallcustomers(this.type, this.term);\r\n this.Generate($('#userids').val());\r\n }\r\n onSelectAllCustomer(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n //this.loadallcustomers(this.type, this.term);\r\n this.Generate($('#userids').val());\r\n }\r\n onDeSelectAllCustomer(items: any) {\r\n this.finalitems = \"\";\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n //this.loadallcustomers(this.type, this.term);\r\n this.Generate($('#userids').val());\r\n }\r\n\r\n //Account\r\n onItemSelectAccount(item: any) {\r\n var ids = item.id;\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n OnItemDeSelectAccount(item: any) {\r\n \r\n var ids = item.id;\r\n var result = \"\";\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n } else {\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n }\r\n this.Generate($(\"#userids\").val());\r\n }\r\n onSelectAllAccount(items: any) {\r\n var ids = \"\";\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.Generate($(\"#userids\").val());\r\n }\r\n onDeSelectAllAccount(items: any) {\r\n this.finalitems = \"\";\r\n this.items = [];\r\n this.itemsCount = 0;\r\n $(\"#userids\").val('');\r\n this.Generate($(\"#userids\").val());\r\n }\r\n}\r\n","\r\n
      \r\n \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, ViewChild, ElementRef, ViewContainerRef, ViewEncapsulation, Pipe, Optional, PipeTransform,Input } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AccountsService } from './../../services/accounts.service';\r\nimport { Calllist } from '../../models/calllist';\r\nimport { GridOptions, ColumnUtils, ColumnApi } from \"ag-grid/main\";\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Column } from 'ag-grid';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ApplicationComponent } from './../application.component';\r\nimport { EditdeleteComponent } from '../editdelete/editdelete.component';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Dropdowntype, Dropdown } from '../../models/dropdowntype';\r\nimport * as moment from 'moment';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { Location } from '@angular/common';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-viewcalllist',\r\n templateUrl: './viewcalllist.component.html',\r\n styleUrls: ['./viewcalllist.component.css']\r\n})\r\nexport class ViewcalllistComponent implements OnInit {\r\n @Input()\r\n rowData: Calllist[];\r\n @Input()\r\n userid: number;\r\n @Input()\r\n public gridOptions: GridOptions;\r\n @Input()\r\n public columnDefs: any[];\r\n @Input() currentuser: any;\r\n public context;\r\n aggridheight: string;\r\n dropdownList = [];\r\n finalitems = \"\";\r\n selectedItems = [];\r\n dropdownSetting = {};\r\n pageSize = \"1000\";\r\n typeFilterCallList: Calllist[];\r\n colSelections: string;\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n deletecalllistDialog = false; calllistid: number;\r\n StatusTypeList: Dropdowntype[] = [];\r\n customertypeOfList: Dropdowntype[] = [];\r\n callListStatus = \"Open\";\r\n public frameworkComponents;\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear()-1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear()-1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n public sideBar;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");;\r\n calanderonoff: boolean = false;\r\n DeleteConfirmationPopup: boolean = false;\r\n private gridApi; \r\n DisplayrowsList: Dropdowntype[] = [];\r\n CallListDialog: boolean = false;\r\n constructor(private _location: Location, public applicationComponent: ApplicationComponent, private userservice: UserService, private route: ActivatedRoute, private opprtunityservice: OpprtunitiesService, private router: Router, private viewContainerRef: ViewContainerRef, private accountsService: AccountsService, private customerService: CustomerService, private toastr: ToastrService)\r\n {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n this.ResizeTable();\r\n \r\n }\r\n ngOnInit() { \r\n this.initializeAgGrid();\r\n $(document).ready(function () {\r\n $(\"#BanooBttonNew\").click(function () {\r\n });\r\n });\r\n var obj: AuditLogModel = { id: 0, type: 'Call List', action: 'Call List Viewed ', AccountOrContactId: 0, AccountOrContact: '', documentid:0 , userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Call List Viewed ', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n this.GetAllaccesusersListbyuser();\r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n });\r\n this.selectedItems = Owner;\r\n });\r\n \r\n }\r\n else { \r\n\r\n this.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n this.finalitems += this.currentuser.id + ',';\r\n //$(\"#userids\").val(this.currentuser.id);\r\n }\r\n this.LoadAllCalllist($(\"#userids\").val(), 'Open');\r\n if (document.getElementById('subTab') != undefined && document.getElementById('subTab') != null)\r\n document.getElementById('subTab').style.display = 'block'; \r\n //this.applicationComponent.showcampaignsTabs = false;\r\n \r\n this.customerService.GetSpecialityList(\"Status\",this.currentuser.id).then((accounttype) => {\r\n accounttype.forEach(accounttype => {\r\n });\r\n this.StatusTypeList = accounttype;\r\n });\r\n\r\n this.customerService.GetSpecialityList(\"typeOfList\", this.currentuser.id).then((typeOfList) => { \r\n this.customertypeOfList = typeOfList;\r\n });\r\n\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#viewcalllist_button\").addClass(\"activeButton\");\r\n $(\"#Cviewcalllist_button\").addClass(\"activeButton\");\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 500));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 500));\r\n }\r\n \r\n }\r\n\r\n GetAllaccesusersListbyuser() {\r\n \r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n }\r\n userListOutParamsBinding(outProps) {\r\n this.finalitems = outProps.finalitems;\r\n this.selectedItems = outProps.selectedItems;\r\n }\r\n onItemSelect(item: any) {\r\n var ids = item.id;\r\n this.finalitems = $(\"#userids\").val() + \",\";\r\n this.finalitems += ids + ',';\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.LoadAllCalllist($(\"#userids\").val(), $('#SelectedStatus').val());\r\n }\r\n OnItemDeSelect(item: any) {\r\n var ids = item.id;\r\n var result = \"\";\r\n this.finalitems = $(\"#userids\").val();\r\n var dfi = this.finalitems.split(',');\r\n for (var i = 0; i < dfi.length; i++) {\r\n if (dfi[i] != ids && dfi[i] != \"\") {\r\n result += dfi[i] + ',';\r\n }\r\n }\r\n this.finalitems = result;\r\n if (this.finalitems != \"\") {\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.LoadAllCalllist($(\"#userids\").val(), $('#SelectedStatus').val());\r\n } else {\r\n this.rowData = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n onSelectAll(items: any) {\r\n var ids = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n ids += items[i].id + ',';\r\n }\r\n this.finalitems = \"\";\r\n this.finalitems = ids;\r\n $(\"#userids\").val(this.finalitems.substring(0, this.finalitems.length - 1).replace('undefined', \"\"));\r\n this.LoadAllCalllist($(\"#userids\").val(), $('#SelectedStatus').val());\r\n }\r\n onDeSelectAll(items: any) {\r\n this.finalitems = \"\";\r\n this.rowData = [];\r\n this.gridOptions.api.hideOverlay();\r\n $(\"#userids\").val('');\r\n this.applicationComponent.selectedusers = null;\r\n }\r\n LoadAllCalllist(userids, selectedstatus) {\r\n this.applicationComponent.selectedusers = userids;\r\n this.accountsService.GetAllCalllist(userids, (this.calanderonoff) ? this.startDateVal : '2018-01-01', this.endDateVal, selectedstatus).then((calllist) => {\r\n\r\n if (calllist.length > 0) {\r\n calllist.forEach(calllist => {\r\n calllist.created = this.datePipe.transform(calllist.created, \"MM-dd-yyyy HH:mm a\");\r\n calllist.lastaccesed = this.datePipe.transform(calllist.lastaccesed, \"MM-dd-yyyy HH:mm a\"); \r\n });\r\n let filteredcalllist: any = calllist;\r\n \r\n if (selectedstatus == \"Open\" || selectedstatus == \"Open Call Lists\")\r\n filteredcalllist = calllist.filter((cust) => (cust.status == 'Open'));\r\n else if (selectedstatus == \"Completed\" || selectedstatus ==\"Completed Call Lists\")\r\n filteredcalllist = calllist.filter((cust) => (cust.status == 'Completed'));\r\n else if (selectedstatus == \"Deleted\" || selectedstatus == \"Deleted Call Lists\")\r\n filteredcalllist = calllist.filter((cust) => (cust.status == 'Deleted'));\r\n else if (selectedstatus == \"Show All\" || selectedstatus == \"All Call Lists\")\r\n filteredcalllist = calllist.filter((cust) => ((cust.status == 'Open' || cust.status == 'Completed' || cust.status == 'Deleted')));\r\n this.rowData = filteredcalllist;\r\n this.typeFilterCallList = filteredcalllist;\r\n if (this.rowData.length > 0 && this.rowData[0].islimitedSearch == true) {\r\n if (this.rowData[0].SearchVal) {\r\n let sO = this;\r\n $(setTimeout(function () {\r\n sO.applicationComponent.searchCriteria = sO.rowData[0].SearchVal;\r\n sO.applicationComponent.Searchdiv = true;\r\n sO.applicationComponent.searchstring = sO.rowData[0].SearchVal.slice(0, -3);\r\n sO.applicationComponent.searchCriteriadata = sO.applicationComponent.searchstring.split(' / ');\r\n }, 1000));\r\n }\r\n this.applicationComponent.term = \"true\";//passing dummy data toshow delete button in search box\r\n this.applicationComponent.limitedSearch = true;\r\n $('#searchContact').val('');\r\n }\r\n else {\r\n this.applicationComponent.term = \"\";\r\n //$('#searchContact').val('');\r\n this.applicationComponent.limitedSearch = false;\r\n this.applicationComponent.searchstring = \"\";\r\n this.applicationComponent.searchCriteriadata = [];\r\n }\r\n this.createColumnDefs(this.colSelections);\r\n } else {\r\n this.applicationComponent.searchstring = \"No Match\";\r\n this.rowData = null;\r\n //this.applicationComponent.searchCriteriadata.push(\"\");\r\n }\r\n \r\n });\r\n \r\n }\r\n calanderclick(val) {\r\n \r\n this.calanderonoff = val;\r\n this.LoadAllCalllist($(\"#userids\").val(), $('#SelectedStatus').val());\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n\r\n }\r\n rowDoubleClickAgGrid(rowEvent) {\r\n this.applicationComponent.Calllistselectedtype = (rowEvent.data.typeOfList == \"Contacts/Accounts\" || rowEvent.data.typeOfList == \"Customer\" ? \"Customer\" : \"Contact\");\r\n var result = rowEvent.data;\r\n var obj: AuditLogModel = { id: 0, type: 'Call List', action: 'Call List Viewed - ' + result.calllistname, AccountOrContactId: 0, AccountOrContact: result.typeOfList, documentid: result.id, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Call List Viewed - ' + result.calllistname, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n this.applicationComponent.InsertAuditHistory(obj);\r\n this.applicationComponent.calllistid = rowEvent.data.id;\r\n this.applicationComponent.selectedbuttonText = 'Create Call List'; \r\n this.applicationComponent.activateMainButtons('Create Call List');\r\n this.applicationComponent.crmDialog = false;\r\n this.router.navigateByUrl(`/application/calllist/` + 13146 + '/' + rowEvent.data.id);\r\n \r\n }\r\n\r\n\r\n //onSelectionChanged(event) {\r\n // var rowCount = event.api.getSelectedNodes().length;\r\n // if (rowCount > 0) {\r\n // if (event.api.getSelectedNodes()[0].data) {\r\n // var result = event.api.getSelectedNodes()[0].data;\r\n // this.applicationComponent.Calllistselectedtype = (result.typeOfList == \"Contacts/Accounts\" || result.typeOfList == \"Customer\" ? \"Customer\" : \"Contact\");\r\n // this.applicationComponent.ShowConfigurationDialog = false;\r\n // this.applicationComponent.showSearchFieldsDialog = false;\r\n\r\n // var obj: AuditLogModel = { id: 0, type: 'Call List', action: 'Call List Viewed - ' + result.calllistname, AccountOrContactId: 0, AccountOrContact: result.typeOfList, documentid: result.id, userid: this.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Call List Viewed - ' + result.calllistname, AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n // this.applicationComponent.InsertAuditHistory(obj);\r\n\r\n // this.router.navigateByUrl(`/application/calllist/` + result.typeOfList + '/' + 0 + '/' + result.id);\r\n // }\r\n // }\r\n //}\r\n\r\n initializeAgGrid() {\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'multiple'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n };\r\n let columnSelections: string;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id,20).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n this.createColumnDefs(columnSelections);\r\n this.startDateVal = (config != null && config.startdate != null) ? config.startdate : (new Date().getFullYear() - 1) + '-01-01';\r\n this.startDatePlaceHolder = (config != null && config.startdate != null) ? 'Start:' + moment(config.startdate).format(\"MM-DD-YYYY\") : 'Start: 01-01-' + (new Date().getFullYear() - 1).toString();\r\n this.endDateVal = (config != null && config.enddate != null) ? config.enddate : new Date().getFullYear() + '-12-31';\r\n this.endDatePlaceHolder = (config != null && config.enddate != null) ? 'End:' + moment(config.enddate).format(\"MM-DD-YYYY\") : 'End: 12-31-' + (new Date().getFullYear() - 1).toString(); \r\n this.UpdateSearchColumns(columnSelections)\r\n });\r\n this.gridOptions.defaultColDef = {\r\n headerComponentParams: {\r\n menuIcon: 'fa-bars'\r\n }\r\n }\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdelete: EditdeleteComponent\r\n };\r\n\r\n\r\n }\r\n\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if ((fields[2] == 'true' && fields[1] != '#') && (fields[2] == 'true' && fields[0] != 'notes') && (fields[2] == 'true' && fields[0] != 'actions')) {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n //this.applicationComponent.ShowSearchTabs('True');\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n if (retrievedObject != null) {\r\n\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n if (element.subtab == 'Calllist') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n }\r\n\r\n //if (this.applicationComponent.SearchSelectedItemsLengthChanged == true) {\r\n // this.applicationComponent.showSearchTabsSubTabs = false;\r\n //}\r\n //else {\r\n // this.applicationComponent.showSearchTabsSubTabs = true;\r\n //}\r\n });\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0 ) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n\r\n }\r\n else {\r\n this.accountsService.GetDefaultColumns('Calllist', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'calllistname', \"itemName\": 'Call List Name' }\r\n ];\r\n }\r\n });\r\n //this.applicationComponent.showSearchTabsSubTabs = false;\r\n }\r\n }\r\n\r\n createColumnDefs(columnSelections: string, @Optional() isDeActive: boolean = false) {\r\n var searcharray = [];\r\n if (this.applicationComponent.searchCriteriadata) {\r\n var searchaarraystring = this.applicationComponent.searchCriteriadata;\r\n if (searchaarraystring.includes(' /')) {\r\n searcharray = searchaarraystring.split(' / ');\r\n } else {\r\n searcharray.push(searchaarraystring);\r\n }\r\n }\r\n let currentuserid = this.currentuser.id;\r\n let selfObj = this;\r\n let columnSelectionsArray: string[] = [];\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n this.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n this.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n } if (fieldHeaderVisibleWidthArray[0] == \"actions\") {\r\n this.columnDefs.push({\r\n field: 'actions', headerName: 'Actions', hide: this.callListStatus == 'Deleted Call Lists' ? true : false, cellRenderer(params) {\r\n if (params.data.userid == currentuserid) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.delete(params.data.id);\r\n });\r\n return eDiv;\r\n }\r\n //var eDiv = document.createElement('div');\r\n //eDiv.innerHTML = '';\r\n //eDiv.addEventListener('click', function () {\r\n // //selfobj.campaign = params.data;\r\n // //selfobj.DeleteCampaignConfirmation = true;\r\n // //selfobj.DeleteExpenseCss('DeleteCampaignConfirmation');\r\n //});\r\n //return eDiv;\r\n },\r\n width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n pinned: 'right'\r\n });\r\n }\r\n \r\n else {\r\n this.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1],\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n //var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } \r\n });\r\n }\r\n }\r\n }else {\r\n\r\n this.columnDefs = [\r\n\r\n {\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n {\r\n field: 'created', headerName: 'Date Created', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n {\r\n field: 'typeOfList', headerName: 'Type Of List', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n {\r\n field: 'calllistname', headerName: 'Call List Name', hide: false,\r\n cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'total', headerName: '# Contacts', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }},\r\n {\r\n field: 'completedcalltotal', headerName: '# Call Completed', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n {\r\n field: 'deletedcontactcalltotal', headerName: '# Deleted Contacts', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n { field: 'status', headerName: 'Status', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } ,cellStyle: function (params) { if (params.value == 'Open') { return { color: 'red' }; } } },\r\n {\r\n field: 'Owner', headerName: 'Created By', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n {\r\n field: 'lastaccesed', headerName: 'Date Last Accessed', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n {\r\n field: 'LastUserAccessed', headerName: 'User List Accessed', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n {\r\n field: 'Assignedto', headerName: 'Assigned To', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.includes(search) || searcharray.includes(x[i].trim() || x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n } },\r\n {\r\n field: 'actions', headerName: 'Actions', hide: this.callListStatus == 'Deleted Call Lists' ? true : false, cellRenderer(params) {\r\n if (params.data.userid == currentuserid) {\r\n if ($('#SelectedStatus').val() != 'Deleted') {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfObj.delete(params.data.id);\r\n });\r\n return eDiv;\r\n }\r\n \r\n } \r\n },\r\n pinned: 'right' }\r\n ];\r\n }\r\n\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n $(\"#viewcalllist_button\").addClass(\"activeButton\"); \r\n $(\"#Cviewcalllist_button\").addClass(\"activeButton\"); \r\n }\r\n //onAgGridReady(event) {\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // $(setTimeout(function () {\r\n // selfObj.autoSizeAll();\r\n // }, 400));\r\n // }, 400));\r\n //}\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n autoSizeAll() {\r\n //var allColumnIds = [];\r\n //if (this.gridOptions && this.gridOptions.columnApi) {\r\n // var allCols = this.gridOptions.columnApi.getAllColumns();\r\n // if (allCols != null) {\r\n // allCols.forEach(function (column) {\r\n // allColumnIds.push(column.getColId());\r\n // });\r\n // }\r\n // this.gridOptions.columnApi.autoSizeColumns(allColumnIds, \"autosizeColumns\");\r\n //}\r\n }\r\n dateChange(event) {\r\n this.AssignStartAndEndDate(event);\r\n this.applicationComponent.startVal = this.startDateVal;\r\n this.applicationComponent.endVal = this.endDateVal;\r\n this.LoadAllCalllist($(\"#userids\").val(), $('#SelectedStatus').val());\r\n this.saveConfiguration();\r\n }\r\n /**\r\n * Param event should contain 'event.formatted' to differentiate start and end date.\r\n * and event.date Should be in Json format {year:2, month:2,year:1990 }\r\n */\r\n AssignStartAndEndDate(event) {\r\n\r\n let dateStr = event.formatted.split(\":\")[0];\r\n if (dateStr == \"Start\")\r\n this.startDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n else\r\n this.endDateVal = this.getDateFormatYYYYHMMHDD(event.date);\r\n }\r\n\r\n /** Converts and Returns date in this format 'YYYY-MM-DD'. Should be in Json format {year:2, month:2,year:1990 } */\r\n getDateFormatYYYYHMMHDD(date): string {\r\n let year = date.year;\r\n let month = date.month;\r\n let day = date.day;\r\n\r\n return year + \"-\" + ((month < 10) ? '0' + parseInt(month) : month) + \"-\" + ((day < 10) ? '0' + parseInt(day) : day);\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n this.gridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 20;\r\n config.startdate = this.startDateVal;\r\n config.enddate = this.endDateVal;\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n \r\n }\r\n\r\n delete(id) {\r\n this.calllistid = id;\r\n this.userservice.getprivilagebyuser(this.currentuser.id, 29).then((privilages) => {\r\n if (privilages == null) {\r\n\r\n this.toastr.warning(\"You Do Not have Access to View Call list – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n }\r\n else {\r\n this.applicationComponent.loaddialog('DeleteCallList', 'My Call List', 'Delete this My Call list Selected?', false, false, true, true, id);\r\n\r\n }\r\n });\r\n }\r\n\r\n //deletecalllist(calllistid) {\r\n // this.customerService.Deletecalllist(calllistid).then((user) => {\r\n // this.LoadAllCalllist($(\"#userids\").val(), $('#SelectedStatus').val());\r\n // });\r\n\r\n // this.deletecalllistDialog = !this.deletecalllistDialog;\r\n //}\r\n \r\n StatusChange(val) {\r\n this.LoadAllCalllist($(\"#userids\").val(), val);\r\n }\r\n customertypeChange(val)\r\n {\r\n let filterresult;\r\n if (val == 'Customers') {\r\n filterresult = this.typeFilterCallList.filter((cust) => (cust.typeOfList == 'Customer'));\r\n }\r\n else if (val == 'Contacts/Accounts') {\r\n filterresult = this.typeFilterCallList.filter((cust) => (cust.typeOfList == 'Contacts/Accounts'));\r\n }\r\n else {\r\n filterresult = this.typeFilterCallList;\r\n }\r\n this.rowData = filterresult;\r\n }\r\n ResizeTable() {\r\n this.aggridheight = ((((window.innerHeight) - (($('#appComponentContent').height()) + ($('#actiondivid').height()))) - 50)) + 'px';\r\n }\r\n\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.startDateVal = outProps.startDateVal;\r\n this.endDateVal = outProps.endDateVal;\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize));\r\n this.callListStatus = outProps.secondDrpValue == undefined ? 'Open' : outProps.secondDrpValue;\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n if (!outProps.pageSizeChanged) {\r\n this.LoadAllCalllist($(\"#userids\").val(), this.callListStatus);\r\n }\r\n } else {\r\n this.rowData = [];\r\n $(\"#userids\").val('');\r\n }\r\n }\r\n close() {\r\n this._location.back();\r\n }\r\n}\r\n","
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n Tickets\r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n 0\" [viewaccount]=\"viewaccount\" [account]=\"account\" [tab]=\"''\" [noteslist]=\"allnotes\" (btnClickEvent)=\"btnClickReceived($event)\" [pageFrom]=\"'Ticket'\" [ViewData]=\"'Contact'\" [contact]=\"contacts\">\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{note.CreatedDate }}
      \r\n\r\n
      {{note.Notes}}
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      {{note.CreatedDate }}
      \r\n\r\n
      {{note.Notes}}
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n 0\" [(visible)]=\"notesshowDialog\" style=\"height:100%\" [CloseButtonColor]=\"'white'\">\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Contact:\r\n
      \r\n
      \r\n {{ticketdata.contactname}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Account:\r\n
      \r\n
      \r\n {{ticketdata.accountName}}\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n Created By :\r\n
      \r\n
      \r\n {{ticketdata.UserName}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Ticket # :\r\n
      \r\n
      \r\n {{ticketdata.ticketId}}\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n Status:\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n Subject:\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n Assigned To:\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n CC:\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n Priority:\r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      SalesXCRM Message
      \r\n
      \r\n
      TICKETS

      \r\n
      Save Changes to Ticket ?
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \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, ViewChild, Input, ElementRef } from '@angular/core';\r\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\r\nimport { CustomerService } from './../../services/customer.service';\r\nimport { Zendeskuser } from '../../models/zendeskuser';\r\nimport { GridOptions, ColumnUtils } from \"ag-grid/main\";\r\nimport { EditdeletecvComponent } from '../editdeletecv/editdeletecv.component';\r\nimport { ApplicationComponent } from '../application.component';\r\nimport { Dashboardconfiguration } from '../../models/dashboardconfiguration';\r\nimport { OpprtunitiesService } from './../../services/opprtunities.service';\r\nimport { Column } from 'ag-grid';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { TicketsComponent } from '../tickets/tickets.component';\r\nimport { IMyDpOptions } from 'mydatepicker';\r\nimport * as moment from 'moment';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Tickets } from 'src/app/models/tickets';\r\nimport { Accounts } from 'src/app/models/accounts';\r\nimport { TicketNotes } from 'src/app/models/TicketNotes';\r\nimport { Dropdown, Dropdowntype } from 'src/app/models/dropdowntype';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { NotesComponent } from '../notes/notes.component';\r\nimport { Contacts } from '../../models/contacts';\r\nimport { Notes } from '../../models/notes';\r\nimport { OutputPropsUserList } from 'src/app/models/output-props-user-list';\r\nimport { Viewaccount } from '../../models/viewaccount';\r\nimport { OwnershipsharingComponent } from '../ownershipsharing/ownershipsharing.component';\r\nimport { AccountDetailsComponent } from '../account-details/account-details.component';\r\nimport { AccountContactInfoComponent } from '../account-contact-info/account-contact-info.component';\r\nimport { ContactsdashboardComponent } from '../contacts/contactsdashboard/contactsdashboard.component';\r\nimport { AuditLogModel } from '../../models/auditlog';\r\nimport { UserdataheaderComponent } from '../userdataheader/userdataheader.component';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-zendeskhome',\r\n templateUrl: './zendeskhome.component.html',\r\n styleUrls: ['./zendeskhome.component.css']\r\n})\r\nexport class ZendeskhomeComponent implements OnInit {\r\n @ViewChild(TicketsComponent) ticketsComp;\r\n @ViewChild(NotesComponent) notecomp;\r\n //@ViewChild(ContactsdashboardComponent) contDashComp;\r\n url: SafeResourceUrl;\r\n\r\n datePipe: DatePipe = new DatePipe(\"en-US\");\r\n Userlist: Array = [];\r\n OriginalUserList: Array = [];\r\n public columnDefs: any[];\r\n public gridOptions: GridOptions;\r\n public ticketgridOptions: GridOptions;\r\n aggridheight: number = screen.height * 0.6333;\r\n public context;\r\n public frameworkComponents;\r\n ozendeskuser: Zendeskuser = new Zendeskuser();\r\n account: Accounts = new Accounts();\r\n urlImage = '';\r\n ticketdata: Tickets = new Tickets();\r\n pageSize: string = \"1000\";\r\n isTicketsInfoDivVisible: boolean = false;\r\n ShowDialog: boolean = false;\r\n currentuser: any;\r\n selectedItems = [];\r\n showOpenTicketHistory = false;\r\n colSelections: string;\r\n accountorContactid;\r\n SaveTicketDialog: boolean = false;\r\n Filter: string = \"My Tickets Only\";\r\n sortOrder: string = \"None\";\r\n displayMyTicketsOn = false;\r\n showTicketDataDiv = true;\r\n ticketDataHide = false;\r\n ticketTaskAssignTo = [];\r\n ticketUserAssignTo = [];\r\n statusChange = false;\r\n showSaveNotes = false;\r\n ticketNotesData: any;\r\n ticketNotes: TicketNotes = new TicketNotes();\r\n userprevilages: any;\r\n TicketPrivilages: any;\r\n ticketStatusList: Array = [];\r\n ticketStatusListForDropDown: Array = [];\r\n displayCC = false;\r\n AssignTo = \"\";\r\n CCTo = \"\";\r\n expanded: boolean = false;\r\n isModal: boolean;\r\n notesshowDialog = false;\r\n conid: number;\r\n typ: string;\r\n contactid = 0;\r\n contacts: Contacts = new Contacts();\r\n allnotes: Array = [];\r\n timezonevalue: string;\r\n public gridOptionsnotes: GridOptions;\r\n public columnDefsnotes: any[];\r\n public getRowHeight;\r\n showEditNoteBtn: boolean = false;\r\n TicketDeatilsExpand: boolean = false;\r\n PreviousNotesExpand: boolean = false;\r\n shwTicketDetails: boolean = false;\r\n editNoteId: boolean = false; EnableSearch: boolean = false; value = \"\";\r\n notes: Notes = new Notes();\r\n NotesDec = false;\r\n DisplayrowsList: Dropdowntype[] = [];\r\n @ViewChild(AccountContactInfoComponent) AccConInfoComp;\r\n public sideBar;\r\n ticketslist: Array = [];\r\n duplicateticketslist: Array = [];\r\n public startDatePickerOptions: IMyDpOptions = { dateFormat: 'Start: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public startDateVal: any = this.applicationComponent.startVal == undefined ? (new Date().getFullYear() - 1) + '-01-01' : this.applicationComponent.startVal; //{ date: { year: parseInt(new Date().getFullYear().toString()), month: 1, day: 1 } };\r\n public startDatePlaceHolder: string = this.applicationComponent.startVal == undefined ? 'Start: 01-01-' + (new Date().getFullYear() - 1).toString() : 'Start:' + moment(this.applicationComponent.startVal).format(\"MM-DD-YYYY\");\r\n calanderonoff: boolean = false;\r\n public endDatePickerOptions: IMyDpOptions = { dateFormat: 'End: mm-dd-yyyy', selectionTxtFontSize: '12px', editableDateField: false, showClearDateBtn: false };\r\n public endDateVal: any = this.applicationComponent.endVal == undefined ? new Date().getFullYear() + '-12-31' : this.applicationComponent.endVal;; //{ date: { year: 2018, month: 10, day: 9 } }\r\n public endDatePlaceHolder: string = this.applicationComponent.endVal == undefined ? 'End: 12-31-' + new Date().getFullYear().toString() : 'End:' + moment(this.applicationComponent.endVal).format(\"MM-DD-YYYY\");\r\n @Input()\r\n PageFrom: string = \"\";\r\n @Input()\r\n dashticketType: string;\r\n @Input()\r\n assignedTo: string = \"\";\r\n ticketType: string = \"Open Tickets\";\r\n ticketId: string ;\r\n private gridApi;\r\n viewaccount: Viewaccount = new Viewaccount();\r\n action: string;\r\n showAddEditAccount: boolean = false;\r\n showAddEditContact: boolean = false;\r\n isSharing: boolean = false;\r\n @ViewChild(OwnershipsharingComponent) ownrshipComp: OwnershipsharingComponent;\r\n @ViewChild(UserdataheaderComponent) headerComp: UserdataheaderComponent;\r\n rightMainDivHideShow: boolean = true;\r\n accountSharingid: number = 0;\r\n AddContacttableDiv: boolean = false;\r\n @ViewChild(AccountDetailsComponent) accdetailcmp;\r\n public elementRef;\r\n public showTicketInfo: boolean = false;\r\n public ticketagingId: number = 0;\r\n @Input()\r\n startDateVal;\r\n @Input()\r\n endDateVal;\r\n public TotalTicketCount: number = 0;\r\n public Below30Days: number = 0;\r\n public Betwn31_60Days: number = 0;\r\n public Betwn61_90Days: number = 0;\r\n public Betwn91_120Days: number = 0;\r\n public Above120Days: number = 0;\r\n constructor(private route: ActivatedRoute, public applicationComponent: ApplicationComponent, private opprtunityservice: OpprtunitiesService, private router: Router,\r\n private userservice: UserService, private customerService: CustomerService, private toastr: ToastrService, sanitizer: DomSanitizer, private accountService: AccountsService,\r\n myElement: ElementRef ) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.elementRef = myElement;\r\n this.applicationComponent.selectedItems = JSON.parse(localStorage.getItem(\"SelectedUserIds\"));\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n var id = [];\r\n this.applicationComponent.selectedItems.forEach(ele => {\r\n id.push(ele.id);\r\n });\r\n $(\"#userids\").val(id.join(','));\r\n } else {\r\n this.applicationComponent.selectedItems = [\r\n { \"id\": this.currentuser.id, \"itemName\": this.currentuser.username, \"category\": this.currentuser.userrole }\r\n ];\r\n localStorage.setItem('SelectedUserIds', JSON.stringify(this.applicationComponent.selectedItems));\r\n $(\"#userids\").val(this.currentuser.id);\r\n /* this.applicationComponent.ExpandSelectedMenu('tickets');*/\r\n }\r\n }\r\n ngOnInit() {\r\n this.initializeAgGrid();\r\n this.route.params.subscribe(params => {\r\n this.accountorContactid = params['accountorContactid'];\r\n this.ticketType = params['type'];\r\n this.ticketId = params['ticketId'];\r\n this.customerService.GetSpecialityList(\"Rows\", this.currentuser.id).then((Rows) => {\r\n this.DisplayrowsList = Rows;\r\n });\r\n if (this.applicationComponent.selectedusers != '' && this.applicationComponent.selectedusers != null && this.applicationComponent.selectedusers != undefined) {\r\n this.customerService.Getselectedusers(this.applicationComponent.selectedusers).then((Owner) => {\r\n Owner.forEach(Owner => {\r\n }); this.selectedItems = Owner;\r\n })\r\n }\r\n else {\r\n this.selectedItems = [{ \"id\": this.currentuser.id, \"itemName\": this.currentuser.username }];\r\n \r\n }\r\n this.GetAllTicketStatus();\r\n this.GetTicketUserLists();\r\n this.closeOpenTicketHistory();\r\n this.LoadTickets(this.startDateVal, this.endDateVal, this.dashticketType);\r\n if (this.ticketId != null && this.ticketId != undefined && this.ticketId != '') {\r\n this.showTicketInfo = true;\r\n var selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ticketgridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketId) {\r\n selfObj.ticketgridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n }\r\n\r\n });\r\n if (this.PageFrom != 'dashboard') {\r\n this.applicationComponent.selectedbuttonText = \"Tickets\";\r\n }\r\n }\r\n \r\n\r\n loadtickets(conId) {\r\n this.ticketslist = [];\r\n this.duplicateticketslist = [];\r\n this.customerService.GetTicketsListByContact(conId, 'All').then((tickets) => {\r\n var dateTime;\r\n tickets.forEach(ele => {\r\n this.customerService.GetTicketNotesByTicketId(ele.ticketId, 'Ticket').then(result => {\r\n\r\n var dateTime;\r\n ele.ticketNotes = result;\r\n ele.ticketNotes.forEach(note => {\r\n dateTime = '';\r\n dateTime = this.datePipe.transform(note.CreatedDate, \"MM-dd-yyyy\");\r\n dateTime += \" (\" + this.datePipe.transform(note.CreatedDate, 'hh: mm a') + \")\";\r\n note.CreatedDate = dateTime;\r\n });\r\n })\r\n this.duplicateticketslist.push(ele);\r\n dateTime = '';\r\n dateTime = this.datePipe.transform(ele.createdDate, \"MM-dd-yyyy\");\r\n dateTime += \" (\" + this.datePipe.transform(ele.createdDate, 'HH: mm') + \")\";\r\n ele.createdDate = dateTime;\r\n });\r\n \r\n this.ticketslist = this.duplicateticketslist;\r\n\r\n });\r\n }\r\n\r\n LoadTickets(startdate, enddate,tickettype) {\r\n \r\n this.startDateVal = startdate;\r\n this.endDateVal = enddate;\r\n this.dashticketType = tickettype;\r\n if (this.PageFrom == 'dashboard') {\r\n if (this.applicationComponent.selectedItems && this.applicationComponent.selectedItems.length > 0) {\r\n this.ticketType = this.dashticketType;\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n } else {\r\n this.currentuser.id = 0;\r\n this.applicationComponent.searchCriteriadata = [];\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n\r\n }\r\n\r\n \r\n }\r\n else {\r\n let str = localStorage.getItem('redirectfrom');\r\n let groupList = localStorage.getItem('assignedTo');\r\n let tktIndex = parseInt(localStorage.getItem('tktIndex'));\r\n let tktType = localStorage.getItem('tktType');\r\n if (str == 'dashboard') {\r\n if (tktType == 'Closed Tickets') {\r\n $(setTimeout(function () {\r\n $(\"#rdClosedTkt\").attr(\"checked\", true).click();\r\n }, 500));\r\n\r\n } else {\r\n this.assignedTo = null;\r\n this.ticketType = tktType;\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n if (groupList != null && groupList != \"null\" && groupList != undefined && groupList != '') {\r\n let lst = selfObj.Userlist.filter(x => x.groupList == groupList);\r\n selfObj.showTicketDataDiv = true;\r\n selfObj.showOpenTicketHistory = false;\r\n selfObj.ticketDataHide = false;\r\n if (lst != null && lst != undefined && lst.length > 0) {\r\n if (selfObj.ticketId == null || selfObj.ticketId == undefined) {\r\n selfObj.ticketdata = lst[tktIndex];\r\n selfObj.getAccountDetails(lst[tktIndex].accID);\r\n \r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketdata.ticketId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n } else {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketId) {\r\n selfObj.ticketdata = selfObj.Userlist.filter(x => x.ticketId == Number(selfObj.ticketId))[0];\r\n \r\n selfObj.gridOptions.api.selectNode(node, true);\r\n //selfObj.contDashComp.ShowRightInfoDiv = false; \r\n }\r\n });\r\n }\r\n }\r\n else {\r\n selfObj.ticketDataHide = true;\r\n }\r\n } else {\r\n selfObj.showTicketDataDiv = true;\r\n selfObj.showOpenTicketHistory = false;\r\n selfObj.ticketDataHide = false;\r\n if (selfObj.Userlist != null && selfObj.Userlist != undefined && selfObj.Userlist.length > 0) {\r\n if (selfObj.ticketId == null || selfObj.ticketId == undefined) {\r\n selfObj.ticketdata = selfObj.Userlist[tktIndex]; \r\n selfObj.getAccountDetails(selfObj.Userlist[tktIndex].accID); \r\n }\r\n else {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketId) {\r\n selfObj.ticketdata = selfObj.Userlist.filter(x => x.ticketId == Number(selfObj.ticketId))[0];\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }\r\n \r\n }\r\n else {\r\n selfObj.ticketDataHide = true;\r\n }\r\n }\r\n }, 500));\r\n \r\n }\r\n\r\n }\r\n else {\r\n this.assignedTo = null;\r\n this.displayCC = false;\r\n this.GetAllZendeskUers(this.Filter, 1);\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.showTicketDataDiv = true;\r\n selfObj.showOpenTicketHistory = false;\r\n selfObj.ticketDataHide = false;\r\n if (selfObj.Userlist != null && selfObj.Userlist != undefined && selfObj.Userlist.length > 0) {\r\n if (selfObj.ticketId == null || selfObj.ticketId == undefined) {\r\n selfObj.ticketdata = selfObj.Userlist[0];\r\n \r\n selfObj.getAccountDetails(selfObj.Userlist[0].accID);\r\n \r\n }\r\n else {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketId) {\r\n selfObj.ticketdata = selfObj.Userlist.filter(x => x.ticketId == Number(selfObj.ticketId))[0];\r\n \r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }\r\n var obj: AuditLogModel = { id: 0, type: 'Tickets', action: 'Tickets Viewed', AccountOrContactId: selfObj.ticketdata.contactid, AccountOrContact: \"Contact\", documentid: selfObj.ticketdata.ticketId, userid: selfObj.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Tickets Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n selfObj.applicationComponent.InsertAuditHistory(obj);\r\n }\r\n else {\r\n selfObj.ticketDataHide = true;\r\n }\r\n }, 500));\r\n }\r\n \r\n\r\n }\r\n }\r\n onAgGridReady(params) {\r\n this.gridApi = params.api;\r\n }\r\n GetAllTicketStatus() {\r\n this.customerService.GetAllTicketStatus().then((userslist) => {\r\n this.ticketStatusListForDropDown = userslist.filter(p => p.id != '6');\r\n this.ticketStatusList = userslist;\r\n\r\n });\r\n }\r\n\r\n //loadContactTickets(conId) {\r\n // let selfObj = this;\r\n // $(setTimeout(function () {\r\n // selfObj.isTicketsInfoDivVisible = true;\r\n // selfObj.ticketsComp.loadcontactdatatoticket(conId);\r\n // }, 200));\r\n\r\n\r\n //}\r\n\r\n calanderclick(val) {\r\n this.calanderonoff = val;\r\n if (this.calanderonoff == false) {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:#f4f4f4 !important;-webkit-text-fill-color:lightgrey');\r\n $('.mydp .btnpicker').attr('style', 'background-color:#f4f4f4 !important;color:#f4f4f4 !important;');\r\n }, 200));\r\n } else {\r\n $(setTimeout(function () {\r\n $('.mydp .selection').attr('style', 'background-color:white !important;');\r\n $('.mydp .btnpicker').attr('style', 'background-color:white !important;color:black');\r\n }, 200));\r\n }\r\n }\r\n GetAllZendeskUers(filter, sortOrder) {\r\n\r\n if (this.ticketType == \"\") { this.Userlist = []; }\r\n else {\r\n if (this.ticketType == 'Open Tickets') {\r\n filter = 'My Tickets Only'\r\n }\r\n this.customerService.GetTicketsList(this.ticketType, filter, this.currentuser.id, sortOrder, this.displayCC, this.assignedTo).then((tickets) => {\r\n if (this.dashticketType == \"Closed Tickets\") {\r\n this.Userlist = tickets.filter(p => p.createdDate >= this.startDateVal && p.createdDate <= this.endDateVal);\r\n } \r\n tickets.forEach(ele => {\r\n ele.createdDate = this.datePipe.transform(ele.createdDate, \"MM-dd-yyyy\")\r\n this.AssignTo = '';\r\n this.CCTo = '';\r\n if (ele.assignTicketToTask != null) {\r\n ele.assignTicketToTask = \"TG-\" + ele.assignTicketToTask;\r\n this.AssignTo = ele.assignTicketToTask;\r\n }\r\n if (ele.assignTicketToUser != null) {\r\n ele.assignTicketToUser = ele.assignTicketToUser; //\"USR-\" +ele.assignTicketToUser;\r\n this.AssignTo = ele.assignTicketToUser\r\n }\r\n\r\n if (ele.CCToTask != null) {\r\n ele.CCToTask = \"TG-\" + ele.CCToTask;\r\n this.CCTo = ele.CCToTask;\r\n }\r\n if (ele.CCTo != null) {\r\n ele.CCTo = \"USR-\" + ele.CCTo;\r\n this.CCTo = ele.CCTo\r\n }\r\n\r\n });\r\n this.Userlist = tickets; \r\n this.OriginalUserList = tickets;\r\n this.applicationComponent.OpenTicketCountLoginUser = tickets.filter(p => p.TicketStatus == 1 && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id) && p.readstatus==0).length;\r\n this.TotalTicketCount = this.Userlist.length; \r\n this.Below30Days = this.Userlist.filter((cust) => cust.NoOfDays <= 30).length;\r\n this.Betwn31_60Days = this.Userlist.filter((cust) => cust.NoOfDays > 30 && cust.NoOfDays <= 60).length;\r\n this.Betwn61_90Days = this.Userlist.filter((cust) => cust.NoOfDays > 60 && cust.NoOfDays <= 90).length;\r\n this.Betwn91_120Days = this.Userlist.filter((cust) => cust.NoOfDays > 90 && cust.NoOfDays <= 120).length;\r\n this.Above120Days = this.Userlist.filter((cust) => cust.NoOfDays > 120).length;\r\n if (this.Userlist.length > 0) {\r\n if (this.showTicketInfo) {\r\n this.ticketId = localStorage.getItem('openTicketId');\r\n this.ticketId = Number(localStorage.getItem('openTicketId')) > 0 ? localStorage.getItem('openTicketId') : this.Userlist[0].ticketId.toString();\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ticketgridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketId) {\r\n selfObj.ticketgridOptions.api.selectNode(node, true);\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 300));\r\n }\r\n }\r\n else {\r\n this.CloseTicketDiv();\r\n \r\n \r\n }\r\n if (this.ticketType == 'Pended Tickets') {\r\n $(\"#rdPendedTkt\").attr(\"checked\", true);\r\n }\r\n else if (this.ticketType == 'On-Hold Tickets') {\r\n $(\"#rdOnHoldTkt\").attr(\"checked\", true);\r\n }\r\n else if (this.ticketType == 'Closed Tickets') {\r\n $(\"#rdClosedTkt\").attr(\"checked\", true);\r\n }\r\n else if (this.ticketType == 'Deleted Tickets') {\r\n $(\"#rdDeletedTkt\").attr(\"checked\", true);\r\n }\r\n else {\r\n $(\"#rdOpenTkt\").attr(\"checked\", true);\r\n }\r\n \r\n });\r\n }\r\n\r\n }\r\n CloseTicketDiv() {\r\n this.showTicketInfo = false;\r\n this.ticketagingId = parseInt(localStorage.getItem('TicketAgingId'));\r\n if (this.ticketagingId > 0) {\r\n let that = this;\r\n \r\n setTimeout(function () {\r\n $('#' + that.ticketagingId).trigger(\"click\");\r\n\r\n }, 200); \r\n \r\n }\r\n // this.addopportunityExpand = false;\r\n //this.gridOptions.rowSelection = 'multiple';\r\n }\r\n //GetAllTicketsForCountUpdate(filter, sortOrder) {\r\n\r\n // this.applicationComponent.ClosedTicketCount = 0;\r\n // this.customerService.GetTicketsList('All Tickets', filter, this.currentuser.id, sortOrder, this.displayCC, this.assignedTo).then((tickets) => {\r\n // this.applicationComponent.OpenTicketCount = tickets.filter(p => p.TicketStatus == 1).length;\r\n // alert(\"c\" + this.applicationComponent.OpenTicketCount);\r\n // this.applicationComponent.OpenTicketCountLoginUser = tickets.filter(p => p.TicketStatus && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id)).length;\r\n // this.applicationComponent.OnHoldTicketCount = tickets.filter(p => p.TicketStatus == 2).length;\r\n // this.applicationComponent.PendedTicketCount = tickets.filter(p => p.TicketStatus == 3).length;\r\n // this.applicationComponent.ClosedTicketCount = tickets.filter(p => p.TicketStatus == 4).length + tickets.filter(p => p.TicketStatus == 5).length;;\r\n // //this.applicationComponent.ClosedTicketCount += tickets.filter(p => p.TicketStatus == 5).length;\r\n // this.applicationComponent.AllTicketCount = tickets.length;\r\n // this.applicationComponent.UnReadOpenTicketCount = tickets.filter(p => p.readstatus == 0 && (p.assignTicketToUser != null && p.assignTicketToUser == this.currentuser.id)).length;\r\n // });\r\n\r\n //}\r\n\r\n initializeAgGrid() {\r\n //this.gridOptions = {\r\n // pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n //};\r\n\r\n this.gridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.ticketgridOptions = {\r\n pagination: true, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressValues: true, paginationPageSize: 1000,toolPanelSuppressRowGroups: true, toolPanelSuppressPivotMode: true, rowSelection: 'single'\r\n };\r\n this.sideBar = {\r\n toolPanels: [\r\n {\r\n id: 'columns',\r\n labelDefault: 'Columns',\r\n labelKey: 'columns',\r\n iconKey: 'columns',\r\n toolPanel: 'agColumnsToolPanel',\r\n }\r\n ],\r\n position: 'right',\r\n\r\n };\r\n let columnSelections: string;\r\n let gridconfigId = (this.PageFrom == 'dashboard' && this.assignedTo == 'Support') ? 66 : 64;\r\n this.opprtunityservice.getDashboardConfigurationByUserId(this.currentuser.id, gridconfigId).then((config) => {\r\n if (config != null && config.maxlimit != null && config.maxlimit > 0) {\r\n if (this.gridOptions && this.gridOptions.api)\r\n this.gridOptions.api.paginationSetPageSize(config.maxlimit);\r\n this.pageSize = config.maxlimit.toString();\r\n }\r\n columnSelections = config != null && config.columnsselections != null ? config.columnsselections : \"\";\r\n this.colSelections = columnSelections;\r\n //this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n this.createColumnDefs(columnSelections);\r\n this.UpdateSearchColumns(columnSelections)\r\n });\r\n\r\n this.context = this;\r\n this.frameworkComponents = {\r\n editdeletecv: EditdeletecvComponent\r\n };\r\n }\r\n\r\n getAccountDetails(Accountid) {\r\n this.customerService.GetByAccountId(Accountid).then(result => {\r\n this.account = result;\r\n this.Display(this.account.id, this.account.accountname, this.account.address1, this.account.address2, this.account.city, this.account.state, this.account.zip, this.account.countryname, this.account.phone, this.account.fax, this.account.website, this.account.Accountiddata);\r\n });\r\n }\r\n\r\n Display(accId, accountname, addr1, addr2, city, state, zip, country, phone, fax, website, Accountiddata) {\r\n\r\n //var properCity = city.charAt(0).toUpperCase() + city.substr(1).toLowerCase();\r\n if (city != null) {\r\n var cityArray = city.split(' ');\r\n var newCity = '';\r\n for (var i = 0; i < cityArray.length; i++) {\r\n if (newCity == '') {\r\n newCity = cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n else {\r\n newCity = newCity + ' ' + cityArray[i].charAt(0).toUpperCase() + cityArray[i].substr(1).toLowerCase();\r\n }\r\n }\r\n }\r\n if (website != null && website.indexOf('www.') >= 0) {\r\n website = ((website).split('www.')[1])\r\n } else if (website != null && website.indexOf('ww.') >= 0) {\r\n website = ((website).split('ww.')[1])\r\n }\r\n\r\n\r\n var properstate = (state != null) ? state.charAt(0).toUpperCase() + state.substr(1).toLowerCase() : \"\";\r\n this.viewaccount.accountId = accId;\r\n this.viewaccount.viewaccountname = accountname;\r\n this.viewaccount.viewaddress1 = addr1;\r\n this.viewaccount.viewaddress2 = addr2;\r\n this.viewaccount.viewcity = newCity == null ? \"\" : newCity;\r\n this.viewaccount.viewstate = properstate;\r\n this.viewaccount.viewzip = zip;\r\n this.viewaccount.viewCountry = country;\r\n this.viewaccount.viewphone = phone;\r\n this.viewaccount.viewfax = fax;\r\n this.viewaccount.viewwebsite = website;\r\n this.viewaccount.Accountiddata = Accountiddata;\r\n this.accdetailcmp.loadAccountId(accId);\r\n\r\n }\r\n createColumnDefs(columnSelections: string) {\r\n var searcharray = [];\r\n if (this.gridOptions.quickFilterText != null && this.gridOptions.quickFilterText != undefined && this.gridOptions.quickFilterText != '') {\r\n searcharray.push(this.gridOptions.quickFilterText);\r\n }\r\n let columnSelectionsArray: string[] = [];\r\n let selfobj = this;\r\n if (columnSelections != \"\") {\r\n columnSelectionsArray = columnSelections.split(',');\r\n\r\n selfobj.columnDefs = [];\r\n\r\n for (let i = 0; i < columnSelectionsArray.length; i++) {\r\n let fieldHeaderVisibleWidthArray: string[] = columnSelectionsArray[i].split(':');\r\n if (fieldHeaderVisibleWidthArray[0] == \"#\") {\r\n selfobj.columnDefs.push({\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"contactname\") {\r\n selfobj.columnDefs.push({\r\n field: 'contactname', headerName: 'Contact Name', getQuickFilterText: () => '',hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accountName\") {\r\n selfobj.columnDefs.push({\r\n field: 'accountName', headerName: 'Account', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]), cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"accPhone\") {\r\n selfobj.columnDefs.push({\r\n field: 'accPhone', headerName: 'accPhone', hide: false, width: parseInt(fieldHeaderVisibleWidthArray[3]),\r\n cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n });\r\n }\r\n else if (fieldHeaderVisibleWidthArray[0] == \"TicketStatus\") {\r\n selfobj.columnDefs.push({\r\n field: 'TicketStatus', headerName: 'Status', getQuickFilterText: () => '',hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n var text = '';\r\n selfobj.ticketStatusList.forEach(ele => {\r\n if (ele.id == params.value) {\r\n text = ele.itemName;\r\n }\r\n })\r\n eDiv.innerHTML = text;\r\n return eDiv;\r\n }\r\n });\r\n }\r\n\r\n else {\r\n selfobj.columnDefs.push({\r\n field: fieldHeaderVisibleWidthArray[0],\r\n headerName: fieldHeaderVisibleWidthArray[1], getQuickFilterText: () => '',\r\n hide: fieldHeaderVisibleWidthArray[2] == \"true\" ? false : true,\r\n width: parseInt(fieldHeaderVisibleWidthArray[3])\r\n });\r\n }\r\n }\r\n } else {\r\n\r\n if (this.PageFrom == 'dashboard' && this.assignedTo =='null') {\r\n this.columnDefs = [\r\n \r\n {\r\n field: 'contactname', headerName: 'Contact name', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'createdDate', headerName: 'Created Date', hide: false, width: 120, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n \r\n {\r\n field: 'priority', headerName: 'Priority', hide: false, cellRenderer: function (params) {\r\n if (params.data.priority == 1) {\r\n return 'Yes';\r\n\r\n } else {\r\n return 'No';\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'accountName', headerName: 'Account', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false },\r\n\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n\r\n {\r\n field: 'email', headerName: 'Email', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'CCToName', headerName: 'CC', hide: true },\r\n \r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n var text = '';\r\n selfobj.ticketStatusList.forEach(ele => {\r\n if (ele.id == params.value) {\r\n text = ele.itemName;\r\n }\r\n })\r\n eDiv.innerHTML = text;\r\n return eDiv;\r\n }\r\n },\r\n \r\n\r\n ];\r\n } else if (this.PageFrom == 'dashboard') {\r\n this.columnDefs = [\r\n {\r\n field: 'accountName', headerName: 'Account', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'contactname', headerName: 'Contact name', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n\r\n {\r\n field: 'createdDate', headerName: 'Created Date', hide: false, width: 120, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n { field: 'userList', headerName: 'Assign Ticket To', hide: false },\r\n\r\n {\r\n field: 'priority', headerName: 'Priority', hide: false, cellRenderer: function (params) {\r\n if (params.data.priority == 1) {\r\n return 'Yes';\r\n\r\n } else {\r\n return 'No';\r\n }\r\n }\r\n },\r\n\r\n\r\n { field: 'subject', headerName: 'Subject', hide: false },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n\r\n {\r\n field: 'email', headerName: 'Email', hide: false, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n { field: 'CCToName', headerName: 'CC', hide: true },\r\n { field: 'ticketId', headerName: 'Ticket', hide: true },\r\n {\r\n field: 'TicketStatus', headerName: 'Status', hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n var text = '';\r\n selfobj.ticketStatusList.forEach(ele => {\r\n if (ele.id == params.value) {\r\n text = ele.itemName;\r\n }\r\n })\r\n eDiv.innerHTML = text;\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'UserName', headerName: 'User Name', hide: true, cellRenderer: function (params) {\r\n if (params.data.SearchVal != null && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n var search = params.data.SearchVal;\r\n if (searcharray.toString().includes(x[i].trim().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n }\r\n\r\n ];\r\n } else {\r\n this.columnDefs = [\r\n {\r\n headerName: '#',\r\n field: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: this.PageFrom == 'dashboard' ? true : false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true\r\n },\r\n\r\n {\r\n field: 'createdDate', headerName: 'Created Date', getQuickFilterText: () => '',hide: false, width: 120, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'ClosedDate', headerName: 'Closed Date', getQuickFilterText: () => '', hide: false, width: 120, cellRenderer: (params) => {\r\n return moment(params.value).format('MM-DD-YYYY');\r\n }\r\n },\r\n {\r\n field: 'accountName', headerName: 'Account', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n\r\n if (searcharray.toString().startsWith(x[i].trim()) || searcharray.toString().toLowerCase().startsWith(x[i].toLowerCase()) || x[i].toString().toLowerCase().startsWith(searcharray.toString().toLowerCase())) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n {\r\n field: 'contactname', headerName: 'Contact name', getQuickFilterText: () => '', hide: false\r\n },\r\n {\r\n field: 'priority', headerName: 'Priority', getQuickFilterText: () => '', hide: false, cellRenderer: function (params) {\r\n if (params.data.priority == 1) {\r\n return 'Yes';\r\n\r\n } else {\r\n return 'No';\r\n }\r\n }\r\n },\r\n\r\n { field: 'userList', headerName: 'Assign Ticket To', getQuickFilterText: () => '',hide: false },\r\n \r\n\r\n {\r\n field: 'accPhone', headerName: 'Phone', hide: false, cellRenderer: function (params) {\r\n if (searcharray.length > 0 && params.value != null) {\r\n let x = params.value.split(\" \");\r\n let y = searcharray[0].includes(\" \") >= 0 ? searcharray.toString().split(' ') : searcharray;\r\n var st = \"\";\r\n for (let i = 0; i < x.length; i++) {\r\n if (i == 0 && searcharray.toString().startsWith(x[i]) || searcharray.toString().startsWith(x[i]) || x[i].toString().startsWith(searcharray.toString())) {\r\n st += \"  \";\r\n }\r\n else if (i == 1 && y.length > 1 && (y[1].toString().startsWith(x[i]) || y[1].toString().startsWith(x[i]) || x[i].toString().startsWith(y[1].toString()))) {\r\n st += \"  \";\r\n }\r\n else {\r\n st += x[i] + \" \";\r\n }\r\n\r\n }\r\n return st\r\n\r\n } else {\r\n return params.value;\r\n }\r\n }\r\n },\r\n \r\n\r\n \r\n { field: 'subject', headerName: 'Subject', getQuickFilterText: () => '',hide: false },\r\n { field: 'descriptions', headerName: 'Description', hide: false },\r\n\r\n {\r\n field: 'email', headerName: 'Email', getQuickFilterText: () => '',hide: false\r\n },\r\n { field: 'CCToName', headerName: 'CC', getQuickFilterText: () => '',hide: true },\r\n { field: 'ticketId', headerName: 'Ticket', getQuickFilterText: () => '',hide: true },\r\n {\r\n field: 'TicketStatus', headerName: 'Status', getQuickFilterText: () => '',hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n var text = '';\r\n selfobj.ticketStatusList.forEach(ele => {\r\n if (ele.id == params.value) {\r\n text = ele.itemName;\r\n }\r\n })\r\n eDiv.innerHTML = text;\r\n return eDiv;\r\n }\r\n },\r\n {\r\n field: 'UserName', headerName: 'User Name', getQuickFilterText: () => '',hide: true\r\n },\r\n {\r\n field: 'action', headerName: 'Action', hide: true, cellRenderer(params) {\r\n if (params.data.TicketStatus != '6') {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = '';\r\n eDiv.addEventListener('click', function () {\r\n selfobj.deleteClosedTicket(params.data);\r\n });\r\n return eDiv;\r\n }\r\n else {\r\n return null;\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n ];\r\n }\r\n }\r\n selfobj.gridOptions.getRowStyle = function (params) {\r\n\r\n if (params.data.assignTicketToUser != null && params.data.assignTicketToUser == selfobj.currentuser.id && params.data.readstatus == 0) {\r\n return { /*'font-weight': 'bold'*/ };\r\n }\r\n }\r\n }\r\n editRowAg(rowdata) {\r\n this.customerService.savezendeskUser(this.ozendeskuser).then(result => { });\r\n }\r\n deleteRowAg(rowdata) {\r\n this.customerService.DeleteZendeskUser(rowdata.Id).then((user) => {\r\n });\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n }\r\n SaveZendeskuser() {\r\n this.customerService.savezendeskUser(this.ozendeskuser).then(result => { });\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n\r\n }\r\n\r\n columnVisible(event) {\r\n this.saveConfiguration();\r\n }\r\n dragStopped(event) {\r\n this.saveConfiguration();\r\n }\r\n columnResized(event) {\r\n if (event.finished == true)\r\n this.saveConfiguration();\r\n }\r\n UpdateSearchColumns(columnSelections) {\r\n this.applicationComponent.SearchColumnList = [];\r\n this.applicationComponent.SearchSelectedItems = [];\r\n let allCols: string[] = columnSelections.split(',');\r\n\r\n let columnSelectionsArray: any[] = [];\r\n for (let i = 0; i < allCols.length; i++) {\r\n let fields: string[] = allCols[i].split(':');\r\n if (fields[2] == 'true' && (fields[1] != '#' && fields[0] != 'notes' && fields[0] != 'actions' && fields[0] != 'callliststatus')) {\r\n columnSelectionsArray.push({ \"id\": fields[0], \"itemName\": fields[1] });\r\n }\r\n }\r\n\r\n this.applicationComponent.SearchColumnList = columnSelectionsArray;\r\n var retrievedObject = localStorage.getItem('TempTable');\r\n let tempTableColumns: any[];\r\n if (retrievedObject != null) {\r\n let obj: any[] = JSON.parse(retrievedObject);\r\n obj.forEach(element => {\r\n if (element.subtab == 'OpenTickets' && this.applicationComponent.Searchtabname == 'OpenTickets') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } else if (element.subtab == 'ClosedTickets' && this.applicationComponent.Searchtabname == 'ClosedTickets') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n } else if (element.subtab == 'AllTickets' && this.applicationComponent.Searchtabname == 'AllTickets') {\r\n tempTableColumns = element.columns;\r\n this.applicationComponent.SearchSelectedItemsLengthChanged = element.SearchSelectedItemsLengthChanged;\r\n }\r\n\r\n //if (this.applicationComponent.SearchSelectedItemsLengthChanged == true) {\r\n // this.applicationComponent.showSearchTabsSubTabs = false;\r\n //}\r\n //else {\r\n // this.applicationComponent.showSearchTabsSubTabs = true;\r\n //}\r\n });\r\n }\r\n if (tempTableColumns && tempTableColumns.length > 0) {\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n }\r\n else {\r\n this.accountService.GetDefaultColumns('OpenTickets', this.currentuser.id).then((config) => {\r\n if (config != null && config.defaultcolumns != null) {\r\n let tempTableColumns: any[];\r\n tempTableColumns = config.defaultcolumns.split(',');\r\n tempTableColumns.forEach(col => {\r\n this.applicationComponent.SearchSelectedItems.push({ \"id\": col.split('-')[0], \"itemName\": col.split('-')[1] })\r\n\r\n })\r\n } else {\r\n this.applicationComponent.SearchSelectedItems = [\r\n { \"id\": 'accountName', \"itemName\": 'Account' },\r\n ];\r\n }\r\n });\r\n //this.applicationComponent.showSearchTabsSubTabs = false;\r\n }\r\n }\r\n\r\n dateChange(event) { }\r\n saveConfiguration() {\r\n let allCols: Column[] = this.gridOptions.columnApi.getAllGridColumns();\r\n let config: Dashboardconfiguration = new Dashboardconfiguration();\r\n\r\n if (this.pageSize == \"\")\r\n config.maxlimit = 1000;\r\n else\r\n config.maxlimit = Number(this.pageSize);\r\n\r\n config.columnsselections = \"\";\r\n\r\n for (let i = 0; i < allCols.length; i++) {\r\n config.columnsselections += allCols[i].getColId().split(\"_1\")[0] + \":\" + allCols[i].getColDef().headerName + \":\" + allCols[i].isVisible() + \":\" + allCols[i].getActualWidth() + \",\";\r\n }\r\n\r\n if (config.columnsselections.length > 0)\r\n config.columnsselections = config.columnsselections.substr(0, config.columnsselections.length - 1);\r\n this.UpdateSearchColumns(config.columnsselections);\r\n config.configureduserid = this.currentuser.id;\r\n config.resourceid = 53;\r\n\r\n config.userid = \"\";\r\n for (let i = 0; i < this.selectedItems.length; i++) {\r\n config.userid += this.selectedItems[i].id + \",\";\r\n }\r\n\r\n if (config.userid.length > 0)\r\n config.userid = config.userid.substr(0, config.userid.length - 1);\r\n\r\n this.opprtunityservice.saveDashboardconfiguration(config);\r\n }\r\n MyTicketsOn(val) {\r\n\r\n this.displayMyTicketsOn = val;\r\n if (this.displayMyTicketsOn == true) {\r\n this.sortOrder = \"MyTicketsFirst\";\r\n }\r\n else {\r\n this.sortOrder = \"None\";\r\n }\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n }\r\n\r\n //UserListChange(Val) {\r\n // switch (Val) {\r\n // case \"1\": {\r\n // this.Filter = 'All Tasks Groups and Users';\r\n\r\n // break;\r\n // };\r\n // case \"2\": {\r\n // this.Filter = 'My Tickets Only';\r\n // break;\r\n // };\r\n // case \"3\": {\r\n // this.Filter = 'Task Groups Only';\r\n // break;\r\n // };\r\n // case \"4\": {\r\n // this.Filter = 'Users Only';\r\n // break;\r\n // }\r\n // }\r\n // this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n //}\r\n\r\n cellDoubleClicked(event) {\r\n if (this.PageFrom !== 'dashboard') {\r\n\r\n if (event.node.selected && event.node.selected === true) {\r\n this.ShowDialog = false;\r\n this.showTicketInfo = true;\r\n this.showTicketDataDiv = true;\r\n this.ticketDataHide = false;\r\n\r\n this.getAccountDetails(event.data.accID);\r\n //this.GetContactData(event.data.contactid);\r\n this.loadtickets(event.data.contactid);\r\n this.ticketdata = new Tickets()\r\n this.ticketdata = event.data;\r\n this.ticketId = event.data.ticketId;\r\n this.gridOptions.rowSelection = 'single';\r\n \r\n this.getNotes();\r\n if (event.data.assignTicketToUser == null) {\r\n this.AssignTo = event.data.assignTicketToTask;\r\n\r\n } else {\r\n this.AssignTo = event.data.assignTicketToUser;\r\n }\r\n\r\n if (event.data.CCTo == null) {\r\n \r\n this.CCTo = event.data.CCToTask;\r\n\r\n } else {\r\n this.CCTo = event.data.CCTo;\r\n }\r\n \r\n var self = this;\r\n $(setTimeout(function () {\r\n if (self.ticketdata.assignTicketToUser == self.currentuser.id && self.ticketdata.readstatus == 0) {\r\n self.ticketdata.readstatus = 1;\r\n self.savetickets(); \r\n } \r\n var obj: AuditLogModel = { id: 0, type: 'Tickets', action: 'Tickets Viewed', AccountOrContactId: self.ticketdata.contactid, AccountOrContact: \"Contact\", documentid: self.ticketdata.ticketId, userid: self.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Tickets Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n self.applicationComponent.InsertAuditHistory(obj);\r\n }, 100));\r\n\r\n\r\n var selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ticketgridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketdata.ticketId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n }\r\n\r\n }\r\n\r\n }\r\n rowticketHistoryClickAgGrid(event) {\r\n this.ticketdata = new Tickets()\r\n this.ticketdata = event.data;\r\n this.getNotes();\r\n }\r\n onSelectionChanged(event) {\r\n var rowCount = event.api.getSelectedNodes().length;\r\n if (rowCount > 0) { \r\n this.ticketdata = event.api.getSelectedNodes()[0].data;\r\n this.getNotes(); \r\n }\r\n else {\r\n this.ticketdata = null;\r\n this.ticketNotesData = null;\r\n }\r\n\r\n }\r\n rowClickAgGrid(event) { \r\n if (event.node.selected && event.node.selected === true) {\r\n if (this.showTicketInfo) {\r\n this.ShowDialog = false;\r\n this.showTicketInfo = true;\r\n this.showTicketDataDiv = true;\r\n this.ticketDataHide = false;\r\n this.getAccountDetails(event.data.accID);\r\n this.loadtickets(event.data.contactid);\r\n this.ticketdata = new Tickets()\r\n this.ticketdata = event.data;\r\n this.ticketId = event.data.ticketId;\r\n this.gridOptions.rowSelection = 'single';\r\n this.getNotes();\r\n if (event.data.assignTicketToUser == null) {\r\n this.AssignTo = event.data.assignTicketToTask;\r\n } else {\r\n this.AssignTo = event.data.assignTicketToUser;\r\n }\r\n\r\n if (event.data.CCTo == null) {\r\n this.CCTo = event.data.CCToTask;\r\n } else {\r\n this.CCTo = event.data.CCTo;\r\n }\r\n var self = this;\r\n $(setTimeout(function () {\r\n if (self.ticketdata.assignTicketToUser == self.currentuser.id && self.ticketdata.readstatus == 0) {\r\n self.ticketdata.readstatus = 1;\r\n self.SaveTicketdata();\r\n }\r\n var obj: AuditLogModel = { id: 0, type: 'Tickets', action: 'Tickets Viewed', AccountOrContactId: self.ticketdata.contactid, AccountOrContact: \"Contact\", documentid: self.ticketdata.ticketId, userid: self.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Tickets Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n self.applicationComponent.InsertAuditHistory(obj);\r\n }, 100));\r\n }\r\n \r\n \r\n var selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.gridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketdata.ticketId) {\r\n selfObj.gridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 300));\r\n } \r\n }\r\n\r\n ticketDetailPopUpCss() {\r\n setTimeout(function () {\r\n $('#ShowDialog .dialog').attr('style', 'width: 30%;padding: 0;min-height: 63%;overflow: auto;height: 99.5%;top: 0%;left: 70%;');\r\n }, 4)\r\n }\r\n\r\n\r\n rowDoubleClickAgGrid(event) {\r\n if (this.PageFrom == 'dashboard') { \r\n this.ticketId = event.data.ticketId;\r\n localStorage.setItem('openTicketId', event.data.ticketId);\r\n if (event.data.TicketStatus == 4) {\r\n this.router.navigateByUrl(`/application/zendeskhome/0/` + this.ticketId + '/' + 'Closed Tickets');\r\n \r\n } else {\r\n this.router.navigateByUrl(`/application/zendeskhome/0/` + this.ticketId + '/' + 'Open Tickets');\r\n }\r\n this.applicationComponent.ExpandSelectedMenu('tickets');\r\n var selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ticketgridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketId) {\r\n selfObj.ticketgridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n } else {\r\n this.ShowDialog = false;\r\n this.showTicketInfo = true;\r\n this.showTicketDataDiv = true;\r\n this.ticketDataHide = false;\r\n this.EnableSearch = false;\r\n this.getAccountDetails(event.data.accID);\r\n this.loadtickets(event.data.contactid);\r\n this.ticketdata = new Tickets()\r\n this.ticketdata = event.data;\r\n this.ticketId = event.data.ticketId;\r\n this.ticketgridOptions.rowSelection = 'single';\r\n\r\n this.getNotes();\r\n if (event.data.assignTicketToUser == null) {\r\n this.AssignTo = event.data.assignTicketToTask;\r\n\r\n } else {\r\n this.AssignTo = event.data.assignTicketToUser;\r\n }\r\n\r\n if (event.data.CCTo == null) {\r\n\r\n this.CCTo = event.data.CCToTask;\r\n\r\n } else {\r\n this.CCTo = event.data.CCTo;\r\n }\r\n var self = this;\r\n $(setTimeout(function () {\r\n if (self.ticketdata.assignTicketToUser == self.currentuser.id && self.ticketdata.readstatus == 0) {\r\n self.ticketdata.readstatus = 1;\r\n self.SaveTicketdata();\r\n }\r\n var obj: AuditLogModel = { id: 0, type: 'Tickets', action: 'Tickets Viewed', AccountOrContactId: self.ticketdata.contactid, AccountOrContact: \"Contact\", documentid: self.ticketdata.ticketId, userid: self.currentuser.id, dateofviewed: '', customertype: '', time: '', Title: 'Tickets Viewed', AccountName: '', contactname: '', documentname: '', username: '', LoggedIn: '', LoggedOut: '', TimeSpent: '', LogOutStatus: '', Total: 0, CurrentPage: 0 };\r\n self.applicationComponent.InsertAuditHistory(obj);\r\n }, 100));\r\n\r\n\r\n var selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ticketgridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketdata.ticketId) {\r\n selfObj.ticketgridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n\r\n //}\r\n\r\n }\r\n\r\n }\r\n\r\n //GetContactData(contactid) {\r\n // this.customerService.Getcontactimage(contactid).then(res => {\r\n // this.urlImage = res.photo;\r\n\r\n // });\r\n //}\r\n\r\n\r\n\r\n GetTicketUserLists() {\r\n this.userservice.GetTicketUserLists(this.currentuser.id).then((taskgroup) => {\r\n if (taskgroup != null) {\r\n this.getSelectedUserList(taskgroup[0].SelectedUserID, taskgroup[0].SelectedTaskGroupID);\r\n }\r\n\r\n });\r\n }\r\n\r\n getSelectedTaskGroups(status) {\r\n this.ticketTaskAssignTo = [];\r\n this.userservice.GetSelectedTaskgroups(status).then((taskgroups) => {\r\n this.ticketTaskAssignTo = taskgroups;\r\n });\r\n\r\n\r\n }\r\n\r\n getSelectedUserList(status, groupid) {\r\n this.ticketUserAssignTo = [];\r\n this.customerService.Getselectedusers(status).then((users) => {\r\n users.forEach(elem => {\r\n elem.category = \"USR-\" + elem.id;\r\n });\r\n this.ticketUserAssignTo = users;\r\n\r\n let taskgroupsdata = [];\r\n this.userservice.GetTaskgrouplist('0,1').then((taskgroups) => {\r\n taskgroups.forEach(ele => {\r\n ele.category = \"TG-\" + ele.id;\r\n this.ticketUserAssignTo.push(ele);\r\n });\r\n });\r\n\r\n });\r\n\r\n\r\n\r\n }\r\n AssignToChange(val) {\r\n if (val.split('-')[0] == 'TG') {\r\n this.ticketdata.assignTicketToTask = val.split('-')[1];\r\n this.ticketdata.assignTicketToUser = null;\r\n this.AssignTo = val;\r\n }\r\n else {\r\n this.ticketdata.assignTicketToUser = val.split('-')[1];\r\n this.ticketdata.assignTicketToTask = null;\r\n this.AssignTo = val;\r\n }\r\n\r\n this.statusChange = true;\r\n }\r\n\r\n onStausChnage(val) {\r\n this.statusChange = true;\r\n }\r\n savetickets() {\r\n this.SaveTicketDialog = true;\r\n setTimeout(function () {\r\n $('#SaveTicketDialog .dialog').attr('style', 'width: 28%;padding: 0;border: 6px solid rgb(49,189,240);border-radius:5%;min-height: 15%;top: 8%;left: 3%;max-width: 1393px !important;'); \r\n }, 4)\r\n }\r\n SaveTicketdata() {\r\n \r\n if (this.ticketdata.assignTicketToTask != null && this.ticketdata.assignTicketToTask.startsWith(\"TG-\")) {\r\n this.ticketdata.assignTicketToTask = this.ticketdata.assignTicketToTask.split('-')[1];\r\n }\r\n if (this.ticketdata.assignTicketToUser != null && this.ticketdata.assignTicketToUser.startsWith(\"USR-\")) {\r\n this.ticketdata.assignTicketToUser = this.ticketdata.assignTicketToUser.split('-')[1];\r\n }\r\n this.customerService.addticket(this.ticketdata).then(result => {\r\n if (this.ticketNotes.Notes != null && this.ticketNotes.Notes != \"\") {\r\n this.saveNotes();\r\n }\r\n this.ticketdata = result; \r\n this.loadtickets(this.ticketdata.contactid);\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n this.statusChange = false;\r\n this.SaveTicketDialog = false;\r\n this.ShowDialog = false;\r\n this.closeOpenTicketHistory();\r\n this.headerComp.LoadData();\r\n });\r\n }\r\n saveNotes() {\r\n this.ticketNotes.NoteId = 0;\r\n this.ticketNotes.UserID = this.currentuser.id;\r\n this.ticketNotes.TicketId = this.ticketdata.ticketId\r\n this.ticketNotes.NotesType = 'Ticket';\r\n this.customerService.addticketNotes(this.ticketNotes).then(result => {\r\n this.ticketNotes.Notes = '';\r\n this.getNotes();\r\n this.showSaveNotes = false;\r\n })\r\n }\r\n OpenTicket() {\r\n this.ShowDialog = true;\r\n if (this.ShowDialog == true) {\r\n this.ticketDetailPopUpCss();\r\n }\r\n }\r\n\r\n getNotes() {\r\n this.customerService.GetTicketNotesByTicketId(this.ticketdata.ticketId,'Ticket').then(result => {\r\n\r\n var dateTime;\r\n this.ticketNotesData = result;\r\n this.ticketNotesData.forEach(ele => {\r\n dateTime = '';\r\n dateTime = this.datePipe.transform(ele.CreatedDate, \"MM-dd-yyyy\");\r\n dateTime += \" (\" + this.datePipe.transform(ele.CreatedDate, 'hh: mm a') + \")\";\r\n ele.CreatedDate = dateTime;\r\n });\r\n })\r\n }\r\n NotesKeyUp() {\r\n\r\n if (this.ticketNotes.Notes.length > 0) {\r\n this.showSaveNotes = true;\r\n }\r\n else {\r\n this.showSaveNotes = false;\r\n }\r\n }\r\n OpenTicketHistory() {\r\n this.showOpenTicketHistory = true;\r\n this.showOpenTicketHistoryCss();\r\n }\r\n showOpenTicketHistoryCss() {\r\n setTimeout(function () {\r\n $('#OpenTicketHistoryDialog .dialog').attr('style', 'width: 44%;padding: 0;border: 4px solid #00B0F0;min-height: 63%;overflow: auto;height: 84%;top: 11%;left: 54%;');\r\n }, 4)\r\n }\r\n CloseTicketHistory() {\r\n this.showOpenTicketHistory = false;\r\n let sObj = this;\r\n $(setTimeout(function () {\r\n if (sObj.ticketType == 'Pended Tickets') {\r\n $(\"#rdPendedTkt\").attr(\"checked\", true);\r\n }\r\n else if (sObj.ticketType == 'On-Hold Tickets') {\r\n $(\"#rdOnHoldTkt\").attr(\"checked\", true);\r\n }\r\n else if (sObj.ticketType == 'Closed Tickets') {\r\n $(\"#rdClosedTkt\").attr(\"checked\", true);\r\n }\r\n else if (sObj.ticketType == 'Deleted Tickets') {\r\n $(\"#rdDeletedTkt\").attr(\"checked\", true);\r\n }\r\n else {\r\n $(\"#rdOpenTkt\").attr(\"checked\", true);\r\n }\r\n }, 100));\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ticketgridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketdata.ticketId) {\r\n selfObj.ticketgridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 200));\r\n }\r\n closeOpenTicketHistory() {\r\n this.showTicketDataDiv = true;\r\n this.showOpenTicketHistory = false;\r\n this.ticketDataHide = false;\r\n }\r\n CarbonCopy(val) {\r\n if (val.split('-')[0] == 'TG') {\r\n this.ticketdata.CCToTask = val.split('-')[1];\r\n this.ticketdata.CCTo = null;\r\n this.CCTo = val;\r\n }\r\n else {\r\n this.ticketdata.CCTo = val.split('-')[1];\r\n this.ticketdata.CCToTask = null;\r\n this.CCTo = val;\r\n }\r\n\r\n this.ticketdata.CCTo = val.split(\"-\")[1];\r\n this.statusChange = true;\r\n }\r\n \r\n ClearOpenTicket() {\r\n this.ticketdata.TicketStatus = 1;\r\n }\r\n clearNotes() {\r\n this.ticketNotes.Notes = \"\";\r\n this.showSaveNotes = false;\r\n }\r\n\r\n PriorityChnage(event) {\r\n this.ticketdata.priority = event.target.value;\r\n this.statusChange = true;\r\n\r\n }\r\n\r\n handleClick(event) {\r\n var clickedComponent = event.target;\r\n //}\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (inside) {\r\n $('#test').val('Ticket');\r\n\r\n\r\n } else {\r\n\r\n }\r\n }\r\n\r\n deleteClosedTicket(val) {\r\n this.ticketdata = val;\r\n this.ticketdata.TicketStatus = 6;\r\n this.savetickets();\r\n }\r\n txtPageSizeChanged(pageSize) {\r\n this.ticketgridOptions.api.paginationSetPageSize(Number(pageSize));\r\n this.saveConfiguration();\r\n }\r\n openDisplaynotes(params) {\r\n\r\n $('#closeDetailsDialog').click();\r\n\r\n this.notes.notedescription = params.value;\r\n this.NotesDec = true;\r\n if (this.currentuser.id == params.data.userid) {\r\n this.showEditNoteBtn = true;\r\n this.editNoteId = params.data.id;\r\n } else\r\n this.showEditNoteBtn = false;\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n var notesOffset = $(\"#divNotesContainer\").offset();\r\n let notesWidth = $('#divNotesContainer').width();\r\n let notesHeight = $('#divNotesContainer').height();\r\n let windowWidth = $(window).width();\r\n let showDialogWidth = 350;\r\n\r\n\r\n //$('#showDetailsDialog').width(showDialogWidth);\r\n //$('#showDetailsDialog').height(notesHeight - 140);\r\n //if ($('#typeClicked').val() == 'modal') {\r\n if (selfObj.isModal) {\r\n //$('#showDetailsDialog').css('top', '23%');\r\n //$('#showDetailsDialog').css('height', '61%');\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n //$('#showDetailsDialog').css('top', notesOffset.top + 125);\r\n //$('#showDetailsDialog').css('left', notesWidth - showDialogWidth);\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 71%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '81%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '14%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '96%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n } else {\r\n //var url = window.location.href;\r\n //if ((url).indexOf('account-contact') > -1) {\r\n // $('#showDetailsDialog').css('top', '62%');\r\n //} else {\r\n // $('#showDetailsDialog').css('top', '72%');\r\n //}\r\n var gridOffset = $(\"#notesGrid\").offset();\r\n //$('#showDetailsDialog').css('top', gridOffset.top);\r\n //$('#showDetailsDialog').css('height', '30%');\r\n //$('#showDetailsDialog').css('left', '69%');\r\n\r\n $('#showDetailsDialog').attr('style', 'width: 22%;height: 62%;top: 5.5%;left: 882px;border - radius: 4px;border: 1px solid;');\r\n\r\n if ($('input[name=Notes]').is(':checked')) {\r\n $('#txtLongNoteDesc').css('height', '53%');\r\n $('#txtLongNoteDesc').css('padding-top', '0%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n $('#txtUserFullName').css('height', '33%');\r\n } else {\r\n $('#txtLongNoteDesc').css('height', '89%');\r\n $('#txtLongNoteDesc').css('padding-top', '6%');\r\n $('#txtLongNoteDesc').css('padding-left', '2%');\r\n }\r\n }\r\n //$('#showDetailsDialog').css('border-radius', '4px');\r\n //$('#showDetailsDialog').css('border', '3px solid');\r\n $('#showDetailsDialog').show();\r\n }, 1));\r\n }\r\n initializeAgGridNotes() {\r\n\r\n this.gridOptionsnotes = {\r\n pagination: false, enableColResize: true, enableSorting: true, enableFilter: true, toolPanelSuppressRowGroups: true, paginationPageSize: 1000,toolPanelSuppressPivotMode: true, toolPanelSuppressValues: true, rowSelection: 'single'\r\n };\r\n this.createColumnDefsnotes();\r\n\r\n this.context = this;\r\n }\r\n createColumnDefsnotes() {\r\n let selfObj = this;\r\n this.columnDefsnotes = [{\r\n field: '#',\r\n headerName: '#',\r\n width: 52,\r\n checkboxSelection: true,\r\n suppressSorting: true,\r\n suppressMenu: true,\r\n pinned: true,\r\n hide: false,\r\n outerWidth: 8,\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true, enableTooltip: true\r\n },\r\n {\r\n\r\n field: 'type', headerName: '', hide: false, width: 60, cellRenderer(params) {\r\n if (params.data.isnewnote == 1) {\r\n return '';\r\n }\r\n else if (params.value == 'Contact' || params.value == 'Account') {\r\n // return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Phone\")) {\r\n //return '';\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"To Do\")) {\r\n return '';\r\n }\r\n else if (params.value != null && params.value.startsWith(\"Meeting\")) {\r\n //return '';\r\n return '';\r\n } else if (params.value != null && (params.value.startsWith(\"IPC\") || params.value.startsWith(\"Analysis\") || params.value.startsWith(\"Prepare\") || params.value.startsWith(\"Review\") || params.value.startsWith(\"Generate\") || params.value.startsWith(\"Justification\") || params.value.startsWith(\"Reference\") || params.value.startsWith(\"MD Logic Demonstration\"))) {\r\n //return '';\r\n return '';\r\n }\r\n else {\r\n //return '';\r\n return '';\r\n }\r\n\r\n }\r\n },\r\n {\r\n field: 'notedescription', headerName: 'Notes', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", tooltipField: 'notedescription', cellStyle: { 'text-align': 'left' },hide: false, cellRenderer(params) {\r\n var eDiv = document.createElement('div');\r\n eDiv.innerHTML = params.value;\r\n eDiv.addEventListener('click', function () {\r\n selfObj.openDisplaynotes(params);\r\n });\r\n return eDiv;\r\n }\r\n },\r\n { field: 'contactname', headerName: 'Contact', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: true },\r\n { field: 'created', headerName: 'Date Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n {\r\n field: 'status', headerName: 'Completed Y/N', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: false,\r\n cellRenderer(params) {\r\n if (params.value == 'Completed') { return $('#chkShowDetailsNotes').prop('checked') == true ? '' : params.value; }\r\n else { return params.value; }\r\n\r\n }\r\n },\r\n { field: 'user', headerName: 'User Added', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'type', headerName: 'Type', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' },hide: $('#chkShowDetailsNotes').prop('checked') == true ? true : false },\r\n { field: 'userfullName', headerName: 'User Info', cellClass: $('#chkShowDetailsNotes').prop('checked') == true ? \"notesclass\" : \"notesclassRegular\", cellStyle: { 'text-align': 'left' }, hide: $('#chkShowDetailsNotes').prop('checked') == true ? false : true, cellRenderer(params) { return params.value; } }\r\n\r\n ];\r\n\r\n this.getRowHeight = function (params) {\r\n return 18 * (Math.floor(params.data.notedescription.length / 45) + 1);\r\n };\r\n }\r\n GetCustomerNotes(contactid, type) {\r\n\r\n this.customerService.GetAllNotesList(this.currentuser.id, contactid, type).then((taskhistory) => {\r\n taskhistory.forEach(items => {\r\n var moment = require('moment-timezone');\r\n var timeDisplay = items.user + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"MM-DD-YYYY\") + '
      ' + moment.tz(items.created.toLocaleString(), this.timezonevalue).format(\"h:mm A\");\r\n items.userfullName = timeDisplay;\r\n items.created = this.datePipe.transform(items.created, \"MM-dd-yyyy hh-mm-ss\");\r\n });\r\n this.initializeAgGridNotes();\r\n this.allnotes = taskhistory;\r\n });\r\n\r\n }\r\n openNotesDialogAg(rowdata) {\r\n\r\n this.conid = rowdata.id;\r\n this.typ = rowdata.type;\r\n $('#accotIdNotes').val(rowdata.id);\r\n $('#accotTypeNotes').val('Contact');\r\n this.contactid = rowdata.id;\r\n this.customerService.GetContactById(rowdata.id).then(result => {\r\n this.contacts = result;\r\n this.customerService.GetByAccountId(this.contacts.accountid).then(result => {\r\n this.account = result;\r\n\r\n });\r\n });\r\n\r\n\r\n if ((document.getElementById('agCallListContacts').className == 'col-xs-6') || ((document.getElementById('agCallListContacts').className == 'removePadding col-xs-6'))) {\r\n //$(setTimeout(function () {\r\n // $(\"#divNotesContainer\").css('height', '400px');\r\n //}, 100));\r\n this.isModal = false;\r\n document.getElementById('notesinfo').style.display = 'block'\r\n $('#chkShowDetailsNotes').prop('checked', false);\r\n document.getElementById('providerDetails').style.display = 'none'\r\n document.getElementById('accountInformation').style.display = 'none'\r\n }\r\n if (document.getElementById('agCallListContacts').className == 'col-xs-12') {\r\n\r\n this.isModal = true;\r\n this.contactid = rowdata.id;\r\n $('#accotIdNotes').val(rowdata.id);\r\n $('#accotTypeNotes').val('Contact');\r\n\r\n this.contactid = this.contactid;\r\n this.notesshowDialog = !this.notesshowDialog;\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n\r\n }\r\n this.GetCustomerNotes(rowdata.id.toString(), \"Contact\");\r\n }\r\n openAccountNotes() {\r\n this.isModal = true;\r\n this.conid = this.account.id;\r\n $('#accotIdNotes').val(this.account.id);\r\n $('#accotTypeNotes').val('Customer');\r\n this.notesshowDialog = !this.notesshowDialog;\r\n $(setTimeout(function () {\r\n $('.dialog').attr('style', 'width: 43%;padding: 0;border: 4px solid rgb(49,189,240);border-radius:5%;min-height: 63%;overflow: auto;height: 81%;top: 10%;left: 3%;max-width: 1393px !important;margin-right:1%');\r\n }, 4));\r\n }\r\n\r\n UserlistDataReceived(outProps: OutputPropsUserList) {\r\n if (outProps.enableSearch) { this.EnableSearch = true; }\r\n this.calanderonoff = outProps.calanderonoff;\r\n this.pageSize = outProps.pageSize == undefined ? this.pageSize : outProps.pageSize;\r\n this.gridApi.paginationSetPageSize(Number(this.pageSize));\r\n if (outProps.finalitems != \"\") {\r\n $(\"#userids\").val(outProps.finalitems);\r\n this.sortOrder = outProps.secondDrpValue == undefined ? this.sortOrder : outProps.secondDrpValue;\r\n if (outProps.seventhDrpValue == \"1\") {\r\n this.ticketgridOptions.columnApi.setColumnVisible('CCToName', false);\r\n this.displayCC = false;\r\n }\r\n else if (outProps.seventhDrpValue == \"0\") {\r\n this.ticketgridOptions.columnApi.setColumnVisible('CCToName', true);\r\n this.displayCC = true;\r\n }\r\n\r\n else {\r\n this.ticketgridOptions.columnApi.setColumnVisible('CCToName', false);\r\n this.displayCC = false;\r\n }\r\n if (outProps.secondDrpValue != undefined) {\r\n var val = outProps.secondDrpValue == \"1\" ? \"Open Tickets\" : outProps.secondDrpValue == \"2\" ? \"Pended Tickets\" :\r\n outProps.secondDrpValue == \"3\" ? \"Closed Tickets\" : outProps.secondDrpValue == \"4\" ? \"On-Hold Tickets\" :\r\n outProps.secondDrpValue == \"5\" ? \"Deleted Tickets\" : \"\";\r\n this.onTicketTypeChange(val)\r\n }\r\n if (!outProps.pageSizeChanged) {\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n }\r\n if (outProps.eightDrpValue == '1') { this.shwTicketDetails = true; }\r\n else { this.shwTicketDetails = false; }\r\n \r\n } else {\r\n this.Userlist = [];\r\n $(\"#userids\").val('');\r\n }\r\n\r\n }\r\n\r\n onTicketTypeChange(val) {\r\n this.ticketType = val;\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n let str = localStorage.getItem('redirectfrom');\r\n let tktIndex = parseInt(localStorage.getItem('tktIndex'));\r\n let tktType = localStorage.getItem('tktType');\r\n if (str == 'dashboard') {\r\n this.assignedTo = null;\r\n this.ticketType = tktType;\r\n this.GetAllZendeskUers(this.Filter, this.sortOrder);\r\n\r\n let selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.showTicketDataDiv = true;\r\n selfObj.showOpenTicketHistory = false;\r\n selfObj.ticketDataHide = false;\r\n if (selfObj.Userlist != null && selfObj.Userlist != undefined && selfObj.Userlist.length > 0) {\r\n selfObj.ticketdata = selfObj.Userlist[tktIndex];\r\n selfObj.getAccountDetails(selfObj.Userlist[tktIndex].accID);\r\n \r\n }\r\n else {\r\n selfObj.ticketDataHide = true;\r\n }\r\n }, 500));\r\n localStorage.setItem('tktType', '');\r\n localStorage.setItem('tktIndex', '');\r\n localStorage.setItem('redirectfrom', '');\r\n \r\n }\r\n \r\n }\r\n\r\n addContact() {\r\n \r\n if (this.userprevilages != undefined) {\r\n for (var j = 0; j < this.userprevilages.length; j++) {\r\n if (\"Contacts\" == this.userprevilages[j].resource) {\r\n if (this.userprevilages[j].canadd == false) {\r\n this.toastr.clear();\r\n this.toastr.warning(\"You Do Not have Access to add – Please check with CRM Administrator if Access is Required.\", \"Access Denied\");\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n this.showAddEditContact = true;\r\n this.showAddEditContactCss();\r\n }\r\n AccountsharingAg(selectedval) {\r\n //if (this.practiceid == \"view\") {\r\n // this.applicationComponent.isAccessDenied = true;\r\n //} else {\r\n\r\n if (selectedval == \"Edit\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else if (selectedval == \"View\") {\r\n this.isSharing = false;\r\n this.action = selectedval;\r\n this.showAddEditAccount = true;\r\n this.showAddEditAccountCss();\r\n }\r\n else {\r\n this.isSharing = true;\r\n this.rightMainDivHideShow = false;\r\n this.accountSharingid = 1;\r\n this.AddContacttableDiv = false;\r\n this.ownrshipComp.loadAccountInformation(this.account.id, 0);\r\n }\r\n //}\r\n\r\n }\r\n showAddEditAccountCss() {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n showAddEditContactCss() {\r\n setTimeout(function () {\r\n $('#addEditContact .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n ReceiveEvent(msg) {\r\n if (msg == \"ExpandSoftwareLicense\" || msg == \"CollapseSoftwareLicense\") {\r\n this.ExpandAddEditAccountDialog(msg);\r\n } else {\r\n }\r\n }\r\n\r\n ExpandAddEditAccountDialog(msg) {\r\n if (msg == 'ExpandSoftwareLicense') {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 100%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 86%;padding: 0;top: 10%;left: 10%;max-width: 88%;');\r\n }, 4)\r\n } else {\r\n setTimeout(function () {\r\n $('#addEditAccount .dialog').attr('style', 'width: 44%;padding-bottom: 0px;min-height: 63%;overflow: auto;height: 82%;padding: 0;top: 10%;left: 54%;');\r\n }, 4)\r\n }\r\n }\r\n\r\n ContactReceiveEvent(msg) {\r\n this.showAddEditContact = false;\r\n //this.GetAllProviderAndContactInfo(this.account.id)\r\n }\r\n btnClickReceived(event) {\r\n if (event.btnName == 'addContact') {\r\n this.addContact();\r\n }\r\n else if (event.btnName == 'Accountsharing') {\r\n this.AccountsharingAg(event.val);\r\n }\r\n else if (event.btnName == 'openNotes') {\r\n this.openAccountNotes();\r\n } else if (event.btnName == 'AccountInfo') {\r\n this.AccountInfo(event.val);\r\n }\r\n }\r\n\r\n AccountInfo(accountid) {\r\n this.router.navigateByUrl(`/application/account/Accounts`);\r\n this.applicationComponent.ExpandSelectedMenu('Accounts');\r\n $(\".subButtons\").removeClass(\"activeButton\");\r\n localStorage.setItem('RhxAccountVal', accountid);\r\n }\r\n\r\n ExpandTicketDeatils(val) {\r\n if (val == 'Collapse') {\r\n this.TicketDeatilsExpand = false;\r\n this.CloseTicketHistory();\r\n\r\n var selfObj = this;\r\n $(setTimeout(function () {\r\n selfObj.ticketgridOptions.api.forEachNode((node) => {\r\n if (node.data.ticketId == selfObj.ticketdata.ticketId) {\r\n selfObj.ticketgridOptions.api.selectNode(node, true);\r\n }\r\n });\r\n }, 500));\r\n } else {\r\n this.TicketDeatilsExpand = true;\r\n }\r\n \r\n \r\n }\r\n ExpandPrvNotesDetails(val) {\r\n if (val == 'Collapse') {\r\n this.PreviousNotesExpand = false; \r\n } else {\r\n this.PreviousNotesExpand = true;\r\n }\r\n\r\n\r\n }\r\n onAccountMessageReceived(msg) {\r\n if (msg == 'AccountView') {\r\n localStorage.setItem('RhxContactVal', (this.ticketdata.contactid).toString());\r\n\r\n let SO = this;\r\n $(setTimeout(function () {\r\n SO.applicationComponent.activateSubButtons('empty');\r\n $(setTimeout(function () {\r\n\r\n SO.router.navigateByUrl(`/application/contacts/contacts/null`);\r\n SO.applicationComponent.ExpandSelectedMenu('contact');\r\n SO.applicationComponent.selectedtabid = 'contact';\r\n }, 100));\r\n }, 50));\r\n }\r\n }\r\n FilterByDays(val) {\r\n localStorage.setItem('TicketAgingId', val);\r\n switch (val) {\r\n case '0':\r\n this.Userlist = this.OriginalUserList;\r\n break;\r\n case '30':\r\n this.Userlist = this.OriginalUserList.filter((cust) => cust.NoOfDays <= 30);\r\n break;\r\n case '31-60':\r\n this.Userlist = this.OriginalUserList.filter((cust) => cust.NoOfDays > 30 && cust.NoOfDays <= 60);\r\n break;\r\n case '61-90':\r\n this.Userlist = this.OriginalUserList.filter((cust) => cust.NoOfDays > 60 && cust.NoOfDays <= 90);\r\n break;\r\n case '91-120':\r\n this.Userlist = this.OriginalUserList.filter((cust) => cust.NoOfDays > 90 && cust.NoOfDays <= 120);\r\n break;\r\n case '120+':\r\n this.Userlist = this.OriginalUserList.filter((cust) => cust.NoOfDays > 120);\r\n break;\r\n case 'DisplayAll':\r\n this.Userlist = this.OriginalUserList;\r\n break;\r\n\r\n }\r\n }\r\n onFilterTextBoxChanged() {\r\n this.gridApi.setQuickFilter(\r\n (document.getElementById('filter-text-box') as HTMLInputElement).value\r\n );\r\n this.gridOptions.quickFilterText = (document.getElementById('filter-text-box') as HTMLInputElement).value;\r\n this.createColumnDefs(this.colSelections);\r\n this.gridApi.redrawRows(); \r\n }\r\n ClearSearch() {\r\n this.gridApi.setQuickFilter('');\r\n this.value = \"\";\r\n this.EnableSearch = false;\r\n this.gridOptions.quickFilterText = \"\";\r\n this.createColumnDefs(this.colSelections);\r\n this.gridApi.redrawRows(); \r\n }\r\n}\r\n","import { Directive, EventEmitter, Output, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[capsLock]'\n})\nexport class CapsLockDirective {\n @Output('capsLock') capsLock = new EventEmitter();\n @HostListener('window:keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this.capsLock.emit(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n\n @HostListener('window:keyup', ['$event'])\n onKeyUp(event: KeyboardEvent): void {\n this.capsLock.emit(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n}\n","
      \r\n

      FORGOT YOUR PASSWORD?


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

      \r\n
      \r\n \r\n Enter username or email address\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 { CustomerService } from '../services/customer.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-forgotpassword',\r\n templateUrl: './forgotpassword.component.html',\r\n styleUrls: ['./forgotpassword.component.css']\r\n})\r\nexport class ForgotpasswordComponent implements OnInit {\r\n email: string;\r\n captchaRes: any;\r\n constructor(private customerService: CustomerService) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n resolved(captchaResponse: string) {\r\n this.captchaRes = captchaResponse;\r\n if (this.captchaRes) {\r\n document.getElementById('pwdsent').style.display = 'block';\r\n } else {\r\n alert(\"please confirm you are human\");\r\n return false;\r\n }\r\n }\r\n passwordsent() {\r\n if (this.captchaRes) {\r\n alert(\"“Thank You, a password reset link has been sent to your email on file. Please follow the link to reset your password. “\");\r\n this.email = $(\"#email\").val().toString();\r\n \r\n this.customerService.SaveEmail(this.email).then(result => {\r\n\r\n });\r\n }\r\n else {\r\n alert(\"please confirm you are human\");\r\n return false;\r\n }\r\n }\r\n\r\n\r\n}\r\n","
      \r\n
      \r\n \r\n\r\n\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \"Home\"\r\n

      \r\n \r\n
      \r\n\r\n\r\n\r\n\r\n
      \r\n \r\n \r\n \r\n Nevermind, take me back to login \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n SALESXCRM.COM | © 2018- {{currentYear}} | All Rights Reserved\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Http, Headers, RequestOptions } from '@angular/http';\r\nimport { AppSettings } from '../app.settings';\r\nimport { CookieService } from 'angular2-cookie/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\ndeclare var require: any;\r\ndeclare var $: any;\r\nimport { CustomerService } from '../services/customer.service';\r\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n LoggedInUser: any;\r\n userprevilages: any;\r\n public Formdata: any = [];\r\n email: string;\r\n password: string;\r\n remeberMe: boolean;\r\n capsOn: boolean = false;\r\n currentuser: any;\r\n tab: string = 'Login';\r\n currentYear = new Date().getFullYear();\r\n ShowPopUpDiv = false;\r\n\r\n constructor(private toastr: ToastrService, private router: Router, private http: Http, private appSettings: AppSettings, private customerService: CustomerService,\r\n private _cookieService: CookieService,private spinnerService: Ng4LoadingSpinnerService) {\r\n if (_cookieService.get('remember')) {\r\n this.Formdata.username = this._cookieService.get('username');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n document.getElementById('reauth-email').innerHTML = '';\r\n $('#submit').focus();\r\n $('#Passwords').keypress(function (e) {\r\n var s = String.fromCharCode(e.which);\r\n if (s.toUpperCase() === s && s.toLowerCase() !== s && !e.shiftKey) {\r\n // alert('caps is on');\r\n }\r\n });\r\n }\r\n\r\n getCookie(key: string) {\r\n return this._cookieService.get(key);\r\n }\r\n\r\n CaplockCheck(event) {\r\n let that = this;\r\n var input = document.getElementById(\"Passwords\");\r\n document.addEventListener(\"keyup\", function (event) {\r\n if ((event.keyCode >= 65 && event.keyCode <= 90)) {\r\n var res = that.isCapslock(event);\r\n that.ShowPopUpDiv = res;\r\n }\r\n });\r\n }\r\n\r\n isCapslock(e) {\r\n const charCode = e.keyCode;\r\n const shiftKey = e.shiftKey;\r\n const capslockstatus = e.getModifierState(\"CapsLock\");\r\n\r\n let capsLock;\r\n if ((charCode >= 65 && charCode <= 90) && (shiftKey || capslockstatus)) {\r\n capsLock = true;\r\n return capsLock;\r\n } else {\r\n return false;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n @HostListener('window:keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent): void {\r\n\r\n }\r\n\r\n capsleave(event) {\r\n\r\n }\r\n\r\n submitData() {\r\n this.spinnerService.show();\r\n if (this.Formdata.rememberme == true) {\r\n this._cookieService.put('username', this.Formdata.username.trim());\r\n this._cookieService.put('remember', this.Formdata.rememberme);\r\n } else {\r\n this._cookieService.put('username', '');\r\n this._cookieService.put('remember', '');\r\n }\r\n\r\n if (this.Formdata.username == null && this.Formdata.password == null) {\r\n document.getElementById('reauth-email').innerHTML = 'Please provide username and password !!';\r\n\r\n }\r\n else {\r\n \r\n this.customerService.Login(this.Formdata.username.trim(), this.Formdata.password).then((user) => { \r\n this.spinnerService.hide();\r\n var token = user.token; \r\n if (user.username == null && user.password == null) {\r\n document.getElementById('reauth-email').innerHTML = 'Invalid Username or Password';\r\n this.Formdata.password = '';\r\n }\r\n else if (user.loggedinaccess == 0 || user.loggedinaccess == 1) {\r\n user.username = user.firstname + \" \" + user.lastname;\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n localStorage.setItem('temptoken', user.temptoken);\r\n this.router.navigateByUrl('/application/dashboard/tab1');\r\n this.customerService.updatelogin(user.id, 1, null, 0).then((user) => { \r\n });\r\n }\r\n else if (user.systemadministrator == 1 && user.userrole == 8) {\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n localStorage.setItem('temptoken', user.temptoken);\r\n localStorage.setItem('calanderView', user.calanderView); \r\n this.router.navigateByUrl('/application/dashboard/tab1');\r\n this.customerService.updatelogin(user.id, 1, null, 0).then((user) => {\r\n localStorage.setItem('AuditLogId', JSON.stringify(user.AuditLogId));\r\n });\r\n }\r\n else if (user.loggedinaccess == 1) {\r\n this.currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n document.getElementById('reauth-email').innerHTML = 'Access Denied - You are Currently Logged in another session – please logout of that session before trying to login again';\r\n }\r\n });\r\n }\r\n }\r\n CheckUserExist() {\r\n if (this.Formdata.username == \"\") {\r\n document.getElementById('reauth-email').innerHTML = 'Please provide email address !!';\r\n\r\n }\r\n else {\r\n this.customerService.CheckUsernameExistOrNot(this.Formdata.username, this.Formdata.password).then((user) => {\r\n\r\n if (user.username != null) {\r\n this.tab = \"Sent\";\r\n } else {\r\n document.getElementById('reauth-email').innerHTML = 'Your email was not found
      Please re-enter your email to try again';\r\n }\r\n });\r\n\r\n }\r\n }\r\n Forgotpassword() {\r\n this.router.navigateByUrl('/forgotpassword');\r\n }\r\n ForgotOrResetpassword(val) {\r\n if (val == \"Forgot\") {\r\n this.Formdata.username = '';\r\n this.Formdata.password = null;\r\n document.getElementById('reauth-email').innerHTML = '';\r\n } else if (val == \"Login\") {\r\n document.getElementById('reauth-email').innerHTML = '';\r\n }\r\n\r\n this.tab = val;\r\n\r\n }\r\n showhide(event) {\r\n var input = $('#Passwords');\r\n if (input.attr(\"type\") == \"password\") {\r\n $(\"#passwordEye\").removeClass(\"fa fa-fw fa-eye field-icon toggle-password\");\r\n $(\"#passwordEye\").addClass(\"fa fa-fw fa-eye-slash field-icon toggle-password\");\r\n input.attr(\"type\", \"text\");\r\n } else { \r\n $(\"#passwordEye\").removeClass(\"fa fa-fw fa-eye-slash field-icon toggle-password\");\r\n $(\"#passwordEye\").addClass(\"fa fa-fw fa-eye field-icon toggle-password\");\r\n\r\n input.attr(\"type\", \"password\");\r\n }\r\n this.CaplockCheck(event);\r\n }\r\n\r\n}\r\n","export class AccountFields {\r\n public id: number;\r\n public TableName: string;\r\n public FieldName: string;\r\n public TypeOfField : string;\r\n public DisplayAs: string;\r\n public RequiredField: string;\r\n public DataType: string;\r\n public PickListEditable: string;\r\n public DataFormat: string;\r\n public MaxLimit: string;\r\n public Description: string;\r\n public SortOrder: string;\r\n public ColumnName: string;\r\n public ModelData: any;\r\n public OldOrNew: string;\r\n\r\n public FieldDataOrderBy\r\n}\r\n","export class AccountsHistory {\r\n public id: number;\r\n public accountid: number;\r\n public customerSince: string;\r\n public SoldBy: number;\r\n public LeadFromId: number;\r\n public KeyContact1: number;\r\n public KeyContact2: number;\r\n public KeyContact3: number;\r\n public LastTicketDate: string;\r\n public LastContactDate: string;\r\n public HistoryNotes: string;\r\n public KeyContact1Name: string;\r\n public KeyContact2Name: string;\r\n public KeyContact3Name: string;\r\n public LeadFrom: string;\r\n public StatisticsNotes: string;\r\n public customerStatisticnotes: string;\r\n public Salesrep: number;\r\n public HistoryViewed: string;\r\n}\r\n","export class AccountSpecialNotes {\r\n public accountId: number;\r\n public specialNotes: string;\r\n \r\n}\r\n","export class AccountTransferModel {\r\n \r\n public id: number;\r\n public originalOwnerid: number;\r\n public AccountIds: string;\r\n public NewOwnerId: number;\r\n public TransferedBy: number;\r\n\r\n}\r\n","export class Accountsharing {\r\n public id: number;\r\n public permissiontoeditaccount: any;\r\n public permissiontoviewaccount: any;\r\n public createdby: number;\r\n public createddate: string;\r\n public permissionGroups: any;\r\n public accountShareId: number;\r\n public permssionuser: string;\r\n public viewpermissionGroups: string;\r\n public Type: string; \r\n}\r\n\r\nexport class SharingGroups {\r\n public SharingGroupId: number;\r\n public SharingGroupName: string;\r\n public SortOrder: number;\r\n public isdeleted: number;\r\n public CreatedDate: string;\r\n public Createdby: number;\r\n}\r\n","export class AccountSummaryCheckBox {\r\n public isPhoneScheduled: boolean = false;\r\n public isPhoneCOmpleted: boolean = false;\r\n public isToDoScheduled: boolean = false;\r\n public isTodoCompleted: boolean = false;\r\n public isMeetingsScheduled: boolean = false;\r\n public isMeetingsCompleted: boolean = false;\r\n public isAccountsAdded: boolean = false;\r\n public isContactsAdded: boolean = false;\r\n public isLeadsConverted: boolean = false;\r\n public isOpportunitiesAdded: boolean = false;\r\n}\r\n","export class AddressUpdate {\r\n public ContactIds: string;\r\n public address1: string;\r\n public address2: string;\r\n public city: string;\r\n public state: string;\r\n public zip: string;\r\n public AccountId: number;\r\n public longtitude: string;\r\n public lattitude: string;\r\n public mapit: number;\r\n public cell: string;\r\n public id: number;\r\n}\r\n","export class Campaign {\r\n\r\n public CampaignID: number;\r\n public CampaignName: string;\r\n public CampaignTypeId: number;\r\n public CampaignTypeName: string;\r\n public ContactsLinked: string;\r\n public Expenses: string;\r\n public ExpenseNotes: string;\r\n public LinkedOpportunities: string;\r\n public TotalExpense: number;\r\n public createdby: number;\r\n public createdByName: string;\r\n public CreatedDate: string;\r\n public isDeleted: number;\r\n public SalesRevenue: string;\r\n public MonthlyRevenue: string;\r\n public salesPlusMonthlyPerYear: string;\r\n public ProfitLoss: string;\r\n public CampaignStatus: string;\r\n public contactsNames: string;\r\n}\r\n","export class CampaignType {\r\n public CampaignTypeId: number;\r\n public CampaignTypeName: string;\r\n public SortOrder: number;\r\n public CreatedBy: number;\r\n public isdeleted: number;\r\n}\r\n\r\nexport class CampaignExpense {\r\n public CampaignExpenceId: number;\r\n public CampaignExpenseName: string;\r\n public SortOrder: number;\r\n public CreatedBy: number;\r\n public isdeleted: number;\r\n}\r\n\r\n\r\nexport class CampaignROI {\r\n public SalesRevenue: number = 0;\r\n public MonthlyRevenue: number= 0;\r\n public MonthlyPerYear: number =0;\r\n public salesPlusMonthlyPerYear: number = 0;\r\n public Expenses: number = 0;\r\n public ProfitLoss: number = 0;\r\n}\r\n","export class Campaigninfo {\r\n public OpenCampaignTotalExpenses: string;\r\n public OpenCampaignProfitLoss: string;\r\n public ClosedCampaignTotalExpenses: string;\r\n public ClosedCampaignProfitLoss: string;\r\n public closedlossprofit: string;\r\n}\r\n\r\n","export class ContactsSortOrder {\r\n public ContactOrderid: number;\r\n public CategoryType: string;\r\n public OrderByValue: string;\r\n public OrderByName: string;\r\n public UserId: number;\r\n}\r\n","export class crmModel {\r\n public name: string;\r\n public title: string;\r\n public description: string;\r\n public issave: boolean;\r\n public iscancel: boolean;\r\n public isdiscard: boolean;\r\n public isok: boolean;\r\n public Idval: number;\r\n public idvalues: string;\r\n}\r\n","export class Dashboardconfig {\r\n public userid: number;\r\n public id: number;\r\n public dashboardtypeid: number;\r\n public isaccess: number;\r\n public selecteduserid: number;\r\n}\r\n","export class DocumentHistory {\r\n public DocumentId: number;\r\n public EditedDate: string;\r\n public EditedTime: string;\r\n public EditedBy: number;\r\n public EditedByName: number;\r\n public FieldEdited: string;\r\n}\r\n","export class FormConfiguration {\r\n public FormConfigId: string;\r\n public FormName: string;\r\n public DisplayFields: string;\r\n public OrderFields: string;\r\n public indexvalue: number;\r\n public userid: number;\r\n}\r\n","export class GroupChat {\r\n public groupId: number;\r\n public groupName: string;\r\n public createdBy: number;\r\n public createdat: string;\r\n public grpusers: string;\r\n\r\n}\r\n\r\n\r\n","export class MyDashDefGridConfig {\r\n public id: number;\r\n public userid: number;\r\n public selectedMyDashDefaultGridId: number;\r\n}\r\n","export class OpportunityLeadTypes {\r\n public LeadTypeId: number;\r\n public LeadTypeName: string;\r\n public Sortorder: number;\r\n public UserID: number;\r\n public DeletedStatus: number;\r\n\r\n}\r\nexport class OpportunityFields {\r\n public OppFieldId: number;\r\n public FieldName: string;\r\n public ColumnName: string;\r\n public DisplayAs: string;\r\n public RequiredField: string;\r\n public DataType: string;\r\n public Editable: string;\r\n public SortOrder: number;\r\n public UserId: number;\r\n public CreatedDate: string;\r\n public isdeleted: number;\r\n}\r\n\r\nexport class OpportunityItems {\r\n public id: number;\r\n public opportunityitem: string;\r\n public Category: string;\r\n public OppFieldID: number;\r\n public SortOrder: number;\r\n public isdeleted: number;\r\n}\r\n","export class PickListModel {\r\n public id: number;\r\n public FieldID: number;\r\n public isdeleted: number;\r\n public Sortorder: number;\r\n public itemName: string;\r\n public Category: string;\r\n}\r\nexport class ProjectPickListModel {\r\n public DataId: number;\r\n public ProjectFieldId: number;\r\n public isdeleted: number;\r\n public SortOrder: number;\r\n public itemName: string;\r\n public Category: string;\r\n}\r\n","import { Opportunities } from \"./opportunities\";\r\n\r\nexport class Proposals {\r\n public ProposalID: number;\r\n public OpportunityID: number;\r\n public ProposalIds: string;\r\n public TotalPrice: number;\r\n public MonthlyTotalPrice: number;\r\n public TotalDiscountPercent: number;\r\n public MonthlyDiscountPercent: number;\r\n public ContactId: number;\r\n public AccountId: number;\r\n public CreatedBy: number;\r\n public ownerid: number;\r\n public CreatedDate: Date; \r\n public CreateduserName: string;\r\n public ProposalPDF: string;\r\n public ProposalPOPDF: string;\r\n public ProposalPDFID: string;\r\n public ProposalPOID: string;\r\n public status: string;\r\n public type: string;\r\n public DefaultDiscount: boolean;\r\n public NumberOfMonths: number;\r\n public isPended: number;\r\n public isdeleted: number = 0;\r\n public owner: string;\r\n public estimatedclosedate: string;\r\n public LeadDescription: string;\r\n public leadfrom: string;\r\n public ProposalDescription: string;\r\n public itemName: string;\r\n public opportunities: Opportunities = new Opportunities();\r\n public AccountName: string;\r\n public statusName: string;\r\n public ContactName: string;\r\n}\r\n","export class ProjectFields{\r\n public ProjectFieldId: number;\r\n public FieldName: string;\r\n public OldFname: string;\r\n public TypeOfField: string;\r\n public DisplayAs: string;\r\n public RequiredField: string;\r\n public DataType: string;\r\n public PickListEditable: string;\r\n public DataFormat: string;\r\n public MaxLimit: number;\r\n public Description: string;\r\n public SortOrder: string;\r\n public Userid: number;\r\n public CreatedDate: string;\r\n public isdeleted: number;\r\n public ColumnName: string;\r\n public FieldDataOrderBy;\r\n}\r\n\r\nexport class ProjectStages {\r\n public ProjectStageID: number;\r\n public ProjectStageName: string;\r\n public ProjectTypeID: number;\r\n public ProjectTypeName: string;\r\n public SortOrder: string;\r\n public isdeleted: number;\r\n public UserId: number;\r\n public createdDate: string;\r\n}\r\n\r\n\r\nexport class ProjectSteps{\r\n public ProjectStepID: number;\r\n public ProjectStepName: string;\r\n public ProjectTypeID: number;\r\n public ProjectTypeName: string;\r\n public ProjectStageId: number;\r\n public ProjectStageName: string;\r\n public Description: string;\r\n public SortOrder: number;\r\n public Status1: string;\r\n public Status2: string;\r\n public Status3: string;\r\n public Status4: string;\r\n public Status5: string;\r\n\r\n public isdeleted: number;\r\n public UserId: number;\r\n public createdDate: string;\r\n}\r\n\r\n\r\nexport class Projects {\r\n\r\n public ProjectID: number;\r\n public ProjectTypeId: number;\r\n public ProjectTypeName: string;\r\n public ProjectLeaderId: number;\r\n public IncompleteStatusCount: number;\r\n public ProjectLeaderName: string;\r\n public TargetGoLiveDate: string;\r\n public OnsiteTraining: number;\r\n public OnsiteTrainingName: string;\r\n public OnsiteTrainingHours: number;\r\n public NumberofTrainers: number;\r\n public Trainer1: number;\r\n public Trainer1Name: string;\r\n public Trainer2: number;\r\n public Trainer2Name: string;\r\n public OnsiteTrainingDate1From: string;\r\n public OnsiteTrainingDate1To: string;\r\n public OnsiteDateStatus1: number;\r\n public OnsiteDateStatus1Name: string;\r\n public OnsiteTrainingDate2From: string;\r\n public OnsiteTrainingDate2To: string;\r\n public OnsiteDateStatus2: number;\r\n public OnsiteDateStatus2Name: string;\r\n public RemoteTraining: number;\r\n public RemoteTrainingName: string;\r\n public RemoteTrainingHours: number;\r\n public RemoteTrainingDate1From: string;\r\n public RemoteTrainingDate1To: string;\r\n public RemoteDateStatus1: number;\r\n public RemoteDateStatus1Name: string;\r\n public RemoteTrainingDate2From: string;\r\n public RemoteTrainingDate2To: string;\r\n public RemoteDateStatus2: number;\r\n public RemoteDateStatus2Name: string;\r\n public UserAccess: string;\r\n public UserAccessName: string;\r\n public Notes: string\r\n public AdditionalDetails: string;\r\n public ProjectStatus: number;\r\n public ProjectStatusName: string;\r\n public isdeleted: number;\r\n public UserId: number;\r\n public CreatedDate: string;\r\n public AccountOrContactId: number;\r\n public AccountName: string;\r\n public AccountOrContactType: string;\r\n public fieldvalues: string;\r\n public UserName: string;\r\n public TotalProjects: number;\r\n public StageAddedCount: number;\r\n public ProjectDescription: string;\r\n}\r\n\r\n\r\nexport class ProjectStepStatusModel {\r\n public StepStatusId: number;\r\n public ProjectId: number;\r\n public ProjectStepId: number;\r\n public ProjectStepName: string;\r\n public ProjectStageId: number;\r\n public ProjectStageName: string;\r\n public ProjectTypeId: number;\r\n public ProjectStepStatus: string;\r\n public ProjectStepCompleteDate: string;\r\n public UserId: number;\r\n public CreatedDate: string;\r\n public isdeleted: number;\r\n\r\n\r\n}\r\n\r\nexport class ProjectForecastViewModel {\r\n public ProjectId: number;\r\n public accountorContactId: number;\r\n public accountorContactType: string;\r\n public accountname: string;\r\n public Initial_Call: string;\r\n public IT_Call: string;\r\n public Hardware_Arrived: string;\r\n public Hardware_Setup: string;\r\n public Receive_Paperwork: string;\r\n public Knowledge_Base: string;\r\n public Schedule_Training: string;\r\n public Book_Travel: string;\r\n public Training: string;\r\n public Post_Training: string;\r\n public Project_Type: string;\r\n}\r\n","export class ProjectsInfo {\r\n public OpenProjectsCount: number;\r\n public PendedProjectsCount: number;\r\n public CompletedProjectsCount: number;\r\n public CancelledProjectsCount: number;\r\n}\r\n\r\n","export class ProposalCategory {\r\n public CategoryId: number;\r\n public CategoryName: string;\r\n public SortOrder: number;\r\n public UserID: number;\r\n public deleteStatus: number;\r\n \r\n}\r\n","export class ProposalItems {\r\n public ItemId: number;\r\n public ProposalItemName: string;\r\n public Categoryids: string;\r\n public ItemDescription: string;\r\n public SortOrder: number;\r\n public Price12: any;\r\n public Price24?: any;\r\n public Price36?: any;\r\n public Monthly12: any;\r\n public Monthly24?: any;\r\n public Monthly36?: any;\r\n public UserID: number;\r\n public deleteStatus: number;\r\n public CategoryName: string;\r\n\r\n public Units: number;\r\n public PriceTotal: number;\r\n public MonthlyTotal: number;\r\n}\r\n","export class QuickSearchModel {\r\n public searchterm: string;\r\n public userids: string;\r\n public startDate: string;\r\n public endDate: string;\r\n public Includetype: string;\r\n public customertype: string;\r\n public selectedval: string;\r\n public SearchType: string;\r\n public IncludeShared: string;\r\n \r\n}\r\n","export class Role {\r\n public id: number;\r\n public rolename: string;\r\n public isdeleted: number;\r\n public Salesrep: string;\r\n public SortOrder: number;\r\n}\r\n","import { StatusItems } from \"./StatusItems\";\r\n\r\nexport class SalesStages {\r\n public SalesStageID: number;\r\n public SaleStage: string;\r\n public ForeCastDescription: number;\r\n public SkipStage: number;\r\n public SortOrder: number;\r\n public CreatedBy: number;\r\n public CreatedDate: Date;\r\n public isDeleted: number;\r\n public StatusType: any;\r\n public TriggerType: any;\r\n\r\n public StatusItems: StatusItems[];\r\n public completeddate: string;\r\n public status: string;\r\n public leadstatus: string;\r\n public notesDescription: string;\r\n public id: number;\r\n}\r\n","export class SalesXCRMChartTabs {\r\n public ChartTabId: number;\r\n public ChartTabDescription: string;\r\n public ChartTabOrder: number;\r\n public Editable: number;\r\n public isdeleted: number;\r\n}\r\n","import { TicketNotes } from './TicketNotes';\r\nimport { DecimalPipe } from '@angular/common';\r\n\r\nexport class SLCategories {\r\n public LicenseCategoryId: number;\r\n public LicenseCategoryName: string;\r\n public SortOrder: number;\r\n public CreatedBy: number;\r\n public isdeleted: number;\r\n}\r\n\r\nexport class SLTypes {\r\n public LicenseTypeId: number;\r\n public LicenseTypeName: string;\r\n public LicenseCategoryId: number;\r\n public SortOrder: number;\r\n public CreatedBy: number;\r\n public isdeleted: number;\r\n\r\n public LicenseCategoryName: string;\r\n}\r\n\r\nexport class SoftwareLicense {\r\n public SoftwarelicenseId: number;\r\n public LicenseTypeId: number;\r\n public LicenseTypeName: string;\r\n public Contacts_AccountId: number;\r\n public Contacts_AccountName: string;\r\n public DateLicensed: string;\r\n public Status: number;\r\n public term: string;\r\n public Logins: number;\r\n public LicenseNumber: string;\r\n public createdBy: number;\r\n public createdByName: string;\r\n public createdDate: string;\r\n public isdeleted: number;\r\n public AccorConType: string;\r\n public LicenseNote: string;\r\n public SaaS: string;\r\n public RDate: string;\r\n public LicenseNotes: TicketNotes[];\r\n}\r\n","export class StatusIds {\r\n public id: number;\r\n public AccountContactId: number;\r\n public AccountContactType: string;\r\n public StatusID1 : number;\r\n public StatusID2 : number;\r\n public StatusID3 : number;\r\n public StatusID4 : number;\r\n public StatusID5 : number;\r\n public StatusID6 : number;\r\n public StatusID7 : number;\r\n public StatusID8 : number;\r\n public StatusID9 : number;\r\n public StatusID10: number;\r\n public StatusID11: number;\r\n public StatusID12: number;\r\n public StatusID13: number;\r\n public StatusID14: number;\r\n public StatusID15: number;\r\n public StatusID16: number;\r\n public StatusID17: number;\r\n public StatusID18: number;\r\n public StatusID19: number;\r\n public StatusID20: number;\r\n public StatusID21: number;\r\n public StatusID22: number;\r\n public StatusID23: number;\r\n public StatusID24: number;\r\n public StatusID25: number;\r\n public StatusID26: number;\r\n public StatusID27: number;\r\n public StatusID28: number;\r\n public StatusID29: number;\r\n public StatusID30: number;\r\n public StatusID31: number;\r\n public StatusID32: number;\r\n public StatusID33: number;\r\n public StatusID34: number;\r\n public StatusID35: number;\r\n public StatusID36: number;\r\n public StatusID37: number;\r\n public StatusID38: number;\r\n public StatusID39: number;\r\n public StatusID40: number;\r\n public StatusIDName1: number;\r\n public StatusIDName2: number;\r\n public StatusIDName3: number;\r\n public StatusIDName4: number;\r\n public StatusIDName5: number;\r\n public StatusIDName6: number;\r\n public StatusIDName7: number;\r\n public StatusIDName8: number;\r\n public StatusIDName9: number;\r\n public StatusIDName10: number;\r\n public StatusIDName11: number;\r\n public StatusIDName12: number;\r\n public StatusIDName13: number;\r\n public StatusIDName14: number;\r\n public StatusIDName15: number;\r\n public StatusIDName16: number;\r\n public StatusIDName17: number;\r\n public StatusIDName18: number;\r\n public StatusIDName19: number;\r\n public StatusIDName20: number;\r\n public StatusIDName21: number;\r\n public StatusIDName22: number;\r\n public StatusIDName23: number;\r\n public StatusIDName24: number;\r\n public StatusIDName25: number;\r\n public StatusIDName26: number;\r\n public StatusIDName27: number;\r\n public StatusIDName28: number;\r\n public StatusIDName29: number;\r\n public StatusIDName30: number;\r\n public StatusIDName31: number;\r\n public StatusIDName32: number;\r\n public StatusIDName33: number;\r\n public StatusIDName34: number;\r\n public StatusIDName35: number;\r\n public StatusIDName36: number;\r\n public StatusIDName37: number;\r\n public StatusIDName38: number;\r\n public StatusIDName39: number;\r\n public StatusIDName40: number;\r\n public userid: number;\r\n}\r\n","export class SubScription {\r\n public Id: number;\r\n public BusinessName: string;\r\n \r\n}\r\n","export class TaskType {\r\n\r\n public id: number;\r\n public tasktype: string;\r\n public category: string;\r\n public isdeleted: number;\r\n public taskgroupid: number;\r\n public taskgroupName: string;\r\n \r\n public SortOrder: string;\r\n public TimeRequired: string;\r\n\r\n}\r\n","export class TicketNotes {\r\n public NoteId: number;\r\n public Notes: string;\r\n public CreatedDate: string;\r\n public UserID: number;\r\n public TicketId: number;\r\n public username: string;\r\n public NotesType: string;\r\n}\r\n","export class UserMessageTypes {\r\n public MessageTypeID: number;\r\n public MessageType: string;\r\n public Sortorder: number;\r\n public UserID: number;\r\n public deletedStatus: number;\r\n}\r\n\r\n","export class UserMessages {\r\n public userMessageID: number;\r\n public MessageName: string;\r\n public MessageTypeId: number;\r\n public DisplayDate: string;\r\n public MessageDescription: string;\r\n public MessageToUsers: string;\r\n public readusers: string;\r\n public CreatedDate: Date;\r\n public CreatedBy: number;\r\n public MessageType: string\r\n public deletedStatus: number;\r\n\r\n public MessageToUserCount: number;\r\n public readuserCount: number;\r\n public RemainingCount: number;\r\n}\r\n","export class WizardSubGroup2 {\r\n public id: number;\r\n public taskgroupid: number;\r\n public subtaskgroup2Name: string;\r\n public subtaskgroup1id: number\r\n}\r\n","export class Accounts {\r\n public id: number;\r\n public customertypeid?: number;\r\n public country: string;\r\n public accounttype: string;\r\n public accountname: string; \r\n public address1: string;\r\n public address2: string;\r\n public lattitude: string;\r\n public longtitude: String;\r\n public city: string;\r\n public state: string;\r\n public zip: string;\r\n public phone: string;\r\n public ProvidenceIsland: string;\r\n public fax: string;\r\n public alterphone1: string;\r\n public owner: string;\r\n public OWNER: string;// Both Required\r\n public newowner: string;\r\n public alterphone2: string;\r\n public website: string;\r\n public ownerid?: number;\r\n public multiplelocations?: number;\r\n public practiceid?: number;\r\n public accountStatus: number;\r\n public speciality: string;\r\n public specialityName: string;\r\n public practice: string;\r\n public email: string;\r\n public userid?: number;\r\n public ownership: string;\r\n public accnumber: string;\r\n public ehr: string;\r\n public ehrName: string;\r\n public ehrdatepurchased: string;\r\n public isCustomer: number;\r\n public CustomerSince: string;\r\n public pm: string;\r\n public pmName: string;\r\n public pmdatepurchased: string;\r\n public rcm: string;\r\n public rcmName: string;\r\n public rcmdatepurchased: string;\r\n public percentage: string;\r\n public OpenOppTotal: string;\r\n public isimported?: number;\r\n public totalcount: number;\r\n public CurrentPage: number;\r\n public PageSize: number;\r\n public TotalPages: number;\r\n public Total: number;\r\n public TaskTotal: number;\r\n public LeadOrOptTotal: number;\r\n public OpportunitiesTotal: number;\r\n public isshared: number;\r\n public isAccountPermission: string;\r\n public islimitedSearch: boolean;\r\n public isaddressadded: boolean;\r\n public SearchVal: string;\r\n public Accountiddata: string;\r\n public created: string;\r\n public locationType: string;\r\n public Salesrep: number;\r\n //public accountid3: string;\r\n public accountpopid1: string;\r\n public accountpopid2: string;\r\n public accountpopid3: string;\r\n public accountid123: string;\r\n public mapit: number;\r\n public customertype: string;\r\n public accounttypeName: string;\r\n public ownershipName: string;\r\n public callisttype: string;\r\n public source: string;\r\n public addressName: string;\r\n public addressID: number;\r\n public fieldvalues: string;\r\n public LocationPicture: string;\r\n accounlocation: Accountlocations[];\r\n public specialNotes: string;\r\n public salesRep: number;\r\n public SalesRepName: string;\r\n public countryname: string;\r\n public statusName: string;\r\n public SystemType: number;\r\n public HL7Interface: number;\r\n public CustomerRCM: number;\r\n public OnDemand: number;\r\n public ApptReminders: number;\r\n public eLab: number;\r\n public MIPS: number;\r\n public SystemTypeName: string;\r\n public HL7interfaceName: string;\r\n public CustomerRCMName: string;\r\n public onDemandName: string;\r\n public RemainderName: string;\r\n public eLabName: string;\r\n public MIPSName: string;\r\n}\r\nexport class Accountlocations {\r\n public id: number;\r\n public accountid: number;\r\n public address1: string;\r\n public address2: string;\r\n public city: string;\r\n public state: string;\r\n public zip: string;\r\n public phone: string;\r\n public fax: string;\r\n public alterphone1: string;\r\n public alterphone2: string;\r\n public LocationPicture: string;\r\n public addressType: string;\r\n}\r\n\r\nexport class AccountTasksCounts {\r\n public accountid: number;\r\n public TotalOpportunities: number;\r\n public TotalLeads: number;\r\n public TotalPendProposals: number;\r\n public TotalTasks: number;\r\n public TotalTickets: number;\r\n \r\n\r\n}\r\n\r\n","export class AdvancedSearch {\r\n public Id: number;\r\n public QryName: string;\r\n public qryname: string;\r\n public SearchQry: string;\r\n public editdate: string;\r\n public createdate: string;\r\n public status: number;\r\n public searchtype: string;\r\n public filtercolumnsdata: string;\r\n public createdby: number;\r\n public defaultcolumns: string;\r\n public searchData: string;\r\n public RunStatus: string;\r\n public SearchOperator: string;\r\n}\r\n","export class AutomatedEmails {\r\n public UserName: string;\r\n public Configureuserid: number;\r\n public accesstouserid: number;\r\n public leadAdded: number;\r\n public leadClosed: number;\r\n public oppAdded: number;\r\n public OppClosed: number;\r\n public weeklyRecap: number;\r\n public midMonthRecap: number;\r\n public endOfMonthRecap: number;\r\n public createdby: number;\r\n public createddate: string;\r\n}\r\n","export class CalanderEvents {\r\n public ToDoCount: number;\r\n public PhoneCount: number;\r\n public MeetingCount: number;\r\n public BlockedCount: number;\r\n public OpenTaskCount: number;\r\n\r\n}\r\n","export class Calllist {\r\n public id: number;\r\n public userid: number;\r\n public calllistname: string;\r\n public contactids: string;\r\n public accountids: string;\r\n public lastaccesseduserid: number;\r\n public Calllistselectedtype: string;\r\n public typeOfList: string;\r\n public status: string;\r\n public created: string;\r\n public lastaccesed: string;\r\n public completedcontactids: string;\r\n public Assignedto: number;\r\n public assignedusername: string;\r\n public createdusername: string;\r\n public deletedcontactids: string;\r\n public islimitedSearch: boolean;\r\n public SearchVal: string;\r\n public currentAction: string;\r\n}\r\n","export class ChatMessage {\r\n public fromuserid: number;\r\n public message: string;\r\n public createdate: string;\r\n public touserid: string;\r\n public type: string;\r\n public sentuserfirstName: string;\r\n public recuserfirstName: string;\r\n public sentuserlastName: string;\r\n public recuserlastName: string;\r\n public clientuniqueid: string;\r\n public datetime: string;\r\n\r\n}\r\n\r\n\r\n","export class ContactUs {\r\n public userId: number;\r\n public username: string;\r\n public email: string;\r\n public phone: string;\r\n public body: string;\r\n}\r\n","export class Contacts {\r\n public id: number;\r\n public contacttype: string;\r\n public contacttypeName: string;\r\n public firstname: string;\r\n public middlename: string;\r\n public lastname: string;\r\n public suffix?: number;\r\n public sex?: number;\r\n public sexName: number;\r\n public title: string;\r\n public titleName: string;\r\n public speciality: string;\r\n public specialityName: string;\r\n public accountStatus: number;\r\n public subspeciality?: number;\r\n public subspecialityName?: string;\r\n public email: string;\r\n public address1: string;\r\n public address2: string;\r\n public city: string;\r\n public state: string;\r\n public zip: string;\r\n public cell: string;\r\n public office: string;\r\n public DOB: string;\r\n public homeaddress: string;\r\n public homecity: string;\r\n public homestate: string;\r\n public homezip: string;\r\n public home: string;\r\n public college?: number;\r\n public collegeName: string;\r\n public collegegrandyear: string;\r\n public medschool?: number;\r\n public medschoolName: string;\r\n public medschoolgrandyear: string;\r\n public residency?: number;\r\n public residencyName: string;\r\n public residencygrandyear: string;\r\n public fellowship?: number;\r\n public fellowshipName: string;\r\n public fellowshipgrandyear: string;\r\n public ownerid?: number;\r\n public owner: string;\r\n public providerid?: number;\r\n public accountid?: number;\r\n public practiceid?: number;\r\n public practice: string;\r\n public accnumber: string;\r\n public accountname: string;\r\n public contactName: string;\r\n public userid?: number;\r\n public country: string;\r\n public isdeleted?: number;\r\n public created: string;\r\n public type: string;\r\n public accounttypeName: string;\r\n public ownershipName: string;\r\n public callisttype: string;\r\n public converttolead?: number;\r\n public photo: string;\r\n public fileName: string;\r\n public phototype: string;\r\n public name: string;\r\n public isshared: number;\r\n public islimitedSearch: boolean;\r\n public lattitude: string;\r\n public longtitude: string;\r\n public customertype: string;\r\n public customertypeName: string;\r\n public CurrentPage: number;\r\n public PageSize: number;\r\n public TotalPages: number;\r\n public Total: number;\r\n public TotalContactsCount: number;\r\n public isaddressadded: boolean;\r\n public SearchVal: string;\r\n public contactid1: string;\r\n public contactid2: string;\r\n public contactid3: string;\r\n public contactid123: string;\r\n public mapit: number;\r\n public Status: number;\r\n public STATUS: number;\r\n public ProvidenceIsland: string;\r\n public AddLocationId: number;\r\n public fieldvalues: string;\r\n public isLicenseKey: boolean;\r\n public facebook: string;\r\n public instagram: string;\r\n public linkedin: string;\r\n public twitter: string;\r\n public SassDate: string;\r\n public SaasTerm: number;\r\n public SaaSRenewal: string;\r\n public SaaSRCM: string;\r\n public SaaStermName: string;\r\n public Geo: string;\r\n public LastCompletedTask: string;\r\n public lastTicketcompleteDate: string;\r\n public SummaryNotes: string; public SaaS: string;\r\n public isCustomer: number;\r\n}\r\n","export class Customers {\r\n public id: number;\r\n public last: string;\r\n public accountname: string;\r\n public color: string;\r\n public first: string;\r\n public middle: string;\r\n public title: string;\r\n public speciality: string;\r\n public practice: string;\r\n public city: string;\r\n public state: string;\r\n public zip: string;\r\n public email: string;\r\n public phone: string;\r\n public address1: string;\r\n public address2: string;\r\n public type: string;\r\n public owner: string;\r\n public cell: string;\r\n public DOB: string;\r\n public college: string;\r\n public collegeyeargrad: number;\r\n public medschool: string;\r\n public medschoolyeargrad: number;\r\n public residency: string;\r\n public residencyyeargrad: number; \r\n public fellowship: string;\r\n public fellowshipyeargrad: number;\r\n public salesoriginatedfrom: string;\r\n public multiplelocations: string;\r\n public practiceid: number;\r\n public office: string;\r\n public month: string;\r\n public day: string;\r\n public ext: string;\r\n public subspeciality: string;\r\n}\r\n","export class Dashboardconfiguration {\r\n public id: number;\r\n public resourceid: number;\r\n public columnsselections: string;\r\n public maxlimit: number;\r\n public userid: string;\r\n public configureduserid: number;\r\n public datecreated: string;\r\n public startdate: string;\r\n public enddate: string;\r\n}\r\n","export class Hero {\r\n id = 0;\r\n name = '';\r\n addresses: Accountlocations[];\r\n}\r\n\r\nexport class Accountlocations {\r\n public addressType: string;\r\n id;\r\n address1 = '';\r\n address2 = '';\r\n city = '';\r\n state = '';\r\n public country: string= '';\r\n zip = ''; \r\n alterphone1 = '';\r\n alterphone2 = '';\r\n accountid = 0;\r\n public lattitude: string = '';\r\n public longtitude: string = '';\r\n\r\n public ProvidenceIsland: string = '';\r\n public phone: string = '';\r\n public fax: string = '';\r\n public addressName = \"\";\r\n public isdelete = 0;\r\n\r\n public LocationPicture: string;\r\n public PictureType: string;\r\n}\r\n\r\n","export class Document{\r\n public id: number;\r\n public documentname: string;\r\n public datecreated: string;\r\n public uploadedby: number;\r\n public Size: string;\r\n public permissionlevel: number;\r\n public documenttype: string;\r\n public uploadedfilename: string;\r\n public imagecontent: string;\r\n public extension: string; \r\n public accountid: number;\r\n public type: string;\r\n public documentnamepermissionid: number;\r\n public permissionlevelname: string;\r\n public doctype: string;\r\n public tabId: number;\r\n public pendingstatus: number;\r\n public lastediteddate: Date;\r\n public lastediteduserId: number;\r\n public documentdescription: string;\r\n\r\n public View: string;\r\n public DateUploaded: string;\r\n public file: any;\r\n public SavedBy: string;\r\n public CurrentPage: number;\r\n public PageSize: number;\r\n public TotalPages: number;\r\n public Total: number;\r\n public isdeleted: number;\r\n public DocSavedFrom: string;\r\n public Permissionlevel: string;\r\n public PermissionlevelName: string;\r\n public LateditedBy: string;\r\n}\r\n\r\n","export class Dropdowntype {\r\n public id: number;\r\n public itemName: string;\r\n public category: string; \r\n public isdeleted: number;\r\n public taskgroupid: number;\r\n}\r\nexport class Dropdown {\r\n public Text: string;\r\n public Value: string;\r\n public id: string;\r\n public itemName: string;\r\n public category: string;\r\n public taskgroupid: number;\r\n}\r\nexport class ResourcePrivileges {\r\n public MainResourceId: number;\r\n public MainResourceName: string;\r\n public SubResourceId: number;\r\n public SubResourceName: string;\r\n public ResourceType: string;\r\n public IsMain: number;\r\n public IsChecked: boolean;\r\n public UserPrivilegeId: number;\r\n public CanView: boolean;\r\n public CanAdd: boolean;\r\n public CanEdit: boolean;\r\n public CanDelete: boolean;\r\n}\r\nexport class SaveResourcePrivileges {\r\n public ResourcePrivileges: ResourcePrivileges[];\r\n public AssignedUserId: number;\r\n public UserId: number;\r\n}\r\n\r\nexport class RevenueModel {\r\n public OpportunityWonTotalPrice: number;\r\n public OpportunityWonTotalRR: number;\r\n public OpportunityLostTotalPrice: number;\r\n public OpportunityLostTotalRR: number;\r\n public OpportunityOpenTotalPrice: number;\r\n public OpportunityOpenTotalRR: number;\r\n public fromDate: string\r\n public toDate: string;\r\n public UserIds: string;\r\n}\r\n\r\n\r\nexport class ForecastDataModel {\r\n public ForeCastSalesMonth: number = 0;;\r\n public ForeCastSalesYear: number = 0;\r\n public ForeCastRRMonth: number = 0;\r\n public ForecastRRYear: number = 0;\r\n public SalesWonMonth: number = 0;\r\n public SalesWonYear: number = 0;\r\n public SalesLostMonth: number = 0;\r\n public SalesLostYear: number = 0;\r\n public RRWonMonth: number = 0;\r\n public RRWonYear: number = 0;\r\n public RRLostMonth: number = 0;\r\n public RRLostYear: number = 0;\r\n public fromDate: string;\r\n public toDate: string;\r\n public UserIds: string;\r\n}\r\n","export class Emails {\r\n public id: number;\r\n public fromuserid: string;\r\n public from: string;\r\n public to: string;\r\n public toids: string;\r\n public subject: string;\r\n public messagebody: string;\r\n public sentemailDate: string;\r\n public sentemailTime: string;\r\n public receiveemailDate: string;\r\n public bccids: string;\r\n public ccids: string;\r\n public filenames: string;\r\n attachements: Attachements[];\r\n attachedfiles = [];\r\n}\r\nexport class Attachements {\r\n public filename: string;\r\n public filetype: string;\r\n public filepath: string;\r\n public imagecontent: string;\r\n}\r\n","export class GoogleMapAdress {\r\n public formatted_address: string;\r\n public Name: string;\r\n public cityState: string;\r\n public country: string;\r\n public placeid: string;\r\n}\r\n","export class Googlelocations {\n public accountids: string;\n public Usertype: string;\n}\n","export class Lastresponseview {\r\n public id: number;\r\n public userid: number;\r\n public questionid: number;\r\n public categoryid: number;\r\n public SubTaskGroup1id: number;\r\n public SubTaskGroup2id: number;\r\n public ResponseID: number;\r\n\r\n}\r\n","export class Message {\n clientuniqueid: string;\n type: string;\n message: string;\n date: Date; UserName: string;\n groupName: string;\n groupId: number;\n fromuserid: number;\n touserid: string;\n createdBy: number;\n grpusers: string;\n Id: number;\n }\n","export class Messaging {\r\n public id: number;\r\n public fromuser: string;\r\n public subject: string;\r\n public date: string;\r\n public replied: string;\r\n public message: string;\r\n public messagefromid: string;\r\n public receivedid: string;\r\n public receivednames: string;\r\n public messagetype: number;\r\n public deletedmsguserids: string;\r\n public isreaduserids: string;\r\n public permanentlydeletedmsguserids: string;\r\n public readstatus: number;\r\n public touser: string;\r\n\r\n public CurrentPage: number;\r\n public PageSize: number;\r\n public TotalPages: number;\r\n public Total: number;\r\n}\r\n","export class Mynotes {\n public id: number;\n public userId: number;\n public followupNotes: string;\n public goalNotes: string;\n public miscNotes: string;\n public personalNotes: string;\n public SoftwareBugsNotes: string;\n}\n","export class Notes {\r\n public id: number;\r\n public created: string;\r\n public createdtime: string;\r\n public notedescription: string;\r\n public notedescriptionhtml: string;\r\n public accountid: number;\r\n public accountname: string;\r\n public type: string;\r\n public stagenotedescription: string;\r\n public notestype: string;\r\n public userfullName: string;\r\n public user: string;\r\n public USER: string;\r\n public isnewnote: number;\r\n public userid?: number;\r\n public isdocumentid: string;\r\n public docList: string[];\r\n public isDelink: boolean;\r\n public contactname: string;\r\n}\r\n","export class Openitems {\r\n public username: string;\r\n public userId: number;\r\n public OpenTaskTotal: number;\r\n public OpportunitiesTotal: number;\r\n public LeadConvertedTotal: number;\r\n}\r\n","export class Opportunities {\r\n public id: number;\r\n public item: string;\r\n public itemName: string;\r\n public dollers: string;\r\n public drs: number;\r\n public RR: string;\r\n public midlevels: number;\r\n public estimatedclosedate: string;\r\n public PC: number;\r\n public PCname: string;\r\n public ownerid: number;\r\n public datecreated: string;\r\n public actualclosedate: string;\r\n public status: string;\r\n public statusName: string;\r\n public practiceid: number;\r\n public accountorcontactid: number;\r\n public isPended: string;\r\n public type: string;\r\n public leadfrom: string;\r\n public leadfromid: number;\r\n public userid: number;\r\n public createdUser: string;\r\n public source: string;\r\n public salesCommissionOpportunity: string;\r\n public RRCommisssionOpportunityMonthly: string;\r\n public RRCommisssionOpportunityYearly: string;\r\n public islimitedSearch: boolean;\r\n public SearchVal: string;\r\n public SalesOpportunity: string;\r\n public RROpportunity: string;\r\n public notesDescription: string;\r\n public ProposalDescription: string;\r\n public LeadDescription: string;\r\n public OpportunityFor: string;\r\n public NoOfDays: number;\r\n public accountid: number;\r\n public contactName: string;\r\n public practicename: string;\r\n public owner: string;\r\n public isdeleted: number; \r\n public ProposalPOPDF: string;\r\n public ProposalPDF: string;\r\n public drsName: string;\r\n public midlevel: string;\r\n public title: string;\r\n public fieldvalues: string;\r\n}\r\n","export class OutputPropsUserList { \r\n public finalitems: string;\r\n public calanderonoff: boolean = false;\r\n public pageSize: string;\r\n public secondDrpValue: string;\r\n public thirdDrpValue: string;\r\n public fourthDrpValue: string;\r\n public fifthDrpValue: string;\r\n public seventhDrpValue: string;\r\n public eightDrpValue: string;\r\n public custType: string;\r\n public pageSizeChanged: boolean = false;\r\n public enableSearch: boolean = false;\r\n public startDateVal: string;\r\n public endDateVal: string;\r\n}\r\n","export class Practice {\r\n public id: number;\r\n public practice: string;\r\n public city: string;\r\n public state: string;\r\n public zip: string;\r\n public email: string;\r\n public phone: string;\r\n public address1: string;\r\n public address2: string;\r\n public owner: string;\r\n public cell: string;\r\n public created: string;\r\n public website: string;\r\n}\r\n","export class Privilages {\r\n public assingeduserid: number;\r\n public resourceid: number;\r\n public canview: boolean;\r\n public canadd: boolean;\r\n public canedit: boolean;\r\n public candelete: boolean;\r\n public userid: number;\r\n\r\n}\r\n","export class Project {\r\n public id: number;\r\n public type: string;\r\n public projectdescription: string;\r\n public created: string;\r\n public providerid: number;\r\n public status:string\r\n}\r\n","export class QuestionResponses {\r\n public id: number;\r\n public questionid: number;\r\n public response: string;\r\n public responseuserid: number;\r\n public isdeleted: number;\r\n public ResponseID: number;\r\n public isbolded: number;\r\n}\r\n\r\n","export class ReleaseNotes {\r\n public releaseNoteId: number;\r\n public createdDate: string;\r\n public releaseNotes: string;\r\n public versionNumber: string;\r\n public isdeleted: number;\r\n public Subject: string;\r\n}\r\n","export class Replymessages {\r\n public id: number;\r\n public messageid: number;\r\n public replymessage: string;\r\n public replymessagedate: string;\r\n public replytouserids: string;\r\n public replyfromuserid: number;\r\n public deletedmsguserids: string;\r\n}\r\n","export class RunQuery {\r\n public id: number;\r\n public delqueryId: number;\r\n public queryOrder: string\r\n public searchtype: string\r\n public runby: number; \r\n}\r\n","export class SalesProcessHistory {\r\n public id: number;\r\n public contactid: number;\r\n public datecreated: string;\r\n public completeddate: string;\r\n public status: string;\r\n public ownerid: number;\r\n public completeduserid: number;\r\n public completeduser: string;\r\n public salesstage: string;\r\n public dealwonOrlost: string;\r\n public userid: number;\r\n public islimitedSearch: boolean;\r\n public SearchVal: string;\r\n public CurrentPage: number;\r\n public PageSize: number;\r\n public TotalPages: number;\r\n public Total: number;\r\n public notesDescription: string;\r\n public OpportunityID: number;\r\n public WLP: string;\r\n public NoOfDays: string;\r\n public IPC: string;\r\n public Analysis: string;\r\n public PrepareAnalysisReport: string;\r\n public ReviewAnalysis: string;\r\n public GeneralProposal: string;\r\n public justificationmetting: string;\r\n public Referencecall: string;\r\n public Mdlogicdemonstration: string;\r\n public IPCCompletedDate: string;\r\n public AnalysisCompletedDate: string;\r\n public PrepareAnalysisReportCompletedDate: string;\r\n public ReviewAnalysisCompletedDate: string;\r\n public GeneralProposalCompletedDate: string;\r\n public justificationmettingCompletedDate: string;\r\n public ReferencecallCompletedDate: string;\r\n public MdlogicdemonstrationCompletedDate: string;\r\n public convertedtoLeaddate: string;\r\n public contactname: string;\r\n public leadstatus: string;\r\n\r\n public IPCStatus: string;\r\n public AnalysisStatus: string;\r\n public PrepareAnalysisStatus: string;\r\n public ReviewAnalysisStatus: string;\r\n public GenerateProposalStatus: string;\r\n public JustificationStatus: string;\r\n public DemonstrationStatus: string;\r\n public ReferenceCallsStatus: string;\r\n\r\n}\r\n","export class Searchvalues {\r\n public term: string;\r\n public userid: string;\r\n public startdate: string;\r\n public enddate: string;\r\n public searchselection: string;\r\n public includecustomer: boolean;\r\n}\r\n","export class Statistics {\r\n public id: number;\r\n public type: string;\r\n public scans: string;\r\n public eRx: string;\r\n public logins: string;\r\n public kiosk: string;\r\n public elab: string;\r\n public PM: string;\r\n public progressnotes: string;\r\n public referralletters: string;\r\n public midlevels: string;\r\n public users: string;\r\n public commandCTR: string;\r\n public phoneapp: string;\r\n public Drs: string;\r\n}\r\n","export class StatusIDCategory {\r\n public Id: number;\r\n public StatusIDName: string;\r\n public SortOrder: number;\r\n public StatusIDGroup: number;\r\n public StatusIDGroupName: string;\r\n public UserID: number;\r\n public deleteStatus: number;\r\n}\r\n\r\nexport class StatusIDGroup{\r\n public StatusGroupId: number;\r\n public StatusGroupName: string;\r\n public StatusSortOrder: number;\r\n public UserID: number;\r\n public DeleteStatus: number;\r\n}\r\n","export class StatusTypes {\r\n public Id: number;\r\n public statustypeName: string;\r\n public SortOrder: number;\r\n public isDeleted: number;\r\n}\r\n","export class SystemRowConfiguration {\r\n public id: number;\r\n public Type: string;\r\n public SortOrder: string;\r\n public userid: number;\r\n}\r\n","export class Systemconfiguration {\r\n public id: number;\r\n public configurationname: string;\r\n public atoztab: string;\r\n public practicetab: string;\r\n public recent: string;\r\n public maxresults: string;\r\n public defaultconfiguration: string;\r\n public userid: number;\r\n public addeduserid: number;\r\n}\r\nexport class SystemconfigurationAccessModel {\r\n public AccountConfiguration: boolean=false;\r\n public AccountSharingGroups: boolean = false;\r\n public CampaignConfiguration: boolean = false;\r\n public ContactConfiguration: boolean = false;\r\n public DocumentMGMTConfiguration: boolean = false;\r\n public LeadsConfiguration: boolean = false;\r\n public MySalesXCRMConfiguration: boolean = false;\r\n public OpportunitiesConfiguration: boolean = false;\r\n public ProjectsConfiguration: boolean = false;\r\n public ProposalConfiguration: boolean = false;\r\n public ResponseWizard: boolean = false;\r\n public SoftwareLicenseConfiguration: boolean = false;\r\n public StatusIDConfiguration: boolean = false;\r\n public TaskListConfiguration: boolean = false;\r\n public TicketConfiguration: boolean = false;\r\n}\r\n","export class TaskHistory {\r\n public id: number;\r\n public contactid: number;\r\n public datecreated: string;\r\n public estcompleteddate: string;\r\n public status: string;\r\n public tasktype: string;\r\n public taskcategory: string;\r\n public tasktypeid: number;\r\n public time: string;\r\n public totime: string;\r\n public salesstageid: number;\r\n public type: string;\r\n public userid: number;\r\n public contactName: string;\r\n public accountname: string;\r\n public DateCreated: string;\r\n public DateSched: string;\r\n public datecompleted: string;\r\n public DateComp: string;\r\n public task: string;\r\n public owner: string;\r\n public timezone: string;\r\n public starttime: string;\r\n public endtime: string;\r\n public islimitedSearch: boolean;\r\n public SearchVal:string\r\n public CurrentPage: number;\r\n public PageSize: number;\r\n public TotalPages: number;\r\n public Total: number;\r\n public notedescription: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public NoOfDays: number;\r\n public accountid: number;\r\n public ownerid: number;\r\n public title: string;\r\n public taskGroupID: number;\r\n public accountphone: string;\r\n public createdBy: string;\r\n public DAY: string;\r\n}\r\n","export class Taskgroup {\r\n public id: number;\r\n public TaskGroupName: string;\r\n public addeduserid: number;\r\n public tasktype: string;\r\n public isdeleted: number;\r\n public Sortorder: number;\r\n //public zendesskTaskGroupId: string;\r\n}\r\n","export class Tasklistconfiguration {\r\n public id: number;\r\n public tasklistconfigurtaionorder: string;\r\n public configureduserid: number;\r\n public tasktype: string;\r\n public taskgroupid: number;\r\n}\r\n","export class TempData {\r\n public subtab: string;\r\n public columns: string;\r\n public columnsheader: string;\r\n public SearchSelectedItemsLengthChanged: boolean;\r\n}\r\n","export class TicketConfiguration {\r\n public id: number;\r\n public SalesXcrm: number;\r\n public ActiveTask: number;\r\n public ActiveUser: number;\r\n public ActivateZendesk: number;\r\n public SelectedTaskGroupID: string;\r\n public SelectedUserID: string;\r\n public UserId: number;\r\n \r\n}\r\n","export class Tickets {\r\n public ticketId: number;\r\n public contactid: number;\r\n public contactname: string;\r\n public createdDate: string;\r\n public email: string;\r\n public subject: string;\r\n public descriptions: string;\r\n public UserID: number;\r\n public UserName: string;\r\n public assignTicketToTask: string\r\n public userList: string\r\n public assignTicketToUser: string\r\n public TicketStatus: number;\r\n public accountName: string;\r\n public accID: number;\r\n public ZendeskID: number;\r\n public readstatus: number;\r\n public ticketNotes: any;\r\n public CCTo: string;\r\n public CCToName: string;\r\n public CCToTask: string;\r\n public CCTotaskName: string;\r\n public groupList: string;\r\n public priority: number;\r\n public businessphone: string;\r\n public cellphone: string;\r\n public islimitedSearch: boolean;\r\n public SearchVal: string;\r\n public office: string;\r\n public cell: string;\r\n public NoOfDays: number;\r\n}\r\n","export class TriggerTypes {\r\n public Id: number;\r\n public TriggerType: string;\r\n public TriggerTypeDescription: string; \r\n}\r\n","export class userModel {\r\n public userId: number;\r\n public username: string;\r\n public customerAccount: number;\r\n public isCustomer: number;\r\n public customerSince: number;\r\n public customerStatus: number;\r\n public SystemType: number;\r\n public HL7interface: number;\r\n public CustomerRCM: number;\r\n public OnDemand: number;\r\n public ApptReminders: number;\r\n public eLab: number;\r\n public MIPS: number;\r\n}\r\n","import { Privilages } from './privilages';\r\nimport { DateTime } from 'luxon';\r\n\r\nexport class Users {\r\n public id: number;\r\n public firstname: string;\r\n public lastname: string;\r\n public cellphone: string;\r\n public userrole: string;\r\n public email: string;\r\n public password: string;\r\n public confirmpassword: string;\r\n public selectedItems: any;\r\n public TaskGroupselectedItems: any;\r\n public AccountGroupselectedItems: any;\r\n public useraccessto: any;\r\n public userid: number;\r\n public systemadministrator: number;\r\n public customertypeaccess: number;\r\n public customerAccount: number;\r\n public customerStatus: number;\r\n public TaskGroupid?: string;\r\n public SelectedTaskGroupids: any;\r\n public Quotaid: number;\r\n public privilageslist: Privilages[];\r\n public permissionlevelid: number;\r\n public dealapprovalid: number;\r\n public userstatusid: number;\r\n public EmailSetUp: string;\r\n public isSendGrid: boolean;\r\n public isSMTP: boolean;\r\n public Zendseskpermissionid?: number;\r\n public ZendeskPermissionName: string;\r\n public userpermissionlevelid?: number;\r\n public salesxaccess: string;\r\n public calanderView: number;\r\n public QuotaName: string;\r\n public PermissionLevelName: string;\r\n public TaskGroupName: string;\r\n public ConvertCustomer: string;\r\n public SystemAdministratorame: string;\r\n public username: string;\r\n public RoleName: string;\r\n public dealApproval: string;\r\n public UserStatus: string;\r\n public userlist: string;\r\n public timezoneid: number;\r\n public releaseNoteAddEdit: number;\r\n public ticketTaskGroupAccessID: any;\r\n public AccountGroupAccessID: any;\r\n public mysalesxcrmuseraccess: any;\r\n public ticketTaskGroupAccess: string;\r\n public timezone: string;\r\n public CreatedDate: DateTime;\r\n public middleName: string;\r\n public title: string;\r\n public suffix: string;\r\n public taskGroupAccessForTickets: any;\r\n public SalesXCRMacesselectedItems: any;\r\n public titleName: string;\r\n public suffixName: string;\r\n public userAccessNames: string;\r\n public ProfilePicture: string;\r\n public Phototype: string;\r\n public SoftwareLicenseAdmin: number;\r\n public StatisticsAddEdit: number;\r\n public lastCustomerActivity: number;\r\n public lastSearchby: number;\r\n public defaultSearchPage: number;\r\n public isCustomer: number;\r\n public customerSince: number;\r\n public hidecustomer: number;\r\n public SystemType: number;\r\n public HL7interface: number;\r\n public CustomerRCM: number;\r\n public OnDemand: number;\r\n public ApptReminders: number;\r\n public eLab: number;\r\n public MIPS: number;\r\n}\r\n\r\n\r\n","export class ViewSalesinfo {\r\n public monthlyleadconvertedcount: number;\r\n public leadconvertedcount: number;\r\n public leadconvertedPercentage: string;\r\n\r\n public Monthlycallscompleted: number;\r\n public Monthlycallscount: number;\r\n public MonthlycallsPercentage: string;\r\n\r\n public MonthlycallsScheduled: number;\r\n public MonthlycallsScheduledcount: number;\r\n public MonthlycallsScheduledPercentage: string;\r\n\r\n public MonthlyMeetingCompletedgoal: number;\r\n public MonthlyMeetingCompletedCount: number;\r\n public MonthlyMeetingCompletedPercentage: string;\r\n\r\n public MonthlylastDueActivitygoal: number;\r\n public MonthlylastDueActivityCount: number;\r\n public MonthlylastDueActivityPercentage: string;\r\n\r\n public MonthlyToDogoal: number;\r\n public MonthlyToDoCount: number;\r\n public MonthlyToDoPercentage: string;\r\n \r\n\r\n public MonthlyAccountAdded: number;\r\n public MonthlyAccountsaddedcount: number;\r\n public MonthlyAccountsaddedPercentage: string;\r\n\r\n public MonthlySaleswongoal: string;\r\n public MonthlySalesWonCount: string;\r\n public MonthlySalesWonPercentage: string;\r\n\r\n public MonthlySalesRRgoal: string;\r\n public MonthlySalesRRCount: string;\r\n public MonthlySalesRRPercentage: string;\r\n\r\n\r\n public activityname: string;\r\n public Monthcount: number;\r\n public Goal: number\r\n public Percentage: string;\r\n\r\n\r\n public NewTicketsgoal: number;\r\n public NewTicketCount: number;\r\n public NewTicketPercentage: string;\r\n\r\n public ClosedTicketsgoal: number;\r\n public ClosedTicketCount: number;\r\n public ClosedTicketPercentage: string;\r\n\r\n}\r\n","export class Viewaccount {\r\n public viewaccountname: string;\r\n public viewaddress1: string;\r\n public viewaddress2: string;\r\n public viewcity: string;\r\n public viewstate: string;\r\n public viewzip: string;\r\n public viewphone: string;\r\n public viewfax: string;\r\n public viewalterphone1: string;\r\n public viewalterphone2: string;\r\n public viewwebsite: string;\r\n public viewCountry: string;\r\n public Accountiddata: string;\r\n public accountId: number;\r\n public AccountHistoryNote: string;\r\n public ProvidenceIsland: string;\r\n public ownerName: string;\r\n //public viewownerid: number;\r\n //public viewmultiplelocations: number;\r\n}\r\n","export class Viewcalllist {\r\n public term: string;\r\n public contactids: string;\r\n public completedcontactids: string;\r\n public currentuserid: string;\r\n public startdate: string;\r\n public enddate: string;\r\n public deletedcontacts: string;\r\n public isCustomertypelist: string;\r\n}\r\n","export class WizardQuestions {\r\n public id: number;\r\n public Question: string;\r\n public isdeleted: number;\r\n public createduserid: number;\r\n public groupid: number;\r\n}\r\n","export class WizardSubGroup {\r\n public id: number;\r\n public taskGroupId: number;\r\n public subTaskGroupName: string;\r\n public category: string\r\n}\r\n","export class Zendeskuser {\r\n public Name: string;\r\n public LocaleId: string;\r\n public PhotoUrl: string;\r\n public OpenidUrl: string;\r\n public CreatedAt: string;\r\n public LastLogin: string;\r\n public Details: string;\r\n public UpdatedAt: string;\r\n public Notes: string;\r\n public Email: string;\r\n public ExternalId: string;\r\n public RestrictionId: number;\r\n public Phone: string;\r\n public IsActive: string;\r\n public IsVerified: string;\r\n public TimeZone: string; \r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ColumnNames } from '../models/column-names';\r\n\r\n@Pipe({\r\n name: 'searchboxfilter'\r\n})\r\nexport class SearchboxfilterPipe implements PipeTransform {\r\n transform(columnNames: ColumnNames[], searchFilter: string): ColumnNames[] {\r\n if (searchFilter.toLowerCase().trim() == \"\")\r\n return columnNames;\r\n else\r\n return columnNames.filter(columnName => columnName.displayName.toLowerCase().indexOf(searchFilter.toLowerCase()) >= 0);\r\n }\r\n}\r\n","
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \"Home\"\r\n

      The Leader in Sales,Support and Marketing Automation

      \r\n

      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n\r\n
      \r\n\r\n\r\n\r\n
      Password include minimum of 8 characters to include at least one alpha character,Alpha character in UPPER Case, one number and one special character ( @, #, $, %,*,etc.)
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n Match\r\n Please provide New password\r\n \r\n
      \r\n \r\n
      \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, ViewContainerRef} from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, FormControl, NG_VALIDATORS, Validator, AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { UserService } from './../services/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Users } from '../models/users';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-resetpassword',\r\n templateUrl: './resetpassword.component.html',\r\n styleUrls: ['./resetpassword.component.css']\r\n})\r\nexport class ResetpasswordComponent implements OnInit {\r\n resetpwdform : FormGroup;\r\n user: Users = new Users();\r\n userdata: Users = new Users();\r\n showerrordiv: any; userid: number;\r\n resetpwd: boolean = false;\r\n isPasswordmatch: boolean = false;\r\n constructor(private router: Router,fb: FormBuilder, private route: ActivatedRoute, private users: UserService, private toastr: ToastrService, private viewContainerRef: ViewContainerRef) {\r\n this.viewContainerRef = viewContainerRef;\r\n // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n }\r\n \r\n submitted = false;\r\n onSubmit() { this.submitted = true; }\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n\r\n this.userid = params['userid'];\r\n });\r\n this.resetpwdform = new FormGroup({\r\n 'password': new FormControl(null, [Validators.required, Validators.minLength(8), Validators.maxLength(15)]),\r\n 'confirmpassword': new FormControl(null, [Validators.required, Validators.minLength(8)]),\r\n });\r\n }\r\n Comparepwd() {\r\n let pas = $('#password').val();\r\n let con_pass = $('#confirmPassword').val();\r\n if (pas == con_pass) {\r\n // $('#errmsg').hide();\r\n //$('#errmsgdiv').css('display', 'none');\r\n $('#valid').show();\r\n\r\n $(setTimeout(function () {\r\n $('#userExist').css('display', 'none');\r\n }, 50));\r\n }\r\n else\r\n //this.isPasswordmatch = false;\r\n\r\n $('#valid').hide();\r\n $('#userExist').css('display', 'block');\r\n document.getElementById('userExist').innerHTML = 'Please provide New password';\r\n\r\n //$('#errmsgdiv').show();\r\n\r\n }\r\n\r\n showhide() {\r\n\r\n //$('#password').toggleClass(\"fa-eye fa-eye-slash\");\r\n var input = $('#password');\r\n if (input.attr(\"type\") == \"password\") {\r\n //$('#passwordEye').attr(\"class\", \"fa fa-fw fa-eye-slash field-icon toggle-password\");\r\n $(\"#passwordEye\").removeClass(\"fa fa-fw fa-eye field-icon toggle-password\");\r\n $(\"#passwordEye\").addClass(\"fa fa-fw fa-eye-slash field-icon toggle-password\");\r\n\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n //$('#passwordEye').attr(\"class\", \"fa fa-fw fa-eye field-icon toggle-password--*/\");\r\n\r\n $(\"#passwordEye\").removeClass(\"fa fa-fw fa-eye-slash field-icon toggle-password\");\r\n $(\"#passwordEye\").addClass(\"fa fa-fw fa-eye field-icon toggle-password\");\r\n\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n showhide1() {\r\n\r\n //$('#password').toggleClass(\"fa-eye fa-eye-slash\");\r\n var input = $('#confirmPassword');\r\n if (input.attr(\"type\") == \"password\") {\r\n //$('#passwordEye').attr(\"class\", \"fa fa-fw fa-eye-slash field-icon toggle-password\");\r\n $(\"#passwordEye1\").removeClass(\"fa fa-fw fa-eye field-icon toggle-password1\");\r\n $(\"#passwordEye1\").addClass(\"fa fa-fw fa-eye-slash field-icon toggle-password1\");\r\n\r\n input.attr(\"type\", \"text\");\r\n } else {\r\n //$('#passwordEye').attr(\"class\", \"fa fa-fw fa-eye field-icon toggle-password--*/\");\r\n\r\n $(\"#passwordEye1\").removeClass(\"fa fa-fw fa-eye-slash field-icon toggle-password1\");\r\n $(\"#passwordEye1\").addClass(\"fa fa-fw fa-eye field-icon toggle-password1\");\r\n\r\n input.attr(\"type\", \"password\");\r\n }\r\n }\r\n\r\n CompareOldpassword() {\r\n this.users.GetUserByuserId(this.userid).then(result => { \r\n this.userdata = result; \r\n });\r\n let pas = $('#password').val();\r\n if (pas == this.userdata.password) {\r\n $('#userExist').show();\r\n } else {\r\n $('#userExist').hide();\r\n }\r\n }\r\n updatepassword() {\r\n let pas = $('#password').val().toString();\r\n let con_pass = $('#confirmPassword').val();\r\n if (pas == con_pass) {\r\n $('#errmsg').hide();\r\n this.users.ResetPassword(this.userid, pas).then(res => {\r\n if (res == \"success\") {\r\n this.toastr.success(\"Password Reset successfully.\", \"Reset\", { timeOut: 600 });\r\n this.router.navigateByUrl(`/login`);\r\n }\r\n else {\r\n // this.toastr.setRootViewContainerRef(viewContainerRef);\r\n this.toastr.error(\"Something went wrong\");\r\n }\r\n });\r\n }\r\n else\r\n $('#errmsg').show();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Headers, RequestOptions} from '@angular/http';\r\nimport { Accounts, AccountTasksCounts } from './../models/accounts';\r\nimport { Contacts } from './../models/contacts';\r\nimport { Viewcalllist } from './../models/viewcalllist';\r\nimport { Customers } from './../models/customers';\r\nimport { Notes } from './../models/notes';\r\nimport { Calllist } from './../models/calllist';\r\nimport { AppSettings } from '../app.settings';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Accountlocations, Hero } from './../models/data-model';\r\nimport { ColumnNames } from './../models/column-names';\r\nimport { AdvancedSearch } from './../models/advancedsearch';\r\nimport { Zendeskuser } from '../models/zendeskuser';\r\nimport { GoogleMap } from './../models/google-map';\r\n//import * as FileSaver from 'file-saver';\r\nimport { saveAs } from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\nimport { StatusIds } from '../models/StatusIds';\r\nimport { AddressUpdate } from '../models/AddressUpdate';\r\nimport { AccountsHistory } from '../models/AccountHistory';\r\nimport { AccountSpecialNotes } from '../models/AccountSpecialNotes';\r\nimport { Googlelocations } from '../models/googlelocations';\r\ndeclare var require: any;\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable()\r\nexport class AccountsService {\r\n options: RequestOptions;\r\n authToken: any;\r\n headers: any;\r\n addresses: Accountlocations[];\r\n viewcalllist: Viewcalllist; reqHeader: HttpHeaders = new HttpHeaders();\r\n constructor(private httpclient: HttpClient,private http: Http, private settings: AppSettings) {\r\n \r\n this.reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('key')\r\n });\r\n }\r\n updateaccountids(accounts: Accounts): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/UpdateStatusIds', accounts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n AddUpdateStatusIDS(accounts: StatusIds): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/AddUpdateStatusIDS', accounts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetAccountStatusIds(id: number, type: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAccountStatusIds/' + id + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n\r\n addaccount(accounts: Accounts): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveAccount', accounts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addaccountNew(accounts: Accounts): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveAccountNew', accounts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n SavaccountSpecialNotes(accounts: AccountSpecialNotes): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveSpecialNotes', accounts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addImportedAccount(accounts: Accounts[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveImportedAccount', accounts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n checkduplicates(accounts: Accounts): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/Checkduplicate', accounts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n checkduplicateAccountName(accountName: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/CheckAccountName/' + accountName, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n }); \r\n });\r\n return promise;\r\n }\r\n checkLeadorOpportunityOpen(accid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/CheckIsLeadorOptOpen/' + accid, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n CheckImportedAccountDuplicates(array: string[]): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n \r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/CheckImportedAccountDuplicates', array, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n CheckImportedContactsDuplicates(array: string[]): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n \r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/CheckImportedAccountDuplicates', array, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addCalllist(calllist: Calllist): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/accounts/SaveCalllist\", calllist, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n getMappedContactsForLocation(Locationid: number, accountid: number): Promise { \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/getMappedContactsForLocation/' + Locationid + '/' + accountid,\r\n { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addaccountLocations(addresses: Accountlocations[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveAccountLocations', addresses, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addaccountHistory(accountHstory: AccountsHistory): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveAccountHistory', accountHstory, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n sp_updateAccAddressToContact(addresses: AddressUpdate): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/customers/updatecontactaddress', addresses, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n updatecontactaddress(addresses: AddressUpdate): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/updatecontactaddress', addresses, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n updateAccountAddress(addresses: AddressUpdate): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/updateAccountAddress', addresses, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetAlllocations(googleloc: Googlelocations): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/GetAlllocationdetails' , googleloc, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addcontact(contacts: Contacts): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveContacts', contacts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addcontactNew(contacts: Contacts): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveContactsNew', contacts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllAccounts(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAccountsList', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllCalllist(userid: number, startdate?: string, enddate?: string, selectedstatus?:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllCalllist/' + userid + '/' + startdate + '/' + enddate + '/' + selectedstatus, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllCallHistorylist(type: string, contactid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllCalllHistoryist/' + type + '/' + contactid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllNotesList(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllNotesList/', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllContacts(providerid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllContactsList/' + providerid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllSelectedContactCalllist(viewcalllist): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/GetAllContactCalllist/', viewcalllist,{ headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllSelectedAccountCalllist(viewcalllist): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/GetAllAccountCalllist/', viewcalllist, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllSelectedContacts(contactids: string,type:string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllSelectedContactsList/' + contactids + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetAllColumnNames(tblName: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllColumns/' + tblName, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetDistinctColumnValues(tblName: string, columnName: string,currentuserid:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllDistinctColumnValues/' + tblName + '/' + columnName + '/' + currentuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n \r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public saveAdvancedSearchQuery(qryName: string, searchQry: string, editQryId: number, searchtype: string, userdId: number, SearchVal: string, filterSearchdata: string, searchdata: string, searchOperator: string): Promise {\r\n \r\n let obj: string[] = [qryName, searchQry, editQryId.toString(), searchtype.toString(), userdId.toString(), SearchVal, filterSearchdata, searchdata, searchOperator];\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveAdvancedSearchQuery', obj, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public SaveDefaultColumns(searchType: string, defaultColumns: string,loggedInuserId:number): Promise {\r\n \r\n let obj: string[] = [searchType, defaultColumns, loggedInuserId.toString()];\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveAdvancedDefaultColumns', obj, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public getAdvancedSearchQueries(param:string,userid:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAdvancedSearchQueries/' + param + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public searchdata(tabname: string,loggedinuserid:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetFilterSearchData/' + tabname + '/' + loggedinuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetDefaultColumns(searchType, loggedInuserId): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAdvancedSearchColumns/' + searchType + '/' + loggedInuserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public deleteAdvancedSearchQuery(dltQryId: number, status: number, currentuserid: number): Promise {\r\n \r\n let obj: AdvancedSearch = new AdvancedSearch();\r\n obj.Id = dltQryId;\r\n obj.status = status;\r\n obj.createdby = currentuserid;\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/DeleteAdvancedSearchQuery', obj, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n deleteSearchQuery(tabname:string,currentuserid:number): Promise {\r\n let obj: AdvancedSearch = new AdvancedSearch();\r\n obj.searchtype = tabname;\r\n obj.createdby = currentuserid;\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/DeleteSearchQuery', obj, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public RemoveContactFromCallList(callListId: number, contactIds: string): Promise {\r\n \r\n let arr: string[] = [callListId.toString(), contactIds];\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/RemoveContactFromCallList', arr, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public exportAsExcelFile(json: any[], excelFileName: string): void { \r\n \r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n var FileSaver = require('file-saver');\r\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\r\n FileSaver.saveAs(data, fileName +new Date().getTime() + EXCEL_EXTENSION);\r\n }\r\n public downLoadFile(result, fileName) {\r\n // const link = document.createElement('a');\r\n // const file = new Blob([result], { type: 'application/pdf' });\r\n // link.href = window.URL.createObjectURL(file);\r\n // link.target ='_blank'\r\n // link.download = fileName + '.pdf';\r\n // window.open(link.href); \r\n // document.body.appendChild(link);\r\n // link.click();\r\n // //window.open(link.href, '_blank');\r\n // document.body.removeChild(link);\r\n \r\n var file = new Blob([result], { type: 'application/pdf' });\r\n var fileURL = URL.createObjectURL(file);\r\n window.open(fileURL);\r\n \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { RequestOptions } from '@angular/http';\r\nimport { ColumnNames } from './../models/column-names';\r\nimport { RunQuery } from './../models/run-query';\r\nimport { Dropdowntype } from './../models/dropdowntype';\r\nimport { AppSettings } from '../app.settings';\r\nimport { Notes } from \"./../models/notes\";\r\n//import { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class AdvancedsearchService {\r\n options: RequestOptions;\r\n authToken: any;\r\n headers: any;\r\n reqHeader: HttpHeaders = new HttpHeaders();\r\n constructor(private httpclient: HttpClient, private http: HttpClient, private settings: AppSettings) {\r\n this.reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('key')\r\n });\r\n \r\n }\r\n\r\n GetAllColumnNames(tblName: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllColumns/' + tblName, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n closeRunQuery(runquery: RunQuery): Promise { \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/advancedsearch/CloseOpenQueries', runquery, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n saveRunQuery(runquery: RunQuery): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/advancedsearch/SaveRunQueries', runquery, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetAllRunQueries(currentuserId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/advancedsearch/GetAllQueries/' + currentuserId, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { Message } from '../models/message';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@Injectable()\r\nexport class ChatService {\r\n messageReceived = new EventEmitter();\r\n connectionEstablished = new EventEmitter();\r\n\r\n} \r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Headers, RequestOptions } from '@angular/http';\r\nimport { Customers } from './../models/customers';\r\nimport { Accounts } from './../models/accounts';\r\nimport { Accountsharing } from './../models/AccountsharingModel';\r\nimport { Campaign } from './../models/Campaign';\r\nimport { Auditlog, AuditLogModel } from './../models/auditlog';\r\nimport { Openitems } from './../models/openitems';\r\nimport { Contacts } from './../models/contacts';\r\nimport { Dropdowntype, Dropdown } from './../models/dropdowntype';\r\nimport { Statistics } from './../models/statistics';\r\nimport { Tickets } from './../models/tickets'; \r\nimport { Notes } from './../models/notes';\r\nimport { Emails, Attachements } from './../models/emails';\r\nimport { Practice } from './../models/practice';\r\nimport { Document } from './../models/document';\r\nimport { AccountDocuments } from './../models/account-documents';\r\nimport { Project } from './../models/project';\r\nimport { AppSettings } from '../app.settings';\r\nimport { Tasklistconfiguration } from './../models/tasklistconfiguration';\r\nimport { Taskgroup } from './../models/taskgroup';\r\nimport { WizardSubGroup } from './../models/wizard-sub-group';\r\n//import { Privilages } from \"app/models/privilages\";\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Accountlocations, Hero } from './../models/data-model';\r\nimport { Calllist } from '../models/calllist';\r\nimport { Zendeskuser } from '../models/zendeskuser';\r\nimport { WizardQuestions } from '../models/wizard-questions';\r\nimport { QuestionResponses } from '../models/question-responses';\r\nimport { Lastresponseview } from '../models/lastresponseview';\r\nimport { Privilages } from '../models/privilages';\r\nimport { TicketNotes } from '../models/TicketNotes';\r\nimport { RhxNames } from '../models/RhxNames';\r\nimport { WizardSubGroup2 } from '../models/WizardSubGroup2';\r\nimport { UserAccessTimeModel } from '../models/UserAccessTimeModel';\r\nimport { AccountsHistory } from '../models/AccountHistory';\r\nimport { AccountFields } from '../models/AccountFields';\r\nimport { TableColumns } from '../models/TableColumns';\r\nimport { PickListModel, ProjectPickListModel } from '../models/PickListModel';\r\nimport { AccountTransferModel } from '../models/AccountTransferModel';\r\nimport { TaskType } from '../models/TaskType';\r\nimport { DocumentHistory } from '../models/DocumentHistory';\r\nimport { FormConfiguration } from '../models/FormConfiguration';\r\nimport { ContactsSortOrder } from '../models/ContactsSortOrder';\r\nimport { Users } from '../models/users';\r\nimport { ProjectFields, ProjectForecastViewModel, Projects, ProjectStages, ProjectSteps, ProjectStepStatusModel } from '../models/ProjectConfiguration';\r\nimport { SalesXCRMChartTabs } from '../models/SalesXCRMChartTabs';\r\nimport { SharingGroups } from '../models/Accountsharing';\r\nimport { User } from 'ng-chat';\r\nimport { ProjectForecastData } from '../models/ProjectForecastData';\r\nimport { Mynotes } from '../models/mynotes';\r\nimport { ChatMessage } from '../models/chatMessage';\r\nimport { GroupChat } from '../models/GroupChat';\r\nimport { userModel } from '../models/userModel';\r\ntype NewType = FormConfiguration;\r\n\r\n@Injectable()\r\nexport class CustomerService {\r\n options: RequestOptions;\r\n authToken: any; \r\n headers: any;\r\n reqHeader: HttpHeaders = new HttpHeaders();\r\n lead: Customers = new Customers();\r\n //taskgroup: Taskgroup = new Taskgroup();\r\n statistics: Statistics = new Statistics();\r\n tickets: Tickets = new Tickets();\r\n notes: Notes = new Notes();\r\n emails: Emails = new Emails();\r\n practice: Practice = new Practice(); \r\n document: Document = new Document(); \r\n project: Project = new Project();\r\n constructor(private httpclient: HttpClient,private http: Http, private settings: AppSettings) { \r\n }\r\n\r\n public GetAllCustomerList(type: string, term: string): Promise {\r\n let self = this;\r\n const promise = new Promise((resolve, reject) => {\r\n self.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllCustomersList/' + type + '/' + term, { headers: self.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetDocumentsCount(accountorcontactid: number,type:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetDocumentsCountbyuser/' + accountorcontactid + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetBypracticeId(practiceId: number): Promise {\r\n\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetByPracticeId/' + practiceId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetByproviderId(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetByproviderId/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetByAccountId(id: number): Promise { \r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetByAccountId/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n }); }\r\n });\r\n return promise;\r\n }\r\n\r\n GetByAccountIdNew(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetByAccountIdNew/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n\r\n GetAccountHistoryById(id: number,loggeduserId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAccountHistoryById/' + id + '/' + loggeduserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n\r\n LastTicketCreatedDateByAccID(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/LastTicketCreatedDateByAccID/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n\r\n LastContactedDateByAccID(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/LastContactedDateByAccID/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n GetSalerepName(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetSalesrepName/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n \r\n GetDocumentById(docid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (docid != undefined && docid != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/documents/GetDocId/' + docid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n GetDocumentHistoryById(docid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (docid != undefined && docid != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/documents/GetDocHistoryById/' + docid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n GetDocumentPermissionById(docid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (docid != undefined && docid != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/documents/GetPerDocId/' + docid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n GetAccountSharingByAccountId(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAccSharingByAccountId/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n GetpopenItemsForUser(userids: string, accId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (userids != undefined && userids != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetOpenItemsForEditUsers/' + userids + '/' + accId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n GetpermissionGroupByAccount(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetPermissionByAccount/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n\r\n getAccountPermission(accid: number,loggedinUserId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n \r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetUserAccountPermission/' + accid + '/' + loggedinUserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n \r\n });\r\n return promise;\r\n }\r\n\r\n public GetSaveContactOrder(userid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetSaveContactOrder/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public SaveContactOrder(ContactsOrder: ContactsSortOrder) {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/customers/SaveContactOrder', ContactsOrder, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n loadaccountdata(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/LoadAccountDataByAccountId/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n GetByAttachmentId(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (id != undefined && id != null) {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetMesageAttachments/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n }\r\n });\r\n return promise;\r\n }\r\n GetByCalllistById(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetByCalllistId/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetallContactlistbyselectedaccounts(accountids: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllContactsbySelectedids/' + accountids, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetLocationByAccountId(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetLocationByAccountId/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n LoadContactById(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetContactDataById/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetContactById(id: number): Promise { \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetContactById/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetContactByIdNew(id: number): Promise { \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetContactByIdNew/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n ResponseById(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetResponById/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n deleteCategory(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/DeleteTaskGroupById/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n Getcontactimage(id: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetImage/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllUserListBypractice(practiceId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllUserListByPractice/' + practiceId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetAllStaffListBypractice(practiceId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllStaffListByPractice/' + practiceId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllContactUserListBypractice(practiceId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllUserListByPractice/' + practiceId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllContactproviderByAccount(accountid: number,userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllContactproviderByAccount/' + accountid + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllContactproviderByAccountQV(accountids: string, userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllContactproviderByAccountQV/' + accountids + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public getDesiredIdFromContactId(desired: string, contactid: number, type: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetDesiredIdFromContactId/' + desired + '/' + contactid.toString() + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllContactstaffByAccount(accountid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllContactStaffByAccount/' + accountid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllNotesListByAccount(accountid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllAccountNotes/' + accountid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetSpecialityList(category: string,loggedinUserId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAlldropdownsByCategory/' + category + '/' + loggedinUserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n public GetRoleSalesRep(roleId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetRoleSalerep/' + roleId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetSearchColumnList(tblName: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetAllTableColumnList/' + tblName, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetAccountContactList(accId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllContactsByAccount/' + accId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetTitleListbycontacttype(cattype: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAlltitlesBycategorytype/' + cattype, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllaccesusersListbyuser(userid: number, ActiveUser: number, inActiveUser: number, suspendedUser: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllOwnerList/' + userid + '/0/' + ActiveUser + '/' + inActiveUser + '/' + suspendedUser, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public Getselectedusers(userids: string): Promise {\r\n let self = this;\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(self.settings.baseUrl + 'api/customers/GetAllSelectedUserList/' + userids, { headers: self.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetDropdownNames(dropdownids?: string): Promise {\r\n let self = this;\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(self.settings.baseUrl + 'api/customers/GetSelecteddropdownList/' + dropdownids, { headers: self.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllaccesUserList(currentuserId: number): Promise { \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllaccesUserList/' + currentuserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllOwnerList(Roleid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllOwnerList/0/' + Roleid + '/1/0/0', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetLoggedinUserList(userid: number,systemadministrator:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetLoggedinUserList/' + userid + '/' + systemadministrator, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public Getcontacttypes(typeid: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllContacttypesList/' + typeid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public Getaccountaddress(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAccountAddress/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetSpecialitytypes(loggedinUserId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllSpecialitiesList/' + loggedinUserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetCollegeList(loggedinUserId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllCollegeList/' + loggedinUserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetMedicalSchoolList(loggedinUserId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllMedicalSchoolList/' + loggedinUserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllStateList(country): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllStatesList/' + country, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllCitiesList(stateid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllCitiesByState/' + stateid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllStatistics(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllStatisticsList/', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addticket(tickets: Tickets): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/zendesk/SaveTickets', tickets, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addticketNotes(tickets: TicketNotes): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/zendesk/SaveTicketsNotes', tickets, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetTicketsListByContact(type: number, Status: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/zendesk/GetTicketsListByContact/' + type + '/' + Status, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetTicketsListByAccount(type: number, Status: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/zendesk/GetTicketsByAccount/' + type + '/' + Status, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetTicketNotesByTicketId(ticketId: number,type:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/zendesk/GetTicketNotesByTicketId/' + ticketId + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetTicketsList(Status: string, Filter: string, UserId: number, SortOrder: string, CCval: boolean, assignedTo: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/zendesk/GetTicketsList/' + Status + '/' + Filter + '/' + UserId + '/' + SortOrder + '/' + CCval + '/' + assignedTo, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllTicketStatus(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/zendesk/GetAllTicketStatus', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllzendeskuserlist(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/zendesk/GetAllZendeskUserList/', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllNotesList(userid:number,contactid: string, type: string, accidofallcontacts: string = \"0\"): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllNotesList/' + userid + '/' + contactid + '/' + type + '/' + accidofallcontacts, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllNotesListNew(userid: number, contactid: string, type: string, accidofallcontacts: string = \"0\", Opptype: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllNotesListNew/' + userid + '/' + contactid + '/' + type + '/' + accidofallcontacts + '/' + Opptype, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllEmailsList(contactid: number, type: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllEmailList/' + contactid + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllEmailsAttachmentList(emailid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllattachmentsByemailId/' + emailid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n savezendeskUser(zendesk: Zendeskuser): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/zendesk/SaveZendeskUser', zendesk, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllDeletedDocumentList(accountId: string, selectedType: string, selYear: number, SelReportType: string, startrow?: number, endrow?: number, start?: string, end?: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllDeletedDocumentList/' + accountId + '/' + selectedType + '/' + selYear + '/' + SelReportType + '/' + startrow + '/' + endrow + '/' + start + '/' + end, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllDocumentList(accountId: string, selectedType: string, selYear: number, SelReportType: string,start?:string,end?:string ): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllDocumentList/' + accountId + '/' + selectedType + '/' + selYear + '/' + SelReportType + '/' + start + '/' + end, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllDocumentByPermissionLevel(userids: string, permissionLevel: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllDocumentByPermissionLevel/' + userids + '/' + permissionLevel, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllPendingDocuments(accountId: number, selectedType: string, selYear: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllPendingDocumentList/' + accountId + '/' + selectedType + '/' + selYear, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllDocumentNamePermissionList(selectedType: string, userId?: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllDocumentNamePermissionList/' + selectedType + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllDocNamePermissionListforConfig(selectedType: string, userId?: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllDocNamePermissionListforConfig/' + selectedType + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllActiveDocumentNamePermissionList(selectedType: string, startrow?: number, endrow?: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllActiveDocumentNamePermissionList/' + selectedType + '/' + startrow + '/' + endrow, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllAccountDocumentList(loggedinuserid: number, accountid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllAccountDocumentList/' + loggedinuserid + '/' + accountid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllDocumentAuditlogList(documentid: number, type: string, UserIds?: string, startrow?: number, endrow?: number, selectedtype?: string, startdate?: string, enddate?: string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllAuditLog/' + documentid + '/' + type + '/' + UserIds + '/' + startrow + '/' + endrow + '/' + selectedtype + '/' + startdate + '/' + enddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllUersloggedInList(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllUserloggedInList', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetmessageReceiveList(userId): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllSendReceiveUserList/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public isDuplicateChatsession(fromuserId, touserId): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetDuplicateChatSession/' + fromuserId + '/' + touserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllChatMessages(userId, touserId, chatids, grpId): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllChatMessagesList/' + userId + '/' + touserId + '/' + chatids + '/' + grpId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n\r\n public GetAllRhxList(UserIds?: string, startrow?: number, endrow?: number, startdate?: string, enddate?: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllRhxAuditLog/' + UserIds + '/' + startrow + '/' + endrow + '/' + startdate + '/' + enddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetRecentHistoryNames(Type: string,userdids:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetRecentHistoryNames/' + Type + '/' + userdids, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAuditDataByID(userdids: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAuditDataByID/' + userdids, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllProjectList(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllProjectList/', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetPractices(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllPracticeList/', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public UpdateProvider(customer: Customers): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/customers/UpdateProvider/', customer, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public SaveNotes(notes: Notes): Promise {\r\n var currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n notes.userid = currentuser.id;\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/customers/SaveNotes\", notes, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public SaveuserNotes(notes: Mynotes): Promise {\r\n var currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n notes.userId = currentuser.id;\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/customers/SaveMyNotes\", notes, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public UpdateNotes(notes: Notes): Promise {\r\n \r\n var currentuser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n notes.userid = currentuser.id;\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/customers/UpdateNotes\", notes, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public SaveResponcesForQuestion(responce: QuestionResponses): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/customers/SaveQuestionRenponses\", responce, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public SaveEditedNote(id: string, desc: string) { \r\n let obj: string[] = [id, desc];\r\n const promise = new Promise((resolve, reject) => { \r\n this.httpclient.post(this.settings.baseUrl + \"api/customers/SaveEditedNote\", obj, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public SaveEmail(email: string): Promise { \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/SendEmail?email=\" + email, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n \r\n updategroup(groupdata: GroupChat): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/chats/UpdateChatGroup\", groupdata, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise; \r\n }\r\n\r\n deleteChat(chatid: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/chats/deleteMessage/' + chatid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n updateCustomerView(id: number, cusviewStatus: number,hidecustomer): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/UpdateCustomerViewStatus/' + id + \"/\" + cusviewStatus + \"/\" + hidecustomer, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n UpdateProposal(id: number, proposalSelection: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/UpdateProposalSelection/' + id + \"/\" + proposalSelection, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n deletetaskitem(id: number, status: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/deletetaskitemStatus/' + id + \"/\" + status, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n activatedeactivateQuestion(id: number, status: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/deleteQuestionStatus/' + id + \"/\" + status, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n DeactivateResponse(responseid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/deactivateresponse/' + responseid, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n DeactivateCategories(id: number, type: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/DeactivateCategories/' + id + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n updatemultiplelocation(id: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/Updatemultiplelocation/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public Token(username: string, password: string): Promise {\r\n let self = this;\r\n let headers = new Headers();\r\n headers.set(\"Content-Type\", \"application/x-www-form-urlencoded\");\r\n const promise = new Promise((resolve, reject) => {\r\n self.http.post(self.settings.baseUrl + \"Token\", \"grant_type=password&username=\" + username + \"&password=\" + password, { headers: headers }).\r\n subscribe(res => {\r\n resolve(res.json());\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n updatelogin(id: number, status1: number, LogOutStatus: string, AuditLogId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/UpdateLoginStatus/' + id + \"/\" + status1 + \"/\" + LogOutStatus + \"/\" + AuditLogId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n //public updateuserSuspend(userdata): Promise {\r\n // const promise = new Promise((resolve, reject) => {\r\n // this.httpclient.post(this.settings.baseUrl + 'api/UpdateSuspend/', userdata, { headers: this.reqHeader }).\r\n // subscribe(res => {\r\n // resolve(res);\r\n // });\r\n // });\r\n // return promise;\r\n //}\r\n\r\n \r\n\r\n public Login(username: string, password: string): Promise {\r\n let self = this;\r\n localStorage.removeItem(\"key\");\r\n const promise = new Promise((resolve, reject) => {\r\n self.Token(username, password)\r\n .then(tokenData => {\r\n let headers = new Headers();\r\n headers.set(\"Authorization\", `Bearer ${tokenData.access_token}`);\r\n self.http.get(self.settings.baseUrl + \"api/Login/\" + encodeURIComponent(password) , { headers: headers }).\r\n subscribe(res => {\r\n let user = res.json();\r\n user.token = tokenData.access_token;\r\n self.reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${user.token}`\r\n });\r\n localStorage.setItem('key', user.token);\r\n resolve(user);\r\n });\r\n });\r\n });\r\n return promise; \r\n }\r\n public CheckUsernameExistOrNot(username: string, password: string): Promise {\r\n this.headers = new Headers();\r\n\r\n localStorage.removeItem(\"key\");\r\n var temptoken = localStorage.getItem(\"temptoken\");\r\n const promise = new Promise((resolve, reject) => {\r\n this.http.get(this.settings.baseUrl + \"api/CheckUsernameExistOrNot/\" + username + \"/\" + password + \"/\" + temptoken).\r\n subscribe(res => {\r\n let user = res.json()\r\n this.authToken = user.token\r\n this.headers.append('Authorization', `Bearer ${this.authToken}`);\r\n localStorage.setItem('key', this.authToken); \r\n this.options = new RequestOptions({ headers: this.headers });\r\n resolve(res.json());\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n \r\n public getAllfieldsbyselectedtable(tablename: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetTablefields/' + tablename, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetPrivilagesByuser(id: number): Promise {\r\n let self = this;\r\n const promise = new Promise((resolve, reject) => {\r\n self.httpclient.get(self.settings.baseUrl + 'api/users/GetPrivilagesByuser/' + id, { headers: self.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetDisplayCommision(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetCommissionCalculate/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n saveDropdownValue(dropdowns: TaskType): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/customers/saveDropdownValue', dropdowns, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n SavelastViewedresponsewizard(lastresponseview: Lastresponseview): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/customers/SaveLastResonseViewed', lastresponseview, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n saveWizardQuestion(questions: WizardQuestions[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/customers/saveWizardQuestions', questions, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addtaskgroup(taskgroup: Taskgroup): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveTaskGroupData', taskgroup, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n addSubtaskgroup(taskgroup: WizardSubGroup): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveSubTaskGroupData', taskgroup, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n addSubtaskgroup2(taskgroup: WizardSubGroup2): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveSubTaskGroup2Data', taskgroup, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n adddropdown(dropdown: Dropdown): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveDropDown', dropdown, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n SaveAccountField(AccountFields: AccountFields): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveAccountField', AccountFields, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n SavePickList(PickList: PickListModel): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SavePickList', PickList, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n deleteDropdown(id: number, type: string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/DeleteDropDown/' + id + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n ReplaceandDelete(drpId: number, drpName: string, replaceid: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/ReplaceandDeleteIDS/' + drpId + '/' + replaceid + '/' + drpName, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n checkduplicateTaskGroupName(taskgroup: Taskgroup): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/Checkduplicatetaskgroup', taskgroup, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n checkduplicateDropDownName(dropdown: Dropdown): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/Checkduplicatedropdown', dropdown, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n checkIdaleadymapped(dropdown: Dropdown): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/CheckIdMappedtoAccorContact', dropdown, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public checkduplicateTaskName(taskTyp: TaskType): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/ChecktaskName', taskTyp, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addAccuntPermissionEdit(accountSharing: Accountsharing): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveAccountsharing', accountSharing, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n removesharingByAccid(AccountId:number,UserId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/RemoveSharing/' + AccountId + '/' + UserId, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n SaveTaskListConfiguration(tasklistcongiguration: Tasklistconfiguration): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveTaskListcongigurationOrder', tasklistcongiguration, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n ConfigureCalanderView(loggedinUserid: number, calanderView: number,type:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/ConfigureCalander/' + loggedinUserid + \"/\" + calanderView + '/' + type, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n Deactivatecontact(contactid: number, status: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/deactivate/' + contactid + \"/\" + status, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n DeactivateAccount(accountId: number, status: number,deletedUserId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/deactivateAccountid/' + accountId + \"/\" + status + '/' + deletedUserId, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n DeactivateDocument(documnentId: number, status: number, DocTab: number, deletedBy:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/documents/deactivatedoccumentByid/' + documnentId + \"/\" + status + \"/\" + DocTab + '/' + deletedBy, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n DeleteZendeskUser(id: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/zendesk/deactivate/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n DeleteTicket(id: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/zendesk/deleteTicket/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n uploadPhoto(contacts: Contacts): Promise { \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/UpdateContactPhoto', contacts, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n uploadAdditionalLocationImage(addLoc: Accountlocations): Promise { \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/uploadAdditionalLocationImage', addLoc, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n uploadUserProfilePhoto(user: Users): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/UpdateUserProfilePhoto', user, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n Deletecalllist(calllistid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/Deletecalllist/' + calllistid, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n Assigntocalllist(assigneduserid: number,calllistid:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/Assigntocalllist/' + assigneduserid + \"/\" + calllistid, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n Updateownerid(newownerid: number, accountid: number,loggedInuserId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/UpdateOwneridByaccount/' + newownerid + \"/\" + accountid + '/' + loggedInuserId, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n TransferAccountsToNewOwner(newownerid: number, accountids: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/TransferAccountsToNewOwner/' + newownerid + \"/\" + accountids, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n UpdatePermissiontoViewUserByaccId(permissiontoviewusers: string, accountid: number,viewtaskgropvalues:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/UpdatePermissionUser/' + permissiontoviewusers + \"/\" + accountid + '/' + viewtaskgropvalues, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n UpdateLeadStatus(contactid: number,userid:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/UpdateLeadStatus/' + contactid + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n DeleteProposalById(proposalid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/DeleteByproposalId/' + proposalid , { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n UpdateCustomerType(CustomerType: string, userid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/UpdateCustomerType/' + CustomerType + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n UpdateSelectedCustomerType(val: number, userid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/UpdateCustomerActivity/' + val + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n completecontact(calllistid:number,contactid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/completecontact/' + calllistid + \"/\" + contactid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n DeleteCampaigncontact(id: number, isdeletedstatus:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/deletecampaigncontact/' + id + '/' + isdeletedstatus, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n attachtoLead(oppId: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/leadattach/' + oppId, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetUserAccessTime(userids: string, type: string, startdate: string, enddate: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetUserAccessTime/' + userids + '/' + type + '/' + startdate + '/' + enddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetTableFields(tableName: string,userId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetTableFields/' + tableName + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetPickListData(FieldName: string, FieldNameId: number, userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetPickListData/' + FieldName + '/' + FieldNameId + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetSalesRep(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetSalesRep/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n public SaveFieldDataOrderBy(FieldID: number,OrderBy: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/SaveFieldDataOrderBy/' + FieldID + '/' + OrderBy, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAccountsByFieldData(FieldName:string ,DataId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAccountsByFieldData/' + FieldName + \"/\" + DataId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetContactsByFieldData(FieldName: string, DataId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetContactsByFieldData/' + FieldName + \"/\" + DataId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public UpdateAccountByColumn(ColumnName: string, ReplaceId: number, accountIds: string) {\r\n let obj: any[] = [ColumnName, ReplaceId, accountIds]; \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/customers/UpdateAccountByColumn', obj, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n\r\n \r\n }\r\n public transferAccounts(AccTransfr: AccountTransferModel) {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/transferAccounts', AccTransfr, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAccountsTransferByUser(LoggedInUserid: number,type:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAccountsTransferByUser/' + LoggedInUserid + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public SaveSelectedUserList(userids: string, LoggedInUser: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/SaveSelectedUserList/' + userids + '/' + LoggedInUser, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public getSelectedUserList(LoggedInUser: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/getSelectedUserList/' + LoggedInUser, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n SaveFormConfiguration(FormConfig: FormConfiguration): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveFormConfiguration', FormConfig, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n GetFormConfiguration(id: number, typ: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/getFormConfiguration/' + id + \"/\" + typ, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n getSaveFormFields(Obj: object): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/getSaveFormFields', Obj, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetProjectFields(uId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetProjectFields/' + uId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n SaveProjectField(ProjectField: ProjectFields): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveProjectField', ProjectField, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetProjectPickListData(FieldId: number, FieldName: string, currentUser: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetProjectPickListData/' + FieldId + '/' + FieldName + '/' + currentUser, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n SaveProjectPickList(PickList: ProjectPickListModel): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveProjectPickList', PickList, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public SaveProjectFieldDataOrderBy(FieldID: number, OrderBy: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/SaveProjectFieldDataOrderBy/' + FieldID + '/' + OrderBy, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n SaveProjectStage(ProjectStage: ProjectStages): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveProjectStage', ProjectStage, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public getProjectStages(uId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetProjectStages/' + uId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public getProjStagesByTypeID(typeID: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetProjStagesbyTypeID/' + typeID, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n SaveProjectSteps(ProjectField: ProjectSteps): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveProjectSteps', ProjectField, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public getProjectSteps(UId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetProjectSteps/' + UId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n AddUpdateProject(Project: Projects): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/AddUpdateProject', Project, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public getAllProjects(userid: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetAllProjects/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllProjectsByAccountId(accid: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetAllProjectsByAccountId/' + accid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetProjectByProjectId(ProjId: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetProjectByProjectId/' + ProjId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public DeleteProject(ProjectId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/DeleteProject/' + ProjectId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public getProjectStepsForStatus(projectId: number, StageName: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetProjectStepsForStatus/' + projectId + '/' + StageName, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n AddUpdateProjectStepStatus(Project: ProjectStepStatusModel[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/AddUpdateProjectStepStatus', Project, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public getAllForecastProjects(userid: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetProjectForecastView/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public getAllForecastHeaders( ): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/ForecastHeaders',{ headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public getAllForecastData(UID:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/ForecastData/' + UID, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public getProjectStatus(PID: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/ProjectStatus/' + PID, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public getProjectForecastStageStatus(PID: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/ProjectForecastData/' + PID, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n public GetMySalesXCRMChartTabs(UID: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/documents/GetMySalesXCRMChartTabs/' + UID, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n AddEditChartTab(tickets: SalesXCRMChartTabs): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/AddEditChartTab', tickets, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllAccountSharingGroups(userid: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/GetAllAccountSharingGroups/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public SaveAccountShareGroupData(SharingGroup: SharingGroups) {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/configuration/SaveAccountShareGroupData', SharingGroup, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetTicketsByTaskGroup(userid: number, TaskGroupId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/zendesk/GetTicketsByTaskGroupId/' + userid + '/' + TaskGroupId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n//import { of } from 'rxjs';\r\n//import { Observable, Subject, asapScheduler, pipe, of, from, interval, merge, fromEvent } from 'rxjs';\r\n//import 'rxjs/add/operator/delay';\r\n//import { Hero, heroes } from './../models/data-model';\r\n@Injectable()\r\nexport class HeroService {\r\n\r\n constructor() { }\r\n\r\n delayMs = 500;\r\n\r\n // Fake server get; assume nothing can go wrong\r\n //getHeroes(): Observable {\r\n // return of(heroes).delay(this.delayMs); // simulate latency with delay\r\n //}\r\n\r\n // Fake server update; assume nothing can go wrong\r\n //updateHero(hero: Hero): Observable {\r\n // const oldHero = heroes.find(h => h.id === hero.id);\r\n // const newHero = Object.assign(oldHero, hero); // Demo: mutate cached hero\r\n // return of(newHero).delay(this.delayMs); // simulate latency with delay\r\n //}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Headers, RequestOptions } from '@angular/http';\r\nimport { SalesProcessHistory } from './../models/sales-process-history';\r\nimport { TaskHistory } from './../models/task-history';\r\nimport { Dropdowntype, RevenueModel } from './../models/dropdowntype';\r\nimport { AppSettings } from '../app.settings';\r\nimport { Notes } from \"./../models/notes\";\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { QuestionResponses } from './../models/question-responses';\r\nimport { Lastresponseview } from '../models/lastresponseview';\r\nimport { SalesStages } from '../models/SalesStages';\r\nimport { SystemRowConfiguration } from '../models/system-row-configuration';\r\nimport { TaskType } from '../models/TaskType';\r\nimport { CampaignExpense, CampaignType } from '../models/CampaignConfiguration';\r\n@Injectable()\r\nexport class LeadsService {\r\n options: RequestOptions;\r\n authToken: any;\r\n headers: any; reqHeader: HttpHeaders = new HttpHeaders();\r\n constructor(private httpclient: HttpClient, private http: Http, private settings: AppSettings) {\r\n this.reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('key')\r\n });\r\n //this.authToken = localStorage.getItem('key');\r\n //this.headers = new Headers();\r\n //this.headers.append('Authorization', `Bearer ${this.authToken}`);\r\n //this.options = new RequestOptions({ headers: this.headers });\r\n }\r\n\r\n GetAllSalesProcessHistoryByContact(contactid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllSalesProcessHistoryByContact/' + contactid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetStatusChange(id: number, status: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/UpdateleadsStatus/' + id + \"/\" + status, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetAllTaskHistoryByContact(contactid: number, type:string,timezone: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllTaskHistoryByContact/' + contactid + '/' + type + '/' + timezone, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetTasksBycategory(ContAccId: number, type: string, typeCategory: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllTasksBycategory/' + ContAccId + '/' + type + '/' + typeCategory, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetAllTaskHistory(term: string, userid: string, startdate?: string, enddate?: string, searchval?: string,tab?:string,timezone?:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (searchval == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n searchval = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllTaskHistory/' + searchval + '/' + userid + '/' + startdate + '/' + enddate + '/' + term + '/' + tab + '/' + timezone, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetAllCustomerActivities(userid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n \r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllCustomerActivities/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n GetAllTaskHistoryForCalendar(term: string, userid: string, startdate?: string, enddate?: string, searchval?: string, tab?: string, timezone?: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (searchval == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n searchval = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllTaskHistoryForCalendar/' + searchval + '/' + userid + '/' + startdate + '/' + enddate + '/' + term + '/' + tab + '/' + timezone, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetTomorrowActivityDetails(userid: string, source: string, month: string, selectyear:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetTomorrowActivity/' + userid + '/' + source + '/' + month + '/' + selectyear, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetAllUserActivities(currentuserid:number,userlist: string, startdate: string, enddate: string, selectedType: string, startrow?: number, endrow?: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllUserActivityTaskHistory/' + currentuserid + '/' + userlist + '/' + startdate + '/' + enddate + '/' + selectedType + '/' + startrow + '/' + endrow, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetAllUserActivitiesList(users: string, startdate: string, enddate: string): Promise\r\n {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetUserActivitiesSummary/' + users + '/' + startdate + '/' + enddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetAllDropdownsList(type: string): Promise\r\n {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetDropdownsForType/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetAllActivityQuotaList(users: string,quotatype:string,selectedyear:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllActivityQuotaList/' + users + '/' + quotatype + '/' + selectedyear, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n \r\n addSaleProcessHistory(saleprocesshistory: SalesProcessHistory): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n this.httpclient.post(this.settings.baseUrl + \"api/leads/SaveSaleProcessHistory\", saleprocesshistory, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetByTaskHistoryId(id: number, Audittype:string,timezone:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetByTaskHistoryId/' + id + '/' + Audittype + '/' + timezone, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetBySalesProcessHistoryById(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetBySaleProcessHistoryById/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllTaskHistoryById(accountid: number, type: string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllNotesByTaskId/' + accountid + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllStagenotesById(accountid: number, type1: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllNotesByLead/' + accountid + '/' + type1, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n //reject((ress) => {\r\n // alert(ress);\r\n //});\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n \r\n addTaskHistory(taskhistory: TaskHistory): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/leads/SaveTaskHistory\", taskhistory, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n public GetSalesStagesList(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllSalesStageList/', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n\r\n public GetAllTasksList(type: string, stage: string, taskgroupid: number, status: number, configureduserid: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllTasksList/' + type + '/' + stage + '/' + taskgroupid + '/' + status + '/' + configureduserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllTaskList(id:number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllTaskList/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllQuestionsList(configureduserid: number, taskcategoryval:number,status:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllwizardQuestionsList/' + configureduserid + '/' + taskcategoryval + '/' + status, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllSUbCategoryQuestionsList(taskcategory,subcategory,userid): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllwizardSubcategoryList/' + taskcategory + '/' + subcategory + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllSUbCategoryQuestionsList2(taskcategory, subtaskgroup1id,userid): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllwizardSubcategoryList2/' + taskcategory + '/' + subtaskgroup1id + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllResponseListByQuestionId(QuestionId: number, LoggedUID: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllResponsesByQuestionId/' + QuestionId + '/' + LoggedUID, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetResponseByQuestionId(QuestionId: number, LoggedUID: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetLastResponseSelectedByQuestionId/' + QuestionId + '/' + LoggedUID, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n \r\n public GetLastResponseViewed(loggedinUserId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetLastResonseByUser/' + loggedinUserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n\r\n public GetAllLeadsList(type: string, userid: string, startdate?: string, enddate?: string, term?: string, startrow?: number, endrow?: number,currentuserid?:number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllLeads/' + type + '/' + userid + '/' + startdate + '/' + enddate + '/' + term + '/' + startrow + '/' + endrow + '/' + currentuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetForecastingLeads(userid: string, startdate?: string, enddate?: string): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetForecastingLeads/' + userid + '/' + startdate + '/' + enddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetLeadDetails(contactids:string): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetForecastingLeadsDetails/' + contactids, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n public getcompletedstages(contactid: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetCompletedStagesByContact/' + contactid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllTaskHistoryBySelectedDate(term: string, userid: string,selecteddate:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllTaskHistoryByselecteddate/' + term + '/' + userid + '/' + selecteddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n UpdateResonceByUser(loggedinUserId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/UpdateResponseData/' + loggedinUserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n AddUpdateSalesStage(SalesStages: SalesStages): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/leads/AddUpdateSalesStage\", SalesStages, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n AddUpdateCampaignType(CampaignType: CampaignType): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/campaign/AddUpdateCampaignType\", CampaignType, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n AddUpdateCampaignExpenses(CampaignType: CampaignExpense): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/campaign/AddUpdateCampaignExpenses\", CampaignType, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetCampaignTypes(createdby: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/campaign/GetCampaignTypes/\" + createdby, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetCampaignExpenses(createdby: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/campaign/GetCampaignExpenses/\" + createdby, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n SavestatusOrder(statustype: SystemRowConfiguration): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/leads/AddUpdateStatusType\", statustype, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllSalesStage(userid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetAllSalesStage/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetLinkedOpportunities(currentuserId: number, contactIds: string): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/GetLinkedOpportunities/' + currentuserId + '/' + contactIds, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetRevenuedashboardData(currentuserid: string, fromDate: string, toDate: string, type:string): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/getRevenuedashboardData/' + currentuserid + '/' + fromDate + '/' + toDate + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetRevenueData(currentuserid: string, fromDate: string, toDate: string): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n this.httpclient.get(this.settings.baseUrl + 'api/leads/getRevenueData/' + currentuserid + '/' + fromDate + '/' + toDate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Http, Headers, RequestOptions } from '@angular/http';\r\nimport { AppSettings } from '../app.settings';\r\nimport { Emails } from './../models/emails';\r\n@Injectable()\r\nexport class MailserviceService {\r\n emails: Emails = new Emails();\r\n options: RequestOptions;\r\n authToken: any;\r\n headers: any; reqHeader: HttpHeaders = new HttpHeaders();\r\n constructor(private httpclient: HttpClient, private http: Http, private settings: AppSettings)\r\n {\r\n this.reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('key')\r\n });\r\n //this.authToken = localStorage.getItem('key');\r\n // this.headers = new Headers();\r\n // this.headers.append('Authorization', `Bearer ${this.authToken}`);\r\n // this.options = new RequestOptions({ headers: this.headers });\r\n }\r\n SendEmails(emails: Emails): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/messaging/SendEmails\", emails,{ headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Messaging } from '../models/messaging';\r\nimport { Replymessages } from '../models/replymessages';\r\nimport { Http, Headers, RequestOptions } from '@angular/http';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { AppSettings } from '../app.settings';\r\nimport { Emails } from '../models/emails';\r\nimport { UserMessageTypes } from '../models/UserMessageTypes';\r\nimport { UserMessages } from '../models/UserMessages';\r\nimport { ChatMessage } from '../models/chatMessage';\r\n@Injectable()\r\nexport class MessagingService {\r\n options: RequestOptions;\r\n authToken: any;\r\n reqHeader: HttpHeaders = new HttpHeaders();\r\n constructor(private http: HttpClient, private settings: AppSettings, private httpclient: HttpClient) {\r\n this.reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('key')\r\n });\r\n //this.authToken = localStorage.getItem('key');\r\n //this.headers = new Headers();\r\n //this.headers.append('Authorization', `Bearer ${this.authToken}`);\r\n //this.options = new RequestOptions({ headers: this.headers });\r\n }\r\n\r\n public GetAllSentMessagesList(currentuserid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/messaging/GetAllSentEmails/' + currentuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public Getallmessages(userid: string, MsgType: number, currentUserId: number, startdate: string, enddate: string, startrow: number, endrow: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/messaging/GetAllMessagesbyuser/' + userid + '/' + MsgType + '/' + currentUserId + '/' + startdate + '/' + enddate + '/' + startrow + '/' + endrow, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetallChats(userid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/chats/TotalUserCount/' + userid , { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n public GetallmessagesBymessage(userid: string, MsgId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/messaging/GetAllReplyMessagesByMessage/' + userid + '/' + MsgId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllmessagesByUser(userid: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/messaging/GetAllMessagesByMessagecount/' + userid, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n \r\n GetMessageById(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/messaging/GetMessagedataById/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetReplyMessageById(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/messaging/GetReplyMessagedataById/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n Updateisreadstatus(messageid: number, isreaduserids: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/messaging/GetUpdateisreadstatus/' + messageid + \"/\" + isreaduserids, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetInboxCount(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/messaging/GetInboxCountbyuser/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public SaveMessages(messaging: Messaging): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/messaging/SaveMessages\", messaging, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public replySaveMessages(replymessage: Replymessages): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/messaging/SaveReplyMessages\", replymessage, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n DeleteMessage(messageid: number, deleteduserid: string, msgType: string, Msgval:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/messaging/deletemessage/' + messageid + \"/\" + deleteduserid + \"/\" + msgType + \"/\" + Msgval, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public AddorUpdateUserMessageTypes(ProposalCategory: UserMessageTypes): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/messaging/AddorUpdateUserMessageTypes\", ProposalCategory, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetAllUserMessageTypes(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/messaging/GetAllUserMessageTypes/\" + userId\r\n , { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public AddorUpdateUserMessages(usrmessage: UserMessages): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/messaging/AddorUpdateUserMessages\", usrmessage, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllUserMessages(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/messaging/GetAllUserMessages/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetUserMessagesByUser(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/messaging/GetUserMessagesByUser/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n}\r\n","import { Injectable, ViewChild } from '@angular/core';\r\nimport { Http, Headers, RequestOptions } from '@angular/http';\r\nimport { Accounts } from './../models/accounts';\r\nimport { ViewSalesinfo } from './../models/view-salesinfo';\r\nimport { Contacts } from './../models/contacts';\r\nimport { Opportunities } from './../models/opportunities';\r\nimport { Notes } from './../models/notes';\r\nimport { Dropdowntype, Dropdown, RevenueModel } from './../models/dropdowntype';\r\nimport { AppSettings } from '../app.settings';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Dashboardconfiguration } from './../models/dashboardconfiguration';\r\nimport { Salesranking } from '../models/salesranking';\r\nimport { Userquota } from '../models/userquota';\r\nimport { Dashboardconfig } from '../models/Dashboardconfig';\r\nimport { AdvancedsearchTable } from '../models/advancedsearch-table';\r\nimport { AdvancedSearch } from '../models/advancedsearch';\r\nimport { Accountlocations } from '../models/data-model';\r\nimport { QuickSearchModel } from '../models/QuickSearchmodel';\r\nimport { Campaign } from '../models/Campaign';\r\nimport { ProposalsModel } from '../models/Proposalsmodel';\r\nimport { Campaigninfo } from '../models/Campaigninfo';\r\nimport { ProjectsInfo } from '../models/ProjectsInfo';\r\nimport { OpportunityFields, OpportunityItems } from '../models/OpportunityLeadTypes';\r\n\r\n@Injectable()\r\nexport class OpprtunitiesService {\r\n options: RequestOptions;\r\n authToken: any;\r\n headers: any;\r\n reqHeader: HttpHeaders = new HttpHeaders();\r\n constructor(private http: HttpClient, private settings: AppSettings, private httpclient: HttpClient) {\r\n this.reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('key')\r\n });\r\n \r\n //this.authToken = localStorage.getItem('key');\r\n //this.headers = new Headers();\r\n //this.headers.append('Authorization', `Bearer ${this.authToken}`);\r\n //this.options = new RequestOptions({ headers: this.headers });\r\n }\r\n\r\n addopprtunity(opprtunity: Opportunities): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/opportunities/SaveOpportunity\", opprtunity, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addopprtunityNotes(notes: Notes): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n\r\n this.httpclient.post(this.settings.baseUrl + \"api/opportunities/SaveOpportunityNotes\", notes, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetStatusChange(id: number, status: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/UpdateOpportunityStatus/' + id + \"/\" + status, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetAllContactsCount(userdid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetContcatsCount/' + userdid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetAllCampaignsdollerestimated(userdid: number, type: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetCampaignsdollerestimatedCount/' + userdid + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetAllCampaignRRestimated(userdid: number, type: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetCampaignsRRestimatedCount/' + userdid + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetAllCampaignRRestimatedAnnual(userdid: number, type: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetCampaignsRRAnualestimatedCount/' + userdid + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetAllinterestlevelnonecount(userdid: number, interestlevel: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAllInterestLevelCount/' + userdid + \"/\" + interestlevel, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllAccountsBySearch(currentuserid: number, term: string, userid: string, selectedtype: string, startdate?: string, enddate?: string, startrow?: number, endrow?: number, contacttypes?: string, status?: number): Promise {\r\n const promise = new Promise((resolve, reject) => { \r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllAccountbySearch/' + term + '/' + userid + '/' + selectedtype + '/' + startdate + '/' + enddate + '/' + startrow + '/' + endrow + '/' + contacttypes + '/' + status + '/' + currentuserid, { headers: this.reqHeader }).\r\n\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllAccountsBySearchNew(currentuserid: number, term: string, userid: number, selectedtype: string, startdate?: string, enddate?: string, startrow?: number, endrow?: number, contacttypes?: string, status?: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllAccountbySearchNew/' + term + '/' + userid + '/' + selectedtype + '/' + startdate + '/' + enddate + '/' + startrow + '/' + endrow + '/' + contacttypes + '/' + status + '/' + currentuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetAllAccountByUserID(userid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllAccountByUserID/' + userid, { headers: this.reqHeader }).\r\n\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetAllAccountsByListOfIds(accountids:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllAccountsByListOfIds/' + accountids, { headers: this.reqHeader } ).\r\n\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n \r\n public GetAlllastActivity(currentuserid: string, term: string,type:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAlllastActivityAccounts/' + term + '/' + currentuserid + '/' + type, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAlllastActivityContacts(currentuserid: string, term: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAlllastActivityContacts/' + term + '/' + currentuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllCustomersSales(loggeinuserid: string,startdate:string,enddate:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllCustomerOpenOpportunities/' + loggeinuserid + '/' + startdate + '/' + enddate, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetOpenOpportunitiestotal(loggeinuserid: number,contactorAccountId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetOpenOpportunitiesTotal/' + loggeinuserid + '/' + contactorAccountId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllViewSalesInfo(loggeinuserid: string, monthname: string,year:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/Getviewsalesinfo/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetexpensetotalprofitInfo(loggeinuserid: string, mon: string, year: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetCampaingnexpensetotalprofitInfo/' + loggeinuserid + '/' + mon + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetProjectDashboardInfo(loggeinuserid: string, mon: string, year: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetProjectsInfo/' + loggeinuserid + '/' + mon + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetMonthlyMeetingCOmpleted(loggeinuserid: string, monthname: string, year: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetviewMeetingCompleted/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetMonthlyToDoCompleted(loggeinuserid: string, monthname: string, year: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetviewToDoCompleted/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetMonthlyNewTicketsAdded(loggeinuserid: string, monthname: string, year: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetviewNewTickets/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetMonthlyClosedTickets(loggeinuserid: string, monthname: string, year: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetviewClosedTickets/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n \r\n public GetSalesWOn(loggeinuserid: string, monthname: string, year: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetviewSalesWOn/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetSalesRR(loggeinuserid: string, monthname: string,year:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetviewSalesRR/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllViewLeadsConvertedInfo(loggeinuserid: string, monthname: string,year:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetLeadsinfo/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetviewmonthlysalesRanking(loggeinuserid: string, monthname: string, year:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetSalesRankingData/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetViewMonthlyCallScheduledByMonth(loggeinuserid: string, monthname: string,year:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetMonthlyCallScheduled/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetViewMonthlyAccountAddedByMonth(loggeinuserid: string, monthname: string, year:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetMonthlyAccountAdded/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetViewPastDueActivityByMonth(loggeinuserid: string, monthname: string, year: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetMonthlyPastDueActivity/' + loggeinuserid + '/' + monthname + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetActivitysummaryData(loggeinuserid: string, startdate: string, enddate: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetNBDActivityData/' + loggeinuserid + '/' + startdate + '/' + enddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetClosedTicketsRanking(loggeinuserid: string, value: number, startdate: string, enddate: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetClosedTicketrankingData/' + loggeinuserid + '/' + value + '/' + startdate + '/' + enddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAccountsData(loggeinuserid: string, startdate: string, enddate: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetDashboardAccountData/' + loggeinuserid + '/' + startdate + '/' + enddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetDashBoardAccess(loggeinuserid: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetDashboardAccessData/' + loggeinuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetYearToSalesDataByMonth(userid: string,year:string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetYeartoSalesDataByMonth/' + userid + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetYearToDateActivity(userid: string,year:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetYeartoDateActivity/' + userid + '/' + year, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n\r\n public GetAllContactsCustomersBySearch(currentuserid:number,term: string, userid: string, startdate?: string, enddate?: string, startrow?: number, endrow?: string, Contactvales?:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllContactCustomeragination/' + term + '/' + userid + '/' + startdate + '/' + enddate + '/' + startrow + '/' + endrow + '/' + Contactvales + '/' + currentuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllCustomerContactsLK(currentuserid: number): Promise {\r\n const promise = new Promise((resolve, reject) => { \r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllCustomersLK/' + currentuserid , { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllContactsBySearch(term: string, userid: string, subtype: string, disabledstatus?: number, startdate?: string, enddate?: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n \r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllContactsbySearch/' + term + '/' + userid + '/' + subtype + '/' + disabledstatus + '/' + startdate + '/' + enddate, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n \r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetContacts(searchterm: string, userid: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (searchterm == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n searchterm = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllContactList/' + searchterm + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetContactsForEmail(searchterm: string, userid: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (searchterm == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n searchterm = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllContactListForEmail/' + searchterm + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllContactsbySearchPagination(loggedinuserId:number,term: string, userid: string, subtype: string, disabledstatus?: number, startdate?: string, enddate?: string, contactselectedval?: string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllContactsbySearchPagination/' + loggedinuserId + '/' + term + '/' + userid + '/' + subtype + '/' + disabledstatus + '/' + startdate + '/' + enddate + '/' + contactselectedval, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllsaasContacts(loggedinuserId: number,selType:string): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n \r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllStaffDateContacts/' + loggedinuserId + '/' + selType, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllContactsbySearchPaginationNew(loggedinuserId: number, term: string, userid: string, subtype: string, disabledstatus?: number, startdate?: string, enddate?: string, contactselectedval?: string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllContactsbySearchPaginationNew/' + loggedinuserId + '/' + term + '/' + userid + '/' + subtype + '/' + disabledstatus + '/' + startdate + '/' + enddate + '/' + contactselectedval, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n\r\n public GetAllContactsAndCustomerBySearch(term: string, userid: string, startdate?: string, enddate?: string, searchtype?: string, includecustomer?: boolean): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (term == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n term = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllContactsAndCustomerBySearch/' + term + '/' + userid + '/' + startdate + '/' + enddate + '/' + searchtype + '/' + includecustomer, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllContactsAndCustomerByQuickSearch(quickSearchModel: QuickSearchModel): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (quickSearchModel.searchterm == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n quickSearchModel.searchterm = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.post(this.settings.baseUrl + 'api/opportunities/GetAllContactsAndCustomerByQuickSearch/', quickSearchModel, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public runQuicksearchQuery(query): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/advancedsearch/FireQuery/', query, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAdvancesSearchQueryByData(queryId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAdvancedSearchById/' + queryId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n GetQueryById(queryid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetAdvancedQueryById/' + queryid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n public GetContactsColumnDefs() {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetContactsColumnDefs', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllContacts(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllContactbySearch/', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetByAccountId(id: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetByAccountId/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n CheckPhoneWebsite(Phone: string, Website: string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/CheckPhoneWebsite/' + Phone + '/' + Website, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetlocationsByAccountId(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetlocationsByAccountId/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetContactById(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/GetContactById/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetByOpportunityId(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetByOpportunityId/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n GetDollerRRvales(opportunityids: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetSelectedRRDollers/' + opportunityids, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllOpportunitiesList(term: string, userid: string, startdate?: string, enddate?: string, searchval?: string,currentuserid?:number,ispended?:boolean): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n if (searchval == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n searchval = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllOpportunities/' + searchval + '/' + userid + '/' + startdate + '/' + enddate + '/' + term + '/' + currentuserid + '/' + ispended, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllOpportunitiesListByAccountorContact(accountorcontactid: number, source: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllOpportunitiesByAccount/' + accountorcontactid + '/' + source, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetOpportunitiesListByOppIds(oppIds: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/campaign/GetOpportunitiesListByOppIds/' + oppIds, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllOpprtunitiesNotesById(OpId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllNotesByOpprtunitiesId/' + OpId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetSpecialityList(category: string,loggedinuserid:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAlldropdownsByCategory/' + category + '/' + loggedinuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllItems(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllOpportunityItems/', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetTaskStatus(category: string,loggedinuserId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAlldropdownsByCategory/' + category + '/' + loggedinuserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public saveDashboardconfiguration(dashboardConfiguration: Dashboardconfiguration): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/opportunities/SaveDashboardconfiguration', dashboardConfiguration, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public getDashboardConfigurationByUserId(userId: number, resourceid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetDashboardConfigurationByUserId/' + userId + '/' + resourceid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n \r\n\r\n public saveCampaign(campaign: Campaign): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/campaign/SaveCampaign', campaign, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetAllProposalsByOppID(OppIDs: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/campaign/GetAllProposalsByOppID/\" + OppIDs, { headers: this.reqHeader } \r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllCampaigns(loggedinuserid: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/campaign/GetAllCampaigns/' + loggedinuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetContactsByContactIds(ContactIds: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/campaign/GetContactsByContactIds/' + ContactIds, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n\r\n //public updateCampaignCosts(campaignCosts: CampaignCosts): Promise {\r\n // const promise = new Promise((resolve, reject) => {\r\n // this.httpclient.post(this.settings.baseUrl + 'api/campaign/UpdateCampaignCosts', campaignCosts\r\n // ).subscribe(res => {\r\n // resolve(res);\r\n // });\r\n // });\r\n // return promise;\r\n //}\r\n\r\n \r\n\r\n ApproveselectedOpportunity(approveduserid: number, opportunityid: number, approveddate: string, dollers: string, RR: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/apporveopportunitybyuser/' + approveduserid + \"/\" + opportunityid + '/' + approveddate + '/' + dollers + '/' + RR, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n deleteopportunity(opportunityid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/deleteopportunitybyuser/' + opportunityid, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public ForecastData(loggeinuserid: string, StartDate: string, EndDate: string, isPended: boolean): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/ForecastData/' + loggeinuserid + '/' + StartDate + '/' + EndDate + '/' + isPended, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetOpportunitiesForForecast(userids: string, type: string, startDate: string, enddate: string, isPended: boolean): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetOpportunitiesForForecast/' + userids + '/' + type + '/' + startDate + '/' + enddate + '/' + isPended, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllOpportunitiesByECD(term: string, userid: string, startdate?: string, enddate?: string, searchval?: string, currentuserid?: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n if (searchval == \"SearchCriteria\" && localStorage.getItem('SearchCriteria') != null) {\r\n searchval = localStorage.getItem('SearchCriteria');\r\n localStorage.setItem('SearchCriteria', null);\r\n }\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetAllOpportunitiesByECD/' + searchval + '/' + userid + '/' + startdate + '/' + enddate + '/' + term + '/' + currentuserid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetOpportunityFields(id: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetOpportunityFields/' + id, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public SaveOpportunityFields(opprtunity: OpportunityFields): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/opportunities/SaveOpportunityField\", opprtunity, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetFieldItems(fieldId: number,FieldName:string, userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/opportunities/GetOppPickListData/' + fieldId + '/' + FieldName + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n SaveOppPickList(PickList: OpportunityItems): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/opportunities/SaveOppPickList', PickList, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n\r\n });\r\n });\r\n return promise;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { HubConnection, HubConnectionBuilder, IHttpConnectionOptions } from '@aspnet/signalr';\r\nimport { Message } from '../models/message';\r\nimport { User } from 'ng-chat';\r\nimport { environment } from '../../environments/environment';\r\nimport { ReceiveMessage } from '../models/ReceiveMessage';\r\nimport { Subject } from 'rxjs';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { ChatMessage } from '../models/chatMessage';\r\nimport { AppSettings } from '../app.settings';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SignalrClientService {\r\n userName: string;\r\n messenger = new Subject();\r\n onlineUsers = new Subject();\r\n messageReceived = new EventEmitter();\r\n connectionEstablished = new EventEmitter();\r\n\r\n private connectionIsEstablished = false;\r\n private _hubConnection: HubConnection;\r\n private _pipelinerChatHubConnection: SignalR.Hub.Connection;\r\n private _pipelinerChatHubProxy: SignalR.Hub.Proxy;\r\n reqHeader: HttpHeaders = new HttpHeaders();\r\n constructor(private settings: AppSettings, private httpclient: HttpClient) {\r\n this.reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('key')\r\n });\r\n this.createConnection();\r\n this.registerOnServerEvents();\r\n\r\n // this.startConnection();\r\n }\r\n\r\n sendMessage(message: Message) {\r\n\r\n this._pipelinerChatHubProxy.invoke('NewPipelinerHubChatMessage', message);\r\n this.SendChatMessages(message);\r\n\r\n }\r\n SendChatMessages(message: Message): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/chats/SendChat/', message, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n private createConnection() {\r\n let self = this;\r\n self._pipelinerChatHubConnection = jQuery.hubConnection(self.settings.baseUrl);\r\n self._pipelinerChatHubConnection.qs = { 'bearer': localStorage.getItem('key') };\r\n \r\n self.initPipelinerChatHubProxy();\r\n self._pipelinerChatHubConnection.start()\r\n .then(function () {\r\n \r\n let messageItem = new Message();\r\n messageItem.clientuniqueid = \"test18Apr2023\";\r\n messageItem.type = \"Info\";\r\n messageItem.message = \"Hello Hi\";\r\n self.sendMessage(messageItem);\r\n \r\n })\r\n .fail(function (result) {\r\n console.log('Failed to connect to the Signalr hub. Error message is: ' + result);\r\n });\r\n \r\n }\r\n registerOnServerEvents() {\r\n this._pipelinerChatHubProxy.on(\"ReceiveMessage\", (user, message) => {\r\n this.messenger.next({\r\n userName: user, message: message, isSender: false\r\n });\r\n });\r\n \r\n }\r\n private initPipelinerChatHubProxy() { \r\n let self = this; \r\n self._pipelinerChatHubProxy = self._pipelinerChatHubConnection.createHubProxy('pipelinerchathub');\r\n self._pipelinerChatHubProxy.on('addNewMessageToPage', (name, message) => {\r\n\r\n });\r\n \r\n }\r\n \r\n public join(groupName) {\r\n this._pipelinerChatHubProxy.invoke('JoinGroup', groupName)\r\n .then(_ => {\r\n alert(\"joined\")\r\n });\r\n }\r\n public sendGroupMessage(newMessage: Message) {\r\n this._pipelinerChatHubProxy.invoke('SendMessage', newMessage)\r\n .then(_ =>\r\n this.SendChatMessages(newMessage)\r\n );\r\n }\r\n public leave(groupName) {\r\n this._pipelinerChatHubProxy.invoke('LeaveGroup', groupName)\r\n .then(_ => {\r\n alert(\"left\")\r\n });\r\n }\r\n\r\n\r\n //private startConnection() {\r\n // //let me = this;\r\n // //await me._hubConnection\r\n // // .start()\r\n // // .then(() => {\r\n // // this.connectionIsEstablished = true;\r\n // // console.log('Hub connection started');\r\n // // this.connectionEstablished.emit(true);\r\n // // })\r\n // // .catch(err => {\r\n // // console.log('Error while establishing connection, retrying...');\r\n // // //setTimeout(function () { me.startConnection(); }, 5000);\r\n // // });\r\n //}\r\n\r\n //private registerOnServerEvents(): void {\r\n // this._hubConnection.on('MessageReceived', (data: any) => {\r\n // this.messageReceived.emit(data);\r\n // console.log(\"this.messageReceived\", this.messageReceived);\r\n // });\r\n //}\r\n //userName: string;\r\n //connection: signalR.HubConnection;\r\n //messenger = new Subject();\r\n //onlineUsers = new Subject();\r\n //constructor() { }\r\n //public sendMessage(message: string) {\r\n // return this.connection.invoke(\"SendMessage\",\"bhagya gowda\" /*this.userName*/, message)\r\n //}\r\n //openConnection() {\r\n // //this.connection = new signalR.HubConnectionBuilder()\r\n // //.withUrl(`${environment.chatURL}?username=${this.userName}`)\r\n // //.build();\r\n // this.connection.start().then(res => {\r\n // console.log(\"connected\");\r\n // });\r\n // // add handler\r\n // this.connection.on(\"OnlineUsers\", (user: User[]) => {\r\n // this.onlineUsers.next(user);\r\n // });\r\n // this.chatMessageHandler();\r\n //}\r\n //chatMessageHandler() {\r\n // this.connection.on(\"ReceiveMessage\", (user, message) => {\r\n // this.messenger.next({\r\n // userName: user, message: message, isSender: false\r\n // });\r\n // });\r\n // this.connection.on(\"OnlineUsers\", (user: User[]) => {\r\n // //console.log(\"user\", user);\r\n // this.onlineUsers.next(user);\r\n // });\r\n //}\r\n}\r\n","import { Injectable } from '@angular/core';\r\n//import { Http, httHeaders, RequestOptions } from '@angular/common/http';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { RequestOptions, ResponseContentType} from '@angular/http';\r\nimport { AppSettings } from '../app.settings';\r\nimport { Dropdowntype, Dropdown,ResourcePrivileges, SaveResourcePrivileges } from './../models/dropdowntype';\r\n\r\nimport { Userquota } from \"./../models/userquota\";\r\nimport { Document } from \"./../models/document\";\r\nimport { Auditlog, AuditLogModel } from \"./../models/auditlog\";\r\nimport { AccountDocuments } from \"./../models/account-documents\";\r\nimport { Privilages } from \"./../models/privilages\";\r\nimport { Systemconfiguration } from './../models/systemconfiguration';\r\n//import { HttpClient } from '@angular/common/http';\r\n//import { debug } from 'util';\r\nimport { Contacts } from '../models/contacts';\r\nimport { Dashboardconfig } from \"./../models/Dashboardconfig\";\r\nimport { AutomatedEmails } from \"./../models/automated-emails\";\r\nimport { Role } from './../models/Role';\r\nimport { ReleaseNotes } from './../models/releaseNotes';\r\nimport { TicketConfiguration } from './../models/ticketConfiguration';\r\nimport { ProposalCategory } from './../models/ProposalCategory';\r\nimport { ProposalItems } from './../models/ProposalItems';\r\nimport { OpportunityLeadTypes } from './../models/OpportunityLeadTypes';\r\nimport { Proposals } from './../models/Praposals';\r\nimport { ProposalsModel } from './../models/Proposalsmodel';\r\nimport { window } from 'rxjs/operators';\r\nimport { Users } from '../models/users';\r\nimport { StatusItems } from '../models/StatusItems';\r\nimport { StatusIDCategory, StatusIDGroup } from '../models/status-idcategory';\r\nimport { StatusTypes } from '../models/status-types';\r\nimport { TriggerTypes } from '../models/trigger-types';\r\nimport { ContactUs } from '../models/contact-us';\r\nimport { DocumentHistory } from '../models/DocumentHistory';\r\nimport { Taskgroup } from '../models/taskgroup';\r\nimport { SLCategories, SLTypes, SoftwareLicense } from '../models/SoftwareLicenseConfiguration';\r\nimport { Accounts } from '../models/accounts';\r\nimport { SubScription } from '../models/Subscriptionmodel';\r\nimport { promise } from 'protractor';\r\nimport { MyDashDefGridConfig } from '../models/MyDashDefGridConfig';\r\nimport { userModel } from '../models/userModel';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n options: RequestOptions;\r\n authToken: any;\r\n reqHeader: HttpHeaders = new HttpHeaders();\r\n public userList: any;\r\n constructor(private http: HttpClient, private settings: AppSettings, private httpclient: HttpClient) {\r\n this.reqHeader = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem('key')\r\n });\r\n }\r\n public GetAllUsers(viewSuspendedUsers : number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllUsers/' + viewSuspendedUsers, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n public GetAllloggedInUsers(viewSuspendedUsers: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllloggedInUsers/' + viewSuspendedUsers, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n\r\n return promise;\r\n }\r\n \r\n\r\n public GetAllmyDashDefGridBoxlist(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllmyDashDefGridBoxlist', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n saveLastQuickSearchVal(searchVal: number, userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/saveQuickSearch/' + searchVal + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n //const promise = new Promise((resolve, reject) => {\r\n // this.httpclient.post(this.settings.baseUrl + 'api/users/saveLastQuickSearch/', searchVal\r\n // ).subscribe(res => {\r\n // resolve(res);\r\n // });\r\n //});\r\n //return promise;\r\n }\r\n\r\n savemyDashDefGridBox(configuration: MyDashDefGridConfig): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/savemyDashDefGridBox/', configuration, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllRoles(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllRoles', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllChatParticipant(viewSuspendedUsers: number): Promise {\r\n //let viewSuspended: number = viewSuspendedUsers ? 1 : 0;\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllChatParticipant/' + viewSuspendedUsers, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetUsers(userStatusID: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetUsers/' + userStatusID, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n Getsytemconfigurationbyuser(userid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetbySystemConfigurationByUser/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n savesystemconfiguration(configuration: Systemconfiguration): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/users/Savesystemconfiguration\", configuration, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n \r\n public GetAllRolesList(loggedInuserId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllRolesList/' + loggedInuserId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public checkduplicateRoleName(rolename: string): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/CheckRoleName/' + rolename, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n checkRoleTiedtoUser(RoleId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAssociatedUserRole/' + RoleId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public deleteRole(id: number, status: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/deleteRoleItem/' + id + \"/\" + status, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllTaskgrouplist(tasktype:string,Status:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllTaskGroupList/' + tasktype + '/' + Status, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetTaskGroupList(tasktype: string, Status: number, userid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetTaskGroupList/' + tasktype + '/' + Status + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllWizardTaskGroupList(tasktype: string, Status: number, userid): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllWizardTaskGroupList/' + tasktype + '/' + Status + '/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetTaskgrouplist(Status: string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetTaskGroupList/' + Status, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetSelectedTaskgroups(Status: string): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetSelectedTaskgroups/' + Status, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetTicketConfigSettings(userid: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetTicketConfigSettings/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetTicketTaskGroups(userid: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetTicketTaskGroups/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetTicketUserLists(userid: number): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetTicketUserLists/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public SaveTicketConfigSettings(tickConfig: TicketConfiguration): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveTicketConfigSettings', tickConfig, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n\r\n }\r\n public SaveTicketTaskGroups(tickConfig: TicketConfiguration): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveTicketTaskGroups', tickConfig, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n\r\n }\r\n\r\n public SaveTicketUserList(tickConfig: TicketConfiguration): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveTicketUserList', tickConfig, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n\r\n }\r\n public GetAllMainResourceList(type: string, mainid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllMainResourcesList/' + type + '/' + mainid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetResourcePrivilegesList(userId: number, groupName: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetResourcePrivilegesList/' + userId + '/' + groupName, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetDashBoardConfigByuser(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetDashBoardConfigList/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAutomatedEmailsConfigByuser(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAutomatedEmail/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n public GetAllSubResourceList(mainResourceid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllSubResourcesList/' + mainResourceid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public registeruser(user: Users): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/RegisterUser', user, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public updateCustomerEdit(user: userModel): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/CustomerEdit', user, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public saveRole(orole: Role): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveRole', orole, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n public SaveReleaseNotes(releasenotesdata: ReleaseNotes): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveReleaseNotes', releasenotesdata, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public SaveSubscription(subscription: SubScription): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveSubscription', subscription, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetSubscriptionName(): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetSubscription', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetSelectedUsermyDashDefGridBox(userid:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetSelectedUsermyDashDefGridBox/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public getAllReleaseNotes(): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/getAllReleaseNotes/', { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n deleteReleaseNotes(ReleaseNoteId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/DeleteReleaseNotes/' + ReleaseNoteId, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n DeleteUser(DeleteUserId: number, ReplaceUserId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/DeleteUser/' + DeleteUserId + '/' + ReplaceUserId, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public sendEmail(emailData: ContactUs): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SendEmmail', emailData, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public updateRegisteredUser(user: Users): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/UpdateRegisteredUser', user, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public ResetPassword(userid: number, password: string): Promise {\r\n \r\n //const promise = new Promise((resolve, reject) => {\r\n\r\n // this.httpclient.get(this.settings.baseUrl + 'api/users/ResetPassword/' + userid + \"/\" + password).subscribe((res) => {\r\n\r\n // resolve(res);\r\n\r\n // });\r\n //});\r\n //return promise;\r\n\r\n\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/ResetPassword/' + userid + '/' + password, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetEmail(user: Users): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/IsEmailExists', user, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public saveUserPrivilages(privilages: Privilages[]): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveUserPrivilages', privilages, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public SaveRoleName(RoleObj: Role): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/AddOrUpdateRole', RoleObj, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n //SaveUserPrivilagesNew\r\n public SaveUserPrivilagesNew(privilages: SaveResourcePrivileges): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveUserPrivilagesNew', privilages, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetPrivilagesByuserId(userid: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetPrivilagesByuserId/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n\r\n return promise;\r\n }\r\n public GetUserByuserId(userid: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetUserByuserId/' + userid, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n public updateuser(ids: string[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/UpdateUser', ids, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n getprivilagebyuser(assigneduserid: number, privilageid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/privilages/' + assigneduserid + \"/\" + privilageid, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addquota(quotas: Userquota[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveQuota', quotas, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addDocuments(documents: Document[]): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/SaveDocuments', documents, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n DocumentsHistory(documents: DocumentHistory[]): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/SaveDocumentsHistory', documents, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addDocumentNamePermission(documents: Document[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/SaveDocumentNamePermission', documents,{ headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addExcelContacts(documents: Contacts[]): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/Accounts/SaveImportedContactsData', documents, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addContacts(contacts: Contacts[]): Promise {\r\n \r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveContactsData', contacts, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addCustomersdata(customers: Accounts[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/accounts/SaveAccountData', customers, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n addtransfered(fromdocumentid:number,todocumentid:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/documents/tansferedtodocument/' + fromdocumentid + '/' + todocumentid, { headers: this.reqHeader })\r\n .subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n UpdateDocumentName(document: Document): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/UpdateDocumentName', document, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n GetImageData(documentId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/documents/GetImageData/' + documentId, { headers: this.reqHeader })\r\n .subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n UpdatePermissionLevel(document: Document): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/UpdatePermissionLevel', document, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n DeleteDocument(documentId: string): Promise {\r\n \r\n let obj: string[] = [documentId];\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/DeleteDocument', obj, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n \r\n DeleteDocumentNamePermission(documentId: string): Promise {\r\n \r\n let obj: string[] = [documentId];\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/DeleteDocumentNamePermission', obj, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n addDocumentsauditlog(auditlog: Auditlog): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/SaveAuditlog', auditlog, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n attachdocumentstoaccount(auditlog: AccountDocuments): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/documents/SaveAccountDocuments', auditlog, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n SaveDashBoardConfig(dashboardconfig: Dashboardconfig[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveDashBoardConfig', dashboardconfig, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n SaveAutomatedEmailConfig(automatedconfig: AutomatedEmails[]): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + 'api/users/SaveAutomatedEmail', automatedconfig, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n checkAssociatedGroup(taskgroupid: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/checkAssociatedGroup/' + taskgroupid, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n updateRole(roleid: string,userid:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/UpdateRoleByname/' + roleid + \"/\" + userid, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n DeactivateTaskGroup(taskgroupid: number, status:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/DeAcivateTaskGroupByName/' + taskgroupid + '/' + status, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n modifyTaskGroupidtoUsers(fromgroupid: number, togroupid:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/UpdateGroup/' + fromgroupid + '/' + togroupid, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAccessUserdata(userid: number): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/customers/GetAllAutomatedEmails/' + userid, { headers: this.reqHeader } ).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public AddOrUpdateProposalCategory(ProposalCategory: ProposalCategory): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/configuration/AddOrUpdateProposalCategory\", ProposalCategory, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetAllProposalCategory(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllProposalCategory/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllProposalItems(userId: number,categoryId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllProposalItems/\" + userId + \"/\" + categoryId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllProposalItemsWithSortOrder(userId: number, categoryId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllProposalItemsWithSortOrder/\" + userId + \"/\"+categoryId\r\n , { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllProposalsByAccount(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllProposalsByAccount/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public LastCreatedProposalsByAccount(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/LastCreatedProposalsByAccount/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetPendedProposalsByAccount(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetPendedProposalsByAccount/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetPendedProposalByContact(conId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetPendedProposalsByConatct\" + conId, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllProposals(userId: string, prstatus: string, isPended: number,startDate:string,endDate:string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllProposals/\" + userId + \"/\" + prstatus + \"/\" + isPended + \"/\" + startDate + \"/\" + endDate, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllPendedProposals(userId: string, Pended: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllPendedProposals/\" + userId + \"/\" + Pended, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public InsertUpdateProposalItems(ProposalCategory: ProposalItems): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/configuration/InsertUpdateProposalItems\", ProposalCategory, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public InsertProposal(Proposal: Proposals): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/configuration/InsertProposal\", Proposal, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public AddOrUpdateOpportunityLeadtype(OpportynityLeadType: OpportunityLeadTypes): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/configuration/AddOrUpdateOpportunityLeadtype\", OpportynityLeadType, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllOpportunityLeadTypes(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllOpportunityLeadTypes/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public GetProposalsByDate(Date: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetProposalsByDate/\" + Date, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n }); \r\n });\r\n return promise;\r\n }\r\n\r\n //public GenerateProposalDocument(Proposal: Proposals): Promise {\r\n // const promise = new Promise((resolve, reject) => {\r\n // this.httpclient.post(this.settings.baseUrl + \"api/configuration/GenerateProposalDocument\", Proposal).subscribe(res => {\r\n // resolve(res);\r\n // });\r\n // });\r\n // return promise;\r\n //}\r\n\r\n public GenerateProposalDocument(Proposal: Proposals) {\r\n return this.httpclient.post(this.settings.baseUrl + `api/configuration/GenerateProposalDocument`, Proposal, { headers: this.reqHeader, responseType: 'arraybuffer' });\r\n }\r\n\r\n\r\n public GeneratePODocument(Proposal: Proposals) {\r\n return this.httpclient.post(this.settings.baseUrl + `api/configuration/GeneratePODocument`, Proposal, { headers: this.reqHeader,responseType: 'arraybuffer' });\r\n }\r\n\r\n\r\n public GetProposalsDocumentContent(DocID: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetProposalsDocumentContent/\" + DocID, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetStatusItemsByStatusType(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetStatusItemsByStatusType/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllStatusIds(userId: number,groupId:number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllStatusIds/\" + userId + \"/\" + groupId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllStatusIdGroups(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllStatusIdGroups/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAllStatusTypes(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllStatusTypes/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllTriggerTypes(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllTriggerTypes/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public UpdateStatusType(statustypeId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/UpdatestatustypeId/\" + statustypeId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public UpdateTriggerType(TriggertypeId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/UpdateTriggertypeId/\" + TriggertypeId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllAddedStatusIds(userId: number, statusId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllStatusIdsList/\" + userId + \"/\" + statusId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAlldropdownStatusIds(userId: number, statusId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllStatusIdsDropdown/\" + userId + \"/\" + statusId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetUserMessages(viewSuspendedUsers: number, messageID: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/GetAllUsersForUserMessage/' + viewSuspendedUsers + '/' + messageID, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n reject((ress) => {\r\n alert(ress);\r\n });\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public UpdateAccountStatusId(oldstatusId: number, NewStatusId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/UpdateaccountStatusids/\" + oldstatusId + \"/\" + NewStatusId\r\n , { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetattattachedstatusIds(userId: number, statusId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/configuration/CheckStatusIdLinked/' + userId + '/' + statusId, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public AddOrUpdateStatusIds(statusids: StatusIDCategory): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/configuration/AddOrUpdateStatusIDCategory\", statusids, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public AddOrUpdateStatusIDGroups(statusids: StatusIDGroup): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/configuration/AddOrUpdateStatusIDGroups\", statusids, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public SaveCategoriesOrder(Order: string, type: string, userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/SaveCategoriesOrder/' + Order + '/' + type + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public SaveConfigFieldDataSortOrder(Order: string, FieldName: string, OppFieldId:number, userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/users/SaveConfigFieldDataSortOrder/' + Order + '/' + FieldName + '/' + OppFieldId + '/' + userId, { headers: this.reqHeader }).\r\n subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public AddOrUpdateSoftwareLicenseCategory(SL_Category: SLCategories): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/configuration/AddOrUpdateSoftwareLicenseCategory\", SL_Category, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public AddOrUpdateSoftwareLicenseTypes(SL_Types: SLTypes): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/configuration/AddOrUpdateSoftwareLicenseTypes\", SL_Types, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAll_SL_Categories(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllSoftwareLicenseCategories/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public GetAll_SL_Types(userId: number): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllSoftwareLicenseTypes/\" + userId, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n public GetAllSoftwareLicense(userId: number, accConIds: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + \"api/configuration/GetAllSoftwareLicense/\" + userId + '/' + accConIds, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n public AddOrUpdateSoftwareLicense(Softwarelicense: SoftwareLicense[]): Promise {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/configuration/AddOrUpdateSoftwareLicense\", Softwarelicense, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n InsertAuditLog(AuditLog: AuditLogModel): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.post(this.settings.baseUrl + \"api/users/InsertAuditLog\", AuditLog, { headers: this.reqHeader }\r\n ).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n //weeklyReport(userId): Promise {\r\n\r\n // const promise = new Promise((resolve, reject) => {\r\n // this.httpclient.post(this.settings.baseUrl + \"api/accounts/WeeklyReport\", userId).subscribe(res => {\r\n // resolve(res);\r\n // });\r\n // });\r\n // return promise;\r\n //}\r\n\r\n weeklyReport(accountName: string): Promise {\r\n const promise = new Promise((resolve, reject) => {\r\n this.httpclient.get(this.settings.baseUrl + 'api/accounts/WeeklyReport/' + accountName, { headers: this.reqHeader }).subscribe(res => {\r\n resolve(res);\r\n });\r\n });\r\n return promise;\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n // apiBaseUrl: 'http://localhost:14164/', // For development uncomment this and comment below 2 lines\r\n apiBaseUrl: 'https://salesxcrm.com/api/', // For Live publish uncomment this and comment above and below\r\n //apiBaseUrl: 'http://192.168.1.21:90/', // For local publish uncomment this and comment above both\r\n authBaseUrl: 'http://localhost:5002'\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.module';\r\nimport { environment } from './environments/environment';\r\n\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport * as $ from 'jquery'; window[\"$\"] = $; window[\"jquery\"] = $;\r\nimport { LicenseManager } from \"ag-grid-enterprise\";\r\nLicenseManager.setLicenseKey(\"Using_this_{AG_Grid}_Enterprise_key_{AG-061347}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Salesxcrm}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{SalesXcrm}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{SalesXcrm}_need_to_be_licensed___{SalesXcrm}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{8_August_2025}____[v3]_[01]_MTc1NDYwNzYwMDAwMA==569bd60630486a01d527dedb5636c5a5\");\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}